From 871597aaf2c838946723ee44fc7fa12487b56d34 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 22 一月 2025 15:14:25 +0800
Subject: [PATCH] 2025-01-22

---
 src/templates/sharecomponent/fieldscomponent/index.jsx |   53 ++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 38 insertions(+), 15 deletions(-)

diff --git a/src/templates/sharecomponent/fieldscomponent/index.jsx b/src/templates/sharecomponent/fieldscomponent/index.jsx
index 5cc4bf4..4bbf651 100644
--- a/src/templates/sharecomponent/fieldscomponent/index.jsx
+++ b/src/templates/sharecomponent/fieldscomponent/index.jsx
@@ -58,13 +58,14 @@
             if (res.FDName && res.FDName.length > 0) {
               tabmsg.columns = res.FDName.map(item => {
                 let _type = item.FieldType.toLowerCase()
+                let _datatype = item.FieldType.toLowerCase()
                 let _decimal = 0
                 let _length = 50
                 if (/^nvarchar/.test(_type)) {
                   try { // 瀛樺湪max
                     _length = +_type.match(/\d+/)[0] || 50
                   } catch (e) {
-                    _length = 2048
+                    _length = 4000
                   }
                   _type = 'text'
                 } else if (/^int/.test(_type)) {
@@ -80,6 +81,14 @@
                 } else {
                   _type = 'text'
                 }
+
+                if (/^nvarchar/.test(_datatype)) {
+                  _datatype = _datatype.replace(/^nvarchar/, 'Nvarchar')
+                } else if (/^decimal/.test(_datatype)) {
+                  _datatype = _datatype.replace(/^decimal/, 'Decimal')
+                } else if (/^int/.test(_datatype)) {
+                  _datatype = _datatype.replace(/^int/, 'Int')
+                }
     
                 return {
                   field: item.FieldName || '',
@@ -88,7 +97,7 @@
                   datatype: _type,
                   decimal: _decimal,
                   length: _length,
-                  $datatype: item.FieldType.toLowerCase()
+                  $datatype: _datatype
                 }
               })
             }
@@ -137,9 +146,20 @@
     if (type === 'search') {
       // 娣诲姞鎼滅储鏉′欢锛屽瓧娈甸泦涓瓨鍦ㄦ悳绱㈡潯浠跺瓧娈碉紝浣跨敤鎼滅储鏉′欢瀵硅薄鏇挎崲瀛楁闆嗭紝璁剧疆鏁版嵁绫诲瀷
       config.search.forEach(item => {
-        if (item.field && columns.has(item.field.toLowerCase())) {
-          let _datatype = columns.get(item.field.toLowerCase()).datatype
-          columns.set(item.field.toLowerCase(), {...item, origin: true, datatype: _datatype})
+        if (item.field) {
+          if (/,/.test(item.field)) {
+            item.field.split(',').forEach(n => {
+              if (columns.has(n.toLowerCase())) {
+                let _datatype = columns.get(n.toLowerCase()).datatype
+                columns.set(n.toLowerCase(), {...item, field: n, origin: true, datatype: _datatype})
+              }
+            })
+          } else {
+            if (columns.has(item.field.toLowerCase())) {
+              let _datatype = columns.get(item.field.toLowerCase()).datatype
+              columns.set(item.field.toLowerCase(), {...item, origin: true, datatype: _datatype})
+            }
+          }
         }
       })
     } else if (type === 'columns') {
@@ -184,13 +204,6 @@
 
     let config = fromJS(this.props.config).toJS()
 
-    // 鑾峰彇宸查�夊瓧娈甸泦鍚�
-    let cards = selectCards
-    let columnsMap = new Map()
-    cards.forEach(card => {
-      columnsMap.set(card.field.toLowerCase(), card)
-    })
-
     let items = []
     let keys = []
     if (type === 'search') {
@@ -231,8 +244,8 @@
           label: item.label,
           field: item.field,
           Hide: 'false',
-          IsSort: 'true',
-          type: item.type,
+          IsSort: 'false',
+          type: item.type === 'number' ? 'number' : 'text',
           Width: item.type === 'number' ? 80 : 120
         }
 
@@ -240,6 +253,12 @@
           newcard.decimal = item.decimal
         } else {
           newcard.fieldlength = item.length || 50
+        }
+
+        if (item.type === 'date') {
+          newcard.textFormat = 'YYYY-MM-DD'
+        } else if (item.type === 'datetime') {
+          newcard.textFormat = 'YYYY-MM-DD HH:mm:ss'
         }
 
         items.push(newcard)
@@ -257,6 +276,7 @@
           field: item.field,
           datatype: _t
         }
+
         items.unshift(newcard)
         keys.push(item.field.toLowerCase())
       })
@@ -285,7 +305,8 @@
           decimal: item.decimal,
           orderType: 'asc',
           readonly: 'false',
-          required: 'true'
+          required: 'true',
+          readin: 'top'
         }
 
         if (/^icon|images?$/ig.test(item.field)) {
@@ -316,6 +337,8 @@
             newcard.span = 24
             newcard.labelwidth = 16.2
           }
+        } else if (item.type === 'text') {
+          newcard.fieldlength = item.length || 50
         }
 
         items.push(newcard)

--
Gitblit v1.8.0