From f8c3c53f9e29541f8c0e3fcbf682c301fd17e06a Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期一, 23 十一月 2020 17:49:23 +0800 Subject: [PATCH] 2020-11-23 --- src/templates/menuconfig/editthdmenu/index.jsx | 143 +++++++++-------------------------------------- 1 files changed, 27 insertions(+), 116 deletions(-) diff --git a/src/templates/menuconfig/editthdmenu/index.jsx b/src/templates/menuconfig/editthdmenu/index.jsx index 60f1ace..11d4b2b 100644 --- a/src/templates/menuconfig/editthdmenu/index.jsx +++ b/src/templates/menuconfig/editthdmenu/index.jsx @@ -78,8 +78,6 @@ btnTabConfig: null, // 鎵撳紑鏂版爣绛炬寜閽厤缃� handleMVisible: false, // 娣诲姞鎴栦慨鏀硅彍鍗曟ā鎬佹锛堣鑹叉潈闄愬垎閰嶇瓑锛� sysMenu: false, // 娣诲姞鎴栫紪杈戣彍鍗曪紙瑙掕壊鏉冮檺鍒嗛厤绛夛級 - fstMenuId: null, // 涓�绾ц彍鍗旾d - fstMenuList: null // 涓�绾ц彍鍗曞垪琛� } /** @@ -117,7 +115,7 @@ }) } else if (menu.type === 'close') { confirm({ - title: this.state.dict['model.menu.close'].replace('@M', menu.card.text), + title: this.state.dict['model.menu.close'].replace('@M', menu.card.MenuName), content: '', onOk() { let param = { @@ -141,26 +139,13 @@ } else if (menu.type === 'edit') { let _menu = fromJS(menu.card).toJS() - delete _menu.id - delete _menu.src - delete _menu.text - if (_menu.PageParam && (_menu.PageParam.Template === 'RolePermission' || _menu.PageParam.Template === 'NewPage')) { // 鍗曢〉闈慨鏀� _menu.Template = _menu.PageParam.Template _menu.url = _menu.PageParam.url - if (!this.state.fstMenuId) { - notification.warning({ - top: 92, - message: '鑿滃崟鍔犺浇涓紝璇风◢鍚庨噸璇曪紒', - duration: 5 - }) - return - } - + _menu.fstMenuId = _menu.FstId _menu.supMenuList = this.props.supMenuList - _menu.fstMenuId = this.state.fstMenuId || '' - _menu.fstMenuList = this.state.fstMenuList || [] + _menu.fstMenuList = this.props.menuTree this.setState({ handleMVisible: true, @@ -193,9 +178,9 @@ } _menu.LongParam = _LongParam + _menu.fstMenuId = _menu.FstId _menu.supMenuList = this.props.supMenuList - _menu.fstMenuId = this.state.fstMenuId || '' - _menu.fstMenuList = this.state.fstMenuList || [] + _menu.fstMenuList = this.props.menuTree _menu.open_edition = res.open_edition || '' // 妫�娴嬫ā鏉挎槸鍚﹀瓨鍦� @@ -217,7 +202,7 @@ }, () => { document.getElementById('root').style.overflowY = 'hidden' }) - } else if (_menu.fstMenuId) { + } else { this.setState({ type: 'edit', editMenu: _menu, @@ -225,12 +210,6 @@ tabview: _menu.PageParam.Template }, () => { document.getElementById('root').style.overflowY = 'hidden' - }) - } else { - _menu.loadingFstMenuId = true - this.setState({ - type: 'edit', - editMenu: _menu }) } } else { @@ -259,15 +238,6 @@ return } - if (!this.state.fstMenuId) { - notification.warning({ - top: 92, - message: '鑿滃崟鍔犺浇涓紝璇风◢鍚庨噸璇曪紒', - duration: 5 - }) - return - } - this.setState({ tabview: 'template', editMenu: { @@ -280,8 +250,8 @@ isSubtable: '', // 鏄惁涓轰富瀛愯〃 ParentId: this.props.supMenu.MenuID, supMenuList: this.props.supMenuList, - fstMenuId: this.state.fstMenuId, - fstMenuList: this.state.fstMenuList, + fstMenuId: this.props.mainMenu.MenuID, + fstMenuList: this.props.menuTree, menuSort: (this.props.menulist.length + 1) * 10 // 鏂板缓鑿滃崟璁剧疆鎺掑簭 } }, () => { @@ -358,7 +328,20 @@ this.props.exitEdit() } } else if (type === 'close') { - this.props.exitEdit() + if (!is(fromJS(this.props.menulist), fromJS(this.state.menulist))) { + let _this = this + + confirm({ + title: '鑿滃崟椤哄簭宸茶皟鏁达紝鏀惧純淇濆瓨鍚楋紵', + content: '', + onOk() { + _this.props.exitEdit() + }, + onCancel() {} + }) + } else { + this.props.exitEdit() + } } } @@ -439,19 +422,8 @@ useTemplate = (template, useType) => { let editMenu = fromJS(this.state.editMenu).toJS() - if (!this.state.fstMenuId) { - notification.warning({ - top: 92, - message: '鑿滃崟鍔犺浇涓紝璇风◢鍚庨噸璇曪紒', - duration: 5 - }) - return - } - - if (!editMenu.fstMenuId) { - editMenu.fstMenuId = this.state.fstMenuId - editMenu.fstMenuList = this.state.fstMenuList - } + editMenu.fstMenuId = this.props.mainMenu.MenuID + editMenu.fstMenuList = this.props.menuTree if (useType === 'sys' && (template.type === 'RolePermission' || template.type === 'NewPage')) { // 鐙珛椤甸潰 let _menu = { @@ -722,69 +694,6 @@ }) } - componentDidMount () { - let _param = { - func: 's_Get_FSMenusForOpen', - SndMenuID: this.props.supMenu.MenuID, - TYPE: 20, - TypeCharOne: 'PC' - } - this.setState({ - loading: true - }) - - Api.getSystemConfig(_param).then(result => { - if (result.status) { - this.setState({ - loading: false, - fstMenuId: result.FstIDSeleted, - fstMenuList: result.data.map(smenu => { - let _smenu = { - MenuID: smenu.FstID, - text: smenu.FstName, - options: smenu.SndData.map(menu => { - return { - MenuID: menu.SndID, - text: menu.SndName, - } - }) - } - - return _smenu - }) - }, () => { - let _menu = this.state.editMenu ? fromJS(this.state.editMenu).toJS() : null - - if (!_menu || !_menu.loadingFstMenuId) { - return - } - - delete _menu.loadingFstMenuId - _menu.fstMenuId = this.state.fstMenuId - _menu.fstMenuList = this.state.fstMenuList - - this.setState({ - type: 'edit', - editMenu: _menu, - loading: false, - tabview: _menu.PageParam.Template - }, () => { - document.getElementById('root').style.overflowY = 'hidden' - }) - }) - } else { - this.setState({ - loading: false - }) - notification.warning({ - top: 92, - message: result.message, - duration: 5 - }) - } - }) - } - UNSAFE_componentWillReceiveProps (nextProps) { if (!is(fromJS(this.props.menulist), fromJS(nextProps.menulist))) { this.setState({ @@ -821,7 +730,7 @@ } <div className="cus-submenu-title"> <Icon type={this.props.supMenu.PageParam.Icon} /> - <span>{this.props.supMenu.text}</span> + <span>{this.props.supMenu.MenuName}</span> </div> <DndProvider backend={HTML5Backend}> <DragElement @@ -985,6 +894,8 @@ const mapStateToProps = (state) => { return { + mainMenu: state.mainMenu, + menuTree: state.menuTree, memberLevel: state.memberLevel } } -- Gitblit v1.8.0