From 2b46797c3a5868f7f26329da5834c13aae07ad69 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 03 四月 2023 11:59:34 +0800
Subject: [PATCH] Merge branch 'develop'

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

diff --git a/src/menu/components/share/actioncomponent/index.jsx b/src/menu/components/share/actioncomponent/index.jsx
index 82fe3f2..e4be98c 100644
--- a/src/menu/components/share/actioncomponent/index.jsx
+++ b/src/menu/components/share/actioncomponent/index.jsx
@@ -263,6 +263,100 @@
     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' || config.subtype === 'normaltable')) {
+        let columns = []
+        let maps = []
+
+        if (btn.OpenType === 'excelOut') {
+          let pushcol = (item) => {
+            let cell = {
+              Column: item.field,
+              Text: item.label,
+              Width: 20,
+              abs: 'false',
+              output: 'true',
+              required: 'false',
+              type: 'text',
+              uuid: Utils.getuuid()
+            }
+  
+            if (item.type === 'number') {
+              cell.type = 'number'
+              cell.decimal = item.decimal
+            }
+  
+            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 {
+          let pushcol = (item) => {
+            let _type = 'Nvarchar(50)'
+            let _limit = '50'
+            if (item.type === 'number' && !item.decimal) {
+              _type = 'Int'
+              _limit = ''
+            } else if (item.type === 'number') {
+              _type = 'Decimal(18,' + item.decimal + ')'
+              _limit = item.decimal
+            }
+
+            let _cell = {
+              uuid: Utils.getuuid(),
+              Column: item.field,
+              Text: item.label,
+              type: _type,
+              limit: _limit,
+              import: 'true',
+              required: 'true'
+            }
+
+            if (_type !== 'Nvarchar(50)') {
+              _cell.min = 0
+              _cell.max = 999999
+            }
+  
+            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: []}
+          btn.verify.columns = columns
+        }
+      }
+
       let labelrepet = false
       _actionlist = _actionlist.map(item => {
         if (item.uuid !== btn.uuid && item.label === btn.label) {

--
Gitblit v1.8.0