From 06e5e9e9c7aabcb5c155b25f84e5de2c935b2137 Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期一, 22 七月 2024 16:39:37 +0800 Subject: [PATCH] 新增数采检验功能 --- static/js/worker.js | 95 +++++++++++++++++++++++++++++++++++++---------- 1 files changed, 74 insertions(+), 21 deletions(-) diff --git a/static/js/worker.js b/static/js/worker.js index fb6a209..26ba16a 100644 --- a/static/js/worker.js +++ b/static/js/worker.js @@ -38,7 +38,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 = {} @@ -93,7 +92,7 @@ // console.log(ask,res,item.v.f) if(ask){ comp = ask.map((m, i) => { - console.log('m----', m) + // console.log('m----', m) if (m.includes('RTS')) { m = m.replace('RTS*', '') } @@ -101,7 +100,11 @@ let str = handleFraction(m.split('=')[1]) if(typeof res == 'string'&&typeof str == 'string'){ if(res.includes('/')){ - return handleMoreParam(res,m.split('=')[1],'=') + if (m.includes('/')) { + return eval(res) == eval(str) + } else { + return handleMoreParam(res,m.split('=')[1],'=') + } }else{ // console.log(res.trim().replace(/[.,銆傘�侊紱锛�'";?锛熲�滐紝]/g, ''),' == ',str.trim().replace(/[.,銆傘�侊紱锛�'";?锛熲�滐紝]/g, '')) return res.trim().replace(/[.,銆傘�侊紱锛�'";?锛熲�滐紝]/g, '') == str.trim().replace(/[.,銆傘�侊紱锛�'";?锛熲�滐紝]/g, '') @@ -111,42 +114,74 @@ } } else if (m.includes('鈮�')) { if(typeof res =='string'&&res.includes('/')){ - return handleMoreParam(res,m.split('鈮�')[1],'鈮�') + if (m.includes('/')) { + // console.log('eval(res)----', eval(res)) + let str = handleFraction(m.split('鈮�')[1]) + // console.log('eval(str)----', eval(str)) + return eval(res) >= eval(str) + } else { + return handleMoreParam(res,m.split('鈮�')[1],'鈮�') + } }else{ let str = handleFraction(m.split('鈮�')[1]) return eval(res) >= eval(str) } }else if (m.includes('鈮�')) { if(typeof res =='string'&&res.includes('/')){ - return handleMoreParam(res,m.split('鈮�')[1],'鈮�') + if (m.includes('/')) { + let str = handleFraction(m.split('鈮�')[1]) + return eval(res) <= eval(str) + } else { + return handleMoreParam(res,m.split('鈮�')[1],'鈮�') + } }else{ let str = handleFraction(m.split('鈮�')[1]) return eval(res) <= eval(str) } }else if (m.includes('<')) { if(typeof res =='string'&&res.includes('/')){ - return handleMoreParam(res,m.split('<')[1],'<') + if (m.includes('/')) { + let str = handleFraction(m.split('<')[1]) + return eval(res) < eval(str) + } else { + return handleMoreParam(res,m.split('<')[1],'<') + } }else{ let str = handleFraction(m.split('<')[1]) return eval(res) < eval(str) } }else if (m.includes('>')) { if(typeof res =='string'&&res.includes('/')){ - return handleMoreParam(res,m.split('>')[1],'>') + if (m.includes('/')) { + let str = handleFraction(m.split('>')[1]) + return eval(res) > eval(str) + } else { + return handleMoreParam(res,m.split('>')[1],'>') + } }else{ let str = handleFraction(m.split('>')[1]) return eval(res) > eval(str) } }else if (m.includes('~')) { if(typeof res =='string'&&res.includes('/')){ - return handleMoreParam(res,m,'~') + if (m.includes('/')) { + let k = m.split('~') + return eval(res) >= eval(handleFraction((k[0]))) && eval(res) <= eval(handleFraction(k[1])) + } else { + return handleMoreParam(res,m,'~') + } }else{ let k = m.split('~') return eval(res) >= eval(handleFraction((k[0]))) && eval(res) <= eval(handleFraction(k[1])) } }else if(m.includes('-')){ if(typeof res =='string'&&res.includes('/')){ - return handleMoreParam(res,m,'-') + if (m.includes('/')) { + let k = m.split('-') + return eval(res) >= eval(handleFraction(k[0])) && eval(res) <= eval(handleFraction(k[1])) + } else { + 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]))) @@ -154,21 +189,36 @@ } }else if(m.includes('卤')){ if(typeof res =='string'&&res.includes('/')){ - return handleMoreParam(res,m,'卤') + if (m.includes('/')) { + let k = m.split('卤') + return eval(res) >= eval((handleFraction(k[0]) - handleFraction(k[1]))) && eval(res) <= eval((handleFraction(k[0]) + handleFraction(k[1]))) + } else { + return handleMoreParam(res,m,'卤') + } }else{ let k = m.split('卤') return eval(res) >= eval((handleFraction(k[0]) - handleFraction(k[1]))) && eval(res) <= eval((handleFraction(k[0]) + handleFraction(k[1]))) } }else if(m.includes('锛�')){ if(typeof res =='string'&&res.includes('/')){ - return handleMoreParam(res,m.split('锛�')[1],'>') + if (m.includes('/')) { + let str = handleFraction(m.split('锛�')[1]) + return eval(res) > eval(str) + } else { + return handleMoreParam(res,m.split('锛�')[1],'>') + } }else{ let str = handleFraction(m.split('锛�')[1]) return eval(res) > eval(str) } }else if(m.includes('锛�')){ if(typeof res =='string'&&res.includes('/')){ - return handleMoreParam(res,m.split('锛�')[1],'<') + if (m.includes('/')) { + let str = handleFraction(m.split('锛�')[1]) + return eval(res) < eval(str) + } else { + return handleMoreParam(res,m.split('锛�')[1],'<') + } }else{ let str = handleFraction(m.split('锛�')[1]) return eval(res) < eval(str) @@ -203,6 +253,7 @@ } // console.log(tableList) } + // console.log('1234567789', tableList,getParam()) result = { method:'saveInsContext', value:{ @@ -221,7 +272,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 = 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+')) @@ -259,10 +310,13 @@ 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{ + let val = parseFloat(comResult.toFixed(3)) + a[b].v.v = isNaN(val) ? '' : val + } }catch(error){ a[b].v.v = comResult console.log('error---', error) @@ -379,7 +433,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 === '璁$畻鍊�') { @@ -475,7 +529,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; }) @@ -556,8 +610,6 @@ console.log('error---', error) } } - - /** * 鏍规嵁鍧愭爣鑾峰彇鍒楀悕 @@ -767,12 +819,13 @@ if(str.includes(',,')){ str = str.replace(new RegExp(',,', 'g'),'') } + // console.log('str', str) if(str.includes('&"/"&')){ return str.replace(new RegExp('&"/"&', 'g'),'/').replace(new RegExp('//', 'g'),'') - return str.replaceAll('&"/"&', '/').replaceAll('//','') } 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