mooho-base-admin-plus 2.3.7 → 2.3.9
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/history.md +2 -0
- package/package/mooho-base-admin-plus.min.esm.js +642 -157
- package/package/mooho-base-admin-plus.min.js +82 -45
- package/package.json +1 -1
- package/public/setting.js +1 -1
- package/src/components/view/column-edit.vue +4 -0
- package/src/components/view/filter-edit.vue +5 -1
- package/src/components/view/form-setting-layout.vue +1 -0
- package/src/components/view/table-filter.vue +193 -26
- package/src/components/view/view-chart.vue +5 -5
- package/src/components/view/view-form-draggable.vue +157 -35
- package/src/components/view/view-form.vue +147 -34
- package/src/components/view/view-table.vue +157 -43
- package/src/mixins/page.js +14 -5
package/package.json
CHANGED
package/public/setting.js
CHANGED
|
@@ -71,6 +71,7 @@
|
|
|
71
71
|
data.controlType == 'SelectWithOther' ||
|
|
72
72
|
data.controlType == 'ComboSelect' ||
|
|
73
73
|
data.controlType == 'MultiSelect' ||
|
|
74
|
+
data.controlType == 'MultiComboSelect' ||
|
|
74
75
|
data.controlType == 'Radio' ||
|
|
75
76
|
data.controlType == 'CheckGroup'
|
|
76
77
|
"
|
|
@@ -95,6 +96,7 @@
|
|
|
95
96
|
data.controlType == 'SelectWithOther' ||
|
|
96
97
|
data.controlType == 'ComboSelect' ||
|
|
97
98
|
data.controlType == 'MultiSelect' ||
|
|
99
|
+
data.controlType == 'MultiComboSelect' ||
|
|
98
100
|
data.controlType == 'Radio' ||
|
|
99
101
|
data.controlType == 'CheckGroup') &&
|
|
100
102
|
!data.isStaticItem
|
|
@@ -123,6 +125,7 @@
|
|
|
123
125
|
data.controlType == 'SelectWithOther' ||
|
|
124
126
|
data.controlType == 'ComboSelect' ||
|
|
125
127
|
data.controlType == 'MultiSelect' ||
|
|
128
|
+
data.controlType == 'MultiComboSelect' ||
|
|
126
129
|
data.controlType == 'Radio' ||
|
|
127
130
|
data.controlType == 'CheckGroup')
|
|
128
131
|
"
|
|
@@ -676,6 +679,7 @@
|
|
|
676
679
|
this.data.controlType === 'MultiTreeSelect' ||
|
|
677
680
|
this.data.controlType === 'SelectWithOther' ||
|
|
678
681
|
this.data.controlType === 'ComboSelect' ||
|
|
682
|
+
this.data.controlType === 'MultiComboSelect' ||
|
|
679
683
|
this.data.controlType === 'Radio' ||
|
|
680
684
|
this.data.controlType === 'CheckGroup') &&
|
|
681
685
|
!this.data.isStaticItem &&
|
|
@@ -63,6 +63,7 @@
|
|
|
63
63
|
data.controlType == 'MultiSelect' ||
|
|
64
64
|
data.controlType == 'SelectWithOther' ||
|
|
65
65
|
data.controlType == 'ComboSelect' ||
|
|
66
|
+
data.controlType == 'MultiComboSelect' ||
|
|
66
67
|
data.controlType == 'Radio' ||
|
|
67
68
|
data.controlType == 'CheckGroup'
|
|
68
69
|
"
|
|
@@ -84,8 +85,9 @@
|
|
|
84
85
|
v-if="
|
|
85
86
|
(data.controlType == 'Select' ||
|
|
86
87
|
data.controlType == 'SelectWithOther' ||
|
|
87
|
-
data.controlType == 'ComboSelect' ||
|
|
88
88
|
data.controlType == 'MultiSelect' ||
|
|
89
|
+
data.controlType == 'ComboSelect' ||
|
|
90
|
+
data.controlType == 'MultiComboSelect' ||
|
|
89
91
|
data.controlType == 'Radio' ||
|
|
90
92
|
data.controlType == 'CheckGroup') &&
|
|
91
93
|
!data.isStaticItem
|
|
@@ -114,6 +116,7 @@
|
|
|
114
116
|
data.controlType == 'MultiSelect' ||
|
|
115
117
|
data.controlType == 'SelectWithOther' ||
|
|
116
118
|
data.controlType == 'ComboSelect' ||
|
|
119
|
+
data.controlType == 'MultiComboSelect' ||
|
|
117
120
|
data.controlType == 'Radio' ||
|
|
118
121
|
data.controlType == 'CheckGroup')
|
|
119
122
|
"
|
|
@@ -452,6 +455,7 @@
|
|
|
452
455
|
this.data.controlType === 'MultiTreeSelect' ||
|
|
453
456
|
this.data.controlType === 'SelectWithOther' ||
|
|
454
457
|
this.data.controlType === 'ComboSelect' ||
|
|
458
|
+
this.data.controlType === 'MultiComboSelect' ||
|
|
455
459
|
this.data.controlType === 'Radio' ||
|
|
456
460
|
this.data.controlType === 'CheckGroup') &&
|
|
457
461
|
!this.data.isStaticItem &&
|
|
@@ -120,18 +120,20 @@
|
|
|
120
120
|
@update:model-value="$event => setFilterData(data, column, $event)"
|
|
121
121
|
:style="{ width: column.controlWidth == null ? '40%' : column.controlWidth + 'px' }"
|
|
122
122
|
style="margin-left: 4px"
|
|
123
|
-
:maxlength="column.maxLength"
|
|
124
123
|
:placeholder="column.description"
|
|
125
124
|
@on-change="onDataChange(column)"
|
|
126
125
|
/>
|
|
127
126
|
</template>
|
|
128
127
|
<template v-else-if="column.controlType === 'ComboSelect'">
|
|
129
128
|
<Select
|
|
129
|
+
:ref="'control_' + column.code"
|
|
130
130
|
size="small"
|
|
131
|
-
:model-value="
|
|
131
|
+
:model-value="parseComboData(data, column)"
|
|
132
132
|
@update:model-value="$event => setFilterData(data, column, $event)"
|
|
133
|
-
clearable
|
|
133
|
+
:clearable="true"
|
|
134
134
|
filterable
|
|
135
|
+
remote
|
|
136
|
+
:remote-method="search => loadOption(data, column, search)"
|
|
135
137
|
:style="{ width: column.controlWidth == null ? null : column.controlWidth + 'px' }"
|
|
136
138
|
:placeholder="column.description"
|
|
137
139
|
:transfer="true"
|
|
@@ -140,6 +142,26 @@
|
|
|
140
142
|
<Option v-for="item in getDataSource(data, column)" :key="item.id" :value="item.id">{{ item.name }}</Option>
|
|
141
143
|
</Select>
|
|
142
144
|
</template>
|
|
145
|
+
<template v-else-if="column.controlType === 'MultiComboSelect'">
|
|
146
|
+
<Select
|
|
147
|
+
:ref="'control_' + column.code"
|
|
148
|
+
size="small"
|
|
149
|
+
:model-value="parseMultiComboData(data, column)"
|
|
150
|
+
@update:model-value="$event => setArrayFilterData(data, column, $event)"
|
|
151
|
+
:clearable="true"
|
|
152
|
+
:multiple="true"
|
|
153
|
+
filterable
|
|
154
|
+
remote
|
|
155
|
+
:remote-method="search => loadOption(data, column, search)"
|
|
156
|
+
:style="{ width: column.controlWidth == null ? null : column.controlWidth + 'px' }"
|
|
157
|
+
:placeholder="column.description"
|
|
158
|
+
:transfer="true"
|
|
159
|
+
@on-change="selected => onSelectDataChange(column, selected)"
|
|
160
|
+
>
|
|
161
|
+
<Option v-for="item in getDataSource(data, column)" :key="item.id" :value="item.id">{{ item.name }}</Option>
|
|
162
|
+
</Select>
|
|
163
|
+
</template>
|
|
164
|
+
|
|
143
165
|
<template v-else-if="column.controlType === 'DialogSelect'">
|
|
144
166
|
<dialog-select
|
|
145
167
|
size="small"
|
|
@@ -221,6 +243,16 @@
|
|
|
221
243
|
</Radio>
|
|
222
244
|
</RadioGroup>
|
|
223
245
|
</template>
|
|
246
|
+
<template v-else-if="column.controlType === 'TextArea'">
|
|
247
|
+
<Input
|
|
248
|
+
type="textarea"
|
|
249
|
+
:model-value="parseFilterData(data, column.code)"
|
|
250
|
+
@update:model-value="$event => setFilterData(data, column.code, $event)"
|
|
251
|
+
:style="{ width: column.controlWidth == null ? null : column.controlWidth + 'px' }"
|
|
252
|
+
:rows="column.controlHeight / 20"
|
|
253
|
+
:placeholder="column.description"
|
|
254
|
+
/>
|
|
255
|
+
</template>
|
|
224
256
|
<template v-else>{{ $t('Front_Label_Control_Type_Not_Supported') }} {{ column.controlType }}</template>
|
|
225
257
|
</FormItem>
|
|
226
258
|
</template>
|
|
@@ -239,7 +271,6 @@
|
|
|
239
271
|
import customModelApi from '../../api/customModel';
|
|
240
272
|
import DialogSelect from '../input/dialog-select.vue';
|
|
241
273
|
import dateFormat from 'date-fns/format';
|
|
242
|
-
import { assign, defaultsDeep } from 'lodash';
|
|
243
274
|
|
|
244
275
|
export default {
|
|
245
276
|
mixins: [mixin, mixinPage],
|
|
@@ -257,10 +288,6 @@
|
|
|
257
288
|
tableView: {
|
|
258
289
|
type: Object
|
|
259
290
|
},
|
|
260
|
-
// 筛选项数据
|
|
261
|
-
filter: {
|
|
262
|
-
type: Object
|
|
263
|
-
},
|
|
264
291
|
// 字段
|
|
265
292
|
columns: {
|
|
266
293
|
type: Array
|
|
@@ -276,12 +303,6 @@
|
|
|
276
303
|
init() {
|
|
277
304
|
let data = this.data;
|
|
278
305
|
|
|
279
|
-
// 默认值
|
|
280
|
-
if (this.filter) {
|
|
281
|
-
defaultsDeep(data, this.filter);
|
|
282
|
-
assign(this.filter, data);
|
|
283
|
-
}
|
|
284
|
-
|
|
285
306
|
this.columns.forEach(item => {
|
|
286
307
|
if (item.defaultValue) {
|
|
287
308
|
if (item.defaultValue == '{today}') {
|
|
@@ -407,18 +428,31 @@
|
|
|
407
428
|
},
|
|
408
429
|
// 填充数据源
|
|
409
430
|
async fillDataSource(data, column, param) {
|
|
431
|
+
let value;
|
|
432
|
+
if (column.controlType === 'TreeSelect' || column.controlType === 'MultiTreeSelect') {
|
|
433
|
+
// 树选择框重新加载数据源时,需要先清空数据源,否则无法直接点击清空按钮清除数据。
|
|
434
|
+
value = this.parseTreeFilterData(data, column);
|
|
435
|
+
column.dataSource = null;
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
if (column.controlType === 'ComboSelect' || column.controlType === 'MultiComboSelect') {
|
|
439
|
+
param.per = 20;
|
|
440
|
+
}
|
|
441
|
+
|
|
410
442
|
// 参数完整,查询数据
|
|
443
|
+
this.disableLoader();
|
|
411
444
|
let res;
|
|
412
445
|
if (column.isSourceCustom) {
|
|
413
446
|
res = await customModelApi.query(column.source, param);
|
|
414
447
|
} else {
|
|
415
448
|
res = await modelApi.query(column.source, param);
|
|
416
449
|
}
|
|
450
|
+
this.enableLoader();
|
|
417
451
|
|
|
418
452
|
column.rawData = res.data;
|
|
419
453
|
|
|
420
454
|
if (column.controlType === 'TreeSelect' || column.controlType === 'MultiTreeSelect') {
|
|
421
|
-
let
|
|
455
|
+
let treeData = res.data.map(item => {
|
|
422
456
|
return {
|
|
423
457
|
id: !(column.sourceDataCode || '').trim() ? item.id : this.parseData(item, column.sourceDataCode),
|
|
424
458
|
name: this.parseData(item, column.sourceDisplayCode),
|
|
@@ -426,7 +460,8 @@
|
|
|
426
460
|
};
|
|
427
461
|
});
|
|
428
462
|
|
|
429
|
-
column.dataSource = this.getTreeDataSource(
|
|
463
|
+
column.dataSource = this.getTreeDataSource(treeData, column, null);
|
|
464
|
+
this.setFilterData(data, column, value);
|
|
430
465
|
} else {
|
|
431
466
|
column.dataSource = res.data.map(item => {
|
|
432
467
|
return {
|
|
@@ -439,17 +474,43 @@
|
|
|
439
474
|
if (data) {
|
|
440
475
|
if (this.parseFilterData(data, column) == null && column.isDefaultFirst && res.length > 0) {
|
|
441
476
|
this.setData(data, column.code, this.parseData(res[0], column.sourceDataCode));
|
|
477
|
+
/**
|
|
478
|
+
* 数据变化事件
|
|
479
|
+
* @property {object} sender 触发的列对象
|
|
480
|
+
* @property {object} oldValue 原数据
|
|
481
|
+
* @property {object} newValue 新数据
|
|
482
|
+
* @property {object} selected 选中对象(弹出选择框等有效)
|
|
483
|
+
*/
|
|
484
|
+
this.$emit('on-change', column, null, column.rawData[0], null);
|
|
485
|
+
|
|
486
|
+
if (column.sourceDataCode == 'id' && column.code.length > 2) {
|
|
487
|
+
let code = column.code.substr(0, column.code.length - 2);
|
|
488
|
+
let model = column.rawData.find(item => {
|
|
489
|
+
return item.id == this.parseData(data, column.code);
|
|
490
|
+
});
|
|
491
|
+
|
|
492
|
+
this.setData(data, code, model);
|
|
493
|
+
}
|
|
442
494
|
}
|
|
443
495
|
}
|
|
444
496
|
}
|
|
445
497
|
|
|
446
|
-
//
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
498
|
+
// 级联更新时清空数据
|
|
499
|
+
if (column.controlType == 'Select' || column.controlType == 'Radio') {
|
|
500
|
+
if (
|
|
501
|
+
!column.dataSource.some(item => {
|
|
502
|
+
return item.id == this.parseData(data, column.code);
|
|
503
|
+
})
|
|
504
|
+
) {
|
|
505
|
+
// 数据不存在于此数据源,清空数据
|
|
506
|
+
this.setData(data, column.code, null);
|
|
450
507
|
|
|
451
|
-
|
|
452
|
-
|
|
508
|
+
// 触发
|
|
509
|
+
column.triggers.forEach(item => {
|
|
510
|
+
item.needClear = true;
|
|
511
|
+
});
|
|
512
|
+
}
|
|
513
|
+
}
|
|
453
514
|
},
|
|
454
515
|
// 获取树结构数据源
|
|
455
516
|
getTreeDataSource(data, column, parentID) {
|
|
@@ -477,7 +538,7 @@
|
|
|
477
538
|
},
|
|
478
539
|
// 获取数据源
|
|
479
540
|
getDataSource(data, column) {
|
|
480
|
-
if (!column.isStaticItem && column.dataType.
|
|
541
|
+
if (!column.isStaticItem && column.dataType.startsWith('Enum:')) {
|
|
481
542
|
// 枚举
|
|
482
543
|
return this.getEnumList(column.dataType.split(':')[1]);
|
|
483
544
|
} else {
|
|
@@ -597,6 +658,7 @@
|
|
|
597
658
|
column.controlType === 'MultiTreeSelect' ||
|
|
598
659
|
column.controlType === 'SelectWithOther' ||
|
|
599
660
|
column.controlType === 'ComboSelect' ||
|
|
661
|
+
column.controlType === 'MultiComboSelect' ||
|
|
600
662
|
column.controlType === 'Radio'
|
|
601
663
|
) {
|
|
602
664
|
// 选择框、单选框组
|
|
@@ -636,8 +698,8 @@
|
|
|
636
698
|
parseArrayFilterData(model, column) {
|
|
637
699
|
let data = [];
|
|
638
700
|
let value = this.parseFilterData(model, column);
|
|
639
|
-
if (value
|
|
640
|
-
data =
|
|
701
|
+
if (this.isJSON(value)) {
|
|
702
|
+
data = JSON.parse(value);
|
|
641
703
|
}
|
|
642
704
|
|
|
643
705
|
return data;
|
|
@@ -646,7 +708,7 @@
|
|
|
646
708
|
setArrayFilterData(model, column, value) {
|
|
647
709
|
let data = '';
|
|
648
710
|
if (value != null) {
|
|
649
|
-
data =
|
|
711
|
+
data = JSON.stringify(value);
|
|
650
712
|
}
|
|
651
713
|
|
|
652
714
|
this.setFilterData(model, column, data);
|
|
@@ -753,6 +815,111 @@
|
|
|
753
815
|
} else {
|
|
754
816
|
return column.name;
|
|
755
817
|
}
|
|
818
|
+
},
|
|
819
|
+
// 可筛选下拉框加载数据
|
|
820
|
+
async loadOption(data, column, keyword) {
|
|
821
|
+
if (column.isStaticItem || (column.dataType && column.dataType.startsWith('Enum:'))) {
|
|
822
|
+
return;
|
|
823
|
+
}
|
|
824
|
+
|
|
825
|
+
let param = this.getParam(data, column);
|
|
826
|
+
|
|
827
|
+
if (param != null) {
|
|
828
|
+
param[column.sourceDisplayCode + '_c'] = keyword;
|
|
829
|
+
this.fillDataSource(data, column, param);
|
|
830
|
+
} else {
|
|
831
|
+
// 参数不完整,清空数据
|
|
832
|
+
column.rawData = [];
|
|
833
|
+
column.dataSource = [];
|
|
834
|
+
this.setData(data, column.code, null);
|
|
835
|
+
// column.displayValue = null;
|
|
836
|
+
|
|
837
|
+
// 触发
|
|
838
|
+
column.triggers.forEach(item => {
|
|
839
|
+
item.needClear = true;
|
|
840
|
+
});
|
|
841
|
+
}
|
|
842
|
+
},
|
|
843
|
+
// 根据表达式取值(可筛选选择框)
|
|
844
|
+
parseComboData(model, column) {
|
|
845
|
+
let value = this.parseFilterData(model, column);
|
|
846
|
+
|
|
847
|
+
this.loadComboDataLabel(model, column, value);
|
|
848
|
+
|
|
849
|
+
return value;
|
|
850
|
+
},
|
|
851
|
+
// 根据表达式取值(可筛选多选选择框)
|
|
852
|
+
parseMultiComboData(model, column) {
|
|
853
|
+
let data = [];
|
|
854
|
+
let value = this.parseFilterData(model, column);
|
|
855
|
+
|
|
856
|
+
if (this.isJSON(value)) {
|
|
857
|
+
data = JSON.parse(value);
|
|
858
|
+
}
|
|
859
|
+
|
|
860
|
+
this.loadComboDataLabel(model, column, data);
|
|
861
|
+
|
|
862
|
+
return data;
|
|
863
|
+
},
|
|
864
|
+
// 加载可筛选选择框显示内容
|
|
865
|
+
async loadComboDataLabel(model, column, data) {
|
|
866
|
+
if (column.isStaticItem || (column.dataType && column.dataType.startsWith('Enum:'))) {
|
|
867
|
+
return;
|
|
868
|
+
}
|
|
869
|
+
|
|
870
|
+
if (this.$refs['control_' + column.code]) {
|
|
871
|
+
let values = this.$refs['control_' + column.code][0].$data.values;
|
|
872
|
+
|
|
873
|
+
let pendings = [];
|
|
874
|
+
if (column.controlType == 'MultiComboSelect') {
|
|
875
|
+
data.forEach(value => {
|
|
876
|
+
if (!values.some(v => v.value == value)) {
|
|
877
|
+
// 不在选中项中
|
|
878
|
+
let newValue = { value, label: null, disabled: false };
|
|
879
|
+
values.push(newValue);
|
|
880
|
+
pendings.push(newValue);
|
|
881
|
+
}
|
|
882
|
+
});
|
|
883
|
+
} else {
|
|
884
|
+
if (!values.some(v => v.value == data)) {
|
|
885
|
+
// 不在选中项中
|
|
886
|
+
let newValue = { value: data, label: null, disabled: false };
|
|
887
|
+
values.push(newValue);
|
|
888
|
+
pendings.push(newValue);
|
|
889
|
+
}
|
|
890
|
+
}
|
|
891
|
+
|
|
892
|
+
// 读取显示内容
|
|
893
|
+
if (pendings.length > 0) {
|
|
894
|
+
let param = this.getParam(model, column);
|
|
895
|
+
param[column.sourceDataCode] = pendings.map(item => item.value).join(',');
|
|
896
|
+
let res;
|
|
897
|
+
|
|
898
|
+
if (column.isSourceCustom) {
|
|
899
|
+
res = await customModelApi.query(column.source, param);
|
|
900
|
+
} else {
|
|
901
|
+
res = await modelApi.query(column.source, param);
|
|
902
|
+
}
|
|
903
|
+
|
|
904
|
+
res.data.forEach(item => {
|
|
905
|
+
let v = this.parseData(item, column.sourceDataCode);
|
|
906
|
+
let label = this.parseData(item, column.sourceDisplayCode);
|
|
907
|
+
|
|
908
|
+
if (column.controlType == 'ComboSelect') {
|
|
909
|
+
// 添加筛选内容
|
|
910
|
+
this.$refs['control_' + column.code][0].$data.query = label;
|
|
911
|
+
}
|
|
912
|
+
|
|
913
|
+
let newValue = pendings.find(i => i.value == v);
|
|
914
|
+
|
|
915
|
+
if (newValue) {
|
|
916
|
+
newValue.label = label;
|
|
917
|
+
}
|
|
918
|
+
});
|
|
919
|
+
|
|
920
|
+
this.$forceUpdate();
|
|
921
|
+
}
|
|
922
|
+
}
|
|
756
923
|
}
|
|
757
924
|
}
|
|
758
925
|
};
|
|
@@ -250,7 +250,7 @@
|
|
|
250
250
|
};
|
|
251
251
|
|
|
252
252
|
// 预先加载枚举值
|
|
253
|
-
if (this.setting.chartGroupCodeType && this.setting.chartGroupCodeType.
|
|
253
|
+
if (this.setting.chartGroupCodeType && this.setting.chartGroupCodeType.startsWith('Enum:')) {
|
|
254
254
|
await this.loadEnum(this.setting.chartGroupCodeType.replace('Enum:', ''));
|
|
255
255
|
}
|
|
256
256
|
|
|
@@ -279,7 +279,7 @@
|
|
|
279
279
|
this.data.map(item => {
|
|
280
280
|
let value = this.parseData(item, this.setting.chartGroupCode);
|
|
281
281
|
|
|
282
|
-
if (this.setting.chartGroupCodeType && this.setting.chartGroupCodeType.
|
|
282
|
+
if (this.setting.chartGroupCodeType && this.setting.chartGroupCodeType.startsWith('Enum:')) {
|
|
283
283
|
value = this.getEnum(this.setting.chartGroupCodeType.replace('Enum:', ''), value);
|
|
284
284
|
}
|
|
285
285
|
|
|
@@ -297,7 +297,7 @@
|
|
|
297
297
|
.filter(data => {
|
|
298
298
|
let value = this.parseData(data, this.setting.chartGroupCode);
|
|
299
299
|
|
|
300
|
-
if (this.setting.chartGroupCodeType && this.setting.chartGroupCodeType.
|
|
300
|
+
if (this.setting.chartGroupCodeType && this.setting.chartGroupCodeType.startsWith('Enum:')) {
|
|
301
301
|
value = this.getEnum(this.setting.chartGroupCodeType.replace('Enum:', ''), value);
|
|
302
302
|
}
|
|
303
303
|
|
|
@@ -334,7 +334,7 @@
|
|
|
334
334
|
this.data.map(item => {
|
|
335
335
|
let value = this.parseData(item, this.setting.chartGroupCode);
|
|
336
336
|
|
|
337
|
-
if (this.setting.chartGroupCodeType && this.setting.chartGroupCodeType.
|
|
337
|
+
if (this.setting.chartGroupCodeType && this.setting.chartGroupCodeType.startsWith('Enum:')) {
|
|
338
338
|
value = this.getEnum(this.setting.chartGroupCodeType.replace('Enum:', ''), value);
|
|
339
339
|
}
|
|
340
340
|
|
|
@@ -352,7 +352,7 @@
|
|
|
352
352
|
.filter(data => {
|
|
353
353
|
let value = this.parseData(data, this.setting.chartGroupCode);
|
|
354
354
|
|
|
355
|
-
if (this.setting.chartGroupCodeType && this.setting.chartGroupCodeType.
|
|
355
|
+
if (this.setting.chartGroupCodeType && this.setting.chartGroupCodeType.startsWith('Enum:')) {
|
|
356
356
|
value = this.getEnum(this.setting.chartGroupCodeType.replace('Enum:', ''), value);
|
|
357
357
|
}
|
|
358
358
|
|