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/scriptmanage/index.jsx |   53 +++++++++++++++++++++--------------------------------
 1 files changed, 21 insertions(+), 32 deletions(-)

diff --git a/src/tabviews/scriptmanage/index.jsx b/src/tabviews/scriptmanage/index.jsx
index 22912bf..dd31ec9 100644
--- a/src/tabviews/scriptmanage/index.jsx
+++ b/src/tabviews/scriptmanage/index.jsx
@@ -11,10 +11,12 @@
 import options from '@/store/options.js'
 import { scriptMainTable, buttonConfig } from './config'
 
-import MainTable from '@/tabviews/zshare/normalTable'
+import asyncSpinComponent from '@/utils/asyncSpinComponent'
 import TopSearch from './topSearch'
 import MainAction from './actionList'
 import './index.scss'
+
+const MainTable = asyncSpinComponent(() => import('@/tabviews/zshare/normalTable'))
 
 class ScriptTable extends Component {
   static propTpyes = {
@@ -34,6 +36,8 @@
     logcolumns: null,     // 鏃ュ織涓樉绀虹殑鍒椾俊鎭� (澧炲姞鑷冲叏閮ㄥ垪锛岄櫎鍘诲悎骞跺垪)
     setting: {},          // 椤甸潰鍏ㄥ眬璁剧疆锛氭暟鎹簮銆佹寜閽強鏄剧ず鍒楀浐瀹氥�佷富閿瓑
     data: [],             // 鍒楄〃鏁版嵁闆�
+    selectedData: [],     // 宸查�夎〃鏍兼暟鎹�
+    resetTable: false,    // 琛ㄦ牸閲嶇疆锛屽�煎湪true涓巉alse涔嬮棿鍒囨崲锛屽垏鎹㈡椂琛ㄦ牸閲嶇疆
     total: 0,             // 鎬绘暟
     loading: false,       // 鍒楄〃鏁版嵁鍔犺浇涓�
     pageIndex: 1,         // 椤电爜
@@ -188,12 +192,12 @@
    * 鍚湁鍒濆涓嶅姞杞界殑椤甸潰锛屼慨鏀硅缃�
    */
   refreshbysearch = (searches) => {
-    this.refs.mainTable.resetTable()
-
     this.setState({
       loading: true,
       pageIndex: 1,
-      search: searches
+      selectedData: [],
+      search: searches,
+      resetTable: !this.state.resetTable
     }, () => {
       this.loadmaindata()
     })
@@ -213,6 +217,7 @@
 
     this.setState({
       loading: true,
+      selectedData: [],
       pageIndex: pagination.current,
       pageSize: pagination.pageSize,
       orderBy: (sorter.field && sorter.order) ? `${sorter.field} ${sorter.order}` : ''
@@ -225,10 +230,11 @@
    * @description 琛ㄦ牸鍒锋柊
    */
   reloadtable = () => {
-    this.refs.mainTable.resetTable()
     this.setState({
       loading: true,
-      pageIndex: 1
+      pageIndex: 1,
+      selectedData: [],
+      resetTable: !this.state.resetTable
     }, () => {
       this.loadmaindata()
     })
@@ -238,21 +244,8 @@
    * @description 椤甸潰鍒锋柊锛岄噸鏂拌幏鍙栭厤缃�
    */
   reloadview = () => {
-    this.setState({
-      config: {},
-      searchlist: [],
-      actions: [],
-      columns: [],
-      arr_field: '',
-      setting: {},
-      data: [],
-      total: 0,
-      loading: false,
-      pageIndex: 1,
-      pageSize: 10,
-      orderBy: '',
-      search: '',
-      pickup: false
+    this.setState({ config: {}, searchlist: [], actions: [], columns: [], arr_field: '', setting: {}, data: [], total: 0,
+      loading: false, pageIndex: 1, pageSize: 10, orderBy: '', search: '', pickup: false, selectedData: []
     }, () => {
       this.loadconfig()
     })
@@ -274,14 +267,10 @@
   }
 
   /**
-   * @description 鑾峰彇琛ㄦ牸閫夋嫨椤�
+   * @description 琛ㄦ牸閫夋嫨椤瑰垏鎹�
    */
-  gettableselected = () => {
-    let data = []
-    this.refs.mainTable.state.selectedRowKeys.forEach(item => {
-      data.push(this.refs.mainTable.props.data[item])
-    })
-    return data
+  changeSelectedData = (selectedData) => {
+    this.setState({selectedData})
   }
   
   /**
@@ -313,7 +302,7 @@
   }
 
   render() {
-    const { dict, searchlist, config, setting, actions, columns, pickup } = this.state
+    const { dict, searchlist, config, setting, actions, columns, pickup, selectedData } = this.state
 
     return (
       <div className="veruptable pick-control" id={this.state.ContainerId}>
@@ -329,10 +318,10 @@
           actions={actions}
           dict={this.state.dict}
           MenuID={this.props.MenuID}
+          selectedData={selectedData}
           logcolumns={this.state.logcolumns}
           ContainerId={this.state.ContainerId}
           refreshdata={this.refreshbyaction}
-          gettableselected={this.gettableselected}
         />
         <div className="main-table-box">
           {this.state.data && this.state.data.length > 0 ?
@@ -341,8 +330,6 @@
             </div> : null
           }
           <MainTable
-            ref="mainTable"
-            menuType="HS"
             tableId="mainTable"
             pickup={pickup}
             config={config}
@@ -356,6 +343,8 @@
             refreshdata={this.refreshbytable}
             buttonTrigger={() => {}}
             handleTableId={() => {}}
+            resetTable={this.state.resetTable}
+            chgSelectData={this.changeSelectedData}
           />
         </div>
       </div>

--
Gitblit v1.8.0