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