From 9a457873b191ad48f8500279571341e7a98bfd9f Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 06 四月 2023 10:41:16 +0800
Subject: [PATCH] 2023-04-06

---
 src/menu/components/share/actioncomponent/index.jsx |   65 +++++++++++++++++++++++++-------
 1 files changed, 51 insertions(+), 14 deletions(-)

diff --git a/src/menu/components/share/actioncomponent/index.jsx b/src/menu/components/share/actioncomponent/index.jsx
index e4be98c..731e10c 100644
--- a/src/menu/components/share/actioncomponent/index.jsx
+++ b/src/menu/components/share/actioncomponent/index.jsx
@@ -266,6 +266,12 @@
       if ((btn.OpenType === 'excelIn' || btn.OpenType === 'excelOut') && (!btn.verify || !btn.verify.columns) && (config.subtype === 'basetable' || config.subtype === 'normaltable')) {
         let columns = []
         let maps = []
+        let labels = {}
+        if (config.subtype === 'normaltable') {
+          config.columns.forEach(col => {
+            labels[col.field] = col.label
+          })
+        }
 
         if (btn.OpenType === 'excelOut') {
           let pushcol = (item) => {
@@ -289,16 +295,27 @@
           }
 
           config.cols.forEach(item => {
-            if (item.type === 'colspan' && config.subtype === 'normaltable') {
-              item.subcols.forEach(cell => {
-                if (!cell.field || cell.Hide === 'true' || maps.includes(cell.field)) return
-                maps.push(cell.field)
+            if (item.Hide === 'true') return
 
-                pushcol(cell)
-              })
+            if (config.subtype === 'normaltable') {
+              if (item.type === 'colspan') {
+                item.subcols.forEach(cell => {
+                  if (!cell.field || cell.Hide === 'true' || maps.includes(cell.field)) return
+                  maps.push(cell.field)
+  
+                  pushcol(cell)
+                })
+              } else if (item.type === 'custom') {
+                item.elements.forEach(cell => {
+                  if (!cell.field || maps.includes(cell.field)) return
+                  maps.push(cell.field)
+  
+                  pushcol({...cell, label: labels[cell.field]})
+                })
+              }
             }
 
-            if (!item.field || item.Hide === 'true' || maps.includes(item.field)) return
+            if (!item.field || maps.includes(item.field)) return
             maps.push(item.field)
   
             pushcol(item)
@@ -337,16 +354,27 @@
           }
 
           config.cols.forEach(item => {
-            if (item.type === 'colspan' && config.subtype === 'normaltable') {
-              item.subcols.forEach(cell => {
-                if (!cell.field || cell.Hide === 'true' || maps.includes(cell.field)) return
-                maps.push(cell.field)
+            if (item.Hide === 'true') return
 
-                pushcol(cell)
-              })
+            if (config.subtype === 'normaltable') {
+              if (item.type === 'colspan') {
+                item.subcols.forEach(cell => {
+                  if (!cell.field || cell.Hide === 'true' || maps.includes(cell.field)) return
+                  maps.push(cell.field)
+  
+                  pushcol(cell)
+                })
+              } else if (item.type === 'custom') {
+                item.elements.forEach(cell => {
+                  if (!cell.field || maps.includes(cell.field)) return
+                  maps.push(cell.field)
+  
+                  pushcol({...cell, label: labels[cell.field]})
+                })
+              }
             }
 
-            if (!item.field || item.Hide === 'true' || maps.includes(item.field)) return
+            if (!item.field || maps.includes(item.field)) return
             maps.push(item.field)
   
             pushcol(item)
@@ -379,6 +407,15 @@
               if (btn.show === 'icon') {
                 btn.style.color = color[btn.class]
                 btn.style.backgroundColor = 'transparent'
+              } else if (btn.class === 'default') {
+                btn.style.color = 'rgba(0, 0, 0, 0.65)'
+                btn.style.backgroundColor = '#fff'
+                btn.style.borderColor = '#d9d9d9'
+              } else if (btn.class.indexOf('border') > -1) {
+                let _c = btn.class.replace('border-', '')
+                btn.style.color = color[_c]
+                btn.style.backgroundColor = '#fff'
+                btn.style.borderColor = color[_c]
               } else {
                 btn.style.color = '#ffffff'
                 btn.style.backgroundColor = color[btn.class]

--
Gitblit v1.8.0