gaoluyang
2024-07-11 5f3cf604c6598d34a389dcbdded8ab9c973f4085
static/js/worker.js
@@ -35,6 +35,9 @@
      break
    }
  }
  let isToExponential = ''
  let list2 = []
  excelMethodList.forEach(item => {
    if (item.valueList.find(m => m.r == r && m.c == c)) {
      var comValue = {}
@@ -50,6 +53,7 @@
                    break
                  }
                }
                list2.push(c.v.v)
                if(getInspectionValueType(item.i)==1&&!isNaN(parseFloat(c.v.v))){
                  let n = String(c.v.v)
                  if(n.includes('/')){
@@ -85,6 +89,7 @@
              }
            })
          }else{
            // console.log(ask,res,item.v.f)
            if(ask){
              comp = ask.map((m, i) => {
                if (m.includes('RTS')) {
@@ -96,7 +101,8 @@
                    if(res.includes('/')){
                      return handleMoreParam(res,m.split('=')[1],'=')
                    }else{
                      return  res.trim() == str.trim()
                      // console.log(res.trim().replace(/[.,。、;:'";??“,]/g, ''),' == ',str.trim().replace(/[.,。、;:'";??“,]/g, ''))
                      return  res.trim().replace(/[.,。、;:'";??“,]/g, '') == str.trim().replace(/[.,。、;:'";??“,]/g, '')
                    }
                  }else{
                    return  eval(res) == eval(str)
@@ -141,6 +147,7 @@
                    return handleMoreParam(res,m,'-')
                  }else{
                    let k = m.split('-')
                    // console.log(k,eval(res),eval(res) >= eval(handleFraction(k[0])) && eval(res) <= eval(handleFraction(k[1])))
                    return  eval(res) >= eval(handleFraction(k[0])) && eval(res) <= eval(handleFraction(k[1]))
                  }
                }else if(m.includes('±')){
@@ -192,6 +199,7 @@
                }
              })
            }
            console.log(tableList)
          }
          result = {
            method:'saveInsContext',
@@ -210,10 +218,13 @@
        let comResult = ''
        try {
          if(getInspectionValueType(item.i)==1){
            let ask = currentSample.insProduct.find(m => m.id == item.i).ask?currentSample.insProduct.find(m => m.id == item.i).ask.split('&'):null;
            // let ask = currentSample.insProduct.find(m => m.id == item.i).ask?currentSample.insProduct.find(m => m.id == item.i).ask.split('&'):null;
            // let tell = currentSample.insProduct.find(m => m.id == item.i).tell?currentSample.insProduct.find(m => m.id == item.i).tell.split('&'):null;
            comResult = compute(item.v.f.replace(/=/g, ' '),comValue)
            let list3 = list2.map(item=>item+'')
            isToExponential = list3.some(val => val.includes('e+'))
            // 装备项目检验值转化
            if (PROJECT === '装备电缆' && ask[0].includes('RTS')) {
            if (PROJECT === '装备电缆' && isToExponential) {
              let num2 = new Big(comResult)
              comResult = num2.toExponential()
            }
@@ -239,6 +250,7 @@
            comResult = str
          }
        } catch (error) {
          console.log('error---', error)
        }
        try {
          list.forEach(a => {
@@ -258,7 +270,7 @@
          })
          changeInput(comResult, `${id}-${item.r}-${item.c}-${pId}`) //改变最终值
        } catch (error) {
          console.log('error---', error)
        }
      }
    }
@@ -316,36 +328,36 @@
 * @returns 返回布尔值,如果res中每一项都满足与str的比较条件,则返回true,否则返回false
 */
function handleMoreParam(res,str,comp){
  let arr = res.split('/')
  let arr0 = arr.every(item=>{
    switch (comp){
      case '>':
        return item > handleFraction(str)
      case '<':
        return item < handleFraction(str)
      case '=':
        return item == handleFraction(str)
      case '≥':
        return item >= handleFraction(str)
      case '≤':
        return item <= handleFraction(str)
      case '±':
        let k = str.split('±')
        return  item >= eval((handleFraction(k[0]) - handleFraction(k[1]))) && item <= eval((handleFraction(k[0]) + handleFraction(k[1])))
      case '~':
        let j = str.split('~')
        return  item >= eval(handleFraction((j[0]))) && item <= eval(handleFraction(j[1]))
        case '-':
          let o = str.split('-')
          return  item >= eval(handleFraction(o[0])) && item <= eval(handleFraction(o[1]))
    let arr = res.split('/')
    let arr0 = arr.every(item=>{
      switch (comp){
        case '>':
          return item > handleFraction(str)
        case '<':
          return item < handleFraction(str)
        case '=':
          return item == handleFraction(str)
        case '≥':
          return item >= handleFraction(str)
        case '≤':
          return item <= handleFraction(str)
        case '±':
          let k = str.split('±')
          return  item >= eval((handleFraction(k[0]) - handleFraction(k[1]))) && item <= eval((handleFraction(k[0]) + handleFraction(k[1])))
        case '~':
          let j = str.split('~')
          return  item >= eval(handleFraction((j[0]))) && item <= eval(handleFraction(j[1]))
          case '-':
            let o = str.split('-')
            return  item >= eval(handleFraction(o[0])) && item <= eval(handleFraction(o[1]))
      }
    })
    if(arr0){
      return true
    }else{
      return false
    }
  })
  if(arr0){
    return true
  }else{
    return false
  }
}
/**
 * 获取参数
@@ -753,9 +765,7 @@
    }
    if(str.includes('&"/"&')){
      return str.replaceAll('&"/"&', '/').replaceAll('//','')
    }else if(str.includes('/')){
      return str
    }else{
    }else {
      return eval(str)
    }
  } catch (error) {