@bchr/bchr-front-lib 0.3.85 → 0.3.89

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3 @@
1
+ /** 全局颜色 **/
2
+ /** 常用色值 **/
3
+ /** 常用字体大小 **/
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bchr/bchr-front-lib",
3
- "version": "0.3.85",
3
+ "version": "0.3.89",
4
4
  "description": "bchr front lib",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -4,6 +4,8 @@ const UI_RENDER_TYPE = {
4
4
  INPUT_NUMBER: "inputNumber",
5
5
  TEXT_AREA: "textArea",
6
6
  DATE: "date",
7
+ DATE_YEAR: "dateYear",
8
+ DATE_MONTH: "dateMonth",
7
9
  DATE_TIME: "dateTime",
8
10
  SELECT: "select",
9
11
  TREE_SELECT: "treeSelect",
@@ -215,6 +215,12 @@ class FormForBrowse extends React.Component{
215
215
  case UI_RENDER_TYPE.DATE:
216
216
  value = (initialValues[display_code] ? moment(initialValues[display_code]).format("YYYY-MM-DD") : "");
217
217
  break;
218
+ case UI_RENDER_TYPE.DATE_YEAR:
219
+ value = (initialValues[display_code] ? moment(initialValues[display_code]).format("YYYY") : "");
220
+ break;
221
+ case UI_RENDER_TYPE.DATE_MONTH:
222
+ value = (initialValues[display_code] ? moment(initialValues[display_code]).format("YYYY-MM") : "");
223
+ break;
218
224
  case UI_RENDER_TYPE.DATE_TIME:
219
225
  value = (initialValues[display_code] ? moment(initialValues[display_code]).format("YYYY-MM-DD hh:mm:ss") : "");
220
226
  break;
@@ -1,6 +1,5 @@
1
1
  import React, {Fragment} from 'react';
2
2
  import {
3
- Badge,
4
3
  Button,
5
4
  Col,
6
5
  ConfigProvider,
@@ -31,11 +30,28 @@ class FormForModify extends React.Component{
31
30
  this.ref = this.props.formref || React.createRef();
32
31
 
33
32
  this.state = {
34
-
33
+ editFormulasState: []
35
34
  }
36
35
  }
37
36
 
38
37
  componentDidMount() {
38
+ let {data, info_set_fields} = this.props;
39
+ let {editFormulasState} = this.state;
40
+ info_set_fields.forEach(formItem => {
41
+ this.preParseFormItemExtConfig(formItem);
42
+ if (formItem.editFormulaConfigs) {
43
+ for (let i = 0, len = formItem.editFormulaConfigs.length; i < len; i++) {
44
+ let editFormulaConfig = formItem.editFormulaConfigs[i];
45
+ let initialValue = formItem.ui_render_type === 'switch' ? (data[formItem.code] || '').toLowerCase() !== 'true' : data[formItem.code];
46
+ let formulaValueOf = formItem.ui_render_type === 'switch' ? (editFormulaConfig.onValueOf || '').toLowerCase() !== 'true' : editFormulaConfig.onValueOf;
47
+
48
+ if (formulaValueOf === initialValue) {
49
+ editFormulasState.push({editFormulasStateCode: formItem.code, editFormulaItem: editFormulaConfig})
50
+ }
51
+ }
52
+ }
53
+ })
54
+ this.setState({editFormulasState})
39
55
  }
40
56
 
41
57
  buildExtFormItems = () => {
@@ -113,10 +129,63 @@ class FormForModify extends React.Component{
113
129
  )
114
130
  }
115
131
 
116
- buildFormItems = () => {
117
- let {info_set_fields, ext_form_items} = this.props;
118
-
132
+ buildFormItems = (editFormulasState) => {
133
+ let {data, info_set_fields, ext_form_items} = this.props;
119
134
  if (info_set_fields && info_set_fields.length > 0) {
135
+ info_set_fields.forEach(formItem => {
136
+ formItem.initialValue = null;
137
+
138
+ this.preParseFormItemExtConfig(formItem);
139
+
140
+ if (editFormulasState && editFormulasState.length) {
141
+ formItem.b_disabled = formItem.b_readonly;
142
+ for (let i = 0, len = editFormulasState.length; i < len; i++) {
143
+ let editFormulaStateItem = editFormulasState[i].editFormulaItem;
144
+ if (editFormulaStateItem) {
145
+ editFormulaStateItem.otherFormItemResponses.forEach(item => {
146
+ if (formItem.code === item.formItemCode) {
147
+ if (item.formItemValue === 'disabled') {
148
+ formItem.b_disabled = true;
149
+ } else if (item.formItemValue === 'enabled') {
150
+ formItem.b_disabled = false;
151
+ } else {
152
+ formItem.initialValue = item.formItemValue || data[formItem.display_code];
153
+ }
154
+ }
155
+ })
156
+ }
157
+ }
158
+
159
+ } else {
160
+ if (formItem.editFormulaConfigs) {
161
+ for (let i = 0, len = formItem.editFormulaConfigs.length; i < len; i++) {
162
+ let editFormulaConfig = formItem.editFormulaConfigs[i];
163
+ let initialValue = formItem.ui_render_type === 'switch' ? (data[formItem.code] || '').toLowerCase() !== 'true' : data[formItem.code];
164
+ let formulaValueOf = formItem.ui_render_type === 'switch' ? (editFormulaConfig.onValueOf || '').toLowerCase() !== 'true' : editFormulaConfig.onValueOf;
165
+
166
+ if (formulaValueOf === initialValue) {
167
+ let currentOtherFormItemResponses = editFormulaConfig.otherFormItemResponses;
168
+ currentOtherFormItemResponses.forEach(item => {
169
+ info_set_fields.forEach(formItemInner => {
170
+ if (formItemInner.code === item.formItemCode) {
171
+ if (item.formItemValue === 'disabled') {
172
+ formItemInner.b_disabled = true;
173
+ } else if (item.formItemValue === 'enabled') {
174
+ formItemInner.b_disabled = false;
175
+ } else {
176
+ formItemInner.initialValue = item.formItemValue || data[formItem.display_code];
177
+ }
178
+ }
179
+ })
180
+ })
181
+ }
182
+
183
+ }
184
+
185
+ }
186
+
187
+ }
188
+ })
120
189
 
121
190
  let groupNames = info_set_fields.map(item => item.belong_form_group).filter((item, index, arr) => item && item.trim().length > 0 && arr.indexOf(item) === index);
122
191
 
@@ -134,7 +203,6 @@ class FormForModify extends React.Component{
134
203
  if (UI_RENDER_TYPE.HIDDEN === dataItem.ui_render_type) {
135
204
  return null;
136
205
  }
137
-
138
206
  return this.generatorFormItem(dataItem)
139
207
  })
140
208
  }
@@ -156,7 +224,6 @@ class FormForModify extends React.Component{
156
224
  if (UI_RENDER_TYPE.HIDDEN === dataItem.ui_render_type) {
157
225
  return null;
158
226
  }
159
-
160
227
  return this.generatorFormItem(dataItem)
161
228
  })
162
229
  }
@@ -173,7 +240,6 @@ class FormForModify extends React.Component{
173
240
  if (UI_RENDER_TYPE.HIDDEN === dataItem.ui_render_type) {
174
241
  return null;
175
242
  }
176
-
177
243
  return this.generatorFormItem(dataItem);
178
244
  })
179
245
  }
@@ -185,10 +251,85 @@ class FormForModify extends React.Component{
185
251
  }
186
252
  };
187
253
 
254
+ preParseFormItemExtConfig = (formItem) => {
255
+ let formulas = formItem['edit_formula'];
256
+ if (formulas && formulas.length > 5) {
257
+ let rawFormulaTextArray = formulas.split(';');
258
+ let pureFormulaTextItems = [];
259
+ for (let i = 0, len = rawFormulaTextArray.length; i < len; i++) {
260
+ let rawFormulaTextItem = rawFormulaTextArray[i];
261
+ if (rawFormulaTextItem && rawFormulaTextItem.trim().length > 0) {
262
+ pureFormulaTextItems.push(rawFormulaTextItem.trim());
263
+ }
264
+ }
265
+
266
+ if (pureFormulaTextItems.length === 0) {
267
+ return;
268
+ }
269
+
270
+ let editFormulaConfigs = [];
271
+
272
+ for (let i = 0, len = pureFormulaTextItems.length; i < len; i++) {
273
+ let formulaTextItem = pureFormulaTextItems[i];
274
+ let formulaChildTextItems = formulaTextItem.split("=>");
275
+
276
+ if (formulaChildTextItems.length !== 2) {
277
+ continue;
278
+ }
279
+
280
+ let formItemValueText = formulaChildTextItems[0].trim();
281
+ let onChangeEventText = formulaChildTextItems[1].trim()
282
+ if (formItemValueText.length === 0 || onChangeEventText.length === 0) {
283
+ continue;
284
+ }
285
+
286
+ if (formItemValueText.startsWith("(") && formItemValueText.endsWith(")")) {
287
+ formItemValueText = formItemValueText.substr(1, formItemValueText.length - 2);
288
+ }
289
+
290
+ let editFormulaConfig = {
291
+ onValueOf : formItemValueText,
292
+ otherFormItemResponses : []
293
+ };
294
+
295
+ if (onChangeEventText.startsWith("(") && onChangeEventText.endsWith(")")) {
296
+ onChangeEventText = onChangeEventText.substr(1, onChangeEventText.length - 2);
297
+ }
298
+
299
+
300
+ let otherFormItemResponseStates = onChangeEventText.split(",")
301
+ for (let m = 0, count = otherFormItemResponseStates.length; m < count; m++) {
302
+ let otherFormItemResponseState = otherFormItemResponseStates[m];
303
+ let otherFormItemResponseOptions = otherFormItemResponseState.split(":");
304
+ if (otherFormItemResponseOptions.length === 2) {
305
+ let otherFormItemCode = otherFormItemResponseOptions[0].trim();
306
+ let otherFormItemValue = otherFormItemResponseOptions[1].trim();
307
+ if (otherFormItemCode.length && otherFormItemValue.length > 0) {
308
+ let otherFormItemResponse = {
309
+ formItemCode : otherFormItemCode,
310
+ formItemValue : otherFormItemValue
311
+ }
312
+
313
+ editFormulaConfig.otherFormItemResponses.push(otherFormItemResponse)
314
+ }
315
+ }
316
+ }
317
+
318
+ if (editFormulaConfig.onValueOf && editFormulaConfig.otherFormItemResponses.length > 0) {
319
+ editFormulaConfigs.push(editFormulaConfig);
320
+ }
321
+ }
322
+
323
+ if (editFormulaConfigs.length > 0) {
324
+ formItem.editFormulaConfigs = editFormulaConfigs;
325
+ }
326
+ }
327
+ }
328
+
188
329
  generatorFormItem = (dataItem, is_ext_field) => {
189
330
  let {data, biz_object_pk, owner_object_pk, file_service_path, value_onchange_events, custom_form_items, form_items_ext_props, form_id} = this.props;
190
331
  let {name, ui_render_type, max_value, min_value, ref_pk, code, display_code, b_multiple, value_on_change_event, upload_file_biz_object_type,
191
- b_readonly, b_required, field_length, field_precision, tip_message, regexp_pattern} = dataItem;
332
+ b_readonly, b_disabled, b_required, field_length, field_precision, tip_message, regexp_pattern} = dataItem;
192
333
 
193
334
  form_id = form_id || "form";
194
335
 
@@ -212,9 +353,13 @@ class FormForModify extends React.Component{
212
353
  }
213
354
 
214
355
  display_code = display_code || code;
215
- let initialValue = data[code];
356
+ let initialValue = dataItem.initialValue || data[code];
216
357
  let displayValue = data[display_code];
217
358
 
359
+ if (code === 'old__end_date$i_hi_person_contract') {
360
+ console.log(code, initialValue)
361
+ }
362
+
218
363
  let component, valuePropName;
219
364
  if (custom_form_items && custom_form_items[code + "_form_item"] && typeof custom_form_items[code + "_form_item"] === "function") {
220
365
  component = custom_form_items[code + "_form_item"](data);
@@ -234,7 +379,7 @@ class FormForModify extends React.Component{
234
379
 
235
380
  switch (ui_render_type) {
236
381
  case UI_RENDER_TYPE.INPUT:
237
- component = b_readonly ? (
382
+ component = (b_disabled !== undefined ? b_disabled : b_readonly) ? (
238
383
  <div>
239
384
  <span>{displayValue}</span>
240
385
  </div>
@@ -252,7 +397,7 @@ class FormForModify extends React.Component{
252
397
  );
253
398
  break;
254
399
  case UI_RENDER_TYPE.INPUT_NUMBER:
255
- component = b_readonly ? (
400
+ component = (b_disabled !== undefined ? b_disabled : b_readonly) ? (
256
401
  <div>
257
402
  <span>{displayValue}</span>
258
403
  </div>
@@ -271,7 +416,7 @@ class FormForModify extends React.Component{
271
416
  );
272
417
  break;
273
418
  case UI_RENDER_TYPE.INPUT_PASSWORD:
274
- component = b_readonly ? (
419
+ component = (b_disabled !== undefined ? b_disabled : b_readonly) ? (
275
420
  <div>
276
421
  <InputPassword ui_render_type={'browse'} initValue={displayValue}/>
277
422
  </div>
@@ -289,7 +434,7 @@ class FormForModify extends React.Component{
289
434
  );
290
435
  break;
291
436
  case UI_RENDER_TYPE.TEXT_AREA:
292
- component = b_readonly ? (
437
+ component = (b_disabled !== undefined ? b_disabled : b_readonly) ? (
293
438
  <div>
294
439
  <span>{displayValue}</span>
295
440
  </div>
@@ -310,7 +455,7 @@ class FormForModify extends React.Component{
310
455
  initialValue = (initialValue ? moment(initialValue) : "");
311
456
  displayValue = (displayValue ? moment(displayValue).format("YYYY-MM-DD") : "");
312
457
 
313
- component = b_readonly ? (
458
+ component = (b_disabled !== undefined ? b_disabled : b_readonly) ? (
314
459
  <div>
315
460
  <span>{displayValue}</span>
316
461
  </div>
@@ -331,7 +476,7 @@ class FormForModify extends React.Component{
331
476
  initialValue = (initialValue ? moment(initialValue) : "");
332
477
  displayValue = (displayValue ? moment(displayValue).format("YYYY-MM-DD hh:mm:ss") : "");
333
478
 
334
- component = b_readonly ? (
479
+ component = (b_disabled !== undefined ? b_disabled : b_readonly) ? (
335
480
  <div>
336
481
  <span>{displayValue}</span>
337
482
  </div>
@@ -365,7 +510,7 @@ class FormForModify extends React.Component{
365
510
  }
366
511
  }
367
512
 
368
- component = b_readonly ? (
513
+ component = (b_disabled !== undefined ? b_disabled : b_readonly) ? (
369
514
  <div>
370
515
  <span>{displayValue}</span>
371
516
  </div>
@@ -400,7 +545,7 @@ class FormForModify extends React.Component{
400
545
  initialValue = data[code] && data[code] > 0 ? data[code] + "" : null;
401
546
  }
402
547
 
403
- component = b_readonly ? (
548
+ component = (b_disabled !== undefined ? b_disabled : b_readonly) ? (
404
549
  <div>
405
550
  <span>{displayValue}</span>
406
551
  </div>
@@ -430,7 +575,7 @@ class FormForModify extends React.Component{
430
575
  initialValue = displayValue;
431
576
  code = display_code;
432
577
 
433
- component = b_readonly ? (
578
+ component = (b_disabled !== undefined ? b_disabled : b_readonly) ? (
434
579
  <div>
435
580
  <span>{displayValue}</span>
436
581
  </div>
@@ -449,7 +594,7 @@ class FormForModify extends React.Component{
449
594
  );
450
595
  break;
451
596
  case UI_RENDER_TYPE.UPLOAD:
452
- component = b_readonly ? (
597
+ component = (b_disabled !== undefined ? b_disabled : b_readonly) ? (
453
598
  <div>
454
599
  <span>{displayValue}</span>
455
600
  {
@@ -492,7 +637,7 @@ class FormForModify extends React.Component{
492
637
  displayValue = (initialValue ? "是" : "否");
493
638
  }
494
639
 
495
- component = b_readonly ? (
640
+ component = (b_disabled !== undefined ? b_disabled : b_readonly) ? (
496
641
  <div>
497
642
  <span>{displayValue}</span>
498
643
  </div>
@@ -509,7 +654,7 @@ class FormForModify extends React.Component{
509
654
  );
510
655
  break;
511
656
  default:
512
- component = b_readonly ? (
657
+ component = (b_disabled !== undefined ? b_disabled : b_readonly) ? (
513
658
  <div>
514
659
  <span>{displayValue}</span>
515
660
  </div>
@@ -551,18 +696,7 @@ class FormForModify extends React.Component{
551
696
  <span style={{marginRight: '5px'}} dangerouslySetInnerHTML={{__html: dataItem.field_label_prefix}}></span>
552
697
  }
553
698
 
554
- {
555
- dataItem.field_label_badge && dataItem.field_label_badge.trim().length > 0 &&
556
- <Badge count={<span style={{zIndex: '1'}} dangerouslySetInnerHTML={{__html: dataItem.field_label_badge}}></span>}>
557
- <Tooltip title={name}>{name}</Tooltip>
558
- </Badge>
559
- }
560
-
561
- {
562
- (!dataItem.field_label_badge || dataItem.field_label_badge.trim().length == 0) &&
563
- <Tooltip title={name}>{name}</Tooltip>
564
- }
565
-
699
+ <Tooltip title={name}>{name}</Tooltip>
566
700
  {
567
701
  tip_message && <Tooltip className="ui-tpl-tool-tip" title={tip_message}> <QuestionCircleOutlined /> </Tooltip>
568
702
  }
@@ -791,6 +925,55 @@ class FormForModify extends React.Component{
791
925
  this.props.data[display_code] = display_value;
792
926
  }
793
927
 
928
+ if (config.editFormulaConfigs && config.editFormulaConfigs.length) {
929
+ let {data} = this.props;
930
+ let {editFormulasState} = this.state;
931
+ let {setFieldsValue} = this.ref.current;
932
+ if (value) {
933
+ let editFormulaItem = config.editFormulaConfigs.filter(editFormulaItem => editFormulaItem.onValueOf === value.toString())[0];
934
+ if (editFormulaItem) {
935
+ if (value) {
936
+ editFormulaItem.otherFormItemResponses.forEach(item => {
937
+ if (item.formItemValue === 'disabled') {
938
+ if (item.formItemCode.indexOf('date') !== -1) {
939
+ setFieldsValue({[item.formItemCode]: moment(data[item.formItemCode]) || ''})
940
+ } else {
941
+ setFieldsValue({[item.formItemCode]: data[item.formItemCode] || ''})
942
+ }
943
+ }
944
+ })
945
+ }
946
+ if (editFormulasState.filter(item => item.editFormulasStateCode === code).length) {
947
+ editFormulasState.forEach(item => {
948
+ if (item.editFormulasStateCode === code) {
949
+ item.editFormulaItem = editFormulaItem;
950
+ }
951
+ })
952
+ } else {
953
+ editFormulasState.push({editFormulasStateCode: code, editFormulaItem});
954
+ }
955
+ } else {
956
+ if (editFormulasState.filter(item => item.editFormulasStateCode === code).length) {
957
+ editFormulasState.forEach(item => {
958
+ if (item.editFormulasStateCode === code) {
959
+ item.editFormulaItem = null;
960
+ }
961
+ })
962
+ }
963
+ }
964
+ } else {
965
+ if (editFormulasState.filter(item => item.editFormulasStateCode === code).length) {
966
+ editFormulasState.forEach(item => {
967
+ if (item.editFormulasStateCode === code) {
968
+ item.editFormulaItem = null;
969
+ }
970
+ })
971
+ }
972
+ }
973
+
974
+ this.setState({editFormulasState})
975
+ }
976
+
794
977
  if (callback && typeof callback === "function") {
795
978
  callback(value, option);
796
979
  }
@@ -887,6 +1070,37 @@ class FormForModify extends React.Component{
887
1070
  }
888
1071
 
889
1072
  switchOnChange(config, callback, checked, event) {
1073
+ if (config.editFormulaConfigs && config.editFormulaConfigs.length) {
1074
+ let {data} = this.props;
1075
+ let {code} = config;
1076
+ let {editFormulasState} = this.state;
1077
+ let {setFieldsValue} = this.ref.current;
1078
+ let editFormulaItem = config.editFormulaConfigs.filter(editFormulaItem => editFormulaItem.onValueOf === checked.toString())[0];
1079
+ if (editFormulaItem) {
1080
+ if (!checked) {
1081
+ editFormulaItem.otherFormItemResponses.forEach(item => {
1082
+ if (item.formItemCode.indexOf('date') !== -1) {
1083
+ setFieldsValue({[item.formItemCode]: moment(data[item.formItemCode]) || ''})
1084
+ } else {
1085
+ setFieldsValue({[item.formItemCode]: data[item.formItemCode] || ''})
1086
+ }
1087
+ })
1088
+ }
1089
+ if (editFormulasState.filter(item => item.editFormulasStateCode === code).length) {
1090
+ editFormulasState.forEach(item => {
1091
+ if (item.editFormulasStateCode === code) {
1092
+ item.editFormulaItem = editFormulaItem;
1093
+ }
1094
+ })
1095
+ } else {
1096
+ editFormulasState.push({editFormulasStateCode: code, editFormulaItem});
1097
+ }
1098
+ } else {
1099
+ editFormulasState.push({editFormulasStateCode: code, editFormulaItem: null});
1100
+ }
1101
+ this.setState({editFormulasState})
1102
+ }
1103
+
890
1104
  if (callback && typeof callback === "function") {
891
1105
  callback(checked, event);
892
1106
  }
@@ -944,6 +1158,7 @@ class FormForModify extends React.Component{
944
1158
 
945
1159
  render() {
946
1160
  let {props} = this;
1161
+ let {editFormulasState} = this.state;
947
1162
  return (
948
1163
  <ConfigProvider locale={zhCN}>
949
1164
  <Form
@@ -953,7 +1168,7 @@ class FormForModify extends React.Component{
953
1168
  scrollToFirstError
954
1169
  onValuesChange={this.onValuesChange.bind(this)}
955
1170
  >
956
- {this.buildFormItems()}
1171
+ {this.buildFormItems(editFormulasState)}
957
1172
  {this.buildExtFormItems()}
958
1173
  </Form>
959
1174
  </ConfigProvider>
@@ -1,7 +1,7 @@
1
1
  import React, {Fragment} from 'react';
2
2
  import {Grid, GridColumn} from "@progress/kendo-react-grid";
3
3
  import {ExcelExport, ExcelExportColumn} from "@progress/kendo-react-excel-export";
4
- import {ConfigProvider, Tooltip} from "antd";
4
+ import {Badge, ConfigProvider, Tooltip} from "antd";
5
5
  import {DownloadOutlined, QuestionCircleOutlined} from '@ant-design/icons';
6
6
  import moment from "moment";
7
7
  import {EXPORT_GRID_CELL_OPTIONS, EXPORT_GRID_HEADER_CELL_OPTIONS, UI_RENDER_TYPE} from "../consts";
@@ -180,9 +180,23 @@ class GridForBrowse extends React.Component{
180
180
  <span style={{marginRight: '5px'}} dangerouslySetInnerHTML={{__html: dataItem.column_header_prefix}}></span>
181
181
  </Tooltip>
182
182
  }
183
- <span className={b_required ? "k-grid-column-required" : ""}>
184
- {name}
185
- </span>
183
+
184
+ {
185
+ dataItem.field_label_badge && dataItem.field_label_badge.trim().length > 0 &&
186
+ <Badge count={<span style={{zIndex: '1'}} dangerouslySetInnerHTML={{__html: dataItem.field_label_badge}}></span>}>
187
+ <span className={b_required ? "k-grid-column-required" : ""}>
188
+ {name}
189
+ </span>
190
+ </Badge>
191
+ }
192
+
193
+ {
194
+ (!dataItem.field_label_badge || dataItem.field_label_badge.trim().length == 0) &&
195
+ <span className={b_required ? "k-grid-column-required" : ""}>
196
+ {name}
197
+ </span>
198
+ }
199
+
186
200
  {
187
201
  tip_message && <Tooltip className="ui-tpl-tool-tip" title={tip_message}> <QuestionCircleOutlined /> </Tooltip>
188
202
  }
@@ -500,6 +514,12 @@ class GridForBrowse extends React.Component{
500
514
  case UI_RENDER_TYPE.DATE:
501
515
  value = (rowData[display_code] ? moment(rowData[display_code]).format("YYYY-MM-DD") : "");
502
516
  break;
517
+ case UI_RENDER_TYPE.DATE_YEAR:
518
+ value = (rowData[display_code] ? moment(rowData[display_code]).format("YYYY") : "");
519
+ break;
520
+ case UI_RENDER_TYPE.DATE_MONTH:
521
+ value = (rowData[display_code] ? moment(rowData[display_code]).format("YYYY-MM") : "");
522
+ break;
503
523
  case UI_RENDER_TYPE.DATE_TIME:
504
524
  value = (rowData[display_code] ? moment(rowData[display_code]).format("YYYY-MM-DD hh:mm:ss") : "");
505
525
  break;
@@ -147,6 +147,24 @@ class GridForModify extends React.Component{
147
147
  defaultValue={dataItem[code] && moment(dataItem[code])}/>
148
148
  );
149
149
  break;
150
+ case UI_RENDER_TYPE.DATE_YEAR:
151
+ component = (
152
+ <DatePicker format={DateFormat}
153
+ picker="year"
154
+ placeholder={"请填写" + name}
155
+ onChange={this.datePickerOnChange.bind(this, dataItem, fieldConfig, onChange)}
156
+ defaultValue={dataItem[code] && moment(dataItem[code])}/>
157
+ );
158
+ break;
159
+ case UI_RENDER_TYPE.DATE_MONTH:
160
+ component = (
161
+ <DatePicker format={DateFormat}
162
+ picker="month"
163
+ placeholder={"请填写" + name}
164
+ onChange={this.datePickerOnChange.bind(this, dataItem, fieldConfig, onChange)}
165
+ defaultValue={dataItem[code] && moment(dataItem[code])}/>
166
+ );
167
+ break;
150
168
  case UI_RENDER_TYPE.DATE_TIME:
151
169
  component = (
152
170
  <DatePicker showTime={true}