Переглянути джерело

Merge branch 'feature_20260423_完美门店接口优化bug' into feature_20260420_陈列任务识别排面数修改

# Conflicts:
#	src/views/historicalVisit/perfectStoreTask.vue
zhujindu 1 день тому
батько
коміт
3da3f8ca20

+ 18 - 8
src/views/historicalVisit/perfectStore.vue

@@ -56,7 +56,7 @@
       <!-- 特殊任务展示 -->
       <!-- 店招 -->
       <div class="shopSign specialTask" v-if="shopSignDetail && shopSignDetail.qualifiedState">
-        <div class="specialTaskLeft" @click="openPerfectStoreSign">
+        <div class="specialTaskLeft" @click="openPerfectStoreSign(shopSignDetail)">
           <div class="SignText">AI 店招识别</div>
           <div class="signContent">
             <div class="" style="display: flex">
@@ -74,8 +74,8 @@
         </div>
       </div>
       <!-- 调色机 -->
-      <div class="TSJBox specialTask" v-if="tiaoSJDetail && tiaoSJDetail.qualifiedState">
-        <div class="specialTaskLeft" @click="openPerfectStoreTSJ">
+      <div class="TSJBox specialTask" v-if="tiaoSJDetail">
+        <div class="specialTaskLeft" @click="openPerfectStoreTSJ(tiaoSJDetail)">
           <div class="SignText">AI 调色机识别</div>
           <div class="signContent">
             <div class="" style="display: flex">
@@ -351,7 +351,15 @@ export default {
           if (shopSignArr.length) this.shopSignDetail = shopSignArr[0];
           let tiaoSJArr = this.list.sfaTaskList.filter((val) => val.photoIdentifyType == '3');
           if (tiaoSJArr.length) {
-            this.tiaoSJDetail = tiaoSJArr[0];
+            let TSJqualifiedState0 = tiaoSJArr.filter((val) => val.qualifiedState == '0');
+            let TSJqualifiedState1 = tiaoSJArr.filter((val) => val.qualifiedState == '1');
+            if (TSJqualifiedState0 && TSJqualifiedState0.length) {
+              this.tiaoSJDetail = TSJqualifiedState0[0];
+            } else if (TSJqualifiedState1 && TSJqualifiedState1.length) {
+              this.tiaoSJDetail = TSJqualifiedState1[0];
+            } else {
+              this.tiaoSJDetail = tiaoSJArr[0];
+            }
             console.log(this.tiaoSJDetail);
           }
           if (res.data.visitSource != 2) {
@@ -436,16 +444,18 @@ export default {
     previewsImg(url) {
       ImagePreview([url]);
     },
-    openPerfectStoreSign() {
+    openPerfectStoreSign(val) {
       this.$router.push({
         path: '/perfectStoreSign',
-        query: { visitId: this.visitsId },
+        query: { visitId: this.visitsId, taskId: val.taskId },
       });
     },
-    openPerfectStoreTSJ() {
+    openPerfectStoreTSJ(val) {
+      let tiaoSJArr = this.list.sfaTaskList.filter((val) => val.photoIdentifyType == '3');
+      let taskIds = tiaoSJArr.map((item) => item.taskId).join(',');
       this.$router.push({
         path: '/perfectStoreTSJ',
-        query: { visitId: this.visitsId },
+        query: { visitId: this.visitsId, taskId: taskIds },
       });
     },
   },

+ 9 - 6
src/views/historicalVisit/perfectStoreSign.vue

@@ -52,7 +52,7 @@
 
 <script>
 import deleteUploadImg from '@/components/deleteUploadImg';
-import { getVisitsDetailPerfectStore } from '@/api/index';
+import { getVisitsDetailPerfectStoreByTaskId } from '@/api/index';
 import { ImagePreview } from 'vant';
 export default {
   name: 'perfectStoreSign',
@@ -72,13 +72,16 @@ export default {
   methods: {
     getVisitsDetailFn() {
       this.shopSignDetail = null;
-      getVisitsDetailPerfectStore({ visitsId: this.visitsId })
+      getVisitsDetailPerfectStoreByTaskId({
+        visitsId: this.visitsId,
+        taskIdList: this.$route.query.taskId.split(','),
+      })
         .then((res) => {
           this.toastLoading().clear();
-          if (res.code == 200) {
-            this.detail = res.data;
-            let shopSignArr = this.detail.sfaTaskList.filter((val) => val.photoIdentifyType == '1');
-            if (shopSignArr.length) this.shopSignDetail = shopSignArr[0];
+          if (res.code == 200 && res.data && res.data.length > 0) {
+            this.detail = res.data[0];
+            let shopSignArr = this.detail;
+            this.shopSignDetail = shopSignArr;
           } else {
             this.$dialog.alert({
               message: res.msg,

+ 13 - 8
src/views/historicalVisit/perfectStoreTSJ.vue

@@ -10,22 +10,24 @@
             <p style="margin: 13px 0">投放编号:{{ val.putInCode || '' }}</p>
           </div>
         </div>
-        <div class="shopSign specialTask" v-if="val && val.qualifiedState">
+        <div class="shopSign specialTask">
           <div class="specialTaskLeft">
             <div class="SignText">识别结果:</div>
             <div class="signContent">
-              <div class="icon">
+              <div class="icon" v-if="val.qualifiedState">
                 <van-icon name="checked" color="#07c160" v-if="val.qualifiedState == '1'" />
                 <van-icon name="warning" color="#ee0a24" v-else />
               </div>
-              <div :style="{ color: val.qualifiedState == '1' ? '#07c160' : '#ee0a24' }">
+              <div
+                :style="{ color: val.qualifiedState == '1' ? '#07c160' : '#ee0a24' }"
+                v-if="val.qualifiedState">
                 {{ val.qualifiedState == '1' ? '调色机完整,投放号正确' : val.unqualifiedReason }}
               </div>
             </div>
             <div class="shopSignButton">
               <div class="" style="display: flex">
                 <van-button round type="primary" v-if="val.qualifiedState == '1'">通过</van-button>
-                <van-button round type="danger" v-else>不通过</van-button>
+                <van-button round type="danger" v-if="val.qualifiedState == '0'">不通过</van-button>
               </div>
             </div>
           </div>
@@ -257,7 +259,7 @@
 
 <script>
 import deleteUploadImg from '@/components/deleteUploadImg';
-import { getVisitsDetailPerfectStore } from '@/api/index';
+import { getVisitsDetailPerfectStoreByTaskId } from '@/api/index';
 import { ImagePreview } from 'vant';
 export default {
   name: 'perfectStoreTSJ',
@@ -280,12 +282,15 @@ export default {
       this.toastLoading(0, '加载中...', true);
       this.tiaoSJArr = null;
       //   this.collectionItemList = [];
-      getVisitsDetailPerfectStore({ visitsId: this.visitsId })
+      getVisitsDetailPerfectStoreByTaskId({
+        visitsId: this.visitsId,
+        taskIdList: this.$route.query.taskId,
+      })
         .then((res) => {
           this.toastLoading().clear();
-          if (res.code == 200) {
+          if (res.code == 200 && res.data && res.data.length > 0) {
             this.detail = res.data;
-            this.tiaoSJArr = this.detail.sfaTaskList.filter((val) => val.photoIdentifyType == '3');
+            this.tiaoSJArr = this.detail;
             console.log(this.tiaoSJArr);
             for (let i = 0; i < this.tiaoSJArr.length; i++) {
               this.filterCollectionItemLists(this.tiaoSJArr[i].collectionItemList);

+ 5 - 6
src/views/historicalVisit/perfectStoreTask.vue

@@ -267,14 +267,13 @@ export default {
       this.toastLoading(0, '加载中...', true);
       getVisitsDetailPerfectStoreByTaskId({
         visitsId: this.visitsId,
-        taskId: this.$route.query.taskId,
+        taskIdList: this.$route.query.taskId,
       }).then((res) => {
         this.toastLoading().clear();
-        if (res.code == 200 && res.data) {
-          this.formData = res.data;
-          this.taskPhotoRecognitionResult =
-            JSON.parse(JSON.stringify(this.formData.taskPhotoRecognitionResult)) || [];
-          this.getSpanArr(this.taskPhotoRecognitionResult);
+        if (res.code == 200 && res.data && res.data.length > 0) {
+          this.formData = res.data[0];
+          console.log(this.formData.taskPhotoRecognitionResult);
+          this.getSpanArr(this.formData.taskPhotoRecognitionResult);
           console.log(this.formData);
         } else {
           this.formData = null;