From ea06730ea1e9ae1838db35e0960ab98a0b250d0d Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期四, 10 四月 2025 17:16:25 +0800
Subject: [PATCH] 检验任务修改

---
 src/views/business/inspectionTask/inspection.vue |  216 +++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 151 insertions(+), 65 deletions(-)

diff --git a/src/views/business/inspectionTask/inspection.vue b/src/views/business/inspectionTask/inspection.vue
index ecb16fd..b2212fb 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>
@@ -147,8 +147,7 @@
       </div>
       <!-- 甯歌妫�楠屽師濮嬭褰� -->
       <div id="nav" v-loading="tableLoading" class="center-box">
-        <template v-if="
-          tableLists.find((m) => m.templateId == currentTable)">
+        <template v-if="tableLists.find((m) => m.templateId == currentTable)">
           <table v-for="(item, index) in tableList" :key="index + currentTable + currentSample.id" border="1"
             cellpadding="10" class="tables" id="myTable">
             <tbody>
@@ -167,8 +166,7 @@
                     };`">
                   <div :class="`content-h-${n.v.ht} content-v-${n.v.vt}`" :style="`width:${handleWidth(n)}px !important;min-height:${item.style.rowlen[n.r]
                     }px;`" class="content">
-                    <template v-if="
-                      n.v.ps != undefined &&
+                    <template v-if="n.v.ps != undefined &&
                       typeof n.v.ps.value === 'string' &&
                       n.v.ps.value.includes('妫�楠屽��') &&
                       state == 1
@@ -223,7 +221,7 @@
                       <el-select v-if="
                         (getInspectionValueType(n.i) == 2 ||
                           getInspectionValueType(n.i) == 5) &&
-                        state == 1
+                        state == 1 && (n.u != userId && n.u != undefined && n.u != '')
                       " v-model="n.v.v" class="table_input" @change="(m) =>
                         changeInput(
                           m,
@@ -254,8 +252,7 @@
                         <span v-else :style="`font-family:${n.v.ff} !important;`">寰呭畾</span>
                       </template>
                     </template>
-                    <template v-else-if="
-                      n.v.ps != undefined &&
+                    <template v-else-if="n.v.ps != undefined &&
                       n.v.ps.value === '璁惧缂栫爜' &&
                       state == 1
                     ">
@@ -264,8 +261,9 @@
                     <template v-else-if="
                       n.v.ps != undefined && n.v.ps.value === '璁惧鍚嶇О'
                     ">
-                      <el-select v-model="n.v.v" :disabled="state > 1" class="table_input" filterable multiple
-                        placeholder="璁惧" remote @change="(val) => changeEquip(val, n)"
+                      <el-select v-model="n.v.v"
+                        :disabled="state > 1 || (n.u != userId && n.u != undefined && n.u != '')" class="table_input"
+                        filterable multiple placeholder="璁惧" remote @change="(val) => changeEquip(val, n)"
                         @visible-change="(e) => getEquipOptions(e, n.i)">
                         <el-option v-for="item in equipOptions" :key="item.value" :label="item.label"
                           :value="item.value">
@@ -273,8 +271,7 @@
                         </el-option>
                       </el-select>
                     </template>
-                    <template v-else-if="
-                      n.v.ps != undefined &&
+                    <template v-else-if="n.v.ps != undefined &&
                       n.v.ps.value === '瑕佹眰鍊�' &&
                       state == 1
                     ">
@@ -298,8 +295,7 @@
                         toFixed(n.v.v, n.v.ct)
                       }}</span>
                     </template>
-                    <template v-else-if="
-                      n.v.ps != undefined && n.v.ps.value === '鏍峰搧缂栧彿'
+                    <template v-else-if="n.v.ps != undefined && n.v.ps.value === '鏍峰搧缂栧彿'
                     ">
                       <div :title="currentSample.sampleCode" style="
                         display: flex;
@@ -315,15 +311,27 @@
                         <i class="el-icon-caret-right table_caret" style="width: 16px" @click="caretSample(1)"></i>
                       </div>
                     </template>
-                    <template v-else-if="
-                      n.v.ps != undefined && n.v.ps.value === '鏍峰搧鍨嬪彿'
+                    <template v-else-if="n.v.ps != undefined && n.v.ps.value === '鏍峰搧鍨嬪彿'
                     ">
-                      <div v-if="
-                        currentSample.model !== undefined &&
+                      <div v-if="currentSample.model !== undefined &&
                         currentSample.model !== null
                       " :style="`font-family:${n.v.ff} !important;`">
                         {{ currentSample.model }}
                       </div>
+                    </template>
+                    <template v-else-if="n.v.ps != undefined && n.v.ps.value === '璧峰鏃堕棿'
+                    ">
+                      <span v-if="state > 1 || (n.u != userId && n.u != undefined && n.u != '')">{{ n.v.v }}</span>
+                      <el-date-picker v-else v-model="n.v.v" type="datetime" placeholder="" format="yyyy-MM-dd HH:mm:ss"
+                        value-format="yyyy-MM-dd HH:mm:ss" @change="(val) => changeTestTime(val, n, 'testStartTime')">
+                      </el-date-picker>
+                    </template>
+                    <template v-else-if="n.v.ps != undefined && n.v.ps.value === '缁堟鏃堕棿'
+                    ">
+                      <span v-if="state > 1 || (n.u != userId && n.u != undefined && n.u != '')">{{ n.v.v }}</span>
+                      <el-date-picker v-else v-model="n.v.v" type="datetime" placeholder="" format="yyyy-MM-dd HH:mm:ss"
+                        value-format="yyyy-MM-dd HH:mm:ss" @change="(val) => changeTestTime(val, n, 'testEndTime')">
+                      </el-date-picker>
                     </template>
                     <span v-else :style="`font-family:${n.v.ff} !important;`" v-html="getValue(n.v)"></span>
                   </div>
@@ -344,8 +352,9 @@
     </div>
     <el-drawer :size="550" :visible.sync="sampleVisible" title="鏍峰搧鍒囨崲">
       <el-table v-if="sampleVisible" ref="productTable" :current-row-key="currentKey" :data="sampleProduct"
-        :row-class-name="tableRowClassName" :row-key="(record) => record.index" border class="el-table" height="100%"
-        highlight-current-row tooltip-effect="dark" @row-click="handleChangeSample">
+        :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">
         </el-table-column>
         <el-table-column label="鏍峰搧缂栧彿" min-width="100px" prop="sampleCode" show-overflow-tooltip></el-table-column>
@@ -507,7 +516,7 @@
     <InspectionWord v-if="unPassCheck" :inspectorList="inspectorList" :orderId="orderId"
       :rawMaterialTag="rawMaterialTag" :sonLaboratory="sonLaboratory" :state="state" :typeSource="typeSource"
       :unPassCheck="unPassCheck" @closeUnPassCheckDialog="closeUnPassCheckDialog" @refreshView="refreshView" />
-    <purchase-verification v-if="purchaseDialog" ref="purchaseDialog" :orderId="orderId"
+    <purchase-verification v-if="purchaseDialog" ref="purchaseDialog" :orderId="orderId" :workShopId="workShopId"
       :purchaseDialog="purchaseDialog" @resetPurchaseDialog="resetPurchaseDialog"></purchase-verification>
     <!--鏌ョ湅宸ユ椂寮规-->
     <viewManHourDia ref="viewManHourDia" @submit="openAddVerifyDia"></viewManHourDia>
@@ -540,8 +549,8 @@
   delfile,
   inspectionOrderDetailsTaskSwitching
 } from "@/api/business/inspectionTask.js";
-import InspectionWorker from '../../../InspectionWorker.worker';
-import DataWorker from '../../../DataWorker.worker';
+import InspectionWorker from '../../../workers/InspectionWorker.worker';
+import DataWorker from '../../../workers/DataWorker.worker';
 import html2canvas from "html2canvas";
 import { mapGetters } from "vuex";
 import viewManHourDia from "@/views/business/inspectionTask/components/viewManHourDia.vue";
@@ -558,6 +567,7 @@
   data() {
     return {
       sonLaboratory: null,
+      workShopId: null,
       orderId: null,
       state: null,
       inspectorList: null,
@@ -774,8 +784,9 @@
     },
   },
   created() {
-    let { sonLaboratory, orderId, state, inspectorList, typeSource } =
+    let { sonLaboratory, orderId, state, inspectorList, typeSource, workShopId } =
       this.$route.query;
+    this.workShopId = workShopId
     this.sonLaboratory = sonLaboratory;
     this.orderId = orderId;
     this.id = this.orderId;
@@ -788,7 +799,6 @@
     this.getInsStateDicts();
     this.getComparisonList();
     this.getAuthorizedPerson();
-    // this.getPower();
     this.startWorker();
     // this.getList0() // 浠诲姟鍒囨崲
     this.scrollInit();
@@ -798,7 +808,6 @@
     this.getInsStateDicts();
     this.getComparisonList();
     this.getAuthorizedPerson();
-    // this.getPower();
     this.startWorker();
     // this.getList0() // 浠诲姟鍒囨崲
     this.scrollInit();
@@ -828,6 +837,8 @@
                 equipValue: [],
                 equipName: [],
                 insResult: null,
+                testEndTime: [],
+                testStartTime: [],
               };
             });
             // 鍘婚噸妯℃澘锛岃繑鍥炴湁鍑犱釜妯℃澘
@@ -982,6 +993,8 @@
             equipValue: [],
             equipName: [],
             insResult: null,
+            testEndTime: [],
+            testStartTime: [],
           };
         });
         if (this.currentSample.index == undefined)
@@ -1134,7 +1147,6 @@
       this.dataAcquisitionInfo = {};
       this.getData = [];
       for (let i in this.objectOrder(data)) {
-        console.log("i---", i);
         let obj = {};
         if (i.includes("@")) {
           obj = {
@@ -1477,12 +1489,10 @@
     },
     // 淇濆瓨婀垮害銆佹俯搴︽暟鎹�
     subOtherForm(m, type) {
-      console.log("m---", m);
       write({
         [type]: type === "remark" ? m : Number(m),
         id: this.insOrder.id,
       }).then((res) => {
-        if (res.code == 201) return;
         this.$message.success("淇濆瓨鎴愬姛");
       });
     },
@@ -1501,34 +1511,6 @@
         a.download = "table.png";
         a.click();
       });
-    },
-    // 鏉冮檺鑾峰彇
-    getPower() {
-      let power = JSON.parse(sessionStorage.getItem("power"));
-      let fileDel = false;
-      let fileAdd = false;
-      let collected = false;
-      let temDataAcquisition = false;
-      for (var i = 0; i < power.length; i++) {
-        if (power[i].menuMethod == "uploadFile") {
-          fileAdd = true;
-        }
-        if (power[i].menuMethod == "delfile") {
-          fileDel = true;
-        }
-        if (power[i].menuMethod == "isItAllowedToModifyTheCollectedValues") {
-          collected = true;
-        }
-        if (power[i].menuMethod == "temDataAcquisition") {
-          temDataAcquisition = true;
-        }
-      }
-      if (!fileDel) {
-        // this.componentData0.do.splice(1, 1);
-      }
-      this.fileAdd = fileAdd;
-      this.collected = collected;
-      this.temDataAcquisition = temDataAcquisition;
     },
     uploadSample() {
       doInsOrder({
@@ -1580,6 +1562,8 @@
           equipValue: [],
           equipName: [],
           insResult: null,
+          testEndTime: [],
+          testStartTime: [],
         };
       });
       // 澶勭悊椤甸潰鍒楄〃鏁版嵁
@@ -1625,6 +1609,8 @@
               equipValue: [],
               equipName: [],
               insResult: null,
+              testEndTime: [],
+              testStartTime: [],
             };
           });
           this.getTableLists0(list);
@@ -1985,6 +1971,12 @@
               ) {
                 a.template[b].v.v = id.product.methodS;
               }
+              if (
+                a.template[b].v.ps != undefined &&
+                a.template[b].v.ps.value === "璇曢獙鏉′欢"
+              ) {
+                a.template[b].v.v = id.product.radius;
+              }
             }
           }
         });
@@ -2024,6 +2016,7 @@
           (n) => n.v.ps != undefined && n.v.ps.value === "鏈�缁堝��"
         ); //鏈�缁堝�煎垪琛�
         a.template.forEach((b) => {
+          // console.log(444444, b)
           if (
             b.v.ps != undefined &&
             b.v.ps.value === "搴忓彿" &&
@@ -2046,6 +2039,10 @@
             this.$set(b.v, "v", "");
             // b.v.v = ''
             b.u = "";
+            let obj = this.currentSample.insProduct.find(m => m.id == b.i)
+            if (obj) {
+              this.$set(b, "u", obj.checkUserId);
+            }
             b.i && this.param[b.i] && this.param[b.i].insValue.push(b);
           }
           if (b.v.ps != undefined && b.v.ps.value === "璁$畻鍊�") {
@@ -2060,8 +2057,31 @@
           }
           if (b.v.ps != undefined && b.v.ps.value === "璁惧鍚嶇О") {
             this.$set(b.v, "v", "");
+            b.u = "";
+            let obj = this.currentSample.insProduct.find(m => m.id == b.i)
+            if (obj) {
+              this.$set(b, "u", obj.checkUserId);
+            }
             // b.v.v = ''
             b.i && this.param[b.i] && this.param[b.i].equipName.push(b);
+          }
+          if (b.v.ps != undefined && b.v.ps.value === "璧峰鏃堕棿") {
+            this.$set(b.v, "v", '');
+            let obj = this.currentSample.insProduct.find(m => m.id == b.i)
+            if (obj) {
+              this.$set(b, "u", obj.checkUserId);
+            }
+            // this.param[b.i].testStartTime = []
+            b.i && this.param[b.i] && this.param[b.i].testStartTime.push(b);
+          }
+          if (b.v.ps != undefined && b.v.ps.value === "缁堟鏃堕棿") {
+            this.$set(b.v, "v", "");
+            let obj = this.currentSample.insProduct.find(m => m.id == b.i)
+            if (obj) {
+              this.$set(b, "u", obj.checkUserId);
+            }
+            // this.param[b.i].testEndTime = []
+            b.i && this.param[b.i] && this.param[b.i].testEndTime.push(b);
           }
           if (b.v.ps != undefined && b.v.ps.value === "鏈�缁堝��") {
             // b.v.v = ''
@@ -2075,6 +2095,11 @@
             }
           }
           if (b.v.ps != undefined && b.v.ps.value === "缁撹") {
+            b.u = "";
+            let obj = this.currentSample.insProduct.find(m => m.id == b.i)
+            if (obj) {
+              this.$set(b, "u", obj.checkUserId);
+            }
             if (
               b.i !== undefined &&
               this.param[b.i] &&
@@ -2197,6 +2222,24 @@
         } catch (e) {
           console.log("璁惧鍚嶇О璧嬪��----", e);
         }
+        try {
+          // 璧峰鏃堕棿璧嬪��
+          let testStartTime = a.insProductResult.testStartTime ? JSON.parse(a.insProductResult.testStartTime) : []
+          for (let i = 0; i < testStartTime.length; i++) {
+            // 鏅�氳澶囧悕绉拌祴鍊�
+            this.param[a.id].testStartTime[i].v.v = testStartTime[i].v;
+          }
+        } catch (e) {
+
+        }
+        try {
+          // 缁堟鏃堕棿璧嬪��
+          let testEndTime = a.insProductResult.testEndTime ? JSON.parse(a.insProductResult.testEndTime) : []
+          for (let i = 0; i < testEndTime.length; i++) {
+            // 鏅�氳澶囧悕绉拌祴鍊�
+            this.param[a.id].testEndTime[i].v.v = testEndTime[i].v;
+          }
+        } catch (e) { }
         try {
           // 鏈�缁堝�艰祴鍊�
           this.param[a.id].resValue.v.v = this.toFixed(
@@ -2394,6 +2437,46 @@
               }
             }
             break;
+          // 璧嬪�艰捣濮嬫椂闂�
+          case "testEndTime":
+            if (value && value.length > 0) {
+              this.tableList[0].insProductResult[m] = [];
+              value.forEach((a, i) => {
+                let obj = {
+                  v: a.v.v,
+                };
+                this.tableList[0].insProductResult[m].push(obj);
+              });
+              try {
+                this.tableList[0].insProductResult[m] = JSON.stringify(
+                  this.tableList[0].insProductResult[m]
+                );
+              } catch (error) {
+                console.log(888, error);
+              }
+            }
+            // this.tableList[0].insProductResult[m] = value ? value.v.v : "";
+            break;
+          // 璧嬪�肩粓姝㈡椂闂�
+          case "testStartTime":
+            if (value && value.length > 0) {
+              this.tableList[0].insProductResult[m] = [];
+              value.forEach((a, i) => {
+                let obj = {
+                  v: a.v.v,
+                };
+                this.tableList[0].insProductResult[m].push(obj);
+              });
+              try {
+                this.tableList[0].insProductResult[m] = JSON.stringify(
+                  this.tableList[0].insProductResult[m]
+                );
+              } catch (error) {
+                console.log(888, error);
+              }
+            }
+            // this.tableList[0].insProductResult[m] = value ? value.v.v : "";
+            break;
           // 璧嬪�兼渶缁堝��
           case "resValue":
             this.tableList[0].lastValue = value ? value.v.v : "";
@@ -2590,7 +2673,7 @@
     viewManHour() {
       this.$refs.viewManHourDia.showDialog(this.id, 99);
     },
-    openAddVerifyDia () {
+    openAddVerifyDia() {
       this.addVerifyDia = true;
     },
     submit() {
@@ -2710,10 +2793,6 @@
             orderId: this.orderId,
             sonLaboratory: this.sonLaboratory
           }).then((res) => {
-            if (res.code == 201) {
-              this.$message.error("淇濆瓨澶辫触");
-              return;
-            }
             this.$message.success("宸蹭繚瀛�");
           });
           // 鍚� Worker 鍙戦�佹秷鎭紝寮�濮嬪鐞嗛�昏緫
@@ -2780,8 +2859,13 @@
         console.log("changeEquip----", e);
       }
     },
+    // 璧峰鏃堕棿/缁堟鏃堕棿淇濆瓨
+    changeTestTime(val, n, type) {
+      this.$set(this.param[n.i][type][0].v, 'v', val)
+      this.saveInsContext(n.i);
+    },
     getAuthorizedPerson() {
-      selectUserCondition({ type: 0 }).then((res) => {
+      selectUserCondition({ type: 1 }).then((res) => {
         let data = [];
         res.data.forEach((a) => {
           data.push({
@@ -2846,6 +2930,8 @@
           equipValue: [],
           equipName: [],
           insResult: null,
+          testEndTime: [],
+          testStartTime: [],
         };
       });
       // 椤甸潰鏁版嵁澶勭悊
@@ -2884,7 +2970,7 @@
     },
     handleDown(row) {
       downFile({ id: row.id }).then((res) => {
-        this.$download.downloadFileFromUrl(res.data.fileUrl, row.fileName)
+        this.$download.saveAs(res.data.fileUrl, row.fileName)
       })
         .catch((error) => { });
     },
@@ -3046,7 +3132,7 @@
 }
 
 .content-h-2 {
-  justify-content: end;
+  justify-content: flex-end;
 }
 
 .content-v-0 {

--
Gitblit v1.9.3