From cea7fd1176001a4e63ca5cce7c3108af89f8ebf9 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 07 十一月 2024 15:58:50 +0800
Subject: [PATCH] 2024-11-07

---
 src/tabviews/custom/components/card/cardcellList/index.jsx            |   67 ++++++++++++++++++++-------------
 src/tabviews/custom/components/share/normalTable/index.jsx            |    9 ++++
 src/tabviews/custom/components/card/cardcellList/index.scss           |    1 
 src/menu/components/card/cardcellcomponent/elementform/index.jsx      |    5 --
 src/tabviews/custom/components/table/edit-table/normalTable/index.jsx |   18 +++++++++
 5 files changed, 69 insertions(+), 31 deletions(-)

diff --git a/src/menu/components/card/cardcellcomponent/elementform/index.jsx b/src/menu/components/card/cardcellcomponent/elementform/index.jsx
index 1435179..9673341 100644
--- a/src/menu/components/card/cardcellcomponent/elementform/index.jsx
+++ b/src/menu/components/card/cardcellcomponent/elementform/index.jsx
@@ -228,13 +228,10 @@
       }
     } else if (this.record.eleType === 'formula') {
       if (this.record.eval !== 'func') {
-        _options.push('prefix', 'postfix', 'fixStyle', 'alignItems', 'evalchars')
+        _options.push('link', 'prefix', 'postfix', 'fixStyle', 'alignItems', 'evalchars')
       }
       if (this.record.eval === 'true') {
         _options.push('decimal')
-      }
-      if (this.record.eval !== 'func') {
-        _options.push('link')
       }
       if (this.record.link && this.record.eval !== 'func') {
         _options.push('linkType')
diff --git a/src/tabviews/custom/components/card/cardcellList/index.jsx b/src/tabviews/custom/components/card/cardcellList/index.jsx
index aaf053d..3a130e8 100644
--- a/src/tabviews/custom/components/card/cardcellList/index.jsx
+++ b/src/tabviews/custom/components/card/cardcellList/index.jsx
@@ -257,6 +257,7 @@
 
         Object.keys(data).forEach(key => {
           if (/^\$/.test(key)) return
+          if (key === 'children') return
           let reg = new RegExp('@' + key + '@', 'ig')
           url = url.replace(reg, data[key])
         })
@@ -961,35 +962,47 @@
           val = ''
         } else if (data) {
           let _val = card.formula
-
-          if (card.$keys && card.noValue === 'hide') { // 绌哄�奸殣钘�
-            let _data = {}
-            let empty = true
-
-            Object.keys(data).forEach(key => {
-              _data[key.toLowerCase()] = data[key]
-            })
-            _data.username = sessionStorage.getItem('User_Name') || ''
-            _data.fullname = sessionStorage.getItem('Full_Name') || ''
-            _data.bid = data.$$BID || ''
-
-            card.$keys.forEach(key => {
-              if (!_data.hasOwnProperty(key)) {
-                empty = false
-              } else if (_data[key] && !/^1949-10-01/.test(_data[key])) {
-                empty = false
-              }
-            })
-
-            if (empty) return null
-          }
-
-          if (/@username@|@fullName@|@bid@/ig.test(_val)) {
-            _val = _val.replace(/@username@/ig, sessionStorage.getItem('User_Name') || '').replace(/@fullName@/ig, sessionStorage.getItem('Full_Name') || '').replace(/@bid@/ig, data.$$BID || '')
-          }
+          let _data = {}
           Object.keys(data).forEach(key => {
+            if (/^\$/.test(key)) return
+            if (key === 'children') return
+            if (/^1949-10-01/.test(data[key])) {
+              _data[key.toLowerCase()] = ''
+            } else {
+              _data[key.toLowerCase()] = data[key]
+            }
+          })
+          _data.username = sessionStorage.getItem('User_Name') || ''
+          _data.fullname = sessionStorage.getItem('Full_Name') || ''
+          _data.bid = data.$$BID || ''
+
+          if (card.eval === 'false' && card.noValue === 'hide') { // 绌哄�奸殣钘�
+            if (card.$keys) {
+              let empty = true
+
+              card.$keys.forEach(key => {
+                if (!_data.hasOwnProperty(key)) {
+                  empty = false
+                } else if (_data[key]) {
+                  empty = false
+                }
+              })
+  
+              if (empty) return null
+            }
+
+            Object.keys(_data).forEach(key => {
+              if (_data[key]) return
+
+              _val = _val.replace(new RegExp('[^@]*@' + key + '@', 'ig'), '')
+            })
+
+            if (!_val) return null
+          }
+
+          Object.keys(_data).forEach(key => {
             let reg = new RegExp('@' + key + '@', 'ig')
-            _val = _val.replace(reg, data[key])
+            _val = _val.replace(reg, _data[key])
           })
 
           if (card.eval !== 'false') {
diff --git a/src/tabviews/custom/components/card/cardcellList/index.scss b/src/tabviews/custom/components/card/cardcellList/index.scss
index b13d11b..43459c0 100644
--- a/src/tabviews/custom/components/card/cardcellList/index.scss
+++ b/src/tabviews/custom/components/card/cardcellList/index.scss
@@ -44,6 +44,7 @@
     font-weight: inherit;
     text-decoration: inherit;
     font-family: inherit;
+    min-height: 1px;
     .sequence-wrap {
       display: inline-block;
       width: 21px;
diff --git a/src/tabviews/custom/components/share/normalTable/index.jsx b/src/tabviews/custom/components/share/normalTable/index.jsx
index b01e03d..70809ce 100644
--- a/src/tabviews/custom/components/share/normalTable/index.jsx
+++ b/src/tabviews/custom/components/share/normalTable/index.jsx
@@ -418,6 +418,15 @@
           content = ''
         }
       } else {
+        if (col.eval === 'false' && col.noValue === 'hide') { // 绌哄�奸殣钘�
+          Object.keys(record).forEach(key => {
+            if (/^\$/.test(key)) return
+            if (record[key]) return
+
+            content = content.replace(new RegExp('[^@]*@' + key + '@', 'ig'), '')
+          })
+        }
+        
         Object.keys(record).forEach(key => {
           let reg = new RegExp('@' + key + '@', 'ig')
           content = content.replace(reg, record[key])
diff --git a/src/tabviews/custom/components/table/edit-table/normalTable/index.jsx b/src/tabviews/custom/components/table/edit-table/normalTable/index.jsx
index c5678a8..e8b2a2b 100644
--- a/src/tabviews/custom/components/table/edit-table/normalTable/index.jsx
+++ b/src/tabviews/custom/components/table/edit-table/normalTable/index.jsx
@@ -964,6 +964,15 @@
           content = ''
         }
       } else {
+        if (col.eval === 'false' && col.noValue === 'hide') { // 绌哄�奸殣钘�
+          Object.keys(record).forEach(key => {
+            if (/^\$/.test(key)) return
+            if (record[key]) return
+
+            content = content.replace(new RegExp('[^@]*@' + key + '@', 'ig'), '')
+          })
+        }
+
         Object.keys(record).forEach(key => {
           let reg = new RegExp('@' + key + '@', 'ig')
           content = content.replace(reg, record[key])
@@ -1286,6 +1295,15 @@
           content = ''
         }
       } else {
+        if (col.eval === 'false' && col.noValue === 'hide') { // 绌哄�奸殣钘�
+          Object.keys(record).forEach(key => {
+            if (/^\$/.test(key)) return
+            if (record[key]) return
+
+            content = content.replace(new RegExp('[^@]*@' + key + '@', 'ig'), '')
+          })
+        }
+        
         Object.keys(record).forEach(key => {
           let reg = new RegExp('@' + key + '@', 'ig')
           content = content.replace(reg, record[key])

--
Gitblit v1.8.0