| | |
| | | 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, Icon } from 'antd' |
| | | import './index.scss' |
| | | |
| | | class MainSearch extends Component { |
| | |
| | | } |
| | | |
| | | state = { |
| | | |
| | | requireArr: true |
| | | } |
| | | |
| | | UNSAFE_componentWillMount () { |
| | | |
| | | onChange = (value, key) => { |
| | | if (key === 'TryType' && value === 'N') { |
| | | this.setState({requireArr: false}) |
| | | } else if (key === 'TryType' && value === 'Y') { |
| | | this.setState({requireArr: true}) |
| | | } |
| | | } |
| | | |
| | | getFields() { |
| | | const { getFieldDecorator } = this.props.form |
| | | |
| | | const { requireArr } = this.state |
| | | const fields = [] |
| | | |
| | | this.props.formlist.forEach((item, index) => { |
| | | if (!requireArr && item.key === 'array_name') return |
| | | |
| | | if (item.type === 'text') { |
| | | fields.push( |
| | | <Col span={24} key={index}> |
| | | <Form.Item label={item.label}> |
| | | <Form.Item label={item.tooltip ? |
| | | <Tooltip placement="topLeft" title={item.tooltip}> |
| | | <Icon type="question-circle" /> |
| | | {item.label} |
| | | </Tooltip> : item.label |
| | | }> |
| | | {getFieldDecorator(item.key, { |
| | | initialValue: item.initval, |
| | | rules: [ |
| | |
| | | } else if (item.type === 'radio') { |
| | | fields.push( |
| | | <Col span={24} key={index}> |
| | | <Form.Item label={item.label}> |
| | | <Form.Item label={item.tooltip ? |
| | | <Tooltip placement="topLeft" title={item.tooltip}> |
| | | <Icon type="question-circle" /> |
| | | {item.label} |
| | | </Tooltip> : item.label |
| | | }> |
| | | {getFieldDecorator(item.key, { |
| | | initialValue: item.initval, |
| | | rules: [ |
| | |
| | | } |
| | | ] |
| | | })( |
| | | <Radio.Group> |
| | | <Radio.Group onChange={(e) => this.onChange(e.target.value, item.key)}> |
| | | {item.options.map(op => { |
| | | return <Radio key={op.value} value={op.value}>{op.text}</Radio> |
| | | })} |