File was renamed from src/templates/headerconfig/index.jsx |
| | |
| | | import card5 from '@/assets/img/card-bg6.jpg' |
| | | |
| | | const { confirm } = Modal |
| | | let previewList = null |
| | | |
| | | class EditMenu extends Component { |
| | | static propTpyes = { |
| | |
| | | state = { |
| | | thawmenulist: null, // 已冻结的一级菜单 |
| | | addMvisible: null, |
| | | menulist: null, |
| | | editMenu: null, // 编辑菜单 |
| | | editMvisible: false, // 编辑菜单模态框 |
| | | thawMvisible: false, // 解除冻结模态框 |
| | |
| | | |
| | | handlePreviewList = (List) => { |
| | | // 菜单顺序改变时,保存中间状态 |
| | | previewList = List |
| | | this.setState({menulist: List}) |
| | | } |
| | | |
| | | editMenuModal = (Menu) => { |
| | | // 菜单编辑:修改 |
| | | const menu = fromJS(Menu).toJS() |
| | | if (previewList && !is(fromJS(previewList), fromJS(this.props.menulist))) { |
| | | if (!is(fromJS(this.state.menulist), fromJS(this.props.menulist))) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: this.state.dict['model.menu.presave'], |
| | |
| | | |
| | | handleButton = (type) => { |
| | | // 菜单编辑:添加,确定,取消 |
| | | let _menuchange = previewList && !is(fromJS(previewList), fromJS(this.props.menulist)) |
| | | let _menuchange = !is(fromJS(this.state.menulist), fromJS(this.props.menulist)) |
| | | |
| | | if ((type === 'add' || type === 'thawmenu') && _menuchange) { |
| | | notification.warning({ |
| | | top: 92, |
| | |
| | | let _this = this |
| | | let param = { |
| | | func: 'sPC_Menu_SortUpt', |
| | | LText: previewList.map((item, index) => { |
| | | LText: this.state.menulist.map((item, index) => { |
| | | return 'select \'' + item.MenuID + '\' as Menuid,' + (index + 1) * 10 + ' as sort' |
| | | }) |
| | | } |
| | |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | onCancel() {} |
| | | }) |
| | | } else if (type === 'cancel' && _menuchange) { |
| | | let _this = this |
| | | |
| | | confirm({ |
| | | title: '菜单顺序已调整,放弃保存吗?', |
| | | content: '', |
| | | onOk() { |
| | | _this.props.exitEdit() |
| | | }, |
| | | onCancel() {} |
| | | }) |
| | |
| | | } |
| | | |
| | | UNSAFE_componentWillMount () { |
| | | previewList = null |
| | | this.setState({menulist: fromJS(this.props.menulist).toJS()}) |
| | | } |
| | | |
| | | UNSAFE_componentWillReceiveProps (nextProps) { |
| | | if (!is(fromJS(this.props.menulist), fromJS(nextProps.menulist))) { |
| | | previewList = null |
| | | this.setState({menulist: fromJS(nextProps.menulist).toJS()}) |
| | | } |
| | | } |
| | | |
| | | render () { |
| | | const { dict } = this.state |
| | | const { dict, menulist } = this.state |
| | | |
| | | return ( |
| | | <div className="header-edit-box"> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | {this.props.menulist && <DndProvider backend={HTML5Backend}> |
| | | <DndProvider backend={HTML5Backend}> |
| | | <DragElement |
| | | dict={dict} |
| | | list={this.props.menulist} |
| | | list={menulist} |
| | | handlePreviewList={this.handlePreviewList} |
| | | handleMenu={this.editMenuModal} |
| | | deleteMemu={this.deleteMemu} |
| | | handleButton={this.handleButton} |
| | | /> |
| | | </DndProvider>} |
| | | </DndProvider> |
| | | {/* 新建菜单模态框 */} |
| | | <Modal |
| | | title={dict['model.add'] + dict['model.menu']} |