licp
2024-07-30 152a8201c7611c785070f6093e72e5aed6142613
src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -317,8 +317,8 @@
              <span style="margin-left: 4px;">%</span>
            </el-form-item>
          </el-form>
          <el-button type="primary" size="small" v-if="dataAcquisitionEidt>0&&PROJECT=='检测中心'&&state==1" @click="getDataAcquisitionDevice" :loading="dataAcquisitionLoading">数据采集</el-button>
          <el-button :type="dataAcquisitionEidtAble?'':'primary'" size="small" v-if="dataAcquisitionEidt>0&&PROJECT=='检测中心'&&collected&&state==1" @click="dataAcquisitionEidtAble=!dataAcquisitionEidtAble">{{dataAcquisitionEidtAble?'关闭编辑':'编辑数采'}}</el-button>
          <el-button type="primary" size="small" v-if="(dataAcquisitionEidt>0||tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName=='温度循环检验原始记录'&&temDataAcquisition)&&PROJECT=='检测中心'&&state==1" @click="getDataAcquisitionDevice" :loading="dataAcquisitionLoading">数据采集</el-button>
          <el-button :type="dataAcquisitionEidtAble?'':'primary'" size="small" v-if="(dataAcquisitionEidt>0)&&PROJECT=='检测中心'&&collected&&state==1" @click="dataAcquisitionEidtAble=!dataAcquisitionEidtAble">{{dataAcquisitionEidtAble?'关闭编辑':'编辑数采'}}</el-button>
        </div>
      </div>
      <div class="center-box" id="nav" v-loading="tableLoading" v-if="!tableLists.find(m=>m.templateId==currentTable)||(tableLists.find(m=>m.templateId==currentTable).templateName!='温度循环检验原始记录'&&!tableLists.find(m=>m.templateId==currentTable).templateName.includes('热循环')&&!tableLists.find(m=>m.templateId==currentTable).templateName.includes('温升试验'))">
@@ -504,20 +504,20 @@
          <el-table-column
            label="序号"
            type="index"
            width="60"
            width="59"
            align="center"
            >
          </el-table-column>
          <el-table-column
            prop="bushColor"
            label="管色标"
            width="80"
            width="75"
            align="center">
          </el-table-column>
          <el-table-column
            prop="code"
            label="光纤带编号"
            width="110"
            width="105"
            align="center">
          </el-table-column>
          <el-table-column
@@ -531,7 +531,7 @@
              prop="value0"
              label="外端"
              align="center"
              width="80" :key="(new Date().getTime())+'1234567'">
              width="100" :key="(new Date().getTime())+'1234567'">
              <template slot="header">
                {{ '外端'+(index+1) }}
              </template>
@@ -543,7 +543,7 @@
              prop="value1"
              label="内端"
              align="center"
              width="80" :key="(new Date().getTime())+'23333333'">
              width="100" :key="(new Date().getTime())+'23333333'">
              <template slot="header">
                {{ '内端'+(index+1) }}
              </template>
@@ -959,6 +959,7 @@
          inspectionItemClass:null,
        },
        thermalCyclingLoading:false,
        temDataAcquisition:false,
      }
    },
    computed: {
@@ -1121,80 +1122,63 @@
    methods: {
      // 数据采集
      getDataAcquisitionDevice(){
        this.dataAcquisitionLoading = true
        this.$axios.get(this.$api.deviceScope.dataCollection+'?entrustCode='+this.insOrder.entrustCode+'&sampleCode='+this.currentSample.sampleCode + '&id=' + this.currentSample.id).then(res=>{
          this.dataAcquisitionLoading = false
          if(res.code!=200){
            return
        if(this.tableLists.find(m=>m.templateId==this.currentTable)&&this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='温度循环检验原始记录'){
          // 温度循环检验原始记录----数采----PK8000
          let temperature = this.wareForm.inspectionItemSubclass;
          if(typeof temperature == 'string'&&temperature.includes('(常温)')){
            temperature = `20℃(常温)`
          }else{
            temperature = temperature + '℃'
          }
          this.dataAcquisitionInfo = res.data
          try {
            // 向 Worker 发送消息,开始处理逻辑
            this.worker0.postMessage(JSON.stringify({
              dataAcquisitionInfo: this.dataAcquisitionInfo,
              list:this.tableList[0].arr
            }));
          } catch (error) {
            console.log(1111,error);
          }
          // 监听 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)
          this.dataAcquisitionLoading = true
          this.$axios.post(this.$api.deviceScope.temDataAcquisition,{
            entrustCode:this.insOrder.entrustCode,
            sampleCode:this.currentSample.sampleCode,
            model:this.wareForm0.model,
            cycles:this.wareForm.inspectionItem,
            temperature:temperature,
          }, {
          headers: {
            'Content-Type': 'application/json'
          },
          noQs:true
        }).then(res=>{
            this.dataAcquisitionLoading = false
            if(res.code!=200){
              return
            }
          };
          // 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)
          //               }
          //             }
          //           }
          //         })
          //       }
          //     }
          //   })
          // })
        })
            // console.log(res.data)
            this.wareFormChange()
          })
        }else{
          // 一般的数据采集
          this.dataAcquisitionLoading = true
          this.$axios.get(this.$api.deviceScope.dataCollection+'?entrustCode='+this.insOrder.entrustCode+'&sampleCode='+this.currentSample.sampleCode + '&id=' + this.currentSample.id).then(res=>{
            this.dataAcquisitionLoading = false
            if(res.code!=200){
              return
            }
            this.dataAcquisitionInfo = res.data
            try {
              // 向 Worker 发送消息,开始处理逻辑
              this.worker0.postMessage(JSON.stringify({
                dataAcquisitionInfo: this.dataAcquisitionInfo,
                list:this.tableList[0].arr
              }));
            } catch (error) {
              console.log(1111,error);
            }
            // 监听 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)
              }
            };
          })
        }
      },
      // 多线程
      startWorker() {
@@ -1705,6 +1689,7 @@
        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
@@ -1715,12 +1700,16 @@
          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
      },
      async getCurrentProduct(id,type){
        this.tableLoading = true;