From b1df470c0c1ef83fdc5929c8ec369dcda022c38f Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期五, 14 七月 2023 16:12:33 +0800
Subject: [PATCH] Merge branch 'master' into positec

---
 src/tabviews/custom/components/card/cardcellList/index.jsx |   24 ++++++++++++++++++++++--
 1 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/src/tabviews/custom/components/card/cardcellList/index.jsx b/src/tabviews/custom/components/card/cardcellList/index.jsx
index 333a959..cb07a91 100644
--- a/src/tabviews/custom/components/card/cardcellList/index.jsx
+++ b/src/tabviews/custom/components/card/cardcellList/index.jsx
@@ -751,8 +751,26 @@
       } else if (card.eleType === 'formula') {
         let val = 0
         let _style = {...card.style}
+        
+        if (card.eval === 'func') {
+          let _data = []
+          if (card.$sync) {
+            _data = this.props.syncData
+          } else if (data && !data.$$empty) {
+            _data = [data]
+          }
 
-        if (card.$sync) {
+          try {
+            // eslint-disable-next-line
+            let func = new Function('data', card.formula)
+            val = func(_data)
+          } catch (e) {
+            if (window.debugger) {
+              console.warn(e)
+            }
+            val = ''
+          }
+        } else if (card.$sync) {
           if (card.eval === 'false') {
             val = ''
           }
@@ -813,7 +831,9 @@
           val = val.toFixed(card.decimal)
         }
   
-        if (val !== '') {
+        if (card.eval === 'func') {
+          val = <span dangerouslySetInnerHTML={{__html: val}}></span>
+        } else if (val !== '') {
           if (val && typeof(val) === 'string') {
             val = val.replace(/\n/ig, '<br/>')
             if (!/<(span|div|p|a|img)\s/g.test(val)) {

--
Gitblit v1.8.0