king
2021-11-12 0c84df247914f893ef5e41d57a422e10a2dc814c
src/pc/components/navbar/normal-navbar/menusetting/menuform/index.jsx
@@ -1,6 +1,7 @@
import React, {Component} from 'react'
import PropTypes from 'prop-types'
import { Form, Row, Col, Input, Radio, Tooltip, Icon, Select } from 'antd'
import { Form, Row, Col, Input, Radio, Tooltip, Select } from 'antd'
import { QuestionCircleOutlined } from '@ant-design/icons'
import './index.scss'
@@ -14,7 +15,6 @@
  state = {
    property: this.props.menu.property || 'menu',
    linkIntId: this.props.menu.linkIntId || '',
    appMenus: [],
  }
@@ -23,7 +23,7 @@
    if (appMenus) {
      try {
        appMenus = JSON.parse(appMenus)
      } catch {
      } catch (e) {
        appMenus = []
      }
    } else {
@@ -47,9 +47,6 @@
    return new Promise((resolve, reject) => {
      this.props.form.validateFieldsAndScroll((err, values) => {
        if (!err) {
          if (values.linkmenuid) {
            values.linkIntId = this.state.linkIntId || ''
          }
          resolve(values)
        } else {
          reject(err)
@@ -70,10 +67,6 @@
    let val = e.target.value
    this.setState({property: val})
  }
  changeLinkMenu = (val, { props }) => {
    this.setState({linkIntId: props.intid})
  }
  render() {
@@ -128,8 +121,8 @@
              })(
                <Radio.Group onChange={this.changeProperty}>
                  <Radio value="menu">菜单</Radio>
                  <Radio value="link">链接</Radio>
                  <Radio value="linkmenu">关联菜单</Radio>
                  <Radio value="link">链接</Radio>
                  {menu.level === 1 || menu.level === 2 ? <Radio value="classify">分类</Radio> : null}
                </Radio.Group>
              )}
@@ -147,17 +140,6 @@
              )}
            </Form.Item>
          </Col>
          {property === 'link' ? <Col span={22}>
            <Form.Item label="链接地址">
              {getFieldDecorator('link', {
                initialValue: menu.link || '',
                rules: [{
                  required: true,
                  message: '请输入链接地址!'
                }]
              })(<TextArea rows={2} />)}
            </Form.Item>
          </Col> : null}
          {property !== 'classify' ? <Col span={22}>
            <Form.Item label="打开方式">
              {getFieldDecorator('open', {
@@ -170,10 +152,21 @@
              )}
            </Form.Item>
          </Col> : null}
          {property === 'link' ? <Col span={22}>
            <Form.Item label="链接地址">
              {getFieldDecorator('link', {
                initialValue: menu.link || '',
                rules: [{
                  required: true,
                  message: '请输入链接地址!'
                }]
              })(<TextArea rows={2} />)}
            </Form.Item>
          </Col> : null}
          {property === 'linkmenu' ? <Col span={22}>
            <Form.Item label={
              <Tooltip placement="topLeft" title="关联当前app中已有的菜单。">
                <Icon type="question-circle" style={{color: '#c49f47', marginRight: '3px'}}/>
                <QuestionCircleOutlined className="mk-form-tip" />
                关联菜单
              </Tooltip>
            }>
@@ -184,8 +177,8 @@
                  message: '请选择关联菜单!'
                }]
              })(
                <Select onChange={this.changeLinkMenu}>
                  {appMenus.map(item => (<Select.Option key={item.MenuID} intid={item.menuid_int} value={item.MenuID}>{item.MenuName}</Select.Option>))}
                <Select>
                  {appMenus.map(item => (<Select.Option key={item.MenuID} value={item.MenuID}>{item.MenuName}</Select.Option>))}
                </Select>
              )}
            </Form.Item>
@@ -193,14 +186,14 @@
          {property === 'menu' ? <Col span={22}>
            <Form.Item label={
              <Tooltip placement="topLeft" title="复制菜单仅在当前菜单不存在时有效。">
                <Icon type="question-circle" style={{color: '#c49f47', marginRight: '3px'}}/>
                <QuestionCircleOutlined className="mk-form-tip" />
                复制菜单
              </Tooltip>
            }>
              {getFieldDecorator('copyMenuId', {
                initialValue: menu.copyMenuId || ''
              })(
                <Select>
                <Select allowClear>
                  {appMenus.map(item => (<Select.Option key={item.MenuID} value={item.MenuID}>{item.MenuName}</Select.Option>))}
                </Select>
              )}