| | |
| | | resetEditState, |
| | | resetEditLevel, |
| | | initPermission, |
| | | initActionPermission, |
| | | initMenuPermission, |
| | | logout |
| | | } from '@/store/action' |
| | |
| | | // 展开、收起左侧菜单栏 |
| | | if (!this.props.editState) { |
| | | this.props.toggleCollapse(!this.props.collapse) |
| | | localStorage.setItem('collapse', !this.props.collapse) |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | async getRolesMenu () { |
| | | // 获取角色权限 |
| | | let result = await Api.getSystemConfig({func: 'sPC_Get_RolesMenu'}) |
| | | |
| | | // 登录超时 |
| | | if (!result) return |
| | | |
| | | if (result.status) { |
| | | let promiseRole = new Promise(resolve => { |
| | | Api.getSystemConfig({func: 'sPC_Get_RolesMenu'}).then(result => { |
| | | let _permAction = {} |
| | | let _permRoles = [] |
| | | let _permFuncField = [] |
| | | if (result && result.status) { |
| | | if (result.UserRoles) { |
| | | result.UserRoles.forEach(role => { |
| | | _permRoles.push(role.RoleID) |
| | |
| | | }) |
| | | }) |
| | | } |
| | | |
| | | if (result.sModular && result.sModular.length > 0) { |
| | | result.sModular.forEach(field => { |
| | | if (field.ModularNo) { |
| | | _permFuncField.push(field.ModularNo) |
| | | } |
| | | }) |
| | | _permFuncField = _permFuncField.sort() |
| | | } |
| | | |
| | | this.props.initPermission(_permRoles, _permAction, _permFuncField) |
| | | this.loadmenu() |
| | | } else { |
| | | } else if (result) { |
| | | notification.error({ |
| | | top: 92, |
| | | message: result.message, |
| | | duration: 15 |
| | | }) |
| | | } |
| | | |
| | | resolve({permAction: _permAction, permRoles: _permRoles}) |
| | | }) |
| | | }) |
| | | |
| | | // 获取主菜单参数 |
| | | let promiseMenu = new Promise(resolve => { |
| | | Api.getSystemConfig({func: 'sPC_Get_MainMenu', systemType: options.systemType}).then(result => { |
| | | let mainMenu = null |
| | | if (result && result.status) { |
| | | if (result.debug === 'true') { // 是否为debug模式,即可复制菜单参数 |
| | | this.props.resetDebug() |
| | | } |
| | | |
| | | let MainMenuId = sessionStorage.getItem('MainMenu') // 是否为打开新页面 |
| | | if (MainMenuId) { |
| | | // 通过url中menuid筛选出选中的主菜单 |
| | | let _menu = result.data.filter(item => item.MenuID === MainMenuId)[0] |
| | | sessionStorage.removeItem('MainMenu') |
| | | mainMenu = _menu || result.data[0] |
| | | } else { |
| | | mainMenu = result.data[0] |
| | | } |
| | | |
| | | this.setState({ |
| | | menulist: result.data.map((item, index) => { |
| | | item.id = index |
| | | item.text = item.MenuName |
| | | if (item.PageParam) { |
| | | try { |
| | | item.PageParam = JSON.parse(item.PageParam) |
| | | } catch (e) { |
| | | item.PageParam = {OpenType: 'menu', linkUrl: ''} |
| | | } |
| | | } else { |
| | | item.PageParam = {OpenType: 'menu', linkUrl: ''} |
| | | } |
| | | return item |
| | | }), |
| | | systems: result.Systems.filter(sys => sys.LinkUrl1 && sys.AppKey !== window.GLOB.appkey) |
| | | }) |
| | | } else if (result) { |
| | | notification.error({ |
| | | top: 92, |
| | | message: result.message, |
| | | duration: 15 |
| | | }) |
| | | } |
| | | |
| | | resolve(mainMenu) |
| | | }) |
| | | }) |
| | | |
| | | let _mainMenu = await promiseMenu |
| | | if (_mainMenu) { |
| | | this.props.modifyMainMenu(_mainMenu) |
| | | } |
| | | |
| | | let _role = await promiseRole |
| | | |
| | | this.props.initActionPermission(_role.permRoles, _role.permAction) |
| | | } |
| | | |
| | | reload = () => { |
| | |
| | | this.loadmenu() |
| | | this.props.modifyMainMenu('') |
| | | this.props.resetEditState(state) |
| | | } |
| | | |
| | | if (state && this.props.sysRoles.length === 0 && this.props.permFuncField.length === 0) { |
| | | Api.getSystemConfig({func: 'sPC_Get_Roles_sModular'}).then(res => { |
| | | if (res.status) { |
| | | let _permFuncField = [] |
| | | let _sysRoles = [] |
| | | |
| | | if (res.Roles && res.Roles.length > 0) { |
| | | _sysRoles = res.Roles.map(role => { |
| | | return { |
| | | uuid: Utils.getuuid(), |
| | | value: role.RoleID, |
| | | text: role.RoleName |
| | | } |
| | | }) |
| | | } |
| | | |
| | | if (res.sModular && res.sModular.length > 0) { |
| | | res.sModular.forEach(field => { |
| | | if (field.ModularNo) { |
| | | _permFuncField.push(field.ModularNo) |
| | | } |
| | | }) |
| | | _permFuncField = _permFuncField.sort() |
| | | } |
| | | |
| | | this.props.initPermission(_sysRoles, _permFuncField) |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | |
| | |
| | | editState: state.editState, |
| | | editLevel: state.editLevel, |
| | | permAction: state.permAction, |
| | | sysRoles: state.sysRoles, |
| | | permFuncField: state.permFuncField |
| | | } |
| | | } |
| | |
| | | modifyMainMenu: (selectmenu) => dispatch(modifyMainMenu(selectmenu)), |
| | | resetEditState: (state) => dispatch(resetEditState(state)), |
| | | resetEditLevel: (level) => dispatch(resetEditLevel(level)), |
| | | initPermission: (permRoles, permAction, permFuncField) => dispatch(initPermission(permRoles, permAction, permFuncField)), |
| | | initActionPermission: (permRoles, permAction) => dispatch(initActionPermission(permRoles, permAction)), |
| | | initPermission: (sysRoles, permFuncField) => dispatch(initPermission(sysRoles, permFuncField)), |
| | | initMenuPermission: (permMenus) => dispatch(initMenuPermission(permMenus)), |
| | | resetState: () => dispatch(resetState()), |
| | | resetDebug: () => dispatch(resetDebug()), |