| | |
| | | if(res==''||res==null||res==undefined||res=='Infinity'){ |
| | | item.v.v = '' |
| | | }else{ |
| | | console.log(ask,res,item.v.f) |
| | | if(ask){ |
| | | comp = ask.map((m, i) => { |
| | | if (m.includes('RTS')) { |
| | |
| | | if (m.includes('=')) { |
| | | let str = handleFraction(m.split('=')[1]) |
| | | if(typeof res == 'string'&&typeof str == 'string'){ |
| | | return res.trim() == str.trim() |
| | | if(item.v.f&&typeof(item.v.f)=='string'&&item.v.f.includes('&"/"&')){ |
| | | return handleMoreParam(res,m.split('=')[1],'=') |
| | | }else{ |
| | | return res.trim() == str.trim() |
| | | } |
| | | }else{ |
| | | return eval(res) == eval(str) |
| | | } |
| | | } else if (m.includes('≥')) { |
| | | let str = handleFraction(m.split('≥')[1]) |
| | | return eval(res) >= eval(str) |
| | | if(item.v.f&&typeof(item.v.f)=='string'&&item.v.f.includes('&"/"&')){ |
| | | return handleMoreParam(res,m.split('≥')[1],'≥') |
| | | }else{ |
| | | let str = handleFraction(m.split('≥')[1]) |
| | | return eval(res) >= eval(str) |
| | | } |
| | | }else if (m.includes('≤')) { |
| | | let str = handleFraction(m.split('≤')[1]) |
| | | console.log(eval(res),eval(str)) |
| | | return eval(res) <= eval(str) |
| | | if(item.v.f&&typeof(item.v.f)=='string'&&item.v.f.includes('&"/"&')){ |
| | | return handleMoreParam(res,m.split('≤')[1],'≤') |
| | | }else{ |
| | | let str = handleFraction(m.split('≤')[1]) |
| | | return eval(res) <= eval(str) |
| | | } |
| | | }else if (m.includes('<')) { |
| | | let str = handleFraction(m.split('<')[1]) |
| | | return eval(res) < eval(str) |
| | | if(item.v.f&&typeof(item.v.f)=='string'&&item.v.f.includes('&"/"&')){ |
| | | return handleMoreParam(res,m.split('<')[1],'<') |
| | | }else{ |
| | | let str = handleFraction(m.split('<')[1]) |
| | | return eval(res) < eval(str) |
| | | } |
| | | }else if (m.includes('>')) { |
| | | let str = handleFraction(m.split('>')[1]) |
| | | return eval(res) > eval(str) |
| | | if(item.v.f&&typeof(item.v.f)=='string'&&item.v.f.includes('&"/"&')){ |
| | | return handleMoreParam(res,m.split('>')[1],'>') |
| | | }else{ |
| | | let str = handleFraction(m.split('>')[1]) |
| | | return eval(res) > eval(str) |
| | | } |
| | | }else if (m.includes('~')) { |
| | | let k = m.split('~') |
| | | return eval(res) >= eval(handleFraction((k[0]))) && eval(res) <= eval(handleFraction(k[1])) |
| | | if(item.v.f&&typeof(item.v.f)=='string'&&item.v.f.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('-')){ |
| | | let k = m.split('-') |
| | | return eval(res) >= eval(handleFraction(k[0])) && eval(res) <= eval(handleFraction(k[1])) |
| | | if(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('±')){ |
| | | let k = m.split('±') |
| | | return eval(res) >= eval((handleFraction(k[0]) - handleFraction(k[1]))) && eval(res) <= eval((handleFraction(k[0]) + handleFraction(k[1]))) |
| | | if(item.v.f&&typeof(item.v.f)=='string'&&item.v.f.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('>')){ |
| | | let str = handleFraction(m.split('>')[1]) |
| | | return eval(res) > eval(str) |
| | | if(item.v.f&&typeof(item.v.f)=='string'&&item.v.f.includes('&"/"&')){ |
| | | return handleMoreParam(res,m.split('>')[1],'>') |
| | | }else{ |
| | | let str = handleFraction(m.split('>')[1]) |
| | | return eval(res) > eval(str) |
| | | } |
| | | }else if(m.includes('<')){ |
| | | let str = handleFraction(m.split('<')[1]) |
| | | return eval(res) < eval(str) |
| | | if(item.v.f&&typeof(item.v.f)=='string'&&item.v.f.includes('&"/"&')){ |
| | | return handleMoreParam(res,m.split('<')[1],'<') |
| | | }else{ |
| | | let str = handleFraction(m.split('<')[1]) |
| | | return eval(res) < eval(str) |
| | | } |
| | | } |
| | | }) |
| | | } |
| | |
| | | |
| | | } else { |
| | | let comResult = '' |
| | | console.log('item.v.f',item.v.f) |
| | | 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; |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 处理分数或带有乘法和乘方的字符串 |
| | | * |
| | | * @param str 字符串类型,表示要处理的分数或乘方表达式 |
| | | * @returns 返回一个数字或原字符串,如果字符串为有效的分数或乘方表达式,则返回计算结果;否则返回原字符串 |
| | | */ |
| | | function handleFraction(str){ |
| | | if(str&&typeof(str)=='string'&&str.includes('/')){ |
| | | return eval(str.split('/')[0]/str.split('/')[1]) |
| | |
| | | } |
| | | } |
| | | |
| | | 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])) |
| | | } |
| | | }) |
| | | if(arr0){ |
| | | return true |
| | | }else{ |
| | | return false |
| | | } |
| | | } |
| | | |
| | | function getParam(){ |
| | | for (var b in param){ |
| | | param[b].insValue = [] |