licp
2024-07-30 d7fceb14f6fab12f62114ff36a2ec00bd6c7c1c2
static/js/worker.js
@@ -1,6 +1,6 @@
let code = ''
let tableList = []
let tableList = null
let excelMethodList = []
let comparisonList = []
let currentSample = {}
@@ -12,12 +12,38 @@
let param = null
self.onmessage = function(event) {
  const data = JSON.parse(event.data);
  if(data.type&&data.type=='saveData'){
    tableList = data.tableList;
    param = data.param;
    return
  }
  code = data.code;
  tableList = JSON.parse(JSON.stringify(data.tableList));
  if(tableList){
    let str = code.split('-')
    let r = str[1]
    let c = str[2]
    tableList[0].arr.forEach((item,index)=>{
      item.forEach((m,i)=>{
        if(m.c==c&&m.r==r){
          tableList[0].arr[index] = data.tableList[0].arr[index]
        }
      })
    })
  }else{
    tableList = data.tableList;
  }
  if(param){
    let str = code.split('-')
    let pId = str[3]
    param[pId] = data.param[pId]
  }else{
    param = data.param;
  }
  // tableList = data.tableList;
  // param = data.param;
  excelMethodList = JSON.parse(JSON.stringify(data.excelMethodList));
  comparisonList = JSON.parse(JSON.stringify(data.comparisonList));
  currentSample = JSON.parse(JSON.stringify(data.currentSample));
  param = data.param;
  PROJECT = data.PROJECT
  changeInput('', code);
};
@@ -38,7 +64,6 @@
  let isToExponential = ''
  let list2 = []
  let isPoint = ''
  excelMethodList.forEach(item => {
    if (item.valueList&&item.valueList.length>0&&item.valueList.find(m => m.r == r && m.c == c)) {
      var comValue = {}
@@ -254,6 +279,7 @@
            }
            // console.log(tableList)
          }
          // console.log('1234567789', tableList,getParam())
          result = {
            method:'saveInsContext',
            value:{
@@ -272,7 +298,7 @@
        try {
          if(getInspectionValueType(item.i)==1){
            let tell = currentSample.insProduct.find(m => m.id == item.i).tell?currentSample.insProduct.find(m => m.id == item.i).tell.split('&'):null;
            isPoint = this.PROJECT=='装备电缆'&&tell&&tell.length>0&&typeof tell[0] =='string'&&tell[0].includes('/') // 判断要求值是否为分数
            isPoint = PROJECT=='装备电缆'&&tell&&tell.length>0&&typeof tell[0] =='string'&&tell[0].includes('/') // 判断要求值是否为分数
            comResult = compute(item.v.f.replace(/=/g, ' '),comValue, isPoint)
            let list3 = list2.map(item=>item+'')
            isToExponential = list3.some(val => val.includes('e+'))
@@ -310,10 +336,18 @@
            if (a[0].r == item.r && comResult !== '') {
              for (var b in a) {
                if (a[b].c == item.c) {
                  // console.log('comResult---', comResult)
                  try{
                    let val = parseFloat(comResult.toFixed(3))
                    a[b].v.v = isNaN(val) ? '' : val
                    if(comResult==0){
                      a[b].v.v = 0
                    }else if(a[b].v.ct&&a[b].v.ct.fa&&typeof a[b].v.ct.fa == 'string'&&a[b].v.ct.fa.includes('.')){
                      let num = 0
                      let str = n.v.ct.fa.split('.')[1]
                      num = str.length
                      a[b].v.v = comResult?Number(comResult).toFixed(num):0
                    }else{
                      let val = parseFloat(Number(comResult).toFixed(3))
                      a[b].v.v = isNaN(val) ? '' : val
                    }
                  }catch(error){
                    a[b].v.v = comResult
                    console.log('error---', error)
@@ -430,7 +464,7 @@
  }
  tableList[0].arr.forEach(a => {
    a.forEach(b=>{
      if (b.v.ps != undefined && b.v.ps.value === '检验值') {
      if (b.v.ps != undefined &&typeof b.v.ps.value =='string'&& b.v.ps.value.includes('检验值')) {
        b.i &&b.v.v&& param[b.i].insValue.push(b)
      }
      if (b.v.ps != undefined && b.v.ps.value === '计算值') {
@@ -526,7 +560,7 @@
    let num = null;
    let arr = [];
    if(val&&val.length>0){
      arr = val.filter(item=>item!=null&&item!=='')
      arr = val.filter(item=>item!=null&&item!=''&&item!=undefined)
      arr.forEach(item=>{
        num+=item;
      })
@@ -814,7 +848,13 @@
      str = str.replace(new RegExp(a, 'g'),arr[a])
    }
    if(str.includes(',,')){
      str = str.replace(new RegExp(',,', 'g'),'')
      str = str.replace(new RegExp(',,', 'g'),',')
    }
    if(str.includes(',,')){
      str = str.replace(new RegExp(',,', 'g'),',')
    }
    if(str.includes(',,')){
      str = str.replace(new RegExp(',,', 'g'),',')
    }
    // console.log('str', str)
    if(str.includes('&"/"&')){
@@ -822,6 +862,7 @@
    } else if (isPoint) {
      return str.replace('ABS', '').replace(/\(|\)/g, '')
    }else {
      // console.log('str', str)
      return eval(str)
    }
  } catch (error) {