From 0f102473c642142976d537af4c505b8a7161d6c5 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期五, 31 十月 2025 15:30:17 +0800
Subject: [PATCH] 原材料报检拆分功能V1

---
 src/views/business/inspectionTask/inspection.vue |  137 ++++++++++++++++++++++++++-------------------
 1 files changed, 80 insertions(+), 57 deletions(-)

diff --git a/src/views/business/inspectionTask/inspection.vue b/src/views/business/inspectionTask/inspection.vue
index 0894796..243371d 100644
--- a/src/views/business/inspectionTask/inspection.vue
+++ b/src/views/business/inspectionTask/inspection.vue
@@ -23,7 +23,7 @@
           @click="openUnPassDialog('add')">涓嶅悎鏍煎鐞�</el-button>
         <el-button size="small" type="primary" @click="sampleVisible = true; uploadSample();">鏍峰搧鍒囨崲</el-button>
         <!--        <el-button v-if="state == 1" size="small" type="primary" @click="taskVisible = true">浠诲姟鍒囨崲</el-button>-->
-        <el-button v-if="state == 1" size="small" type="primary" @click="viewManHour">鎻愪氦</el-button>
+        <el-button v-if="state == 1" size="small" type="primary" @click="addVerifyDia = true">鎻愪氦</el-button>
         <!-- 澶嶆牳 -->
         <el-button v-if="state == 2" size="medium" type="primary" @click="openAddCheck">閫氳繃</el-button>
         <el-button v-if="state == 2" size="medium" @click="upInsReview(0)">涓嶉�氳繃</el-button>
@@ -344,6 +344,7 @@
     </div>
     <el-drawer :size="550" :visible.sync="sampleVisible" title="鏍峰搧鍒囨崲">
       <el-table v-if="sampleVisible" ref="productTable" :current-row-key="currentKey" :data="sampleProduct"
+                :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border
         :row-class-name="tableRowClassName" :row-key="(record) => record.index" border class="el-table" height="100%"
         highlight-current-row tooltip-effect="dark" @row-click="handleChangeSample">
         <el-table-column :key="Math.random()" align="center" label="搴忓彿" type="index" width="70px">
@@ -500,13 +501,18 @@
         <el-button :loading="reviewLoading" type="primary" @click="upInsReview(1)">纭� 瀹�</el-button>
       </span>
     </el-dialog>
+    <!-- 娣诲姞涓嶅悎鏍煎娴嬪脊妗�-->
     <add-un-pass v-if="addUnPassDialog" ref="addUnPassDialog" :addUnPassDialog="addUnPassDialog"
       @resetAddUnPass="resetAddUnPass"></add-un-pass>
+    <!-- 涓嶅悎鏍煎鐞嗗脊妗�-->
     <UnPassDialog v-if="unPassDialog" ref="unPassDialog" :orderId="orderId" :unPassDialog="unPassDialog"
       @resetForm="resetForm"></UnPassDialog>
+    <!-- 涓嶅悎鏍煎娴嬪脊妗�-->
     <InspectionWord v-if="unPassCheck" :inspectorList="inspectorList" :orderId="orderId"
+                    :cableTag="temCableTag" :repetitionTag="repetitionTag"
       :rawMaterialTag="rawMaterialTag" :sonLaboratory="sonLaboratory" :state="state" :typeSource="typeSource"
       :unPassCheck="unPassCheck" @closeUnPassCheckDialog="closeUnPassCheckDialog" @refreshView="refreshView" />
+    <!-- 杩涜揣楠岃瘉寮规-->
     <purchase-verification v-if="purchaseDialog" ref="purchaseDialog" :orderId="orderId"
       :purchaseDialog="purchaseDialog" @resetPurchaseDialog="resetPurchaseDialog"></purchase-verification>
     <!--鏌ョ湅宸ユ椂寮规-->
@@ -540,8 +546,8 @@
   delfile,
   inspectionOrderDetailsTaskSwitching
 } from "@/api/business/inspectionTask.js";
-import InspectionWorker from '../../../InspectionWorker.worker';
-import DataWorker from '../../../DataWorker.worker';
+import InspectionWorker from '@/workers/InspectionWorker.worker.js';
+import DataWorker from '@/workers/DataWorker.worker.js';
 import html2canvas from "html2canvas";
 import { mapGetters } from "vuex";
 import viewManHourDia from "@/views/business/inspectionTask/components/viewManHourDia.vue";
@@ -729,7 +735,6 @@
         size: 10,
         current: 0,
       },
-      tableLoading: false,
       // 鏂囦欢鍒楄〃鐩稿叧--缁撴潫
       // 浠诲姟鍒囨崲鍒楄〃--寮�濮�
       tableData0: [],
@@ -764,6 +769,7 @@
       },
       tableLoading0: false,
       // 浠诲姟鍒囨崲鍒楄〃--缁撴潫
+      isSplit: 0, // 鏄惁鏄媶鍗曡繃鏉ョ殑
     };
   },
   // 鐢ㄤ簬涓婁紶鏂囦欢鐨勪俊鎭�
@@ -774,7 +780,7 @@
     },
   },
   created() {
-    let { sonLaboratory, orderId, state, inspectorList, typeSource } =
+    let { sonLaboratory, orderId, state, inspectorList, typeSource,isSplit } =
       this.$route.query;
     this.sonLaboratory = sonLaboratory;
     this.orderId = orderId;
@@ -782,6 +788,7 @@
     this.state = state;
     this.inspectorList = inspectorList;
     this.typeSource = typeSource;
+    this.isSplit = isSplit;
   },
   mounted() {
     this.getTypeDicts(); // 鑾峰彇绱ф�ョ▼搴︿笅鎷夋閫夐」
@@ -1037,8 +1044,9 @@
         id: this.currentSample.id,
         type: this.type,
         laboratory: this.sonLaboratory,
-        cableTag: "",
+        cableTag: this.temCableTag,
         rawMaterialTag: this.rawMaterialTag,
+        repetitionTag: this.repetitionTag,
       };
       this.$nextTick(() => {
         this.$refs.addUnPassDialog.getInsOrder(info);
@@ -1132,7 +1140,6 @@
       this.dataAcquisitionInfo = {};
       this.getData = [];
       for (let i in this.objectOrder(data)) {
-        console.log("i---", i);
         let obj = {};
         if (i.includes("@")) {
           obj = {
@@ -1475,7 +1482,6 @@
     },
     // 淇濆瓨婀垮害銆佹俯搴︽暟鎹�
     subOtherForm(m, type) {
-      console.log("m---", m);
       write({
         [type]: type === "remark" ? m : Number(m),
         id: this.insOrder.id,
@@ -1636,20 +1642,6 @@
         this.comparisonList = this.dictToValue(response.data);
       });
     },
-    // 鑾峰彇妫�楠屽�间负涓嬫媺鏃剁殑涓嬫媺鍒楄〃
-    // selectEnumByCategoryOfSelect(val) {
-    //   this.enumList = [];
-    //   if (val === undefined || val === null) {
-    //     return;
-    //   }
-    //   this.$axios
-    //     .post(this.$api.enums.selectEnumByCategory, {
-    //       category: val,
-    //     })
-    //     .then((res) => {
-    //       this.enumList = res.data;
-    //     });
-    // },
     tableRowClassName({ row, rowIndex }) {
       row.index = rowIndex + 1;
     },
@@ -2562,6 +2554,26 @@
     openAddVerifyDia() {
       this.addVerifyDia = true;
     },
+    confirmSubmit(registerInsResults){
+      submitPlan({
+        orderId: this.orderId,
+        laboratory: this.sonLaboratory,
+        verifyUser: this.verifyUser,
+        entrustCode: this.insOrder.entrustCode,
+        registerInsResults: registerInsResults
+      }).then((res) => {
+        if (res.code === 200) {
+          this.$message.success("鎿嶄綔鎴愬姛");
+          this.goback();
+          this.submitLoading = false;
+          this.addVerifyDia = false;
+        }
+      })
+        .catch((error) => {
+          console.error(error);
+          this.submitLoading = false;
+        });
+    },
     submit() {
       if (this.verifyUser === null || this.verifyUser === "") {
         this.$message.error("璇锋寚瀹氬鏍镐汉鍛�");
@@ -2581,25 +2593,24 @@
         laboratory: this.sonLaboratory,
       }).then((res) => {
         if (res.code === 200) {
-          if (!res.data || res.data.length == 0) {
+          if (!res.data || res.data.errorMsg.length == 0) {
             this.submitLoading = true;
-            submitPlan({
-              orderId: this.orderId,
-              laboratory: this.sonLaboratory,
-              verifyUser: this.verifyUser,
-              entrustCode: this.insOrder.entrustCode,
-            }).then((res) => {
-              if (res.code === 200) {
-                this.$message.success("鎿嶄綔鎴愬姛");
-                this.goback();
-                this.submitLoading = false;
-                this.addVerifyDia = false;
-              }
-            })
-              .catch((error) => {
-                console.error(error);
-                this.submitLoading = false;
+            //妫�楠岀被鍨嬩负鍘熸潗鏂�
+            if(this.typeSource==1 && res.data.unInsOrderCount==0 && this.isSplit==1){
+              const htmlStr = "鏄惁鐧昏IFS閲囪喘妫�楠岀粨鏋滃苟绉诲簱锛熻鎿嶄綔浼氱櫥璁�<span style='color:#ff4949'>鍚屼竴闆朵欢鍚屼竴璁㈠崟鐨勬墍鏈夋媶鍒嗘壒娆�</span>锛岃璋ㄦ厧閫夋嫨銆�"
+              this.$confirm(htmlStr, '鎻愮ず', {
+                confirmButtonText: '鏄�',
+                cancelButtonText: '鍚�',
+                type: 'warning',
+                dangerouslyUseHTMLString: true
+              }).then(() => {
+                this.confirmSubmit(true)
+              }).catch(() => {
+                this.confirmSubmit(false)
               });
+            }else{
+              this.confirmSubmit(false)
+            }
           } else {
             let newData = [];
             const h = this.$createElement;
@@ -2635,22 +2646,23 @@
             })
               .then(() => {
                 this.submitLoading = true;
-                submitPlan({
-                  orderId: this.orderId,
-                  laboratory: this.sonLaboratory,
-                  verifyUser: this.verifyUser,
-                }).then((res) => {
-                  if (res.code === 200) {
-                    this.$message.success("鎿嶄綔鎴愬姛");
-                    this.addVerifyDia = false;
-                    this.goback();
-                  }
-                  this.submitLoading = false;
-                })
-                  .catch((error) => {
-                    console.error(error);
-                    this.submitLoading = false;
-                  });
+                this.confirmSubmit(false)
+                // submitPlan({
+                //   orderId: this.orderId,
+                //   laboratory: this.sonLaboratory,
+                //   verifyUser: this.verifyUser,
+                // }).then((res) => {
+                //   if (res.code === 200) {
+                //     this.$message.success("鎿嶄綔鎴愬姛");
+                //     this.addVerifyDia = false;
+                //     this.goback();
+                //   }
+                //   this.submitLoading = false;
+                // })
+                //   .catch((error) => {
+                //     console.error(error);
+                //     this.submitLoading = false;
+                //   });
               })
               .catch(() => { });
           }
@@ -2672,12 +2684,23 @@
           } else {
             param = this.param;
           }
+          let isNoTestValue = ''
+          for (let key in param) {
+            if (param[key]) {
+              if (param[key].insValue?.length === 0) {
+                isNoTestValue = 1
+              } else {
+                isNoTestValue = ''
+              }
+            }
+          }
           saveInsContext({
             param: JSON.stringify(param),
             currentTable: this.currentTable,
             sampleId: this.currentSample.id,
             orderId: this.orderId,
-            sonLaboratory: this.sonLaboratory
+            sonLaboratory: this.sonLaboratory,
+            isNoTestValue: isNoTestValue
           }).then((res) => {
             this.$message.success("宸蹭繚瀛�");
           });
@@ -2746,7 +2769,7 @@
       }
     },
     getAuthorizedPerson() {
-      selectUserCondition({ type: 0 }).then((res) => {
+      selectUserCondition({ type: 1 }).then((res) => {
         let data = [];
         res.data.forEach((a) => {
           data.push({

--
Gitblit v1.9.3