king
2024-06-07 8040a18c4b2a848d252bf01838f06c7aec1be9f3
src/mob/components/navbar/normal-navbar/menus/menuform/index.jsx
@@ -18,6 +18,7 @@
  state = {
    property: this.props.menu.property || 'menu',
    copyMenu: this.props.menu.copyMenuId || '',
    appMenus: [],
  }
@@ -75,7 +76,7 @@
  render() {
    const { menu, cols } = this.props
    const { getFieldDecorator } = this.props.form
    const { property, appMenus } = this.state
    const { property, appMenus, copyMenu } = this.state
    const formItemLayout = {
      labelCol: {
@@ -105,44 +106,6 @@
            </Form.Item>
          </Col>
          <Col span={12}>
            <Form.Item label="菜单参数">
              {getFieldDecorator('MenuNo', {
                initialValue: menu.MenuNo || '',
                rules: [
                  {
                    required: true,
                    message: '请输入菜单参数!'
                  }
                ]
              })(<Input placeholder={''} autoComplete="off" onPressEnter={this.handleSubmit} />)}
            </Form.Item>
          </Col>
          <Col span={12}>
            <Form.Item label="图标">
              {getFieldDecorator('icon', {
                initialValue: menu.icon || ''
              })(
                <MkEditIcon options={['normal', 'data', 'direction', 'edit', 'hint']} allowClear />
              )}
            </Form.Item>
          </Col>
          <Col span={12}>
            <Form.Item label={
              <Tooltip placement="topLeft" title="绑定提示字段后,会在菜单右上角显示提示信息。注:在添加图标时有效。">
                <QuestionCircleOutlined className="mk-form-tip" />
                提示
              </Tooltip>
            }>
              {getFieldDecorator('tip', {
                initialValue: menu.tip || ''
              })(
                <Select allowClear>
                  {cols.map(item => <Select.Option key={item.uuid} value={item.field}>{item.label}</Select.Option>)}
                </Select>
              )}
            </Form.Item>
          </Col>
          <Col span={12}>
            <Form.Item label="菜单属性">
              {getFieldDecorator('property', {
                initialValue: menu.property || 'menu'
@@ -151,18 +114,6 @@
                  <Radio value="menu">菜单</Radio>
                  <Radio value="linkmenu">关联菜单</Radio>
                  <Radio value="link">链接</Radio>
                </Radio.Group>
              )}
            </Form.Item>
          </Col>
          <Col span={12}>
            <Form.Item label="隐藏">
              {getFieldDecorator('hidden', {
                initialValue: menu.hidden || 'false'
              })(
                <Radio.Group>
                  <Radio value="false">否</Radio>
                  <Radio value="true">是</Radio>
                </Radio.Group>
              )}
            </Form.Item>
@@ -192,10 +143,14 @@
                  message: '请选择关联菜单!'
                }]
              })(
                <Select>
                  {appMenus.map(item => (<Select.Option key={item.MenuID} value={item.MenuID}>{item.MenuName}</Select.Option>))}
                <Select
                  showSearch
                  filterOption={(input, option) => option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0 ||
                    option.props.extend.toLowerCase().indexOf(input.toLowerCase()) >= 0}
                >
                  {appMenus.map(item => (<Select.Option key={item.MenuID} extend={item.MenuNo || ''} value={item.MenuID}>{item.MenuName}</Select.Option>))}
                  {/* <Select.Option key="IM" value="IM">即时通信(系统页)</Select.Option> */}
                  <Select.Option key="AIService" value="AIService">智能客服(系统页)</Select.Option>
                  <Select.Option key="AIService" extend={''} value="AIService">智能客服(系统页)</Select.Option>
                </Select>
              )}
            </Form.Item>
@@ -210,12 +165,120 @@
              {getFieldDecorator('copyMenuId', {
                initialValue: menu.copyMenuId || ''
              })(
                <Select>
                  {appMenus.map(item => (<Select.Option key={item.MenuID} value={item.MenuID}>{item.MenuName}</Select.Option>))}
                <Select
                  allowClear
                  showSearch
                  dropdownMatchSelectWidth={false}
                  filterOption={(input, option) => option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0 ||
                    option.props.extend.toLowerCase().indexOf(input.toLowerCase()) >= 0}
                  onChange={(val) => this.setState({copyMenu: val})}
                >
                  {appMenus.map(item => (<Select.Option key={item.MenuID} extend={item.MenuNo || ''} value={item.MenuID}>{item.MenuName}</Select.Option>))}
                </Select>
              )}
            </Form.Item>
          </Col> : null}
          {property === 'menu' && copyMenu ? <Col span={12}>
            <Form.Item label={
              <Tooltip placement="topLeft" title="复制菜单时,是否清空原页面中的关联菜单。">
                <QuestionCircleOutlined className="mk-form-tip" />
                清空关联菜单
              </Tooltip>
            }>
              {getFieldDecorator('clearMenu', {
                initialValue: menu.clearMenu || 'true'
              })(
                <Radio.Group>
                  <Radio value="true">是</Radio>
                  <Radio value="false">否</Radio>
                </Radio.Group>
              )}
            </Form.Item>
          </Col> : null}
          {/* <Col span={12}>
            <Form.Item label="菜单参数">
              {getFieldDecorator('MenuNo', {
                initialValue: menu.MenuNo || '',
                rules: [
                  {
                    required: true,
                    message: '请输入菜单参数!'
                  }
                ]
              })(<Input placeholder={''} autoComplete="off" onPressEnter={this.handleSubmit} />)}
            </Form.Item>
          </Col> */}
          <Col span={12}>
            <Form.Item label="图标">
              {getFieldDecorator('icon', {
                initialValue: menu.icon || ''
              })(
                <MkEditIcon options={['normal', 'data', 'direction', 'edit', 'hint']} allowClear />
              )}
            </Form.Item>
          </Col>
          <Col span={12}>
            <Form.Item label={
              <Tooltip placement="topLeft" title="绑定提示字段后,会在菜单右上角显示提示信息。注:在添加图标时有效。">
                <QuestionCircleOutlined className="mk-form-tip" />
                提示
              </Tooltip>
            }>
              {getFieldDecorator('tip', {
                initialValue: menu.tip || ''
              })(
                <Select allowClear>
                  {cols.map(item => <Select.Option key={item.uuid} value={item.field}>{item.label}</Select.Option>)}
                </Select>
              )}
            </Form.Item>
          </Col>
          <Col span={12}>
            <Form.Item label="隐藏">
              {getFieldDecorator('hidden', {
                initialValue: menu.hidden || 'false'
              })(
                <Radio.Group>
                  <Radio value="false">否</Radio>
                  <Radio value="true">是</Radio>
                </Radio.Group>
              )}
            </Form.Item>
          </Col>
          {property === 'menu' || property === 'linkmenu' ? <Col span={12}>
            <Form.Item label={
              <Tooltip placement="topLeft" title="替换当前页面或打开新页面,在H5或小程序中有效。">
                <QuestionCircleOutlined className="mk-form-tip" />
                打开方式
              </Tooltip>
            }>
              {getFieldDecorator('open', {
                initialValue: menu.open || 'self'
              })(
                <Radio.Group>
                  <Radio value="self">标签页</Radio>
                  <Radio value="blank">新页面</Radio>
                </Radio.Group>
              )}
            </Form.Item>
          </Col> : null}
          <Col span={12}>
            <Form.Item label={
              <Tooltip placement="topLeft" title="在H5或小程序中有效。">
                <QuestionCircleOutlined className="mk-form-tip" />
                菜单样式
              </Tooltip>
            }>
              {getFieldDecorator('class', {
                initialValue: menu.class || 'default'
              })(
                <Radio.Group>
                  <Radio value="default">默认</Radio>
                  <Radio value="zoomIn">放大</Radio>
                </Radio.Group>
              )}
            </Form.Item>
          </Col>
        </Row>
      </Form>
    )