zhujindu vor 9 Monaten
Ursprung
Commit
f5d8c741e6
2 geänderte Dateien mit 51 neuen und 26 gelöschten Zeilen
  1. 19 1
      src/api/AIImage.js
  2. 32 25
      src/views/AIImage/AIImageDetail.vue

+ 19 - 1
src/api/AIImage.js

@@ -1,6 +1,6 @@
 import request from '@/utils/request';
 
-// 不想写
+// 获取拜访照片AI识别异常,待审批列表。 失败异常照片需要部主管审批
 export function getPhotoApproveList(query) {
   return request({
     url: 'mobile/visit/getPhotoApproveList',
@@ -8,3 +8,21 @@ export function getPhotoApproveList(query) {
     params: query,
   });
 }
+
+// 获取拜访照片AI识别异常详情
+export function getPhotoApproveDetail(query) {
+  return request({
+    url: 'mobile/visit/getPhotoApproveDetail',
+    method: 'get',
+    params: query,
+  });
+}
+
+//部主管反馈图片识别异常
+export function savePhotoApprove(data) {
+  return request({
+    url: 'mobile/visit/savePhotoApprove',
+    method: 'post',
+    data,
+  });
+}

+ 32 - 25
src/views/AIImage/AIImageDetail.vue

@@ -40,19 +40,14 @@
           :src="data.imageUrl"
           @click="previewImgs(data.imageUrl)" />
       </div>
-      <!-- <div class="item">
-        <div class="label">识别结果:</div>
-        <div class="value">{{ data.result }}</div>
-      </div>
-      <div class="item">
-        <div class="label">反馈不准确原因:</div>
-        <div class="value">{{ data.feedback }}</div>
-      </div> -->
     </div>
     <p class="titleText">请主管了解情况后回复原因及解决方案</p>
     <div class="feedbackReason">
       <div class="result">
-        <div class="title"><span>*</span><span>AI识别是否正确</span></div>
+        <div class="title">
+          <span style="color: red">*</span>
+          <span>AI识别是否正确</span>
+        </div>
         <van-radio-group v-model="AIResult">
           <van-radio name="1">正确</van-radio>
           <van-radio name="2">不正确</van-radio>
@@ -60,7 +55,7 @@
       </div>
       <div class="cause">
         <div class="title">
-          <span>*</span>
+          <span style="color: red">*</span>
           <span>{{ causeTitle }}</span>
         </div>
         <van-field
@@ -71,18 +66,19 @@
           :placeholder="'请输入' + causeTitle" />
       </div>
     </div>
-    <div class="confirmBtn"><van-button type="info">提交</van-button></div>
+    <div class="confirmBtn"><van-button type="info" @click="confirm">提交</van-button></div>
   </div>
 </template>
 <script>
 import { ImagePreview } from 'vant';
+import { getPhotoApproveDetail } from '@/api/AIImage';
 export default {
   name: 'AIImageDetail',
   data() {
     return {
       data: {},
       storeId: null,
-      AIResult: 1,
+      AIResult: '1',
       causeTitle: '',
       causeMessage: '',
     };
@@ -95,6 +91,7 @@ export default {
         } else {
           this.causeTitle = '反馈不准确原因';
         }
+        this.causeMessage = '';
       },
       immediate: true,
     },
@@ -106,24 +103,28 @@ export default {
   methods: {
     getDeytail() {
       this.toastLoading(0, '加载中...', true);
-      this.storeId;
-      setTimeout(() => {
+      getPhotoApproveDetail({ photoApproveId: this.storeId }).then((res) => {
         this.toastLoading().clear();
-        this.data = {
-          storeName: '和兴建材',
-          storeCode: '123456',
-          storeType: '铂金店',
-          storeAddress:
-            '河南省新乡市长葛县中心小学东20米路东河南省新乡市长葛县中心小学东20米路东河南省新乡市长葛县中心小学东20米路东河南省新乡市长葛县中心小学东20米路东河南省新乡市长葛县中心小学东20米路东河南省新乡市长葛县中心小学东20米路东河南省新乡市长葛县中心小学东20米路东',
-          visitName: '都雷闪',
-          visitTime: '2025-02-0614:41:53',
-          storeId: 882005,
-        };
-      }, 1000);
+        if (res.coede == 200) {
+          this.data = res.data;
+        }
+      });
     },
     previewImgs(val) {
       ImagePreview(val);
     },
+    confirm() {
+      if (!this.causeMessage) {
+        this.$toast('请输入' + this.causeTitle);
+        return;
+      }
+      savePhotoApprove({
+        photo_approve_id: this.storeId, //	long	主键
+        resultCorrect: this.AIResult, //	string	AI识别是否正确: 1 正确 0不正确
+        reasonsSolutions: this.AIResult == '1' ? this.causeMessage : '', //	string	原因及解决方案
+        feedbackError: this.AIResult == '2' ? this.causeMessage : '', //	string	反馈AI识别不正确
+      }).then((res) => {});
+    },
   },
 };
 </script>
@@ -160,6 +161,12 @@ export default {
   .feedbackReason {
     padding: 10px;
     background: #fff;
+    .title {
+      padding: 8px 0;
+    }
+    .van-radio {
+      padding: 5px 0;
+    }
   }
   .confirmBtn {
     position: sticky;