From 6eac588d18ef1e98dd0c6979aec9741a91044d80 Mon Sep 17 00:00:00 2001
From: gaoluyang <gaoluyang@rengu.cc>
Date: 星期五, 12 七月 2024 09:42:36 +0800
Subject: [PATCH] 修改代码

---
 static/js/worker.js |   63 +++++++++++++++++--------------
 1 files changed, 35 insertions(+), 28 deletions(-)

diff --git a/static/js/worker.js b/static/js/worker.js
index f262b6e..fb6a209 100644
--- a/static/js/worker.js
+++ b/static/js/worker.js
@@ -37,6 +37,7 @@
   }
   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)) {
@@ -92,6 +93,7 @@
             // console.log(ask,res,item.v.f)
             if(ask){
               comp = ask.map((m, i) => {
+                console.log('m----', m)
                 if (m.includes('RTS')) {
                   m = m.replace('RTS*', '')
                 }
@@ -199,7 +201,7 @@
                 }
               })
             }
-            console.log(tableList)
+            // console.log(tableList)
           }
           result = {
             method:'saveInsContext',
@@ -211,22 +213,22 @@
           self.postMessage(JSON.stringify(result))
         }
         } catch (error) {
-
+          console.log('error---', error)
         }
 
       } else {
         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 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)
+            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('/') // 鍒ゆ柇瑕佹眰鍊兼槸鍚︿负鍒嗘暟
+            comResult = compute(item.v.f.replace(/=/g, ' '),comValue, isPoint)
             let list3 = list2.map(item=>item+'')
             isToExponential = list3.some(val => val.includes('e+'))
             // 瑁呭椤圭洰妫�楠屽�艰浆鍖�
             if (PROJECT === '瑁呭鐢电紗' && isToExponential) {
               let num2 = new Big(comResult)
-              comResult = num2.toExponential()
+              comResult = num2.toExponential(1)
             }
           }else{
             let valueList = [];
@@ -257,11 +259,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
-                  }catch(e){
+                  }catch(error){
                     a[b].v.v = comResult
+                    console.log('error---', error)
                   }
                   break
                 }
@@ -287,7 +291,7 @@
     }
     self.postMessage(JSON.stringify(result))
   } catch (error) {
-
+    console.log('error---', error)
   }
 }
 
@@ -415,7 +419,7 @@
     }
     return num;
   } catch (error) {
-
+    console.log('error---', error)
   }
 }
 /**
@@ -437,7 +441,7 @@
     }
     return max;
   } catch (error) {
-
+    console.log('error---', error)
   }
 }
 /**
@@ -457,7 +461,7 @@
     }
     return min;
   } catch (error) {
-
+    console.log('error---', error)
   }
 }
 /**
@@ -484,7 +488,7 @@
       return null;
     }
   } catch (error) {
-
+    console.log('error---', error)
   }
 }
 /**
@@ -497,7 +501,7 @@
   try {
     return Math.abs(val);
   } catch (error) {
-
+    console.log('error---', error)
   }
 }
 /**
@@ -528,7 +532,7 @@
       return null;
     }
   } catch (error) {
-
+    console.log('error---', error)
   }
 }
 
@@ -549,7 +553,7 @@
       }
     }
   } catch (error) {
-
+    console.log('error---', error)
   }
 }
 
@@ -575,7 +579,7 @@
     letter += String.fromCharCode(65 + (i % 26));
     return letter + (parseInt(cellId[1]) + 1);
   }catch(e){
-    console.log('error',cellId)
+    console.log('error',e)
   }
 }
 /**
@@ -617,7 +621,7 @@
     }
     return id;
   }catch(e){
-    console.log('error',id)
+    console.log('error',e)
   }
 }
 
@@ -651,7 +655,7 @@
     })
     return arr2;
   } catch (error) {
-
+    console.log('error',error)
   }
 }
 /**
@@ -670,16 +674,16 @@
       'AVERAGE',
       'ABS',
     ]
-    f = f.replace(regex, ',').replaceAll('"&','').replaceAll('&"','')
+    f = f.replace(regex, ',').replace(new RegExp('"&', 'g'),'').replace(new RegExp('&"', 'g'),'')
     fouList.forEach(item=>{
-      f = f.replaceAll(item,',')
+      f = f.replace(new RegExp(item, 'g'),',')
     })
     let arr = f.split(',').filter(item=>{
       return item&& /[a-zA-Z]/.test(item)&&item!='undefined'&&item!='null'
     });
     return arr;
   } catch (error) {
-
+    console.log('error',error)
   }
 }
 /**
@@ -697,7 +701,7 @@
     })
     return arr0;
   } catch (error) {
-
+    console.log('error',error)
   }
 }
 
@@ -709,7 +713,7 @@
  * @param comValue 瀵硅薄绫诲瀷锛岃〃绀鸿鏇挎崲鐨勫崟鍏冩牸鍊硷紝閿负鍗曞厓鏍煎悕绉帮紝鍊间负鏇挎崲鍚庣殑鍊�
  * @returns 杩斿洖璁$畻鍚庣殑缁撴灉锛屽鏋滆绠楀け璐ュ垯杩斿洖0
  */
-function compute(f,comValue){
+function compute(f,comValue, isPoint){
   try {
     let str = f
     // 鑾峰彇鍗曞厓鏍煎搴斿��
@@ -751,25 +755,28 @@
         obj[item] = item
       }
     })
-    str = str.replaceAll(':', '-')
+    str = str.replace(new RegExp(':', 'g'),'-')
     // 鏇挎崲鍙傛暟
     for (var a in obj) {
-      str = str.replaceAll(a, obj[a])
+      str = str.replace(new RegExp(a, 'g'),obj[a])
     }
     // 璁$畻
     for (var a in arr) {
-      str = str.replaceAll(a, arr[a])
+      str = str.replace(new RegExp(a, 'g'),arr[a])
     }
     if(str.includes(',,')){
-      str = str.replaceAll(',,', '')
+      str = str.replace(new RegExp(',,', 'g'),'')
     }
     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 {
       return eval(str)
     }
   } catch (error) {
-
+    console.log('error',error)
   }
 }
 

--
Gitblit v1.9.3