licp
2024-07-26 82e5335ce391e116a8aab48097e7efb76ce35007
src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -940,6 +940,7 @@
        },
        result: null,
        worker: null,
        worker0: null,
        wareLength:[],
        dataAcquisitionInfo:{},
        dataAcquisitionEidt:0,
@@ -1124,69 +1125,92 @@
            return
          }
          this.dataAcquisitionInfo = res.data
          let list = this.tableList[0].arr
          list.forEach((item,index)=>{
            let num = 0;
            let str = ''
            item.forEach(m=>{
              if(m.v.ps&&(m.v.ps.value=='检验子项'||m.v.ps.value=='检验项')){
                if(m.v.ps&&m.v.ps.value=='检验项'){
                  if(num==0){
                    str = m.v.v+','
                    num++
                  }
                }
                if(m.v.ps&&m.v.ps.value=='检验子项'){
                  if(num==1){
                    str = str+m.v.v
                  }
                }
                if(this.dataAcquisitionInfo[str]){
                  let num = 0;
                  list[index].forEach(n=>{
                    if(n.v.ps&&n.v.ps.value&&typeof n.v.ps.value == 'string'&&n.v.ps.value.includes('检验值')){
                      num++
                    }
                  })
                  list[index].forEach((n,i)=>{
                    if(n.v.ps&&n.v.ps.value&&typeof n.v.ps.value == 'string'&&n.v.ps.value.includes('检验值')){
                      let arr = n.v.ps.value.split('值')
                      if(arr[1] ==this.dataAcquisitionInfo.frequency){
                        setTimeout(()=>{
                          this.$delete(n.v,'v')
                          this.$set(n.v,'v',this.dataAcquisitionInfo[str])
                          this.changeInput('',`${this.currentSample.insProduct[0].templateId}-${n.r}-${n.c}-${n.i}`,n)
                        },1000)
                      }else if(Number(this.dataAcquisitionInfo.frequency)>num){
                        if(n.v.ps.value.includes(num)){
                          setTimeout(()=>{
                            this.$delete(n.v,'v')
                            this.$set(n.v,'v',this.dataAcquisitionInfo[str])
                            this.changeInput('',`${this.currentSample.insProduct[0].templateId}-${n.r}-${n.c}-${n.i}`,n)
                          },1000)
                        }
                      }
                    }
                  })
                }
              }
            })
          })
          // 向 Worker 发送消息,开始处理逻辑
          this.worker0.postMessage(JSON.stringify({
            dataAcquisitionInfo: this.dataAcquisitionInfo,
            list:this.tableList[0].arr
          }));
          // 监听 Worker 返回的结果
          this.worker0.onmessage = (event) => {
            let result = JSON.parse(event.data);
            if(result.method=='changeInput'){
              let {list,n} = result.value
              this.$set(this.tableList[0],'arr',list)
              this.changeInput('',`${this.currentSample.insProduct[0].templateId}-${n.r}-${n.c}-${n.i}`,n)
            }
          };
          // let list = this.tableList[0].arr
          // list.forEach((item,index)=>{
          //   let num = 0;
          //   let str = ''
          //   item.forEach(m=>{
          //     if(m.v.ps&&(m.v.ps.value=='检验子项'||m.v.ps.value=='检验项')){
          //       if(m.v.ps&&m.v.ps.value=='检验项'){
          //         if(num==0){
          //           str = m.v.v+','
          //           num++
          //         }
          //       }
          //       if(m.v.ps&&m.v.ps.value=='检验子项'){
          //         if(num==1){
          //           str = str+m.v.v
          //         }
          //       }
          //       if(this.dataAcquisitionInfo[str]){
          //         let num = 0;
          //         list[index].forEach(n=>{
          //           if(n.v.ps&&n.v.ps.value&&typeof n.v.ps.value == 'string'&&n.v.ps.value.includes('检验值')){
          //             num++
          //           }
          //         })
          //         list[index].forEach((n,i)=>{
          //           if(n.v.ps&&n.v.ps.value&&typeof n.v.ps.value == 'string'&&n.v.ps.value.includes('检验值')){
          //             let arr = n.v.ps.value.split('值')
          //             if(arr[1] ==this.dataAcquisitionInfo.frequency){
          //               setTimeout(()=>{
          //                 this.$delete(n.v,'v')
          //                 this.$set(n.v,'v',this.dataAcquisitionInfo[str])
          //                 this.changeInput('',`${this.currentSample.insProduct[0].templateId}-${n.r}-${n.c}-${n.i}`,n)
          //               },1000)
          //             }else if(Number(this.dataAcquisitionInfo.frequency)>num){
          //               if(n.v.ps.value.includes(num)){
          //                 setTimeout(()=>{
          //                   this.$delete(n.v,'v')
          //                   this.$set(n.v,'v',this.dataAcquisitionInfo[str])
          //                   this.changeInput('',`${this.currentSample.insProduct[0].templateId}-${n.r}-${n.c}-${n.i}`,n)
          //                 },1000)
          //               }
          //             }
          //           }
          //         })
          //       }
          //     }
          //   })
          // })
        })
      },
      // 多线程
      startWorker() {
      if (this.worker) {
        if (this.worker) {
        this.stopWorker(); // 确保之前的 Worker 已停止
        }
        // 创建 Worker 实例
        this.worker = new Worker('/static/js/worker.js');
        if (this.worker0) {
        this.stopWorker(); // 确保之前的 Worker 已停止
        }
        // 创建 Worker 实例
        this.worker0 = new Worker('/static/js/worker0.js');
      },
      stopWorker() {
        if (this.worker) {
          this.worker.terminate();
          this.worker = null;
        }
        if (this.worker0) {
          this.worker0.terminate();
          this.worker0 = null;
        }
      },
      // 温度循环---开始
      changeItem(row){