| | |
| | | import PropTypes from 'prop-types' |
| | | import { Form, Row, Col, Select, Button, Input, InputNumber, Radio, Icon, Cascader, Tooltip } from 'antd' |
| | | |
| | | import { minkeColorSystem } from '@/utils/option.js' |
| | | import { minkeColorSystem, minkeIconSystem } from '@/utils/option.js' |
| | | import './index.scss' |
| | | |
| | | class UniqueForm extends Component { |
| | |
| | | originField: this.props.card, |
| | | signType: 'background', |
| | | selectIcon: '', |
| | | options: minkeColorSystem |
| | | options: minkeColorSystem, |
| | | icons: minkeIconSystem.direction |
| | | } |
| | | |
| | | UNSAFE_componentWillMount() { |
| | |
| | | }) |
| | | } |
| | | |
| | | /** |
| | | * @description 字段切换 |
| | | */ |
| | | fieldChange = (value) => { |
| | | const { columns } = this.props |
| | | let item = columns.filter(col => col.field === value)[0] |
| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * @description 对比值类型切换 |
| | | */ |
| | | changeType = (val) => { |
| | | this.setState({ |
| | | contrastType: val |
| | | }) |
| | | } |
| | | |
| | | /** |
| | | * @description 标记类型切换 |
| | | */ |
| | | changeSignType = (val) => { |
| | | let _type = 'background ' |
| | | if (val === 'icon' || val === 'font') { |
| | |
| | | this.setState(newState) |
| | | } |
| | | |
| | | /** |
| | | * @description 图标类型切换 |
| | | */ |
| | | changeIconType = (val) => { |
| | | this.setState({ |
| | | icons: minkeIconSystem[val], |
| | | selectIcon: '' |
| | | }) |
| | | this.props.form.setFieldsValue({icon: ''}) |
| | | } |
| | | |
| | | /** |
| | | * @description 切换图标 |
| | | */ |
| | | changeIcon = (val) => { |
| | | this.setState({ |
| | | selectIcon: val, |
| | |
| | | |
| | | render() { |
| | | const { columns } = this.props |
| | | const { originField, contrastType, signType, options, selectIcon } = this.state |
| | | const { originField, contrastType, signType, options, selectIcon, icons } = this.state |
| | | const { getFieldDecorator } = this.props.form |
| | | const formItemLayout = { |
| | | labelCol: { |
| | |
| | | </Form.Item> |
| | | </Col> : null} |
| | | {signType === 'icon' ? <Col span={6}> |
| | | <Form.Item label={'图标类型'}> |
| | | {getFieldDecorator('iconType', { |
| | | initialValue: 'direction' |
| | | })( |
| | | <Select onChange={this.changeIconType}> |
| | | <Select.Option value="direction">方向性图标</Select.Option> |
| | | <Select.Option value="hint">提示建议性图标</Select.Option> |
| | | <Select.Option value="edit">编辑类图标</Select.Option> |
| | | <Select.Option value="data">数据类图标</Select.Option> |
| | | <Select.Option value="trademark">品牌和标识</Select.Option> |
| | | <Select.Option value="normal">网站通用图标</Select.Option> |
| | | </Select> |
| | | )} |
| | | </Form.Item> |
| | | </Col> : null} |
| | | {signType === 'icon' ? <Col span={6}> |
| | | <Form.Item label={'图标'}> |
| | | {getFieldDecorator('icon', { |
| | | initialValue: '', |
| | |
| | | ] |
| | | })( |
| | | <Select onChange={this.changeIcon} getPopupContainer={() => document.getElementById('model-mark-form-box')}> |
| | | <Select.Option value="arrow-up"><Icon type="arrow-up" /></Select.Option> |
| | | {icons.map(icon => <Select.Option key={icon} value={icon}><Icon type={icon} /></Select.Option>)} |
| | | {/* <Select.Option value="arrow-up"><Icon type="arrow-up" /></Select.Option> |
| | | <Select.Option value="arrow-down"><Icon type="arrow-down" /></Select.Option> |
| | | <Select.Option value="arrow-left"><Icon type="arrow-left" /></Select.Option> |
| | | <Select.Option value="arrow-right"><Icon type="arrow-right" /></Select.Option> |
| | |
| | | <Select.Option value="question"><Icon type="question" /></Select.Option> |
| | | <Select.Option value="fall"><Icon type="fall" /></Select.Option> |
| | | <Select.Option value="rise"><Icon type="rise" /></Select.Option> |
| | | <Select.Option value="link"><Icon type="link" /></Select.Option> |
| | | <Select.Option value="link"><Icon type="link" /></Select.Option> */} |
| | | {/* <Select.Option value="link"></Select.Option> */} |
| | | </Select> |
| | | )} |
| | |
| | | )} |
| | | </Form.Item> |
| | | </Col> : null} |
| | | <Col span={signType === 'icon' ? 24 : 12} style={{textAlign: 'right', marginBottom: 10}}> |
| | | <Col span={signType === 'icon' ? (!selectIcon ? 24 : 18) : 12} style={{textAlign: 'right', marginBottom: 10}}> |
| | | <Button onClick={this.handleConfirm} type="primary" className="mk-green"> |
| | | 保存 |
| | | </Button> |