From 4335d446344d10079a4bfabf59221efdf5730f1b Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期四, 11 七月 2024 15:55:30 +0800
Subject: [PATCH] 修改检验任务

---
 static/js/worker.js |  136 ++++++++++++++++++++++++++++----------------
 1 files changed, 86 insertions(+), 50 deletions(-)

diff --git a/static/js/worker.js b/static/js/worker.js
index 146cb61..b8fb3be 100644
--- a/static/js/worker.js
+++ b/static/js/worker.js
@@ -35,8 +35,11 @@
       break
     }
   }
+  let isToExponential = ''
+  let list2 = []
+
   excelMethodList.forEach(item => {
-    if (item.valueList.find(m => m.r == r && m.c == c)) {
+    if (item.valueList&&item.valueList.length>0&&item.valueList.find(m => m.r == r && m.c == c)) {
       var comValue = {}
       item.valueList.forEach(a => {
         list.forEach(b => {
@@ -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,17 @@
         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.forEach(val => {
+              val = val.toString()
+              list3.push(val)
+            })
+            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 +254,7 @@
             comResult = str
           }
         } catch (error) {
+          console.log('error---', error)
         }
         try {
           list.forEach(a => {
@@ -249,7 +274,7 @@
           })
           changeInput(comResult, `${id}-${item.r}-${item.c}-${pId}`) //鏀瑰彉鏈�缁堝��
         } catch (error) {
-
+          console.log('error---', error)
         }
       }
     }
@@ -298,39 +323,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 +705,7 @@
   }
 }
 
+
 /**
  * 璁$畻鍑芥暟
  *
@@ -685,8 +723,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 +769,7 @@
     }
     if(str.includes('&"/"&')){
       return str.replaceAll('&"/"&', '/').replaceAll('//','')
-    }else{
+    }else {
       return eval(str)
     }
   } catch (error) {

--
Gitblit v1.9.3