licp
2024-07-04 eb6479e7df9692aa3d79f36631c13c3f8b4b5797
src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -301,7 +301,8 @@
                  <template v-if="n.v.ps!=undefined && n.v.ps.value==='检验值' && state==1">
                    <el-input v-if="getInspectionValueType(n.i) == 1" class="table_input" v-model="n.v.v"
                      :disabled="getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '')"
                      @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`)" type="number" @mousewheel.native.prevent :key="'abc-'+'000'+index+'000'+i+'000'+j">
                              @input="handleInput(n)"
                      @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`)" @mousewheel.native.prevent :key="'abc-'+'000'+index+'000'+i+'000'+j">
                      <el-button slot="append" type="primary" icon="el-icon-edit" size="mini"
                        v-if="getInspectionItemType(n.i) == 1" @click="getSystemValue(n)"></el-button>
                    </el-input>
@@ -430,43 +431,29 @@
        </el-form-item>
        </el-form>
        <el-divider></el-divider>
        <el-form :inline="true" :model="wareForm0" label-width="100px" style="justify-content: flex-start;display: flex;align-items: center;width: 100%;">
        <el-form :inline="true" :model="equipForm" label-width="100px" style="justify-content: flex-start;display: flex;align-items: center;width: 100%;">
          <el-form-item label="仪器名称:">
            <el-select v-model="wareForm0.value" placeholder="请选择" size="small">
              <el-option
                v-for="item in temperatureOptions"
                :key="item.value"
                :label="item.label"
                :value="item.value">
              </el-option>
            </el-select>
            <el-input clearable v-model="equipForm.value0" disabled size="small" placeholder=""></el-input>
          </el-form-item>
          <el-form-item label="仪器编号:">
            <el-select v-model="wareForm0.value" placeholder="请选择" size="small">
            <el-select v-model="equipForm.code0" placeholder="请选择" size="small">
              <el-option
                v-for="item in temperatureOptions"
                v-for="item in equipOptions"
                :key="item.value"
                :label="item.label"
                :label="item.value"
                :value="item.value">
              </el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="仪器名称:" style="margin-left: 80px;">
            <el-select v-model="wareForm0.value" placeholder="请选择" size="small">
              <el-option
                v-for="item in temperatureOptions"
                :key="item.value"
                :label="item.label"
                :value="item.value">
              </el-option>
            </el-select>
            <el-input clearable v-model="equipForm.value1" disabled size="small" placeholder=""></el-input>
          </el-form-item>
          <el-form-item label="仪器编号:">
            <el-select v-model="wareForm0.value" placeholder="请选择" size="small">
            <el-select v-model="equipForm.code1" placeholder="请选择" size="small">
              <el-option
                v-for="item in temperatureOptions"
                v-for="item in equipOptions"
                :key="item.value"
                :label="item.label"
                :label="item.value"
                :value="item.value">
              </el-option>
            </el-select>
@@ -474,7 +461,9 @@
        </el-form>
        <el-table
          :data="wareTableData"
          ref="wareTableData"
          border
          v-loading="wareTableDataLoading"
          style="width: 100%;margin-bottom: 30px;" align="center">
          <el-table-column
            label="序号"
@@ -513,7 +502,7 @@
            align="center"
            width="130">
            <template slot-scope="scope">
              <el-input size="small" v-model="scope.row.value0" placeholder="" @change="m=>changeItem(m,0)"></el-input>
              <el-input size="small" v-model="scope.row.value0" placeholder="" @change="m=>changeItem(scope.row)"></el-input>
            </template>
          </el-table-column>
          <el-table-column
@@ -522,29 +511,30 @@
            align="center"
            width="130">
            <template slot-scope="scope">
              <el-input size="small" v-model="scope.row.value1" placeholder="" @change="m=>changeItem(m,1)"></el-input>
              <el-input size="small" v-model="scope.row.value1" placeholder="" @change="m=>changeItem(scope.row)"></el-input>
            </template>
          </el-table-column>
          <el-table-column
            prop="zip"
            prop="comValue"
            align="center"
            label="平均值"
            min-width="150">
          </el-table-column>
          <el-table-column
            prop="lastValue"
            prop="resValue"
            label="衰减差"
            align="center"
            v-if="wareForm.inspectionItemSubclass!=20"
            min-width="150">
          </el-table-column>
          <el-table-column
            prop="insResult"
            label="结论"
            align="center"
            min-width="150">
            min-width="150" v-if="wareForm.inspectionItemSubclass!=20">
            <template slot-scope="scope">
              <span v-if="scope.row.insResult===1" style="color: green;">合格</span>
              <span v-if="scope.row.insResult===0" style="color: red;">不合格</span>
              <span v-else-if="scope.row.insResult===0" style="color: red;">不合格</span>
              <span v-else>待定</span>
            </template>
          </el-table-column>
@@ -675,6 +665,7 @@
    },
    data() {
      return {
        wareTableDataLoading:false,
        fileAdd:false,
        sampleVisible: false,
        taskVisible: false,
@@ -814,6 +805,12 @@
          humidity:null,
          temperature:null,
        },
        equipForm:{
          value0:null,
          code0:null,
          value1:null,
          code1:null,
        }
      }
    },
    computed: {
@@ -870,7 +867,7 @@
          }
          let list = await this.getCurrentProduct(this.currentSample.id,0)
          this.currentSample.insProduct = this.HaveJson(list)
          console.log(this.currentSample)
          // console.log(this.currentSample)
          this.currentSample.insProduct.forEach(a => {
            this.param[a.id] = {
              insValue: [],
@@ -912,28 +909,197 @@
          })
        }
      },
      equipForm:{
        deep:true,
        handler(val){
          if(this.tableLists.find(m=>m.templateId==this.currentTable)&&this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='温度循环检验原始记录'&&this.equipOptions&&this.equipOptions.length>0){
            this.param[this.currentSample.insProduct[0].id].equipValue = []
            this.param[this.currentSample.insProduct[0].id].equipName = []
            if(this.equipForm.code0){
              this.equipForm.value0 = this.equipOptions.find(m=>m.value==this.equipForm.code0).label
              this.param[this.currentSample.insProduct[0].id].equipValue.push({
                i:this.currentSample.insProduct[0].id,
                v:{
                  v:this.equipForm.code0
                }
              })
              this.param[this.currentSample.insProduct[0].id].equipName.push({
                i:this.currentSample.insProduct[0].id,
                v:{
                  v:this.equipForm.value0
                }
              })
            }
            if(this.equipForm.code1){
              this.equipForm.value1 = this.equipOptions.find(m=>m.value==this.equipForm.code1).label
              this.param[this.currentSample.insProduct[0].id].equipValue.push({
                i:this.currentSample.insProduct[0].id,
                v:{
                  v:this.equipForm.code1
                }
              })
              this.param[this.currentSample.insProduct[0].id].equipName.push({
                i:this.currentSample.insProduct[0].id,
                v:{
                  v:this.equipForm.value1
                }
              })
            }
            this.saveInsContext()
          }
        }
      }
    },
    methods: {
      changeItem(m,index){},
      changeItem(row){
        if(row.value0&&row.value1){
          this.$set(row,'comValue',((Number(row.value0)+Number(row.value1))/2).toFixed(5))
        }else{
          return
        }
        this.param[row.id].insValue = [
          {
            i:row.id,
            v:{
              v:row.value0
            }
          },
          {
            i:row.id,
            v:{
              v:row.value1
            }
          }
        ]
        this.param[row.id].comValue = [{
            i:row.id,
            v:{
              v:row.comValue
            }
          }]
        if(this.wareForm.inspectionItemSubclass!=20){
          row.resValue = row.comValue?Math.abs(row.comValue-20).toFixed(5):''
          this.param[row.id].resValue.v.v = row.resValue
          if(row.ask&&row.resValue){
            if(row.ask.includes('<')){
              row.insResult = row.resValue<row.ask.split('<')[1]?1:0
            }else if(row.ask.includes('>')){
              row.insResult = row.resValue<row.ask.split('>')[1]?1:0
            }else if(row.ask.includes('=')){
              row.insResult = row.resValue==row.ask.split('=')[1]?1:0
            }else if(row.ask.includes('≥')){
              row.insResult = row.resValue>=row.ask.split('≥')[1]?1:0
            }else if(row.ask.includes('≤')){
              row.insResult = row.resValue<=row.ask.split('≤')[1]?1:0
            }
            this.param[row.id].insResult.v.v = row.insResult
          }
        }else{
          this.param[row.id].insResult.v.v = 1
        }
        this.$refs.wareTableData.doLayout()
        this.saveInsContext()
      },
      wareFormChange(m,type){
        if(this.PROJECT!='检测中心'){
          return
        }
        if(m&&type){
          this.wareForm[type] = Number(m)
        }
        let wareForm = {...this.wareForm}
        wareForm.inspectionItemSubclass = wareForm.inspectionItemSubclass+'℃'
        this.wareTableDataLoading = true
        this.$axios.post(this.$api.insOrderPlan.temCycle,{
          sampleId:this.currentSample.id,
          ...wareForm
        }).then(res => {
          this.wareTableDataLoading = false
          if (res.code == 201) return
          let {productVos,sampleVo} = res.data
          this.wareForm0 = sampleVo
          productVos = productVos.map(m=>{
            let obj = {...m,...m.insProduct}
            this.param[obj.id] = {
              insValue: [],
              comValue: [],
              resValue: {
                i:obj.id,
                v:{
                  v:null
                }
              },
              equipValue: [],
              equipName: [],
              insResult: {
                i:obj.id,
                v:{
                  v:null
                }
              }
            }
            let insProductResult = obj.insProductResult
            if(insProductResult){
              for(let i in insProductResult){
                switch (i) {
                  case 'insValue':
                    let insValue = JSON.parse(insProductResult[i])
                    if(insValue&&insValue.length>1){
                      this.param[obj.id].insValue = [
                        {
                          i:obj.id,
                          v:{
                            v:insValue[0].v
                          }
                        },
                        {
                          i:obj.id,
                          v:{
                            v:insValue[1].v
                          }
                        }
                      ]
                      obj.value0 = insValue[0].v
                      obj.value1 = insValue[1].v
                    }
                    break;
                  case 'comValue':
                  let comValue = JSON.parse(insProductResult[i])
                    if(comValue&&comValue.length>0){
                      this.param[obj.id].comValue = [
                        {
                          i:obj.id,
                          v:{
                            v:comValue[0].v
                          }
                        }
                      ]
                      obj.comValue = comValue[0].v
                    }
                    break;
                  default:
                    break;
                }
              }
              this.param[obj.id].resValue = {
                i:obj.id,
                v:{
                  v:obj.lastValue
                }
              }
              obj.resValue = obj.lastValue
              this.param[obj.id].insResult = {
                i:obj.id,
                v:{
                  v:obj.insResult
                }
              }
            }
            return obj
          })
          this.wareTableData = productVos
        })
        this.getEquipOptions(true,this.currentSample.insProduct[0].id)
      },
      subOtherForm(m,type){
        let ids = []
@@ -1067,6 +1233,9 @@
        this.currentTab = null;
      },
      getReportModel(id){
        if(this.PROJECT!='检测中心'){
          return
        }
        this.$axios.post(this.$api.insOrderPlan.getReportModel+'?sampleId='+id, {}).then(res => {
          this.fibers = res.data['光纤带']
          this.fiber = res.data['光纤']
@@ -1321,7 +1490,6 @@
              }
            }
          })
          console.log(5555,a.template)
          // return
          ids.forEach(id => {
            for (let b = 0; b < a.template.length; b++) {
@@ -1446,21 +1614,31 @@
          } catch (e) {}
          try {
            let insValue = JSON.parse(a.insProductResult.insValue)
            for (var i = 0; i < insValue.length; i++) {
            for (let i = 0; i < insValue.length; i++) {
              this.param[a.id].insValue[i].v.v = insValue[i].v
              this.param[a.id].insValue[i].u = insValue[i].u
            }
          } catch (e) {}
          try {
            let equipValue = JSON.parse(a.insProductResult.equipValue)
            for (var i = 0; i < equipValue.length; i++) {
              this.param[a.id].equipValue[i].v.v = equipValue[i].v
            for (let i = 0; i < equipValue.length; i++) {
              if(this.tableLists.find(m=>m.templateId==this.currentTable)&&this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='温度循环检验原始记录'){
                // 温度循环赋值
                this.$set(this.equipForm,`code`+i,equipValue[i].v)
              }else{
                this.param[a.id].equipValue[i].v.v = equipValue[i].v
              }
            }
          } catch (e) {}
          try {
            let equipName = JSON.parse(a.insProductResult.equipName)
            for (var i = 0; i < equipName.length; i++) {
              this.param[a.id].equipName[i].v.v = equipName[i].v
            for (let i = 0; i < equipName.length; i++) {
              if(this.tableLists.find(m=>m.templateId==this.currentTable)&&this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='温度循环检验原始记录'){
                // 温度循环赋值
                this.$set(this.equipForm,`value`+i,equipName[i].v)
              }else{
                this.param[a.id].equipName[i].v.v = equipName[i].v
              }
            }
          } catch (e) {}
          try {
@@ -1477,7 +1655,6 @@
        let id = str[0]
        let pId = str[3]
        var list = []
        // console.log(id, 'r', r , 'c',c,this.tableList)
        for (let a in this.tableList) {
          if (this.tableList[a].templateId == id) {
            list = this.tableList[a].arr
@@ -1501,7 +1678,11 @@
                      }
                      if(this.getInspectionValueType(item.i)==1){
                        if (!isNaN(parseFloat(c.v.v))) {
                          comValue[(tableCode + (c.r + 1))] = parseFloat(c.v.v)
                          if(c.v.v.includes('^')){
                            comValue[(tableCode + (c.r + 1))] = c.v.v
                          }else{
                            comValue[(tableCode + (c.r + 1))] = parseFloat(c.v.v)
                          }
                        }
                      }else{
                        comValue[(tableCode + (c.r + 1))] = c.v.v
@@ -1817,6 +1998,9 @@
        }
        return sum
      },
      handleInput (n) {
        n.v.v = n.v.v.replace(/[^\d.^]/g, '');
      },
      getInspectionItemType(id) {
        for (var a in this.currentSample.insProduct) {
          if (this.currentSample.insProduct[a].id == id) {
@@ -1845,14 +2029,14 @@
            }
          })
        } catch (e) {
          console.log(e);
          // console.log(e);
          this.$message.error('找不到设备内容')
        }
        console.log(n, code);
        // console.log(n, code);
        fetch('http://localhost:82/微信图片_20240518100811.png').then(res=>res.blob()).then(blob=>{
          console.log(blob);
          // console.log(blob);
          const url = URL.createObjectURL(blob)
          console.log(url);
          // console.log(url);
        })
        /* this.$message.error('采集失败【已开放手动方式】')
        for (var a in this.currentSample.insProduct) {