| 1 |
- {"remainingRequest":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\front\\item\\zyAdmin\\src\\pages\\account\\login\\index.vue?vue&type=style&index=0&id=69bbf5f6&lang=scss&scoped=true","dependencies":[{"path":"D:\\front\\item\\zyAdmin\\src\\pages\\account\\login\\index.vue","mtime":1761614939004},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\css-loader\\index.js","mtime":1761614929364},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\loaders\\stylePostLoader.js","mtime":1761614937403},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\postcss-loader\\src\\index.js","mtime":1761614935133},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\sass-loader\\dist\\cjs.js","mtime":1761614936391},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1761614927801},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js","mtime":1761614937402}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:DQoucGFnZS1hY2NvdW50IHsNCiAgZGlzcGxheTogZmxleDsNCiAgd2lkdGg6IDEwMCU7DQogIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vLi4vYXNzZXRzL2ltYWdlcy9iZy5qcGcnKTsNCiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOw0KICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOw0KICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsNCiAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgaGVpZ2h0OiAxMDB2aDsNCiAgb3ZlcmZsb3c6IGF1dG87DQp9DQoucGFnZS1hY2NvdW50IC5jb2RlIHsNCiAgZGlzcGxheTogZmxleDsNCiAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7DQp9DQoucGFnZS1hY2NvdW50IC5jb2RlIC5waWN0cnVlIHsNCiAgaGVpZ2h0OiA0MHB4Ow0KfQ0KLnN3aXBlclByb3NzIHsNCiAgYm9yZGVyLXJhZGl1czogMTJweCAwcHggMHB4IDEycHg7DQp9DQouc3dpcGVyUHJvc3MsDQouc3dpcGVyUGljLA0KLnN3aXBlclBpYyBpbWcgew0KICB3aWR0aDogNTEwcHg7DQogIGhlaWdodDogMTAwJTsNCn0NCi5zd2lwZXJQaWMgaW1nIHsNCiAgd2lkdGg6IDEwMCU7DQogIGhlaWdodDogMTAwJTsNCn0NCi5jb250YWluZXIgew0KICBoZWlnaHQ6IDQwMHB4ICFpbXBvcnRhbnQ7DQogIHBhZGRpbmc6IDAgIWltcG9ydGFudDsNCiAgYm9yZGVyLXJhZGl1czogMTJweDsNCiAgei1pbmRleDogMTsNCiAgZGlzcGxheTogZmxleDsNCn0NCi5jb250YWluZXJTYW1sbCB7DQogIC8qIHdpZHRoOiA1NiUgIWltcG9ydGFudDsgKi8NCiAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50Ow0KfQ0KLmNvbnRhaW5lckJpZyB7DQogIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7DQogIGJhY2tncm91bmQ6ICNmN2Y3ZjcgIWltcG9ydGFudDsNCn0NCi5pbmRleF9mcm9tIHsNCiAgcGFkZGluZzogMzJweCA0MHB4IDMycHggNDBweDsNCiAgaGVpZ2h0OiA0MDBweDsNCiAgYm94LXNpemluZzogYm9yZGVyLWJveDsNCn0NCi5wYWdlLWFjY291bnQtdG9wIHsNCiAgcGFkZGluZzogMjBweCAwIDI0cHggMCAhaW1wb3J0YW50Ow0KICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7DQogIGRpc3BsYXk6IGZsZXg7DQogIGp1c3RpZnktY29udGVudDogY2VudGVyOw0KfQ0KLnBhZ2UtYWNjb3VudC1jb250YWluZXIgew0KICBib3JkZXItcmFkaXVzOiAwcHggNnB4IDZweCAwcHg7DQp9DQouYnRuIHsNCiAgd2lkdGg6IDEwMCU7DQogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgyNSwgMTgwLCAyNDEsIDEpIDAlLCByZ2JhKDE0LCAxMTUsIDIzMiwgMSkgMTAwJSkgIWltcG9ydGFudDsNCn0NCi5jYXB0Y2hhQm94IHsNCiAgd2lkdGg6IDMxMHB4Ow0KfQ0KDQppbnB1dCB7DQogIGRpc3BsYXk6IGJsb2NrOw0KICB3aWR0aDogMjkwcHg7DQogIGxpbmUtaGVpZ2h0OiA0MHB4Ow0KICBtYXJnaW46IDEwcHggMDsNCiAgcGFkZGluZzogMCAxMHB4Ow0KICBvdXRsaW5lOiBub25lOw0KICBib3JkZXI6IDFweCBzb2xpZCAjYzhjY2NmOw0KICBib3JkZXItcmFkaXVzOiA0cHg7DQogIGNvbG9yOiAjNmE2Zjc3Ow0KfQ0KDQojbXNnIHsNCiAgd2lkdGg6IDEwMCU7DQogIGxpbmUtaGVpZ2h0OiA0MHB4Ow0KICBmb250LXNpemU6IDE0cHg7DQogIHRleHQtYWxpZ246IGNlbnRlcjsNCn0NCg0KYTpsaW5rLA0KYTp2aXNpdGVkLA0KYTpob3ZlciwNCmE6YWN0aXZlIHsNCiAgbWFyZ2luLWxlZnQ6IDEwMHB4Ow0KICBjb2xvcjogIzAzNjZkNjsNCn0NCi5pbmRleF9mcm9tIDo6di1kZWVwIC5pdnUtaW5wdXQtbGFyZ2Ugew0KICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDsNCn0NCi5mcm9tLXdoIHsNCiAgd2lkdGg6IDQwMHB4Ow0KfQ0KLnB1bGwtcmlnaHQgew0KICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsNCn0NCjo6di1kZWVwIC5lbC1idXR0b24tLXByaW1hcnkgew0KICBib3JkZXI6IG5vbmU7DQp9DQo6OnYtZGVlcCAuZWwtYnV0dG9uIHsNCiAgcGFkZGluZzogMTNweCAyMHB4ICFpbXBvcnRhbnQ7DQp9DQoucHVsbC1yaWdodCB7DQogIGZsb2F0OiByaWdodCAhaW1wb3J0YW50Ow0KICBjb2xvcjogIzY2NjsNCn0NCi5wdWxsLXJpZ2h0IGEgew0KICBtYXJnaW4tbGVmdDogMDsNCiAgY29sb3I6ICM2NjY7DQp9DQouZm9vdGVyIHsNCiAgcG9zaXRpb246IGZpeGVkOw0KICBib3R0b206IDA7DQogIHdpZHRoOiAxMDAlOw0KICBsZWZ0OiAwOw0KICBtYXJnaW46IDA7DQogIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTsNCiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlN2VhZWM7DQogIG92ZXJmbG93OiBoaWRkZW47DQogIHBhZGRpbmc6IDEwcHggMjBweDsNCiAgaGVpZ2h0OiAzNnB4Ow0KICBsaW5lLWhlaWdodDogMThweDsNCiAgei1pbmRleDogOTk5Ow0KfQ0K"},{"version":3,"sources":["index.vue"],"names":[],"mappings":";AAiTA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;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","file":"index.vue","sourceRoot":"src/pages/account/login","sourcesContent":["<template>\r\n <div class=\"page-account\">\r\n <div class=\"container\" :class=\"[fullWidth > 768 ? 'containerSamll' : 'containerBig']\">\r\n <swiper :options=\"swiperOption\" class=\"swiperPross\" v-if=\"fullWidth > 768\">\r\n <swiper-slide class=\"swiperPic\" v-for=\"(item, index) in swiperList\" :key=\"index\">\r\n <img :src=\"item.slide\" alt=\"\" />\r\n </swiper-slide>\r\n <div class=\"swiper-pagination\" slot=\"pagination\"></div>\r\n </swiper>\r\n <div class=\"index_from page-account-container from-wh\">\r\n <div class=\"page-account-top\">\r\n <div class=\"page-account-top-logo\">\r\n <img :src=\"login_logo\" alt=\"logo\" style=\"width: 100%; height: 74px\" />\r\n </div>\r\n </div>\r\n <el-form ref=\"formInline\" :model=\"formInline\" :rules=\"ruleInline\" @keyup.enter=\"handleSubmit('formInline')\">\r\n <el-form-item prop=\"username\">\r\n <el-input\r\n type=\"text\"\r\n v-model=\"formInline.username\"\r\n prefix=\"ios-contact-outline\"\r\n placeholder=\"请输入用户名\"\r\n size=\"large\"\r\n />\r\n </el-form-item>\r\n <el-form-item prop=\"password\">\r\n <el-input\r\n type=\"password\"\r\n v-model=\"formInline.password\"\r\n prefix=\"ios-lock-outline\"\r\n placeholder=\"请输入密码\"\r\n size=\"large\"\r\n show-password\r\n />\r\n </el-form-item>\r\n <!-- <el-form-item prop=\"code\">\r\n <div class=\"code\">\r\n <el-input\r\n type=\"text\"\r\n v-model=\"formInline.code\"\r\n prefix=\"ios-keypad-outline\"\r\n placeholder=\"请输入验证码\"\r\n size=\"large\"\r\n />\r\n <img :src=\"imgcode\" class=\"pictrue\" v-db-click @click=\"captchas\" />\r\n </div>\r\n </el-form-item> -->\r\n <el-form-item class=\"pt10\">\r\n <el-button\r\n type=\"primary\"\r\n :loading=\"loading\"\r\n size=\"large\"\r\n v-db-click\r\n @click=\"handleSubmit('formInline')\"\r\n class=\"btn\"\r\n >登录</el-button\r\n >\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n </div>\r\n\r\n <Verify\r\n @success=\"success\"\r\n captchaType=\"blockPuzzle\"\r\n :imgSize=\"{ width: '330px', height: '155px' }\"\r\n ref=\"verify\"\r\n ></Verify>\r\n <div class=\"footer\">\r\n <div class=\"pull-right\" v-if=\"copyright\">{{ copyright }}</div>\r\n <div class=\"pull-right\" v-else>\r\n Copyright © 2014-2025 <a href=\"https://www.crmeb.com\" target=\"_blank\">{{ version }}</a>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n<script>\r\nimport { AccountLogin, loginInfoApi } from '@/api/account';\r\nimport { getWorkermanUrl } from '@/api/kefu';\r\nimport { setCookies } from '@/libs/util';\r\nimport '@/assets/js/canvas-nest.min';\r\nimport Verify from '@/components/verifition/Verify';\r\nimport { PrevLoading } from '@/utils/loading.js';\r\nimport { formatFlatteningRoutes, findFirstNonNullChildren } from '@/libs/system';\r\nimport { Local } from '@/utils/storage.js';\r\n\r\nexport default {\r\n components: {\r\n Verify,\r\n },\r\n data() {\r\n return {\r\n fullWidth: document.documentElement.clientWidth,\r\n swiperOption: {\r\n pagination: '.swiper-pagination',\r\n autoplay: true,\r\n },\r\n loading: false,\r\n isShow: false,\r\n imgcode: '',\r\n formInline: {\r\n username: '',\r\n password: '',\r\n },\r\n ruleInline: {\r\n username: [{ required: true, message: '请输入用户名', trigger: 'blur' }],\r\n password: [{ required: true, message: '请输入密码', trigger: 'blur' }],\r\n },\r\n login_captcha: 0,\r\n login_logo: '',\r\n swiperList: [],\r\n defaultSwiperList: require('@/assets/images/sw.png'),\r\n key: '',\r\n copyright: '',\r\n version: '',\r\n timer: null,\r\n };\r\n },\r\n created() {\r\n document.onkeydown = (e) => {\r\n if (this.$route.name === 'login' && (e.keyCode === 13 || e.which === 13)) {\r\n this.handleSubmit('formInline');\r\n }\r\n };\r\n window.addEventListener('resize', this.handleResize);\r\n },\r\n mounted() {\r\n this.$nextTick(() => {\r\n this.handleResize();\r\n this.swiperData();\r\n });\r\n },\r\n beforeDestroy() {\r\n window.removeEventListener('resize', this.handleResize);\r\n document.onkeydown = null;\r\n const canvas = document.getElementsByTagName('canvas')[0];\r\n if (canvas) canvas.removeAttribute('class', 'index_bg');\r\n },\r\n methods: {\r\n swiperData() {\r\n loginInfoApi()\r\n .then((res) => {\r\n const data = res.data || {};\r\n document.title = `${data.site_name} - 登录`;\r\n localStorage.setItem('ADMIN_TITLE', data.site_name || '');\r\n this.$store.commit('setAdminTitle', data.site_name);\r\n this.login_logo = data.login_logo || require('@/assets/images/logo.png');\r\n this.swiperList = data.slide && data.slide.length ? data.slide : [{ slide: this.defaultSwiperList }];\r\n this.key = data.key;\r\n this.copyright = data.copyright;\r\n this.version = data.version;\r\n this.login_captcha = data.login_captcha;\r\n })\r\n .catch((err) => {\r\n this.$message.error(err);\r\n this.login_logo = require('@/assets/images/logo.png');\r\n this.swiperList = [{ slide: this.defaultSwiperList }];\r\n });\r\n },\r\n success(params) {\r\n this.closeModel(params);\r\n },\r\n closeModel(params) {\r\n this.isShow = false;\r\n this.loading = true;\r\n AccountLogin({\r\n account: this.formInline.username,\r\n pwd: this.formInline.password,\r\n key: this.key,\r\n captchaType: 'blockPuzzle',\r\n captchaVerification: params ? params.captchaVerification : '',\r\n })\r\n .then(async (res) => {\r\n const data = res.data;\r\n const expires = this.getExpiresTime(data.expires_time);\r\n setCookies('uuid', data.user_info.id, expires);\r\n setCookies('token', data.token, expires);\r\n setCookies('expires_time', data.expires_time, expires);\r\n Local.set('PERMISSIONS', data.site_func);\r\n this.$store.commit('userInfo/uniqueAuth', data.unique_auth);\r\n this.$store.commit('userInfo/userInfo', data.user_info);\r\n this.$store.commit('menus/setopenMenus', []);\r\n this.$store.commit('menus/getmenusNav', data.menus);\r\n this.$store.dispatch('routesList/setRoutesList', data.menus);\r\n const arr = formatFlatteningRoutes(this.$router.options.routes);\r\n this.formatTwoStageRoutes(arr);\r\n this.$store.commit('menus/setOneLvMenus', arr);\r\n const routes = formatFlatteningRoutes(data.menus);\r\n this.$store.commit('menus/setOneLvRoute', routes);\r\n this.$store.commit('userInfo/name', data.user_info.account);\r\n this.$store.commit('userInfo/avatar', data.user_info.head_pic);\r\n this.$store.commit('userInfo/access', data.unique_auth);\r\n this.$store.commit('userInfo/logo', data.logo);\r\n this.$store.commit('userInfo/logoSmall', data.logo_square);\r\n this.$store.commit('userInfo/version', data.version);\r\n this.$store.commit('userInfo/newOrderAudioLink', data.newOrderAudioLink);\r\n this.login_captcha = 0;\r\n try {\r\n if (data.queue === false) {\r\n this.$notify.warning({\r\n title: '温馨提示',\r\n dangerouslyUseHTMLString: true,\r\n message:\r\n '您的【消息队列】未开启,没有开启会导致异步任务无法执行。请尽快执行命令开启!!<a href=\"https://doc.crmeb.com/single/v54/13667\" target=\"_blank\">点击查看开启方法</a>',\r\n duration: 30000,\r\n });\r\n }\r\n if (data.timer === false) {\r\n setTimeout(() => {\r\n this.$notify.warning({\r\n title: '温馨提示',\r\n dangerouslyUseHTMLString: true,\r\n message:\r\n '您的【定时任务】未开启,没有开启会导致自动收货、未支付自动取消订单、订单自动好评、拼团到期退款等任务无法正常执行。请尽快执行命令开启!!<a href=\"https://doc.crmeb.com/single/v54/13667\" target=\"_blank\">点击查看开启方法</a>',\r\n duration: 30000,\r\n });\r\n }, 0);\r\n }\r\n this.checkSocket();\r\n } catch (e) {}\r\n PrevLoading.start();\r\n this.$router.push({\r\n path: data.menus.length ? findFirstNonNullChildren(data.menus).path : this.$routeProStr + '/',\r\n });\r\n })\r\n .catch((res) => {\r\n const data = res || {};\r\n this.$message.error(data.msg || '登录失败');\r\n if (res && res.data) this.login_captcha = res.data.login_captcha;\r\n })\r\n .finally(() => {\r\n setTimeout(() => {\r\n this.loading = false;\r\n }, 1000);\r\n });\r\n },\r\n formatTwoStageRoutes(arr) {\r\n if (!arr.length) return false;\r\n const cacheList = [];\r\n arr.forEach((v) => {\r\n if (v && v.meta && v.meta.keepAlive) {\r\n cacheList.push(v.name);\r\n }\r\n });\r\n if (cacheList.length) {\r\n this.$store.dispatch('keepAliveNames/setCacheKeepAlive', cacheList);\r\n }\r\n },\r\n checkSocket() {\r\n getWorkermanUrl().then((res) => {\r\n const url = res.data.admin;\r\n let isNotice = false;\r\n const socket = new window.WebSocket(url);\r\n socket.onopen = () => {\r\n isNotice = true;\r\n socket.close();\r\n };\r\n socket.onerror = socket.onclose = () => {\r\n if (!isNotice) {\r\n isNotice = true;\r\n this.$notify.warning({\r\n title: '温馨提示',\r\n message:\r\n '您的【长连接】未开启,没有开启会导致系统默认客服无法使用,后台订单通知无法收到。请尽快执行命令开启!!<a href=\"https://doc.crmeb.com/single/v54/13667\" target=\"_blank\">点击查看开启方法</a>',\r\n dangerouslyUseHTMLString: true,\r\n duration: 30000,\r\n });\r\n }\r\n };\r\n });\r\n },\r\n getExpiresTime(expiresTime) {\r\n const nowTimeNum = Math.round(Date.now() / 1000);\r\n const expiresTimeNum = expiresTime - nowTimeNum;\r\n return parseFloat(expiresTimeNum / 60 / 60 / 24);\r\n },\r\n closefail() {\r\n this.$message.error('校验错误');\r\n },\r\n handleResize() {\r\n this.fullWidth = document.documentElement.clientWidth;\r\n const canvas = document.getElementsByTagName('canvas')[0];\r\n if (canvas) {\r\n if (this.fullWidth < 768) {\r\n canvas.removeAttribute('class', 'index_bg');\r\n } else {\r\n canvas.className = 'index_bg';\r\n }\r\n }\r\n },\r\n handleSubmit(name) {\r\n this.$refs[name].validate((valid) => {\r\n if (valid) {\r\n if (this.login_captcha === 1) {\r\n this.$refs.verify.show();\r\n } else {\r\n this.closeModel();\r\n }\r\n }\r\n });\r\n },\r\n },\r\n};\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n.page-account {\r\n display: flex;\r\n width: 100%;\r\n background-image: url('../../../assets/images/bg.jpg');\r\n background-size: cover;\r\n background-position: center;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n height: 100vh;\r\n overflow: auto;\r\n}\r\n.page-account .code {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n}\r\n.page-account .code .pictrue {\r\n height: 40px;\r\n}\r\n.swiperPross {\r\n border-radius: 12px 0px 0px 12px;\r\n}\r\n.swiperPross,\r\n.swiperPic,\r\n.swiperPic img {\r\n width: 510px;\r\n height: 100%;\r\n}\r\n.swiperPic img {\r\n width: 100%;\r\n height: 100%;\r\n}\r\n.container {\r\n height: 400px !important;\r\n padding: 0 !important;\r\n border-radius: 12px;\r\n z-index: 1;\r\n display: flex;\r\n}\r\n.containerSamll {\r\n /* width: 56% !important; */\r\n background: #fff !important;\r\n}\r\n.containerBig {\r\n width: auto !important;\r\n background: #f7f7f7 !important;\r\n}\r\n.index_from {\r\n padding: 32px 40px 32px 40px;\r\n height: 400px;\r\n box-sizing: border-box;\r\n}\r\n.page-account-top {\r\n padding: 20px 0 24px 0 !important;\r\n box-sizing: border-box !important;\r\n display: flex;\r\n justify-content: center;\r\n}\r\n.page-account-container {\r\n border-radius: 0px 6px 6px 0px;\r\n}\r\n.btn {\r\n width: 100%;\r\n background: linear-gradient(90deg, rgba(25, 180, 241, 1) 0%, rgba(14, 115, 232, 1) 100%) !important;\r\n}\r\n.captchaBox {\r\n width: 310px;\r\n}\r\n\r\ninput {\r\n display: block;\r\n width: 290px;\r\n line-height: 40px;\r\n margin: 10px 0;\r\n padding: 0 10px;\r\n outline: none;\r\n border: 1px solid #c8cccf;\r\n border-radius: 4px;\r\n color: #6a6f77;\r\n}\r\n\r\n#msg {\r\n width: 100%;\r\n line-height: 40px;\r\n font-size: 14px;\r\n text-align: center;\r\n}\r\n\r\na:link,\r\na:visited,\r\na:hover,\r\na:active {\r\n margin-left: 100px;\r\n color: #0366d6;\r\n}\r\n.index_from ::v-deep .ivu-input-large {\r\n font-size: 14px !important;\r\n}\r\n.from-wh {\r\n width: 400px;\r\n}\r\n.pull-right {\r\n float: right !important;\r\n}\r\n::v-deep .el-button--primary {\r\n border: none;\r\n}\r\n::v-deep .el-button {\r\n padding: 13px 20px !important;\r\n}\r\n.pull-right {\r\n float: right !important;\r\n color: #666;\r\n}\r\n.pull-right a {\r\n margin-left: 0;\r\n color: #666;\r\n}\r\n.footer {\r\n position: fixed;\r\n bottom: 0;\r\n width: 100%;\r\n left: 0;\r\n margin: 0;\r\n background: rgba(255, 255, 255, 0.8);\r\n border-top: 1px solid #e7eaec;\r\n overflow: hidden;\r\n padding: 10px 20px;\r\n height: 36px;\r\n line-height: 18px;\r\n z-index: 999;\r\n}\r\n</style>\r\n"]}]}
|