| | |
| | | import React, {Component} from 'react' |
| | | import PropTypes from 'prop-types' |
| | | import { is, fromJS } from 'immutable' |
| | | import { connect } from 'react-redux' |
| | | import { DndProvider } from 'react-dnd' |
| | | import { withRouter } from 'react-router-dom' |
| | | import HTML5Backend from 'react-dnd-html5-backend' |
| | | import { notification, Modal, Button, Spin, Icon, Col, Card, Tabs, Row, Input } from 'antd' |
| | | import moment from 'moment' |
| | |
| | | } |
| | | |
| | | /** |
| | | * @description 组件销毁,清除state更新 |
| | | */ |
| | | componentWillUnmount () { |
| | | this.setState = () => { |
| | | return |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * @description 菜单顺序改变时,保存中间状态 |
| | | */ |
| | | handlePreviewList = (List) => { |
| | |
| | | delete _menu.src |
| | | delete _menu.text |
| | | |
| | | if (_menu.PageParam && _menu.PageParam.Template === 'RolePermission') { // 单页面修改 |
| | | if (_menu.PageParam && (_menu.PageParam.Template === 'RolePermission' || _menu.PageParam.Template === 'NewPage')) { // 单页面修改 |
| | | _menu.Template = _menu.PageParam.Template |
| | | _menu.url = _menu.PageParam.url |
| | | |
| | | if (!this.state.fstMenuId) { |
| | | notification.warning({ |
| | |
| | | editMenu.fstMenuList = this.state.fstMenuList |
| | | } |
| | | |
| | | if (useType === 'sys' && (template.type === 'RolePermission' || template.type === 'CustomPage')) { // 独立页面 |
| | | if (useType === 'sys' && (template.type === 'RolePermission' || template.type === 'NewPage')) { // 独立页面 |
| | | let _menu = { |
| | | ...editMenu, |
| | | MenuID: Utils.getuuid(), |
| | | MenuName: template.title, |
| | | Template: template.type, |
| | | ParentId: this.props.supMenu.MenuID, |
| | | menuSort: (this.props.menulist.length + 1) * 10, |
| | | isSystem: true |
| | | } |
| | | |
| | | this.setState({ |
| | | handleMVisible: true, |
| | | sysMenu: _menu |
| | | }) |
| | | return |
| | | } else if (template.type === 'CustomPage') { |
| | | let _menu = { |
| | | ...editMenu, |
| | | MenuID: Utils.getuuid(), |
| | | MenuName: template.title, |
| | | Template: template.type, |
| | | ParentId: this.props.supMenu.MenuID, |
| | | OriginMenuId: template.uuid || '', |
| | | menuSort: (this.props.menulist.length + 1) * 10, |
| | | isSystem: true |
| | | } |
| | | |
| | | this.setState({ |
| | |
| | | |
| | | this.setState({ |
| | | loading: false, |
| | | tabview: template.type === 'CustomPage' ? '' : template.type, |
| | | tabview: template.type, |
| | | editMenu: { |
| | | ...editMenu, |
| | | type: template.type, |
| | |
| | | } |
| | | }) |
| | | |
| | | if (template.type === 'CustomPage') { // 使用自定义的已有菜单 |
| | | // let _menu = { |
| | | // ...editMenu, |
| | | // MenuID: Utils.getuuid(), |
| | | // MenuName: template.title, |
| | | // Template: template.type, |
| | | // ParentID: this.props.supMenu.MenuID, |
| | | // } |
| | | |
| | | // this.setState({ |
| | | // handleMVisible: true, |
| | | // sysMenu: _menu |
| | | // }) |
| | | return |
| | | } |
| | | document.getElementById('root').style.overflowY = 'hidden' |
| | | }) |
| | | } |
| | | |
| | | getUsedTemplate = () => { |
| | | const { memberLevel } = this.props |
| | | let { sysTemplates } = this.state |
| | | const illust = { // 模板图片,用于已使用模板 |
| | | CommonTable: mainsubtable, |
| | |
| | | let hasRolePermission = false |
| | | |
| | | res.UserTemp.forEach(temp => { |
| | | if (temp.Template === 'RolePermission') { |
| | | if (temp.Template === 'NewPage') { |
| | | return |
| | | } else if (temp.Template === 'RolePermission') { |
| | | hasRolePermission = true |
| | | return |
| | | } else if (temp.Template === 'CustomPage' && memberLevel < 20) { |
| | | return |
| | | } |
| | | |
| | |
| | | }) |
| | | }) |
| | | |
| | | if (!hasRolePermission) { |
| | | sysTemplates = sysTemplates.map(temp => { |
| | | if (temp.type === 'RolePermission') { |
| | | temp.hidden = false |
| | | } |
| | | sysTemplates = sysTemplates.map(temp => { |
| | | if (temp.type === 'RolePermission' && !hasRolePermission) { |
| | | temp.hidden = false |
| | | } else if (temp.type === 'CustomPage' && memberLevel < 20) { |
| | | temp.hidden = true |
| | | } |
| | | |
| | | return temp |
| | | }) |
| | | } |
| | | return temp |
| | | }) |
| | | |
| | | this.setState({ |
| | | usedTemplates: _templates, |
| | |
| | | } |
| | | |
| | | this.menuFormRef.handleConfirm().then(res => { |
| | | let PageParam = { |
| | | Template: sysMenu.Template, |
| | | OpenType: 'newtab' |
| | | } |
| | | |
| | | if (sysMenu.OriginMenuId && sysMenu.Template === 'CustomPage') { |
| | | PageParam.originMenuId = sysMenu.OriginMenuId |
| | | } else if (sysMenu.Template === 'NewPage') { |
| | | PageParam.OpenType = 'NewPage' |
| | | PageParam.url = res.url |
| | | } |
| | | |
| | | let param = { |
| | | func: 'sPC_TrdMenu_AddUpt', |
| | |
| | | MenuNo: res.MenuNo, |
| | | Template: sysMenu.Template, |
| | | MenuName: res.MenuName, |
| | | PageParam: JSON.stringify({Template: sysMenu.Template, OpenType: 'newtab'}), |
| | | PageParam: JSON.stringify(PageParam), |
| | | LongParam: '', |
| | | LText: '', |
| | | LTexttb: '' |
| | | } |
| | | |
| | | if (sysMenu.menuSort) { // 菜单新建时设置排序 |
| | | param.Sort = sysMenu.menuSort |
| | | } |
| | | |
| | | param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') |
| | |
| | | } |
| | | } |
| | | |
| | | export default EditMenu |
| | | const mapStateToProps = (state) => { |
| | | return { |
| | | memberLevel: state.memberLevel |
| | | } |
| | | } |
| | | |
| | | const mapDispatchToProps = () => { |
| | | return {} |
| | | } |
| | | |
| | | export default withRouter(connect(mapStateToProps, mapDispatchToProps)(EditMenu)) |