| | |
| | | import PropTypes from 'prop-types' |
| | | import { Form, Row, Col, Input, Radio, Tooltip, Icon, InputNumber, Select } from 'antd' |
| | | |
| | | import ColorSketch from '@/mob/colorsketch' |
| | | import './index.scss' |
| | | |
| | | class SettingForm extends Component { |
| | | static propTpyes = { |
| | | MenuType: PropTypes.any, // 菜单类型 |
| | | dict: PropTypes.object, // 字典项 |
| | | config: PropTypes.object, // 卡片行信息 |
| | | wrap: PropTypes.object, // 数据源配置 |
| | |
| | | } |
| | | |
| | | state = { |
| | | roleList: [] |
| | | roleList: [], |
| | | appType: sessionStorage.getItem('appType') |
| | | } |
| | | |
| | | UNSAFE_componentWillMount () { |
| | |
| | | if (roleList) { |
| | | try { |
| | | roleList = JSON.parse(roleList) |
| | | } catch { |
| | | } catch (e) { |
| | | roleList = [] |
| | | } |
| | | } else { |
| | |
| | | } |
| | | |
| | | render() { |
| | | const { wrap, MenuType, config } = this.props |
| | | const { wrap, config } = this.props |
| | | const { getFieldDecorator } = this.props.form |
| | | const { roleList } = this.state |
| | | const { roleList, appType } = this.state |
| | | |
| | | const formItemLayout = { |
| | | labelCol: { |
| | |
| | | </Form.Item> |
| | | </Col> |
| | | <Col span={12}> |
| | | <Form.Item label={ |
| | | <Tooltip placement="topLeft" title="栅格布局,每行等分为24列。"> |
| | | <Icon type="question-circle" /> |
| | | 宽度 |
| | | </Tooltip> |
| | | }> |
| | | {getFieldDecorator('width', { |
| | | initialValue: wrap.width || 24, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: this.props.dict['form.required.input'] + '宽度!' |
| | | } |
| | | ] |
| | | })(<InputNumber min={1} max={24} precision={0} onPressEnter={this.handleSubmit} />)} |
| | | </Form.Item> |
| | | </Col> |
| | | <Col span={12}> |
| | | <Form.Item label="表格属性"> |
| | | {getFieldDecorator('tableType', { |
| | | initialValue: wrap.tableType |
| | |
| | | initialValue: wrap.bordered || 'true' |
| | | })( |
| | | <Radio.Group style={{whiteSpace: 'nowrap'}}> |
| | | <Radio key="true" value={'true'}> 有 </Radio> |
| | | <Radio key="false" value={'false'}> 无 </Radio> |
| | | <Radio key="true" value="true"> 有 </Radio> |
| | | <Radio key="false" value="false"> 无 </Radio> |
| | | </Radio.Group> |
| | | )} |
| | | </Form.Item> |
| | | </Col> |
| | | <Col span={12}> |
| | | <Form.Item label="表头"> |
| | | {getFieldDecorator('tableHeader', { |
| | | initialValue: wrap.tableHeader || 'show' |
| | | })( |
| | | <Radio.Group style={{whiteSpace: 'nowrap'}}> |
| | | <Radio key="show" value="show"> 显示 </Radio> |
| | | <Radio key="hidden" value="hidden"> 隐藏 </Radio> |
| | | </Radio.Group> |
| | | )} |
| | | </Form.Item> |
| | | </Col> |
| | | {appType !== 'mob' ? <Col span={12}> |
| | | <Form.Item label="可收起"> |
| | | {getFieldDecorator('collapse', { |
| | | initialValue: wrap.collapse || 'false' |
| | | })( |
| | | <Radio.Group> |
| | | <Radio key="true" value="true"> 是 </Radio> |
| | | <Radio key="false" value="false"> 否 </Radio> |
| | | </Radio.Group> |
| | | )} |
| | | </Form.Item> |
| | | </Col> : null} |
| | | <Col span={12}> |
| | | <Form.Item label="表格大小"> |
| | | {getFieldDecorator('size', { |
| | | initialValue: wrap.size || 'middle' |
| | | })( |
| | | <Radio.Group style={{whiteSpace: 'nowrap'}}> |
| | | <Radio key="default" value="default"> 大 </Radio> |
| | | <Radio key="middle" value="middle"> 中 </Radio> |
| | | <Radio key="small" value="small"> 小 </Radio> |
| | | </Radio.Group> |
| | | )} |
| | | </Form.Item> |
| | | </Col> |
| | | <Col span={12} style={{height: '64px'}}> |
| | | <Form.Item label={ |
| | | <Tooltip placement="topLeft" title="默认值 #e8e8e8。"> |
| | | <Icon type="question-circle" /> |
| | | 边框颜色 |
| | | </Tooltip> |
| | | }> |
| | | {getFieldDecorator('borderColor', { |
| | | initialValue: wrap.borderColor || '#e8e8e8' |
| | | })( |
| | | <ColorSketch /> |
| | | )} |
| | | </Form.Item> |
| | | </Col> |
| | | <Col span={12}> |
| | | <Form.Item label="模式"> |
| | | {getFieldDecorator('mode', { |
| | | initialValue: wrap.mode || 'default' |
| | | })( |
| | | <Radio.Group> |
| | | <Radio key="default" value="default"> 常规 </Radio> |
| | | <Radio key="ghost" value="ghost"> 透明 </Radio> |
| | | </Radio.Group> |
| | | )} |
| | | </Form.Item> |
| | | </Col> |
| | | <Col span={12} style={{height: '64px'}}> |
| | | <Form.Item label={ |
| | | <Tooltip placement="topLeft" title="默认值 rgba(0, 0, 0, 0.65)。"> |
| | | <Icon type="question-circle" /> |
| | | 字体颜色 |
| | | </Tooltip> |
| | | }> |
| | | {getFieldDecorator('color', { |
| | | initialValue: wrap.color || 'rgba(0, 0, 0, 0.65)' |
| | | })( |
| | | <ColorSketch /> |
| | | )} |
| | | </Form.Item> |
| | | </Col> |
| | | <Col span={12}> |
| | | <Form.Item label="字体大小"> |
| | | {getFieldDecorator('fontSize', { |
| | | initialValue: wrap.fontSize || 14 |
| | | })(<InputNumber min={14} max={30} precision={0} />)} |
| | | </Form.Item> |
| | | </Col> |
| | | <Col span={12}> |
| | | <Form.Item label={ |
| | | <Tooltip placement="topLeft" title="栅格布局,每行等分为24列。"> |
| | | <Icon type="question-circle" /> |
| | | 宽度 |
| | | </Tooltip> |
| | | }> |
| | | {getFieldDecorator('width', { |
| | | initialValue: wrap.width || 24, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: this.props.dict['form.required.input'] + '宽度!' |
| | | } |
| | | ] |
| | | })(<InputNumber min={1} max={24} precision={0} onPressEnter={this.handleSubmit} />)} |
| | | </Form.Item> |
| | | </Col> |
| | | {appType !== 'mob' ? <Col span={12}> |
| | | <Form.Item label={ |
| | | <Tooltip placement="topLeft" title="高级搜索弹窗的宽度,注:当宽度值小于100时表示占窗口的百分比,大于100时表示宽度的绝对值。"> |
| | | <Icon type="question-circle" /> |
| | | 高级搜索 |
| | | </Tooltip> |
| | | }> |
| | | {getFieldDecorator('advanceWidth', { |
| | | initialValue: wrap.advanceWidth || 1000 |
| | | })(<InputNumber min={10} max={3000} precision={0} onPressEnter={this.handleSubmit}/>)} |
| | | </Form.Item> |
| | | </Col> : null} |
| | | {appType !== 'mob' ? <Col span={12}> |
| | | <Form.Item label={ |
| | | <Tooltip placement="topLeft" title="双击表格中行,触发的按钮。"> |
| | | <Icon type="question-circle" /> |
| | |
| | | </Select> |
| | | )} |
| | | </Form.Item> |
| | | </Col> |
| | | {MenuType !== 'billPrint' ? <Col span={12}> |
| | | </Col> : null} |
| | | <Col span={12}> |
| | | <Form.Item label="黑名单"> |
| | | {getFieldDecorator('blacklist', { |
| | | initialValue: wrap.blacklist || [] |
| | |
| | | </Select> |
| | | )} |
| | | </Form.Item> |
| | | </Col> : null} |
| | | </Col> |
| | | </Row> |
| | | </Form> |
| | | </div> |