Bläddra i källkod

地图门店列表进入拜访返回后刷新问题

zhujindu 5 månader sedan
förälder
incheckning
e7d8e725ed
1 ändrade filer med 76 tillägg och 19 borttagningar
  1. 76 19
      src/views/deviceOutside/rangeStore.vue

+ 76 - 19
src/views/deviceOutside/rangeStore.vue

@@ -173,6 +173,21 @@
         <div class="maplit" :class="{ maplitactive: listpoint.length > 1 }">
           <div v-for="(info, index) in listpoint" :key="index" class="maplistitem">
             <p style="font-weight: bold; font-size: 16px">
+              <template v-if="info.storeLabels">
+                <!-- 金牌店ABC -->
+                <img
+                  class="JPABC"
+                  :src="require('@/assets/Icon/JPA.png')"
+                  v-if="info.storeLabels.jpA" />
+                <img
+                  class="JPABC"
+                  :src="require('@/assets/Icon/JPB.png')"
+                  v-if="info.storeLabels.jpB" />
+                <img
+                  class="JPABC"
+                  :src="require('@/assets/Icon/JPC.png')"
+                  v-if="info.storeLabels.jpC" />
+              </template>
               <span @click="goOtherSystem(info)" :style="setStroeNameStyle(info)">
                 <span>{{ info.storeName }}</span>
                 (<span> {{ info.storeCode }} </span>)
@@ -206,6 +221,22 @@
             <div class="text" style="position: relative">
               联系人:{{ info.contactName }}
               <div style="position: absolute; bottom: 0px; right: 10px; display: inline-block">
+                <!-- 金牌店ABC -->
+                <el-popover
+                  popper-class="zpover"
+                  placement="bottom"
+                  width="120"
+                  trigger="click"
+                  :content="setJPABCContent(info)">
+                  <div
+                    v-if="setJPABCFlag(info)"
+                    class="visitStoreIco"
+                    style="background-color: #fff"
+                    slot="reference">
+                    <van-icon :name="require('@/assets/Icon/visitJPNum.png')" size="26" />
+                    <div class="JPVisitNum">{{ info.visitNum }}/{{ info.needVisitNum }}</div>
+                  </div>
+                </el-popover>
                 <el-popover
                   popper-class="zpover"
                   placement="bottom"
@@ -358,7 +389,7 @@
                   :disabled="!info.userVisitTimesMap"
                   :content="'本店本月已拜访过' + info.storeLabels.visitTimes + '次'">
                   <div
-                    v-if="info.storeLabels.visitTimes && info.storeLabels.visitTimes > 0"
+                    v-if="false && info.storeLabels.visitTimes && info.storeLabels.visitTimes > 0"
                     class="visitStoreIco"
                     slot="reference"
                     style="background-color: #fff; position: relative">
@@ -800,11 +831,10 @@ export default {
       listpoint: [],
       heifhgts: '200px',
       mapRange: [], //地图范围
-      storeCode: '',
     };
   },
   created() {
-    // localStorage.setItem('rangeStoreCode', '');
+    this.closeFns();
     this.heifhgts = window.innerHeight - 190 + 'px';
     // 好邦手接入拜访系统地图功能
     // 获取url参数 userId
@@ -816,7 +846,6 @@ export default {
     }
   },
   activated() {
-    this.storeCode = localStorage.getItem('rangeStoreCode');
     // 获取地图范围 字典
     this.getMapRange();
     this.resultmap = [];
@@ -852,6 +881,25 @@ export default {
     });
   },
   methods: {
+    setJPABCFlag(item) {
+      // needVisitNum:需要拜访的次数;visitNum:本月已拜访次数
+      if (item.storeLabels.jpA && item.visitNum < item.needVisitNum) {
+        return true;
+      } else {
+        return false;
+      }
+    },
+    setJPABCContent(item) {
+      if (item.storeLabels.jpA) {
+        return 'A级金牌店拜访标准1月2次';
+      } else if (item.storeLabels.jpB) {
+        return 'B级金牌店拜访标准1月1次';
+      } else if (item.storeLabels.jpC) {
+        return 'C级金牌店拜访标准1月1次';
+      } else {
+        return '';
+      }
+    },
     setStroeNameStyle(item) {
       // 家装或工装 approvalStatus:是否结案 0:未结案,1:已结案
       if (
@@ -1314,7 +1362,7 @@ export default {
       });
       if (this.$route.query.tabVal == 1) {
         getUserOutPlaList({
-          storeCode: val.storeCode || this.storeCode,
+          storeCode: val.storeCode,
           type: 1,
           lon: val.lon,
           lat: val.lat,
@@ -1335,7 +1383,7 @@ export default {
         });
       } else if (this.$route.query.tabVal == 3) {
         storeList({
-          storeCode: val.storeCode || this.storeCode,
+          storeCode: val.storeCode,
           type: 4,
           lon: val.lon,
           lat: val.lat,
@@ -1352,7 +1400,7 @@ export default {
         });
       } else if (this.$route.query.tabVal == 4) {
         storeMyList({
-          storeCode: val.storeCode || this.storeCode,
+          storeCode: val.storeCode,
           type: 3,
           lon: val.lon,
           lat: val.lat,
@@ -1369,7 +1417,7 @@ export default {
         });
       } else if (this.$route.query.tabVal == 6) {
         topStore({
-          storeCode: val.storeCode || this.storeCode,
+          storeCode: val.storeCode,
           lon: val.lon,
           lat: val.lat,
           range: 20,
@@ -1389,7 +1437,7 @@ export default {
         });
       } else {
         getUserOrgStoreList({
-          storeCode: val.storeCode || this.storeCode,
+          storeCode: val.storeCode,
           type: 2,
           lon: val.lon,
           lat: val.lat,
@@ -1411,7 +1459,6 @@ export default {
       }
     },
     onClickLeft() {
-      localStorage.setItem('rangeStoreCode', '');
       this.$router.go(-1);
     },
     buryingPointFn(val) {
@@ -1832,13 +1879,13 @@ export default {
                                 .twoPointSum(location.lat, location.lon, location.lat, location.lon)
                                 .toFixed(2);
                               // GZ:工装店铺 直接进入拜访
-                              if (localStorage.getItem('postType') == 'GZ') {
-                                localStorage.setItem('startTime', new Date());
-                                localStorage.setItem('ORGName', val.deptName);
-                                localStorage.setItem('chainNameR', val.storeName);
-                                this.toSuishenbangOutstoreVisit(res, val, location, PointSumval);
-                                return;
-                              }
+                              // if (localStorage.getItem('postType') == 'GZ') {
+                              //   localStorage.setItem('startTime', new Date());
+                              //   localStorage.setItem('ORGName', val.deptName);
+                              //   localStorage.setItem('chainNameR', val.storeName);
+                              //   this.toSuishenbangOutstoreVisit(res, val, location, PointSumval);
+                              //   return;
+                              // }
                               // 门店编码校验门店地址不通过
                               if (response.code != 200) {
                                 // updateAddress : ,1:同城AB+金牌,去修改地址;2:非金牌店铺,非同城店铺偏差过大不允许拜访,可以重置定位;0非金牌店铺,非同城店铺 位置信息不存在 可以继续拜访
@@ -1972,7 +2019,6 @@ export default {
         positionDesc: '',
         accuracy: res.accuracy,
       });
-      localStorage.setItem('rangeStoreCode', val.storeCode);
       this.$router.push({
         path: '/suishenbangOutstoreVisit',
         query: {
@@ -2095,7 +2141,7 @@ export default {
 };
 </script>
 
-<style scoped>
+<style scoped lang="scss">
 .map {
   width: 100%;
   height: 79.3vh;
@@ -2142,6 +2188,12 @@ export default {
 .maplistitem {
   padding-bottom: 14px;
   border-bottom: 1px solid #eeeeee;
+  .JPABC {
+    width: 20px;
+    position: relative;
+    top: 4px;
+    margin-right: 3px;
+  }
 }
 .maplistitem:last-child {
   border: 0;
@@ -2314,6 +2366,11 @@ export default {
   font-size: 14px;
 }
 .rangeStore {
+  .JPVisitNum {
+    position: relative;
+    top: -26px;
+    font-size: 10px;
+  }
   .TCFXListItem {
     display: inline-block;
     border: 1px solid #ccc;