From 9b6ce1a5778c6e1a813237e87588c0052aae1bbb Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期三, 29 四月 2020 17:26:15 +0800 Subject: [PATCH] 2020-04-29 --- src/components/sidemenu/index.jsx | 39 ++++++++++++++++++++++++++++++++++----- 1 files changed, 34 insertions(+), 5 deletions(-) diff --git a/src/components/sidemenu/index.jsx b/src/components/sidemenu/index.jsx index b5c33a2..fe497e4 100644 --- a/src/components/sidemenu/index.jsx +++ b/src/components/sidemenu/index.jsx @@ -4,8 +4,11 @@ import {connect} from 'react-redux' import { is, fromJS } from 'immutable' import { Menu, Icon, notification } from 'antd' + import asyncComponent from '@/utils/asyncComponent' -import {modifyTabview, resetEditLevel} from '@/store/action' +import { modifyTabview, resetEditLevel } from '@/store/action' +import { SySMenuList } from './config' +import options from '@/store/options.js' import zhCN from '@/locales/zh-CN/header.js' import enUS from '@/locales/en-US/header.js' import Api from '@/api' @@ -46,7 +49,7 @@ return } - let _param = {func: 'sPC_Get_FunMenu', ParentID: menu.MenuID} + let _param = {func: 'sPC_Get_FunMenu', ParentID: menu.MenuID, systemType: options.systemType} if (sessionStorage.getItem('isEditState') === 'true') { // 缂栬緫鐘舵�佹椂锛岃幏鍙栬彍鍗曪紝澧炲姞鍙傛暟debug _param.debug = 'Y' @@ -54,6 +57,8 @@ let result = await Api.getSystemConfig(_param) if (result.status) { + if (this.props.editState && this.props.editLevel) return + if (result.data.length === 0) { // 鏌ヨ鑿滃崟涓虹┖ this.setState({ subMenulist: [], @@ -162,13 +167,35 @@ notification.warning({ top: 92, message: result.message, - duration: 10 + duration: 5 }) } } + enterManageView = (type) => { + let menulist = SySMenuList[type] + + if (window.GLOB.systemType === 'official') { + menulist.forEach(menu => { + menu.children = menu.children.filter(item => item.systems && item.systems.includes(window.GLOB.systemType)) + }) + + menulist = menulist.filter(menu => menu.children.length > 0) + } else { + menulist.forEach(menu => { + menu.children = menu.children.filter(item => !item.systems || item.systems.includes(options.systemType)) + }) + } + + this.setState({ + subMenulist: menulist, + rootSubmenuKeys: menulist.map(item => item.MenuID), + openKeys: this.props.collapse ? [] : [menulist[0].MenuID] + }) + } + changemenu(e) { - if (this.props.editState) { + if (this.props.editState && this.props.editLevel !== 'level4') { e.preventDefault() return } @@ -194,7 +221,9 @@ } UNSAFE_componentWillReceiveProps (nextProps) { - if (!is(fromJS(this.props.mainMenu), fromJS(nextProps.mainMenu))) { + if (!is(fromJS(this.props.mainMenu), fromJS(nextProps.mainMenu)) && nextProps.mainMenu && nextProps.mainMenu.MenuID === 'systemManageView') { + this.enterManageView(nextProps.mainMenu.MenuID) + } else if (!is(fromJS(this.props.mainMenu), fromJS(nextProps.mainMenu))) { // 涓昏彍鍗曞垏鎹紝璇锋眰2銆�3绾ц彍鍗曟暟鎹� this.loadsubmenu(nextProps.mainMenu) } else if (nextProps.collapse && this.props.collapse !== nextProps.collapse) { -- Gitblit v1.8.0