From 992f25d08ea2b5a6438ccc792a5c723b8a72f674 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期五, 06 八月 2021 18:19:39 +0800 Subject: [PATCH] 2021-08-06 --- src/tabviews/custom/components/share/normalTable/index.jsx | 46 +++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 43 insertions(+), 3 deletions(-) diff --git a/src/tabviews/custom/components/share/normalTable/index.jsx b/src/tabviews/custom/components/share/normalTable/index.jsx index 2d53f40..f0ba8f3 100644 --- a/src/tabviews/custom/components/share/normalTable/index.jsx +++ b/src/tabviews/custom/components/share/normalTable/index.jsx @@ -3,7 +3,7 @@ import md5 from 'md5' import { connect } from 'react-redux' import { is, fromJS } from 'immutable' -import { Table, Typography, Icon, Col, Switch } from 'antd' +import { Table, Typography, Icon, Col, Switch, message } from 'antd' import { modifyTabview } from '@/store/action' import asyncComponent from '@/utils/asyncComponent' @@ -496,6 +496,7 @@ } componentDidMount () { + MKEmitter.addListener('mkCheckAll', this.mkCheckAll) MKEmitter.addListener('resetTable', this.resetTable) } @@ -506,7 +507,39 @@ this.setState = () => { return } + MKEmitter.removeListener('mkCheckAll', this.mkCheckAll) MKEmitter.removeListener('resetTable', this.resetTable) + } + + mkCheckAll = (menuId, checked) => { + const { MenuID, data } = this.props + + if (MenuID !== menuId) return + + if (checked) { + this.setState({ + activeIndex: '', + selectedRowKeys: data.map((item, index) => index) + }) + + this.props.chgSelectData(data) + + MKEmitter.emit('resetSelectLine', MenuID, '', '') + MKEmitter.emit('syncBalconyData', MenuID, data, data.length > 0) + if (data.length === 0) { + message.warning('鏈幏鍙栧埌鏁版嵁锛�') + } + } else { + this.setState({ + activeIndex: '', + selectedRowKeys: [], + }) + + this.props.chgSelectData([]) + + MKEmitter.emit('resetSelectLine', MenuID, '', '') + MKEmitter.emit('syncBalconyData', MenuID, [], false) + } } // 瀛楁閫忚 @@ -585,7 +618,7 @@ * */ onSelectChange = selectedRowKeys => { - const { setting } = this.props + const { setting, MenuID, data } = this.props let index = '' let _activeIndex = null @@ -604,13 +637,16 @@ let selects = this.props.data.filter((item, _index) => selectedRowKeys.includes(_index)) this.props.chgSelectData(selects) + if (setting.$hasSyncModule) { + MKEmitter.emit('syncBalconyData', MenuID, selects, data.length === selects.length) + } } /** * @description 鐐瑰嚮鏁磋锛岃Е鍙戝垏鎹紝 鍒ゆ柇鏄惁鍙�夛紝鍗曢�夋垨澶氶�夛紝杩涜瀵瑰簲鎿嶄綔 */ changeRow = (record, index) => { - const { setting } = this.props + const { setting, MenuID, data } = this.props if (!setting.tableType || this.state.pickup) return @@ -640,6 +676,10 @@ let selects = this.props.data.filter((item, _index) => newkeys.includes(_index)) this.props.chgSelectData(selects) + + if (setting.$hasSyncModule) { + MKEmitter.emit('syncBalconyData', MenuID, selects, data.length === selects.length) + } } changeTable = (pagination, filters, sorter) => { -- Gitblit v1.8.0