import Vue from 'vue'; import VueRouter from 'vue-router'; import layout from '@/layout/index.vue'; const originalPush = VueRouter.prototype.push; VueRouter.prototype.push = function push(location) { return originalPush.call(this, location).catch((err) => err); }; Vue.use(VueRouter); const router = new VueRouter({ // mode:"history", // mode:process.env.NODE_ENV !== // "production" ? "hash" : "history", mode: 'history', scrollBehavior(to, from, savedPosition) { if (savedPosition) { return savedPosition; } else { return { x: 0, y: 0 }; } }, base: '/mobile/', routes: [ { path: '/', component: layout, redirect: '/home', children: [ { path: '/home', name: 'home', component: () => import('@/views/home/index.vue'), meta: { keepAlive: true, }, }, { path: '/reportingRate', name: 'reportingRate', component: () => import('@/views/home/reportingRate.vue'), meta: { keepAlive: true, }, }, { path: '/err', name: 'err', component: () => import('@/views/home/err.vue'), meta: { keepAlive: true, }, }, { path: '/login', name: 'login', component: () => import('@/views/home/login.vue'), meta: { keepAlive: true, }, }, { path: '/logincs', name: 'logincs', component: () => import('@/views/home/logincs.vue'), meta: { keepAlive: true, }, }, { path: '/noVisit', name: 'noVisit', component: () => import('@/views/home/hintTabPage/noVisit.vue'), meta: { keepAlive: true, title: '未拜访门店', }, }, { path: '/hintDetail', name: 'hintDetail', component: () => import('@/views/home/hintTabPage/hintDetail.vue'), meta: { keepAlive: true, title: '提示类-拜访(实时) ', }, }, { path: '/pantoneNoGet', name: 'pantoneNoGet', component: () => import('@/views/home/hintTabPage/pantoneNoGet.vue'), meta: { keepAlive: true, title: '提示类-业务员未领取色卡门店 ', }, }, { path: '/unCreateStore', name: 'unCreateStore', meta: { title: '提示类-业务员建店未完成页面' }, component: () => import('@/views/home/hintTabPage/unCreateStore.vue'), meta: { title: '提示类-业务员建店未完成页面', }, }, ], }, { path: '/storemanagementlist', component: layout, redirect: '/storemanagement/index', children: [ { path: '/storemanagement/index', name: 'storeManagement', component: () => import('@/views/storeManagement/index.vue'), meta: { keepAlive: true, }, }, { path: '/storeDetail', name: 'storeDetail', component: () => import('@/views/storeManagement/storeDetail.vue'), meta: { keepAlive: true, }, }, { path: '/storeAdd', name: 'storeAdd', component: () => import('@/views/storeManagement/storeAdd.vue'), meta: { keepAlive: true, }, }, { path: '/storeAddress', name: 'storeAddress', component: () => import('@/views/storeManagement/storeAddress.vue'), meta: { keepAlive: true, }, }, { path: '/odersuccess', name: 'storeAdd', component: () => import('@/views/deviceOutside/oderSuccess.vue'), meta: { keepAlive: true, }, }, { path: '/storeEdit', name: 'storeEdit', component: () => import('@/views/storeManagement/storeEdit.vue'), meta: { keepAlive: true, }, }, { path: '/success', name: 'success', component: () => import('@/views/storeManagement/success.vue'), meta: { keepAlive: true, }, }, { path: '/chainMaintain', name: 'chainMaintain', component: () => import('@/views/storeManagement/chainMaintain.vue'), }, { path: '/addDesignerPage', name: 'addDesignerPage', component: () => import('@/views/storeManagement/addDesignerPage.vue'), meta: { title: '设计师招募', keepAlive: true }, }, { path: '/addDesignerDetail', name: 'addDesignerDetail', component: () => import('@/views/storeManagement/addDesignerDetail.vue'), meta: { title: '设计师招募详情', keepAlive: true }, }, { path: '/addDesignerEdit', name: 'addDesignerEdit', component: () => import('@/views/storeManagement/addDesignerEdit.vue'), meta: { title: '设计师招募编辑', keepAlive: true }, }, ], }, { path: '/outsidelist', component: layout, redirect: '/outsidelist/index', children: [ { path: '/outsidelist/index', name: 'outsidelist', component: () => import('@/views/deviceOutside/index.vue'), meta: { keepAlive: true, scrollTop: 0, }, }, { path: '/ai', name: 'ai', component: () => import('@/views/intelligence/index.vue'), meta: { keepAlive: true, }, }, { path: '/topStore', name: 'topStore', component: () => import('@/views/deviceOutside/topStore.vue'), meta: { keepAlive: true, }, }, { path: '/pItem', name: 'pItem', component: () => import('@/views/deviceOutside/productItem.vue'), meta: { keepAlive: true, }, }, { path: '/suishenbangOutstoreVisit', name: 'suishenbangOutstoreVisit', component: () => import('@/views/deviceOutside/suishenbangOutstoreVisit.vue'), meta: { keepAlive: true, }, }, { path: '/projectOut', name: 'projectOut', component: () => import('@/views/deviceOutside/projectOut.vue'), meta: { keepAlive: true, }, }, { path: '/rangeStore', name: 'rangeStore', component: () => import('@/views/deviceOutside/rangeStore.vue'), meta: { keepAlive: true, }, }, { path: '/outstoreVisit', name: 'outstoreVisit', component: () => import('@/views/deviceOutside/outstoreVisit.vue'), meta: { keepAlive: true, }, }, { path: '/taskList', name: 'taskList', component: () => import('@/views/deviceOutside/taskList.vue'), meta: { keepAlive: true, }, }, { path: '/storeGroup', name: 'storeGroup', component: () => import('@/views/deviceOutside/storeGroup.vue'), meta: { keepAlive: true, }, }, { path: '/outabnormalVisit', name: 'outabnormalVisit', component: () => import('@/views/deviceOutside/outabnormalVisit.vue'), meta: { keepAlive: true, }, }, ], }, { path: '/historicalVisit', component: layout, redirect: '/historicalVisit/index', children: [ { path: '/historicalVisit/index', name: 'historicalVisit', component: () => import('@/views/historicalVisit/index.vue'), meta: { keepAlive: true, }, }, { path: '/historAllVisit', name: 'historAllVisit', component: () => import('@/views/historicalVisit/historAllVisit.vue'), meta: { keepAlive: true, }, }, { path: '/historicalDetails', name: 'historicalDetails', component: () => import('@/views/historicalVisit/historicalDetails.vue'), meta: { keepAlive: true, }, }, { path: '/historiStoreVisit', name: 'historiStoreVisit', component: () => import('@/views/historicalVisit/hisvistdeils.vue'), meta: { keepAlive: true, }, }, ], }, { path: '/deviceWithin', component: layout, redirect: '/deviceWithin/index', children: [ { path: '/deviceWithin/index', name: 'deviceWithin', component: () => import('@/views/deviceWithin/index.vue'), meta: { keepAlive: true, }, }, { path: '/storeVisitpage', name: 'storeVisitpage', component: () => import('@/views/deviceWithin/storeVisit.vue'), meta: { keepAlive: true, }, }, { path: '/addStoreVisit', name: 'addStoreVisit', component: () => import('@/views/deviceWithin/addStoreVisit.vue'), meta: { keepAlive: true, }, }, { path: '/addStoreVisitd', name: 'addStoreVisitd', component: () => import('@/views/deviceWithin/addStoreVisitd.vue'), meta: { keepAlive: true, }, }, { path: '/addStoreVisitP', name: 'addStoreVisitP', component: () => import('@/views/deviceWithin/addStoreVisitP.vue'), meta: { keepAlive: true, }, }, { path: '/abnormalVisit', name: 'abnormalVisit', component: () => import('@/views/deviceWithin/abnormalVisit.vue'), meta: { keepAlive: true, }, }, { path: '/sign', name: 'sign', component: () => import('@/views/sign/index.vue'), meta: { keepAlive: true, }, }, { path: '/signApprovalList', name: 'signApproval', component: () => import('@/views/signApproval/index.vue'), meta: { keepAlive: true, }, }, { path: '/signApproval', name: 'signApproval', component: () => import('@/views/signApproval/signApproval.vue'), meta: { keepAlive: true, }, }, // 同城店铺建店审批 { path: '/newStoreApprovalList', name: 'newStoreApprovalList', component: () => import('@/views/signApproval/newStoreApprovalList.vue'), meta: { keepAlive: true, }, }, { path: '/newStoreApprovalDetail', name: 'newStoreApprovalDetail', component: () => import('@/views/signApproval/newStoreApprovalDetail.vue'), meta: { keepAlive: true, }, }, ], }, { path: '/My', component: layout, redirect: '/My/index', children: [ { path: '/My/index', name: 'MyList', component: () => import('@/views/week/index.vue'), meta: { keepAlive: true, }, }, { path: '/myInventory', name: 'myInventory', component: () => import('@/views/my/myInventory.vue'), meta: { keepAlive: true, }, }, { path: '/material', name: 'material', component: () => import('@/views/my/material.vue'), meta: { keepAlive: true, }, }, { path: '/subordinateHistoricalDaily', name: 'subordinateHistoricalDaily', component: () => import('@/views/week/dailyHistorical.vue'), meta: { keepAlive: true, }, }, { path: '/subordinateHistoricalWeekly', name: 'subordinateHistoricalWeekly', component: () => import('@/views/week/weeklyHistorical.vue'), meta: { keepAlive: true, }, }, { path: '/myHistoricalDaily', name: 'myHistoricalDaily', component: () => import('@/views/week/myHistoricalDaily.vue'), meta: { keepAlive: true, }, }, { path: '/weeklyApproval', name: 'weeklyApproval', component: () => import('@/views/week/weeklyApproval.vue'), meta: { keepAlive: true, }, }, { path: '/weeklyApprovalDetils', name: 'weeklyApprovalDetils', component: () => import('@/views/week/weeklyApprovalDetils.vue'), meta: { keepAlive: true, }, }, { path: '/myComment', name: 'myComment', component: () => import('@/views/week/myComment.vue'), meta: { keepAlive: true, }, }, { path: '/doubleWeeklyDetils', name: 'doubleWeeklyDetils', component: () => import('@/views/week/doubleWeeklyDetils.vue'), meta: { keepAlive: true, }, }, { path: '/daily', name: 'daily', component: () => import('@/views/week/daily.vue'), meta: { keepAlive: true, }, }, { path: '/dailyApprovalList', name: 'dailyApprovalList', component: () => import('@/views/week/dailyApprovalList.vue'), meta: { keepAlive: true, }, }, { path: '/dailyApproval', name: 'dailyApproval', component: () => import('@/views/week/dailyApproval.vue'), meta: { keepAlive: true, }, }, { path: '/dailyDetails', name: 'dailyDetails', component: () => import('@/views/week/dailyDetails.vue'), meta: { keepAlive: true, }, }, { path: '/weeklyApproval', name: 'weeklyApproval', component: () => import('@/views/week/weeklyApproval.vue'), meta: { keepAlive: true, }, }, { path: '/weekly', name: 'weekly', component: () => import('@/views/week/weekly.vue'), meta: { keepAlive: true, }, }, { path: '/doubleWeekly', name: 'doubleWeekly', component: () => import('@/views/week/doubleWeekly.vue'), meta: { keepAlive: true, }, }, { path: '/doubleWeeklyApproval', name: 'doubleWeeklyApproval', component: () => import('@/views/week/doubleWeeklyApproval.vue'), meta: { keepAlive: true, }, }, { path: '/doubleWeeklyHistorical', name: 'doubleWeeklyHistorical', component: () => import('@/views/week/doubleWeeklyHistorical.vue'), meta: { keepAlive: true, }, }, { path: '/dailyHistoricalDetails', name: 'dailyHistoricalDetails', component: () => import('@/views/week/dailyHistoricalDetails.vue'), meta: { keepAlive: true, }, }, { path: '/doubleHistoricalWeeklyDetils', name: 'doubleHistoricalWeeklyDetils', component: () => import('@/views/week/doubleHistoricalWeeklyDetils.vue'), meta: { keepAlive: true, }, }, { path: '/weeklyHistoricalDetils', name: 'weeklyHistoricalDetils', component: () => import('@/views/week/weeklyHistoricalDetils.vue'), meta: { keepAlive: true, }, }, { path: '/VisitSummary', name: 'VisitSummary', component: () => import('@/views/week/VisitSummary.vue'), meta: { keepAlive: true, }, }, { path: '/VisitSummaryMy', name: 'VisitSummaryMy', component: () => import('@/views/week/VisitSummaryMy.vue'), meta: { keepAlive: true, }, }, { path: '/VisitSummaryAdd', name: 'VisitSummaryAdd', component: () => import('@/views/week/VisitSummaryAdd.vue'), meta: { keepAlive: true, }, }, { path: '/VisitSummaryDetail', name: 'VisitSummaryDetail', component: () => import('@/views/week/VisitSummaryDetail.vue'), meta: { keepAlive: true, }, }, { path: '/assignAwait', name: 'assignAwait', component: () => import('@/views/week/assignAwait/index.vue'), meta: { keepAlive: true, title: '待分配客资', }, }, { path: '/assignPage', name: 'assignPage', component: () => import('@/views/week/assignAwait/assignPage.vue'), meta: { keepAlive: true, title: '分配客资', }, }, { path: '/JZfollowUp', name: 'JZfollowUp', component: () => import('@/views/week/assignAwait/JZfollowUp.vue'), meta: { keepAlive: true, title: '客资跟进', }, }, { path: '/systemSettings', name: 'systemSettings', component: () => import('@/views/week/systemSettings.vue'), meta: { title: '设置' }, }, { path: '/SUPTaskApproval', name: 'SUPTaskApproval', component: () => import('@/views/week/SUPTaskApproval/index.vue'), meta: { title: '主管任务审批', keepAlive: true }, children: [], }, { path: '/SUPTaskApprovalDetail', name: 'SUPTaskApprovalDetail', component: () => import('@/views/week/SUPTaskApproval/SUPTaskApprovalDetail.vue'), meta: { title: '主管任务审批详情', keepAlive: true }, }, ], }, { path: '/clew', component: layout, redirect: '/clew', children: [ { path: '/clew', name: 'clew', component: () => import('@/views/clew/index.vue'), meta: { keepAlive: true, }, }, { path: '/clewent', name: 'clewent', component: () => import('@/views/clew/clewent.vue'), meta: { keepAlive: true, }, }, { path: '/complaintDetail', name: 'complaintDetail', component: () => import('@/views/clew/complaintDetail/index.vue'), meta: { keepAlive: true, title: '渠道投诉', }, }, ], }, { path: '/AIImage', component: layout, redirect: '/AIImage/list', children: [ { path: '/AIImage/list', name: 'AIImage', component: () => import('@/views/AIImage/list.vue'), }, { path: '/AIImageDetail', name: 'AIImageDetail', component: () => import('@/views/AIImage/AIImageDetail.vue'), }, ], }, { path: '/chatAIPage', component: layout, redirect: '/chatAIPage', children: [ { path: '/chatAIPage', name: 'chatAIPage', component: () => import('@/views/chatAIPage/index.vue'), }, ], }, ], }); export default router;