spring
2025-04-21 86d4b4787748a83e76d048cd6a0b5583a2cd0651
src/views/business/inspectionTask/inspection.vue
@@ -91,9 +91,9 @@
          </el-radio-group>
        </div>
        <div style="display: flex; align-items: center">
          <el-button v-if="state == 1" size="small" type="primary" @click="openAddUnpass">新增不合格复测</el-button>
          <!-- <el-button v-if="state == 1" size="small" type="primary" @click="openAddUnpass">新增不合格复测</el-button>
          <el-button v-if="state == 1" size="small" type="primary" @click="unpassCheck">不合格复测</el-button>
          <el-button v-if="state > 1" size="small" type="primary" @click="viewUnpassCheck">查看不合格复测</el-button>
          <el-button v-if="state > 1" size="small" type="primary" @click="viewUnpassCheck">查看不合格复测</el-button> -->
          <span v-if="cableTagList.length > 0">&nbsp;&nbsp;电缆配置:</span>
          <el-select v-if="cableTagList.length > 0" v-model="currentTab" clearable placeholder="请选择" size="small"
            @change="(m) => handleChangeCableTag(currentSample.id, 0, 'cableTag', m)
@@ -138,6 +138,10 @@
                type="success">已检</el-tag>
            </el-option>
          </el-select>
          <!-- 网分仪数采国产/进口 -->
          <NetworkAnalyzerDataAcquisition :itemList="currentSample.insProduct" :param="param"
            :equipOptions="equipOptions"
            v-if="currentSample.insProduct && currentSample.insProduct.length > 0 && param" />
          <el-button :loading="dataAcquisitionLoading" v-if="state == 1" size="small" type="primary"
            @click="getDataAcquisitionDevice">数据采集</el-button>
          <el-button :type="dataAcquisitionEidtAble ? '' : 'primary'" v-if="state == 1" size="small"
@@ -285,7 +289,7 @@
                      state == 1
                    "><span :style="`font-family:${n.v.ff} !important;`">{{
                      toFixed(n.v.v, n.v.ct)
                        }}</span></template>
                    }}</span></template>
                    <template v-else-if="
                      n.v.ps != undefined &&
                      n.v.ps.value === '最终值' &&
@@ -323,14 +327,14 @@
                    ">
                      <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="m => saveInsContext(n.i)">
                        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="m => saveInsContext(n.i)">
                        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>
@@ -529,6 +533,7 @@
import UnPassDialog from "../unpass/components/unPassDialog.vue";
import AddUnPass from "../unpass/components/addUnPass.vue";
import InspectionWord from "./components/InspectionWord.vue";
import NetworkAnalyzerDataAcquisition from "./components/NetworkAnalyzerDataAcquisition.vue";
import PurchaseVerification from "../unpass/components/PurchaseVerification.vue";
import {
  doInsOrder,
@@ -563,6 +568,7 @@
    limsTable,
    UnPassDialog,
    InspectionWord,
    NetworkAnalyzerDataAcquisition,
  },
  data() {
    return {
@@ -837,8 +843,8 @@
                equipValue: [],
                equipName: [],
                insResult: null,
                testEndTime: null,
                testStartTime: null,
                testEndTime: [],
                testStartTime: [],
              };
            });
            // 去重模板,返回有几个模板
@@ -966,7 +972,7 @@
        // 赋值当前样品列表
        this.sampleProduct = res.data.sampleProduct;
        this.currentSample = this.HaveJson(this.sampleProduct[0]);
        let insProduct = this.HaveJson(this.currentSample.insProduct);
        // let insProduct = this.HaveJson(this.currentSample.insProduct);
        // 温度、湿度赋值
        this.otherForm = {
          temperature: this.insOrder.temperature
@@ -993,8 +999,8 @@
            equipValue: [],
            equipName: [],
            insResult: null,
            testEndTime: null,
            testStartTime: null,
            testEndTime: [],
            testStartTime: [],
          };
        });
        if (this.currentSample.index == undefined)
@@ -1465,6 +1471,7 @@
    },
    // 多线程
    startWorker() {
      console.log(`Worker 线程开始运行...`, this.worker, this.worker0)
      if (this.worker) {
        this.stopWorker(); // 确保之前的 Worker 已停止
      }
@@ -1537,7 +1544,7 @@
        repetitionTag: this.repetitionTag
      });
      this.tableLoading = false;
      if (res.data.length > 0) {
      if (res.data) {
        return res.data;
      }
    },
@@ -1562,8 +1569,8 @@
          equipValue: [],
          equipName: [],
          insResult: null,
          testEndTime: null,
          testStartTime: null,
          testEndTime: [],
          testStartTime: [],
        };
      });
      // 处理页面列表数据
@@ -1609,8 +1616,8 @@
              equipValue: [],
              equipName: [],
              insResult: null,
              testEndTime: null,
              testStartTime: null,
              testEndTime: [],
              testStartTime: [],
            };
          });
          this.getTableLists0(list);
@@ -2016,6 +2023,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 === "序号" &&
@@ -2065,24 +2073,22 @@
            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", "");
            b.u = "";
            this.$set(b.v, "v", '');
            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].testStartTime = b);
            // 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", "");
            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].testEndTime = b);
            // 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 = ''
@@ -2225,16 +2231,20 @@
        }
        try {
          // 起始时间赋值
          let testStartTime = JSON.parse(a.insProductResult.testStartTime);
          let testStartTime = a.insProductResult.testStartTime ? JSON.parse(a.insProductResult.testStartTime) : []
          for (let i = 0; i < testStartTime.length; i++) {
            this.param[a.id].testStartTime.v.v = testStartTime.v;
            // 普通设备名称赋值
            this.param[a.id].testStartTime[i].v.v = testStartTime[i].v;
          }
        } catch (e) { }
        } catch (e) {
        }
        try {
          // 终止时间赋值
          let testEndTime = JSON.parse(a.insProductResult.testEndTime);
          let testEndTime = a.insProductResult.testEndTime ? JSON.parse(a.insProductResult.testEndTime) : []
          for (let i = 0; i < testEndTime.length; i++) {
            this.param[a.id].testEndTime.v.v = testEndTime.v;
            // 普通设备名称赋值
            this.param[a.id].testEndTime[i].v.v = testEndTime[i].v;
          }
        } catch (e) { }
        try {
@@ -2436,11 +2446,43 @@
            break;
          // 赋值起始时间
          case "testEndTime":
            this.tableList[0][m] = value ? value.v.v : "";
            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":
            this.tableList[0][m] = value ? value.v.v : "";
            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":
@@ -2824,6 +2866,11 @@
        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: 1 }).then((res) => {
        let data = [];
@@ -2890,8 +2937,8 @@
          equipValue: [],
          equipName: [],
          insResult: null,
          testEndTime: null,
          testStartTime: null,
          testEndTime: [],
          testStartTime: [],
        };
      });
      // 页面数据处理