From 72419e2f826031a158173f46d723a672064e37cd Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 31 八月 2021 22:42:51 +0800 Subject: [PATCH] 2021-08-31 --- src/menu/components/tabs/tabsetting/settingform/index.jsx | 74 +++++++++++++++++++++++++++++++----- 1 files changed, 63 insertions(+), 11 deletions(-) diff --git a/src/menu/components/tabs/tabsetting/settingform/index.jsx b/src/menu/components/tabs/tabsetting/settingform/index.jsx index b80e165..a8190c2 100644 --- a/src/menu/components/tabs/tabsetting/settingform/index.jsx +++ b/src/menu/components/tabs/tabsetting/settingform/index.jsx @@ -2,19 +2,34 @@ import PropTypes from 'prop-types' import { Form, Row, Col, Input, Radio, Tooltip, Icon, InputNumber, Select } from 'antd' -// import { formRule } from '@/utils/option.js' import './index.scss' class SettingForm extends Component { static propTpyes = { dict: PropTypes.object, // 瀛楀吀椤� setting: PropTypes.object, // 鏁版嵁婧愰厤缃� + inputSubmit: PropTypes.func // 鍥炶溅浜嬩欢 } - state = {} + state = { + appType: sessionStorage.getItem('appType'), + position: this.props.setting.position, + roleList: [] + } UNSAFE_componentWillMount () { + let roleList = sessionStorage.getItem('sysRoles') + if (roleList) { + try { + roleList = JSON.parse(roleList) + } catch { + roleList = [] + } + } else { + roleList = [] + } + this.setState({roleList}) } handleConfirm = () => { @@ -30,10 +45,18 @@ }) } + handleSubmit = (e) => { + e.preventDefault() + + if (this.props.inputSubmit) { + this.props.inputSubmit() + } + } render() { const { setting } = this.props const { getFieldDecorator } = this.props.form + const { roleList, appType, position } = this.state const formItemLayout = { labelCol: { @@ -47,8 +70,8 @@ } return ( - <div className="model-datasource-setting-form-box"> - <Form {...formItemLayout} className="model-setting-form"> + <div className="model-menu-setting-form"> + <Form {...formItemLayout}> <Row gutter={24}> <Col span={12}> <Form.Item label={ @@ -65,25 +88,25 @@ message: this.props.dict['form.required.input'] + '缁勪欢鍚嶇О!' } ] - })(<Input placeholder={''} autoComplete="off" />)} + })(<Input placeholder={''} autoComplete="off" onPressEnter={this.handleSubmit}/>)} </Form.Item> </Col> <Col span={12}> <Form.Item label={ - <Tooltip placement="topLeft" title="鏍呮牸甯冨眬锛屾瘡琛岀瓑鍒�24浠姐��"> + <Tooltip placement="topLeft" title="鏍呮牸甯冨眬锛屾瘡琛岀瓑鍒嗕负24鍒椼��"> <Icon type="question-circle" /> 瀹藉害 </Tooltip> }> - {getFieldDecorator('span', { - initialValue: setting.span || 12, + {getFieldDecorator('width', { + initialValue: setting.width || 24, rules: [ { required: true, message: this.props.dict['form.required.input'] + '瀹藉害!' } ] - })(<InputNumber min={1} max={24} precision={0} />)} + })(<InputNumber min={1} max={24} precision={0} onPressEnter={this.handleSubmit}/>)} </Form.Item> </Col> <Col span={12}> @@ -91,7 +114,7 @@ {getFieldDecorator('position', { initialValue: setting.position || 'top' })( - <Select> + <Select onChange={(val) => this.setState({position: val})}> <Select.Option key="top" value="top"> top </Select.Option> <Select.Option key="bottom" value="bottom"> bottom </Select.Option> <Select.Option key="left" value="left"> left </Select.Option> @@ -100,7 +123,7 @@ )} </Form.Item> </Col> - <Col span={12}> + {appType !== 'mob' ? <Col span={12}> <Form.Item label={ <Tooltip placement="topLeft" title="鏍囩浣嶇疆涓簍op鏃舵湁鏁堬紝榛樿鍊间负line銆�"> <Icon type="question-circle" /> @@ -116,6 +139,35 @@ </Radio.Group> )} </Form.Item> + </Col> : null} + {appType === 'mob' && (position === 'top' || position === 'bottom') ? <Col span={12}> + <Form.Item label="鏍囩鏄剧ず"> + {getFieldDecorator('display', { + initialValue: setting.display || 'flex' + })( + <Radio.Group> + <Radio value="flex">寮规�у竷灞�</Radio> + <Radio value="inline-block">瀹氬</Radio> + </Radio.Group> + )} + </Form.Item> + </Col> : null} + <Col span={12}> + <Form.Item label="榛戝悕鍗�"> + {getFieldDecorator('blacklist', { + initialValue: setting.blacklist || [] + })( + <Select + showSearch + mode="multiple" + filterOption={(input, option) => option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0} + > + {roleList.map(option => + <Select.Option key={option.uuid} value={option.value}>{option.text}</Select.Option> + )} + </Select> + )} + </Form.Item> </Col> </Row> </Form> -- Gitblit v1.8.0