Crunchy
2024-07-31 defa824eab2350fd6abfd10abd8f4df94749e336
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())+'1'">
              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())+'2'">
              width="100" :key="(new Date().getTime())+'23333333'">
              <template slot="header">
                {{ '内端'+(index+1) }}
              </template>
@@ -554,7 +554,7 @@
            <el-table-column
              prop="comValue"
              align="center"
              min-width="150" :key="(new Date())+'3'">
              min-width="150" :key="(new Date().getTime())+'364654654'">
              <template slot="header">
                {{ '衰减系数'+item }}
              </template>
@@ -567,7 +567,7 @@
              label="衰减差"
              align="center"
              v-if="wareForm.inspectionItemSubclass!='20(常温)'"
              min-width="90" :key="(new Date())+'4'">
              min-width="90" :key="(new Date().getTime())+'434634634634'">
              <template slot="header">
                {{ '衰减差'+(index+1) }}
              </template>
@@ -579,7 +579,7 @@
              prop="insResult"
              label="结论"
              align="center"
              min-width="70" v-if="wareForm.inspectionItemSubclass!='20(常温)'" :key="(new Date())+'5'">
              min-width="70" v-if="wareForm.inspectionItemSubclass!='20(常温)'" :key="(new Date().getTime())+'53457689809808-'">
              <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() {
@@ -1221,7 +1205,11 @@
      },
      // 温度循环---开始
      changeItem(row){
        if(row.value0&&row.value1){
        if(row.value0&&!row.value1){
          this.$set(row,'comValue',Number(row.value0).toFixed(3))
        }else if(!row.value0&&row.value1){
          this.$set(row,'comValue',Number(row.value1).toFixed(3))
        }else if(row.value0&&row.value1){
          this.$set(row,'comValue',((Number(row.value0)+Number(row.value1))/2).toFixed(3))
        }else{
          return
@@ -1391,8 +1379,10 @@
          let arr1 = []
          this.wareLength = [];
          for(let i=0;i<arr.length;i++){
            arr1.push([])
            this.wareLength.push(arr[i][0].inspectionItemClass)
          }
          for(let i=0;i<arr[0].length;i++){
            arr1.push([])
          }
          arr.forEach((item,index)=>{
            item.forEach((m,i)=>{
@@ -1703,6 +1693,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
@@ -1713,12 +1704,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;
@@ -2186,8 +2181,7 @@
          conclusionList = a.template.filter(n => n.v.ps != undefined && n.v.ps.value === '结论')
          finalList = a.template.filter(n => n.v.ps != undefined && n.v.ps.value === '最终值')
          a.template.forEach( b => {
            if (b.v.ps != undefined && b.v.ps.value === '序号' && (b.v.mc == undefined || Object.keys(b.v.mc)
                .length === 4)) {
            if (b.v.ps != undefined && b.v.ps.value === '序号' && (b.v.mc == undefined || Object.keys(b.v.mc).length === 4)) {
              count1++
              b.v.v = count1
            }
@@ -2195,12 +2189,14 @@
              b.v.v = this.getAsk(b.i)
            }
            if (b.v.ps != undefined && typeof b.v.ps.value ==='string'&&b.v.ps.value.includes('检验值')) {
              b.v.v = ''
              this.$set(b.v, 'v','' )
              // b.v.v = ''
              b.u = ''
              b.i && this.param[b.i].insValue.push(b)
            }
            if (b.v.ps != undefined && b.v.ps.value === '计算值') {
              b.v.v = ''
              this.$set(b.v, 'v','' )
              // b.v.v = ''
              b.i && this.param[b.i].comValue.push(b)
            }
            if (b.v.ps != undefined && b.v.ps.value === '设备编码') {
@@ -2570,11 +2566,16 @@
        return sum
      },
      handleInput (n) {
        n.v.v = n.v.v.replace(/[^\d.^e\-/+]/g, '');
        n.v.v = n.v.v.replace(/\.{2,}/g,"."); //只保留第一个. 清除多余的
        n.v.v = n.v.v.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
        n.v.v = n.v.v.replace(/\/{2,}/g,"/"); //只保留第一个/清除多余的
        n.v.v = n.v.v.replace("/","$#$").replace(/\//g,"").replace("$#$","/");
        try {
          n.v.v = n.v.v.replace(/[^\d.^e\-/+]/g, '');
          n.v.v = n.v.v.replace(/\.{2,}/g,"."); //只保留第一个. 清除多余的
          n.v.v = n.v.v.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
          n.v.v = n.v.v.replace(/\/{2,}/g,"/"); //只保留第一个/清除多余的
          n.v.v = n.v.v.replace("/","$#$").replace(/\//g,"").replace("$#$","/");
        } catch (error) {
          console.log(error);
        }
      },
      getInspectionItemType(id) {
        for (var a in this.currentSample.insProduct) {
@@ -2708,6 +2709,14 @@
          this.$message.error("请指定复核人员")
          return
        }
        if(!this.otherForm.humidity){
          this.$message.error("请输入湿度")
          return
        }
        if(!this.otherForm.temperature){
          this.$message.error("请输入温度")
          return
        }
        this.addVerifyDia = false
        this.submitLoading = true;
        this.$axios.post(this.$api.insOrderPlan.checkSubmitPlan, {
@@ -2801,7 +2810,9 @@
          if (this.equipOptions[i].value === val) {
            for (let i1 in this.param[n.i].equipName) {
              if (this.param[n.i].equipName[i1].i === n.i && this.param[n.i].equipName[i1].r === n.r) {
                this.$delete(this.param[n.i].equipValue[i1].v,'v')
                this.$set(this.param[n.i].equipValue[i1].v,'v',val)
                this.$delete(this.param[n.i].equipName[i1].v,'v')
                this.$set(this.param[n.i].equipName[i1].v,'v',this.equipOptions[i].label)
                this.param[n.i].equipValue[i1].isItADataAcquisitionDevice = this.equipOptions[i].isItADataAcquisitionDevice
              }