From ebb3dcdf617c7455b9fd0a84f37ddc384cc83af8 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期日, 03 十一月 2019 20:58:22 +0800 Subject: [PATCH] second-level-menu --- src/components/header/index.jsx | 87 +++++++++++++++++++++++++------------------ 1 files changed, 50 insertions(+), 37 deletions(-) diff --git a/src/components/header/index.jsx b/src/components/header/index.jsx index f018e16..a3430d5 100644 --- a/src/components/header/index.jsx +++ b/src/components/header/index.jsx @@ -7,11 +7,11 @@ import { DndProvider } from 'react-dnd' import HTML5Backend from 'react-dnd-html5-backend' import md5 from 'md5' -import MenuForm from './menuform' -import TransferForm from './transferform' import {toggleCollapse, modifyMainMenu, resetState, resetDebug, resetEditState, resetEditLevel} from '@/store/action' import Resetpwd from '@/components/resetpwd' -import DragElement from '@/components/dragelement' +import TransferForm from '@/components/transferform' +import MenuForm from './menuform' +import DragElement from './dragelement' import Api from '@/api' import zhCN from '@/locales/zh-CN/header.js' import enUS from '@/locales/en-US/header.js' @@ -19,7 +19,6 @@ import logourl from '../../assets/img/mlogo.png' import avatar from '../../assets/img/avatar.jpg' import './index.scss' -import { Promise } from 'q'; const { confirm } = Modal let previewList = null @@ -87,7 +86,11 @@ this.formRef.resetfrom() message.success(this.state.dict['header.password.resetsuccess']) } else { - message.warning(result.message) + notification.warning({ + top: 92, + message: result.message, + duration: 10 + }) this.setState({ confirmLoading: false }) @@ -127,7 +130,10 @@ changeMenu (value) { // 涓昏彍鍗曞垏鎹� - console.log(value) + if (this.props.editState && this.props.editLevel) { + // 缂栬緫鐘舵�佷笅锛屼笉鍙垏鎹㈣彍鍗� + return + } if (value.PageParam.OpenType === 'menu') { this.props.modifyMainMenu(value) } else { @@ -165,7 +171,11 @@ item.id = index item.text = item.MenuName if (item.PageParam) { - item.PageParam = JSON.parse(item.PageParam) + try { + item.PageParam = JSON.parse(item.PageParam) + } catch (e) { + item.PageParam = {OpenType: 'menu', linkUrl: ''} + } } else { item.PageParam = {OpenType: 'menu', linkUrl: ''} } @@ -217,7 +227,11 @@ }) _this.loadmenu() } else { - message.warning(res.message) + notification.warning({ + top: 92, + message: res.message, + duration: 10 + }) } }) }, @@ -242,7 +256,11 @@ }) }) } else { - message.warning(res.message) + notification.warning({ + top: 92, + message: res.message, + duration: 10 + }) } }) } else { @@ -252,8 +270,7 @@ } handleMenu = (Menu) => { - // 鑿滃崟缂栬緫锛氫慨鏀广�佸垹闄� - const _this = this + // 鑿滃崟缂栬緫锛氫慨鏀� const menu = fromJS(Menu).toJS() if (!is(fromJS(previewList), fromJS(this.state.menulist))) { notification.warning({ @@ -261,24 +278,7 @@ message: this.state.dict['header.menu.presave'], duration: 10 }) - } else if (menu.type === 'close') { - confirm({ - title: this.state.dict['header.menu.close'].replace('@M', menu.card.MenuName), - content: '', - okText: this.state.dict['header.confirm'], - cancelText: this.state.dict['header.cancel'], - onOk() { - return Api.logoutsystem().then(res => { - if (res.status) { - _this.loadmenu() - } else { - message.warning(res.message) - } - }) - }, - onCancel() {} - }) - } else if (menu.type === 'edit') { + } else { this.setState({ editMvisible: true, editMenu: menu.card @@ -287,7 +287,7 @@ } changeEditState = (state) => { - // 淇敼缂栬緫鑿滃崟绫诲瀷 + // 淇敼缂栬緫鐘舵�� this.props.resetEditState(state) } @@ -312,7 +312,11 @@ this.setState({ confirmLoading: false }) - message.warning(res.message) + notification.warning({ + top: 92, + message: res.message, + duration: 10 + }) } }) }, () => {}) @@ -347,7 +351,11 @@ this.setState({ confirmLoading: false }) - message.warning(res.message) + notification.warning({ + top: 92, + message: res.message, + duration: 10 + }) } }) }, () => {}) @@ -383,7 +391,11 @@ }) _this.loadmenu() } else { - message.warning(res.message) + notification.warning({ + top: 92, + message: res.message, + duration: 10 + }) } }) }, @@ -462,7 +474,7 @@ <Menu overlayclassname="header-dropdown"> {this.props.debug && <Menu.Item key="0"> {this.state.dict['header.edit']} - <Switch size="small" className="edit-switch" onChange={this.changeEditState} /> + <Switch size="small" className="edit-switch" disabled={!!this.props.editLevel} onChange={this.changeEditState} /> </Menu.Item>} <Menu.Item key="1" onClick={this.changePassword}>{this.state.dict['header.password']}</Menu.Item> <Menu.Item key="2" onClick={this.logout}>{this.state.dict['header.logout']}</Menu.Item> @@ -538,18 +550,19 @@ </Modal> {/* 缂栬緫鑿滃崟妯℃�佹 */} <Modal - title={this.state.dict['header.menu.edittitle']} + title={this.state.dict['header.menu.editTitle']} okText={this.state.dict['header.confirm']} cancelText={this.state.dict['header.cancel']} visible={this.state.editMvisible} footer={null} + onCancel={this.editMemuCancel} > - {this.state.editMenu && <MenuForm + <MenuForm dict={this.state.dict} type="edit" menu={this.state.editMenu} wrappedComponentRef={(inst) => this.editMenuFormRef = inst} - />} + /> <div className="edit-modal-footer"> <Button onClick={this.editMemuCancel}>{this.state.dict['header.cancel']}</Button> <Button type="primary" onClick={this.editMemuSubmit} loading={this.state.confirmLoading}>{this.state.dict['header.confirm']}</Button> -- Gitblit v1.8.0