From 1540871d2efbcd6c89680e9d13724b2148ffd0ad Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期五, 28 八月 2026 16:53:10 +0800
Subject: [PATCH] feat(inspection): 添加报告类型选择功能 - 在检测视图、检测任务和检测文档组件中新增报告类型下拉选择框 - 添加检测报告和检验报告两种选项供用户选择 - 在检验报告类型时对注册检测结果进行条件性处理

---
 src/views/business/inspectionTask/components/InspectionWord.vue |   54 ++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 38 insertions(+), 16 deletions(-)

diff --git a/src/views/business/inspectionTask/components/InspectionWord.vue b/src/views/business/inspectionTask/components/InspectionWord.vue
index 7991e24..047d3aa 100644
--- a/src/views/business/inspectionTask/components/InspectionWord.vue
+++ b/src/views/business/inspectionTask/components/InspectionWord.vue
@@ -17,8 +17,8 @@
             </el-radio-group>
           </div>
           <div style="display: flex;align-items: center;">
-            <span v-if="typeSource == '1'">&nbsp;&nbsp;澶嶆祴娆℃暟锛�</span>
-            <el-select v-if="typeSource == '1'" v-model="retestTag" placeholder="璇烽�夋嫨" size="small"
+            <span>&nbsp;&nbsp;澶嶆祴娆℃暟锛�</span>
+            <el-select v-model="retestTag" placeholder="璇烽�夋嫨" size="small"
               @change="m => handleChangeCableTag(currentSample.id, 4, 'cableTag', m)">
               <el-option v-for="item in unPassNumList" :key="item.retestTag" :label="item.retestTag"
                 :value="item.retestTag">
@@ -63,7 +63,7 @@
                     </template>
                     <template v-else-if="n.v.ps != undefined && n.v.ps.value === '缁撹'">
                       <el-select
-                        v-if="(getInspectionValueType(n.i) == 2 || getInspectionValueType(n.i) == 5) && state == 1 && PROJECT == '瑁呭鐢电紗'"
+                        v-if="(getInspectionValueType(n.i) == 2 || getInspectionValueType(n.i) == 5) && state == 1"
                         v-model="n.v.v" class="table_input"
                         @change="m => changeInput(m, `${item.templateId}-${n.r}-${n.c}-${n.i}`, n, 'getDataType')">
                         <el-option :value="1" label="鍚堟牸"></el-option>
@@ -179,6 +179,15 @@
             </el-select>
           </div>
         </div>
+        <div class="body" style="display: flex;padding: 10px;align-items: center;">
+          <div class="search_label" style="width: 150px;"><span class="required-span">*</span>鎶ュ憡绫诲瀷</div>
+          <div class="search_input" style="width: 100%;">
+            <el-select v-model="reportType" clearable placeholder="璇烽�夋嫨" size="small" style="width: 100%;">
+              <el-option label="妫�娴嬫姤鍛�" :value="0"></el-option>
+              <el-option label="妫�楠屾姤鍛�" :value="1"></el-option>
+            </el-select>
+          </div>
+        </div>
         <span slot="footer" class="dialog-footer">
           <el-button @click="addVerifyDia = false">鍙� 娑�</el-button>
           <el-button :loading="submitLoading" type="primary" @click="submit()">纭� 瀹�</el-button>
@@ -253,8 +262,10 @@
   verifyPlan
 } from "@/api/business/inspectionTask";
 import { getUserNow, saveUnqualifiedContext } from "@/api/business/rawMaterialOrder";
+import InspectionWorker from '@/workers/InspectionWorker.worker';
+import DataWorker from '@/workers/DataWorker.worker';
 export default {
-  props: ['sonLaboratory', 'orderId', 'state', 'inspectorList', 'typeSource', 'unPassCheck', 'rawMaterialTag'],
+  props: ['sonLaboratory', 'orderId', 'state', 'inspectorList', 'typeSource', 'unPassCheck', 'rawMaterialTag','cableTag', 'repetitionTag'],
   components: {
     AddUnPass,
     UnPassDialog
@@ -354,6 +365,7 @@
       widthList: [],
       addVerifyDia: false,
       verifyUser: null,
+      reportType: null,
       personList: [],
       enumList: [],
       tableLoading: false,
@@ -427,7 +439,7 @@
       getDataTypeId: '',
       getDataType: null,
       unPassDialog: false, // 涓嶅悎鏍煎鐞嗗脊妗�
-      retestTag: '', // 澶嶆祴娆℃暟
+      retestTag: '1', // 澶嶆祴娆℃暟
       addCheck: false, // 鎸囧畾瀹℃牳浜哄憳寮规
       checkUser: '',
       type: '',
@@ -514,7 +526,7 @@
             }
           }
         })
-        await this.determineWhetherToCollectData()//鏄惁闇�瑕佹暟閲�
+        // await this.determineWhetherToCollectData()//鏄惁闇�瑕佹暟閲�
         if (this.currentSample.index == undefined) this.currentSample['index'] = 1
         let bushing = this.currentSample.bushing
         this.getTableLists();//澶勭悊妯℃澘鍒楄〃淇℃伅
@@ -817,12 +829,12 @@
         this.stopWorker(); // 纭繚涔嬪墠鐨� Worker 宸插仠姝�
       }
       // 鍒涘缓 Worker 瀹炰緥
-      this.worker = new Worker('/static/js/worker.js');
+      this.worker = new InspectionWorker();
       if (this.worker0) {
         this.stopWorker(); // 纭繚涔嬪墠鐨� Worker 宸插仠姝�
       }
       // 鍒涘缓 Worker 瀹炰緥
-      this.worker0 = new Worker('/static/js/worker0.js');
+      this.worker0 = new DataWorker();
     },
     // 鍋滄澶氱嚎绋�
     stopWorker() {
@@ -846,8 +858,11 @@
         laboratory: this.sonLaboratory,
         retestTag: this.retestTag,
         rawMaterialTag: this.rawMaterialTag,
+        repetitionTag: this.repetitionTag,
+        cableTag: this.cableTag,
       }
-      let res = getInsProductUnqualifiedRetest(params)
+      let res = await getInsProductUnqualifiedRetest(params)
+      console.log('res---', res)
       if (res.code === 200 && res.data.length > 0) {
         this.tableLoading = false;
         this.scrollInit()
@@ -1281,7 +1296,8 @@
           }
         })
         // 浠ヤ笅鏄牱寮忓鐞嗛�昏緫
-        set = Array.sort(set)
+        // set = Array.sort(set)
+        set = [...set]
         set.forEach(b => {
           let arr = []
           a.template.forEach(c => {
@@ -1477,10 +1493,10 @@
       }, 200)
     },
     // 鏄惁闇�瑕佹暟閲�
-    async determineWhetherToCollectData() {
-      let res = determineWhetherToCollectData({ managementNumber: '' })
-      this.isGet = res.data
-    },
+    // async determineWhetherToCollectData() {
+    //   let res = determineWhetherToCollectData({ managementNumber: '' })
+    //   this.isGet = res.data
+    // },
     // 鏍规嵁鍚庣浼犲弬鏇存柊椤甸潰鏁版嵁   param => this.tableList[0].insProductResult
     getCurrentInsProduct(pId) {
       if (!this.tableList[0].insProductResult) {
@@ -1757,6 +1773,10 @@
         this.$message.error("璇锋寚瀹氬鏍镐汉鍛�")
         return
       }
+      if (this.reportType === null || this.reportType === '') {
+        this.$message.error("璇烽�夋嫨鎶ュ憡绫诲瀷")
+        return
+      }
       if (!this.otherForm.humidity) {
         this.$message.error("璇疯緭鍏ユ箍搴�")
         return
@@ -1777,7 +1797,8 @@
               orderId: this.orderId,
               laboratory: this.sonLaboratory,
               verifyUser: this.verifyUser,
-              entrustCode: this.insOrder.entrustCode
+              entrustCode: this.insOrder.entrustCode,
+              reportType: this.reportType
             }).then(res => {
               if (res.code === 200) {
                 this.$message.success("鎿嶄綔鎴愬姛")
@@ -1811,7 +1832,8 @@
               submitPlan({
                 orderId: this.orderId,
                 laboratory: this.sonLaboratory,
-                verifyUser: this.verifyUser
+                verifyUser: this.verifyUser,
+                reportType: this.reportType
               }).then(res => {
                 if (res.code === 200) {
                   this.$message.success("鎿嶄綔鎴愬姛")

--
Gitblit v1.9.3