From c7aece35a62b6e91fd98a625bf0e53f64bfbd18d Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 17 八月 2023 16:22:15 +0800
Subject: [PATCH] 2023-08-17

---
 src/templates/sharecomponent/tablecomponent/index.jsx |   43 ++++++++++++++++++++++++++++++++-----------
 1 files changed, 32 insertions(+), 11 deletions(-)

diff --git a/src/templates/sharecomponent/tablecomponent/index.jsx b/src/templates/sharecomponent/tablecomponent/index.jsx
index a3a2bd2..5f6c49a 100644
--- a/src/templates/sharecomponent/tablecomponent/index.jsx
+++ b/src/templates/sharecomponent/tablecomponent/index.jsx
@@ -6,8 +6,8 @@
 import moment from 'moment'
 
 import Api from '@/api'
-import options from '@/store/options.js'
 import Utils from '@/utils/utils.js'
+import MKEmitter from '@/utils/events.js'
 import { queryTableSql } from '@/utils/option.js'
 
 import './index.scss'
@@ -33,15 +33,28 @@
   UNSAFE_componentWillMount () {
     const { config } = this.props
 
+    let tables = config.tables ? fromJS(config.tables).toJS() : []
+
+    window.GLOB.publicTables = tables
+
     this.setState({
-      selectedTables: config.tables ? fromJS(config.tables).toJS() : []
+      selectedTables: tables
     }, () => {
       this.gettableFields()
     })
   }
 
   componentDidMount () {
+    MKEmitter.addListener('publicTableChange', this.publicTableChange)
     this.gettables()
+  }
+
+  publicTableChange = (table, type) => {
+    if (type === 'plus') {
+      this.onTableChange(table)
+    } else if (type === 'del') {
+      this.deleteTable(table)
+    }
   }
 
   /**
@@ -60,8 +73,8 @@
     param.secretkey = Utils.encrypt(param.LText, param.timestamp)
     param.open_key = Utils.encryptOpenKey(param.secretkey, param.timestamp) // 浜戠鏁版嵁楠岃瘉
 
-    if (options.cloudServiceApi) { // 涓斿瓨鍦ㄤ簯绔湴鍧�
-      param.rduri = options.cloudServiceApi
+    if (window.GLOB.cloudServiceApi) { // 涓斿瓨鍦ㄤ簯绔湴鍧�
+      param.rduri = window.GLOB.cloudServiceApi
       param.userid = sessionStorage.getItem('CloudUserID') || ''
       param.LoginUID = sessionStorage.getItem('CloudLoginUID') || ''
     }
@@ -87,8 +100,8 @@
     let deffers = this.state.selectedTables.map((item, i) => {
       return new Promise(resolve => {
         let param = {func: 'sPC_Get_FieldName', TBName: item.TbName}
-        if (options.cloudServiceApi) { // 涓斿瓨鍦ㄤ簯绔湴鍧�
-          param.rduri = options.cloudServiceApi
+        if (window.GLOB.cloudServiceApi) { // 涓斿瓨鍦ㄤ簯绔湴鍧�
+          param.rduri = window.GLOB.cloudServiceApi
           param.userid = sessionStorage.getItem('CloudUserID') || ''
           param.LoginUID = sessionStorage.getItem('CloudLoginUID') || ''
         }
@@ -98,7 +111,7 @@
             res.TBName = item.TbName
             resolve(res)
           })
-        }, i * 50)
+        }, (i + 1) * 100)
       })
     })
     Promise.all(deffers).then(response => {
@@ -170,13 +183,17 @@
     let _table = tables.filter(item => item.TbName === value)[0]
     let isSelected = !!selectedTables.filter(cell => cell.TbName === value)[0]
     if (!isSelected) {
+      let _tables = [...selectedTables, _table]
+
+      window.GLOB.publicTables = _tables
+
       this.setState({
-        selectedTables: [...selectedTables, _table]
+        selectedTables: _tables
       })
 
-      let _config = {...config, tables: [...selectedTables, _table]}
+      let _config = {...config, tables: _tables}
       
-      Api.getSystemConfig({func: 'sPC_Get_FieldName', TBName: value}).then(res => {
+      Api.getCloudConfig({func: 'sPC_Get_FieldName', TBName: value}).then(res => {
         if (res.status) {
           let tabmsg = {
             tableName: _table.TbName,
@@ -248,6 +265,8 @@
     let _tables = selectedTables.filter(item => item.TbName !== table.TbName)
     let _fields = tableFields.filter(item => item.tableName !== table.TbName)
 
+    window.GLOB.publicTables = _tables
+
     this.setState({
       selectedTables: _tables,
       tableFields: _fields
@@ -265,6 +284,7 @@
     this.setState = () => {
       return
     }
+    MKEmitter.removeListener('publicTableChange', this.publicTableChange)
   }
 
   render() {
@@ -276,7 +296,7 @@
         {/* 琛ㄥ悕娣诲姞 */}
         <div className="ant-col ant-form-item-label">
           <label>
-            <Tooltip placement="topLeft" title="姝ゅ鍙互娣诲姞椤甸潰閰嶇疆鐩稿叧鐨勫父鐢ㄨ〃锛屽彲閫氳繃宸ュ叿鏍忎腑鐨勬坊鍔犳寜閽紝鍙壒閲忔坊鍔犺〃鏍肩浉鍏冲瓧娈点��">
+            <Tooltip placement="topLeft" title="姝ゅ鍙互娣诲姞椤甸潰閰嶇疆鐩稿叧鐨勫父鐢ㄨ〃銆�">
               <QuestionCircleOutlined className="mk-form-tip" />
               琛ㄥ悕
             </Tooltip>
@@ -290,6 +310,7 @@
           value="璇烽�夋嫨琛ㄥ悕"
           onSelect={this.onTableChange}
           dropdownClassName="mk-tables"
+          dropdownMatchSelectWidth={false}
           showArrow={false}
           getPopupContainer={() => containerId ? document.getElementById(containerId) : document.body}
           filterOption={(input, option) => {

--
Gitblit v1.8.0