From a1a287b479b0039c17c2fabdb7988a93ce7b25e3 Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期四, 26 十二月 2024 14:33:04 +0800
Subject: [PATCH] 完成7.2标准方法的变更

---
 src/util/excelFountion.js |   47 ++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 38 insertions(+), 9 deletions(-)

diff --git a/src/util/excelFountion.js b/src/util/excelFountion.js
index 75988a1..05a3e7c 100644
--- a/src/util/excelFountion.js
+++ b/src/util/excelFountion.js
@@ -51,7 +51,7 @@
     let min = null;
     if(val&&val.length>0){
       val = val.filter(item=>item!=null&&item!=='')
-      console.log(val)
+      // console.log(val)
       if(val.length>0){
         min = Math.min(...val)
       }
@@ -127,6 +127,27 @@
       }
     }else{
       return null;
+    }
+  } catch (error) {
+
+  }
+}
+
+/**
+ * 璁$畻骞�
+ *
+ * @param str 瀛楃涓插舰寮忕殑骞傝〃杈惧紡锛屼緥濡�"2^3"
+ * @returns 杩斿洖璁$畻鍚庣殑骞傚�硷紝濡傛灉琛ㄨ揪寮忔棤鏁堝垯杩斿洖null
+ */
+function CalculatePower(str){
+  try {
+    if(str&&str.includes('^')){
+      let arr = str.split('^');
+      if(arr&&arr.length>1){
+        return Math.pow(arr[0],arr[1]);
+      }else{
+        return null;
+      }
     }
   } catch (error) {
 
@@ -248,12 +269,13 @@
       'MAX',
       'MIN',
       'AVERAGE',
-      'APS',
+      'ABS',
     ]
-    f = f.replace(regex, ',')
+    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'),'')
     })
+    // console.log('f',f)
     let arr = f.split(',').filter(item=>{
       return item&& /[a-zA-Z]/.test(item)&&item!='undefined'&&item!='null'
     });
@@ -294,8 +316,15 @@
     // 鑾峰彇鍗曞厓鏍煎搴斿��
     let arr = getAllCell(f)
     for (var a in comValue) {
-      if(comValue[a]!=='undefine'&&comValue[a]!=='null'&&comValue[a]!==undefined){
-        arr[a] = comValue[a]
+      if(comValue[a]!=='undefined'&&comValue[a]!=='null'&&comValue[a]!==undefined){
+        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]
+        } else{
+          arr[a] = comValue[a]
+        }
       }
     }
     // 瑙f瀽鍏紡鍙傛暟锛岀壒鍒槸甯︼細鐨�
@@ -325,14 +354,14 @@
         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])
     }
     return eval(str)
   } catch (error) {

--
Gitblit v1.9.3