| | |
| | | } |
| | | } |
| | | |
| | | UNSAFE_componentWillReceiveProps (nextProps) { |
| | | if (this.props.reset !== nextProps.reset) { |
| | | this.reset() |
| | | } |
| | | } |
| | | |
| | | onChange = (date, type) => { |
| | | const { card } = this.props |
| | | let values = [] |
| | | if (type === 'day') { |
| | | values = [moment(date).format('YYYY-MM-DD'), moment(date).format('YYYY-MM-DD')] |
| | |
| | | active: type, |
| | | dateRange: values |
| | | }, () => { |
| | | this.props.onGroupChange() |
| | | this.props.onGroupChange({[card.datefield]: values, [card.field]: type}) |
| | | }) |
| | | } |
| | | |
| | | clearTime = () => { |
| | | const { card } = this.props |
| | | this.setState({ |
| | | active: '', |
| | | dateRange: '' |
| | | }, () => { |
| | | this.props.onGroupChange() |
| | | this.props.onGroupChange({[card.datefield]: '', [card.field]: ''}) |
| | | }) |
| | | } |
| | | |
| | |
| | | active: initType, |
| | | dateRange: initDateRange |
| | | }) |
| | | } |
| | | |
| | | getSearchItems = () => { |
| | | const { card } = this.props |
| | | const { dateRange, active } = this.state |
| | | let items = [] |
| | | |
| | | items.push({ |
| | | type: 'daterange', |
| | | key: card.datefield, |
| | | value: dateRange, |
| | | label: card.label, |
| | | match: 'between', |
| | | required: card.required === 'true' |
| | | }) |
| | | |
| | | if (card.transfer === 'true') { |
| | | items.push({ |
| | | type: card.type, |
| | | key: card.field, |
| | | value: active, |
| | | label: card.label, |
| | | match: '=', |
| | | forbid: true, |
| | | required: card.required === 'true' |
| | | }) |
| | | } |
| | | |
| | | return items |
| | | } |
| | | |
| | | render() { |
| | |
| | | {dateRange.join(' ~ ')} |
| | | <Icon type="close-circle" onClick={this.clearTime} className="ant-calendar-picker-clear" /> |
| | | </div> : null} |
| | | {!dateRange && card.required === 'true' ? <div className="ant-form-explain">请选择{card.label}!</div> : null} |
| | | {!dateRange && card.required ? <div className="ant-form-explain">请选择{card.label}!</div> : null} |
| | | </div> |
| | | ) |
| | | } |