licp
2024-07-05 c321b88b97de37e6822774a3127a79a4eabfcbe9
src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -276,7 +276,7 @@
            <el-radio-button :label="item.id" v-for="(item,index) in fiber" :key="index"
              size="small">{{ item.color }}</el-radio-button>
          </el-radio-group>
          <el-form :inline="true" :model="otherForm" class="form-inline" label-width="50px" style="padding-top: 0;padding-left: 10px;">
          <el-form :inline="true" :model="otherForm" class="form-inline" label-width="50px" style="padding-top: 0;padding-left: 10px;" v-if="PROJECT=='检测中心'">
            <el-form-item label="温度:" style="margin-bottom: 0;">
              <el-input clearable v-model="otherForm.temperature" size="small" placeholder="" style="width: 50px;" @change="m=>subOtherForm(m,'temperature')"></el-input>
              <span style="margin-left: 4px;">℃</span>
@@ -319,12 +319,12 @@
                      v-else-if="getInspectionValueType(n.i) == 4">/</span>
                  </template>
                  <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='结论'">
                    <!-- <el-select v-if="(getInspectionValueType(n.i) == 2 || getInspectionValueType(n.i) == 5) && state==1"
                    <el-select v-if="(getInspectionValueType(n.i) == 2 || getInspectionValueType(n.i) == 5) && state==1&&PROJECT=='装备电缆'"
                      class="table_input" v-model="n.v.v" @change="saveInsContext()">
                      <el-option label="合格" :value="1"></el-option>
                      <el-option label="不合格" :value="0"></el-option>
                    </el-select> -->
                    <template>
                    </el-select>
                    <template v-if="PROJECT=='检测中心'||PROJECT=='装备电缆'&&getInspectionValueType(n.i) != 2 ">
                      <span v-if="n.v.v===1" :style="`font-family:${n.v.ff} !important;color: green;`">合格</span>
                      <span v-else-if="n.v.v===0" :style="`font-family:${n.v.ff} !important;color: red;`">不合格</span>
                      <span v-else :style="`font-family:${n.v.ff} !important;`">待定</span>
@@ -524,14 +524,14 @@
            prop="resValue"
            label="衰减差"
            align="center"
            v-if="wareForm.inspectionItemSubclass!=20"
            v-if="wareForm.inspectionItemSubclass!='20(常温)'"
            min-width="150">
          </el-table-column>
          <el-table-column
            prop="insResult"
            label="结论"
            align="center"
            min-width="150" v-if="wareForm.inspectionItemSubclass!=20">
            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-else-if="scope.row.insResult===0" style="color: red;">不合格</span>
@@ -793,7 +793,7 @@
        currentTab:null,
        wareForm:{
          inspectionItem:1,
          inspectionItemSubclass:20,
          inspectionItemSubclass:'20(常温)',
        },
        wareForm0:{},
        numOptions:[],
@@ -953,7 +953,7 @@
    methods: {
      changeItem(row){
        if(row.value0&&row.value1){
          this.$set(row,'comValue',((Number(row.value0)+Number(row.value1))/2).toFixed(5))
          this.$set(row,'comValue',((Number(row.value0)+Number(row.value1))/2).toFixed(3))
        }else{
          return
        }
@@ -977,8 +977,8 @@
              v:row.comValue
            }
          }]
        if(this.wareForm.inspectionItemSubclass!=20){
          row.resValue = row.comValue?Math.abs(row.comValue-20).toFixed(5):''
        if(this.wareForm.inspectionItemSubclass!='20(常温)'){
          row.resValue = row.comValue?Math.abs(row.comValue-20).toFixed(3):''
          this.param[row.id].resValue.v.v = row.resValue
          if(row.ask&&row.resValue){
            if(row.ask.includes('<')){
@@ -1008,7 +1008,12 @@
          this.wareForm[type] = Number(m)
        }
        let wareForm = {...this.wareForm}
        wareForm.inspectionItemSubclass = wareForm.inspectionItemSubclass+'℃'
        if(this.wareForm.inspectionItemSubclass=='20(常温)'){
          wareForm.inspectionItemSubclass ='20℃(常温)'
          console.log(wareForm)
        }else{
          wareForm.inspectionItemSubclass = wareForm.inspectionItemSubclass+'℃'
        }
        this.wareTableDataLoading = true
        this.$axios.post(this.$api.insOrderPlan.temCycle,{
          sampleId:this.currentSample.id,
@@ -1398,7 +1403,7 @@
          this.temperatureOptions = []
          mySet1.forEach(m => {
            this.temperatureOptions.push({
              value:m,
              value:String(m),
              label:m
            })
          })
@@ -1676,14 +1681,8 @@
                          break
                        }
                      }
                      if(this.getInspectionValueType(item.i)==1){
                        if (!isNaN(parseFloat(c.v.v))) {
                          if(c.v.v.includes('^') || c.v.v.includes('/')){
                            comValue[(tableCode + (c.r + 1))] = c.v.v
                          }else{
                            comValue[(tableCode + (c.r + 1))] = parseFloat(c.v.v)
                          }
                        }
                      if(this.getInspectionValueType(item.i)==1&&!isNaN(parseFloat(c.v.v))){
                        comValue[(tableCode + (c.r + 1))] = parseFloat(c.v.v)
                      }else{
                        comValue[(tableCode + (c.r + 1))] = c.v.v
                      }
@@ -1703,36 +1702,43 @@
                }else{
                  if(ask){
                    comp = ask.map((m, i) => {
                      if (m.includes('RTS')) {
                        m = m.replace('RTS*', '')
                      }
                      if (m.includes('=')) {
                        let str = m.split('=')[1]
                        console.log(res,str)
                        let str = this.handleFraction(m.split('=')[1])
                        if(typeof res == 'string'&&typeof str == 'string'){
                          console.log(res,str)
                          return  res.trim() == str.trim()
                        }else{
                          return  eval(res) == eval(str)
                        }
                      } else if (m.includes('≥')) {
                        return eval(res) >= eval(m.split('≥')[1])
                        let str = this.handleFraction(m.split('≥')[1])
                        return eval(res) >= eval(str)
                      }else if (m.includes('≤')) {
                        return eval(res) <= eval(m.split('≤')[1])
                        let str = this.handleFraction(m.split('≤')[1])
                        return eval(res) <= eval(str)
                      }else if (m.includes('<')) {
                        return  eval(res) < eval(m.split('<')[1])
                        let str = this.handleFraction(m.split('<')[1])
                        return  eval(res) < eval(str)
                      }else if (m.includes('>')) {
                        return  eval(res) > eval(m.split('>')[1])
                        let str = this.handleFraction(m.split('>')[1])
                        return  eval(res) > eval(str)
                      }else if (m.includes('~')) {
                        let k = m.split('~')
                        return  eval(res) >= eval(k[0]) && eval(res) <= eval(k[1])
                        return  eval(res) >= eval(this.handleFraction((k[0]))) && eval(res) <= eval(this.handleFraction(k[1]))
                      }else if(m.includes('-')){
                        let k = m.split('-')
                        return  eval(res) >= eval(k[0]) && eval(res) <= eval(k[1])
                        return  eval(res) >= eval(this.handleFraction(k[0])) && eval(res) <= eval(this.handleFraction(k[1]))
                      }else if(m.includes('±')){
                        let k = m.split('±')
                        return  eval(res) >= eval((k[0] - k[1])) && eval(res) <= eval((k[0] + k[1]))
                        return  eval(res) >= eval((this.handleFraction(k[0]) - this.handleFraction(k[1]))) && eval(res) <= eval((this.handleFraction(k[0]) + this.handleFraction(k[1])))
                      }else if(m.includes('>')){
                        return  eval(res) > eval(m.split('>')[1])
                        let str = this.handleFraction(m.split('>')[1])
                        return  eval(res) > eval(str)
                      }else if(m.includes('<')){
                        return  eval(res) < eval(m.split('<')[1])
                        let str = this.handleFraction(m.split('<')[1])
                        return  eval(res) < eval(str)
                      }
                    })
                  }
@@ -1752,7 +1758,13 @@
              let comResult = ''
              try {
                if(this.getInspectionValueType(item.i)==1){
                  let ask = this.currentSample.insProduct.find(m => m.id == item.i).ask?this.currentSample.insProduct.find(m => m.id == item.i).ask.split('&'):null;
                  comResult = excelFunction.compute(item.v.f.replace(/=/g, ' '),comValue)
                  // 装备项目检验值转化
                  if (this.PROJECT === '装备电缆' && ask[0].includes('RTS')) {
                    let num2 = new this.$Big(comResult)
                    comResult = num2.toExponential()
                  }
                }else{
                  let valueList = [];
                  item.valueList.forEach(a => {
@@ -1762,7 +1774,6 @@
                      value: 0,
                    })
                  })
                  console.log(comValue)
                  for (var a in comValue) {
                    valueList.forEach(b => {
                      if (b.name == a) {
@@ -1806,6 +1817,20 @@
          this.getCurrentInsProduct(pId)
        } catch (error) {
        }
      },
      handleFraction(str){
        if(str&&typeof(str)=='string'&&str.includes('/')){
          return eval(str.split('/')[0]/str.split('/')[1])
        } else if (str && typeof(str) == 'string' && str.includes('*') && str.includes('^')) {
          const num1 = str.split('*')
          const num2 = num1[1].split('^')
          let num3 = new this.$Big(num2[0]);
          let num4 = new this.$Big(num2[1]);
          let num5 = Math.pow(num3, num4) // 计算次方
          return num1[0] * num5 // 最后计算乘法
        } else{
          return str
        }
      },
      getCurrentInsProduct(pId) {
@@ -1926,7 +1951,7 @@
        return sum
      },
      handleInput (n) {
        n.v.v = n.v.v.replace(/[^\d.^e/]/g, '');
        n.v.v = n.v.v.replace(/[^\d.^e\-/+]/g, '');
      },
      bigNum (n) {
        if (n.v.v > 10000 && this.PROJECT === '装备电缆') {