Browse Source

图表编辑界面筛选组件日期数据回写bug处理

zhuth 7 years ago
parent
commit
79e93eda3e
1 changed files with 8 additions and 6 deletions
  1. 8 6
      src/components/chartDesigner/sections/filterBox.jsx

+ 8 - 6
src/components/chartDesigner/sections/filterBox.jsx

@@ -5,6 +5,7 @@ import OPERATORS from './filterOperators.json';
 import './filterBox.less'
 import * as service from '../../../services/index'
 import URLS from '../../../constants/url'
+import * as moment from 'moment';
 const FormItem = Form.Item
 const SelectOption = Select.Option
 
@@ -80,16 +81,17 @@ class FilterBox extends React.Component {
         const filters = form.getFieldValue('filters');
 
         this.setState({ columnData: [] });
+        const type = this.getFilterType(value.key);
         form.setFieldsValue({
             filters: filters.map((f) => {
                 if (f.key === filter.key) {
                     f.key = uuid++; // 每次重设key值以保证界面重现渲染,解决Select数据残留的问题
                     f.name = value.key;
                     f.label = value.label;
-                    f.type = this.getFilterType(value.key);
+                    f.type = type;
                     f.operator = OPERATORS[f.type][0].value;
                     f.operatorLabel = OPERATORS[f.type][0].label;
-                    f.value1 = f.value2 = undefined;
+                    f.value1 = f.value2 = (type === 'time' ? moment() : undefined);
                 }
                 return f;
             })
@@ -102,14 +104,14 @@ class FilterBox extends React.Component {
     changeFilterOperator = (filter, value) => {
         const { form } = this.props;
         const filters = form.getFieldValue('filters');
-
+        const type = this.getFilterType(filter.name);
         form.setFieldsValue({
             filters: filters.map((f) => {
                 if (f.key === filter.key) {
                     f.key = uuid++;
                     f.operator = value.key;
                     f.operatorLabel = value.label;
-                    f.value1 = f.value2 = undefined;
+                    f.value1 = f.value2 = (type === 'time' ? moment() : undefined);
                 }
                 return f;
             })
@@ -292,7 +294,7 @@ class FilterBox extends React.Component {
                                 className='filterValueOne'
                             >
                                 {getFieldDecorator(`filterValueOne${key}`, {
-                                    initialValue: value1
+                                    initialValue: type==='time' ? moment(value1) : value1
                                 })(this.getFilterValueField(key, type, operator, 1))}
                             </FormItem>
                         </Col>
@@ -302,7 +304,7 @@ class FilterBox extends React.Component {
                                 className='filterValueTwo'
                             >
                                 {getFieldDecorator(`filterValueTwo${key}`, {
-                                    initialValue: value2
+                                    initialValue: type==='time' ? moment(value2) : value2
                                 })(this.getFilterValueField(key, type, operator, 2))}
                             </FormItem>
                         </Col>