1965ec27f9f0d88e643ea8eafb801329.json 17 KB

1
  1. {"remainingRequest":"E:\\mec-cloud_IntelligentManufacturing_CRM\\mec-cloud_IntelligentManufacturing_CRM\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!E:\\mec-cloud_IntelligentManufacturing_CRM\\mec-cloud_IntelligentManufacturing_CRM\\ruoyi-ui\\src\\views\\login.vue?vue&type=style&index=0&id=7589b93f&rel=stylesheet%2Fscss&lang=scss&","dependencies":[{"path":"E:\\mec-cloud_IntelligentManufacturing_CRM\\mec-cloud_IntelligentManufacturing_CRM\\ruoyi-ui\\src\\views\\login.vue","mtime":1688631684004},{"path":"E:\\mec-cloud_IntelligentManufacturing_CRM\\mec-cloud_IntelligentManufacturing_CRM\\ruoyi-ui\\node_modules\\css-loader\\dist\\cjs.js","mtime":1688725399018},{"path":"E:\\mec-cloud_IntelligentManufacturing_CRM\\mec-cloud_IntelligentManufacturing_CRM\\ruoyi-ui\\node_modules\\vue-loader\\lib\\loaders\\stylePostLoader.js","mtime":1688725423149},{"path":"E:\\mec-cloud_IntelligentManufacturing_CRM\\mec-cloud_IntelligentManufacturing_CRM\\ruoyi-ui\\node_modules\\postcss-loader\\src\\index.js","mtime":1688725407590},{"path":"E:\\mec-cloud_IntelligentManufacturing_CRM\\mec-cloud_IntelligentManufacturing_CRM\\ruoyi-ui\\node_modules\\sass-loader\\dist\\cjs.js","mtime":1688725390930},{"path":"E:\\mec-cloud_IntelligentManufacturing_CRM\\mec-cloud_IntelligentManufacturing_CRM\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1688725391035},{"path":"E:\\mec-cloud_IntelligentManufacturing_CRM\\mec-cloud_IntelligentManufacturing_CRM\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js","mtime":1688725415411}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKDQoubG9nZ3sNCiAgbWFyZ2luLXRvcDo0MnB4IDsNCiAgbWFyZ2luLWxlZnQ6MTk2cHggOw0KICB3aWR0aDogMjQwcHg7DQogIGhlaWdodDogNTRweDsNCiAgbGluZS1oZWlnaHQ6IDU0cHg7DQogIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgb3BhY2l0eTogMTsNCiAgYm9yZGVyLXJhZGl1czogMjdweDsNCiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSg3OSwgMTM4LCAyNTUsIDEpIDAlLCByZ2JhKDc1LCA5NCwgMjU1LCAxKSAxMDAlKTsNCiAgYm94LXNoYWRvdzogMHB4IDRweCAxNnB4ICByZ2JhKDE3OSwgMTkyLCAyMzEsIDEpOw0KICBjb2xvcjogI2ZmZjsNCiAgZm9udC1zaXplOiAyMHB4Ow0KICBmb250LXdlaWdodDogNTAwOw0KfQ0KLmFhYXsNCiAgd2lkdGg6IDI0OHB4Ow0KICBoZWlnaHQ6IDI0cHg7DQogIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50Ow0KICBmb250LXdlaWdodDogNDAwOw0KICBsZXR0ZXItc3BhY2luZzogMHB4Ow0KICBsaW5lLWhlaWdodDogMjRweDsNCiAgY29sb3I6IHJnYmEoNTgsIDYzLCA5OSwgMSk7DQogIHRleHQtYWxpZ246IGxlZnQ7DQogIHZlcnRpY2FsLWFsaWduOiB0b3A7DQogIG1hcmdpbi10b3A6IDE2cHg7DQp9DQouYm90dG9tdGV4dCB7DQogIG1hcmdpbi10b3A6IC01cHggIWltcG9ydGFudDsNCiAgbWFyZ2luLWxlZnQ6IDU4cHggIWltcG9ydGFudDsNCn0NCi5yb3d3dyB7DQogIHdpZHRoOiA1MjJweDsNCiAgaGVpZ2h0OiA4MHB4Ow0KICBtYXJnaW4tdG9wOiAyNXB4Ow0KICBtYXJnaW4tbGVmdDogNTVweDsNCn0NCi5yb3d3IHsNCiAgd2lkdGg6IDUyMnB4Ow0KICBoZWlnaHQ6IDgwcHg7DQogIG1hcmdpbi10b3A6IDE2cHg7DQogIG1hcmdpbi1sZWZ0OiA1NXB4Ow0KfQ0KLnBwcCB7DQogIHdpZHRoOiA1MjJweDsNCiAgaGVpZ2h0OiAyNHB4Ow0KICBvcGFjaXR5OiAxOw0KICAvKiog5paH5pysMSAqLw0KICBmb250LXNpemU6IDE2cHg7DQogIGZvbnQtd2VpZ2h0OiA0MDA7DQogIGxldHRlci1zcGFjaW5nOiAwcHg7DQogIGxpbmUtaGVpZ2h0OiAyNHB4Ow0KICBjb2xvcjogcmdiYSg1OCwgNjMsIDk5LCAxKTsNCiAgdGV4dC1hbGlnbjogbGVmdDsNCiAgdmVydGljYWwtYWxpZ246IHRvcDsNCn0NCi5lbC1pbnB1dF9faW5uZXJ7DQogIHdpZHRoOiA1MjJweDsNCiAgaGVpZ2h0OiA1NHB4ICAhaW1wb3J0YW50Ow0KfQ0KLmlucHV0dCB7DQogIC8qIHdpZHRoOiA1MjJweDsgKi8NCiAgaGVpZ2h0OiA1NHB4Ow0KICBib3JkZXItcmFkaXVzOiA0cHg7DQogIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7DQogIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjE4LCAyMjQsIDI0MiwgMSk7DQogIG1hcmdpbi10b3A6IDJweDsNCn0NCi5pbnB1dHQgaW5wdXR7DQogIHdpZHRoOiAxMDAlOw0KfQ0KDQouY29tbG9nbyB7DQogIG1hcmdpbi1sZWZ0OiAyOHB4Ow0KICBtYXJnaW4tdG9wOiA1N3B4Ow0KICB3aWR0aDogMTk0cHg7DQogIGhlaWdodDogNjRweDsNCiAgYmFja2dyb3VuZDogdXJsKC4uL2Fzc2V0cy9pbWFnZXMvY29tcC5wbmcpOw0KICAvKiBib3gtc2hhZG93OiAwcHggMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMjUpOyAqLw0KICBvcGFjaXR5OiAxOw0KfQ0KLmxvZ2luIHsNCiAgZGlzcGxheTogZmxleDsNCiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7DQogIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogIGhlaWdodDogMTAwJTsNCiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCIuLi9hc3NldHMvaW1hZ2VzL2JhY2tncm91bmQuanBnIik7DQogIGJhY2tncm91bmQtc2l6ZTogY292ZXI7DQp9DQoNCi50aXRsZSB7DQogIHdpZHRoOiAyMTJweDsNCiAgaGVpZ2h0OiAzNXB4Ow0KICBtYXJnaW4tdG9wOiA2OXB4Ow0KICBtYXJnaW4tbGVmdDogMTdweDsNCiAgZm9udC1zaXplOiAzMnB4Ow0KICBmb250LXdlaWdodDogNDAwOw0KICBsZXR0ZXItc3BhY2luZzogMHB4Ow0KICBsaW5lLWhlaWdodDogMzguNHB4Ow0KICBjb2xvcjogcmdiYSg3LCA2OCwgMTM4LCAxKTsNCiAgdGV4dC1hbGlnbjogbGVmdDsNCiAgdmVydGljYWwtYWxpZ246IHRvcDsNCiAgZmxvYXQ6IGxlZnQ7DQp9DQoNCi5sb2dpbi1mb3JtIHsNCiAgbWFyZ2luLWxlZnQ6IDY3N3B4Ow0KICBtYXJnaW4tdG9wOjQ4cHggOw0KICB3aWR0aDogNjIxcHg7DQogIGhlaWdodDogNjI0cHg7DQogIG9wYWNpdHk6IDE7DQogIGJvcmRlci1yYWRpdXM6IDM5cHg7DQogIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7DQogIGZsb2F0OiBsZWZ0Ow0KDQoNCn0NCg0KLmxvZ2luLWNvZGV7DQogIHdpZHRoOiA0MHB4Ow0KICBoZWlnaHQ6IDU0cHg7DQogIG9wYWNpdHk6IDE7DQp9DQouZWwtY29sLTE4IHsNCiAgICB3aWR0aDogNjYlOw0KfQ0KDQo="},{"version":3,"sources":["login.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4QA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"login.vue","sourceRoot":"src/views","sourcesContent":["<template>\r\n <div class=\"login\">\r\n <el-form\r\n ref=\"loginForm\"\r\n :model=\"loginForm\"\r\n :rules=\"loginRules\"\r\n class=\"login-form\"\r\n >\r\n <el-row>\r\n <el-col :span=\"12\" class=\"comlogo\"></el-col>\r\n <el-col :span=\"12\">\r\n <div class=\"grid-content bg-purple-dark title\">\r\n 智能制造平台\r\n </div></el-col\r\n >\r\n </el-row>\r\n <el-row class=\"rowww\">\r\n <el-col :span=\"12\" class=\"text\" prop=\"username\">用户名</el-col>\r\n <el-input\r\n v-model=\"loginForm.username\"\r\n type=\"text\"\r\n auto-complete=\"off\"\r\n placeholder=\"账号\"\r\n \r\n class=\"inputt\"\r\n />\r\n </el-row>\r\n <el-row class=\"roww\">\r\n <el-col :span=\"12\" class=\"text\" prop=\"password\">密码</el-col>\r\n <el-input\r\n v-model=\"loginForm.password\"\r\n type=\"password\"\r\n auto-complete=\"off\"\r\n placeholder=\"密码\"\r\n @keyup.enter.native=\"handleLogin\"\r\n show-password\r\n class=\"inputt\"\r\n >\r\n </el-input>\r\n </el-row>\r\n <el-row class=\"roww\">\r\n <el-row>\r\n <el-col class=\"text\" prop=\"code\">验证码</el-col>\r\n </el-row>\r\n <el-row>\r\n <el-col :span=\"18\">\r\n <el-input\r\n v-model=\"loginForm.code\"\r\n auto-complete=\"off\"\r\n placeholder=\"验证码\"\r\n @keyup.enter.native=\"handleLogin\"\r\n class=\"inputt\"\r\n \r\n >\r\n </el-input>\r\n </el-col>\r\n <el-col :span=\"4\" :offset=\"1\">\r\n <div class=\"login-code\">\r\n <img :src=\"codeUrl\" @click=\"getCode\" class=\"login-code-img\" />\r\n </div>\r\n </el-col>\r\n </el-row>\r\n </el-row>\r\n\r\n <el-row class=\"bottomtext\">\r\n <!-- <div class=\"login-code\">\r\n <img :src=\"codeUrl\" @click=\"getCode\" class=\"login-code-img\" />\r\n </div> -->\r\n <el-checkbox\r\n v-model=\"loginForm.rememberMe\"\r\n class=\"aaa\"\r\n >在这个设备上记住我</el-checkbox\r\n >\r\n </el-row>\r\n\r\n\r\n <el-row>\r\n <el-col class=\"logg\" :loading=\"loading\"\r\n @click.native.prevent=\"handleLogin\"\r\n \r\n >登录</el-col>\r\n </el-row>\r\n </el-form>\r\n\r\n <!-- <el-form\r\n ref=\"loginForm\"\r\n :model=\"loginForm\"\r\n :rules=\"loginRules\"\r\n class=\"login-form\"\r\n >\r\n <img src=\"../assets/images/comp.png\" class=\"comlogo\" />\r\n <span class=\"title\">智能制造平台</span>\r\n <el-form-item prop=\"username\">\r\n <p style=\"line-height: 12px\">用户名</p>\r\n <el-input\r\n v-model=\"loginForm.username\"\r\n type=\"text\"\r\n auto-complete=\"off\"\r\n placeholder=\"账号\"\r\n show-password\r\n >\r\n \r\n </el-input>\r\n </el-form-item>\r\n <el-form-item prop=\"password\">\r\n <p style=\"line-height: 12px\">密码</p>\r\n <el-input\r\n v-model=\"loginForm.password\"\r\n type=\"password\"\r\n auto-complete=\"off\"\r\n placeholder=\"密码\"\r\n @keyup.enter.native=\"handleLogin\"\r\n show-password\r\n >\r\n \r\n </el-input>\r\n </el-form-item>\r\n\r\n <el-form-item prop=\"code\" v-if=\"captchaEnabled\">\r\n <div style=\"line-height: 12px\">验证码</div>\r\n <el-input\r\n v-model=\"loginForm.code\"\r\n auto-complete=\"off\"\r\n placeholder=\"验证码\"\r\n style=\"width: 63%\"\r\n @keyup.enter.native=\"handleLogin\"\r\n show-password\r\n >\r\n </el-input>\r\n <div class=\"login-code\">\r\n <img :src=\"codeUrl\" @click=\"getCode\" class=\"login-code-img\" />\r\n </div>\r\n </el-form-item>\r\n <el-checkbox\r\n v-model=\"loginForm.rememberMe\"\r\n class=\"a\"\r\n >在这个设备上记住我</el-checkbox\r\n >\r\n\r\n <el-form-item >\r\n <el-button\r\n :loading=\"loading\"\r\n size=\"medium\"\r\n type=\"primary\"\r\n @click.native.prevent=\"handleLogin\"\r\n >\r\n <span v-if=\"!loading\">登 录</span>\r\n <span v-else>登 录 中...</span>\r\n </el-button>\r\n <div style=\"float: right\" v-if=\"register\">\r\n <router-link class=\"link-type\" :to=\"'/register'\"\r\n >立即注册</router-link\r\n >\r\n </div>\r\n </el-form-item>\r\n </el-form>\r\n \r\n <div class=\"el-login-footer\">\r\n <span>Copyright © 2018-2023 ruoyi.vip All Rights Reserved.</span>\r\n </div> -->\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { getCodeImg } from \"@/api/login\";\r\nimport Cookies from \"js-cookie\";\r\nimport { encrypt, decrypt } from \"@/utils/jsencrypt\";\r\n\r\nexport default {\r\n name: \"Login\",\r\n data() {\r\n return {\r\n codeUrl: \"\",\r\n loginForm: {\r\n username: \"admin\",\r\n password: \"admin123\",\r\n rememberMe: false,\r\n code: \"\",\r\n uuid: \"\",\r\n },\r\n loginRules: {\r\n username: [\r\n { required: true, trigger: \"blur\", message: \"请输入您的账号\" },\r\n ],\r\n password: [\r\n { required: true, trigger: \"blur\", message: \"请输入您的密码\" },\r\n ],\r\n code: [{ required: true, trigger: \"change\", message: \"请输入验证码\" }],\r\n },\r\n loading: true,\r\n // 验证码开关\r\n captchaEnabled: true,\r\n // 注册开关\r\n register: false,\r\n redirect: undefined,\r\n };\r\n },\r\n watch: {\r\n $route: {\r\n handler: function (route) {\r\n this.redirect = route.query && route.query.redirect;\r\n },\r\n immediate: true,\r\n },\r\n },\r\n created() {\r\n this.getCode();\r\n this.getCookie();\r\n },\r\n methods: {\r\n forgetEvent() {},\r\n getCode() {\r\n getCodeImg().then((res) => {\r\n this.captchaEnabled =\r\n res.captchaEnabled === undefined ? true : res.captchaEnabled;\r\n if (this.captchaEnabled) {\r\n this.codeUrl = \"data:image/gif;base64,\" + res.img;\r\n this.loginForm.uuid = res.uuid;\r\n }\r\n });\r\n },\r\n getCookie() {\r\n const username = Cookies.get(\"username\");\r\n const password = Cookies.get(\"password\");\r\n const rememberMe = Cookies.get(\"rememberMe\");\r\n this.loginForm = {\r\n username: username === undefined ? this.loginForm.username : username,\r\n password:\r\n password === undefined ? this.loginForm.password : decrypt(password),\r\n rememberMe: rememberMe === undefined ? false : Boolean(rememberMe),\r\n };\r\n },\r\n handleLogin() {\r\n this.$refs.loginForm.validate((valid) => {\r\n if (valid) {\r\n this.loading = true;\r\n if (this.loginForm.rememberMe) {\r\n Cookies.set(\"username\", this.loginForm.username, { expires: 30 });\r\n Cookies.set(\"password\", encrypt(this.loginForm.password), {\r\n expires: 30,\r\n });\r\n Cookies.set(\"rememberMe\", this.loginForm.rememberMe, {\r\n expires: 30,\r\n });\r\n } else {\r\n Cookies.remove(\"username\");\r\n Cookies.remove(\"password\");\r\n Cookies.remove(\"rememberMe\");\r\n }\r\n this.$store\r\n .dispatch(\"Login\", this.loginForm)\r\n .then(() => {\r\n this.$router.push({ path: this.redirect || \"/\" }).catch(() => {});\r\n })\r\n .catch(() => {\r\n this.loading = false;\r\n if (this.captchaEnabled) {\r\n this.getCode();\r\n }\r\n });\r\n }\r\n });\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style rel=\"stylesheet/scss\" lang=\"scss\">\r\n.logg{\r\n margin-top:42px ;\r\n margin-left:196px ;\r\n width: 240px;\r\n height: 54px;\r\n line-height: 54px;\r\n text-align: center;\r\n opacity: 1;\r\n border-radius: 27px;\r\n background: linear-gradient(135deg, rgba(79, 138, 255, 1) 0%, rgba(75, 94, 255, 1) 100%);\r\n box-shadow: 0px 4px 16px rgba(179, 192, 231, 1);\r\n color: #fff;\r\n font-size: 20px;\r\n font-weight: 500;\r\n}\r\n.aaa{\r\n width: 248px;\r\n height: 24px;\r\n font-size: 16px !important;\r\n font-weight: 400;\r\n letter-spacing: 0px;\r\n line-height: 24px;\r\n color: rgba(58, 63, 99, 1);\r\n text-align: left;\r\n vertical-align: top;\r\n margin-top: 16px;\r\n}\r\n.bottomtext {\r\n margin-top: -5px !important;\r\n margin-left: 58px !important;\r\n}\r\n.rowww {\r\n width: 522px;\r\n height: 80px;\r\n margin-top: 25px;\r\n margin-left: 55px;\r\n}\r\n.roww {\r\n width: 522px;\r\n height: 80px;\r\n margin-top: 16px;\r\n margin-left: 55px;\r\n}\r\n.ppp {\r\n width: 522px;\r\n height: 24px;\r\n opacity: 1;\r\n /** 文本1 */\r\n font-size: 16px;\r\n font-weight: 400;\r\n letter-spacing: 0px;\r\n line-height: 24px;\r\n color: rgba(58, 63, 99, 1);\r\n text-align: left;\r\n vertical-align: top;\r\n}\r\n.el-input__inner{\r\n width: 522px;\r\n height: 54px !important;\r\n}\r\n.inputt {\r\n /* width: 522px; */\r\n height: 54px;\r\n border-radius: 4px;\r\n background: rgba(255, 255, 255, 1);\r\n border: 1px solid rgba(218, 224, 242, 1);\r\n margin-top: 2px;\r\n}\r\n.inputt input{\r\n width: 100%;\r\n}\r\n\r\n.comlogo {\r\n margin-left: 28px;\r\n margin-top: 57px;\r\n width: 194px;\r\n height: 64px;\r\n background: url(../assets/images/comp.png);\r\n /* box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.25); */\r\n opacity: 1;\r\n}\r\n.login {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n height: 100%;\r\n background-image: url(\"../assets/images/background.jpg\");\r\n background-size: cover;\r\n}\r\n\r\n.title {\r\n width: 212px;\r\n height: 35px;\r\n margin-top: 69px;\r\n margin-left: 17px;\r\n font-size: 32px;\r\n font-weight: 400;\r\n letter-spacing: 0px;\r\n line-height: 38.4px;\r\n color: rgba(7, 68, 138, 1);\r\n text-align: left;\r\n vertical-align: top;\r\n float: left;\r\n}\r\n\r\n.login-form {\r\n margin-left: 677px;\r\n margin-top:48px ;\r\n width: 621px;\r\n height: 624px;\r\n opacity: 1;\r\n border-radius: 39px;\r\n background: rgba(255, 255, 255, 1);\r\n float: left;\r\n\r\n\r\n}\r\n\r\n.login-code{\r\n width: 40px;\r\n height: 54px;\r\n opacity: 1;\r\n}\r\n.el-col-18 {\r\n width: 66%;\r\n}\r\n\r\n</style>\r\n"]}]}