From 89e7167a83e0d8409ca87698e4c08651a37cc26e Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期五, 12 六月 2020 18:19:35 +0800
Subject: [PATCH] 2020-06-12

---
 src/tabviews/verupmanage/subtabtable/index.jsx |   54 ++++++++++++++++++++++++++++++------------------------
 1 files changed, 30 insertions(+), 24 deletions(-)

diff --git a/src/tabviews/verupmanage/subtabtable/index.jsx b/src/tabviews/verupmanage/subtabtable/index.jsx
index 8073ec4..cb309f1 100644
--- a/src/tabviews/verupmanage/subtabtable/index.jsx
+++ b/src/tabviews/verupmanage/subtabtable/index.jsx
@@ -11,11 +11,13 @@
 import options from '@/store/options.js'
 import { buttonConfig, tabConfig } from '../config'
 
-import SubTable from '@/tabviews/zshare/normalTable'
+import asyncSpinComponent from '@/utils/asyncSpinComponent'
 import SubAction from '../actionList'
 import SubSearch from '../topSearch'
 
 import './index.scss'
+
+const SubTable = asyncSpinComponent(() => import('@/tabviews/zshare/normalTable'))
 
 class VerupSubTabViewTable extends Component {
   static propTpyes = {
@@ -41,6 +43,8 @@
     arr_field: '',        // 浣跨敤 sPC_Get_TableData 鏃剁殑鏌ヨ瀛楁闆�
     setting: null,        // 椤甸潰鍏ㄥ眬璁剧疆锛氭暟鎹簮銆佹寜閽強鏄剧ず鍒楀浐瀹氥�佷富閿瓑
     data: null,           // 鍒楄〃鏁版嵁闆�
+    selectedData: [],     // 宸查�夎〃鏍兼暟鎹�
+    resetTable: false,    // 琛ㄦ牸閲嶇疆锛屽�煎湪true涓巉alse涔嬮棿鍒囨崲锛屽垏鎹㈡椂琛ㄦ牸閲嶇疆
     total: 0,             // 鎬绘暟
     loading: false,       // 鍒楄〃鏁版嵁鍔犺浇涓�
     pageIndex: 1,         // 椤电爜
@@ -58,8 +62,13 @@
    */
   UNSAFE_componentWillReceiveProps(nextProps) {
     if (this.state.config && this.props.Tab.supMenu && !is(fromJS(this.props.BID), fromJS(nextProps.BID))) {
-      this.refs.subTable.resetTable()
-      this.loadmaindata(nextProps.BID, 'refresh')
+      this.setState({
+        pageIndex: 1,
+        selectedData: [],
+        resetTable: !this.state.resetTable,
+      }, () => {
+        this.loadmaindata(nextProps.BID, 'refresh')
+      })
     } else if (this.state.config && nextProps.refreshtabs && nextProps.refreshtabs.includes(this.props.Tab.uuid)) {
 
       this.reloadtable()
@@ -288,12 +297,12 @@
    * 鍚湁鍒濆涓嶅姞杞界殑椤甸潰锛屼慨鏀硅缃�
    */
   refreshbysearch = (searches) => {
-    this.refs.subTable.resetTable()
-
     this.setState({
       loading: true,
       pageIndex: 1,
-      search: searches
+      selectedData: [],
+      search: searches,
+      resetTable: !this.state.resetTable
     }, () => {
       this.loadmaindata()
     })
@@ -313,6 +322,7 @@
 
     this.setState({
       loading: true,
+      selectedData: [],
       pageIndex: pagination.current,
       pageSize: pagination.pageSize,
       orderBy: (sorter.field && sorter.order) ? `${sorter.field} ${sorter.order}` : ''
@@ -325,13 +335,21 @@
    * @description 琛ㄦ牸鍒锋柊
    */
   reloadtable = () => {
-    this.refs.subTable.resetTable()
     this.setState({
       loading: true,
-      pageIndex: 1
+      pageIndex: 1,
+      selectedData: [],
+      resetTable: !this.state.resetTable
     }, () => {
       this.loadmaindata()
     })
+  }
+
+  /**
+   * @description 琛ㄦ牸閫夋嫨椤瑰垏鎹�
+   */
+  changeSelectedData = (selectedData) => {
+    this.setState({selectedData})
   }
 
   /**
@@ -379,17 +397,6 @@
   }
 
   /**
-   * @description 鑾峰彇琛ㄦ牸閫夋嫨椤�
-   */
-  gettableselected = () => {
-    let data = []
-    this.refs.subTable.state.selectedRowKeys.forEach(item => {
-      data.push(this.refs.subTable.props.data[item])
-    })
-    return data
-  }
-
-  /**
    * @description 琛ㄦ牸Id鍙樺寲
    */
   handleTableId = (type = this.props.Tab.uuid, id = '', data = '') => {
@@ -426,7 +433,7 @@
   }
 
   render() {
-    const { config, setting, searchlist, actions, columns, pickup } = this.state
+    const { config, setting, searchlist, actions, columns, pickup, selectedData } = this.state
 
     return (
       <div className="subtable" id={'subtable' + this.props.MenuID}>
@@ -440,7 +447,6 @@
         {actions ?
           <div className="sub-action">
             <SubAction
-              ref="subButton"
               type="sub"
               setting={setting}
               actions={actions}
@@ -448,12 +454,12 @@
               BID={this.props.BID}
               BData={this.props.BData}
               dict={this.state.dict}
+              selectedData={selectedData}
               MenuID={this.props.SupMenuID}
               logcolumns={this.state.logcolumns}
               refreshdata={this.refreshbyaction}
               ContainerId={this.props.ContainerId}
               getexceloutparam={this.getexceloutparam}
-              gettableselected={this.gettableselected}
             />
           </div> : null
         }
@@ -463,8 +469,6 @@
               <Switch title="鏀惰捣" className="subtable-pickup" checkedChildren="寮�" unCheckedChildren="鍏�" defaultChecked={pickup} onChange={this.pickupChange} /> : null
             }
             <SubTable
-              ref="subTable"
-              menuType="HS"
               tableId={this.props.Tab.uuid}
               pickup={pickup}
               config={config}
@@ -478,6 +482,8 @@
               refreshdata={this.refreshbytable}
               buttonTrigger={() => {}}
               handleTableId={this.handleTableId}
+              resetTable={this.state.resetTable}
+              chgSelectData={this.changeSelectedData}
             />
           </div> : null
         }

--
Gitblit v1.8.0