From 24bfb39e86c7a265803486bc4b546ea2bfaef4a5 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期日, 02 四月 2023 23:40:30 +0800
Subject: [PATCH] 2023-04-02

---
 src/menu/components/share/actioncomponent/index.jsx |   43 ++++++++++++++++++++++++++++++++++++-------
 1 files changed, 36 insertions(+), 7 deletions(-)

diff --git a/src/menu/components/share/actioncomponent/index.jsx b/src/menu/components/share/actioncomponent/index.jsx
index 4d26f43..e4be98c 100644
--- a/src/menu/components/share/actioncomponent/index.jsx
+++ b/src/menu/components/share/actioncomponent/index.jsx
@@ -263,13 +263,12 @@
     this.actionFormRef.handleConfirm().then(btn => {
       _actionlist = _actionlist.filter(item => !item.origin || item.uuid === btn.uuid)
 
-      if ((btn.OpenType === 'excelIn' || btn.OpenType === 'excelOut') && (!btn.verify || !btn.verify.columns) && config.subtype === 'basetable') {
+      if ((btn.OpenType === 'excelIn' || btn.OpenType === 'excelOut') && (!btn.verify || !btn.verify.columns) && (config.subtype === 'basetable' || config.subtype === 'normaltable')) {
         let columns = []
+        let maps = []
 
         if (btn.OpenType === 'excelOut') {
-          config.cols.forEach(item => {
-            if (!item.field || item.Hide === 'true') return
-  
+          let pushcol = (item) => {
             let cell = {
               Column: item.field,
               Text: item.label,
@@ -287,14 +286,28 @@
             }
   
             columns.push(cell)
+          }
+
+          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)
+
+                pushcol(cell)
+              })
+            }
+
+            if (!item.field || item.Hide === 'true' || maps.includes(item.field)) return
+            maps.push(item.field)
+  
+            pushcol(item)
           })
 
           btn.verify = btn.verify || {enable: 'false', dataType: 'default', scripts: []}
           btn.verify.columns = columns
         } else {
-          config.cols.forEach(item => {
-            if (!item.field || item.Hide === 'true') return
-  
+          let pushcol = (item) => {
             let _type = 'Nvarchar(50)'
             let _limit = '50'
             if (item.type === 'number' && !item.decimal) {
@@ -321,6 +334,22 @@
             }
   
             columns.push(_cell)
+          }
+
+          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)
+
+                pushcol(cell)
+              })
+            }
+
+            if (!item.field || item.Hide === 'true' || maps.includes(item.field)) return
+            maps.push(item.field)
+  
+            pushcol(item)
           })
 
           btn.verify = btn.verify || {sheet: 'Sheet1', default: 'true', range: 1, scripts: [], uniques: []}

--
Gitblit v1.8.0