package.json
@@ -10,10 +10,8 @@ "dependencies": { "@jiaminghi/data-view": "^2.4.1", "@tailwindcss/postcss7-compat": "^2.2.17", "autofit.js": "^3.0.4", "axios": "^1.5.0", "core-js": "^2.6.5", "echarts": "^5.5.0", "element-ui": "^2.15.14", "ezuikit-js": "^7.7.10", "moment": "^2.29.4", src/App.vue
@@ -1,552 +1,26 @@ <template> <div id="app"> <transition v-if="['BlueIndex', 'Green', 'Purple'].includes(subjectUI)"> <component :is="subjectUI"></component> </transition> <div class="three_app" v-if="['darkBlue'].includes(subjectUI)"> <div class="three_header" v-if="tokenFlag"> <div> <img @click="goHome" src="./assets/img/DarkBlue/backHome.png" /> <div @click="goBack">返回上一页</div> </div> <div @click="openDetail"> <img :src="info.systemLogo || logoUrl" /> <div>{{ info.shopName || '-' }}</div> </div> </div> <div class="three_UI oa" :class="tokenFlag && 'dark'" v-if="['darkBlue'].includes(subjectUI)"> <router-view /> </div> <el-drawer custom-class="drawer_class" :visible.sync="drawer" :with-header="false"> <div class="drawer_content"> <div class="fs--24 font-w500 mt--44 txt-center">店铺信息</div> <div class="flex mt--55 fs--18 font-w500 ml--127 color1"> <div class="w--108 mr--30"> <div>店铺名称:</div> <div class="mt--25">店铺类型:</div> <div class="mt--25">店铺负责人:</div> <div class="mt--25">店铺账号:</div> <div class="mt--25">初始密码:</div> </div> <div class="font-bold"> <div>{{ info.shopName || '-' }}</div> <div class="mt--25">{{ info.shopType ? ['餐饮', '货物销售'][info.shopType - 1] : '-' }}</div> <div class="mt--25">{{ info.shopHead || '-' }}</div> <div class="mt--25">{{ info.account || '-' }}</div> <div class="mt--25 flex a-center"> <div>123456</div> <div class="license" @click="showOpen = true">修改密码</div> </div> </div> </div> <div class="ml--127 mt--26 fs--18 font-w500 color1"> <div>店铺营业执照:</div> <el-image style="width: 280px; height: 210px;margin-top: 24px;" :src="info.businessLicense" :preview-src-list="[info.businessLicense]"> </el-image> </div> </div> <div class="logOut_class" @click="logOut">退出登录</div> <img class="close" src="./assets/img/DarkBlue/shouqi@2x.png" @click="drawer = false" /> </el-drawer> <el-dialog custom-class="dialog_class" :visible.sync="showOpen" width="680px" :modal-append-to-body="false"> <div class="reset_password"> <div class="top-con"> <div class="reset_password_title">修改密码</div> <img class="pointer" @click="close" src="./assets/img/DarkBlue/icon_close@2x.png" /> </div> <el-input placeholder="请输入登录密码" v-model="ruleForm.account"> <img slot="prefix" class="prefix" src="./assets/img/DarkBlue/icon_login_user@2x.png" /> </el-input> <el-input placeholder="请输入原密码" v-model="ruleForm.oldPassword"> <img slot="prefix" class="prefix" src="./assets/img/DarkBlue/icon_login_password@2x.png" /> </el-input> <el-input placeholder="请输入新密码" v-model="ruleForm.password"> <img slot="prefix" class="prefix" src="./assets/img/DarkBlue/icon_login_password@2x.png" /> </el-input> <el-input placeholder="确认新密码" v-model="ruleForm.confirmPassword"> <img slot="prefix" class="prefix" src="./assets/img/DarkBlue/icon_login_password@2x.png" /> </el-input> <el-button :loading="loading" type="primary" @click="submit">确认修改</el-button> </div> </el-dialog> </div> <<router-view /> </div> </template> <script> import { Message } from 'element-ui' import { mapState, mapActions } from "vuex"; import "./assets/font.css"; import "./utils/basics.less"; import "./utils/app.css"; import autofit from "autofit.js"; import { login, getStoreDetail, reLogin } from "@/view/service"; export default { name: "app", components: { BlueIndex, Green, Purple }, computed: { ...mapState(["subjectUI", "loginOrIndex"]), }, data() { return { logoUrl: require('./assets/storeLogo.png'), tokenFlag: false, info: {}, drawer: false, showOpen: false, loading: false, ruleForm: { account: '', oldPassword: '', password: '', confirmPassword: '' }, }; }, created() { let path = this.$route.path; let query = this.$route.query; if (localStorage.getItem('token') && localStorage.getItem('token') != 'undefined') { if (this.subjectUI == 'BlueIndex' || this.subjectUI == 'Green' || this.subjectUI == 'Purple') { if (Object.keys(query).length == 0) { if (this.subjectUI == 'Green' || this.subjectUI == 'Purple') { this.setLoginOrIndex('Layout'); } else { this.setLoginOrIndex('Blue'); } if (localStorage.getItem('token') && localStorage.getItem('token') != 'undefined') { if (path == '/') { if (this.subjectUI == 'Purple') { this.$router.replace('/statistics') } else { if (localStorage.getItem('roleType') == 3) { this.$router.replace('/goodsOrder') } else { this.$router.replace('/buffetTable') } } } else { this.$router.replace(path) } } else { this.$router.replace('/') } } else { reLogin({ username: query.username }).then(resp => { localStorage.setItem('token', resp.data.token) getStoreDetail().then(res => { localStorage.setItem('userInfo', JSON.stringify(resp.data.userInfo)) localStorage.setItem('roleType', resp.data.userInfo.roleType) localStorage.setItem('info', JSON.stringify(res.data)) if (this.subjectUI == 'Green' || this.subjectUI == 'Purple') { this.setLoginOrIndex('Layout'); } else { this.setLoginOrIndex('Blue'); } if (this.subjectUI == 'Purple') { this.$router.replace('/statistics') } else { if (localStorage.getItem('roleType') == 3) { this.$router.replace('/goodsOrder') } else { this.$router.replace('/buffetTable') } } }) }) } } } else { if (this.subjectUI == 'BlueIndex' || this.subjectUI == 'Green' || this.subjectUI == 'Purple') { if (Object.keys(query).length == 0) { localStorage.clear(); this.setLoginOrIndex("Login"); this.$router.replace('/') } else { reLogin({ username: query.username }).then(resp => { localStorage.setItem('token', resp.data.token) getStoreDetail().then(res => { localStorage.setItem('userInfo', JSON.stringify(resp.data.userInfo)) localStorage.setItem('roleType', resp.data.userInfo.roleType) localStorage.setItem('info', JSON.stringify(res.data)) if (this.subjectUI == 'Green' || this.subjectUI == 'Purple') { this.setLoginOrIndex('Layout'); } else { this.setLoginOrIndex('Blue'); } if (this.subjectUI == 'Purple') { this.$router.replace('/statistics') } else { if (localStorage.getItem('roleType') == 3) { this.$router.replace('/goodsOrder') } else { this.$router.replace('/buffetTable') } } }) }) } } } }, created() {}, mounted() { autofit.init({ designHeight: 900, designWidth: 1440, dh: 900, dw: 1440, el: "body", resize: true, }, false); }, methods: { ...mapActions([ "setLoginOrIndex", ]), close() { this.showOpen = false this.ruleForm = { account: '', oldPassword: '', password: '', confirmPassword: '' } }, submit() { if (!this.ruleForm.account) { Message({ message: "请输入账号", type: "warning", duration: 1500, }) return } if (!this.ruleForm.oldPassword) { Message({ message: "请输入原密码", type: "warning", duration: 1500, }) return } if (!this.ruleForm.password) { Message({ message: "请输入新密码", type: "warning", duration: 1500, }) return } if (!this.ruleForm.confirmPassword) { Message({ message: "请确认新密码", type: "warning", duration: 1500, }) return } if (this.ruleForm.password != this.ruleForm.confirmPassword) { Message({ message: "两次新密码不一致", type: "warning", duration: 1500, }) return } this.loading = true updatePwd({ account: this.ruleForm.account, confirmPassword: this.ruleForm.confirmPassword, oldPassword: this.ruleForm.oldPassword, password: this.ruleForm.password }).then(res => { this.loading = false this.ruleForm = { account: '', oldPassword: '', password: '', confirmPassword: '' } Message({ message: res.msg, type: "success", duration: 1500, }) }).catch(err => { this.loading = false }) }, logOut() { let obj = JSON.parse(localStorage.getItem('acountObj')) localStorage.clear(); localStorage.setItem('acountObj', JSON.stringify(obj)) this.drawer = false this.$router.replace('/'); }, openDetail() { this.drawer = true }, goHome() { let path = this.$route.path if (path != '/home') { this.$router.replace('/home') } }, goBack() { if (localStorage.getItem('token') && localStorage.getItem('token') != 'undefined') { let path = this.$route.path if (path == '/home') { let obj = JSON.parse(localStorage.getItem('acountObj')) localStorage.clear(); if (obj) { localStorage.setItem('acountObj', JSON.stringify(obj)) } this.$router.replace('/') } else { this.$router.go(-1) } } }, }, methods: {}, beforeUpdate() { if (localStorage.getItem('token') && localStorage.getItem('token') != 'undefined') { this.info = JSON.parse(localStorage.getItem('info')) this.tokenFlag = true } else { this.info = {} this.tokenFlag = false } } }; </script> <style lang='less'> ::-webkit-scrollbar { // display: none; } .v-modal { z-index: 999 !important; } .el-dialog__wrapper { z-index: 1000 !important; } #app { width: 100%; height: 100%; font-family: 'PingFang SC Medium'; } .color1 { color: rgba(0, 0, 0, .73); } .three_app { width: 100%; height: 100%; background-image: url('./assets/img/DarkBlue/DarkBlueBG.png'); background-size: 100% 100%; .three_header { font-family: 'PingFang SC Medium'; display: flex; justify-content: space-between; align-items: center; padding: 12px 30px; margin-bottom: 11px; div:nth-child(1) { display: flex; align-items: center; img { cursor: pointer; width: 24px; height: 24px; margin-right: 15px; } div { cursor: pointer; font-weight: 500; font-size: 12px; color: #FFFFFF; } } div:nth-child(2) { display: flex; align-items: center; img { cursor: pointer; width: 36px; height: 36px; margin-right: 8px; border-radius: 50%; } div { cursor: pointer; font-weight: 500; font-size: 12px; color: #FFFFFF; } } } .three_UI { height: calc(100% - 106px); } .drawer_class { width: 500px !important; border-radius: 56px 0px 0px 56px !important; .drawer_content { position: relative; .license { cursor: pointer; margin-left: 26px; padding: 4px 10px; font-weight: 400; font-size: 14px; color: rgba(95, 118, 248, 1); border-radius: 14px; border: 1px solid #5F76F8; } } } .logOut_class { position: absolute; bottom: 18px; left: 50%; transform: translate(-50%, -50%); cursor: pointer; padding: 14px 63px; border-radius: 4px; border: 1px solid #E8E8E8; } .close { cursor: pointer; position: absolute; top: 50%; transform: translateY(-50%); left: 13px; width: 22px; height: 16px; } } .four_app { width: 100%; height: 100%; } .dialog_class { border-radius: 16px; .el-dialog__body { padding: 41px 0 42px 0; } .el-dialog__header { display: none; } .reset_password { display: flex; flex-direction: column; align-items: center; .top-con { width: 100%; display: flex; justify-content: center; position: relative; .reset_password_title { font-family: 'PingFang SC Medium'; font-weight: 600; font-size: 26px; color: #333333; margin-bottom: 49px; } img { position: absolute; right: 18px; width: 24px; height: 26px; } } .el-input>.el-input__inner::placeholder { font-family: 'PingFang SC-Regular'; font-size: 15px; font-weight: 400; color: rgba(200, 202, 214, 1); } .el-input { width: 311px; margin-top: 20px; } .el-input:first-child { margin-top: unset; } .el-input>.el-input__inner { width: 311px; height: 45px; font-size: 17px; padding: 0 41px; } .el-input__prefix { display: flex; align-items: center; left: 16px; } .prefix { width: 16px; height: 16px; } .el-button { margin-top: 39px; font-family: 'PingFangSC-semibold'; width: 311px; height: 50px; background: #5F76F8; border-radius: 4px; font-weight: 600; font-size: 18px; color: #FFFFFF; align-items: center; align-content: center; padding: unset; border: unset; } } } </style> <style lang='less'></style> src/assets/font.css
@@ -1,48 +0,0 @@ @font-face { font-family: 'PingFang SC Medium'; src: url('./font/PingFang Medium.ttf'); font-weight: normal; font-style: normal; } @font-face { font-family: 'HarmonyOS Sans SC Black'; src: url('./font/HarmonyOS\ Sans\ SC\ Black.ttf') format('opentype'); font-weight: normal; font-style: normal; } @font-face { font-family: 'PingFangSC-semibold'; src: url('./font/PingFangSC-semibold.ttf') format('opentype'); font-weight: normal; font-style: normal; } @font-face { font-family: 'HarmonyOS_Sans_TC_Bold'; src: url('./font/HarmonyOS_Sans_TC_Bold.ttf') format('opentype'); font-weight: normal; font-style: normal; } @font-face { font-family: 'Source Han Sans CN Heavy Bold'; src: url('./font/Source Han Sans CN Heavy Bold.ttf') format('opentype'); font-weight: normal; font-style: normal; } @font-face { font-family: 'Source Han Sans CN Regular'; src: url('./font/Source Han Sans CN Regular.ttf') format('opentype'); font-weight: normal; font-style: normal; } @font-face { font-family: 'PingFang SC-Regular'; src: url('./font/PingFang SC-Regular.otf') format('opentype'); font-weight: normal; font-style: normal; } src/assets/font/HarmonyOS Sans SC Black.ttfBinary files differ
src/assets/font/HarmonyOS_Sans_TC_Bold.ttfBinary files differ
src/assets/font/PingFang Medium.ttfBinary files differ
src/assets/font/PingFang SC-Regular.otfBinary files differ
src/assets/font/PingFangSC-semibold.ttfBinary files differ
src/assets/font/Source Han Sans CN Heavy Bold.ttfBinary files differ
src/assets/font/Source Han Sans CN Regular.ttfBinary files differ
src/assets/img/DarkBlue/DarkBlueBG.pngBinary files differ
src/assets/img/DarkBlue/Fill 1@2x (1).pngBinary files differ
src/assets/img/DarkBlue/Group@2x.pngBinary files differ
src/assets/img/DarkBlue/Rectangle@2x.pngBinary files differ
src/assets/img/DarkBlue/_ @2x.pngBinary files differ
src/assets/img/DarkBlue/add.pngBinary files differ
src/assets/img/DarkBlue/backHome.pngBinary files differ
src/assets/img/DarkBlue/buy.pngBinary files differ
src/assets/img/DarkBlue/daochu@2x.pngBinary files differ
src/assets/img/DarkBlue/data.pngBinary files differ
src/assets/img/DarkBlue/gouxuan@2x.pngBinary files differ
src/assets/img/DarkBlue/icon1@2x.pngBinary files differ
src/assets/img/DarkBlue/icon_checkbox@2x.pngBinary files differ
src/assets/img/DarkBlue/icon_close@2x.pngBinary files differ
src/assets/img/DarkBlue/icon_login_password@2x.pngBinary files differ
src/assets/img/DarkBlue/icon_login_user@2x.pngBinary files differ
src/assets/img/DarkBlue/icondisable@2x.pngBinary files differ
src/assets/img/DarkBlue/img1.pngBinary files differ
src/assets/img/DarkBlue/img2.pngBinary files differ
src/assets/img/DarkBlue/img3.pngBinary files differ
src/assets/img/DarkBlue/img4.pngBinary files differ
src/assets/img/DarkBlue/img5.pngBinary files differ
src/assets/img/DarkBlue/img6.pngBinary files differ
src/assets/img/DarkBlue/order.pngBinary files differ
src/assets/img/DarkBlue/order12x.pngBinary files differ
src/assets/img/DarkBlue/reduce.pngBinary files differ
src/assets/img/DarkBlue/remembPassword.pngBinary files differ
src/assets/img/DarkBlue/shouqi@2x.pngBinary files differ
src/assets/img/DarkBlue/swsk.pngBinary files differ
src/assets/img/DarkBlue/tianjia (2)@2x.pngBinary files differ
src/assets/img/DarkBlue/upload.pngBinary files differ
src/assets/img/DarkBlue/编组@2x.pngBinary files differ
src/assets/img/Green/Background@2x.pngBinary files differ
src/assets/img/Green/Rectangle@2x.pngBinary files differ
src/assets/img/Green/Rectangle@2x1.pngBinary files differ
src/assets/img/Green/account.pngBinary files differ
src/assets/img/Green/add.pngBinary files differ
src/assets/img/Green/arrow-left@2x.pngBinary files differ
src/assets/img/Green/bg-hide2@2x.pngBinary files differ
src/assets/img/Green/bg-hide@2x.pngBinary files differ
src/assets/img/Green/check.pngBinary files differ
src/assets/img/Green/close@2x.pngBinary files differ
src/assets/img/Green/closeModal.pngBinary files differ
src/assets/img/Green/greenAdd.pngBinary files differ
src/assets/img/Green/headerBg.pngBinary files differ
src/assets/img/Green/password.pngBinary files differ
src/assets/img/Green/reduce@2x.pngBinary files differ
src/assets/img/Green/wan@2x.pngBinary files differ
src/assets/img/Group10@2x.pngBinary files differ
src/assets/img/Purple/Bitmap@2x.pngBinary files differ
src/assets/img/Purple/Group@2x.pngBinary files differ
src/assets/img/Purple/activeClass.pngBinary files differ
src/assets/img/Purple/activeGoods.pngBinary files differ
src/assets/img/Purple/activeMeal.pngBinary files differ
src/assets/img/Purple/activeStock.pngBinary files differ
src/assets/img/Purple/addGoods.pngBinary files differ
src/assets/img/Purple/ant-btn.pngBinary files differ
src/assets/img/Purple/back.pngBinary files differ
src/assets/img/Purple/bg4@2x.pngBinary files differ
src/assets/img/Purple/cardBgImg.pngBinary files differ
src/assets/img/Purple/closeModal.pngBinary files differ
src/assets/img/Purple/dianpu.pngBinary files differ
src/assets/img/Purple/export.pngBinary files differ
src/assets/img/Purple/goodsManageMent.pngBinary files differ
src/assets/img/Purple/home.pngBinary files differ
src/assets/img/Purple/noActiveClass.pngBinary files differ
src/assets/img/Purple/noActiveGoods.pngBinary files differ
src/assets/img/Purple/noActiveMeal.pngBinary files differ
src/assets/img/Purple/noActiveStock.pngBinary files differ
src/assets/img/Purple/noAddGoods.pngBinary files differ
src/assets/img/Purple/noOrder.pngBinary files differ
src/assets/img/Purple/orderManagement.pngBinary files differ
src/assets/img/Purple/orderNum1.pngBinary files differ
src/assets/img/Purple/orderNum2.pngBinary files differ
src/assets/img/Purple/orderNum3.pngBinary files differ
src/assets/img/Purple/orderNum4.pngBinary files differ
src/assets/img/Purple/required.pngBinary files differ
src/assets/img/Purple/storeroom.pngBinary files differ
src/assets/img/Purple/tableEtiquette.pngBinary files differ
src/assets/img/Purple/upload.pngBinary files differ
src/assets/img/Purple/workbench.pngBinary files differ
src/assets/img/Purple/yesOrder.pngBinary files differ
src/assets/img/active-be-put.pngBinary files differ
src/assets/img/active-data.pngBinary files differ
src/assets/img/active-dining-table.pngBinary files differ
src/assets/img/active-goods.pngBinary files differ
src/assets/img/active-order-a-meal.pngBinary files differ
src/assets/img/active-order.pngBinary files differ
src/assets/img/back@2x.pngBinary files differ
src/assets/img/be-put.pngBinary files differ
src/assets/img/blue/Delete@2x.pngBinary files differ
src/assets/img/blue/check.pngBinary files differ
src/assets/img/blue/fh@2x.pngBinary files differ
src/assets/img/blue/jia.pngBinary files differ
src/assets/img/blue/jian.pngBinary files differ
src/assets/img/blue/login/account.pngBinary files differ
src/assets/img/blue/login/bg.pngBinary files differ
src/assets/img/blue/login/centerBG.pngBinary files differ
src/assets/img/blue/login/cube.pngBinary files differ
src/assets/img/blue/login/loginBtn.pngBinary files differ
src/assets/img/blue/login/lookPassword.pngBinary files differ
src/assets/img/blue/login/noPassword.pngBinary files differ
src/assets/img/blue/login/password.pngBinary files differ
src/assets/img/blue/menuDelete.pngBinary files differ
src/assets/img/blue/notice@2x.pngBinary files differ
src/assets/img/blue/right.pngBinary files differ
src/assets/img/blue/shopCar.pngBinary files differ
src/assets/img/blue/shouqi.pngBinary files differ
src/assets/img/blue/zhan.pngBinary files differ
src/assets/img/close.pngBinary files differ
src/assets/img/data.pngBinary files differ
src/assets/img/dining-table.pngBinary files differ
src/assets/img/export@2x.pngBinary files differ
src/assets/img/goods.pngBinary files differ
src/assets/img/icon4@2x(1).pngBinary files differ
src/assets/img/icon4@2x.pngBinary files differ
src/assets/img/icondetail2@2x(2).pngBinary files differ
src/assets/img/icondetail3@2x.pngBinary files differ
src/assets/img/icondetail@2x(1).pngBinary files differ
src/assets/img/order-a-meal.pngBinary files differ
src/assets/img/order.pngBinary files differ
src/assets/img/rightIcon@2x.pngBinary files differ
src/assets/img/search-outline@2x.pngBinary files differ
src/assets/logo.pngBinary files differ
src/assets/storeLogo.pngBinary files differ
src/main.js
@@ -5,27 +5,11 @@ import router from './router' import store from './store' import cookies from 'vue-cookies' Vue.prototype.$cookies = cookies; import ElementUI from 'element-ui'; Vue.use(ElementUI) Vue.config.productionTip = false Vue.filter('formatNumber', (num) => { if (num != 0 && num < 1000) { return num + '.0' } if (num && num >= 1000) { if (num.toString().split('.').length == 1) { return num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") + ".0" } return num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); } return num || 0 }) new Vue({ router, src/router/blue.js
File was deleted src/router/index.js
@@ -1,8 +1,6 @@ import Vue from 'vue' import Router from 'vue-router' import blue from './blue' import routers from './routers'; const changePush = Router.prototype.push; Router.prototype.push = function push(location) { @@ -11,17 +9,12 @@ Vue.use(Router); export let constantRoutes = blue // export let constantRoutes = darkBlue // export let constantRoutes = green // export let constantRoutes = purple const createRouter = () => new Router({ mode: 'hash', // require service support scrollBehavior: () => ({ y: 0 }), routes: constantRoutes routes: routers }) const router = createRouter() src/router/routers.js
New file @@ -0,0 +1,10 @@ export default [ { path: '/Login', component: () => import('@/view/Login.vue'), meta: { title: '登录' } }, ] src/store/index.js
@@ -4,45 +4,10 @@ const store = new Vuex.Store({ state: { loginOrIndex: 'Login', subjectUI: 'Purple', // darkBlue BlueIndex Green Purple selectGoodsList: [], date: '', changeRouterClass: 'statistics' }, mutations: { SET_LOGIN_OR_INDEX(state, data) { state.loginOrIndex = data; }, SET_SUBJECT_UI(state, data) { state.subjectUI = data; }, SET_SELECT_GOODS_LIST(state, data) { state.selectGoodsList = data; }, SET_DATE(state, data) { state.date = data; }, SET_CHANGE_ROUTER_CLASS(state, data) { state.changeRouterClass = data; } }, actions: { setLoginOrIndex({ commit }, data) { commit('SET_LOGIN_OR_INDEX', data); }, setSubjectUI({ commit }, data) { commit('SET_SUBJECT_UI', data); }, setSelectGoodsList({ commit }, data) { commit('SET_SELECT_GOODS_LIST', data); }, setDate({ commit }, data) { commit('SET_DATE', data); }, setChangeRouterClass({ commit }, data) { commit('SET_CHANGE_ROUTER_CLASS', data); } } }) src/utils/request.js
@@ -1,5 +1,4 @@ import axios from 'axios' import store from '@/store' import { Message @@ -7,9 +6,7 @@ const service = axios.create({ // baseURL: `http://vwpmxwbhv59i.guyubao.com`, baseURL: `http://192.168.110.34:8081`, // baseURL:'http://vwpmxwbhv59i.guyubao.com', withCredentials: false, // 当跨域请求时发送cookie timeout: 30000, // request timeout }) @@ -56,18 +53,7 @@ type: 'warning', duration: 2000 }) setTimeout(() => { if (store.state.subjectUI == 'BlueIndex' || store.state.subjectUI == 'Green' || store.state.subjectUI == 'Purple') { localStorage.clear(); window.location.replace('/'); } if (store.state.subjectUI == 'darkBlue') { let obj = JSON.parse(localStorage.getItem('acountObj')) localStorage.clear(); localStorage.setItem('acountObj', JSON.stringify(obj)) window.location.replace('/'); } }, 2000) window.location.replace('/Login'); return Promise.reject(res.data) } Message({ src/utils/utils.js
@@ -1,39 +1,10 @@ export function generateVerificationCode() { const characters = '123456789abcdefghijkmnpqrstuvwxyABCDEFGHJKLMNPQRSTUVWXY'; let code = ''; for (let i = 0; i < 4; i++) { code += characters.charAt(Math.floor(Math.random() * characters.length)); } return code; } export const exportExcell = (name, params, url) => { fetch('http://192.168.110.34:8081' + url, { method: 'post', body: JSON.stringify({ ...params, }), headers: { Authorization: localStorage.getItem('token'), 'ConTent-Type': 'application/json;charset=UTF-8', timestamp: new Date().getTime(), client: localStorage.getItem('client') }, responseType: 'blob', }) .then((res) => res.blob()) .then((res) => { const link = document.createElement('a'); link.style.display = 'none'; link.href = URL.createObjectURL(res); link.download = name; document.body.appendChild(link); link.click(); // 释放的 URL 对象以及移除 a 标签 URL.revokeObjectURL(link.href); document.body.removeChild(link); }); }; const characters = '123456789abcdefghijkmnpqrstuvwxyABCDEFGHJKLMNPQRSTUVWXY'; let code = ''; for (let i = 0; i < 4; i++) { code += characters.charAt(Math.floor(Math.random() * characters.length)); } return code; } src/view/Blue/Login.vue
File was deleted src/view/Login.vue
New file @@ -0,0 +1,22 @@ <template> <div class="content"> </div> </template> <script> export default { components: {}, props: {}, data() { return { }; }, computed: {}, watch: {}, created() {}, mounted() { }, methods: {}, }; </script> <style scoped lang="less"> </style> src/view/goodsOrderService.js
File was deleted src/view/orderService.js
File was deleted src/view/restaurantOrder.js
File was deleted src/view/service.js
File was deleted src/view/statistics.js
File was deleted src/view/storeService.js
File was deleted src/view/tableService.js
File was deleted