|
|
@@ -30,68 +30,44 @@ const router = new VueRouter({
|
|
|
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',
|
|
|
+ meta: { title: '未拜访门店' },
|
|
|
component: () => import('@/views/home/hintTabPage/noVisit.vue'),
|
|
|
- meta: {
|
|
|
- keepAlive: true,
|
|
|
- title: '未拜访门店',
|
|
|
- },
|
|
|
},
|
|
|
{
|
|
|
path: '/hintDetail',
|
|
|
name: 'hintDetail',
|
|
|
+ meta: { title: '提示类-拜访(实时) ' },
|
|
|
component: () => import('@/views/home/hintTabPage/hintDetail.vue'),
|
|
|
- meta: {
|
|
|
- keepAlive: true,
|
|
|
- title: '提示类-拜访(实时) ',
|
|
|
- },
|
|
|
},
|
|
|
{
|
|
|
path: '/pantoneNoGet',
|
|
|
name: 'pantoneNoGet',
|
|
|
+ meta: { title: '提示类-业务员未领取色卡门店 ' },
|
|
|
component: () => import('@/views/home/hintTabPage/pantoneNoGet.vue'),
|
|
|
- meta: {
|
|
|
- keepAlive: true,
|
|
|
- title: '提示类-业务员未领取色卡门店 ',
|
|
|
- },
|
|
|
},
|
|
|
{
|
|
|
path: '/unCreateStore',
|
|
|
@@ -113,57 +89,36 @@ 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',
|
|
|
@@ -235,90 +190,56 @@ const router = new VueRouter({
|
|
|
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,
|
|
|
- },
|
|
|
},
|
|
|
],
|
|
|
},
|
|
|
@@ -331,34 +252,22 @@ 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',
|
|
|
@@ -376,91 +285,58 @@ 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,
|
|
|
- },
|
|
|
},
|
|
|
],
|
|
|
},
|
|
|
@@ -474,209 +350,131 @@ 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',
|
|
|
@@ -686,29 +484,20 @@ const router = new VueRouter({
|
|
|
{
|
|
|
path: '/assignAwait',
|
|
|
name: 'assignAwait',
|
|
|
+ meta: { title: '待分配客资' },
|
|
|
component: () => import('@/views/week/assignAwait/index.vue'),
|
|
|
- meta: {
|
|
|
- keepAlive: true,
|
|
|
- title: '待分配客资',
|
|
|
- },
|
|
|
},
|
|
|
{
|
|
|
path: '/assignPage',
|
|
|
name: 'assignPage',
|
|
|
+ meta: { title: '分配客资' },
|
|
|
component: () => import('@/views/week/assignAwait/assignPage.vue'),
|
|
|
- meta: {
|
|
|
- keepAlive: true,
|
|
|
- title: '分配客资',
|
|
|
- },
|
|
|
},
|
|
|
{
|
|
|
path: '/JZfollowUp',
|
|
|
name: 'JZfollowUp',
|
|
|
+ meta: { title: '客资跟进' },
|
|
|
component: () => import('@/views/week/assignAwait/JZfollowUp.vue'),
|
|
|
- meta: {
|
|
|
- keepAlive: true,
|
|
|
- title: '客资跟进',
|
|
|
- },
|
|
|
},
|
|
|
{
|
|
|
path: '/systemSettings',
|
|
|
@@ -740,26 +529,17 @@ 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,
|
|
|
- title: '渠道投诉',
|
|
|
- },
|
|
|
},
|
|
|
],
|
|
|
},
|
|
|
@@ -780,18 +560,6 @@ const router = new VueRouter({
|
|
|
},
|
|
|
],
|
|
|
},
|
|
|
- {
|
|
|
- path: '/chatAIPage',
|
|
|
- component: layout,
|
|
|
- redirect: '/chatAIPage',
|
|
|
- children: [
|
|
|
- {
|
|
|
- path: '/chatAIPage',
|
|
|
- name: 'chatAIPage',
|
|
|
- component: () => import('@/views/chatAIPage/index.vue'),
|
|
|
- },
|
|
|
- ],
|
|
|
- },
|
|
|
],
|
|
|
});
|
|
|
export default router;
|