Browse Source

Merge branch 'feature_20260203_完美门店' into uat(dev)

zhujindu 4 days ago
parent
commit
1ddfc67503

+ 23 - 21
src/views/deviceOutside/index.vue

@@ -435,26 +435,23 @@
               <van-icon :name="times" color="#ee0a24" size="32" />
               <van-icon :name="times" color="#ee0a24" size="32" />
             </div>
             </div>
             <template v-if="item.stateString == '已拜访'">
             <template v-if="item.stateString == '已拜访'">
-              <div
-                class="statstext"
-                style="
-                  border-bottom-left-radius: 15px;
-                  border-top-left-radius: 15px;
-                  background-color: #e3f0fe;
-                  color: #387bca;
-                "
-                v-if="item.jinpaiStore"
-                @click="openPerfectStore(item)">
-                <div style="margin: 3px 0; font-size: 16px; font-weight: 600">
-                  <p style="line-height: 25px; margin: 0">
-                    查看<img
-                      style="width: 18px; height: 25px; margin-left: 5px; vertical-align: -5px"
-                      :src="require('@/assets/shouzhi.png')" />
-                  </p>
-                  <p style="line-height: 25px; margin: 0">完美门店</p>
+              <div class="statstext">
+                已拜访
+                <div
+                  class="statstextIcon"
+                  style="border-radius: 6px; background-color: #e3f0fe; color: #387bca"
+                  v-if="item.jinpaiStore"
+                  @click="openPerfectStore(item)">
+                  <div style="margin: 3px 7px; font-size: 14px; font-weight: 600">
+                    <p style="line-height: 20px; margin: 0">
+                      查看<img
+                        style="width: 18px; height: 20px; margin-left: 5px; vertical-align: -5px"
+                        :src="require('@/assets/shouzhi.png')" />
+                    </p>
+                    <p style="line-height: 20px; margin: 0">完美门店</p>
+                  </div>
                 </div>
                 </div>
               </div>
               </div>
-              <div class="statstext" v-else>已拜访</div>
             </template>
             </template>
             <div class="btnbox">
             <div class="btnbox">
               <van-row>
               <van-row>
@@ -2516,8 +2513,8 @@ export default {
   font-size: 15px;
   font-size: 15px;
   font-weight: bold;
   font-weight: bold;
   color: #333;
   color: #333;
-  line-height: 22px;
-  padding-right: 72px;
+  line-height: 28px;
+  padding-right: 55px;
   .JPABC {
   .JPABC {
     width: 20px;
     width: 20px;
     position: relative;
     position: relative;
@@ -2582,7 +2579,7 @@ export default {
   background-color: #0057ba;
   background-color: #0057ba;
   position: absolute;
   position: absolute;
   right: 0;
   right: 0;
-  top: 6px;
+  top: 11px;
   padding: 2px 6px 2px 12px;
   padding: 2px 6px 2px 12px;
   border-bottom-left-radius: 60px;
   border-bottom-left-radius: 60px;
   border-top-left-radius: 60px;
   border-top-left-radius: 60px;
@@ -2594,6 +2591,11 @@ export default {
 .statstext .van-icon__image {
 .statstext .van-icon__image {
   height: 0.7em;
   height: 0.7em;
 }
 }
+.statstextIcon {
+  position: absolute;
+  left: -10px;
+  top: 31px;
+}
 .tipsTitle {
 .tipsTitle {
   padding: 5px 0;
   padding: 5px 0;
   text-align: center;
   text-align: center;

+ 20 - 18
src/views/deviceWithin/index.vue

@@ -437,26 +437,23 @@
             <van-icon :name="times" color="#ee0a24" size="32" />
             <van-icon :name="times" color="#ee0a24" size="32" />
           </div>
           </div>
           <template v-if="item.stateString == '已拜访'">
           <template v-if="item.stateString == '已拜访'">
-            <div
-              class="statstext"
-              style="
-                border-bottom-left-radius: 15px;
-                border-top-left-radius: 15px;
-                background-color: #e3f0fe;
-                color: #387bca;
-              "
-              v-if="item.jinpaiStore"
-              @click="openPerfectStore(item)">
-              <div style="margin: 3px 0; font-size: 16px; font-weight: 600">
-                <p style="line-height: 25px; margin: 0">
-                  查看<img
-                    style="width: 18px; height: 25px; margin-left: 5px; vertical-align: -5px"
-                    :src="require('@/assets/shouzhi.png')" />
-                </p>
-                <p style="line-height: 25px; margin: 0">完美门店</p>
+            <div class="statstext">
+              已拜访
+              <div
+                class="statstextIcon"
+                style="border-radius: 6px; background-color: #e3f0fe; color: #387bca"
+                v-if="item.jinpaiStore"
+                @click="openPerfectStore(item)">
+                <div style="margin: 3px 7px; font-size: 14px; font-weight: 600">
+                  <p style="line-height: 20px; margin: 0">
+                    查看<img
+                      style="width: 18px; height: 20px; margin-left: 5px; vertical-align: -5px"
+                      :src="require('@/assets/shouzhi.png')" />
+                  </p>
+                  <p style="line-height: 20px; margin: 0">完美门店</p>
+                </div>
               </div>
               </div>
             </div>
             </div>
-            <div class="statstext" v-else>已拜访</div>
           </template>
           </template>
           <div class="btnbox">
           <div class="btnbox">
             <van-row>
             <van-row>
@@ -1852,6 +1849,11 @@ export default {
 .statstext .van-icon__image {
 .statstext .van-icon__image {
   height: 0.7em;
   height: 0.7em;
 }
 }
+.statstextIcon {
+  position: absolute;
+  left: -10px;
+  top: 31px;
+}
 .visitStoreIco {
 .visitStoreIco {
   float: left;
   float: left;
   float: left;
   float: left;

+ 47 - 34
src/views/historicalVisit/historAllVisit.vue

@@ -59,7 +59,9 @@
         </van-search>
         </van-search>
       </div>
       </div>
       <div class="lineGrey"></div>
       <div class="lineGrey"></div>
-      <div v-if="refreshTotal" class="refreshBtn" @click="onSearch">检测到 {{ refreshTotal }} 条更新,点击刷新</div>
+      <div v-if="refreshTotal" class="refreshBtn" @click="onSearch">
+        检测到 {{ refreshTotal }} 条更新,点击刷新
+      </div>
       <div v-if="refreshTotal" class="lineGrey"></div>
       <div v-if="refreshTotal" class="lineGrey"></div>
     </div>
     </div>
     <!--        主体内容-->
     <!--        主体内容-->
@@ -207,8 +209,8 @@ export default {
   name: 'index.vue',
   name: 'index.vue',
   data() {
   data() {
     return {
     return {
-      latestUpdateTime:null,
-      refreshTotal:0,
+      latestUpdateTime: null,
+      refreshTotal: 0,
       timeico: timeico,
       timeico: timeico,
       defaultDate: new Date(),
       defaultDate: new Date(),
       searchValue: '',
       searchValue: '',
@@ -270,15 +272,15 @@ export default {
   },
   },
   activated() {
   activated() {
     let typeQuery = localStorage.getItem('typeQuery');
     let typeQuery = localStorage.getItem('typeQuery');
-    if(this.latestUpdateTime!=null && typeQuery == 1){ 
-        this.getListTotalFn();
-    }else{
+    if (this.latestUpdateTime != null && typeQuery == 1) {
+      this.getListTotalFn();
+    } else {
       setTimeout(() => {
       setTimeout(() => {
         this.onSearch();
         this.onSearch();
       }, 1000);
       }, 1000);
     }
     }
   },
   },
-  deactivated(){
+  deactivated() {
     localStorage.setItem('typeQuery', 1);
     localStorage.setItem('typeQuery', 1);
   },
   },
   created() {
   created() {
@@ -317,16 +319,16 @@ export default {
     }
     }
   },
   },
   methods: {
   methods: {
-    getListTotalFn(){
+    getListTotalFn() {
       getListTotal({
       getListTotal({
-        startTime: this.startTime + ' 00:00:00', 
-        stopTime: this.endTime + ' 24:00:00', 
+        startTime: this.startTime + ' 00:00:00',
+        stopTime: this.endTime + ' 24:00:00',
         storeRequest: this.storeName.trim(),
         storeRequest: this.storeName.trim(),
         companyId: this.companyCode,
         companyId: this.companyCode,
         regionId: this.regionCode,
         regionId: this.regionCode,
         userId: this.userCode,
         userId: this.userCode,
         deptId: this.deptCode,
         deptId: this.deptCode,
-        queryStartTime:this.latestUpdateTime
+        queryStartTime: this.latestUpdateTime,
       }).then((res) => {
       }).then((res) => {
         if (res.code == 200) {
         if (res.code == 200) {
           this.refreshTotal = res.data;
           this.refreshTotal = res.data;
@@ -346,17 +348,28 @@ export default {
     },
     },
     detilsFn(val) {
     detilsFn(val) {
       console.log(val.id);
       console.log(val.id);
-      this.$router.push({
-        path: '/historicalDetails',
-        query: {
-          visitId: val.id,
-          storeId: val.storeId,
-          storeCode: val.storeCode,
-          taskId: val.taskId,
-          userId: val.userId,
-          storeCategory: val.storeCategory,
-        },
-      });
+      if (val.jinpaiStore) {
+        this.$router.push({
+          path: '/perfectStore',
+          query: {
+            visitId: val.id,
+            storeId: val.storeId,
+            storeCode: val.storeCode,
+          },
+        });
+      } else {
+        this.$router.push({
+          path: '/historicalDetails',
+          query: {
+            visitId: val.id,
+            storeId: val.storeId,
+            storeCode: val.storeCode,
+            taskId: val.taskId,
+            userId: val.userId,
+            storeCategory: val.storeCategory,
+          },
+        });
+      }
     },
     },
     timeBefore7(date) {
     timeBefore7(date) {
       if (!date) {
       if (!date) {
@@ -406,7 +419,7 @@ export default {
     },
     },
     onClickLeft() {
     onClickLeft() {
       this.$router.push({
       this.$router.push({
-          path: '/My/index',
+        path: '/My/index',
       });
       });
     },
     },
     onSearch() {
     onSearch() {
@@ -440,7 +453,7 @@ export default {
         loading1.clear();
         loading1.clear();
         if (res.code == 200) {
         if (res.code == 200) {
           this.loading = false;
           this.loading = false;
-          if(this.pageNum == 1){
+          if (this.pageNum == 1) {
             this.latestUpdateTime = res.dataTime;
             this.latestUpdateTime = res.dataTime;
           }
           }
           this.list = this.list.concat(res.data);
           this.list = this.list.concat(res.data);
@@ -576,16 +589,16 @@ export default {
 };
 };
 </script>
 </script>
 <style lang="scss">
 <style lang="scss">
-.refreshBtn{
-    display: flex;
-    justify-content: center;
-    align-items: center;
-    cursor: pointer;
-    width: 100%;
-    color: #ff976a;
-    padding: 5px;
-    font-size: 14px;
-    background-color: #fff;
+.refreshBtn {
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  cursor: pointer;
+  width: 100%;
+  color: #ff976a;
+  padding: 5px;
+  font-size: 14px;
+  background-color: #fff;
 }
 }
 .searchDiv {
 .searchDiv {
   .van-search {
   .van-search {

+ 28 - 14
src/views/historicalVisit/perfectStore.vue

@@ -120,7 +120,7 @@
       <!-- 店招 -->
       <!-- 店招 -->
       <div class="shopSign specialTask" v-if="shopSignDetail && shopSignDetail.qualifiedState">
       <div class="shopSign specialTask" v-if="shopSignDetail && shopSignDetail.qualifiedState">
         <div class="specialTaskLeft">
         <div class="specialTaskLeft">
-          <div class="SignText">店招:</div>
+          <div class="SignText" style="width: 40px">店招:</div>
           <div class="signContent">
           <div class="signContent">
             <div class="icon">
             <div class="icon">
               <van-icon
               <van-icon
@@ -163,11 +163,23 @@
         </div>
         </div>
       </div>
       </div>
       <div class="SKUBox">
       <div class="SKUBox">
-        <div class="SKUTotal" @click="toSkuRecognize" v-if="list.isSku == '是'">
-          <p style="flex: 1; margin: 0; line-height: 24px; padding: 10px 0; display: inline-block">
-            陈列SKU个数:<span v-if="list.skuTotal" style="color: #000">{{ list.skuTotal }}个</span>
+        <div
+          class="SKUTotal"
+          style="padding: 5px 0 15px 0"
+          @click="toSkuRecognize"
+          v-if="list.isSku == '是'">
+          <p
+            style="
+              flex: 1;
+              margin: 0;
+              line-height: 24px;
+              /* padding: 10px 0; */
+              display: inline-block;
+              font-weight: 600;
+            ">
+            陈列SKU个数:<span v-if="list.skuTotal">{{ list.skuTotal }}4444个</span>
           </p>
           </p>
-          <p class="arrowdetils1">
+          <p class="arrowdetils1" style="margin: 0">
             查看详情
             查看详情
             <van-icon name="arrow" />
             <van-icon name="arrow" />
           </p>
           </p>
@@ -576,7 +588,7 @@ export default {
   .specialTask {
   .specialTask {
     display: flex;
     display: flex;
     flex-direction: row;
     flex-direction: row;
-    margin: 5px 10px;
+    margin: 0px 10px;
     border-radius: 10px;
     border-radius: 10px;
     min-height: 90px;
     min-height: 90px;
     padding: 10px 10px;
     padding: 10px 10px;
@@ -589,6 +601,7 @@ export default {
     .SignText {
     .SignText {
       color: rgb(25, 137, 250);
       color: rgb(25, 137, 250);
       width: 55px;
       width: 55px;
+      font-weight: 600;
     }
     }
     .signContent {
     .signContent {
       display: flex;
       display: flex;
@@ -616,10 +629,10 @@ export default {
     margin-top: 20px;
     margin-top: 20px;
   }
   }
   .SKUBox {
   .SKUBox {
-    margin: 20px 10px 30px 10px;
+    margin: 10px 10px 10px 10px;
     border-radius: 10px;
     border-radius: 10px;
     min-height: 90px;
     min-height: 90px;
-    padding: 10px 10px;
+    padding: 5px 10px;
     font-size: 16px;
     font-size: 16px;
     background: #ffecf4;
     background: #ffecf4;
     .SKUTotal {
     .SKUTotal {
@@ -634,22 +647,23 @@ export default {
         flex-direction: row;
         flex-direction: row;
         justify-content: space-between;
         justify-content: space-between;
         align-items: center;
         align-items: center;
-        padding: 8px 0;
+        padding: 3px 0;
         .itemTitle {
         .itemTitle {
           flex: 1;
           flex: 1;
-          text-decoration: underline;
-          color: rgb(25, 137, 250);
+          // text-decoration: underline;
+          // color: rgb(25, 137, 250);
         }
         }
         .jiantou {
         .jiantou {
-          margin: 0 10px 0 5px;
+          margin-left: 5px;
           color: rgb(25, 137, 250);
           color: rgb(25, 137, 250);
           display: flex;
           display: flex;
           align-items: center;
           align-items: center;
         }
         }
         button {
         button {
-          width: 60px;
-          height: 30px;
+          width: 55px;
+          height: 28px;
           padding: 0;
           padding: 0;
+          font-size: 12px;
         }
         }
       }
       }
     }
     }

+ 2 - 2
src/views/historicalVisit/perfectStoreSku.vue

@@ -22,7 +22,7 @@
         </div> -->
         </div> -->
         <div style="padding: 10px">
         <div style="padding: 10px">
           <van-row gutter="10">
           <van-row gutter="10">
-            <van-col span="4" v-for="(urls, index) in detail.fileUrlList" :key="index">
+            <van-col span="6" v-for="(urls, index) in detail.fileUrlList" :key="index">
               <div class="img-box">
               <div class="img-box">
                 <img :src="urls" @click="previewsImg(index)" />
                 <img :src="urls" @click="previewsImg(index)" />
               </div>
               </div>
@@ -237,7 +237,7 @@ export default {
     }
     }
     .img-box {
     .img-box {
       width: 100%;
       width: 100%;
-      height: 50px;
+      height: 80px;
       position: relative;
       position: relative;
       display: inline-block;
       display: inline-block;
       border-radius: 6px;
       border-radius: 6px;

+ 1 - 1
src/views/historicalVisit/perfectStoreTask.vue

@@ -26,7 +26,7 @@
                   <!-- <span v-if="item.isMust == 0" class="van-f-red">*</span> -->
                   <!-- <span v-if="item.isMust == 0" class="van-f-red">*</span> -->
                   <div class="headline">
                   <div class="headline">
                     <span class="headlineIcon"></span>
                     <span class="headlineIcon"></span>
-                    <span class="headlineTitle">{{ item.collectionName }}</span>
+                    <span class="headlineTitle">上传照片</span>
                   </div>
                   </div>
                   <!-- 操作说明图片和电话 -->
                   <!-- 操作说明图片和电话 -->
                   <taskTips
                   <taskTips