@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.
- package/lib/base/layout/ui_tpl/consts.js +2 -0
- package/lib/base/layout/ui_tpl/form/FormForBrowse.js +8 -0
- package/lib/base/layout/ui_tpl/form/FormForModify.js +303 -33
- package/lib/base/layout/ui_tpl/grid/GridForBrowse.js +20 -1
- package/lib/base/layout/ui_tpl/grid/GridForModify.js +20 -0
- package/lib/style/ExtCustomAntDesign.css +707 -0
- package/lib/style/ExtCustomKendo.css +1470 -0
- package/lib/style/bchr.css +1767 -0
- package/lib/style/bchrCommonClass.css +344 -0
- package/lib/style/bchrFixedComponent.css +951 -0
- package/lib/style/bchrLessVar.css +3 -0
- package/package.json +1 -1
- package/src/base/layout/ui_tpl/consts.js +2 -0
- package/src/base/layout/ui_tpl/form/FormForBrowse.js +6 -0
- package/src/base/layout/ui_tpl/form/FormForModify.js +250 -35
- package/src/base/layout/ui_tpl/grid/GridForBrowse.js +24 -4
- package/src/base/layout/ui_tpl/grid/GridForModify.js +18 -0
package/package.json
CHANGED
|
@@ -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
|
-
|
|
184
|
-
|
|
185
|
-
|
|
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}
|