From f8c3c53f9e29541f8c0e3fcbf682c301fd17e06a Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期一, 23 十一月 2020 17:49:23 +0800 Subject: [PATCH] 2020-11-23 --- src/templates/menuconfig/editfirstmenu/index.jsx | 34 +++++++++++++++++++++++----------- 1 files changed, 23 insertions(+), 11 deletions(-) diff --git a/src/templates/headerconfig/index.jsx b/src/templates/menuconfig/editfirstmenu/index.jsx similarity index 92% rename from src/templates/headerconfig/index.jsx rename to src/templates/menuconfig/editfirstmenu/index.jsx index 0d2f1fb..1c5c46d 100644 --- a/src/templates/headerconfig/index.jsx +++ b/src/templates/menuconfig/editfirstmenu/index.jsx @@ -22,7 +22,6 @@ import card5 from '@/assets/img/card-bg6.jpg' const { confirm } = Modal -let previewList = null class EditMenu extends Component { static propTpyes = { @@ -34,6 +33,7 @@ state = { thawmenulist: null, // 宸插喕缁撶殑涓�绾ц彍鍗� addMvisible: null, + menulist: null, editMenu: null, // 缂栬緫鑿滃崟 editMvisible: false, // 缂栬緫鑿滃崟妯℃�佹 thawMvisible: false, // 瑙i櫎鍐荤粨妯℃�佹 @@ -43,13 +43,13 @@ 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'], @@ -219,7 +219,8 @@ 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, @@ -234,7 +235,7 @@ 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' }) } @@ -259,6 +260,17 @@ }) } }) + }, + onCancel() {} + }) + } else if (type === 'cancel' && _menuchange) { + let _this = this + + confirm({ + title: '鑿滃崟椤哄簭宸茶皟鏁达紝鏀惧純淇濆瓨鍚楋紵', + content: '', + onOk() { + _this.props.exitEdit() }, onCancel() {} }) @@ -294,17 +306,17 @@ } 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"> @@ -328,16 +340,16 @@ </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']} -- Gitblit v1.8.0