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