From c06e58c80240afd703d289bb1c584e08b9783383 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期五, 13 六月 2025 20:24:25 +0800 Subject: [PATCH] 2025-06-13 --- src/pc/components/navbar/normal-navbar/menusetting/menuform/index.jsx | 132 ++++++++++++++++++++++++++------------------ 1 files changed, 78 insertions(+), 54 deletions(-) diff --git a/src/pc/components/navbar/normal-navbar/menusetting/menuform/index.jsx b/src/pc/components/navbar/normal-navbar/menusetting/menuform/index.jsx index 19e747f..76ad886 100644 --- a/src/pc/components/navbar/normal-navbar/menusetting/menuform/index.jsx +++ b/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,7 @@ state = { property: this.props.menu.property || 'menu', - linkIntId: this.props.menu.linkIntId || '', + copyMenu: this.props.menu.copyMenuId || '', appMenus: [], } @@ -23,7 +24,7 @@ if (appMenus) { try { appMenus = JSON.parse(appMenus) - } catch { + } catch (e) { appMenus = [] } } else { @@ -47,9 +48,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) @@ -72,14 +70,10 @@ this.setState({property: val}) } - changeLinkMenu = (val, { props }) => { - this.setState({linkIntId: props.intid}) - } - render() { const { menu } = this.props const { getFieldDecorator } = this.props.form - const { property, appMenus } = this.state + const { property, appMenus, copyMenu } = this.state const formItemLayout = { labelCol: { @@ -108,6 +102,19 @@ })(<Input placeholder={''} autoComplete="off" onPressEnter={this.handleSubmit} />)} </Form.Item> </Col> + {/* <Col span={22}> + <Form.Item label="鑿滃崟鍙傛暟"> + {getFieldDecorator('MenuNo', { + initialValue: menu.MenuNo || '', + rules: [ + { + required: true, + message: '璇疯緭鍏ヨ彍鍗曞弬鏁�!' + } + ] + })(<Input placeholder={''} autoComplete="off" onPressEnter={this.handleSubmit} />)} + </Form.Item> + </Col> */} <Col span={22}> <Form.Item label="鑿滃崟灞炴��"> {getFieldDecorator('property', { @@ -115,13 +122,66 @@ })( <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> )} </Form.Item> </Col> + {property === 'linkmenu' ? <Col span={22}> + <Form.Item label={ + <Tooltip placement="topLeft" title="鍏宠仈褰撳墠app涓凡鏈夌殑鑿滃崟銆�"> + <QuestionCircleOutlined className="mk-form-tip" /> + 鍏宠仈鑿滃崟 + </Tooltip> + }> + {getFieldDecorator('linkMenuId', { + initialValue: menu.linkMenuId || '', + rules: [{ + required: true, + message: '璇烽�夋嫨鍏宠仈鑿滃崟!' + }] + })( + <Select> + {appMenus.map(item => (<Select.Option key={item.MenuID} value={item.MenuID}>{item.MenuName}</Select.Option>))} + </Select> + )} + </Form.Item> + </Col> : null} + {property === 'menu' ? <Col span={22}> + <Form.Item label={ + <Tooltip placement="topLeft" title="澶嶅埗鑿滃崟浠呭湪褰撳墠鑿滃崟涓嶅瓨鍦ㄦ椂鏈夋晥銆�"> + <QuestionCircleOutlined className="mk-form-tip" /> + 澶嶅埗鑿滃崟 + </Tooltip> + }> + {getFieldDecorator('copyMenuId', { + initialValue: menu.copyMenuId || '' + })( + <Select allowClear dropdownMatchSelectWidth={false} onChange={(val) => this.setState({copyMenu: val})}> + {appMenus.map(item => (<Select.Option key={item.MenuID} value={item.MenuID}>{item.MenuName}</Select.Option>))} + </Select> + )} + </Form.Item> + </Col> : null} + {property === 'menu' && copyMenu ? <Col span={22}> + <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={22}> <Form.Item label="闅愯棌"> {getFieldDecorator('hidden', { @@ -134,17 +194,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', { @@ -157,40 +206,15 @@ )} </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'}}/> - 鍏宠仈鑿滃崟 - </Tooltip> - }> - {getFieldDecorator('linkMenuId', { - initialValue: menu.linkMenuId || '', + {property === 'link' ? <Col span={22}> + <Form.Item label="閾炬帴鍦板潃"> + {getFieldDecorator('link', { + initialValue: menu.link || '', rules: [{ required: true, - message: '璇烽�夋嫨鍏宠仈鑿滃崟!' + 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> - )} - </Form.Item> - </Col> : null} - {property === 'menu' ? <Col span={22}> - <Form.Item label={ - <Tooltip placement="topLeft" title="澶嶅埗鑿滃崟浠呭湪褰撳墠鑿滃崟涓嶅瓨鍦ㄦ椂鏈夋晥銆�"> - <Icon type="question-circle" style={{color: '#c49f47', marginRight: '3px'}}/> - 澶嶅埗鑿滃崟 - </Tooltip> - }> - {getFieldDecorator('copyMenuId', { - initialValue: menu.copyMenuId || '' - })( - <Select> - {appMenus.map(item => (<Select.Option key={item.MenuID} value={item.MenuID}>{item.MenuName}</Select.Option>))} - </Select> - )} + })(<TextArea rows={2} />)} </Form.Item> </Col> : null} </Row> -- Gitblit v1.8.0