king
2020-02-21 063b983daaf51a7f1e8677bde1e9c0e618866c91
src/components/header/editmenu/index.jsx
@@ -4,12 +4,14 @@
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
@@ -96,7 +98,7 @@
    // 新建菜单:提交
    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
      })
@@ -105,9 +107,7 @@
          this.setState({
            confirmLoading: false,
            addMvisible: false,
            menulist: null
          })
          this.addMenuFormRef.handleReset('add')
          this.props.reload()
        } else {
          this.setState({
@@ -129,7 +129,6 @@
      confirmLoading: false,
      addMvisible: false
    })
    this.addMenuFormRef.handleReset('add')
  }
  deleteMemu = () => {
@@ -149,7 +148,6 @@
            _this.setState({
              editMvisible: false,
              editMenu: null,
              menulist: null
            })
            _this.props.reload()
          } else {
@@ -233,13 +231,18 @@
      })
    } 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: '',
@@ -304,7 +307,26 @@
  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}
@@ -323,6 +345,7 @@
          onOk={this.addMemuSubmit}
          confirmLoading={this.state.confirmLoading}
          onCancel={this.addMemuCancel}
          destroyOnClose
        >
          <MenuForm
            dict={this.state.dict}
@@ -340,6 +363,7 @@
          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}/>}
@@ -347,11 +371,14 @@
        {/* 编辑菜单模态框 */}
        <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}
@@ -359,11 +386,6 @@
            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>
    )