From cc702f8d62c082c8f4b97b44e094fb8b8c7b97d8 Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期三, 31 七月 2024 15:16:06 +0800 Subject: [PATCH] 修改检验任务bug --- static/js/worker.js | 90 +++++++++++++++++++++++++++++++++++--------- 1 files changed, 71 insertions(+), 19 deletions(-) diff --git a/static/js/worker.js b/static/js/worker.js index db988b7..ba752fe 100644 --- a/static/js/worker.js +++ b/static/js/worker.js @@ -1,6 +1,6 @@ let code = '' -let tableList = [] +let tableList = null let excelMethodList = [] let comparisonList = [] let currentSample = {} @@ -10,14 +10,45 @@ value:null } let param = null +let currentTable = '' self.onmessage = function(event) { const data = JSON.parse(event.data); + if(currentTable!=data.currentTable){ + tableList = data.tableList; + } + currentTable = data.currentTable; + 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 +69,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 +284,7 @@ } // console.log(tableList) } + // console.log('1234567789', tableList,getParam()) result = { method:'saveInsContext', value:{ @@ -272,7 +303,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 +341,20 @@ 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 = a[b].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) ? comResult : val + } + // console.log('a[b].v.ct', comResult) + // console.log('a[b].v.v', a[b].v.v) }catch(error){ a[b].v.v = comResult console.log('error---', error) @@ -420,17 +461,21 @@ * @returns 杩斿洖澶勭悊鍚庣殑鍙傛暟瀵硅薄 */ function getParam(){ - for (var b in param){ - param[b].insValue = [] - param[b].comValue = [] - param[b].equipValue = [] - param[b].equipName = [] - param[b].resValue = null - param[b].insResult = null - } + tableList[0].arr.forEach(a=>{ + a.forEach(b=>{ + if(param[b.i]){ + param[b.i].insValue = [] + param[b.i].comValue = [] + param[b.i].equipValue = [] + param[b.i].equipName = [] + param[b.i].resValue = null + param[b.i].insResult = null + } + }) + }) 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 +571,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 +859,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 +873,7 @@ } else if (isPoint) { return str.replace('ABS', '').replace(/\(|\)/g, '') }else { + console.log('str', str,eval(str)) return eval(str) } } catch (error) { -- Gitblit v1.9.3