From cc1a76df575c18f0d0ee96e8658461efdce3a918 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 17 一月 2023 18:01:01 +0800
Subject: [PATCH] 2023-01-17

---
 src/templates/sharecomponent/tablecomponent/index.jsx |   54 ++++++++++++++++++++++++++++++------------------------
 1 files changed, 30 insertions(+), 24 deletions(-)

diff --git a/src/templates/sharecomponent/tablecomponent/index.jsx b/src/templates/sharecomponent/tablecomponent/index.jsx
index e52ef08..540dee1 100644
--- a/src/templates/sharecomponent/tablecomponent/index.jsx
+++ b/src/templates/sharecomponent/tablecomponent/index.jsx
@@ -1,14 +1,13 @@
 import React, {Component} from 'react'
 import PropTypes from 'prop-types'
 import { fromJS } from 'immutable'
-import { Icon, Tooltip, Select, List, notification } from 'antd'
+import { Tooltip, Select, List, notification } from 'antd'
+import { QuestionCircleOutlined, CloseOutlined } from '@ant-design/icons'
 import moment from 'moment'
 
 import Api from '@/api'
 import options from '@/store/options.js'
 import Utils from '@/utils/utils.js'
-import zhCN from '@/locales/zh-CN/model.js'
-import enUS from '@/locales/en-US/model.js'
 import { queryTableSql } from '@/utils/option.js'
 
 import './index.scss'
@@ -23,7 +22,6 @@
   }
 
   state = {
-    dict: sessionStorage.getItem('lang') !== 'en-US' ? zhCN : enUS,
     tables: [],          // 绯荤粺琛�
     tableFields: [],     // 宸查�夎〃瀛楁闆�
     selectedTables: [],  // 宸查�夎〃
@@ -70,6 +68,8 @@
 
     Api.getSystemCacheConfig(param).then(res => {
       if (res.status) {
+        let tbNames = res.data.map(item => item.TbName).join(',')
+        sessionStorage.setItem('mk_tb_names', ',' + tbNames.toLowerCase() + ',')
         this.setState({
           tables: res.data
         })
@@ -84,7 +84,7 @@
   }
 
   gettableFields = () => {
-    let deffers = this.state.selectedTables.map(item => {
+    let deffers = this.state.selectedTables.map((item, i) => {
       return new Promise(resolve => {
         let param = {func: 'sPC_Get_FieldName', TBName: item.TbName}
         if (options.cloudServiceApi) { // 涓斿瓨鍦ㄤ簯绔湴鍧�
@@ -93,10 +93,12 @@
           param.LoginUID = sessionStorage.getItem('CloudLoginUID') || ''
         }
 
-        Api.getSystemCacheConfig(param).then(res => {
-          res.TBName = item.TbName
-          resolve(res)
-        })
+        setTimeout(() => {
+          Api.getSystemCacheConfig(param).then(res => {
+            res.TBName = item.TbName
+            resolve(res)
+          })
+        }, (i + 1) * 100)
       })
     })
     Promise.all(deffers).then(response => {
@@ -112,7 +114,7 @@
               if (/^nvarchar/.test(_type)) {
                 try { // 瀛樺湪max
                   _length = +_type.match(/\d+/)[0] || 50
-                } catch {
+                } catch (e) {
                   _length = 2048
                 }
                 _type = 'text'
@@ -137,6 +139,7 @@
                 datatype: _type,
                 decimal: _decimal,
                 length: _length,
+                $datatype: item.FieldType.toLowerCase()
               }
             })
           }
@@ -181,10 +184,11 @@
               let _type = item.FieldType.toLowerCase()
               let _decimal = 0
               let _length = 50
+
               if (/^nvarchar/.test(_type)) {
                 try { // 瀛樺湪max
                   _length = +_type.match(/\d+/)[0] || 50
-                } catch {
+                } catch (e) {
                   _length = 2048
                 }
                 _type = 'text'
@@ -208,7 +212,8 @@
                 type: _type,
                 datatype: _type,
                 decimal: _decimal,
-                length: _length
+                length: _length,
+                $datatype: item.FieldType.toLowerCase()
               }
             })
           }
@@ -264,16 +269,16 @@
 
   render() {
     const { containerId } = this.props
-    const { dict, tables, selectedTables } = this.state
+    const { tables, selectedTables } = this.state
 
     return (
-      <div className="model-table-tablemanage-view">
+      <div className="model-tablename-manage-view">
         {/* 琛ㄥ悕娣诲姞 */}
         <div className="ant-col ant-form-item-label">
           <label>
-            <Tooltip placement="topLeft" title={dict['model.tooltip.table.guide']}>
-              <Icon type="question-circle" />
-              {dict['header.menu.table.add']}
+            <Tooltip placement="topLeft" title="姝ゅ鍙互娣诲姞椤甸潰閰嶇疆鐩稿叧鐨勫父鐢ㄨ〃锛屽彲閫氳繃宸ュ叿鏍忎腑鐨勬坊鍔犳寜閽紝鍙壒閲忔坊鍔犺〃鏍肩浉鍏冲瓧娈点��">
+              <QuestionCircleOutlined className="mk-form-tip" />
+              琛ㄥ悕
             </Tooltip>
           </label>
         </div>
@@ -282,17 +287,19 @@
           className="tables"
           style={{ width: '100%' }}
           optionFilterProp="children"
-          value={dict['header.menu.table.placeholder']}
-          onChange={this.onTableChange}
+          value="璇烽�夋嫨琛ㄥ悕"
+          onSelect={this.onTableChange}
+          dropdownClassName="mk-tables"
+          dropdownMatchSelectWidth={false}
           showArrow={false}
           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
+            return option.props.children[0].toLowerCase().indexOf(input.toLowerCase()) >= 0 ||
+              option.props.children[2].toLowerCase().indexOf(input.toLowerCase()) >= 0
           }}
         > 
           {tables.map((table, index) => (
-            <Option key={index} title={table.TbName} value={table.TbName}>{table.Remark}</Option>
+            <Option key={index} title={table.TbName} value={table.TbName}>{table.Remark}<br/>{table.TbName}</Option>
           ))}
         </Select>
         {selectedTables.length > 0 && <List
@@ -301,8 +308,7 @@
           dataSource={selectedTables}
           renderItem={(item, index) => <List.Item key={index} title={item.Remark + ' (' + item.TbName + ')'}>
             {item.Remark + ' (' + item.TbName + ')'}
-            <Icon type="close" onClick={() => this.deleteTable(item)}/>
-            <div className="bottom-mask"></div>
+            <CloseOutlined onClick={() => this.deleteTable(item)}/>
           </List.Item>}
         />}
       </div>

--
Gitblit v1.8.0