From 31499a3e864ca1229493fd7ec901659c0cb54159 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期六, 07 三月 2020 11:49:16 +0800 Subject: [PATCH] 2020-03-07 --- src/components/sidemenu/editthdmenu/index.jsx | 211 ++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 184 insertions(+), 27 deletions(-) diff --git a/src/components/sidemenu/editthdmenu/index.jsx b/src/components/sidemenu/editthdmenu/index.jsx index 10f2c00..4a22b20 100644 --- a/src/components/sidemenu/editthdmenu/index.jsx +++ b/src/components/sidemenu/editthdmenu/index.jsx @@ -69,7 +69,9 @@ btnTabConfig: null, // 鎵撳紑鏂版爣绛炬寜閽厤缃� handleMVisible: false, // 娣诲姞鎴栦慨鏀硅彍鍗曟ā鎬佹锛堣鑹叉潈闄愬垎閰嶇瓑锛� sysMenu: false, // 娣诲姞鎴栫紪杈戣彍鍗曪紙瑙掕壊鏉冮檺鍒嗛厤绛夛級 - optionLibs: [] // 鑷畾涔変笅鎷夐�夐」搴� + optionLibs: [], // 鑷畾涔変笅鎷夐�夐」搴� + fstMenuId: null, // 涓�绾ц彍鍗旾d + fstMenuList: null // 涓�绾ц彍鍗曞垪琛� } /** @@ -121,7 +123,11 @@ onCancel() {} }) } else if (menu.type === 'edit') { - let _menu = menu.card + let _menu = JSON.parse(JSON.stringify(menu.card)) + + delete _menu.id + delete _menu.src + delete _menu.text if (_menu.PageParam && _menu.PageParam.Template === 'RolePermission') { // 鍗曢〉闈慨鏀� let _menu_ = { @@ -162,19 +168,10 @@ _menu.LongParam = _LongParam _menu.ParentID = this.props.supMenu.MenuID + _menu.supMenuList = this.props.supMenuList // 妫�娴嬫ā鏉挎槸鍚﹀瓨鍦� let _Template = this.state.sysTemplates.filter(temp => temp.type === _menu.PageParam.Template) - - this.setState({ - type: 'edit', - editMenu: _menu, - loading: false, - optionLibs: new Map(), // 缂栬緫鏃讹紝鍒濆鍖栦负绌� - tabview: _Template.length > 0 ? _menu.PageParam.Template : 'template' - }, () => { - document.getElementById('root').style.overflowY = 'hidden' - }) // 妯℃澘涓嶅瓨鍦ㄦ椂閿欒鎻愮ず if (_Template.length === 0) { @@ -183,6 +180,75 @@ message: this.state.dict['header.menu.template.empty'], duration: 10 }) + + this.setState({ + type: 'edit', + editMenu: _menu, + loading: false, + tabview: 'template' + }, () => { + document.getElementById('root').style.overflowY = 'hidden' + }) + } else { + if (this.state.fstMenuId) { + _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' + }) + } else { + let _param = { + func: 's_Get_FSMenusForOpen', + SndMenuID: this.props.supMenu.MenuID, + TYPE: 20, + TypeCharOne: 'PC' + } + + Api.getSystemConfig(_param).then(result => { + if (result.status) { + _menu.fstMenuId = result.FstIDSeleted + _menu.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 + }) + + this.setState({ + type: 'edit', + editMenu: _menu, + loading: false, + optionLibs: new Map(), // 缂栬緫鏃讹紝鍒濆鍖栦负绌� + tabview: _menu.PageParam.Template + }, () => { + document.getElementById('root').style.overflowY = 'hidden' + }) + } else { + this.setState({ + loading: false + }) + notification.warning({ + top: 92, + message: result.message, + duration: 10 + }) + } + }) + } } } else { this.setState({ @@ -209,20 +275,76 @@ }) return } - this.setState({ - tabview: 'template', - editMenu: { - MenuID: Utils.getuuid(), - MenuName: '', - MenuNo: '', - type: '', - PageParam: '', - LongParam: '', - isSubtable: '', // 鏄惁涓轰富瀛愯〃 - ParentID: this.props.supMenu.MenuID + + if (this.state.fstMenuId) { + this.setState({ + tabview: 'template', + editMenu: { + MenuID: Utils.getuuid(), + MenuName: '', + MenuNo: '', + type: '', + PageParam: '', + LongParam: '', + isSubtable: '', // 鏄惁涓轰富瀛愯〃 + ParentID: this.props.supMenu.MenuID, + supMenuList: this.props.supMenuList, + fstMenuId: this.state.fstMenuId, + fstMenuList: this.state.fstMenuList + } + }, () => { + document.getElementById('root').style.overflowY = 'hidden' + }) + } else { + let _param = { + func: 's_Get_FSMenusForOpen', + SndMenuID: this.props.supMenu.MenuID, + TYPE: 20, + TypeCharOne: 'PC' } - }) - document.getElementById('root').style.overflowY = 'hidden' + + Api.getSystemConfig(_param).then(result => { + if (result.status) { + this.setState({ + tabview: 'template', + editMenu: { + MenuID: Utils.getuuid(), + MenuName: '', + MenuNo: '', + type: '', + PageParam: '', + LongParam: '', + isSubtable: '', // 鏄惁涓轰富瀛愯〃 + ParentID: this.props.supMenu.MenuID, + supMenuList: this.props.supMenuList, + 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 + }) + } + }, () => { + document.getElementById('root').style.overflowY = 'hidden' + }) + } else { + notification.warning({ + top: 92, + message: result.message, + duration: 10 + }) + } + }) + } + } else if (type === 'thaw') { if (!is(fromJS(this.props.menulist), fromJS(this.state.menulist))) { notification.warning({ @@ -551,7 +673,6 @@ MenuNo: res.MenuNo, Template: sysMenu.Template, MenuName: res.MenuName, - Sort: (this.props.supMenuList.length + 1) * 10, PageParam: JSON.stringify({Template: sysMenu.Template, OpenType: 'newtab'}), LongParam: '' } @@ -591,6 +712,43 @@ this.setState({ menulist: this.props.menulist + }) + } + + componentDidMount () { + let _param = { + func: 's_Get_FSMenusForOpen', + SndMenuID: this.props.supMenu.MenuID, + TYPE: 20, + TypeCharOne: 'PC' + } + + Api.getSystemConfig(_param).then(result => { + if (result.status) { + this.setState({ + 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 + }) + }) + } else { + notification.warning({ + top: 92, + message: result.message, + duration: 10 + }) + } }) } @@ -703,7 +861,6 @@ <ComTableConfig menu={this.state.editMenu} optionLibs={this.state.optionLibs} - supMenuList={this.props.supMenuList} reloadmenu={() => {this.props.reload()}} handleView={this.handleView} /> -- Gitblit v1.8.0