| | |
| | | // 如果当前检验项是产品检验项,则执行此方法,找到此检验项的要求值 |
| | | let ask = currentSample.insProduct.find((m) => m.id == item.i).ask |
| | | ? currentSample.insProduct |
| | | .find((m) => m.id == item.i) |
| | | .ask.split("&") |
| | | .find((m) => m.id == item.i) |
| | | .ask.split("&") |
| | | : null; |
| | | // 获取当前结论的参数,也就是当前检验项的最终值 |
| | | let res = Object.values(comValue)[0]; |
| | |
| | | let k = m.split("±"); |
| | | return ( |
| | | eval(res) >= |
| | | eval( |
| | | handleFraction(k[0]) - handleFraction(k[1]) |
| | | ) && |
| | | eval( |
| | | handleFraction(k[0]) - handleFraction(k[1]) |
| | | ) && |
| | | eval(res) <= |
| | | eval( |
| | | Number(handleFraction(k[0])) + |
| | | Number(handleFraction(k[1])) |
| | | ) |
| | | eval( |
| | | Number(handleFraction(k[0])) + |
| | | Number(handleFraction(k[1])) |
| | | ) |
| | | ); |
| | | } else { |
| | | return handleMoreParam(res, m, "±"); |
| | |
| | | let k = m.split("±"); |
| | | return ( |
| | | eval(res) >= |
| | | eval(handleFraction(k[0]) - handleFraction(k[1])) && |
| | | eval(handleFraction(k[0]) - handleFraction(k[1])) && |
| | | eval(res) <= |
| | | eval( |
| | | Number(handleFraction(k[0])) + |
| | | Number(handleFraction(k[1])) |
| | | ) |
| | | eval( |
| | | Number(handleFraction(k[0])) + |
| | | Number(handleFraction(k[1])) |
| | | ) |
| | | ); |
| | | } |
| | | } else if (m.includes(">")) { |
| | |
| | | // 如果检验值类型是数字输入框 |
| | | let tell = currentSample.insProduct.find((m) => m.id == item.i).tell |
| | | ? currentSample.insProduct |
| | | .find((m) => m.id == item.i) |
| | | .tell.split("&") |
| | | .find((m) => m.id == item.i) |
| | | .tell.split("&") |
| | | : null; |
| | | isPoint = |
| | | tell && |
| | |
| | | // 处理excel函数参数列表 |
| | | item.valueList.forEach((a) => { |
| | | valueList.push({ |
| | | name: `${comparisonList.find((e) => e.value == a.c).label}${ |
| | | a.r + 1 |
| | | }`, |
| | | name: `${comparisonList.find((e) => e.value == a.c).label}${a.r + 1 |
| | | }`, |
| | | value: 0, |
| | | }); |
| | | }); |
| | |
| | | return ( |
| | | item >= eval(handleFraction(k[0]) - handleFraction(k[1])) && |
| | | item <= |
| | | eval(Number(handleFraction(k[0])) + Number(handleFraction(k[1]))) |
| | | eval(Number(handleFraction(k[0])) + Number(handleFraction(k[1]))) |
| | | ); |
| | | case "~": |
| | | let j = str.split("~"); |
| | |
| | | console.log("error", error); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 实现平方根函数 SQRT |
| | | * @param {number} num 要开平方的数字 |
| | | * @returns {number} 算术平方根,负数返回 NaN |
| | | */ |
| | | function SQRT(num) { |
| | | // 实数范围内,负数没有平方根,返回 NaN |
| | | if (num < 0) { |
| | | return NaN; |
| | | } |
| | | // 调用 JS 原生高精度平方根函数 |
| | | return Math.sqrt(num); |
| | | } |
| | | |
| | | /** |
| | | * 获取包含 ABC 字符的列表 |
| | | * |
| | |
| | | "INT", |
| | | "IF", |
| | | "LOG", |
| | | "SQRT" |
| | | ]; |
| | | // 替换特殊字符 |
| | | f = f |