From 1761ef271f1a3917b5380497059a86c54ad7a20a Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 09 十月 2023 17:35:01 +0800
Subject: [PATCH] 2023-10-09

---
 src/menu/datasource/index.jsx |   21 ++++++++++++++++++++-
 src/menu/debug/index.jsx      |   13 ++++++++++---
 2 files changed, 30 insertions(+), 4 deletions(-)

diff --git a/src/menu/datasource/index.jsx b/src/menu/datasource/index.jsx
index 759e84e..68edece 100644
--- a/src/menu/datasource/index.jsx
+++ b/src/menu/datasource/index.jsx
@@ -157,13 +157,15 @@
 
       if (res.columns) {
         res.columns = res.columns.map(item => {
-    
           if (/int/ig.test(item.datatype)) {
             item.type = 'number'
             item.decimal = 0
           } else if (/Decimal/ig.test(item.datatype)) {
             item.type = 'number'
             item.decimal = +item.datatype.replace(/^Decimal\(18,/ig, '').replace(/\)/ig, '')
+          } else if (/^date/ig.test(item.datatype)) {
+            item.type = 'text'
+            item.fieldlength = 50
           } else {
             item.type = 'text'
             item.fieldlength = +item.datatype.replace(/^Nvarchar\(/ig, '').replace(/\)/ig, '')
@@ -211,6 +213,23 @@
       if (config.subtype !== 'dualdatacard') {
         delete res.subColumns
       } else {
+        res.subColumns = res.subColumns.map(item => {
+          if (/int/ig.test(item.datatype)) {
+            item.type = 'number'
+            item.decimal = 0
+          } else if (/Decimal/ig.test(item.datatype)) {
+            item.type = 'number'
+            item.decimal = +item.datatype.replace(/^Decimal\(18,/ig, '').replace(/\)/ig, '')
+          } else if (/^date/ig.test(item.datatype)) {
+            item.type = 'text'
+            item.fieldlength = 50
+          } else {
+            item.type = 'text'
+            item.fieldlength = +item.datatype.replace(/^Nvarchar\(/ig, '').replace(/\)/ig, '')
+          }
+          return item
+        })
+  
         res.subColumns.reverse()
       }
 
diff --git a/src/menu/debug/index.jsx b/src/menu/debug/index.jsx
index 6e18351..91b7f27 100644
--- a/src/menu/debug/index.jsx
+++ b/src/menu/debug/index.jsx
@@ -315,7 +315,7 @@
   
             card.backElements.forEach(cell => {
               if (cell.eleType !== 'button' || cell.hidden === 'true') return
-              let sql = this.resetButton(item, cell, process)
+              let sql = this.resetButton(item, cell, process, null, true)
 
               if (sql) {
                 if (typeof(sql) === 'string') {
@@ -364,11 +364,18 @@
     })
   }
 
-  resetButton = (item, cell, process, group) => {
+  resetButton = (item, cell, process, group, isback) => {
     let sql = ''
     if (['exec', 'prompt', 'pop', 'form', 'formSubmit'].includes(cell.OpenType)) {
       if (cell.intertype === 'system' || cell.procMode === 'system') { // 绯荤粺鎺ュ彛
-        sql = this.getSysDefaultSql(cell, item, process, group)
+        if (item.subtype === 'dualdatacard' && isback) {
+          let _item = fromJS(item).toJS()
+          _item.columns = _item.subColumns || []
+          _item.setting.primaryKey = _item.setting.subKey
+          sql = this.getSysDefaultSql(cell, _item, process, group)
+        } else {
+          sql = this.getSysDefaultSql(cell, item, process, group)
+        }
       }
     } else if (cell.OpenType === 'excelIn') {
       if (cell.intertype === 'system') {

--
Gitblit v1.8.0