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/components/header/index.jsx | 178 +++++++++++++++++++++++++---------------------------------- 1 files changed, 76 insertions(+), 102 deletions(-) diff --git a/src/components/header/index.jsx b/src/components/header/index.jsx index de4333e..0811001 100644 --- a/src/components/header/index.jsx +++ b/src/components/header/index.jsx @@ -12,7 +12,6 @@ modifyMainMenu, modifyTabview, resetState, - resetDebug, resetEditState, resetEditLevel, initPermission, @@ -169,10 +168,6 @@ if (!result) return if (result.status) { - if (result.debug === 'true') { // 鏄惁涓篸ebug妯″紡锛屽嵆鍙鍒惰彍鍗曞弬鏁� - this.props.resetDebug() - } - let MainMenuId = sessionStorage.getItem('MainMenu') // 鏄惁涓烘墦寮�鏂伴〉闈� if (MainMenuId) { // 閫氳繃url涓璵enuid绛涢�夊嚭閫変腑鐨勪富鑿滃崟 @@ -200,10 +195,6 @@ }), systems: result.Systems.filter(sys => sys.LinkUrl1 && sys.AppKey !== window.GLOB.appkey) }) - - if (result.dataM) { - this.props.modifyDataManager(true) - } } else { notification.error({ top: 92, @@ -216,20 +207,66 @@ async getRolesMenu () { // 鑾峰彇瑙掕壊鏉冮檺 let promiseRole = new Promise(resolve => { - Api.getSystemConfig({func: 'sPC_Get_RolesMenu'}).then(result => { - let _permAction = {} - let _permRoles = [] - if (result && result.status) { - if (result.UserRoles) { - result.UserRoles.forEach(role => { - _permRoles.push(role.RoleID) + Api.getSystemConfig({func: 's_Get_TrdMenu_Role', edition_type: 'Y'}).then(result => { + let _permAction = {} // 鎸夐挳鏉冮檺 + let _permMenus = {} // 鑿滃崟鏉冮檺锛屽瓧娈甸�忚绛� + let menulist = [] // 涓夌骇鑿滃崟鍒楄〃 - role.RoleMenu.forEach(menu => { - if (!menu.MenuID) return - _permAction[menu.MenuID] = true + if (result && result.status) { + if (result.UserRoles_Menu) { + result.UserRoles_Menu.forEach(menu => { + if (!menu.MenuID) return + _permAction[menu.MenuID] = true + }) + } + + if (result.UserRoles) { + let iframes = ['Main/Index', 'bda/rdt', 'Home/rdt'] + let menukeys = [] + + result.UserRoles.forEach(menu => { + if (!menu.MenuID) return + if (menukeys.includes(menu.MenuID)) { + console.warn('s_Get_TrdMenu_Role閲嶅鐨勮彍鍗旾D锛�' + menu.MenuID) + return + } + _permMenus[menu.MenuID] = true + + let _type = '' + if (menu.LinkUrl === 'CommonTable') { + _type = 'CommonTable' + } else if (menu.LinkUrl && iframes.includes(menu.LinkUrl.split('?')[0])) { + _type = 'iframe' + } + + if (_type !== 'iframe') { + let pageParam = {} + try { + pageParam = JSON.parse(menu.PageParam) + } catch (e) { + pageParam = {} + } + _type = pageParam.Template || _type + } + + menukeys.push(menu.MenuID) + + menulist.push({ + MenuID: menu.MenuID, + MenuName: menu.MenuName, + MenuNo: menu.MenuNo || '', + EasyCode: menu.EasyCode || '', + LinkUrl: menu.LinkUrl, + type: _type }) }) } + + this.setState({ + thdMenuList: menulist + }) + + this.props.initMenuPermission(_permMenus) } else if (result) { notification.error({ top: 92, @@ -238,7 +275,7 @@ }) } - resolve({permAction: _permAction, permRoles: _permRoles}) + resolve({permAction: _permAction}) }) }) @@ -252,10 +289,6 @@ Api.getSystemConfig(_param).then(result => { let mainMenu = null if (result && result.status) { - if (result.debug === 'true') { // 鏄惁涓篸ebug妯″紡锛屽嵆鍙鍒惰彍鍗曞弬鏁� - this.props.resetDebug() - } - let MainMenuId = sessionStorage.getItem('MainMenu') // 鏄惁涓烘墦寮�鏂伴〉闈� if (MainMenuId) { // 閫氳繃url涓璵enuid绛涢�夊嚭閫変腑鐨勪富鑿滃崟 @@ -283,10 +316,6 @@ }), systems: result.Systems.filter(sys => sys.LinkUrl1 && sys.AppKey !== window.GLOB.appkey) }) - - if (result.dataM) { - this.props.modifyDataManager(true) - } } else if (result) { notification.error({ top: 92, @@ -306,7 +335,7 @@ let _role = await promiseRole - this.props.initActionPermission(_role.permRoles, _role.permAction) + this.props.initActionPermission(_role.permAction) } reload = () => { @@ -337,6 +366,9 @@ let _userName = sessionStorage.getItem('User_Name') let _avatar = avatar + if (sessionStorage.getItem('cloudDataM') === 'true') { + this.props.modifyDataManager(true) + } if (!state && sessionStorage.getItem('avatar')) { _avatar = Utils.getrealurl(sessionStorage.getItem('avatar')) // 澶村儚 } else if (state && sessionStorage.getItem('CloudAvatar')) { @@ -427,10 +459,15 @@ sessionStorage.setItem('CloudFullName', res.FullName) sessionStorage.setItem('CloudAvatar', res.icon) sessionStorage.setItem('isEditState', 'true') + sessionStorage.setItem('cloudDataM', res.dataM ? 'true' : '') let _avatar = avatar if (res.icon) { _avatar = Utils.getrealurl(res.icon) // 澶村儚 + } + + if (res.dataM) { + this.props.modifyDataManager(true) } if (window.GLOB.systemType === 'production') { @@ -564,84 +601,22 @@ _avatar = Utils.getrealurl(_avatar) // 澶村儚 this.setState({avatar: _avatar}) } + this.getRolesMenu() } componentDidMount () { - // 鑾峰彇瑙掕壊鑿滃崟鏉冮檺 - Api.getSystemConfig({func: 's_Get_TrdMenu_Role'}).then(result => { - if (!result) return - if (result.status) { - let _permMenus = {} - let menulist = [] - - if (result.UserRoles) { - let iframes = ['Main/Index', 'bda/rdt', 'Home/rdt'] - let menukeys = [] - - result.UserRoles.forEach(role => { - role.RoleMenu.forEach(menu => { - if (!menu.MenuID) return - if (menukeys.includes(menu.MenuID)) { - console.warn('s_Get_TrdMenu_Role閲嶅鐨勮彍鍗旾D锛�' + menu.MenuID) - return - } - _permMenus[menu.MenuID] = true - - let _type = '' - if (menu.LinkUrl === 'CommonTable') { - _type = 'CommonTable' - } else if (menu.LinkUrl && iframes.includes(menu.LinkUrl.split('?')[0])) { - _type = 'iframe' - } - - if (_type !== 'iframe') { - let pageParam = {} - try { - pageParam = JSON.parse(menu.PageParam) - } catch (e) { - pageParam = {} - } - _type = pageParam.Template || _type - } - - menukeys.push(menu.MenuID) - - menulist.push({ - MenuID: menu.MenuID, - MenuName: menu.MenuName, - MenuNo: menu.MenuNo || '', - EasyCode: menu.EasyCode || '', - LinkUrl: menu.LinkUrl, - type: _type - }) - }) - }) - } - + // 鑾峰彇绯荤粺鐨勭増鏈俊鎭紝寤舵椂鏌ヨ + setTimeout(() => { + new Promise((resolve, reject) => { + Api.getAppVersion(resolve, reject) + }).then(res => { this.setState({ - thdMenuList: menulist + oriVersion: res.oldVersion, + newVersion: res.newVersion }) - - this.props.initMenuPermission(_permMenus) - } else { - notification.error({ - top: 92, - message: result.message, - duration: 10 - }) - } - }) - - // 鑾峰彇绯荤粺鐨勭増鏈俊鎭� - new Promise((resolve, reject) => { - Api.getAppVersion(resolve, reject) - }).then(res => { - this.setState({ - oriVersion: res.oldVersion, - newVersion: res.newVersion }) - }) + }, 1000) } shouldComponentUpdate (nextProps, nextState) { @@ -845,12 +820,11 @@ modifyMainMenu: (selectmenu) => dispatch(modifyMainMenu(selectmenu)), resetEditState: (state) => dispatch(resetEditState(state)), resetEditLevel: (level) => dispatch(resetEditLevel(level)), - initActionPermission: (permRoles, permAction) => dispatch(initActionPermission(permRoles, permAction)), + initActionPermission: (permAction) => dispatch(initActionPermission(permAction)), initPermission: (sysRoles, permFuncField) => dispatch(initPermission(sysRoles, permFuncField)), initMenuPermission: (permMenus) => dispatch(initMenuPermission(permMenus)), modifyDataManager: (dataManager) => dispatch(modifyDataManager(dataManager)), resetState: () => dispatch(resetState()), - resetDebug: () => dispatch(resetDebug()), logout: () => dispatch(logout()) } } -- Gitblit v1.8.0