From 76427d51a079a5fd1f45bf7188249e7a4647ae05 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 14 九月 2020 10:37:25 +0800
Subject: [PATCH] 2020-09-14

---
 src/templates/sharecomponent/tablecomponent/index.jsx |   38 +++++++++++++++++++-------------------
 1 files changed, 19 insertions(+), 19 deletions(-)

diff --git a/src/templates/sharecomponent/tablecomponent/index.jsx b/src/templates/sharecomponent/tablecomponent/index.jsx
index 4277f06..72431bb 100644
--- a/src/templates/sharecomponent/tablecomponent/index.jsx
+++ b/src/templates/sharecomponent/tablecomponent/index.jsx
@@ -14,7 +14,6 @@
 
 const { Option } = Select
 
-// **鎮茶鑰呭線寰�姝g‘锛屼箰瑙傝�呭線寰�鎴愬姛
 class TablesComponent extends Component {
   static propTpyes = {
     config: PropTypes.object,        // 瀹瑰櫒Id
@@ -23,7 +22,7 @@
   }
 
   state = {
-    dict: (!localStorage.getItem('lang') || localStorage.getItem('lang') === 'zh-CN') ? zhCN : enUS,
+    dict: localStorage.getItem('lang') !== 'en-US' ? zhCN : enUS,
     tables: [],          // 绯荤粺琛�
     tableFields: [],    // 宸查�夎〃瀛楁闆�
     selectedTables: [],  // 宸查�夎〃
@@ -60,8 +59,9 @@
     }
 
     param.LText = Utils.formatOptions(param.LText)
-    param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') + '.000'
+    param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss')
     param.secretkey = Utils.encrypt(param.LText, param.timestamp)
+    param.open_key = Utils.encryptOpenKey(param.secretkey, param.timestamp) // 浜戠鏁版嵁楠岃瘉
 
     Api.getSystemConfig(param).then(res => {
       if (res.status) {
@@ -96,23 +96,19 @@
             columns: res.FDName.map(item => {
               let _type = item.FieldType.toLowerCase()
               let _decimal = 0
+              let _length = 50
               if (/^nvarchar/.test(_type)) {
+                try { // 瀛樺湪max
+                  _length = +_type.match(/\d+/)[0] || 50
+                } catch {
+                  _length = 2048
+                }
                 _type = 'text'
               } else if (/^int/.test(_type)) {
                 _type = 'number'
               } else if (/^decimal/.test(_type)) {
                 _decimal = _type.split(',')[1]
                 _decimal = parseInt(_decimal)
-                if (_decimal > 4) {
-                  _decimal = 4
-                }
-                _type = 'number'
-              } else if (/^decimal/.test(_type)) {
-                _decimal = _type.split(',')[1]
-                _decimal = parseInt(_decimal)
-                if (_decimal > 4) {
-                  _decimal = 4
-                }
                 _type = 'number'
               } else if (/^datetime/.test(_type)) {
                 _type = 'datetime'
@@ -127,7 +123,8 @@
                 label: item.FieldDec,
                 type: _type,
                 datatype: _type,
-                decimal: _decimal
+                decimal: _decimal,
+                length: _length,
               }
             })
           }
@@ -164,15 +161,17 @@
       })
 
       let _config = {...config, tables: [...selectedTables, _table]}
-
+      
       Api.getSystemConfig({func: 'sPC_Get_FieldName', TBName: value}).then(res => {
         if (res.status) {
           let tabmsg = {
-            tableName: _table.name,
+            tableName: _table.TbName,
             columns: res.FDName.map(item => {
               let _type = item.FieldType.toLowerCase()
               let _decimal = 0
+              let _length = 50
               if (/^nvarchar/.test(_type)) {
+                _length = +_type.match(/\d+/)[0] || 50
                 _type = 'text'
               } else if (/^int/.test(_type)) {
                 _type = 'number'
@@ -193,7 +192,8 @@
                 label: item.FieldDec,
                 type: _type,
                 datatype: _type,
-                decimal: _decimal
+                decimal: _decimal,
+                length: _length
               }
             })
           }
@@ -218,7 +218,7 @@
    */
   deleteTable = (table) => {
     const { config } = this.props
-    const {selectedTables, tableFields} = this.state
+    const { selectedTables, tableFields } = this.state
 
     let _tables = selectedTables.filter(item => item.TbName !== table.TbName)
     let _fields = tableFields.filter(item => item.tableName !== table.TbName)
@@ -263,7 +263,7 @@
           value={dict['header.menu.table.placeholder']}
           onChange={this.onTableChange}
           showArrow={false}
-          getPopupContainer={() => document.getElementById(containerId)}
+          getPopupContainer={() => containerId ? document.getElementById(containerId) : document.body}
           filterOption={(input, option) => {
             return option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0 ||
               option.props.value.toLowerCase().indexOf(input.toLowerCase()) >= 0

--
Gitblit v1.8.0