Преглед на файлове

feature_20250704_陈列SKU图片识别

zhujindu преди 4 месеца
родител
ревизия
85d0ff65e6
променени са 4 файла, в които са добавени 156 реда и са изтрити 22 реда
  1. 5 0
      src/router/index.js
  2. 24 0
      src/views/historicalVisit/historicalDetails.vue
  3. 0 22
      src/views/historicalVisit/hisvistdeils.vue
  4. 127 0
      src/views/historicalVisit/skuRecognize.vue

+ 5 - 0
src/router/index.js

@@ -233,6 +233,11 @@ const router = new VueRouter({
           name: 'historiStoreVisit',
           component: () => import('@/views/historicalVisit/hisvistdeils.vue'),
         },
+        {
+          path: '/skuRecognize',
+          name: 'skuRecognize',
+          component: () => import('@/views/historicalVisit/skuRecognize.vue'),
+        },
       ],
     },
     {

+ 24 - 0
src/views/historicalVisit/historicalDetails.vue

@@ -93,6 +93,24 @@
           <p style="text-align: right">点评时间:{{ managerRemarkContents[0].createTime }}</p>
         </van-collapse-item>
       </van-collapse>
+      <div style="padding: 10px 16px; font-size: 16px; font-weight: bold">SKU图像识别结果</div>
+      <div class="card" v-if="list.visitSource != 2">
+        <div class="info" @click="toSkuRecognize">
+          <p
+            style="
+              width: 94%;
+              margin: 0;
+              line-height: 24px;
+              padding: 10px 0;
+              display: inline-block;
+            ">
+            拍摄的所有产品陈列照识别结果
+          </p>
+          <p class="arrowdetils1">
+            <van-icon name="arrow" />
+          </p>
+        </div>
+      </div>
       <div style="padding: 10px 16px; font-size: 16px; font-weight: bold">任务</div>
       <div class="card" v-if="list.visitSource != 2">
         <div
@@ -397,6 +415,12 @@ export default {
       });
       sessionStorage.setItem('collectionItemList', JSON.stringify(val.collectionItemList));
     },
+    toSkuRecognize() {
+      this.$router.push({
+        path: '/skuRecognize',
+        query: { visitId: this.visitsId },
+      });
+    },
     onClickLeft() {
       if (this.$route.query.token) {
         this.$router.push({

+ 0 - 22
src/views/historicalVisit/hisvistdeils.vue

@@ -246,25 +246,6 @@
             <delete-upload-img :imgs="item.fileInfoList"></delete-upload-img>
           </div>
         </div>
-        <!-- SKU识别 -->
-        <!-- 生动化陈列 sku -->
-        <template v-if="photoSkuImgSummaryeList && photoSkuImgSummaryeList.length">
-          <div class="skuNum" style="padding: 10px 0">
-            SKU识别:{{ photoSkuImgSummaryeList.length }}个
-          </div>
-          <el-table
-            :data="photoSkuImgSummaryeList"
-            style="width: 100%; border-radius: 10px"
-            border
-            class="table-headermd">
-            <el-table-column label="SKU名称" prop="name" width="180" align="center">
-              <template slot-scope="scope">
-                <span class="tipTitle">{{ scope.row.name }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column label="数量" prop="count" align="center"></el-table-column>
-          </el-table>
-        </template>
       </van-form>
     </div>
     <van-dialog v-model="listShow" title="历史回显" show-cancel-button :showConfirmButton="false">
@@ -321,7 +302,6 @@ export default {
       checkShow: false,
       infoData: {},
       putInCode: '',
-      photoSkuImgSummaryeList: [],
     };
   },
   activated() {
@@ -393,8 +373,6 @@ export default {
         this.toastLoading().clear();
         this.infoData = res.data;
         var collectionItemLists = res.data.sfaTaskList[this.$route.query.ids].collectionItemList;
-        this.photoSkuImgSummaryeList =
-          res.data.sfaTaskList[this.$route.query.ids].photoSkuImgSummaryeList;
         if (res.data.sfaTaskList[this.$route.query.ids].checkUnManage == 'Y') {
           this.checkShow = true;
         } else {

+ 127 - 0
src/views/historicalVisit/skuRecognize.vue

@@ -0,0 +1,127 @@
+<template>
+  <div class="skuRecognize">
+    <van-nav-bar class="navBar" title="拜访任务详情" left-arrow @click-left="onClickLeft">
+      <template #right>
+        <div class="feedback" @click="feedbackShow = true">识别异常反馈</div>
+      </template>
+    </van-nav-bar>
+    <div class="content" v-if="detail">
+      <div class="title">产品陈列照</div>
+      <div class="tipsTitle">目前仅识别</div>
+      <deleteUploadImg :imgs="detail.fileInfoList"></deleteUploadImg>
+      <div class="skuDeatil" v-if="detail.skuDeatil">
+        <div class="skuNum" style="padding: 10px 0">SKU识别:{{ detail.skuDeatil.length }}个</div>
+        <el-table
+          :data="detail.skuDeatil"
+          style="width: 100%; border-radius: 10px"
+          border
+          class="table-headermd">
+          <el-table-column label="SKU名称" prop="name" width="180" align="center">
+            <template slot-scope="scope">
+              <span class="tipTitle">{{ scope.row.name }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="数量" prop="count" align="center"></el-table-column>
+        </el-table>
+      </div>
+    </div>
+    <!-- 识别异常反馈 -->
+    <van-popup v-model="feedbackShow" round class="feedbackMsgBox" :close-on-click-overlay="false">
+      <div class="title">SKU图像识别结果异常反馈</div>
+      <div class="content">
+        <van-field
+          v-model="feedbackMessage"
+          rows="2"
+          autosize
+          type="textarea"
+          placeholder="若识别SKU有遗漏、缺失,请在此反馈,本部会根据实际情况优化模型,谢谢!" />
+      </div>
+      <div class="btnBox">
+        <van-button type="info" plain @click="feedbackShow = false">取消</van-button>
+        <van-button type="info" @click="feedbackSubmit">提交</van-button>
+      </div>
+    </van-popup>
+  </div>
+</template>
+
+<script>
+import deleteUploadImg from '@/components/deleteUploadImg';
+export default {
+  name: 'skuRecognize',
+  components: { deleteUploadImg },
+  data() {
+    return {
+      id: '',
+      detail: null,
+      feedbackShow: false,
+      feedbackMessage: '', //反馈内容
+    };
+  },
+  activated() {
+    this.id = this.$route.query.id;
+    this.getDetail();
+  },
+  methods: {
+    getDetail() {
+      this.detail = {};
+    },
+    // 提交反馈
+    feedbackSubmit() {
+      if (this.feedbackMessage == '') {
+        this.$toast('请输入反馈意见!');
+        return;
+      }
+    },
+    onClickLeft() {
+      this.$router.go(-1);
+    },
+  },
+};
+</script>
+<style lang="scss" scoped>
+.skuRecognize {
+  .feedbackMsgBox {
+    min-height: 30%;
+    width: 90%;
+    padding: 10px 20px;
+    display: flex;
+    flex-direction: column;
+    overflow: hidden;
+    .title {
+      padding: 10px 0;
+      text-align: center;
+      font-size: 16px;
+      font-weight: 600px;
+    }
+    .content {
+      flex: 1;
+      overflow-y: auto;
+      .rejectMsgItem {
+        margin-bottom: 20px;
+        .item {
+          padding: 5px 0;
+          span {
+            display: inline-block;
+          }
+        }
+        .label {
+          width: 80px;
+          font-size: 14px;
+          font-weight: 600;
+        }
+        .value {
+          font-size: 14px;
+        }
+      }
+    }
+    .btnBox {
+      height: 44px;
+      display: flex;
+      justify-content: space-between;
+      button {
+        width: 45%;
+      }
+    }
+  }
+}
+</style>