From 6b202fcb9446a289d64dd1a36e881b688c9bb72b Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期五, 28 七月 2023 19:25:19 +0800 Subject: [PATCH] 2023-07-28 --- src/tabviews/custom/components/share/normalTable/index.jsx | 47 ++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 38 insertions(+), 9 deletions(-) diff --git a/src/tabviews/custom/components/share/normalTable/index.jsx b/src/tabviews/custom/components/share/normalTable/index.jsx index b16b14a..b286f49 100644 --- a/src/tabviews/custom/components/share/normalTable/index.jsx +++ b/src/tabviews/custom/components/share/normalTable/index.jsx @@ -750,9 +750,6 @@ } } - /** - * - */ onSelectChange = (selectedRowKeys, e) => { const { setting, MenuID, data } = this.props @@ -812,7 +809,7 @@ } let selects = this.props.data.filter((item, _index) => newkeys.includes(_index) && !item.$disabled) - + this.props.chgSelectData(selects) if (setting.$hasSyncModule) { @@ -854,20 +851,52 @@ MKEmitter.emit('resetSelectLine', MenuID, _id, _data) } - resetTable = (id, repage, pageIndex) => { - const { MenuID } = this.props + resetTable = (id, type, Index) => { + const { MenuID, setting, data } = this.props if (id !== MenuID) return - if (repage === 'false') { + if (type === 'delete') { + let selectKeys = fromJS(this.state.selectedRowKeys).toJS() + let activeKey = this.state.activeIndex + + let trans = activeKey === Index + let _item = null + let selects = [] + + if (setting.tableType) { + selectKeys = selectKeys.filter(key => key !== Index) + selectKeys = selectKeys.map(key => key > Index ? key - 1 : key) + + selects = selectKeys.map(key => data[key]).filter(Boolean) + + activeKey = selectKeys.length ? selectKeys[selectKeys.length - 1] : null + + if (trans && selects.length) { + _item = selects[selects.length - 1] + } + } + + this.setState({ selectedRowKeys: selectKeys, activeIndex: activeKey }) + + this.props.chgSelectData(selects) + + if (trans) { + MKEmitter.emit('resetSelectLine', MenuID, (_item ? _item.$$uuid : ''), _item) + } + + if (setting.$hasSyncModule) { + MKEmitter.emit('syncBalconyData', MenuID, selects, data.length === selects.length) + } + } else if (type === 'false') { this.setState({ selectedRowKeys: [], activeIndex: null, pickup: false }) - } else if (repage === 'repage') { + } else if (type === 'repage') { this.setState({ - pageIndex: pageIndex, + pageIndex: Index, selectedRowKeys: [], activeIndex: null, pickup: false -- Gitblit v1.8.0