From 461e4fff4b51d067671244eec63b097cd9012b6e Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期一, 30 三月 2020 09:25:41 +0800 Subject: [PATCH] 2020-03-30 --- src/components/sidemenu/editthdmenu/index.jsx | 85 ++++++++++++++++++++++++++++++++---------- 1 files changed, 65 insertions(+), 20 deletions(-) diff --git a/src/components/sidemenu/editthdmenu/index.jsx b/src/components/sidemenu/editthdmenu/index.jsx index 45b631b..34483e1 100644 --- a/src/components/sidemenu/editthdmenu/index.jsx +++ b/src/components/sidemenu/editthdmenu/index.jsx @@ -130,23 +130,23 @@ delete _menu.src delete _menu.text - if (!this.state.fstMenuId) { - notification.warning({ - top: 92, - message: '鏈幏鍙栧埌涓�绾ц彍鍗曚俊鎭紝璇风◢绛夋垨鍒锋柊閲嶈瘯銆�', - duration: 10 - }) - return - } - - _menu.ParentID = this.props.supMenu.MenuID - _menu.supMenuList = this.props.supMenuList - _menu.fstMenuId = this.state.fstMenuId - _menu.fstMenuList = this.state.fstMenuList - _menu.roleList = this.state.roleList - if (_menu.PageParam && _menu.PageParam.Template === 'RolePermission') { // 鍗曢〉闈慨鏀� _menu.Template = _menu.PageParam.Template + + if (!this.state.fstMenuId) { + notification.warning({ + top: 92, + message: '鑿滃崟鍔犺浇涓紝璇风◢鍚庨噸璇曪紒', + duration: 10 + }) + return + } + + _menu.ParentID = this.props.supMenu.MenuID + _menu.supMenuList = this.props.supMenuList + _menu.fstMenuId = this.state.fstMenuId || '' + _menu.fstMenuList = this.state.fstMenuList || [] + _menu.roleList = this.state.roleList this.setState({ handleMVisible: true, @@ -179,7 +179,11 @@ } _menu.LongParam = _LongParam - + _menu.ParentID = this.props.supMenu.MenuID + _menu.supMenuList = this.props.supMenuList + _menu.fstMenuId = this.state.fstMenuId || '' + _menu.fstMenuList = this.state.fstMenuList || [] + _menu.roleList = this.state.roleList // 妫�娴嬫ā鏉挎槸鍚﹀瓨鍦� let _Template = this.state.sysTemplates.filter(temp => temp.type === _menu.PageParam.Template) @@ -200,7 +204,7 @@ }, () => { document.getElementById('root').style.overflowY = 'hidden' }) - } else { + } else if (_menu.fstMenuId) { this.setState({ type: 'edit', editMenu: _menu, @@ -209,6 +213,13 @@ tabview: _menu.PageParam.Template }, () => { document.getElementById('root').style.overflowY = 'hidden' + }) + } else { + _menu.loadingFstMenuId = true + this.setState({ + type: 'edit', + editMenu: _menu, + optionLibs: new Map() }) } } else { @@ -240,7 +251,7 @@ if (!this.state.fstMenuId) { notification.warning({ top: 92, - message: '鏈幏鍙栧埌涓�绾ц彍鍗曚俊鎭紝璇风◢绛夋垨鍒锋柊閲嶈瘯', + message: '鑿滃崟鍔犺浇涓紝璇风◢鍚庨噸璇曪紒', duration: 10 }) return @@ -418,11 +429,25 @@ * 2銆佷娇鐢ㄥ凡鏈夎彍鍗曟ā鏉挎椂锛岃幏鍙栬彍鍗曢厤缃俊鎭紝鏍囪涓簎ser锛堝鍒惰彍鍗曟寜閽級 */ useTemplate = (template, useType) => { - const { editMenu } = this.state + let editMenu = JSON.parse(JSON.stringify(this.state.editMenu)) + + if (!this.state.fstMenuId) { + notification.warning({ + top: 92, + message: '鑿滃崟鍔犺浇涓紝璇风◢鍚庨噸璇曪紒', + duration: 10 + }) + return + } + + if (!editMenu.fstMenuId) { + editMenu.fstMenuId = this.state.fstMenuId + editMenu.fstMenuList = this.state.fstMenuList + } if (useType === 'sys' && template.type === 'RolePermission') { // 鐙珛椤甸潰 let _menu = { - ...template, + ...editMenu, MenuID: Utils.getuuid(), MenuName: template.title, Template: template.type, @@ -711,6 +736,26 @@ Promise.all([menuDefer, roleDefer]).then(() => { this.setState({ loading: false + }, () => { + let _menu = JSON.parse(JSON.stringify(this.state.editMenu)) + + 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, + optionLibs: new Map(), // 缂栬緫鏃讹紝鍒濆鍖栦负绌� + tabview: _menu.PageParam.Template + }, () => { + document.getElementById('root').style.overflowY = 'hidden' + }) }) }) } -- Gitblit v1.8.0