| | |
| | | import { DndProvider } from 'react-dnd' |
| | | import HTML5Backend from 'react-dnd-html5-backend' |
| | | import { notification, Modal, Button, Spin } from 'antd' |
| | | import moment from 'moment' |
| | | import TransferForm from '@/components/transferform' |
| | | import DragElement from '../dragelement' |
| | | import MenuForm from '../menuform' |
| | | import Api from '@/api' |
| | | import Utils from '@/utils/utils.js' |
| | | import zhCN from '@/locales/zh-CN/header.js' |
| | | import enUS from '@/locales/en-US/header.js' |
| | | import Api from '@/api' |
| | | import './index.scss' |
| | | |
| | | const { confirm } = Modal |
| | |
| | | // 新建菜单:提交 |
| | | this.addMenuFormRef.handleConfirm().then(param => { |
| | | param.func = 'sPC_MainMenu_Add' |
| | | param.Sort = (this.state.menulist.length + 1) * 10 |
| | | param.Sort = (this.props.menulist.length + 1) * 10 |
| | | this.setState({ |
| | | confirmLoading: true |
| | | }) |
| | |
| | | this.setState({ |
| | | confirmLoading: false, |
| | | addMvisible: false, |
| | | menulist: null |
| | | }) |
| | | this.addMenuFormRef.handleReset('add') |
| | | this.props.reload() |
| | | } else { |
| | | this.setState({ |
| | |
| | | confirmLoading: false, |
| | | addMvisible: false |
| | | }) |
| | | this.addMenuFormRef.handleReset('add') |
| | | } |
| | | |
| | | deleteMemu = () => { |
| | |
| | | _this.setState({ |
| | | editMvisible: false, |
| | | editMenu: null, |
| | | menulist: null |
| | | }) |
| | | _this.props.reload() |
| | | } else { |
| | |
| | | }) |
| | | } else if (type === 'confirm' && _menuchange) { |
| | | let _this = this |
| | | let param = {} |
| | | param.func = 'sPC_Menu_SortUpt' |
| | | param.LText = [] |
| | | previewList.forEach((item, index) => { |
| | | param.LText.push('selectmspace\'' + item.MenuID + '\'mspaceasmspaceMenuid,' + (index + 1) * 10 + 'mspaceasmspacesort') |
| | | }) |
| | | param.LText = param.LText.join('mspaceunionmspace') |
| | | let param = { |
| | | func: 'sPC_Menu_SortUpt', |
| | | LText: previewList.map((item, index) => { |
| | | return 'select \'' + item.MenuID + '\' as Menuid,' + (index + 1) * 10 + ' as sort' |
| | | }) |
| | | } |
| | | |
| | | param.LText = param.LText.join(' union ') // sql拼接 |
| | | param.LText = Utils.formatOptions(param.LText) // 关键字符替换,base64加密 |
| | | param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') + '.000' // 时间戳 |
| | | param.secretkey = Utils.encrypt(param.LText, param.timestamp) // md5密钥 |
| | | |
| | | confirm({ |
| | | title: this.state.dict['header.menu.resetorder'], |
| | | content: '', |
| | |
| | | render () { |
| | | return ( |
| | | <div className="header-edit-box"> |
| | | <div className="mask"></div> |
| | | <div className="mask"> |
| | | <div className="tipcard card1"> |
| | | 拖动一级菜单可调整顺序,顺序调整后,请点击确定按钮保存。 |
| | | </div> |
| | | <div className="tipcard card2"> |
| | | 鼠标经过菜单时会显示编辑图标,点击编辑可修改和删除菜单。 |
| | | </div> |
| | | <div className="tipcard card3"> |
| | | 点击解除冻结按钮,可还原已删除的一级菜单。 |
| | | </div> |
| | | <div className="tipcard card4"> |
| | | 点击添加图标,可新增一级菜单。 |
| | | </div> |
| | | <div className="tipcard card5"> |
| | | <p>编辑状态中,菜单之外区域会锁定,查看系统数据请点击。</p> |
| | | <div> |
| | | <a target="blank" href="#/main" >新页面</a> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | {this.props.menulist && <DndProvider backend={HTML5Backend}> |
| | | <DragElement |
| | | dict={this.state.dict} |
| | |
| | | onOk={this.addMemuSubmit} |
| | | confirmLoading={this.state.confirmLoading} |
| | | onCancel={this.addMemuCancel} |
| | | destroyOnClose |
| | | > |
| | | <MenuForm |
| | | dict={this.state.dict} |
| | |
| | | onOk={this.thawMemuSubmit} |
| | | confirmLoading={this.state.confirmLoading} |
| | | onCancel={this.thawMemuCancel} |
| | | destroyOnClose |
| | | > |
| | | {!this.state.thawmenulist && <Spin style={{marginLeft: 'calc(50% - 22px)', marginTop: '70px', marginBottom: '70px'}} size="large" />} |
| | | {this.state.thawmenulist && <TransferForm ref="trawmenu" dict={this.state.dict} menulist={this.state.thawmenulist}/>} |
| | |
| | | {/* 编辑菜单模态框 */} |
| | | <Modal |
| | | 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} |
| | | footer={[ |
| | | <Button key="cancel" onClick={this.editMemuCancel}>{this.state.dict['header.cancel']}</Button>, |
| | | <Button key="confirm" type="primary" onClick={this.editMemuSubmit} loading={this.state.confirmLoading}>{this.state.dict['header.confirm']}</Button>, |
| | | <Button key="delete" type="danger" onClick={this.deleteMemu}>{this.state.dict['header.delete']}</Button> |
| | | ]} |
| | | onCancel={this.editMemuCancel} |
| | | destroyOnClose |
| | | > |
| | | <MenuForm |
| | | dict={this.state.dict} |
| | |
| | | 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> |
| | | <Button type="danger" onClick={this.deleteMemu}>{this.state.dict['header.delete']}</Button> |
| | | </div> |
| | | </Modal> |
| | | </div> |
| | | ) |