Crunchy
2024-08-10 c23d55414d3aadf97253418b7d198cd8ae5a6a90
src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -242,7 +242,7 @@
        <!-- <el-button size="small" type="primary" @click="fiberOpticVisible=true" v-if="fiberOptic.length>0">光纤切换</el-button>
        <el-button size="small" type="primary" @click="fiberOpticTapeVisible=true" v-if="fiberOpticTape.length>0">光纤带切换</el-button>
        <el-button size="small" type="primary" @click="bushingVisible=true" v-if="bushing.length>0">套管切换</el-button> -->
        <el-button size="small" type="primary" @click="sampleVisible=true">样品切换</el-button>
        <el-button size="small" type="primary" @click="sampleVisible=true;uploadSample()">样品切换</el-button>
        <el-button size="small" type="primary" @click="taskVisible=true">任务切换</el-button>
        <el-button size="small" type="primary" @click="addVerifyDia = true" v-if="state==1"
          :loading="submitLoading">提交</el-button>
@@ -418,7 +418,7 @@
                      <i class="el-icon-caret-left table_caret" style="width: 16px;" @click="caretSample(-1)" v-if="!currentFiberOpticTape&&!currentFiberOptic"></i>
                      <div :style="`font-family:${n.v.ff} !important;overflow: hidden;white-space: nowrap;width: calc(100% - 32px);`">{{currentSample.sampleCode}}</div>
                      <i class="el-icon-caret-right table_caret" style="width: 16px;"
                      v-if="!currentFiberOpticTape&&!currentFiberOptic"@click="caretSample(1)"></i>
                      v-if="!currentFiberOpticTape&&!currentFiberOptic" @click="caretSample(1)"></i>
                    </div>
                  </template>
                  <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='样品型号'">
@@ -828,7 +828,7 @@
              <td style="text-align: left;">
                <el-checkbox-group
                  v-model="getDataIndex" :max="item.child[0].maxNum">
                  <el-checkbox v-for="(n,j) in item.child[0].arr" :label="j" :key="j+'ppppppppp'">{{n}}</el-checkbox>
                  <el-checkbox v-for="(n,j) in item.child[0].arr" :label="j" :key="j">{{n}}</el-checkbox>
                </el-checkbox-group>
              </td>
            </tr>
@@ -837,7 +837,7 @@
              <td style="text-align: left;">
                <el-checkbox-group
                  v-model="getDataIndex" :max="m.maxNum">
                  <el-checkbox v-for="(n,j) in m.arr" :label="j" :key="j+'bbbbbbbbbbbbbb'">{{n}}</el-checkbox>
                  <el-checkbox v-for="(n,j) in m.arr" :label="j" :key="j">{{n}}</el-checkbox>
                </el-checkbox-group>
              </td>
            </tr>
@@ -1057,6 +1057,7 @@
        getDataIndex:[],
        getDataIndexLoading:false,
        changeType:null,
        getDataTypeId:''
      }
    },
    computed: {
@@ -1303,8 +1304,14 @@
            child:[]
          }
          for(let j in data[i]){
            let str0 = ''
            if(i==j){
              str0 = i+','
            }else{
              str0 = i+','+j
            }
            if(j!='frequency'&&data[i][j]&&typeof data[i][j].result == 'string'){
              this.dataAcquisitionInfo[i+','+j] = {
              this.dataAcquisitionInfo[str0] = {
                value:data[i][j].result,
                frequency:data[i].frequency
              }
@@ -1312,7 +1319,6 @@
              list.forEach((item,index)=>{
                let num0 = 0;
                let str = ''
                let str0 = i+','+j
                item.forEach(m=>{
                  if(m.v.ps&&(m.v.ps.value=='检验子项'||m.v.ps.value=='检验项')){
                    if(m.v.ps&&m.v.ps.value=='检验项'){
@@ -1335,7 +1341,12 @@
                })
              })
            }else if(j!='frequency'&&data[i][j]&&Array.isArray(data[i][j].result)){
              let str0 = i+','+j
              let str0 = ''
              if(i==j){
                str0 = i+','
              }else{
                str0 = i+','+j
              }
              let list = this.tableList[0].arr
              let maxNum = 0
              list.forEach((item,index)=>{
@@ -1371,6 +1382,13 @@
                  }
                })
              })
              // let arr3 = []
              // for (let l=0 ;i<data[i][j].result.length;i++){
              //   arr3.push({
              //     id:,
              //     value:
              //   })
              // }
              let obj0 = {
                name:j,
                arr:data[i][j].result,
@@ -1380,7 +1398,7 @@
              if(data[i][j].result&&Array.isArray(data[i][j].result)&&data[i][j].result.length>maxNum){
                obj.child.push(obj0)
              }else{
                this.dataAcquisitionInfo[i+','+j] = {
                this.dataAcquisitionInfo[str0] = {
                  value:data[i][j].result
                }
              }
@@ -1392,11 +1410,13 @@
        }
        if(this.getData.length>0){
          this.dataGetDia = true
          this.getDataIndex = []
        }else{
          try {
            // 向 Worker 发送消息,开始处理逻辑
            this.getDataIndexLoading = false
            this.dataGetDia = false
            this.getDataTypeId = ''
            this.worker0.postMessage(JSON.stringify({
              dataAcquisitionInfo: this.dataAcquisitionInfo,
              list:this.tableList[0].arr
@@ -1412,6 +1432,8 @@
            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)
          }else if(result.getDataTypeId){
            this.getDataTypeId = result.getDataTypeId
          }
        };
      },
@@ -1984,6 +2006,14 @@
        this.fileAdd = fileAdd
        this.collected = collected
        this.temDataAcquisition = temDataAcquisition
      },
      uploadSample(){
        this.$axios.post(this.$api.insOrderPlan.doInsOrder, {
          id: this.id,
          laboratory: this.sonLaboratory
        }).then(async res => {
          this.sampleProduct = res.data.sampleProduct
        })
      },
      async getCurrentProduct(id,type){
        this.tableLoading = true;
@@ -2672,7 +2702,7 @@
        let str = code.split('-')
        let pId = str[3]
        for(let i =0;i<this.currentSample.insProduct.length;i++){
          if(this.currentSample.insProduct[i].id==pId&&(this.currentSample.insProduct[i].ask=='-'||this.currentSample.insProduct[i].ask=='/')){
          if(this.currentSample.insProduct[i].id==pId&&(this.currentSample.insProduct[i].ask=='-'||this.currentSample.insProduct[i].ask=='/'||this.currentSample.insProduct[i].ask=='—')){
            this.tableList[0].arr.forEach(item=>{
              item.forEach(m=>{
                if(m.i==pId&&m.v.ps&&m.v.ps.value=='结论'){
@@ -2714,15 +2744,20 @@
            currentSample:this.currentSample,
            PROJECT:this.PROJECT,
            param:this.param,
            currentTable:this.currentTable
            currentTable:this.currentTable,
            getDataTypeId:this.getDataTypeId
          }));
        } catch (error) {
          console.log(444,error);
        }
        let getDataType = false
        // 监听 Worker 返回的结果
        this.worker.onmessage = (event) => {
          this.result = JSON.parse(event.data);
          if(this.result.value.getDataTypeId){
            getDataType = true
          }
          switch (this.result.method){
            case 'saveInsContext':
              this.$nextTick(()=>{
@@ -2738,7 +2773,13 @@
                    }
                  }
                }
                this.saveInsContext()
                if(this.isGet&&!this.dataAcquisitionEidtAble&&!getDataType){
                  return
                }
                setTimeout(()=>{
                  this.saveInsContext()
                },2000)
                // this.saveInsContext()
              })
              break;
            case 'tableList':
@@ -3132,8 +3173,8 @@
        return
      },
      saveInsContext() {
        console.log(1111,this.param)
        try {
          console.log(1111,this.param)
          if(this.param){
            this.$axios.post(this.$api.insOrderPlan.saveInsContext, {
              param: JSON.stringify(this.param)