| | |
| | | import React, {Component} from 'react' |
| | | import PropTypes from 'prop-types' |
| | | import { Form, Row, Col, Input, Radio, Select } from 'antd' |
| | | import { Form, Row, Col, Input, Radio, Select, Tooltip } from 'antd' |
| | | import { QuestionCircleOutlined } from '@ant-design/icons' |
| | | |
| | | import asyncComponent from '@/utils/asyncComponent' |
| | | import { formRule } from '@/utils/option.js' |
| | | import './index.scss' |
| | | |
| | | const ColorSketch = asyncComponent(() => import('@/mob/colorsketch')) |
| | | |
| | | class SettingForm extends Component { |
| | | static propTpyes = { |
| | | dict: PropTypes.object, // 字典项 |
| | | config: PropTypes.object, // 表单配置信息 |
| | | inputSubmit: PropTypes.any // 回车提交事件 |
| | | } |
| | |
| | | if (roleList) { |
| | | try { |
| | | roleList = JSON.parse(roleList) |
| | | } catch { |
| | | } catch (e) { |
| | | roleList = [] |
| | | } |
| | | } else { |
| | |
| | | } |
| | | |
| | | return ( |
| | | <Form {...formItemLayout} className="ant-advanced-search-form modal-setting-form"> |
| | | <Form {...formItemLayout} className="mob-search-setting-form"> |
| | | <Row gutter={24}> |
| | | <Col span={12}> |
| | | <Form.Item label="顶部样式"> |
| | |
| | | )} |
| | | </Form.Item> |
| | | </Col> |
| | | {type === 'title' ? <Col span={12}> |
| | | <Form.Item label="标题"> |
| | | <Col span={12}> |
| | | <Form.Item label={ |
| | | <Tooltip placement="topLeft" title="使用搜索栏时,标题用于搜索条件隐藏时(当启用黑名单,登录用户无权限时)显示。"> |
| | | <QuestionCircleOutlined className="mk-form-tip" /> |
| | | 标题 |
| | | </Tooltip> |
| | | }> |
| | | {getFieldDecorator('title', { |
| | | initialValue: config.setting.title, |
| | | rules: [ |
| | |
| | | ] |
| | | })(<Input placeholder="" autoComplete="off" onPressEnter={this.handleSubmit} />)} |
| | | </Form.Item> |
| | | </Col> : null} |
| | | </Col> |
| | | {type === 'search' ? <Col span={12}> |
| | | <Form.Item label="搜索字段"> |
| | | {getFieldDecorator('field', { |
| | |
| | | </Form.Item> |
| | | </Col> : null} |
| | | {type === 'search' ? <Col span={12}> |
| | | <Form.Item label="匹配方式"> |
| | | {getFieldDecorator('match', { |
| | | initialValue: config.setting.match || 'like' |
| | | })( |
| | | <Radio.Group> |
| | | <Radio value="like">like</Radio> |
| | | <Radio value="not like">not like</Radio> |
| | | <Radio value="=">=</Radio> |
| | | </Radio.Group> |
| | | )} |
| | | </Form.Item> |
| | | </Col> : null} |
| | | {type === 'search' ? <Col span={12}> |
| | | <Form.Item label="必填"> |
| | | {getFieldDecorator('required', { |
| | | initialValue: config.setting.required || 'false' |
| | | })( |
| | | <Radio.Group> |
| | | <Radio value="true">是</Radio> |
| | | <Radio value="false">否</Radio> |
| | | </Radio.Group> |
| | | )} |
| | | </Form.Item> |
| | | </Col> : null} |
| | | {type === 'search' ? <Col span={12}> |
| | | <Form.Item label="隐藏"> |
| | | {getFieldDecorator('Hide', { |
| | | initialValue: config.setting.Hide || 'false' |
| | | })( |
| | | <Radio.Group> |
| | | <Radio value="true">是</Radio> |
| | |
| | | </Form.Item> |
| | | </Col> |
| | | {type === 'search' ? <Col span={12}> |
| | | <Form.Item label="扫码"> |
| | | {getFieldDecorator('scan', { |
| | | initialValue: config.setting.scan || 'false' |
| | | })( |
| | | <Radio.Group> |
| | | <Radio value="true">开启</Radio> |
| | | <Radio value="false">关闭</Radio> |
| | | </Radio.Group> |
| | | )} |
| | | </Form.Item> |
| | | </Col> : null} |
| | | <Col span={12}> |
| | | <Form.Item className="sys-bgcolor" label="背景色"> |
| | | {getFieldDecorator('backgroundColor', { |
| | | initialValue: config.setting.backgroundColor || '#ffffff' |
| | | })( |
| | | <ColorSketch/> |
| | | )} |
| | | </Form.Item> |
| | | </Col> |
| | | {type === 'search' ? <Col span={12}> |
| | | <Form.Item label="黑名单"> |
| | | {getFieldDecorator('blacklist', { |
| | | initialValue: config.setting.blacklist || [] |