|
|
@@ -30,50 +30,60 @@ const router = new VueRouter({
|
|
|
path: '/home',
|
|
|
name: 'home',
|
|
|
component: () => import('@/views/home/index.vue'),
|
|
|
+ meta: { keepAlive: true },
|
|
|
+ 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',
|
|
|
meta: { title: '未拜访门店' },
|
|
|
component: () => import('@/views/home/hintTabPage/noVisit.vue'),
|
|
|
+ meta: { keepAlive: true },
|
|
|
},
|
|
|
{
|
|
|
path: '/hintDetail',
|
|
|
name: 'hintDetail',
|
|
|
meta: { title: '提示类-拜访(实时) ' },
|
|
|
component: () => import('@/views/home/hintTabPage/hintDetail.vue'),
|
|
|
+ meta: { keepAlive: true },
|
|
|
},
|
|
|
{
|
|
|
path: '/pantoneNoGet',
|
|
|
name: 'pantoneNoGet',
|
|
|
meta: { title: '提示类-业务员未领取色卡门店 ' },
|
|
|
component: () => import('@/views/home/hintTabPage/pantoneNoGet.vue'),
|
|
|
+ meta: { keepAlive: true },
|
|
|
},
|
|
|
{
|
|
|
path: '/unCreateStore',
|
|
|
name: 'unCreateStore',
|
|
|
meta: { title: '提示类-业务员建店未完成页面' },
|
|
|
component: () => import('@/views/home/hintTabPage/unCreateStore.vue'),
|
|
|
+ meta: { keepAlive: true },
|
|
|
meta: {
|
|
|
title: '提示类-业务员建店未完成页面',
|
|
|
},
|
|
|
@@ -89,41 +99,49 @@ const router = new VueRouter({
|
|
|
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'),
|
|
|
+ meta: { keepAlive: true },
|
|
|
},
|
|
|
{
|
|
|
path: '/addDesignerPage',
|
|
|
@@ -165,7 +183,7 @@ const router = new VueRouter({
|
|
|
path: '/competingStoresAdd',
|
|
|
name: 'competingStoresAdd',
|
|
|
component: () => import('@/views/storeManagement/competingStoresAdd.vue'),
|
|
|
- meta: { title: '竞品店添加', keepAlive: true },
|
|
|
+ meta: { title: '竞品店添加', keepAlive: false },
|
|
|
},
|
|
|
{
|
|
|
path: '/competingStoresDetail',
|
|
|
@@ -190,56 +208,67 @@ const router = new VueRouter({
|
|
|
path: '/outsidelist/index',
|
|
|
name: 'outsidelist',
|
|
|
component: () => import('@/views/deviceOutside/index.vue'),
|
|
|
+ meta: { keepAlive: true },
|
|
|
},
|
|
|
{
|
|
|
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 },
|
|
|
},
|
|
|
],
|
|
|
},
|
|
|
@@ -252,27 +281,32 @@ const router = new VueRouter({
|
|
|
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: '/skuRecognize',
|
|
|
name: 'skuRecognize',
|
|
|
component: () => import('@/views/historicalVisit/skuRecognize.vue'),
|
|
|
+ meta: { keepAlive: true },
|
|
|
},
|
|
|
],
|
|
|
},
|
|
|
@@ -285,58 +319,69 @@ const router = new VueRouter({
|
|
|
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 },
|
|
|
},
|
|
|
],
|
|
|
},
|
|
|
@@ -350,165 +395,197 @@ const router = new VueRouter({
|
|
|
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: '/VisitSummaryStorageDetail',
|
|
|
name: 'VisitSummaryStorageDetail',
|
|
|
component: () => import('@/views/week/VisitSummaryStorageDetail.vue'),
|
|
|
+ meta: { keepAlive: true },
|
|
|
},
|
|
|
{
|
|
|
path: '/assignAwait',
|
|
|
name: 'assignAwait',
|
|
|
meta: { title: '待分配客资' },
|
|
|
component: () => import('@/views/week/assignAwait/index.vue'),
|
|
|
+ meta: { keepAlive: true },
|
|
|
},
|
|
|
{
|
|
|
path: '/assignPage',
|
|
|
name: 'assignPage',
|
|
|
meta: { title: '分配客资' },
|
|
|
component: () => import('@/views/week/assignAwait/assignPage.vue'),
|
|
|
+ meta: { keepAlive: true },
|
|
|
},
|
|
|
{
|
|
|
path: '/JZfollowUp',
|
|
|
name: 'JZfollowUp',
|
|
|
meta: { title: '客资跟进' },
|
|
|
component: () => import('@/views/week/assignAwait/JZfollowUp.vue'),
|
|
|
+ meta: { keepAlive: true },
|
|
|
},
|
|
|
{
|
|
|
path: '/systemSettings',
|
|
|
name: 'systemSettings',
|
|
|
component: () => import('@/views/week/systemSettings.vue'),
|
|
|
+ meta: { keepAlive: true },
|
|
|
meta: { title: '设置' },
|
|
|
},
|
|
|
{
|
|
|
path: '/SUPTaskApproval',
|
|
|
name: 'SUPTaskApproval',
|
|
|
component: () => import('@/views/week/SUPTaskApproval/index.vue'),
|
|
|
+ meta: { keepAlive: true },
|
|
|
meta: { title: '主管任务审批', keepAlive: true },
|
|
|
children: [],
|
|
|
},
|
|
|
@@ -516,6 +593,7 @@ const router = new VueRouter({
|
|
|
path: '/SUPTaskApprovalDetail',
|
|
|
name: 'SUPTaskApprovalDetail',
|
|
|
component: () => import('@/views/week/SUPTaskApproval/SUPTaskApprovalDetail.vue'),
|
|
|
+ meta: { keepAlive: true },
|
|
|
meta: { title: '主管任务审批详情', keepAlive: true },
|
|
|
},
|
|
|
],
|
|
|
@@ -529,17 +607,20 @@ const router = new VueRouter({
|
|
|
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',
|
|
|
meta: { title: '渠道投诉' },
|
|
|
component: () => import('@/views/clew/complaintDetail/index.vue'),
|
|
|
+ meta: { keepAlive: true },
|
|
|
},
|
|
|
],
|
|
|
},
|
|
|
@@ -552,11 +633,13 @@ const router = new VueRouter({
|
|
|
path: '/AIImage/list',
|
|
|
name: 'AIImage',
|
|
|
component: () => import('@/views/AIImage/list.vue'),
|
|
|
+ meta: { keepAlive: true },
|
|
|
},
|
|
|
{
|
|
|
path: '/AIImageDetail',
|
|
|
name: 'AIImageDetail',
|
|
|
component: () => import('@/views/AIImage/AIImageDetail.vue'),
|
|
|
+ meta: { keepAlive: true },
|
|
|
},
|
|
|
],
|
|
|
},
|