From 3ca91a731665962918a026f521c556f4745ebf35 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期一, 16 十一月 2020 19:20:19 +0800 Subject: [PATCH] 2020-11-16 --- src/tabviews/treepage/index.jsx | 86 +++++++++++++++++------------------------- 1 files changed, 35 insertions(+), 51 deletions(-) diff --git a/src/tabviews/treepage/index.jsx b/src/tabviews/treepage/index.jsx index d90534d..579c736 100644 --- a/src/tabviews/treepage/index.jsx +++ b/src/tabviews/treepage/index.jsx @@ -13,8 +13,6 @@ import MKEmitter from '@/utils/events.js' import asyncComponent from '@/utils/asyncComponent' import asyncSpinComponent from '@/utils/asyncSpinComponent' -import {refreshTabView, modifyTabview} from '@/store/action' - import NotFount from '@/components/404' import './index.scss' @@ -51,7 +49,6 @@ BIDs: {}, // 涓婄骇琛╥d visible: false, // 寮规鏄剧ず闅愯棌鎺у埗 treevisible: false, // 鑿滃崟缁撴瀯鏍戝脊妗嗘樉绀洪殣钘忔帶鍒� - refreshtabs: null, // 闇�瑕佸埛鏂扮殑鏍囩闆� confirmLoading: false,// 鑷畾涔夎缃ā鎬佹鍔犺浇涓� revertLoading: false, // 鎭㈠榛樿璁剧疆 settingVisible: false,// 鑷畾涔夎缃ā鎬佹 @@ -483,33 +480,6 @@ } /** - * @description 瀛愯〃鎿嶄綔瀹屾垚鍚庡埛鏂颁富琛� - */ - handleMainTable = (type, tab) => { - if (type === 'maingrid' && (tab.supMenu === 'mainTable' || (!tab.supMenu && tab.level === 0))) { - this.loadmaindata() - } else if (type === 'mainline' && (tab.supMenu === 'mainTable' || (!tab.supMenu && tab.level === 0))) { - this.loadmaindata() - } else if ((type === 'maingrid' || type === 'mainline') && tab.supMenu) { - this.setState({ - refreshtabs: [type, tab.supMenu] - }, () => { - this.setState({ - refreshtabs: null - }) - }) - } else if (type === 'equaltab' && tab.equalTab && tab.equalTab.length > 0) { - this.setState({ - refreshtabs: tab.equalTab - }, () => { - this.setState({ - refreshtabs: null - }) - }) - } - } - - /** * @description 琛ㄦ牸Id鍙樺寲 */ handleTableId = (type, id, data) => { @@ -676,25 +646,43 @@ }) } + reloadData = (menuId) => { + const { MenuID } = this.props + + if (MenuID !== menuId) return + + this.loadmaindata() + } + + reloadMenuView = (menuId) => { + const { MenuID } = this.props + + if (MenuID !== menuId) return + + this.reloadview() + } + + resetActiveMenu = (menuId) => { + const { MenuID } = this.props + + if (MenuID !== menuId) return + + this.setShortcut() + } + UNSAFE_componentWillMount () { // 缁勪欢鍔犺浇鏃讹紝鑾峰彇鑿滃崟鏁版嵁 this.loadconfig() } - UNSAFE_componentWillReceiveProps(nextProps) { - if (nextProps.refreshTab && nextProps.refreshTab.MenuID === this.props.MenuID) { - this.reloadview() - this.props.refreshTabView('') - } else if (!is(fromJS(this.props.tabviews), fromJS(nextProps.tabviews))) { - let selectTab = nextProps.tabviews.filter(tab => tab.selected)[0] - if (selectTab && selectTab.MenuID === this.props.MenuID) { - this.setShortcut() - } - } - } - shouldComponentUpdate (nextProps, nextState) { return !is(fromJS(this.props), fromJS(nextProps)) || !is(fromJS(this.state), fromJS(nextState)) + } + + componentDidMount () { + MKEmitter.addListener('reloadData', this.reloadData) + MKEmitter.addListener('reloadMenuView', this.reloadMenuView) + MKEmitter.addListener('resetActiveMenu', this.resetActiveMenu) } /** @@ -705,6 +693,9 @@ return } document.onkeydown = () => {} + MKEmitter.removeListener('reloadData', this.reloadData) + MKEmitter.removeListener('reloadMenuView', this.reloadMenuView) + MKEmitter.removeListener('resetActiveMenu', this.resetActiveMenu) } changeExpandedKeys = (expandedKeys) => { @@ -791,12 +782,10 @@ mainSearch={null} userConfig={userConfig ? userConfig[_tab.uuid] : null} SupMenuID={this.props.MenuID} - refreshtabs={this.state.refreshtabs} ContainerId={this.state.ContainerId} BID={this.state.BIDs[_tab.supMenu] || ''} BData={this.state.BIDs[_tab.supMenu + 'data'] || ''} handleTableId={this.handleTableId} - handleMainTable={(type) => this.handleMainTable(type, _tab)} /> : null} </TabPane> ) @@ -868,8 +857,6 @@ const mapStateToProps = (state) => { return { menuType: state.editLevel, - tabviews: state.tabviews, - refreshTab: state.refreshTab, permAction: state.permAction, permRoles: state.permRoles, memberLevel: state.memberLevel, @@ -877,11 +864,8 @@ } } -const mapDispatchToProps = (dispatch) => { - return { - refreshTabView: (refreshTab) => dispatch(refreshTabView(refreshTab)), - modifyTabview: (tabviews) => dispatch(modifyTabview(tabviews)) - } +const mapDispatchToProps = () => { + return {} } export default connect(mapStateToProps, mapDispatchToProps)(TreePage) \ No newline at end of file -- Gitblit v1.8.0