gaoluyang
2024-07-05 22bd0dc7f97fb4508458039b5120ff6d5ffb43f8
src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -324,7 +324,7 @@
                      <el-option label="合格" :value="1"></el-option>
                      <el-option label="不合格" :value="0"></el-option>
                    </el-select>
                    <template>
                    <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>
@@ -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
        }
@@ -978,7 +978,7 @@
            }
          }]
        if(this.wareForm.inspectionItemSubclass!=20){
          row.resValue = row.comValue?Math.abs(row.comValue-20).toFixed(5):''
          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('<')){
@@ -1676,14 +1676,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 +1697,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 +1753,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 => {
@@ -1806,6 +1813,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 +1947,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 === '装备电缆') {