From aaaf56d7ca060f7c681d6b8a67aac46aa89a4dbc Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期六, 09 五月 2020 14:50:39 +0800 Subject: [PATCH] 2020-05-09 --- src/tabviews/zshare/dategroup/index.jsx | 72 +++++++++++++++++++++++++++++++---- 1 files changed, 63 insertions(+), 9 deletions(-) diff --git a/src/tabviews/zshare/dategroup/index.jsx b/src/tabviews/zshare/dategroup/index.jsx index df8a89a..81ef53d 100644 --- a/src/tabviews/zshare/dategroup/index.jsx +++ b/src/tabviews/zshare/dategroup/index.jsx @@ -1,6 +1,6 @@ import React, {Component} from 'react' import PropTypes from 'prop-types' -import { DatePicker, Tooltip } from 'antd' +import { DatePicker, Tooltip, Icon } from 'antd' import moment from 'moment' import Utils from '@/utils/utils.js' @@ -12,14 +12,17 @@ class DateGroup extends Component { static propTpyes = { - card: PropTypes.object // 瀛楀吀椤� + card: PropTypes.object, // 鎼滅储鏉′欢 + onGroupChange: PropTypes.func // 鎼滅储鍐呭鍒囨崲 } state = { active: '', quarterId: Utils.getuuid(), yearId: Utils.getuuid(), - dateRange: '' + dateRange: '', + initDateRange: '', + initType: '' } UNSAFE_componentWillMount() { @@ -77,13 +80,11 @@ } this.setState({ active: card.initval[0], - dateRange: _dateRange + dateRange: _dateRange, + initDateRange: _dateRange, + initType: card.initval[0] }) } - } - - changeTab = () => { - } onChange = (date, type) => { @@ -107,7 +108,55 @@ this.setState({ active: type, dateRange: values + }, () => { + this.props.onGroupChange() }) + } + + clearTime = () => { + this.setState({ + active: '', + dateRange: '' + }, () => { + this.props.onGroupChange() + }) + } + + reset = () => { + const { initDateRange, initType } = this.state + + this.setState({ + 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: '=', + required: card.required === 'true' + }) + } + + return items } render() { @@ -164,7 +213,12 @@ </span>) } })} - <div className="table-search-date-group-value">{dateRange ? dateRange.join(' ~ ') : ''}</div> + + {dateRange ? <div className="table-search-date-group-value"> + {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} </div> ) } -- Gitblit v1.8.0