mooho-base-admin-plus 2.3.7 → 2.3.8

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.
@@ -22870,6 +22870,8 @@ var mixinPage = {
22870
22870
  },
22871
22871
  methods: {
22872
22872
  ...mapActions("admin/cache", ["loadEnum", "loadDict", "loadUserName", "loadCache"]),
22873
+ ...mapMutations("admin/loader", { enableLoader: "enable" }),
22874
+ ...mapMutations("admin/loader", { disableLoader: "disable" }),
22873
22875
  copy(model2) {
22874
22876
  return lodash$1.exports.cloneDeep(model2);
22875
22877
  },
@@ -22983,7 +22985,7 @@ var mixinPage = {
22983
22985
  if (!dataType) {
22984
22986
  return null;
22985
22987
  }
22986
- if (dataType.indexOf("Enum:") === 0) {
22988
+ if (dataType.startsWith("Enum:")) {
22987
22989
  return this.getEnum(dataType.replace("Enum:", ""), this.parseData(model2, expression2));
22988
22990
  } else if (dataType === "BigInteger" && format2 == "User") {
22989
22991
  return this.getUserName(this.parseData(model2, expression2));
@@ -23025,8 +23027,13 @@ var mixinPage = {
23025
23027
  }
23026
23028
  } else if (dataType === "String") {
23027
23029
  if (format2 === "Array") {
23028
- let array = JSON.parse(value);
23029
- return array.join(", ");
23030
+ let result2 = "";
23031
+ try {
23032
+ let array = JSON.parse(value);
23033
+ result2 = array.join(", ");
23034
+ } catch (e3) {
23035
+ }
23036
+ return result2;
23030
23037
  } else {
23031
23038
  return this.tParam(value);
23032
23039
  }
@@ -23374,7 +23381,7 @@ var mixinPage = {
23374
23381
  return null;
23375
23382
  },
23376
23383
  isJSON(str) {
23377
- if (!!(str || "").trim()) {
23384
+ if (typeof str == "string" && !!(str || "").trim()) {
23378
23385
  try {
23379
23386
  var obj = JSON.parse(str);
23380
23387
  if (typeof obj == "object" && obj) {
@@ -30986,7 +30993,7 @@ const _sfc_main$T = {
30986
30993
  computed: {
30987
30994
  needDataSource() {
30988
30995
  if (this.data) {
30989
- return (this.data.controlType === "Select" || this.data.controlType === "MultiSelect" || this.data.controlType === "TreeSelect" || this.data.controlType === "MultiTreeSelect" || this.data.controlType === "SelectWithOther" || this.data.controlType === "ComboSelect" || this.data.controlType === "Radio" || this.data.controlType === "CheckGroup") && !this.data.isStaticItem && this.data.dataType && this.data.dataType.indexOf("Enum:") !== 0 || this.data.controlType === "DialogSelect" || this.data.controlType === "MultiDialogSelect";
30996
+ return (this.data.controlType === "Select" || this.data.controlType === "MultiSelect" || this.data.controlType === "TreeSelect" || this.data.controlType === "MultiTreeSelect" || this.data.controlType === "SelectWithOther" || this.data.controlType === "ComboSelect" || this.data.controlType === "MultiComboSelect" || this.data.controlType === "Radio" || this.data.controlType === "CheckGroup") && !this.data.isStaticItem && this.data.dataType && this.data.dataType.indexOf("Enum:") !== 0 || this.data.controlType === "DialogSelect" || this.data.controlType === "MultiDialogSelect";
30990
30997
  } else {
30991
30998
  return false;
30992
30999
  }
@@ -31485,7 +31492,7 @@ function _sfc_render$T(_ctx, _cache, $props, $setup, $data, $options) {
31485
31492
  ]),
31486
31493
  _: 1
31487
31494
  }, 16),
31488
- $data.data.controlType == "Select" || $data.data.controlType == "MultiSelect" || $data.data.controlType == "SelectWithOther" || $data.data.controlType == "ComboSelect" || $data.data.controlType == "Radio" || $data.data.controlType == "CheckGroup" ? (openBlock(), createBlock(_component_Col, normalizeProps(mergeProps({ key: 5 }, _ctx.grid8)), {
31495
+ $data.data.controlType == "Select" || $data.data.controlType == "MultiSelect" || $data.data.controlType == "SelectWithOther" || $data.data.controlType == "ComboSelect" || $data.data.controlType == "MultiComboSelect" || $data.data.controlType == "Radio" || $data.data.controlType == "CheckGroup" ? (openBlock(), createBlock(_component_Col, normalizeProps(mergeProps({ key: 5 }, _ctx.grid8)), {
31489
31496
  default: withCtx(() => [
31490
31497
  createVNode$1(_component_FormItem, {
31491
31498
  label: "\u56FA\u5B9A\u9009\u9879",
@@ -31505,7 +31512,7 @@ function _sfc_render$T(_ctx, _cache, $props, $setup, $data, $options) {
31505
31512
  ]),
31506
31513
  _: 1
31507
31514
  }, 16)) : createCommentVNode("v-if", true),
31508
- ($data.data.controlType == "Select" || $data.data.controlType == "SelectWithOther" || $data.data.controlType == "ComboSelect" || $data.data.controlType == "MultiSelect" || $data.data.controlType == "Radio" || $data.data.controlType == "CheckGroup") && !$data.data.isStaticItem ? (openBlock(), createBlock(_component_Col, normalizeProps(mergeProps({ key: 6 }, _ctx.grid8)), {
31515
+ ($data.data.controlType == "Select" || $data.data.controlType == "SelectWithOther" || $data.data.controlType == "MultiSelect" || $data.data.controlType == "ComboSelect" || $data.data.controlType == "MultiComboSelect" || $data.data.controlType == "Radio" || $data.data.controlType == "CheckGroup") && !$data.data.isStaticItem ? (openBlock(), createBlock(_component_Col, normalizeProps(mergeProps({ key: 6 }, _ctx.grid8)), {
31509
31516
  default: withCtx(() => [
31510
31517
  createVNode$1(_component_FormItem, {
31511
31518
  label: "\u5B57\u5178\u9009\u9879",
@@ -31528,7 +31535,7 @@ function _sfc_render$T(_ctx, _cache, $props, $setup, $data, $options) {
31528
31535
  ]),
31529
31536
  _: 1
31530
31537
  }, 16)) : createCommentVNode("v-if", true),
31531
- $data.data.isStaticItem && ($data.data.controlType == "Select" || $data.data.controlType == "MultiSelect" || $data.data.controlType == "SelectWithOther" || $data.data.controlType == "ComboSelect" || $data.data.controlType == "Radio" || $data.data.controlType == "CheckGroup") ? (openBlock(), createBlock(_component_Col, normalizeProps(mergeProps({ key: 7 }, _ctx.grid24)), {
31538
+ $data.data.isStaticItem && ($data.data.controlType == "Select" || $data.data.controlType == "MultiSelect" || $data.data.controlType == "SelectWithOther" || $data.data.controlType == "ComboSelect" || $data.data.controlType == "MultiComboSelect" || $data.data.controlType == "Radio" || $data.data.controlType == "CheckGroup") ? (openBlock(), createBlock(_component_Col, normalizeProps(mergeProps({ key: 7 }, _ctx.grid24)), {
31532
31539
  default: withCtx(() => [
31533
31540
  createVNode$1(_component_FormItem, {
31534
31541
  label: "\u9009\u9879\u5185\u5BB9\uFF08\u6BCF\u4E00\u884C\u4E3A\u4E00\u9879\uFF0Ckey/value\u7528\u5192\u53F7\u5206\u9694\uFF0C\u6CA1\u6709\u5192\u53F7\u8868\u793Akey/value\u4E00\u81F4\uFF09",
@@ -34599,7 +34606,7 @@ const _sfc_main$K = {
34599
34606
  left: this.setting.chartLegendAlign == null ? "right" : this.setting.chartLegendAlign
34600
34607
  }
34601
34608
  };
34602
- if (this.setting.chartGroupCodeType && this.setting.chartGroupCodeType.indexOf("Enum:") === 0) {
34609
+ if (this.setting.chartGroupCodeType && this.setting.chartGroupCodeType.startsWith("Enum:")) {
34603
34610
  await this.loadEnum(this.setting.chartGroupCodeType.replace("Enum:", ""));
34604
34611
  }
34605
34612
  if (!this.setting.chartCustomSeries) {
@@ -34621,7 +34628,7 @@ const _sfc_main$K = {
34621
34628
  new Set(
34622
34629
  this.data.map((item) => {
34623
34630
  let value = this.parseData(item, this.setting.chartGroupCode);
34624
- if (this.setting.chartGroupCodeType && this.setting.chartGroupCodeType.indexOf("Enum:") === 0) {
34631
+ if (this.setting.chartGroupCodeType && this.setting.chartGroupCodeType.startsWith("Enum:")) {
34625
34632
  value = this.getEnum(this.setting.chartGroupCodeType.replace("Enum:", ""), value);
34626
34633
  }
34627
34634
  return value;
@@ -34634,7 +34641,7 @@ const _sfc_main$K = {
34634
34641
  let keyData = {};
34635
34642
  this.data.filter((data3) => {
34636
34643
  let value = this.parseData(data3, this.setting.chartGroupCode);
34637
- if (this.setting.chartGroupCodeType && this.setting.chartGroupCodeType.indexOf("Enum:") === 0) {
34644
+ if (this.setting.chartGroupCodeType && this.setting.chartGroupCodeType.startsWith("Enum:")) {
34638
34645
  value = this.getEnum(this.setting.chartGroupCodeType.replace("Enum:", ""), value);
34639
34646
  }
34640
34647
  return item == null && group.length == 1 || value == item;
@@ -34665,7 +34672,7 @@ const _sfc_main$K = {
34665
34672
  new Set(
34666
34673
  this.data.map((item) => {
34667
34674
  let value = this.parseData(item, this.setting.chartGroupCode);
34668
- if (this.setting.chartGroupCodeType && this.setting.chartGroupCodeType.indexOf("Enum:") === 0) {
34675
+ if (this.setting.chartGroupCodeType && this.setting.chartGroupCodeType.startsWith("Enum:")) {
34669
34676
  value = this.getEnum(this.setting.chartGroupCodeType.replace("Enum:", ""), value);
34670
34677
  }
34671
34678
  return value;
@@ -34678,7 +34685,7 @@ const _sfc_main$K = {
34678
34685
  let keyData = {};
34679
34686
  this.data.filter((data3) => {
34680
34687
  let value = this.parseData(data3, this.setting.chartGroupCode);
34681
- if (this.setting.chartGroupCodeType && this.setting.chartGroupCodeType.indexOf("Enum:") === 0) {
34688
+ if (this.setting.chartGroupCodeType && this.setting.chartGroupCodeType.startsWith("Enum:")) {
34682
34689
  value = this.getEnum(this.setting.chartGroupCodeType.replace("Enum:", ""), value);
34683
34690
  }
34684
34691
  return item == null && group.length == 1 || value == item;
@@ -37148,12 +37155,17 @@ const _sfc_main$w = {
37148
37155
  value = this.parseTreeData(data2, column.code);
37149
37156
  column.dataSource = null;
37150
37157
  }
37158
+ if (column.controlType === "ComboSelect" || column.controlType === "MultiComboSelect") {
37159
+ param.per = 20;
37160
+ }
37161
+ this.disableLoader();
37151
37162
  let res2;
37152
37163
  if (column.isSourceCustom) {
37153
37164
  res2 = await customModelApi.query(column.source, param);
37154
37165
  } else {
37155
37166
  res2 = await modelApi.query(column.source, param);
37156
37167
  }
37168
+ this.enableLoader();
37157
37169
  column.rawData = res2.data;
37158
37170
  if (column.controlType === "TreeSelect" || column.controlType === "MultiTreeSelect") {
37159
37171
  let treeData = res2.data.map((item) => {
@@ -37175,7 +37187,7 @@ const _sfc_main$w = {
37175
37187
  if (data2) {
37176
37188
  if (this.parseData(data2, column.code) == null && column.isDefaultFirst && res2.data.length > 0) {
37177
37189
  this.setData(data2, column.code, this.parseData(res2.data[0], column.sourceDataCode));
37178
- this.$emit("on-change", column, null, value, null);
37190
+ this.$emit("on-change", column, null, column.rawData[0], null);
37179
37191
  if (column.sourceDataCode == "id" && column.code.length > 2) {
37180
37192
  let code2 = column.code.substr(0, column.code.length - 2);
37181
37193
  let model2 = column.rawData.find((item) => {
@@ -37186,7 +37198,7 @@ const _sfc_main$w = {
37186
37198
  }
37187
37199
  }
37188
37200
  }
37189
- if (column.controlType == "Select" || column.controlType == "ComboSelect" || column.controlType == "Radio") {
37201
+ if (column.controlType == "Select" || column.controlType == "Radio") {
37190
37202
  if (!column.dataSource.some((item) => {
37191
37203
  return item.id == this.parseData(data2, column.code);
37192
37204
  })) {
@@ -37217,7 +37229,7 @@ const _sfc_main$w = {
37217
37229
  return result2;
37218
37230
  },
37219
37231
  getDataSource(data2, column) {
37220
- if (!column.isStaticItem && column.dataType.indexOf("Enum:") === 0) {
37232
+ if (!column.isStaticItem && column.dataType.startsWith("Enum:")) {
37221
37233
  return this.getEnumList(column.dataType.split(":")[1]);
37222
37234
  } else {
37223
37235
  return column.dataSource == null ? [] : column.dataSource;
@@ -37356,7 +37368,7 @@ const _sfc_main$w = {
37356
37368
  });
37357
37369
  } else if (column.needRefresh && !!(column.source || "").trim() && !(column.dataType && column.dataType.startsWith("Enum:"))) {
37358
37370
  let param = this.getParam(this.data, column);
37359
- if (column.controlType === "Select" || column.controlType === "MultiSelect" || column.controlType === "TreeSelect" || column.controlType === "MultiTreeSelect" || column.controlType === "SelectWithOther" || column.controlType === "ComboSelect" || column.controlType === "Radio" || column.controlType === "CheckGroup") {
37371
+ if (column.controlType === "Select" || column.controlType === "MultiSelect" || column.controlType === "TreeSelect" || column.controlType === "MultiTreeSelect" || column.controlType === "SelectWithOther" || column.controlType === "ComboSelect" || column.controlType === "MultiComboSelect" || column.controlType === "Radio" || column.controlType === "CheckGroup") {
37360
37372
  if (param != null) {
37361
37373
  this.fillDataSource(this.data, column, param);
37362
37374
  } else {
@@ -37402,7 +37414,7 @@ const _sfc_main$w = {
37402
37414
  if (!(column.dataType || "").trim()) {
37403
37415
  return null;
37404
37416
  }
37405
- if (column.dataType.indexOf("Enum:") === 0) {
37417
+ if (column.dataType.startsWith("Enum:")) {
37406
37418
  return "string";
37407
37419
  }
37408
37420
  switch (column.dataType) {
@@ -37505,6 +37517,83 @@ const _sfc_main$w = {
37505
37517
  } else {
37506
37518
  return column.name;
37507
37519
  }
37520
+ },
37521
+ async loadOption(data2, column, keyword) {
37522
+ if (column.isStaticItem || column.dataType && column.dataType.startsWith("Enum:")) {
37523
+ return;
37524
+ }
37525
+ let param = this.getParam(data2, column);
37526
+ if (param != null) {
37527
+ param[column.sourceDisplayCode + "_c"] = keyword;
37528
+ this.fillDataSource(data2, column, param);
37529
+ } else {
37530
+ column.rawData = [];
37531
+ column.dataSource = [];
37532
+ this.setData(data2, column.code, null);
37533
+ column.triggers.forEach((item) => {
37534
+ item.needClear = true;
37535
+ });
37536
+ }
37537
+ },
37538
+ parseComboData(model2, column) {
37539
+ let value = this.parseData(model2, column.code);
37540
+ this.loadComboDataLabel(model2, column, value);
37541
+ return value;
37542
+ },
37543
+ parseMultiComboData(model2, column) {
37544
+ let data2 = [];
37545
+ let value = this.parseData(model2, column.code);
37546
+ if (this.isJSON(value)) {
37547
+ data2 = JSON.parse(value);
37548
+ }
37549
+ this.loadComboDataLabel(model2, column, data2);
37550
+ return data2;
37551
+ },
37552
+ async loadComboDataLabel(model2, column, data2) {
37553
+ if (column.isStaticItem || column.dataType && column.dataType.startsWith("Enum:")) {
37554
+ return;
37555
+ }
37556
+ if (this.$refs["control_" + column.code]) {
37557
+ let values = this.$refs["control_" + column.code][0].$data.values;
37558
+ let pendings = [];
37559
+ if (column.controlType == "MultiComboSelect") {
37560
+ data2.forEach((value) => {
37561
+ if (!values.some((v) => v.value == value)) {
37562
+ let newValue = { value, label: null, disabled: false };
37563
+ values.push(newValue);
37564
+ pendings.push(newValue);
37565
+ }
37566
+ });
37567
+ } else {
37568
+ if (!values.some((v) => v.value == data2)) {
37569
+ let newValue = { value: data2, label: null, disabled: false };
37570
+ values.push(newValue);
37571
+ pendings.push(newValue);
37572
+ }
37573
+ }
37574
+ if (pendings.length > 0) {
37575
+ let param = this.getParam(model2, column);
37576
+ param[column.sourceDataCode] = pendings.map((item) => item.value).join(",");
37577
+ let res2;
37578
+ if (column.isSourceCustom) {
37579
+ res2 = await customModelApi.query(column.source, param);
37580
+ } else {
37581
+ res2 = await modelApi.query(column.source, param);
37582
+ }
37583
+ res2.data.forEach((item) => {
37584
+ let v = this.parseData(item, column.sourceDataCode);
37585
+ let label = this.parseData(item, column.sourceDisplayCode);
37586
+ if (column.controlType == "ComboSelect") {
37587
+ this.$refs["control_" + column.code][0].$data.query = label;
37588
+ }
37589
+ let newValue = pendings.find((i3) => i3.value == v);
37590
+ if (newValue) {
37591
+ newValue.label = label;
37592
+ }
37593
+ });
37594
+ this.$forceUpdate();
37595
+ }
37596
+ }
37508
37597
  }
37509
37598
  }
37510
37599
  };
@@ -37807,11 +37896,15 @@ function _sfc_render$w(_ctx, _cache, $props, $setup, $data, $options) {
37807
37896
  </AutoComplete>\r
37808
37897
  </template> `),
37809
37898
  createVNode$1(_component_Select, {
37810
- "model-value": _ctx.parseData($data.data, column.code),
37899
+ ref_for: true,
37900
+ ref: "control_" + column.code,
37901
+ "model-value": $options.parseComboData($data.data, column),
37811
37902
  "onUpdate:modelValue": ($event) => _ctx.setData($data.data, column.code, $event),
37812
37903
  disabled: $props.readonly || column.isReadonly,
37813
37904
  clearable: true,
37814
37905
  filterable: "",
37906
+ remote: "",
37907
+ "remote-method": (search) => $options.loadOption($data.data, column, search),
37815
37908
  style: normalizeStyle$1({ width: column.controlWidth == null ? null : column.controlWidth + "px" }),
37816
37909
  placeholder: column.description,
37817
37910
  transfer: true,
@@ -37831,9 +37924,40 @@ function _sfc_render$w(_ctx, _cache, $props, $setup, $data, $options) {
37831
37924
  }), 128))
37832
37925
  ]),
37833
37926
  _: 2
37834
- }, 1032, ["model-value", "onUpdate:modelValue", "disabled", "style", "placeholder", "onOnChange"])
37835
- ], 64)) : column.controlType === "DialogSelect" ? (openBlock(), createBlock(_component_dialog_select, {
37927
+ }, 1032, ["model-value", "onUpdate:modelValue", "disabled", "remote-method", "style", "placeholder", "onOnChange"])
37928
+ ], 64)) : column.controlType === "MultiComboSelect" ? (openBlock(), createBlock(_component_Select, {
37836
37929
  key: 11,
37930
+ ref_for: true,
37931
+ ref: "control_" + column.code,
37932
+ "model-value": $options.parseMultiComboData($data.data, column),
37933
+ "onUpdate:modelValue": ($event) => _ctx.setArrayData($data.data, column.code, $event),
37934
+ disabled: $props.readonly || column.isReadonly,
37935
+ clearable: true,
37936
+ multiple: true,
37937
+ filterable: "",
37938
+ remote: "",
37939
+ "remote-method": (search) => $options.loadOption($data.data, column, search),
37940
+ style: normalizeStyle$1({ width: column.controlWidth == null ? null : column.controlWidth + "px" }),
37941
+ placeholder: column.description,
37942
+ transfer: true,
37943
+ onOnChange: (selected) => $options.onSelectDataChange(column, selected)
37944
+ }, {
37945
+ default: withCtx(() => [
37946
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.getDataSource($data.data, column), (item) => {
37947
+ return openBlock(), createBlock(_component_Option, {
37948
+ key: item.id,
37949
+ value: item.id
37950
+ }, {
37951
+ default: withCtx(() => [
37952
+ createTextVNode(toDisplayString$1(item.name), 1)
37953
+ ]),
37954
+ _: 2
37955
+ }, 1032, ["value"]);
37956
+ }), 128))
37957
+ ]),
37958
+ _: 2
37959
+ }, 1032, ["model-value", "onUpdate:modelValue", "disabled", "remote-method", "style", "placeholder", "onOnChange"])) : column.controlType === "DialogSelect" ? (openBlock(), createBlock(_component_dialog_select, {
37960
+ key: 12,
37837
37961
  "model-value": _ctx.parseData($data.data, column.code),
37838
37962
  "onUpdate:modelValue": ($event) => _ctx.setData($data.data, column.code, $event),
37839
37963
  readonly: $props.readonly || column.isReadonly,
@@ -37844,7 +37968,7 @@ function _sfc_render$w(_ctx, _cache, $props, $setup, $data, $options) {
37844
37968
  controlWidth: column.controlWidth,
37845
37969
  onOnChange: (selected) => $options.onSelectDataChange(column, selected)
37846
37970
  }, null, 8, ["model-value", "onUpdate:modelValue", "readonly", "source", "source-data-code", "source-display-code", "param", "controlWidth", "onOnChange"])) : column.controlType === "MultiDialogSelect" ? (openBlock(), createBlock(_component_dialog_select, {
37847
- key: 12,
37971
+ key: 13,
37848
37972
  "model-value": _ctx.parseData($data.data, column.code),
37849
37973
  "onUpdate:modelValue": ($event) => _ctx.setData($data.data, column.code, $event),
37850
37974
  multi: true,
@@ -37855,7 +37979,7 @@ function _sfc_render$w(_ctx, _cache, $props, $setup, $data, $options) {
37855
37979
  param: _ctx.getParam($data.data, column),
37856
37980
  controlWidth: column.controlWidth,
37857
37981
  onOnChange: (selected) => $options.onSelectDataChange(column, selected)
37858
- }, null, 8, ["model-value", "onUpdate:modelValue", "readonly", "source", "source-data-code", "source-display-code", "param", "controlWidth", "onOnChange"])) : column.controlType === "SelectWithOther" ? (openBlock(), createElementBlock(Fragment, { key: 13 }, [
37982
+ }, null, 8, ["model-value", "onUpdate:modelValue", "readonly", "source", "source-data-code", "source-display-code", "param", "controlWidth", "onOnChange"])) : column.controlType === "SelectWithOther" ? (openBlock(), createElementBlock(Fragment, { key: 14 }, [
37859
37983
  createVNode$1(_component_Select, {
37860
37984
  "model-value": $options.parseDataWithOther($data.data, column),
37861
37985
  "onUpdate:modelValue": ($event) => $options.setDataWithOther($data.data, column.code, $event),
@@ -37904,7 +38028,7 @@ function _sfc_render$w(_ctx, _cache, $props, $setup, $data, $options) {
37904
38028
  [vShow, $options.parseDataWithOther($data.data, column) == "__Other"]
37905
38029
  ])
37906
38030
  ], 64)) : column.controlType === "Date" || column.controlType === "DateTime" || column.controlType === "Year" || column.controlType === "Month" ? (openBlock(), createBlock(_component_DatePicker, {
37907
- key: 14,
38031
+ key: 15,
37908
38032
  type: column.controlType.toLowerCase(),
37909
38033
  "model-value": _ctx.parseDateTimeData($data.data, column.code),
37910
38034
  readonly: $props.readonly || column.isReadonly,
@@ -37916,7 +38040,7 @@ function _sfc_render$w(_ctx, _cache, $props, $setup, $data, $options) {
37916
38040
  $options.onDataChange(column);
37917
38041
  }
37918
38042
  }, null, 8, ["type", "model-value", "readonly", "placeholder", "style", "onOnChange"])) : column.controlType === "DateRange" ? (openBlock(), createBlock(_component_DatePicker, {
37919
- key: 15,
38043
+ key: 16,
37920
38044
  type: column.controlType.toLowerCase(),
37921
38045
  "model-value": _ctx.parseDateRangeData($data.data, column.code),
37922
38046
  "onUpdate:modelValue": ($event) => _ctx.setArrayData($data.data, column.code, $event),
@@ -37926,7 +38050,7 @@ function _sfc_render$w(_ctx, _cache, $props, $setup, $data, $options) {
37926
38050
  style: normalizeStyle$1({ width: column.controlWidth == null ? null : column.controlWidth + "px" }),
37927
38051
  onOnChange: ($event) => $options.onDataChange(column)
37928
38052
  }, null, 8, ["type", "model-value", "onUpdate:modelValue", "readonly", "placeholder", "style", "onOnChange"])) : column.controlType === "Time" ? (openBlock(), createBlock(_component_TimePicker, {
37929
- key: 16,
38053
+ key: 17,
37930
38054
  type: "time",
37931
38055
  "model-value": _ctx.parseData($data.data, column.code),
37932
38056
  readonly: $props.readonly || column.isReadonly,
@@ -37938,20 +38062,20 @@ function _sfc_render$w(_ctx, _cache, $props, $setup, $data, $options) {
37938
38062
  $options.onDataChange(column);
37939
38063
  }
37940
38064
  }, null, 8, ["model-value", "readonly", "placeholder", "style", "onOnChange"])) : column.controlType === "Check" ? (openBlock(), createBlock(_component_Checkbox, {
37941
- key: 17,
38065
+ key: 18,
37942
38066
  "model-value": !!_ctx.parseData($data.data, column.code),
37943
38067
  "onUpdate:modelValue": ($event) => _ctx.setData($data.data, column.code, $event),
37944
38068
  disabled: $props.readonly || column.isReadonly,
37945
38069
  size: "large",
37946
38070
  onOnChange: ($event) => $options.onDataChange(column)
37947
38071
  }, null, 8, ["model-value", "onUpdate:modelValue", "disabled", "onOnChange"])) : column.controlType === "Switch" ? (openBlock(), createBlock(_component_Switch, {
37948
- key: 18,
38072
+ key: 19,
37949
38073
  "model-value": !!_ctx.parseData($data.data, column.code),
37950
38074
  "onUpdate:modelValue": ($event) => _ctx.setData($data.data, column.code, $event),
37951
38075
  disabled: $props.readonly || column.isReadonly,
37952
38076
  onOnChange: ($event) => $options.onDataChange(column)
37953
38077
  }, null, 8, ["model-value", "onUpdate:modelValue", "disabled", "onOnChange"])) : column.controlType === "Radio" ? (openBlock(), createBlock(_component_RadioGroup, {
37954
- key: 19,
38078
+ key: 20,
37955
38079
  "model-value": _ctx.parseData($data.data, column.code),
37956
38080
  "onUpdate:modelValue": ($event) => _ctx.setData($data.data, column.code, $event),
37957
38081
  onOnChange: (selected) => $options.onSelectDataChange(column, selected)
@@ -37971,7 +38095,7 @@ function _sfc_render$w(_ctx, _cache, $props, $setup, $data, $options) {
37971
38095
  }), 128))
37972
38096
  ]),
37973
38097
  _: 2
37974
- }, 1032, ["model-value", "onUpdate:modelValue", "onOnChange"])) : column.controlType === "CheckGroup" ? (openBlock(), createElementBlock(Fragment, { key: 20 }, [
38098
+ }, 1032, ["model-value", "onUpdate:modelValue", "onOnChange"])) : column.controlType === "CheckGroup" ? (openBlock(), createElementBlock(Fragment, { key: 21 }, [
37975
38099
  createCommentVNode(' <CheckboxGroup\r\n :model-value="parseArrayData(data, column.code)"\r\n @update:model-value="$event => setArrayData(data, column.code, $event)"\r\n @on-change="selected => onSelectDataChange(column, selected)"\r\n >\r\n <Checkbox v-for="item in getDataSource(data, column)" :key="item.id" :label="item.name" :disabled="readonly || column.isReadonly">\r\n <span>{{ item.name }}</span>\r\n </Checkbox>\r\n </CheckboxGroup> '),
37976
38100
  createVNode$1(_component_check_group, {
37977
38101
  "model-value": _ctx.parseData($data.data, column.code),
@@ -37983,7 +38107,7 @@ function _sfc_render$w(_ctx, _cache, $props, $setup, $data, $options) {
37983
38107
  onOnChange: () => $options.onSelectDataChange(column)
37984
38108
  }, null, 8, ["model-value", "onUpdate:modelValue", "dataSource", "readonly", "onOnChange"])
37985
38109
  ], 64)) : column.controlType === "TextArea" ? (openBlock(), createBlock(_component_Input, {
37986
- key: 21,
38110
+ key: 22,
37987
38111
  type: "textarea",
37988
38112
  "model-value": _ctx.parseData($data.data, column.code),
37989
38113
  "onUpdate:modelValue": ($event) => _ctx.setData($data.data, column.code, $event),
@@ -37993,13 +38117,13 @@ function _sfc_render$w(_ctx, _cache, $props, $setup, $data, $options) {
37993
38117
  maxlength: column.maxLength,
37994
38118
  placeholder: column.description
37995
38119
  }, null, 8, ["model-value", "onUpdate:modelValue", "readonly", "style", "rows", "maxlength", "placeholder"])) : column.controlType === "RichEditor" ? (openBlock(), createBlock(_component_rich_editor, {
37996
- key: 22,
38120
+ key: 23,
37997
38121
  "model-value": _ctx.parseData($data.data, column.code),
37998
38122
  "onUpdate:modelValue": ($event) => _ctx.setData($data.data, column.code, $event),
37999
38123
  readonly: $props.readonly || column.isReadonly,
38000
38124
  height: column.controlHeight,
38001
38125
  width: column.controlWidth
38002
- }, null, 8, ["model-value", "onUpdate:modelValue", "readonly", "height", "width"])) : column.controlType === "Attachment" ? (openBlock(), createElementBlock(Fragment, { key: 23 }, [
38126
+ }, null, 8, ["model-value", "onUpdate:modelValue", "readonly", "height", "width"])) : column.controlType === "Attachment" ? (openBlock(), createElementBlock(Fragment, { key: 24 }, [
38003
38127
  !$props.readonly && !column.isReadonly ? (openBlock(), createBlock(_component_upload_attachment, {
38004
38128
  key: 0,
38005
38129
  ref_for: true,
@@ -38022,7 +38146,7 @@ function _sfc_render$w(_ctx, _cache, $props, $setup, $data, $options) {
38022
38146
  ], 8, _hoisted_10$3);
38023
38147
  }), 128)) : createCommentVNode("v-if", true)
38024
38148
  ], 64)) : column.controlType === "Image" ? (openBlock(), createBlock(_component_upload_image, {
38025
- key: 24,
38149
+ key: 25,
38026
38150
  "model-value": _ctx.parseData($data.data, column.code),
38027
38151
  "onUpdate:modelValue": ($event) => _ctx.setData($data.data, column.code, $event),
38028
38152
  readonly: $props.readonly || column.isReadonly,
@@ -38030,7 +38154,7 @@ function _sfc_render$w(_ctx, _cache, $props, $setup, $data, $options) {
38030
38154
  height: column.controlHeight,
38031
38155
  width: column.controlWidth,
38032
38156
  accept: column.pattern
38033
- }, null, 8, ["model-value", "onUpdate:modelValue", "readonly", "maxCount", "height", "width", "accept"])) : column.controlType === "Slider" ? (openBlock(), createElementBlock(Fragment, { key: 25 }, [
38157
+ }, null, 8, ["model-value", "onUpdate:modelValue", "readonly", "maxCount", "height", "width", "accept"])) : column.controlType === "Slider" ? (openBlock(), createElementBlock(Fragment, { key: 26 }, [
38034
38158
  !$props.readonly && !column.isReadonly ? (openBlock(), createBlock(_component_Slider, {
38035
38159
  key: 0,
38036
38160
  "model-value": _ctx.parseData($data.data, column.code),
@@ -38051,7 +38175,7 @@ function _sfc_render$w(_ctx, _cache, $props, $setup, $data, $options) {
38051
38175
  }, null, 8, ["model-value", "style", "placeholder"])) : createCommentVNode("v-if", true)
38052
38176
  ], 64)) : createCommentVNode("v-if", true),
38053
38177
  !!(column.tooltip || "").trim() ? (openBlock(), createBlock(_component_Button, {
38054
- key: 26,
38178
+ key: 27,
38055
38179
  type: "primary",
38056
38180
  style: { "margin-left": "4px" },
38057
38181
  size: "small",
@@ -38159,7 +38283,7 @@ const _sfc_main$v = {
38159
38283
  computed: {
38160
38284
  needDataSource() {
38161
38285
  if (this.data) {
38162
- return (this.data.controlType === "Select" || this.data.controlType === "MultiSelect" || this.data.controlType === "TreeSelect" || this.data.controlType === "MultiTreeSelect" || this.data.controlType === "SelectWithOther" || this.data.controlType === "ComboSelect" || this.data.controlType === "Radio" || this.data.controlType === "CheckGroup") && !this.data.isStaticItem && this.data.dataType && this.data.dataType.indexOf("Enum:") !== 0 || this.data.controlType === "DialogSelect" || this.data.controlType === "MultiDialogSelect" || this.data.controlType === "Table" || this.data.controlType === "List";
38286
+ return (this.data.controlType === "Select" || this.data.controlType === "MultiSelect" || this.data.controlType === "TreeSelect" || this.data.controlType === "MultiTreeSelect" || this.data.controlType === "SelectWithOther" || this.data.controlType === "ComboSelect" || this.data.controlType === "MultiComboSelect" || this.data.controlType === "Radio" || this.data.controlType === "CheckGroup") && !this.data.isStaticItem && this.data.dataType && this.data.dataType.indexOf("Enum:") !== 0 || this.data.controlType === "DialogSelect" || this.data.controlType === "MultiDialogSelect" || this.data.controlType === "Table" || this.data.controlType === "List";
38163
38287
  } else {
38164
38288
  return false;
38165
38289
  }
@@ -38689,7 +38813,7 @@ function _sfc_render$v(_ctx, _cache, $props, $setup, $data, $options) {
38689
38813
  ]),
38690
38814
  _: 1
38691
38815
  }, 16)) : createCommentVNode("v-if", true),
38692
- $data.data.controlType == "Select" || $data.data.controlType == "SelectWithOther" || $data.data.controlType == "ComboSelect" || $data.data.controlType == "MultiSelect" || $data.data.controlType == "Radio" || $data.data.controlType == "CheckGroup" ? (openBlock(), createBlock(_component_Col, normalizeProps(mergeProps({ key: 6 }, _ctx.grid8)), {
38816
+ $data.data.controlType == "Select" || $data.data.controlType == "SelectWithOther" || $data.data.controlType == "ComboSelect" || $data.data.controlType == "MultiSelect" || $data.data.controlType == "MultiComboSelect" || $data.data.controlType == "Radio" || $data.data.controlType == "CheckGroup" ? (openBlock(), createBlock(_component_Col, normalizeProps(mergeProps({ key: 6 }, _ctx.grid8)), {
38693
38817
  default: withCtx(() => [
38694
38818
  createVNode$1(_component_FormItem, {
38695
38819
  label: "\u56FA\u5B9A\u9009\u9879",
@@ -38709,7 +38833,7 @@ function _sfc_render$v(_ctx, _cache, $props, $setup, $data, $options) {
38709
38833
  ]),
38710
38834
  _: 1
38711
38835
  }, 16)) : createCommentVNode("v-if", true),
38712
- ($data.data.controlType == "Select" || $data.data.controlType == "SelectWithOther" || $data.data.controlType == "ComboSelect" || $data.data.controlType == "MultiSelect" || $data.data.controlType == "Radio" || $data.data.controlType == "CheckGroup") && !$data.data.isStaticItem ? (openBlock(), createBlock(_component_Col, normalizeProps(mergeProps({ key: 7 }, _ctx.grid8)), {
38836
+ ($data.data.controlType == "Select" || $data.data.controlType == "SelectWithOther" || $data.data.controlType == "ComboSelect" || $data.data.controlType == "MultiSelect" || $data.data.controlType == "MultiComboSelect" || $data.data.controlType == "Radio" || $data.data.controlType == "CheckGroup") && !$data.data.isStaticItem ? (openBlock(), createBlock(_component_Col, normalizeProps(mergeProps({ key: 7 }, _ctx.grid8)), {
38713
38837
  default: withCtx(() => [
38714
38838
  createVNode$1(_component_FormItem, {
38715
38839
  label: "\u5B57\u5178\u9009\u9879",
@@ -38732,7 +38856,7 @@ function _sfc_render$v(_ctx, _cache, $props, $setup, $data, $options) {
38732
38856
  ]),
38733
38857
  _: 1
38734
38858
  }, 16)) : createCommentVNode("v-if", true),
38735
- $data.data.isStaticItem && ($data.data.controlType == "Select" || $data.data.controlType == "SelectWithOther" || $data.data.controlType == "ComboSelect" || $data.data.controlType == "MultiSelect" || $data.data.controlType == "Radio" || $data.data.controlType == "CheckGroup") ? (openBlock(), createBlock(_component_Col, normalizeProps(mergeProps({ key: 8 }, _ctx.grid24)), {
38859
+ $data.data.isStaticItem && ($data.data.controlType == "Select" || $data.data.controlType == "SelectWithOther" || $data.data.controlType == "ComboSelect" || $data.data.controlType == "MultiSelect" || $data.data.controlType == "MultiComboSelect" || $data.data.controlType == "Radio" || $data.data.controlType == "CheckGroup") ? (openBlock(), createBlock(_component_Col, normalizeProps(mergeProps({ key: 8 }, _ctx.grid24)), {
38736
38860
  default: withCtx(() => [
38737
38861
  createVNode$1(_component_FormItem, {
38738
38862
  label: "\u9009\u9879\u5185\u5BB9\uFF08\u6BCF\u4E00\u884C\u4E3A\u4E00\u9879\uFF0Ckey/value\u7528\u5192\u53F7\u5206\u9694\uFF0C\u6CA1\u6709\u5192\u53F7\u8868\u793Akey/value\u4E00\u81F4\uFF09",
@@ -41579,22 +41703,33 @@ const _sfc_main$r = {
41579
41703
  });
41580
41704
  },
41581
41705
  async fillDataSource(data2, column, param) {
41706
+ let value;
41707
+ if (column.controlType === "TreeSelect" || column.controlType === "MultiTreeSelect") {
41708
+ value = this.parseTreeFilterData(data2, column);
41709
+ column.dataSource = null;
41710
+ }
41711
+ if (column.controlType === "ComboSelect" || column.controlType === "MultiComboSelect") {
41712
+ param.per = 20;
41713
+ }
41714
+ this.disableLoader();
41582
41715
  let res2;
41583
41716
  if (column.isSourceCustom) {
41584
41717
  res2 = await customModelApi.query(column.source, param);
41585
41718
  } else {
41586
41719
  res2 = await modelApi.query(column.source, param);
41587
41720
  }
41721
+ this.enableLoader();
41588
41722
  column.rawData = res2.data;
41589
41723
  if (column.controlType === "TreeSelect" || column.controlType === "MultiTreeSelect") {
41590
- let data3 = res2.data.map((item) => {
41724
+ let treeData = res2.data.map((item) => {
41591
41725
  return {
41592
41726
  id: !(column.sourceDataCode || "").trim() ? item.id : this.parseData(item, column.sourceDataCode),
41593
41727
  name: this.parseData(item, column.sourceDisplayCode),
41594
41728
  parentID: item.parentID
41595
41729
  };
41596
41730
  });
41597
- column.dataSource = this.getTreeDataSource(data3, column, null);
41731
+ column.dataSource = this.getTreeDataSource(treeData, column, null);
41732
+ this.setFilterData(data2, column, value);
41598
41733
  } else {
41599
41734
  column.dataSource = res2.data.map((item) => {
41600
41735
  return {
@@ -41605,10 +41740,27 @@ const _sfc_main$r = {
41605
41740
  if (data2) {
41606
41741
  if (this.parseFilterData(data2, column) == null && column.isDefaultFirst && res2.length > 0) {
41607
41742
  this.setData(data2, column.code, this.parseData(res2[0], column.sourceDataCode));
41743
+ this.$emit("on-change", column, null, column.rawData[0], null);
41744
+ if (column.sourceDataCode == "id" && column.code.length > 2) {
41745
+ let code2 = column.code.substr(0, column.code.length - 2);
41746
+ let model2 = column.rawData.find((item) => {
41747
+ return item.id == this.parseData(data2, column.code);
41748
+ });
41749
+ this.setData(data2, code2, model2);
41750
+ }
41608
41751
  }
41609
41752
  }
41610
41753
  }
41611
- this.onDataChange(column);
41754
+ if (column.controlType == "Select" || column.controlType == "Radio") {
41755
+ if (!column.dataSource.some((item) => {
41756
+ return item.id == this.parseData(data2, column.code);
41757
+ })) {
41758
+ this.setData(data2, column.code, null);
41759
+ column.triggers.forEach((item) => {
41760
+ item.needClear = true;
41761
+ });
41762
+ }
41763
+ }
41612
41764
  },
41613
41765
  getTreeDataSource(data2, column, parentID) {
41614
41766
  let result2 = data2.filter((item) => {
@@ -41630,7 +41782,7 @@ const _sfc_main$r = {
41630
41782
  return result2;
41631
41783
  },
41632
41784
  getDataSource(data2, column) {
41633
- if (!column.isStaticItem && column.dataType.indexOf("Enum:") === 0) {
41785
+ if (!column.isStaticItem && column.dataType.startsWith("Enum:")) {
41634
41786
  return this.getEnumList(column.dataType.split(":")[1]);
41635
41787
  } else {
41636
41788
  return column.dataSource == null ? [] : column.dataSource;
@@ -41698,7 +41850,7 @@ const _sfc_main$r = {
41698
41850
  break;
41699
41851
  }
41700
41852
  let param = this.getParam(this.data, column);
41701
- if (column.controlType === "Select" || column.controlType === "MultiSelect" || column.controlType === "TreeSelect" || column.controlType === "MultiTreeSelect" || column.controlType === "SelectWithOther" || column.controlType === "ComboSelect" || column.controlType === "Radio") {
41853
+ if (column.controlType === "Select" || column.controlType === "MultiSelect" || column.controlType === "TreeSelect" || column.controlType === "MultiTreeSelect" || column.controlType === "SelectWithOther" || column.controlType === "ComboSelect" || column.controlType === "MultiComboSelect" || column.controlType === "Radio") {
41702
41854
  if (param != null) {
41703
41855
  this.fillDataSource(this.data, column, param);
41704
41856
  } else {
@@ -41724,15 +41876,15 @@ const _sfc_main$r = {
41724
41876
  parseArrayFilterData(model2, column) {
41725
41877
  let data2 = [];
41726
41878
  let value = this.parseFilterData(model2, column);
41727
- if (value != null && value !== "") {
41728
- data2 = value.split(",");
41879
+ if (this.isJSON(value)) {
41880
+ data2 = JSON.parse(value);
41729
41881
  }
41730
41882
  return data2;
41731
41883
  },
41732
41884
  setArrayFilterData(model2, column, value) {
41733
41885
  let data2 = "";
41734
41886
  if (value != null) {
41735
- data2 = value.join(",");
41887
+ data2 = JSON.stringify(value);
41736
41888
  }
41737
41889
  this.setFilterData(model2, column, data2);
41738
41890
  },
@@ -41821,6 +41973,83 @@ const _sfc_main$r = {
41821
41973
  } else {
41822
41974
  return column.name;
41823
41975
  }
41976
+ },
41977
+ async loadOption(data2, column, keyword) {
41978
+ if (column.isStaticItem || column.dataType && column.dataType.startsWith("Enum:")) {
41979
+ return;
41980
+ }
41981
+ let param = this.getParam(data2, column);
41982
+ if (param != null) {
41983
+ param[column.sourceDisplayCode + "_c"] = keyword;
41984
+ this.fillDataSource(data2, column, param);
41985
+ } else {
41986
+ column.rawData = [];
41987
+ column.dataSource = [];
41988
+ this.setData(data2, column.code, null);
41989
+ column.triggers.forEach((item) => {
41990
+ item.needClear = true;
41991
+ });
41992
+ }
41993
+ },
41994
+ parseComboData(model2, column) {
41995
+ let value = this.parseFilterData(model2, column);
41996
+ this.loadComboDataLabel(model2, column, value);
41997
+ return value;
41998
+ },
41999
+ parseMultiComboData(model2, column) {
42000
+ let data2 = [];
42001
+ let value = this.parseFilterData(model2, column);
42002
+ if (this.isJSON(value)) {
42003
+ data2 = JSON.parse(value);
42004
+ }
42005
+ this.loadComboDataLabel(model2, column, data2);
42006
+ return data2;
42007
+ },
42008
+ async loadComboDataLabel(model2, column, data2) {
42009
+ if (column.isStaticItem || column.dataType && column.dataType.startsWith("Enum:")) {
42010
+ return;
42011
+ }
42012
+ if (this.$refs["control_" + column.code]) {
42013
+ let values = this.$refs["control_" + column.code][0].$data.values;
42014
+ let pendings = [];
42015
+ if (column.controlType == "MultiComboSelect") {
42016
+ data2.forEach((value) => {
42017
+ if (!values.some((v) => v.value == value)) {
42018
+ let newValue = { value, label: null, disabled: false };
42019
+ values.push(newValue);
42020
+ pendings.push(newValue);
42021
+ }
42022
+ });
42023
+ } else {
42024
+ if (!values.some((v) => v.value == data2)) {
42025
+ let newValue = { value: data2, label: null, disabled: false };
42026
+ values.push(newValue);
42027
+ pendings.push(newValue);
42028
+ }
42029
+ }
42030
+ if (pendings.length > 0) {
42031
+ let param = this.getParam(model2, column);
42032
+ param[column.sourceDataCode] = pendings.map((item) => item.value).join(",");
42033
+ let res2;
42034
+ if (column.isSourceCustom) {
42035
+ res2 = await customModelApi.query(column.source, param);
42036
+ } else {
42037
+ res2 = await modelApi.query(column.source, param);
42038
+ }
42039
+ res2.data.forEach((item) => {
42040
+ let v = this.parseData(item, column.sourceDataCode);
42041
+ let label = this.parseData(item, column.sourceDisplayCode);
42042
+ if (column.controlType == "ComboSelect") {
42043
+ this.$refs["control_" + column.code][0].$data.query = label;
42044
+ }
42045
+ let newValue = pendings.find((i3) => i3.value == v);
42046
+ if (newValue) {
42047
+ newValue.label = label;
42048
+ }
42049
+ });
42050
+ this.$forceUpdate();
42051
+ }
42052
+ }
41824
42053
  }
41825
42054
  }
41826
42055
  };
@@ -41830,7 +42059,7 @@ const _hoisted_2$f = {
41830
42059
  class: "label"
41831
42060
  };
41832
42061
  const _hoisted_3$d = {
41833
- key: 14,
42062
+ key: 15,
41834
42063
  style: { "line-height": "24px" }
41835
42064
  };
41836
42065
  function _sfc_render$r(_ctx, _cache, $props, $setup, $data, $options) {
@@ -42005,19 +42234,22 @@ function _sfc_render$r(_ctx, _cache, $props, $setup, $data, $options) {
42005
42234
  "model-value": $options.parseFilterData($data.data, column),
42006
42235
  "onUpdate:modelValue": ($event) => $options.setFilterData($data.data, column, $event),
42007
42236
  style: normalizeStyle$1([{ width: column.controlWidth == null ? "40%" : column.controlWidth + "px" }, { "margin-left": "4px" }]),
42008
- maxlength: column.maxLength,
42009
42237
  placeholder: column.description,
42010
42238
  onOnChange: ($event) => $options.onDataChange(column)
42011
- }, null, 8, ["model-value", "onUpdate:modelValue", "style", "maxlength", "placeholder", "onOnChange"]), [
42239
+ }, null, 8, ["model-value", "onUpdate:modelValue", "style", "placeholder", "onOnChange"]), [
42012
42240
  [vShow, $options.parseFilterDataWithOther($data.data, column) == "__Other"]
42013
42241
  ])
42014
42242
  ], 64)) : column.controlType === "ComboSelect" ? (openBlock(), createBlock(_component_Select, {
42015
42243
  key: 9,
42244
+ ref_for: true,
42245
+ ref: "control_" + column.code,
42016
42246
  size: "small",
42017
- "model-value": $options.parseFilterData($data.data, column),
42247
+ "model-value": $options.parseComboData($data.data, column),
42018
42248
  "onUpdate:modelValue": ($event) => $options.setFilterData($data.data, column, $event),
42019
- clearable: "",
42249
+ clearable: true,
42020
42250
  filterable: "",
42251
+ remote: "",
42252
+ "remote-method": (search) => $options.loadOption($data.data, column, search),
42021
42253
  style: normalizeStyle$1({ width: column.controlWidth == null ? null : column.controlWidth + "px" }),
42022
42254
  placeholder: column.description,
42023
42255
  transfer: true,
@@ -42037,8 +42269,39 @@ function _sfc_render$r(_ctx, _cache, $props, $setup, $data, $options) {
42037
42269
  }), 128))
42038
42270
  ]),
42039
42271
  _: 2
42040
- }, 1032, ["model-value", "onUpdate:modelValue", "style", "placeholder", "onOnChange"])) : column.controlType === "DialogSelect" ? (openBlock(), createBlock(_component_dialog_select, {
42272
+ }, 1032, ["model-value", "onUpdate:modelValue", "remote-method", "style", "placeholder", "onOnChange"])) : column.controlType === "MultiComboSelect" ? (openBlock(), createBlock(_component_Select, {
42041
42273
  key: 10,
42274
+ ref_for: true,
42275
+ ref: "control_" + column.code,
42276
+ size: "small",
42277
+ "model-value": $options.parseMultiComboData($data.data, column),
42278
+ "onUpdate:modelValue": ($event) => $options.setArrayFilterData($data.data, column, $event),
42279
+ clearable: true,
42280
+ multiple: true,
42281
+ filterable: "",
42282
+ remote: "",
42283
+ "remote-method": (search) => $options.loadOption($data.data, column, search),
42284
+ style: normalizeStyle$1({ width: column.controlWidth == null ? null : column.controlWidth + "px" }),
42285
+ placeholder: column.description,
42286
+ transfer: true,
42287
+ onOnChange: (selected) => $options.onSelectDataChange(column, selected)
42288
+ }, {
42289
+ default: withCtx(() => [
42290
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.getDataSource($data.data, column), (item) => {
42291
+ return openBlock(), createBlock(_component_Option, {
42292
+ key: item.id,
42293
+ value: item.id
42294
+ }, {
42295
+ default: withCtx(() => [
42296
+ createTextVNode(toDisplayString$1(item.name), 1)
42297
+ ]),
42298
+ _: 2
42299
+ }, 1032, ["value"]);
42300
+ }), 128))
42301
+ ]),
42302
+ _: 2
42303
+ }, 1032, ["model-value", "onUpdate:modelValue", "remote-method", "style", "placeholder", "onOnChange"])) : column.controlType === "DialogSelect" ? (openBlock(), createBlock(_component_dialog_select, {
42304
+ key: 11,
42042
42305
  size: "small",
42043
42306
  "model-value": $options.parseFilterData($data.data, column),
42044
42307
  "onUpdate:modelValue": ($event) => $options.setFilterData($data.data, column, $event),
@@ -42049,7 +42312,7 @@ function _sfc_render$r(_ctx, _cache, $props, $setup, $data, $options) {
42049
42312
  controlWidth: column.controlWidth,
42050
42313
  onOnChange: (selected) => $options.onSelectDataChange(column, selected)
42051
42314
  }, null, 8, ["model-value", "onUpdate:modelValue", "source", "source-data-code", "source-display-code", "param", "controlWidth", "onOnChange"])) : column.controlType === "Date" || column.controlType === "DateTime" || column.controlType === "Year" || column.controlType === "Month" || column.controlType === "DateRange" ? (openBlock(), createBlock(_component_DatePicker, {
42052
- key: 11,
42315
+ key: 12,
42053
42316
  size: "small",
42054
42317
  type: column.controlType.toLowerCase(),
42055
42318
  "model-value": $options.parseFilterData($data.data, column),
@@ -42061,7 +42324,7 @@ function _sfc_render$r(_ctx, _cache, $props, $setup, $data, $options) {
42061
42324
  $options.onDataChange(column);
42062
42325
  }
42063
42326
  }, null, 8, ["type", "model-value", "placeholder", "style", "onOnChange"])) : column.controlType === "Time" ? (openBlock(), createBlock(_component_TimePicker, {
42064
- key: 12,
42327
+ key: 13,
42065
42328
  size: "small",
42066
42329
  type: "time",
42067
42330
  "model-value": $options.parseFilterData($data.data, column),
@@ -42071,7 +42334,7 @@ function _sfc_render$r(_ctx, _cache, $props, $setup, $data, $options) {
42071
42334
  style: normalizeStyle$1({ width: column.controlWidth == null ? null : column.controlWidth + "px" }),
42072
42335
  onOnChange: ($event) => $options.onDataChange(column)
42073
42336
  }, null, 8, ["model-value", "onUpdate:modelValue", "placeholder", "style", "onOnChange"])) : column.controlType === "Check" ? (openBlock(), createBlock(_component_Checkbox, {
42074
- key: 13,
42337
+ key: 14,
42075
42338
  size: "small",
42076
42339
  style: { "line-height": "26px" },
42077
42340
  "model-value": !!$options.parseFilterData($data.data, column),
@@ -42085,7 +42348,7 @@ function _sfc_render$r(_ctx, _cache, $props, $setup, $data, $options) {
42085
42348
  onOnChange: ($event) => $options.onDataChange(column)
42086
42349
  }, null, 8, ["model-value", "onUpdate:modelValue", "onOnChange"])
42087
42350
  ])) : column.controlType === "Radio" ? (openBlock(), createBlock(_component_RadioGroup, {
42088
- key: 15,
42351
+ key: 16,
42089
42352
  size: "small",
42090
42353
  style: { "line-height": "22px" },
42091
42354
  "model-value": $options.parseFilterData($data.data, column),
@@ -42106,7 +42369,15 @@ function _sfc_render$r(_ctx, _cache, $props, $setup, $data, $options) {
42106
42369
  }), 128))
42107
42370
  ]),
42108
42371
  _: 2
42109
- }, 1032, ["model-value", "onUpdate:modelValue", "onOnChange"])) : (openBlock(), createElementBlock(Fragment, { key: 16 }, [
42372
+ }, 1032, ["model-value", "onUpdate:modelValue", "onOnChange"])) : column.controlType === "TextArea" ? (openBlock(), createBlock(_component_Input, {
42373
+ key: 17,
42374
+ type: "textarea",
42375
+ "model-value": $options.parseFilterData($data.data, column.code),
42376
+ "onUpdate:modelValue": ($event) => $options.setFilterData($data.data, column.code, $event),
42377
+ style: normalizeStyle$1({ width: column.controlWidth == null ? null : column.controlWidth + "px" }),
42378
+ rows: column.controlHeight / 20,
42379
+ placeholder: column.description
42380
+ }, null, 8, ["model-value", "onUpdate:modelValue", "style", "rows", "placeholder"])) : (openBlock(), createElementBlock(Fragment, { key: 18 }, [
42110
42381
  createTextVNode(toDisplayString$1(_ctx.$t("Front_Label_Control_Type_Not_Supported")) + " " + toDisplayString$1(column.controlType), 1)
42111
42382
  ], 64))
42112
42383
  ]),
@@ -42861,7 +43132,7 @@ const _sfc_main$q = {
42861
43132
  },
42862
43133
  initDataSource() {
42863
43134
  this.columns.forEach((column) => {
42864
- if (column.controlType == "Select" || column.controlType == "SelectWithOther" || column.controlType == "ComboSelect" || column.controlType == "MultiSelect" || column.controlType == "Radio" || column.controlType == "CheckGroup") {
43135
+ if (column.controlType == "Select" || column.controlType == "MultiSelect" || column.controlType == "SelectWithOther" || column.controlType == "ComboSelect" || column.controlType == "MultiComboSelect" || column.controlType == "Radio" || column.controlType == "CheckGroup") {
42865
43136
  if (column.isStaticItem) {
42866
43137
  this.data.forEach((row) => {
42867
43138
  if (!row._dataSource) {
@@ -42934,12 +43205,17 @@ const _sfc_main$q = {
42934
43205
  data2._needRefresh = {};
42935
43206
  data2._needClear = {};
42936
43207
  }
43208
+ if (column.controlType === "ComboSelect" || column.controlType === "MultiComboSelect") {
43209
+ param.per = 20;
43210
+ }
43211
+ this.disableLoader();
42937
43212
  let res2;
42938
43213
  if (column.isSourceCustom) {
42939
43214
  res2 = await customModelApi.query(column.source, param);
42940
43215
  } else {
42941
43216
  res2 = await modelApi.query(column.source, param);
42942
43217
  }
43218
+ this.enableLoader();
42943
43219
  data2._rawData[column.code] = res2.data;
42944
43220
  data2._dataSource[column.code] = res2.data.map((item) => {
42945
43221
  return {
@@ -42967,7 +43243,7 @@ const _sfc_main$q = {
42967
43243
  this.onDataChange(data2, column);
42968
43244
  },
42969
43245
  getDataSource(data2, column) {
42970
- if (!column.isStaticItem && column.dataType.indexOf("Enum:") === 0) {
43246
+ if (!column.isStaticItem && column.dataType.startsWith("Enum:")) {
42971
43247
  return this.getEnumList(column.dataType.split(":")[1]);
42972
43248
  } else if (data2._dataSource != null && data2._dataSource[column.code] != null) {
42973
43249
  return data2._dataSource[column.code];
@@ -42993,7 +43269,7 @@ const _sfc_main$q = {
42993
43269
  this.orderBy = orderColumns.join(",");
42994
43270
  this.loadData();
42995
43271
  },
42996
- columnWidthResize(newWidth, oldWidth, column, event) {
43272
+ columnWidthResize(newWidth, oldWidth, column) {
42997
43273
  let widthSetting = {};
42998
43274
  let widthSettingStr = localStorage.getItem("columnWidth_" + this.tableView.code);
42999
43275
  if (widthSettingStr) {
@@ -43162,7 +43438,9 @@ const _sfc_main$q = {
43162
43438
  ...(_a2 = this.filterData) != null ? _a2 : {}
43163
43439
  };
43164
43440
  for (let key in filter2) {
43165
- if (typeof filter2[key] == "object" && !(filter2[key] instanceof Date)) {
43441
+ if (this.isJSON(filter2[key])) {
43442
+ filter2[key] = JSON.parse(filter2[key]).join(",");
43443
+ } else if (typeof filter2[key] == "object" && !(filter2[key] instanceof Date)) {
43166
43444
  delete filter2[key];
43167
43445
  }
43168
43446
  }
@@ -43254,12 +43532,11 @@ const _sfc_main$q = {
43254
43532
  } else {
43255
43533
  let c2 = column;
43256
43534
  if (typeof value == "string") {
43257
- for (let i3 = 0; i3 < value.split(",").length; i3++) {
43258
- if (this.parseData(item, c2) == value.split(",")[i3]) {
43259
- return true;
43260
- }
43535
+ if (this.isJSON(value)) {
43536
+ return JSON.parse(value).some((i3) => i3 == this.parseData(item, c2));
43537
+ } else {
43538
+ return value.split(",").some((i3) => i3 == this.parseData(item, c2));
43261
43539
  }
43262
- return false;
43263
43540
  } else if (value instanceof Date) {
43264
43541
  return new Date(this.parseData(item, c2)) == value;
43265
43542
  } else {
@@ -43538,6 +43815,83 @@ const _sfc_main$q = {
43538
43815
  } else {
43539
43816
  return "end";
43540
43817
  }
43818
+ },
43819
+ async loadOption(data2, column, keyword) {
43820
+ if (column.isStaticItem || column.dataType && column.dataType.startsWith("Enum:")) {
43821
+ return;
43822
+ }
43823
+ let param = this.getParam(data2, column);
43824
+ if (param != null) {
43825
+ param[column.sourceDisplayCode + "_c"] = keyword;
43826
+ this.fillDataSource(data2, column, param);
43827
+ } else {
43828
+ data2._rawData[column.code] = [];
43829
+ data2._dataSource[column.code] = [];
43830
+ this.setData(data2, column.code, null);
43831
+ column.triggers.forEach((item) => {
43832
+ item.needClear = true;
43833
+ });
43834
+ }
43835
+ },
43836
+ parseComboData(model2, column, index2) {
43837
+ let value = this.parseData(model2, column.code);
43838
+ this.loadComboDataLabel(model2, column, value, index2);
43839
+ return value;
43840
+ },
43841
+ parseMultiComboData(model2, column, index2) {
43842
+ let data2 = [];
43843
+ let value = this.parseData(model2, column.code);
43844
+ if (this.isJSON(value)) {
43845
+ data2 = JSON.parse(value);
43846
+ }
43847
+ this.loadComboDataLabel(model2, column, data2, index2);
43848
+ return data2;
43849
+ },
43850
+ async loadComboDataLabel(model2, column, data2, index2) {
43851
+ if (column.isStaticItem || column.dataType && column.dataType.startsWith("Enum:")) {
43852
+ return;
43853
+ }
43854
+ if (this.$refs["control_" + column.code + "_" + index2]) {
43855
+ let values = this.$refs["control_" + column.code + "_" + index2].$data.values;
43856
+ let pendings = [];
43857
+ if (column.controlType == "MultiComboSelect") {
43858
+ data2.forEach((value) => {
43859
+ if (!values.some((v) => v.value == value)) {
43860
+ let newValue = { value, label: null, disabled: false };
43861
+ values.push(newValue);
43862
+ pendings.push(newValue);
43863
+ }
43864
+ });
43865
+ } else {
43866
+ if (!values.some((v) => v.value == data2)) {
43867
+ let newValue = { value: data2, label: null, disabled: false };
43868
+ values.push(newValue);
43869
+ pendings.push(newValue);
43870
+ }
43871
+ }
43872
+ if (pendings.length > 0) {
43873
+ let param = this.getParam(model2, column);
43874
+ param[column.sourceDataCode] = pendings.map((item) => item.value).join(",");
43875
+ let res2;
43876
+ if (column.isSourceCustom) {
43877
+ res2 = await customModelApi.query(column.source, param);
43878
+ } else {
43879
+ res2 = await modelApi.query(column.source, param);
43880
+ }
43881
+ res2.data.forEach((item) => {
43882
+ let v = this.parseData(item, column.sourceDataCode);
43883
+ let label = this.parseData(item, column.sourceDisplayCode);
43884
+ if (column.controlType == "ComboSelect") {
43885
+ this.$refs["control_" + column.code + "_" + index2].$data.query = label;
43886
+ }
43887
+ let newValue = pendings.find((i3) => i3.value == v);
43888
+ if (newValue) {
43889
+ newValue.label = label;
43890
+ }
43891
+ this.$forceUpdate();
43892
+ });
43893
+ }
43894
+ }
43541
43895
  }
43542
43896
  }
43543
43897
  };
@@ -43547,7 +43901,7 @@ const _hoisted_3$c = ["title", "innerHTML"];
43547
43901
  const _hoisted_4$6 = ["href", "target"];
43548
43902
  const _hoisted_5$4 = ["innerHTML"];
43549
43903
  const _hoisted_6$3 = {
43550
- key: 11,
43904
+ key: 10,
43551
43905
  style: { "display": "flex" }
43552
43906
  };
43553
43907
  const _hoisted_7$3 = ["href"];
@@ -43910,50 +44264,62 @@ function _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) {
43910
44264
  }), 128))
43911
44265
  ]),
43912
44266
  _: 2
43913
- }, 1032, ["model-value", "onUpdate:modelValue", "disabled", "style", "placeholder", "onOnChange"])) : column.controlType === "ComboSelect" ? (openBlock(), createBlock(_component_Select, {
43914
- key: 8,
43915
- size: "small",
43916
- "model-value": _ctx.parseData($options.rowData(row, index2), column.code),
43917
- "onUpdate:modelValue": ($event) => _ctx.setData($options.rowData(row, index2), column.code, $event),
43918
- disabled: $options.isReadonly($options.rowData(row, index2), column),
43919
- clearable: "",
43920
- filterable: "",
43921
- style: normalizeStyle$1({ width: column.controlWidth == null ? null : column.controlWidth - 8 + "px" }),
43922
- placeholder: column.description,
43923
- transfer: true,
43924
- onOnChange: (selected) => $options.onSelectDataChange($options.rowData(row, index2), column, selected)
43925
- }, {
43926
- default: withCtx(() => [
43927
- (openBlock(true), createElementBlock(Fragment, null, renderList($options.getDataSource($options.rowData(row, index2), column), (item) => {
43928
- return openBlock(), createBlock(_component_Option, {
43929
- key: item.id,
43930
- value: item.id
43931
- }, {
43932
- default: withCtx(() => [
43933
- createTextVNode(toDisplayString$1(item.name), 1)
43934
- ]),
43935
- _: 2
43936
- }, 1032, ["value"]);
43937
- }), 128))
43938
- ]),
43939
- _: 2
43940
- }, 1032, ["model-value", "onUpdate:modelValue", "disabled", "style", "placeholder", "onOnChange"])) : column.controlType === "DialogSelect" ? (openBlock(), createBlock(_component_dialog_select, {
44267
+ }, 1032, ["model-value", "onUpdate:modelValue", "disabled", "style", "placeholder", "onOnChange"])) : column.controlType === "DialogSelect" ? (openBlock(), createElementBlock(Fragment, { key: 8 }, [
44268
+ createCommentVNode(` <template v-else-if="column.controlType === 'ComboSelect'">\r
44269
+ <Select\r
44270
+ :ref="'control_' + column.code + '_' + index"\r
44271
+ size="small"\r
44272
+ :model-value="parseComboData(rowData(row, index), column, index)"\r
44273
+ @update:model-value="$event => setData(rowData(row, index), column.code, $event)"\r
44274
+ :disabled="isReadonly(rowData(row, index), column)"\r
44275
+ :clearable="true"\r
44276
+ filterable\r
44277
+ remote\r
44278
+ :remote-method="search => loadOption(rowData(row, index), column, search)"\r
44279
+ :style="{ width: column.controlWidth == null ? null : column.controlWidth - 8 + 'px' }"\r
44280
+ :placeholder="column.description"\r
44281
+ :transfer="true"\r
44282
+ @on-change="selected => onSelectDataChange(rowData(row, index), column, selected)"\r
44283
+ >\r
44284
+ <Option v-for="item in getDataSource(rowData(row, index), column)" :key="item.id" :value="item.id">{{ item.name }}</Option>\r
44285
+ </Select>\r
44286
+ </template>\r
44287
+ <template v-else-if="column.controlType === 'MultiComboSelect'">\r
44288
+ <Select\r
44289
+ :ref="'control_' + column.code + '_' + index"\r
44290
+ :model-value="parseMultiComboData(rowData(row, index), column, index)"\r
44291
+ @update:model-value="$event => setArrayData(rowData(row, index), column.code, $event)"\r
44292
+ :disabled="isReadonly(rowData(row, index), column)"\r
44293
+ :clearable="true"\r
44294
+ :multiple="true"\r
44295
+ filterable\r
44296
+ remote\r
44297
+ :remote-method="search => loadOption(rowData(row, index), column, search)"\r
44298
+ :style="{ width: column.controlWidth == null ? null : column.controlWidth - 8 + 'px' }"\r
44299
+ :placeholder="column.description"\r
44300
+ :transfer="true"\r
44301
+ @on-change="selected => onSelectDataChange(rowData(row, index), column, selected)"\r
44302
+ >\r
44303
+ <Option v-for="item in getDataSource(rowData(row, index), column)" :key="item.id" :value="item.id">{{ item.name }}</Option>\r
44304
+ </Select>\r
44305
+ </template> `),
44306
+ createVNode$1(_component_dialog_select, {
44307
+ "model-value": _ctx.parseData($options.rowData(row, index2), column.code),
44308
+ size: "small",
44309
+ "onUpdate:modelValue": ($event) => _ctx.setData($options.rowData(row, index2), column.code, $event),
44310
+ readonly: $options.isReadonly($options.rowData(row, index2), column),
44311
+ source: column.source,
44312
+ "source-data-code": column.sourceDataCode,
44313
+ "source-display-code": column.sourceDisplayCode,
44314
+ param: _ctx.getParam($options.rowData(row, index2), column, $props.parentData),
44315
+ controlWidth: column.controlWidth == null ? null : column.controlWidth - 8,
44316
+ onOnChange: (selected) => $options.onSelectDataChange($options.rowData(row, index2), column, selected)
44317
+ }, null, 8, ["model-value", "onUpdate:modelValue", "readonly", "source", "source-data-code", "source-display-code", "param", "controlWidth", "onOnChange"])
44318
+ ], 64)) : column.controlType === "MultiDialogSelect" ? (openBlock(), createBlock(_component_dialog_select, {
43941
44319
  key: 9,
43942
44320
  "model-value": _ctx.parseData($options.rowData(row, index2), column.code),
43943
44321
  size: "small",
43944
44322
  "onUpdate:modelValue": ($event) => _ctx.setData($options.rowData(row, index2), column.code, $event),
43945
- readonly: $options.isReadonly($options.rowData(row, index2), column),
43946
- source: column.source,
43947
- "source-data-code": column.sourceDataCode,
43948
- "source-display-code": column.sourceDisplayCode,
43949
- param: _ctx.getParam($options.rowData(row, index2), column, $props.parentData),
43950
- controlWidth: column.controlWidth == null ? null : column.controlWidth - 8,
43951
- onOnChange: (selected) => $options.onSelectDataChange($options.rowData(row, index2), column, selected)
43952
- }, null, 8, ["model-value", "onUpdate:modelValue", "readonly", "source", "source-data-code", "source-display-code", "param", "controlWidth", "onOnChange"])) : column.controlType === "MultiDialogSelect" ? (openBlock(), createBlock(_component_dialog_select, {
43953
- key: 10,
43954
- "model-value": _ctx.parseData($options.rowData(row, index2), column.code),
43955
- size: "small",
43956
- "onUpdate:modelValue": ($event) => _ctx.setData($options.rowData(row, index2), column.code, $event),
43957
44323
  multi: true,
43958
44324
  readonly: $options.isReadonly($options.rowData(row, index2), column),
43959
44325
  source: column.source,
@@ -44017,7 +44383,7 @@ function _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) {
44017
44383
  [vShow, $options.parseDataWithOther($options.rowData(row, index2), column) == "__Other"]
44018
44384
  ])
44019
44385
  ])) : column.controlType === "Date" || column.controlType === "DateTime" || column.controlType === "Year" || column.controlType === "Month" ? (openBlock(), createBlock(_component_DatePicker, {
44020
- key: 12,
44386
+ key: 11,
44021
44387
  size: "small",
44022
44388
  type: column.controlType.toLowerCase(),
44023
44389
  "model-value": _ctx.parseDateTimeData($options.rowData(row, index2), column.code),
@@ -44030,7 +44396,7 @@ function _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) {
44030
44396
  $options.onDataChange($options.rowData(row, index2), column);
44031
44397
  }
44032
44398
  }, null, 8, ["type", "model-value", "readonly", "placeholder", "style", "onOnChange"])) : column.controlType === "DateRange" ? (openBlock(), createBlock(_component_DatePicker, {
44033
- key: 13,
44399
+ key: 12,
44034
44400
  size: "small",
44035
44401
  type: column.controlType.toLowerCase(),
44036
44402
  "model-value": _ctx.parseDateRangeData($options.rowData(row, index2), column.code),
@@ -44041,7 +44407,7 @@ function _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) {
44041
44407
  transfer: true,
44042
44408
  onOnChange: ($event) => $options.onDataChange($options.rowData(row, index2), column)
44043
44409
  }, null, 8, ["type", "model-value", "onUpdate:modelValue", "readonly", "placeholder", "style", "onOnChange"])) : column.controlType === "Time" ? (openBlock(), createBlock(_component_TimePicker, {
44044
- key: 14,
44410
+ key: 13,
44045
44411
  size: "small",
44046
44412
  type: "time",
44047
44413
  "model-value": _ctx.parseDateTimeData($options.rowData(row, index2), column.code),
@@ -44054,19 +44420,19 @@ function _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) {
44054
44420
  $options.onDataChange($options.rowData(row, index2), column);
44055
44421
  }
44056
44422
  }, null, 8, ["model-value", "readonly", "placeholder", "style", "onOnChange"])) : column.controlType === "Check" ? (openBlock(), createBlock(_component_Checkbox, {
44057
- key: 15,
44423
+ key: 14,
44058
44424
  "model-value": !!_ctx.parseData($options.rowData(row, index2), column.code),
44059
44425
  "onUpdate:modelValue": ($event) => _ctx.setData($options.rowData(row, index2), column.code, $event),
44060
44426
  disabled: $options.isReadonly($options.rowData(row, index2), column),
44061
44427
  onOnChange: ($event) => $options.onDataChange($options.rowData(row, index2), column)
44062
44428
  }, null, 8, ["model-value", "onUpdate:modelValue", "disabled", "onOnChange"])) : column.controlType === "Switch" ? (openBlock(), createBlock(_component_Switch, {
44063
- key: 16,
44429
+ key: 15,
44064
44430
  "model-value": !!_ctx.parseData($options.rowData(row, index2), column.code),
44065
44431
  "onUpdate:modelValue": ($event) => _ctx.setData($options.rowData(row, index2), column.code, $event),
44066
44432
  disabled: $options.isReadonly($options.rowData(row, index2), column),
44067
44433
  onOnChange: ($event) => $options.onDataChange($options.rowData(row, index2), column)
44068
44434
  }, null, 8, ["model-value", "onUpdate:modelValue", "disabled", "onOnChange"])) : column.controlType === "Radio" ? (openBlock(), createBlock(_component_RadioGroup, {
44069
- key: 17,
44435
+ key: 16,
44070
44436
  "model-value": _ctx.parseData($options.rowData(row, index2), column.code),
44071
44437
  "onUpdate:modelValue": ($event) => _ctx.setData($options.rowData(row, index2), column.code, $event),
44072
44438
  onOnChange: (selected) => $options.onSelectDataChange($options.rowData(row, index2), column, selected)
@@ -44087,7 +44453,7 @@ function _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) {
44087
44453
  ]),
44088
44454
  _: 2
44089
44455
  }, 1032, ["model-value", "onUpdate:modelValue", "onOnChange"])) : column.controlType === "CheckGroup" ? (openBlock(), createBlock(_component_CheckboxGroup, {
44090
- key: 18,
44456
+ key: 17,
44091
44457
  "model-value": _ctx.parseArrayData($options.rowData(row, index2), column.code),
44092
44458
  "onUpdate:modelValue": ($event) => _ctx.setArrayData($options.rowData(row, index2), column.code, $event),
44093
44459
  onOnChange: ($event) => $options.onDataChange($options.rowData(row, index2), column)
@@ -44107,7 +44473,7 @@ function _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) {
44107
44473
  }), 128))
44108
44474
  ]),
44109
44475
  _: 2
44110
- }, 1032, ["model-value", "onUpdate:modelValue", "onOnChange"])) : column.controlType === "Attachment" ? (openBlock(), createElementBlock(Fragment, { key: 19 }, [
44476
+ }, 1032, ["model-value", "onUpdate:modelValue", "onOnChange"])) : column.controlType === "Attachment" ? (openBlock(), createElementBlock(Fragment, { key: 18 }, [
44111
44477
  createCommentVNode(' <upload-attachment :value="parseData(data, column.code)"\r\n @update:model-value="$event => setData(data, column.code, $event)"\r\n v-if="!readonly && !column.isReadonly"\r\n size="small"\r\n :maxCount="column.maxLength" /> '),
44112
44478
  !!(_ctx.parseData($options.rowData(row, index2), column.code) || "").trim() ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(JSON.parse(_ctx.parseData(row, column.code)), (attachment, attachmentIndex) => {
44113
44479
  return openBlock(), createElementBlock("a", {
@@ -44121,7 +44487,7 @@ function _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) {
44121
44487
  ], 8, _hoisted_7$3);
44122
44488
  }), 128)) : createCommentVNode("v-if", true)
44123
44489
  ], 64)) : column.controlType === "Image" ? (openBlock(), createElementBlock("div", {
44124
- key: 20,
44490
+ key: 19,
44125
44491
  class: "image-group",
44126
44492
  style: normalizeStyle$1({ "justify-content": column.align ? column.align.toLowerCase() : "center" })
44127
44493
  }, [
@@ -44137,7 +44503,7 @@ function _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) {
44137
44503
  }, null, 8, _hoisted_9$2)) : createCommentVNode("v-if", true)
44138
44504
  ]);
44139
44505
  }), 128))
44140
- ], 4)) : column.controlType === "Slider" ? (openBlock(), createElementBlock(Fragment, { key: 21 }, [
44506
+ ], 4)) : column.controlType === "Slider" ? (openBlock(), createElementBlock(Fragment, { key: 20 }, [
44141
44507
  createVNode$1(_component_Slider, {
44142
44508
  "model-value": _ctx.parseData($options.rowData(row, index2), column.code),
44143
44509
  "onUpdate:modelValue": ($event) => _ctx.setData($options.rowData(row, index2), column.code, $event),
@@ -44164,7 +44530,7 @@ function _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) {
44164
44530
  style: normalizeStyle$1({ width: column.controlWidth == null ? "100px" : column.controlWidth + "px" }),
44165
44531
  placeholder: column.description
44166
44532
  }, null, 8, ["model-value", "style", "placeholder"])) : createCommentVNode("v-if", true)
44167
- ], 64)) : column.controlType === "Placeholder" ? (openBlock(), createElementBlock(Fragment, { key: 22 }, [], 64)) : (openBlock(), createElementBlock(Fragment, { key: 23 }, [
44533
+ ], 64)) : column.controlType === "Placeholder" ? (openBlock(), createElementBlock(Fragment, { key: 21 }, [], 64)) : (openBlock(), createElementBlock(Fragment, { key: 22 }, [
44168
44534
  createTextVNode(toDisplayString$1(_ctx.$t("Front_Label_Control_Type_Not_Supported")) + " " + toDisplayString$1(column.controlType), 1)
44169
44535
  ], 64))
44170
44536
  ], 64)) : createCommentVNode("v-if", true)
@@ -51086,7 +51452,7 @@ const _sfc_main$o = {
51086
51452
  if (!(column.dataType || "").trim()) {
51087
51453
  return null;
51088
51454
  }
51089
- if (column.dataType.indexOf("Enum:") === 0) {
51455
+ if (column.dataType.startsWith("Enum:")) {
51090
51456
  return "string";
51091
51457
  }
51092
51458
  switch (column.dataType) {
@@ -51199,22 +51565,33 @@ const _sfc_main$o = {
51199
51565
  });
51200
51566
  },
51201
51567
  async fillDataSource(data2, column, param) {
51568
+ let value;
51569
+ if (column.controlType === "TreeSelect" || column.controlType === "MultiTreeSelect") {
51570
+ value = this.parseTreeData(data2, column.code);
51571
+ column.dataSource = null;
51572
+ }
51573
+ if (column.controlType === "ComboSelect" || column.controlType === "MultiComboSelect") {
51574
+ param.per = 20;
51575
+ }
51576
+ this.disableLoader();
51202
51577
  let res2;
51203
51578
  if (column.isSourceCustom) {
51204
51579
  res2 = await customModelApi.query(column.source, param);
51205
51580
  } else {
51206
51581
  res2 = await modelApi.query(column.source, param);
51207
51582
  }
51583
+ this.enableLoader();
51208
51584
  column.rawData = res2.data;
51209
51585
  if (column.controlType === "TreeSelect" || column.controlType === "MultiTreeSelect") {
51210
- let data3 = res2.data.map((item) => {
51586
+ let treeData = res2.data.map((item) => {
51211
51587
  return {
51212
51588
  id: !(column.sourceDataCode || "").trim() ? item.id : this.parseData(item, column.sourceDataCode),
51213
51589
  name: this.parseData(item, column.sourceDisplayCode),
51214
51590
  parentID: item.parentID
51215
51591
  };
51216
51592
  });
51217
- column.dataSource = this.getTreeDataSource(data3, column, null);
51593
+ column.dataSource = this.getTreeDataSource(treeData, column, null);
51594
+ this.setData(data2, column.code, value);
51218
51595
  } else {
51219
51596
  column.dataSource = res2.data.map((item) => {
51220
51597
  return {
@@ -51225,6 +51602,7 @@ const _sfc_main$o = {
51225
51602
  if (data2) {
51226
51603
  if (this.parseData(data2, column.code) == null && column.isDefaultFirst && res2.data.length > 0) {
51227
51604
  this.setData(data2, column.code, this.parseData(res2.data[0], column.sourceDataCode));
51605
+ this.$emit("on-change", column, null, column.rawData[0], null);
51228
51606
  if (column.sourceDataCode == "id" && column.code.length > 2) {
51229
51607
  let code2 = column.code.substr(0, column.code.length - 2);
51230
51608
  let model2 = column.rawData.find((item) => {
@@ -51235,7 +51613,7 @@ const _sfc_main$o = {
51235
51613
  }
51236
51614
  }
51237
51615
  }
51238
- if (column.controlType == "Select" || column.controlType == "ComboSelect" || column.controlType == "Radio") {
51616
+ if (column.controlType == "Select" || column.controlType == "Radio") {
51239
51617
  if (!column.dataSource.some((item) => {
51240
51618
  return item.id == this.parseData(data2, column.code);
51241
51619
  })) {
@@ -51266,7 +51644,7 @@ const _sfc_main$o = {
51266
51644
  return result2;
51267
51645
  },
51268
51646
  getDataSource(data2, column) {
51269
- if (!column.isStaticItem && column.dataType && column.dataType.indexOf("Enum:") === 0) {
51647
+ if (!column.isStaticItem && column.dataType && column.dataType.startsWith("Enum:")) {
51270
51648
  return this.getEnumList(column.dataType.split(":")[1]);
51271
51649
  } else {
51272
51650
  return column.dataSource == null ? [] : column.dataSource;
@@ -51296,7 +51674,7 @@ const _sfc_main$o = {
51296
51674
  });
51297
51675
  } else if (column.needRefresh && !!(column.source || "").trim() && !(column.dataType && column.dataType.startsWith("Enum:"))) {
51298
51676
  let param = this.getParam(this.data, column);
51299
- if (column.controlType === "Select" || column.controlType === "MultiSelect" || column.controlType === "TreeSelect" || column.controlType === "MultiTreeSelect" || column.controlType === "SelectWithOther" || column.controlType === "ComboSelect" || column.controlType === "Radio" || column.controlType === "CheckGroup") {
51677
+ if (column.controlType === "Select" || column.controlType === "MultiSelect" || column.controlType === "TreeSelect" || column.controlType === "MultiTreeSelect" || column.controlType === "SelectWithOther" || column.controlType === "ComboSelect" || column.controlType === "MultiComboSelect" || column.controlType === "Radio" || column.controlType === "CheckGroup") {
51300
51678
  if (param != null) {
51301
51679
  this.fillDataSource(this.data, column, param);
51302
51680
  } else {
@@ -51472,6 +51850,83 @@ const _sfc_main$o = {
51472
51850
  col.parentNode.insertBefore(line, col);
51473
51851
  }
51474
51852
  });
51853
+ },
51854
+ async loadOption(data2, column, keyword) {
51855
+ if (column.isStaticItem || column.dataType && column.dataType.startsWith("Enum:")) {
51856
+ return;
51857
+ }
51858
+ let param = this.getParam(data2, column);
51859
+ if (param != null) {
51860
+ param[column.sourceDisplayCode + "_c"] = keyword;
51861
+ this.fillDataSource(data2, column, param);
51862
+ } else {
51863
+ column.rawData = [];
51864
+ column.dataSource = [];
51865
+ this.setData(data2, column.code, null);
51866
+ column.triggers.forEach((item) => {
51867
+ item.needClear = true;
51868
+ });
51869
+ }
51870
+ },
51871
+ parseComboData(model2, column) {
51872
+ let value = this.parseData(model2, column.code);
51873
+ this.loadComboDataLabel(model2, column, value);
51874
+ return value;
51875
+ },
51876
+ parseMultiComboData(model2, column) {
51877
+ let data2 = [];
51878
+ let value = this.parseData(model2, column.code);
51879
+ if (this.isJSON(value)) {
51880
+ data2 = JSON.parse(value);
51881
+ }
51882
+ this.loadComboDataLabel(model2, column, data2);
51883
+ return data2;
51884
+ },
51885
+ async loadComboDataLabel(model2, column, data2) {
51886
+ if (column.isStaticItem || column.dataType && column.dataType.startsWith("Enum:")) {
51887
+ return;
51888
+ }
51889
+ if (this.$refs["control_" + column.code]) {
51890
+ let values = this.$refs["control_" + column.code][0].$data.values;
51891
+ let pendings = [];
51892
+ if (column.controlType == "MultiComboSelect") {
51893
+ data2.forEach((value) => {
51894
+ if (!values.some((v) => v.value == value)) {
51895
+ let newValue = { value, label: null, disabled: false };
51896
+ values.push(newValue);
51897
+ pendings.push(newValue);
51898
+ }
51899
+ });
51900
+ } else {
51901
+ if (!values.some((v) => v.value == data2)) {
51902
+ let newValue = { value: data2, label: null, disabled: false };
51903
+ values.push(newValue);
51904
+ pendings.push(newValue);
51905
+ }
51906
+ }
51907
+ if (pendings.length > 0) {
51908
+ let param = this.getParam(model2, column);
51909
+ param[column.sourceDataCode] = pendings.map((item) => item.value).join(",");
51910
+ let res2;
51911
+ if (column.isSourceCustom) {
51912
+ res2 = await customModelApi.query(column.source, param);
51913
+ } else {
51914
+ res2 = await modelApi.query(column.source, param);
51915
+ }
51916
+ res2.data.forEach((item) => {
51917
+ let v = this.parseData(item, column.sourceDataCode);
51918
+ let label = this.parseData(item, column.sourceDisplayCode);
51919
+ if (column.controlType == "ComboSelect") {
51920
+ this.$refs["control_" + column.code][0].$data.query = label;
51921
+ }
51922
+ let newValue = pendings.find((i3) => i3.value == v);
51923
+ if (newValue) {
51924
+ newValue.label = label;
51925
+ }
51926
+ });
51927
+ this.$forceUpdate();
51928
+ }
51929
+ }
51475
51930
  }
51476
51931
  }
51477
51932
  };
@@ -51791,15 +52246,18 @@ function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
51791
52246
  </AutoComplete>\r
51792
52247
  </template> `),
51793
52248
  createVNode$1(_component_Select, {
51794
- "model-value": _ctx.parseData($data.data, column.code),
52249
+ ref: "control_" + column.code,
52250
+ "model-value": $options.parseComboData($data.data, column),
51795
52251
  "onUpdate:modelValue": ($event) => _ctx.setData($data.data, column.code, $event),
51796
52252
  disabled: column.isReadonly,
51797
- clearable: "",
52253
+ clearable: true,
51798
52254
  filterable: "",
52255
+ remote: "",
52256
+ "remote-method": (search) => $options.loadOption($data.data, column, search),
51799
52257
  style: normalizeStyle$1({ width: column.controlWidth == null ? null : column.controlWidth + "px" }),
51800
52258
  placeholder: column.description,
51801
52259
  transfer: true,
51802
- onOnChange: ($event) => $options.onDataChange(column)
52260
+ onOnChange: (selected) => _ctx.onSelectDataChange(column, selected)
51803
52261
  }, {
51804
52262
  default: withCtx(() => [
51805
52263
  (openBlock(true), createElementBlock(Fragment, null, renderList($options.getDataSource($data.data, column), (item) => {
@@ -51815,9 +52273,38 @@ function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
51815
52273
  }), 128))
51816
52274
  ]),
51817
52275
  _: 2
51818
- }, 1032, ["model-value", "onUpdate:modelValue", "disabled", "style", "placeholder", "onOnChange"])
51819
- ], 64)) : column.controlType === "DialogSelect" ? (openBlock(), createBlock(_component_dialog_select, {
52276
+ }, 1032, ["model-value", "onUpdate:modelValue", "disabled", "remote-method", "style", "placeholder", "onOnChange"])
52277
+ ], 64)) : column.controlType === "MultiComboSelect" ? (openBlock(), createBlock(_component_Select, {
51820
52278
  key: 11,
52279
+ ref: "control_" + column.code,
52280
+ "model-value": $options.parseMultiComboData($data.data, column),
52281
+ "onUpdate:modelValue": ($event) => _ctx.setArrayData($data.data, column.code, $event),
52282
+ clearable: true,
52283
+ multiple: true,
52284
+ filterable: "",
52285
+ remote: "",
52286
+ "remote-method": (search) => $options.loadOption($data.data, column, search),
52287
+ style: normalizeStyle$1({ width: column.controlWidth == null ? null : column.controlWidth + "px" }),
52288
+ placeholder: column.description,
52289
+ transfer: true,
52290
+ onOnChange: (selected) => _ctx.onSelectDataChange(column, selected)
52291
+ }, {
52292
+ default: withCtx(() => [
52293
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.getDataSource($data.data, column), (item) => {
52294
+ return openBlock(), createBlock(_component_Option, {
52295
+ key: item.id,
52296
+ value: item.id
52297
+ }, {
52298
+ default: withCtx(() => [
52299
+ createTextVNode(toDisplayString$1(item.name), 1)
52300
+ ]),
52301
+ _: 2
52302
+ }, 1032, ["value"]);
52303
+ }), 128))
52304
+ ]),
52305
+ _: 2
52306
+ }, 1032, ["model-value", "onUpdate:modelValue", "remote-method", "style", "placeholder", "onOnChange"])) : column.controlType === "DialogSelect" ? (openBlock(), createBlock(_component_dialog_select, {
52307
+ key: 12,
51821
52308
  "model-value": _ctx.parseData($data.data, column.code),
51822
52309
  "onUpdate:modelValue": ($event) => _ctx.setData($data.data, column.code, $event),
51823
52310
  readonly: column.isReadonly,
@@ -51828,7 +52315,7 @@ function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
51828
52315
  controlWidth: column.controlWidth,
51829
52316
  onOnChange: (selected) => $options.onDataChange(column, selected)
51830
52317
  }, null, 8, ["model-value", "onUpdate:modelValue", "readonly", "source", "source-data-code", "source-display-code", "param", "controlWidth", "onOnChange"])) : column.controlType === "MultiDialogSelect" ? (openBlock(), createBlock(_component_dialog_select, {
51831
- key: 12,
52318
+ key: 13,
51832
52319
  "model-value": _ctx.parseData($data.data, column.code),
51833
52320
  "onUpdate:modelValue": ($event) => _ctx.setData($data.data, column.code, $event),
51834
52321
  multi: true,
@@ -51840,7 +52327,7 @@ function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
51840
52327
  controlWidth: column.controlWidth,
51841
52328
  onOnChange: (selected) => $options.onDataChange(column, selected)
51842
52329
  }, null, 8, ["model-value", "onUpdate:modelValue", "readonly", "source", "source-data-code", "source-display-code", "param", "controlWidth", "onOnChange"])) : column.controlType === "Date" || column.controlType === "DateTime" || column.controlType === "Year" || column.controlType === "Month" ? (openBlock(), createBlock(_component_DatePicker, {
51843
- key: 13,
52330
+ key: 14,
51844
52331
  type: column.controlType.toLowerCase(),
51845
52332
  "model-value": _ctx.parseData($data.data, column.code),
51846
52333
  readonly: column.isReadonly,
@@ -51852,7 +52339,7 @@ function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
51852
52339
  $options.onDataChange(column);
51853
52340
  }
51854
52341
  }, null, 8, ["type", "model-value", "readonly", "placeholder", "style", "onOnChange"])) : column.controlType === "DateRange" ? (openBlock(), createBlock(_component_DatePicker, {
51855
- key: 14,
52342
+ key: 15,
51856
52343
  type: column.controlType.toLowerCase(),
51857
52344
  "model-value": _ctx.parseDateRangeData($data.data, column.code),
51858
52345
  "onUpdate:modelValue": ($event) => _ctx.setArrayData($data.data, column.code, $event),
@@ -51862,7 +52349,7 @@ function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
51862
52349
  style: normalizeStyle$1({ width: column.controlWidth == null ? null : column.controlWidth + "px" }),
51863
52350
  onOnChange: ($event) => $options.onDataChange(column)
51864
52351
  }, null, 8, ["type", "model-value", "onUpdate:modelValue", "readonly", "placeholder", "style", "onOnChange"])) : column.controlType === "Time" ? (openBlock(), createBlock(_component_TimePicker, {
51865
- key: 15,
52352
+ key: 16,
51866
52353
  type: "time",
51867
52354
  "model-value": _ctx.parseData($data.data, column.code),
51868
52355
  "onUpdate:modelValue": ($event) => _ctx.setData($data.data, column.code, $event),
@@ -51875,20 +52362,20 @@ function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
51875
52362
  $options.onDataChange(column);
51876
52363
  }
51877
52364
  }, null, 8, ["model-value", "onUpdate:modelValue", "readonly", "placeholder", "style", "onOnChange"])) : column.controlType === "Check" ? (openBlock(), createBlock(_component_Checkbox, {
51878
- key: 16,
52365
+ key: 17,
51879
52366
  "model-value": !!_ctx.parseData($data.data, column.code),
51880
52367
  "onUpdate:modelValue": ($event) => _ctx.setData($data.data, column.code, $event),
51881
52368
  disabled: column.isReadonly,
51882
52369
  size: "large",
51883
52370
  onOnChange: ($event) => $options.onDataChange(column)
51884
52371
  }, null, 8, ["model-value", "onUpdate:modelValue", "disabled", "onOnChange"])) : column.controlType === "Switch" ? (openBlock(), createBlock(_component_Switch, {
51885
- key: 17,
52372
+ key: 18,
51886
52373
  "model-value": !!_ctx.parseData($data.data, column.code),
51887
52374
  "onUpdate:modelValue": ($event) => _ctx.setData($data.data, column.code, $event),
51888
52375
  disabled: column.isReadonly,
51889
52376
  onOnChange: ($event) => $options.onDataChange(column)
51890
52377
  }, null, 8, ["model-value", "onUpdate:modelValue", "disabled", "onOnChange"])) : column.controlType === "Radio" ? (openBlock(), createBlock(_component_RadioGroup, {
51891
- key: 18,
52378
+ key: 19,
51892
52379
  "model-value": _ctx.parseData($data.data, column.code),
51893
52380
  "onUpdate:modelValue": ($event) => _ctx.setData($data.data, column.code, $event),
51894
52381
  onOnChange: ($event) => $options.onDataChange(column)
@@ -51909,7 +52396,7 @@ function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
51909
52396
  ]),
51910
52397
  _: 2
51911
52398
  }, 1032, ["model-value", "onUpdate:modelValue", "onOnChange"])) : column.controlType === "CheckGroup" ? (openBlock(), createBlock(_component_CheckboxGroup, {
51912
- key: 19,
52399
+ key: 20,
51913
52400
  "model-value": _ctx.parseArrayData($data.data, column.code),
51914
52401
  "onUpdate:modelValue": ($event) => _ctx.setArrayData($data.data, column.code, $event),
51915
52402
  onOnChange: ($event) => $options.onDataChange(column)
@@ -51930,7 +52417,7 @@ function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
51930
52417
  ]),
51931
52418
  _: 2
51932
52419
  }, 1032, ["model-value", "onUpdate:modelValue", "onOnChange"])) : column.controlType === "TextArea" ? (openBlock(), createBlock(_component_Input, {
51933
- key: 20,
52420
+ key: 21,
51934
52421
  type: "textarea",
51935
52422
  "model-value": _ctx.parseData($data.data, column.code),
51936
52423
  "onUpdate:modelValue": ($event) => _ctx.setData($data.data, column.code, $event),
@@ -51940,14 +52427,14 @@ function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
51940
52427
  maxlength: column.maxLength,
51941
52428
  placeholder: column.description
51942
52429
  }, null, 8, ["model-value", "onUpdate:modelValue", "readonly", "style", "rows", "maxlength", "placeholder"])) : column.controlType === "RichEditor" ? (openBlock(), createBlock(_component_rich_editor, {
51943
- key: 21,
52430
+ key: 22,
51944
52431
  "model-value": _ctx.parseData($data.data, column.code),
51945
52432
  "onUpdate:modelValue": ($event) => _ctx.setData($data.data, column.code, $event),
51946
52433
  readonly: column.isReadonly,
51947
52434
  height: column.controlHeight,
51948
52435
  width: column.controlWidth
51949
52436
  }, null, 8, ["model-value", "onUpdate:modelValue", "readonly", "height", "width"])) : column.controlType === "Attachment" ? (openBlock(), createBlock(_component_upload_attachment, {
51950
- key: 22,
52437
+ key: 23,
51951
52438
  "model-value": _ctx.parseData($data.data, column.code),
51952
52439
  "onUpdate:modelValue": ($event) => _ctx.setData($data.data, column.code, $event),
51953
52440
  readonly: column.isReadonly,
@@ -51955,14 +52442,14 @@ function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
51955
52442
  accept: column.pattern,
51956
52443
  draggable: column.mergeSame
51957
52444
  }, null, 8, ["model-value", "onUpdate:modelValue", "readonly", "maxCount", "accept", "draggable"])) : column.controlType === "Image" ? (openBlock(), createBlock(_component_upload_image, {
51958
- key: 23,
52445
+ key: 24,
51959
52446
  "model-value": _ctx.parseData($data.data, column.code),
51960
52447
  "onUpdate:modelValue": ($event) => _ctx.setData($data.data, column.code, $event),
51961
52448
  readonly: column.isReadonly,
51962
52449
  maxCount: column.maxLength,
51963
52450
  height: column.controlHeight,
51964
52451
  width: column.controlWidth
51965
- }, null, 8, ["model-value", "onUpdate:modelValue", "readonly", "maxCount", "height", "width"])) : column.controlType === "Slider" ? (openBlock(), createElementBlock(Fragment, { key: 24 }, [
52452
+ }, null, 8, ["model-value", "onUpdate:modelValue", "readonly", "maxCount", "height", "width"])) : column.controlType === "Slider" ? (openBlock(), createElementBlock(Fragment, { key: 25 }, [
51966
52453
  !column.isReadonly ? (openBlock(), createBlock(_component_Slider, {
51967
52454
  key: 0,
51968
52455
  "model-value": _ctx.parseData($data.data, column.code),
@@ -52063,7 +52550,7 @@ const _sfc_main$n = {
52063
52550
  };
52064
52551
  if (item.id == "Label" || item.id == "TextInput" || item.id == "NumberInput" || item.id == "Hyperlink" || item.id == "Check" || item.id == "Switch" || item.id == "Slider" || item.id == "TextArea") {
52065
52552
  this.componentGroups.find((componentGroup) => componentGroup.key == "Normal").components.push(component);
52066
- } else if (item.id == "Select" || item.id == "SelectWithOther" || item.id == "MultiSelect" || item.id == "ComboSelect" || item.id == "DialogSelect" || item.id == "MultiDialogSelect" || item.id == "TreeSelect" || item.id == "MultiTreeSelect" || item.id == "Radio" || item.id == "CheckGroup") {
52553
+ } else if (item.id == "Select" || item.id == "SelectWithOther" || item.id == "MultiSelect" || item.id == "ComboSelect" || item.id == "MultiComboSelect" || item.id == "DialogSelect" || item.id == "MultiDialogSelect" || item.id == "TreeSelect" || item.id == "MultiTreeSelect" || item.id == "Radio" || item.id == "CheckGroup") {
52067
52554
  this.componentGroups.find((componentGroup) => componentGroup.key == "Datasource").components.push(component);
52068
52555
  } else if (item.id == "Date" || item.id == "Time" || item.id == "DateTime" || item.id == "Year" || item.id == "Month" || item.id == "DateRange") {
52069
52556
  this.componentGroups.find((componentGroup) => componentGroup.key == "DateTime").components.push(component);