소스 검색

feature_20250917_仿石漆潜在客户区域创建

zhujindu 2 달 전
부모
커밋
725611b2c0
3개의 변경된 파일105개의 추가작업 그리고 15개의 파일을 삭제
  1. 8 8
      src/layout/index.vue
  2. 84 1
      src/router/index.js
  3. 13 6
      src/views/storeManagement/competingStoresAdd.vue

+ 8 - 8
src/layout/index.vue

@@ -1,17 +1,17 @@
 <template>
   <div class="container bgcolor">
-    <!-- 默认都走缓存 keepAlive:true 不缓存-->
-    <!-- <template v-if="$route.meta.keepAlive">
-      <router-view></router-view>
-    </template>
-    <template v-else>
+    <!-- 默认都走缓存 keepAlive:true 缓存-->
+    <template v-if="$route.meta.keepAlive">
       <keep-alive>
         <router-view></router-view>
       </keep-alive>
-    </template> -->
-    <keep-alive>
+    </template>
+    <template v-else>
+      <router-view></router-view>
+    </template>
+    <!-- <keep-alive>
       <router-view></router-view>
-    </keep-alive>
+    </keep-alive> -->
   </div>
 </template>
 <script>

+ 84 - 1
src/router/index.js

@@ -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 },
         },
       ],
     },

+ 13 - 6
src/views/storeManagement/competingStoresAdd.vue

@@ -114,8 +114,8 @@
         <van-field readonly v-model="fromData.cityLevel" label="城市等级">
           <template #left-icon>
             <span class="van-f-red">*</span>
-          </template></van-field
-        >
+          </template>
+        </van-field>
         <!-- <van-field
           readonly
           clickable
@@ -273,7 +273,6 @@ export default {
   data() {
     return {
       fromData: {
-        // storeCode: '',
         storeName: '',
         telephone: '',
         storeCategoryName: '',
@@ -282,8 +281,6 @@ export default {
         districtName: '',
         addressLine: '',
         orgName: '',
-        // chainName: '',
-        // townName: '',
         salesmanName: '',
         lat: '',
         lon: '',
@@ -318,8 +315,9 @@ export default {
       maplist: [],
     };
   },
-  activated() {
+  created() {
     this.showmap = false;
+    this.getStoreCategoryList();
     // this.toastLoading(0, '加载中...', true);
     // 授权
     getTicketFun(['getLocation', 'chooseImage', 'uploadImage']).then(() => {
@@ -416,6 +414,15 @@ export default {
     clickSubmit(values) {
       this.$refs.tabstoreVal.submit();
     },
+    getStoreCategoryList() {
+      // designerStoreCategory().then((res) => {
+      //   if (res.code == 200) {
+      //     this.storeCategoryList = res.data;
+      //     this.fromData.storeCategoryName = this.storeCategoryList[0].dictLabel;
+      //     this.fromData.storeCategory = this.storeCategoryList[0].dictValue;
+      //   }
+      // });
+    },
     onSubmit(value) {
       this.toastLoading(0, '提交中...', true);
       updateStore(this.fromData).then((res) => {