From 5f3cf604c6598d34a389dcbdded8ab9c973f4085 Mon Sep 17 00:00:00 2001 From: gaoluyang <gaoluyang@rengu.cc> Date: 星期四, 11 七月 2024 15:09:33 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- static/js/worker.js | 130 +++++++++++++++++++++++++++---------------- 1 files changed, 81 insertions(+), 49 deletions(-) diff --git a/static/js/worker.js b/static/js/worker.js index 146cb61..3be9748 100644 --- a/static/js/worker.js +++ b/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('/')){ @@ -71,10 +75,21 @@ let ask = currentSample.insProduct.find(m => m.id == item.i).ask?currentSample.insProduct.find(m => m.id == item.i).ask.split('&'):null; let res = Object.values(comValue)[0] let comp = [] + if(res==''||res==null||res==undefined||res=='Infinity'){ - item.v.v = '' + item.v.v = null + list.forEach(a => { + if (a[0].r == item.r) { + for (let b=0; b<a.length; b++) { + if (a[b].c == item.c) { + a[b].v.v = null + break + } + } + } + }) }else{ - console.log(ask,res,item.v.f) + // console.log(ask,res,item.v.f) if(ask){ comp = ask.map((m, i) => { if (m.includes('RTS')) { @@ -83,72 +98,74 @@ if (m.includes('=')) { let str = handleFraction(m.split('=')[1]) if(typeof res == 'string'&&typeof str == 'string'){ - if(item.v.f&&typeof(item.v.f)=='string'&&item.v.f.includes('&"/"&')){ + 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) } } else if (m.includes('鈮�')) { - if(item.v.f&&typeof(item.v.f)=='string'&&item.v.f.includes('&"/"&')){ + if(typeof res =='string'&&res.includes('/')){ return handleMoreParam(res,m.split('鈮�')[1],'鈮�') }else{ let str = handleFraction(m.split('鈮�')[1]) return eval(res) >= eval(str) } }else if (m.includes('鈮�')) { - if(item.v.f&&typeof(item.v.f)=='string'&&item.v.f.includes('&"/"&')){ + if(typeof res =='string'&&res.includes('/')){ return handleMoreParam(res,m.split('鈮�')[1],'鈮�') }else{ let str = handleFraction(m.split('鈮�')[1]) return eval(res) <= eval(str) } }else if (m.includes('<')) { - if(item.v.f&&typeof(item.v.f)=='string'&&item.v.f.includes('&"/"&')){ + if(typeof res =='string'&&res.includes('/')){ return handleMoreParam(res,m.split('<')[1],'<') }else{ let str = handleFraction(m.split('<')[1]) return eval(res) < eval(str) } }else if (m.includes('>')) { - if(item.v.f&&typeof(item.v.f)=='string'&&item.v.f.includes('&"/"&')){ + if(typeof res =='string'&&res.includes('/')){ return handleMoreParam(res,m.split('>')[1],'>') }else{ let str = handleFraction(m.split('>')[1]) return eval(res) > eval(str) } }else if (m.includes('~')) { - if(item.v.f&&typeof(item.v.f)=='string'&&item.v.f.includes('&"/"&')){ + if(typeof res =='string'&&res.includes('/')){ 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(res.includes('/')){ + if(typeof res =='string'&&res.includes('/')){ 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('卤')){ - if(item.v.f&&typeof(item.v.f)=='string'&&item.v.f.includes('&"/"&')){ + if(typeof res =='string'&&res.includes('/')){ 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(item.v.f&&typeof(item.v.f)=='string'&&item.v.f.includes('&"/"&')){ + if(typeof res =='string'&&res.includes('/')){ return handleMoreParam(res,m.split('锛�')[1],'>') }else{ let str = handleFraction(m.split('锛�')[1]) return eval(res) > eval(str) } }else if(m.includes('锛�')){ - if(item.v.f&&typeof(item.v.f)=='string'&&item.v.f.includes('&"/"&')){ + if(typeof res =='string'&&res.includes('/')){ return handleMoreParam(res,m.split('锛�')[1],'<') }else{ let str = handleFraction(m.split('锛�')[1]) @@ -182,6 +199,7 @@ } }) } + console.log(tableList) } result = { method:'saveInsContext', @@ -200,11 +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) - console.log(1111,comResult) + 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() } @@ -230,6 +250,7 @@ comResult = str } } catch (error) { + console.log('error---', error) } try { list.forEach(a => { @@ -249,7 +270,7 @@ }) changeInput(comResult, `${id}-${item.r}-${item.c}-${pId}`) //鏀瑰彉鏈�缁堝�� } catch (error) { - + console.log('error---', error) } } } @@ -298,39 +319,51 @@ } } +/** + * 澶勭悊甯︽湁澶氫釜鍙傛暟鐨勫嚱鏁� + * + * @param res 瀛楃涓诧紝闇�瑕佽鍒嗗壊骞跺鐞嗙殑瀛楃涓� + * @param str 瀛楃涓诧紝涓巖es涓殑姣忎竴椤硅繘琛屾瘮杈冪殑瀛楃涓诧紝鍙兘鏄垎鏁版垨鑰呭甫鏈夋瘮杈冪鍙风殑瀛楃涓� + * @param comp 瀛楃涓诧紝琛ㄧず姣旇緝绫诲瀷鐨勫瓧绗︼紙濡� '>'銆�'<'銆�'='銆�'鈮�'銆�'鈮�'銆�'卤'銆�'~'銆�'-'锛� + * @returns 杩斿洖甯冨皵鍊硷紝濡傛灉res涓瘡涓�椤归兘婊¤冻涓巗tr鐨勬瘮杈冩潯浠讹紝鍒欒繑鍥瀟rue锛屽惁鍒欒繑鍥瀎alse + */ function handleMoreParam(res,str,comp){ - let arr = res.split('/') - let arr0 = arr.every(item=>{ - console.log(comp) - 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 } -} +/** + * 鑾峰彇鍙傛暟 + * + * @returns 杩斿洖澶勭悊鍚庣殑鍙傛暟瀵硅薄 + */ function getParam(){ for (var b in param){ param[b].insValue = [] @@ -668,6 +701,7 @@ } } + /** * 璁$畻鍑芥暟 * @@ -685,8 +719,6 @@ if(typeof(comValue[a])=='string'&&comValue[a].includes('^')){ // 璁$畻骞傛 arr[a] = CalculatePower(comValue[a]) - } else if (typeof(comValue[a])=='string'&&comValue[a].includes('/')) { - arr[a] = comValue[a].split('/')[0] / comValue[a].split('/')[1]; } else{ arr[a] = comValue[a] } @@ -733,7 +765,7 @@ } if(str.includes('&"/"&')){ return str.replaceAll('&"/"&', '/').replaceAll('//','') - }else{ + }else { return eval(str) } } catch (error) { -- Gitblit v1.9.3