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.
@@ -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",
@@ -41457,9 +41581,6 @@ const _sfc_main$r = {
41457
41581
  tableView: {
41458
41582
  type: Object
41459
41583
  },
41460
- filter: {
41461
- type: Object
41462
- },
41463
41584
  columns: {
41464
41585
  type: Array
41465
41586
  }
@@ -41473,10 +41594,6 @@ const _sfc_main$r = {
41473
41594
  methods: {
41474
41595
  init() {
41475
41596
  let data2 = this.data;
41476
- if (this.filter) {
41477
- lodash$1.exports.defaultsDeep(data2, this.filter);
41478
- lodash$1.exports.assign(this.filter, data2);
41479
- }
41480
41597
  this.columns.forEach((item) => {
41481
41598
  if (item.defaultValue) {
41482
41599
  if (item.defaultValue == "{today}") {
@@ -41579,22 +41696,33 @@ const _sfc_main$r = {
41579
41696
  });
41580
41697
  },
41581
41698
  async fillDataSource(data2, column, param) {
41699
+ let value;
41700
+ if (column.controlType === "TreeSelect" || column.controlType === "MultiTreeSelect") {
41701
+ value = this.parseTreeFilterData(data2, column);
41702
+ column.dataSource = null;
41703
+ }
41704
+ if (column.controlType === "ComboSelect" || column.controlType === "MultiComboSelect") {
41705
+ param.per = 20;
41706
+ }
41707
+ this.disableLoader();
41582
41708
  let res2;
41583
41709
  if (column.isSourceCustom) {
41584
41710
  res2 = await customModelApi.query(column.source, param);
41585
41711
  } else {
41586
41712
  res2 = await modelApi.query(column.source, param);
41587
41713
  }
41714
+ this.enableLoader();
41588
41715
  column.rawData = res2.data;
41589
41716
  if (column.controlType === "TreeSelect" || column.controlType === "MultiTreeSelect") {
41590
- let data3 = res2.data.map((item) => {
41717
+ let treeData = res2.data.map((item) => {
41591
41718
  return {
41592
41719
  id: !(column.sourceDataCode || "").trim() ? item.id : this.parseData(item, column.sourceDataCode),
41593
41720
  name: this.parseData(item, column.sourceDisplayCode),
41594
41721
  parentID: item.parentID
41595
41722
  };
41596
41723
  });
41597
- column.dataSource = this.getTreeDataSource(data3, column, null);
41724
+ column.dataSource = this.getTreeDataSource(treeData, column, null);
41725
+ this.setFilterData(data2, column, value);
41598
41726
  } else {
41599
41727
  column.dataSource = res2.data.map((item) => {
41600
41728
  return {
@@ -41605,10 +41733,27 @@ const _sfc_main$r = {
41605
41733
  if (data2) {
41606
41734
  if (this.parseFilterData(data2, column) == null && column.isDefaultFirst && res2.length > 0) {
41607
41735
  this.setData(data2, column.code, this.parseData(res2[0], column.sourceDataCode));
41736
+ this.$emit("on-change", column, null, column.rawData[0], null);
41737
+ if (column.sourceDataCode == "id" && column.code.length > 2) {
41738
+ let code2 = column.code.substr(0, column.code.length - 2);
41739
+ let model2 = column.rawData.find((item) => {
41740
+ return item.id == this.parseData(data2, column.code);
41741
+ });
41742
+ this.setData(data2, code2, model2);
41743
+ }
41608
41744
  }
41609
41745
  }
41610
41746
  }
41611
- this.onDataChange(column);
41747
+ if (column.controlType == "Select" || column.controlType == "Radio") {
41748
+ if (!column.dataSource.some((item) => {
41749
+ return item.id == this.parseData(data2, column.code);
41750
+ })) {
41751
+ this.setData(data2, column.code, null);
41752
+ column.triggers.forEach((item) => {
41753
+ item.needClear = true;
41754
+ });
41755
+ }
41756
+ }
41612
41757
  },
41613
41758
  getTreeDataSource(data2, column, parentID) {
41614
41759
  let result2 = data2.filter((item) => {
@@ -41630,7 +41775,7 @@ const _sfc_main$r = {
41630
41775
  return result2;
41631
41776
  },
41632
41777
  getDataSource(data2, column) {
41633
- if (!column.isStaticItem && column.dataType.indexOf("Enum:") === 0) {
41778
+ if (!column.isStaticItem && column.dataType.startsWith("Enum:")) {
41634
41779
  return this.getEnumList(column.dataType.split(":")[1]);
41635
41780
  } else {
41636
41781
  return column.dataSource == null ? [] : column.dataSource;
@@ -41698,7 +41843,7 @@ const _sfc_main$r = {
41698
41843
  break;
41699
41844
  }
41700
41845
  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") {
41846
+ 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
41847
  if (param != null) {
41703
41848
  this.fillDataSource(this.data, column, param);
41704
41849
  } else {
@@ -41724,15 +41869,15 @@ const _sfc_main$r = {
41724
41869
  parseArrayFilterData(model2, column) {
41725
41870
  let data2 = [];
41726
41871
  let value = this.parseFilterData(model2, column);
41727
- if (value != null && value !== "") {
41728
- data2 = value.split(",");
41872
+ if (this.isJSON(value)) {
41873
+ data2 = JSON.parse(value);
41729
41874
  }
41730
41875
  return data2;
41731
41876
  },
41732
41877
  setArrayFilterData(model2, column, value) {
41733
41878
  let data2 = "";
41734
41879
  if (value != null) {
41735
- data2 = value.join(",");
41880
+ data2 = JSON.stringify(value);
41736
41881
  }
41737
41882
  this.setFilterData(model2, column, data2);
41738
41883
  },
@@ -41821,6 +41966,83 @@ const _sfc_main$r = {
41821
41966
  } else {
41822
41967
  return column.name;
41823
41968
  }
41969
+ },
41970
+ async loadOption(data2, column, keyword) {
41971
+ if (column.isStaticItem || column.dataType && column.dataType.startsWith("Enum:")) {
41972
+ return;
41973
+ }
41974
+ let param = this.getParam(data2, column);
41975
+ if (param != null) {
41976
+ param[column.sourceDisplayCode + "_c"] = keyword;
41977
+ this.fillDataSource(data2, column, param);
41978
+ } else {
41979
+ column.rawData = [];
41980
+ column.dataSource = [];
41981
+ this.setData(data2, column.code, null);
41982
+ column.triggers.forEach((item) => {
41983
+ item.needClear = true;
41984
+ });
41985
+ }
41986
+ },
41987
+ parseComboData(model2, column) {
41988
+ let value = this.parseFilterData(model2, column);
41989
+ this.loadComboDataLabel(model2, column, value);
41990
+ return value;
41991
+ },
41992
+ parseMultiComboData(model2, column) {
41993
+ let data2 = [];
41994
+ let value = this.parseFilterData(model2, column);
41995
+ if (this.isJSON(value)) {
41996
+ data2 = JSON.parse(value);
41997
+ }
41998
+ this.loadComboDataLabel(model2, column, data2);
41999
+ return data2;
42000
+ },
42001
+ async loadComboDataLabel(model2, column, data2) {
42002
+ if (column.isStaticItem || column.dataType && column.dataType.startsWith("Enum:")) {
42003
+ return;
42004
+ }
42005
+ if (this.$refs["control_" + column.code]) {
42006
+ let values = this.$refs["control_" + column.code][0].$data.values;
42007
+ let pendings = [];
42008
+ if (column.controlType == "MultiComboSelect") {
42009
+ data2.forEach((value) => {
42010
+ if (!values.some((v) => v.value == value)) {
42011
+ let newValue = { value, label: null, disabled: false };
42012
+ values.push(newValue);
42013
+ pendings.push(newValue);
42014
+ }
42015
+ });
42016
+ } else {
42017
+ if (!values.some((v) => v.value == data2)) {
42018
+ let newValue = { value: data2, label: null, disabled: false };
42019
+ values.push(newValue);
42020
+ pendings.push(newValue);
42021
+ }
42022
+ }
42023
+ if (pendings.length > 0) {
42024
+ let param = this.getParam(model2, column);
42025
+ param[column.sourceDataCode] = pendings.map((item) => item.value).join(",");
42026
+ let res2;
42027
+ if (column.isSourceCustom) {
42028
+ res2 = await customModelApi.query(column.source, param);
42029
+ } else {
42030
+ res2 = await modelApi.query(column.source, param);
42031
+ }
42032
+ res2.data.forEach((item) => {
42033
+ let v = this.parseData(item, column.sourceDataCode);
42034
+ let label = this.parseData(item, column.sourceDisplayCode);
42035
+ if (column.controlType == "ComboSelect") {
42036
+ this.$refs["control_" + column.code][0].$data.query = label;
42037
+ }
42038
+ let newValue = pendings.find((i3) => i3.value == v);
42039
+ if (newValue) {
42040
+ newValue.label = label;
42041
+ }
42042
+ });
42043
+ this.$forceUpdate();
42044
+ }
42045
+ }
41824
42046
  }
41825
42047
  }
41826
42048
  };
@@ -41830,7 +42052,7 @@ const _hoisted_2$f = {
41830
42052
  class: "label"
41831
42053
  };
41832
42054
  const _hoisted_3$d = {
41833
- key: 14,
42055
+ key: 15,
41834
42056
  style: { "line-height": "24px" }
41835
42057
  };
41836
42058
  function _sfc_render$r(_ctx, _cache, $props, $setup, $data, $options) {
@@ -42005,19 +42227,22 @@ function _sfc_render$r(_ctx, _cache, $props, $setup, $data, $options) {
42005
42227
  "model-value": $options.parseFilterData($data.data, column),
42006
42228
  "onUpdate:modelValue": ($event) => $options.setFilterData($data.data, column, $event),
42007
42229
  style: normalizeStyle$1([{ width: column.controlWidth == null ? "40%" : column.controlWidth + "px" }, { "margin-left": "4px" }]),
42008
- maxlength: column.maxLength,
42009
42230
  placeholder: column.description,
42010
42231
  onOnChange: ($event) => $options.onDataChange(column)
42011
- }, null, 8, ["model-value", "onUpdate:modelValue", "style", "maxlength", "placeholder", "onOnChange"]), [
42232
+ }, null, 8, ["model-value", "onUpdate:modelValue", "style", "placeholder", "onOnChange"]), [
42012
42233
  [vShow, $options.parseFilterDataWithOther($data.data, column) == "__Other"]
42013
42234
  ])
42014
42235
  ], 64)) : column.controlType === "ComboSelect" ? (openBlock(), createBlock(_component_Select, {
42015
42236
  key: 9,
42237
+ ref_for: true,
42238
+ ref: "control_" + column.code,
42016
42239
  size: "small",
42017
- "model-value": $options.parseFilterData($data.data, column),
42240
+ "model-value": $options.parseComboData($data.data, column),
42018
42241
  "onUpdate:modelValue": ($event) => $options.setFilterData($data.data, column, $event),
42019
- clearable: "",
42242
+ clearable: true,
42020
42243
  filterable: "",
42244
+ remote: "",
42245
+ "remote-method": (search) => $options.loadOption($data.data, column, search),
42021
42246
  style: normalizeStyle$1({ width: column.controlWidth == null ? null : column.controlWidth + "px" }),
42022
42247
  placeholder: column.description,
42023
42248
  transfer: true,
@@ -42037,8 +42262,39 @@ function _sfc_render$r(_ctx, _cache, $props, $setup, $data, $options) {
42037
42262
  }), 128))
42038
42263
  ]),
42039
42264
  _: 2
42040
- }, 1032, ["model-value", "onUpdate:modelValue", "style", "placeholder", "onOnChange"])) : column.controlType === "DialogSelect" ? (openBlock(), createBlock(_component_dialog_select, {
42265
+ }, 1032, ["model-value", "onUpdate:modelValue", "remote-method", "style", "placeholder", "onOnChange"])) : column.controlType === "MultiComboSelect" ? (openBlock(), createBlock(_component_Select, {
42041
42266
  key: 10,
42267
+ ref_for: true,
42268
+ ref: "control_" + column.code,
42269
+ size: "small",
42270
+ "model-value": $options.parseMultiComboData($data.data, column),
42271
+ "onUpdate:modelValue": ($event) => $options.setArrayFilterData($data.data, column, $event),
42272
+ clearable: true,
42273
+ multiple: true,
42274
+ filterable: "",
42275
+ remote: "",
42276
+ "remote-method": (search) => $options.loadOption($data.data, column, search),
42277
+ style: normalizeStyle$1({ width: column.controlWidth == null ? null : column.controlWidth + "px" }),
42278
+ placeholder: column.description,
42279
+ transfer: true,
42280
+ onOnChange: (selected) => $options.onSelectDataChange(column, selected)
42281
+ }, {
42282
+ default: withCtx(() => [
42283
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.getDataSource($data.data, column), (item) => {
42284
+ return openBlock(), createBlock(_component_Option, {
42285
+ key: item.id,
42286
+ value: item.id
42287
+ }, {
42288
+ default: withCtx(() => [
42289
+ createTextVNode(toDisplayString$1(item.name), 1)
42290
+ ]),
42291
+ _: 2
42292
+ }, 1032, ["value"]);
42293
+ }), 128))
42294
+ ]),
42295
+ _: 2
42296
+ }, 1032, ["model-value", "onUpdate:modelValue", "remote-method", "style", "placeholder", "onOnChange"])) : column.controlType === "DialogSelect" ? (openBlock(), createBlock(_component_dialog_select, {
42297
+ key: 11,
42042
42298
  size: "small",
42043
42299
  "model-value": $options.parseFilterData($data.data, column),
42044
42300
  "onUpdate:modelValue": ($event) => $options.setFilterData($data.data, column, $event),
@@ -42049,7 +42305,7 @@ function _sfc_render$r(_ctx, _cache, $props, $setup, $data, $options) {
42049
42305
  controlWidth: column.controlWidth,
42050
42306
  onOnChange: (selected) => $options.onSelectDataChange(column, selected)
42051
42307
  }, 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,
42308
+ key: 12,
42053
42309
  size: "small",
42054
42310
  type: column.controlType.toLowerCase(),
42055
42311
  "model-value": $options.parseFilterData($data.data, column),
@@ -42061,7 +42317,7 @@ function _sfc_render$r(_ctx, _cache, $props, $setup, $data, $options) {
42061
42317
  $options.onDataChange(column);
42062
42318
  }
42063
42319
  }, null, 8, ["type", "model-value", "placeholder", "style", "onOnChange"])) : column.controlType === "Time" ? (openBlock(), createBlock(_component_TimePicker, {
42064
- key: 12,
42320
+ key: 13,
42065
42321
  size: "small",
42066
42322
  type: "time",
42067
42323
  "model-value": $options.parseFilterData($data.data, column),
@@ -42071,7 +42327,7 @@ function _sfc_render$r(_ctx, _cache, $props, $setup, $data, $options) {
42071
42327
  style: normalizeStyle$1({ width: column.controlWidth == null ? null : column.controlWidth + "px" }),
42072
42328
  onOnChange: ($event) => $options.onDataChange(column)
42073
42329
  }, null, 8, ["model-value", "onUpdate:modelValue", "placeholder", "style", "onOnChange"])) : column.controlType === "Check" ? (openBlock(), createBlock(_component_Checkbox, {
42074
- key: 13,
42330
+ key: 14,
42075
42331
  size: "small",
42076
42332
  style: { "line-height": "26px" },
42077
42333
  "model-value": !!$options.parseFilterData($data.data, column),
@@ -42085,7 +42341,7 @@ function _sfc_render$r(_ctx, _cache, $props, $setup, $data, $options) {
42085
42341
  onOnChange: ($event) => $options.onDataChange(column)
42086
42342
  }, null, 8, ["model-value", "onUpdate:modelValue", "onOnChange"])
42087
42343
  ])) : column.controlType === "Radio" ? (openBlock(), createBlock(_component_RadioGroup, {
42088
- key: 15,
42344
+ key: 16,
42089
42345
  size: "small",
42090
42346
  style: { "line-height": "22px" },
42091
42347
  "model-value": $options.parseFilterData($data.data, column),
@@ -42106,7 +42362,15 @@ function _sfc_render$r(_ctx, _cache, $props, $setup, $data, $options) {
42106
42362
  }), 128))
42107
42363
  ]),
42108
42364
  _: 2
42109
- }, 1032, ["model-value", "onUpdate:modelValue", "onOnChange"])) : (openBlock(), createElementBlock(Fragment, { key: 16 }, [
42365
+ }, 1032, ["model-value", "onUpdate:modelValue", "onOnChange"])) : column.controlType === "TextArea" ? (openBlock(), createBlock(_component_Input, {
42366
+ key: 17,
42367
+ type: "textarea",
42368
+ "model-value": $options.parseFilterData($data.data, column.code),
42369
+ "onUpdate:modelValue": ($event) => $options.setFilterData($data.data, column.code, $event),
42370
+ style: normalizeStyle$1({ width: column.controlWidth == null ? null : column.controlWidth + "px" }),
42371
+ rows: column.controlHeight / 20,
42372
+ placeholder: column.description
42373
+ }, null, 8, ["model-value", "onUpdate:modelValue", "style", "rows", "placeholder"])) : (openBlock(), createElementBlock(Fragment, { key: 18 }, [
42110
42374
  createTextVNode(toDisplayString$1(_ctx.$t("Front_Label_Control_Type_Not_Supported")) + " " + toDisplayString$1(column.controlType), 1)
42111
42375
  ], 64))
42112
42376
  ]),
@@ -42861,7 +43125,7 @@ const _sfc_main$q = {
42861
43125
  },
42862
43126
  initDataSource() {
42863
43127
  this.columns.forEach((column) => {
42864
- if (column.controlType == "Select" || column.controlType == "SelectWithOther" || column.controlType == "ComboSelect" || column.controlType == "MultiSelect" || column.controlType == "Radio" || column.controlType == "CheckGroup") {
43128
+ if (column.controlType == "Select" || column.controlType == "MultiSelect" || column.controlType == "SelectWithOther" || column.controlType == "ComboSelect" || column.controlType == "MultiComboSelect" || column.controlType == "Radio" || column.controlType == "CheckGroup") {
42865
43129
  if (column.isStaticItem) {
42866
43130
  this.data.forEach((row) => {
42867
43131
  if (!row._dataSource) {
@@ -42934,12 +43198,17 @@ const _sfc_main$q = {
42934
43198
  data2._needRefresh = {};
42935
43199
  data2._needClear = {};
42936
43200
  }
43201
+ if (column.controlType === "ComboSelect" || column.controlType === "MultiComboSelect") {
43202
+ param.per = 20;
43203
+ }
43204
+ this.disableLoader();
42937
43205
  let res2;
42938
43206
  if (column.isSourceCustom) {
42939
43207
  res2 = await customModelApi.query(column.source, param);
42940
43208
  } else {
42941
43209
  res2 = await modelApi.query(column.source, param);
42942
43210
  }
43211
+ this.enableLoader();
42943
43212
  data2._rawData[column.code] = res2.data;
42944
43213
  data2._dataSource[column.code] = res2.data.map((item) => {
42945
43214
  return {
@@ -42967,7 +43236,7 @@ const _sfc_main$q = {
42967
43236
  this.onDataChange(data2, column);
42968
43237
  },
42969
43238
  getDataSource(data2, column) {
42970
- if (!column.isStaticItem && column.dataType.indexOf("Enum:") === 0) {
43239
+ if (!column.isStaticItem && column.dataType.startsWith("Enum:")) {
42971
43240
  return this.getEnumList(column.dataType.split(":")[1]);
42972
43241
  } else if (data2._dataSource != null && data2._dataSource[column.code] != null) {
42973
43242
  return data2._dataSource[column.code];
@@ -42993,7 +43262,7 @@ const _sfc_main$q = {
42993
43262
  this.orderBy = orderColumns.join(",");
42994
43263
  this.loadData();
42995
43264
  },
42996
- columnWidthResize(newWidth, oldWidth, column, event) {
43265
+ columnWidthResize(newWidth, oldWidth, column) {
42997
43266
  let widthSetting = {};
42998
43267
  let widthSettingStr = localStorage.getItem("columnWidth_" + this.tableView.code);
42999
43268
  if (widthSettingStr) {
@@ -43156,22 +43425,30 @@ const _sfc_main$q = {
43156
43425
  this.search();
43157
43426
  },
43158
43427
  getAllFilter() {
43159
- var _a2;
43428
+ var _a2, _b2;
43160
43429
  let filter2 = {
43161
43430
  ...this.viewFilter,
43162
- ...(_a2 = this.filterData) != null ? _a2 : {}
43431
+ ...(_a2 = this.filter) != null ? _a2 : {},
43432
+ ...(_b2 = this.filterData) != null ? _b2 : {}
43163
43433
  };
43164
43434
  for (let key in filter2) {
43165
- if (typeof filter2[key] == "object" && !(filter2[key] instanceof Date)) {
43435
+ if (this.isJSON(filter2[key])) {
43436
+ filter2[key] = JSON.parse(filter2[key]).join(",");
43437
+ } else if (typeof filter2[key] == "object" && !(filter2[key] instanceof Date)) {
43166
43438
  delete filter2[key];
43167
43439
  }
43168
43440
  }
43169
43441
  return filter2;
43170
43442
  },
43171
43443
  getFilterResult() {
43444
+ var _a2, _b2;
43172
43445
  let data2 = this.staticData;
43173
43446
  if (!this.filterDisable) {
43174
- let filter2 = this.filterData;
43447
+ let filter2 = {
43448
+ ...this.viewFilter,
43449
+ ...(_a2 = this.filter) != null ? _a2 : {},
43450
+ ...(_b2 = this.filterData) != null ? _b2 : {}
43451
+ };
43175
43452
  for (let key in filter2) {
43176
43453
  let column = key;
43177
43454
  let value = filter2[key];
@@ -43254,12 +43531,11 @@ const _sfc_main$q = {
43254
43531
  } else {
43255
43532
  let c2 = column;
43256
43533
  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
- }
43534
+ if (this.isJSON(value)) {
43535
+ return JSON.parse(value).some((i3) => i3 == this.parseData(item, c2));
43536
+ } else {
43537
+ return value.split(",").some((i3) => i3 == this.parseData(item, c2));
43261
43538
  }
43262
- return false;
43263
43539
  } else if (value instanceof Date) {
43264
43540
  return new Date(this.parseData(item, c2)) == value;
43265
43541
  } else {
@@ -43538,6 +43814,83 @@ const _sfc_main$q = {
43538
43814
  } else {
43539
43815
  return "end";
43540
43816
  }
43817
+ },
43818
+ async loadOption(data2, column, keyword) {
43819
+ if (column.isStaticItem || column.dataType && column.dataType.startsWith("Enum:")) {
43820
+ return;
43821
+ }
43822
+ let param = this.getParam(data2, column);
43823
+ if (param != null) {
43824
+ param[column.sourceDisplayCode + "_c"] = keyword;
43825
+ this.fillDataSource(data2, column, param);
43826
+ } else {
43827
+ data2._rawData[column.code] = [];
43828
+ data2._dataSource[column.code] = [];
43829
+ this.setData(data2, column.code, null);
43830
+ column.triggers.forEach((item) => {
43831
+ item.needClear = true;
43832
+ });
43833
+ }
43834
+ },
43835
+ parseComboData(model2, column, index2) {
43836
+ let value = this.parseData(model2, column.code);
43837
+ this.loadComboDataLabel(model2, column, value, index2);
43838
+ return value;
43839
+ },
43840
+ parseMultiComboData(model2, column, index2) {
43841
+ let data2 = [];
43842
+ let value = this.parseData(model2, column.code);
43843
+ if (this.isJSON(value)) {
43844
+ data2 = JSON.parse(value);
43845
+ }
43846
+ this.loadComboDataLabel(model2, column, data2, index2);
43847
+ return data2;
43848
+ },
43849
+ async loadComboDataLabel(model2, column, data2, index2) {
43850
+ if (column.isStaticItem || column.dataType && column.dataType.startsWith("Enum:")) {
43851
+ return;
43852
+ }
43853
+ if (this.$refs["control_" + column.code + "_" + index2]) {
43854
+ let values = this.$refs["control_" + column.code + "_" + index2].$data.values;
43855
+ let pendings = [];
43856
+ if (column.controlType == "MultiComboSelect") {
43857
+ data2.forEach((value) => {
43858
+ if (!values.some((v) => v.value == value)) {
43859
+ let newValue = { value, label: null, disabled: false };
43860
+ values.push(newValue);
43861
+ pendings.push(newValue);
43862
+ }
43863
+ });
43864
+ } else {
43865
+ if (!values.some((v) => v.value == data2)) {
43866
+ let newValue = { value: data2, label: null, disabled: false };
43867
+ values.push(newValue);
43868
+ pendings.push(newValue);
43869
+ }
43870
+ }
43871
+ if (pendings.length > 0) {
43872
+ let param = this.getParam(model2, column);
43873
+ param[column.sourceDataCode] = pendings.map((item) => item.value).join(",");
43874
+ let res2;
43875
+ if (column.isSourceCustom) {
43876
+ res2 = await customModelApi.query(column.source, param);
43877
+ } else {
43878
+ res2 = await modelApi.query(column.source, param);
43879
+ }
43880
+ res2.data.forEach((item) => {
43881
+ let v = this.parseData(item, column.sourceDataCode);
43882
+ let label = this.parseData(item, column.sourceDisplayCode);
43883
+ if (column.controlType == "ComboSelect") {
43884
+ this.$refs["control_" + column.code + "_" + index2].$data.query = label;
43885
+ }
43886
+ let newValue = pendings.find((i3) => i3.value == v);
43887
+ if (newValue) {
43888
+ newValue.label = label;
43889
+ }
43890
+ this.$forceUpdate();
43891
+ });
43892
+ }
43893
+ }
43541
43894
  }
43542
43895
  }
43543
43896
  };
@@ -43547,7 +43900,7 @@ const _hoisted_3$c = ["title", "innerHTML"];
43547
43900
  const _hoisted_4$6 = ["href", "target"];
43548
43901
  const _hoisted_5$4 = ["innerHTML"];
43549
43902
  const _hoisted_6$3 = {
43550
- key: 11,
43903
+ key: 10,
43551
43904
  style: { "display": "flex" }
43552
43905
  };
43553
43906
  const _hoisted_7$3 = ["href"];
@@ -43629,7 +43982,6 @@ function _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) {
43629
43982
  renderSlot(_ctx.$slots, "customFilter", {}, void 0, true),
43630
43983
  createVNode$1(_component_table_filter, {
43631
43984
  ref: "tableFilter",
43632
- filter: $props.filter,
43633
43985
  columns: $data.filterColumns,
43634
43986
  "table-view": $data.tableView,
43635
43987
  onOnKeyup: $options.onKeyup
@@ -43642,7 +43994,7 @@ function _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) {
43642
43994
  }, void 0, true)
43643
43995
  ]),
43644
43996
  _: 3
43645
- }, 8, ["filter", "columns", "table-view", "onOnKeyup"]),
43997
+ }, 8, ["columns", "table-view", "onOnKeyup"]),
43646
43998
  createVNode$1(_component_Col, mergeProps(_ctx.getGrid($data.tableView.filterWidth), {
43647
43999
  style: { "text-align": $data.tableView.filterAlign == null ? "left" : $data.tableView.filterAlign.toLowerCase() }
43648
44000
  }), {
@@ -43910,50 +44262,62 @@ function _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) {
43910
44262
  }), 128))
43911
44263
  ]),
43912
44264
  _: 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, {
44265
+ }, 1032, ["model-value", "onUpdate:modelValue", "disabled", "style", "placeholder", "onOnChange"])) : column.controlType === "DialogSelect" ? (openBlock(), createElementBlock(Fragment, { key: 8 }, [
44266
+ createCommentVNode(` <template v-else-if="column.controlType === 'ComboSelect'">\r
44267
+ <Select\r
44268
+ :ref="'control_' + column.code + '_' + index"\r
44269
+ size="small"\r
44270
+ :model-value="parseComboData(rowData(row, index), column, index)"\r
44271
+ @update:model-value="$event => setData(rowData(row, index), column.code, $event)"\r
44272
+ :disabled="isReadonly(rowData(row, index), column)"\r
44273
+ :clearable="true"\r
44274
+ filterable\r
44275
+ remote\r
44276
+ :remote-method="search => loadOption(rowData(row, index), column, search)"\r
44277
+ :style="{ width: column.controlWidth == null ? null : column.controlWidth - 8 + 'px' }"\r
44278
+ :placeholder="column.description"\r
44279
+ :transfer="true"\r
44280
+ @on-change="selected => onSelectDataChange(rowData(row, index), column, selected)"\r
44281
+ >\r
44282
+ <Option v-for="item in getDataSource(rowData(row, index), column)" :key="item.id" :value="item.id">{{ item.name }}</Option>\r
44283
+ </Select>\r
44284
+ </template>\r
44285
+ <template v-else-if="column.controlType === 'MultiComboSelect'">\r
44286
+ <Select\r
44287
+ :ref="'control_' + column.code + '_' + index"\r
44288
+ :model-value="parseMultiComboData(rowData(row, index), column, index)"\r
44289
+ @update:model-value="$event => setArrayData(rowData(row, index), column.code, $event)"\r
44290
+ :disabled="isReadonly(rowData(row, index), column)"\r
44291
+ :clearable="true"\r
44292
+ :multiple="true"\r
44293
+ filterable\r
44294
+ remote\r
44295
+ :remote-method="search => loadOption(rowData(row, index), column, search)"\r
44296
+ :style="{ width: column.controlWidth == null ? null : column.controlWidth - 8 + 'px' }"\r
44297
+ :placeholder="column.description"\r
44298
+ :transfer="true"\r
44299
+ @on-change="selected => onSelectDataChange(rowData(row, index), column, selected)"\r
44300
+ >\r
44301
+ <Option v-for="item in getDataSource(rowData(row, index), column)" :key="item.id" :value="item.id">{{ item.name }}</Option>\r
44302
+ </Select>\r
44303
+ </template> `),
44304
+ createVNode$1(_component_dialog_select, {
44305
+ "model-value": _ctx.parseData($options.rowData(row, index2), column.code),
44306
+ size: "small",
44307
+ "onUpdate:modelValue": ($event) => _ctx.setData($options.rowData(row, index2), column.code, $event),
44308
+ readonly: $options.isReadonly($options.rowData(row, index2), column),
44309
+ source: column.source,
44310
+ "source-data-code": column.sourceDataCode,
44311
+ "source-display-code": column.sourceDisplayCode,
44312
+ param: _ctx.getParam($options.rowData(row, index2), column, $props.parentData),
44313
+ controlWidth: column.controlWidth == null ? null : column.controlWidth - 8,
44314
+ onOnChange: (selected) => $options.onSelectDataChange($options.rowData(row, index2), column, selected)
44315
+ }, null, 8, ["model-value", "onUpdate:modelValue", "readonly", "source", "source-data-code", "source-display-code", "param", "controlWidth", "onOnChange"])
44316
+ ], 64)) : column.controlType === "MultiDialogSelect" ? (openBlock(), createBlock(_component_dialog_select, {
43941
44317
  key: 9,
43942
44318
  "model-value": _ctx.parseData($options.rowData(row, index2), column.code),
43943
44319
  size: "small",
43944
44320
  "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
44321
  multi: true,
43958
44322
  readonly: $options.isReadonly($options.rowData(row, index2), column),
43959
44323
  source: column.source,
@@ -44017,7 +44381,7 @@ function _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) {
44017
44381
  [vShow, $options.parseDataWithOther($options.rowData(row, index2), column) == "__Other"]
44018
44382
  ])
44019
44383
  ])) : column.controlType === "Date" || column.controlType === "DateTime" || column.controlType === "Year" || column.controlType === "Month" ? (openBlock(), createBlock(_component_DatePicker, {
44020
- key: 12,
44384
+ key: 11,
44021
44385
  size: "small",
44022
44386
  type: column.controlType.toLowerCase(),
44023
44387
  "model-value": _ctx.parseDateTimeData($options.rowData(row, index2), column.code),
@@ -44030,7 +44394,7 @@ function _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) {
44030
44394
  $options.onDataChange($options.rowData(row, index2), column);
44031
44395
  }
44032
44396
  }, null, 8, ["type", "model-value", "readonly", "placeholder", "style", "onOnChange"])) : column.controlType === "DateRange" ? (openBlock(), createBlock(_component_DatePicker, {
44033
- key: 13,
44397
+ key: 12,
44034
44398
  size: "small",
44035
44399
  type: column.controlType.toLowerCase(),
44036
44400
  "model-value": _ctx.parseDateRangeData($options.rowData(row, index2), column.code),
@@ -44041,7 +44405,7 @@ function _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) {
44041
44405
  transfer: true,
44042
44406
  onOnChange: ($event) => $options.onDataChange($options.rowData(row, index2), column)
44043
44407
  }, null, 8, ["type", "model-value", "onUpdate:modelValue", "readonly", "placeholder", "style", "onOnChange"])) : column.controlType === "Time" ? (openBlock(), createBlock(_component_TimePicker, {
44044
- key: 14,
44408
+ key: 13,
44045
44409
  size: "small",
44046
44410
  type: "time",
44047
44411
  "model-value": _ctx.parseDateTimeData($options.rowData(row, index2), column.code),
@@ -44054,19 +44418,19 @@ function _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) {
44054
44418
  $options.onDataChange($options.rowData(row, index2), column);
44055
44419
  }
44056
44420
  }, null, 8, ["model-value", "readonly", "placeholder", "style", "onOnChange"])) : column.controlType === "Check" ? (openBlock(), createBlock(_component_Checkbox, {
44057
- key: 15,
44421
+ key: 14,
44058
44422
  "model-value": !!_ctx.parseData($options.rowData(row, index2), column.code),
44059
44423
  "onUpdate:modelValue": ($event) => _ctx.setData($options.rowData(row, index2), column.code, $event),
44060
44424
  disabled: $options.isReadonly($options.rowData(row, index2), column),
44061
44425
  onOnChange: ($event) => $options.onDataChange($options.rowData(row, index2), column)
44062
44426
  }, null, 8, ["model-value", "onUpdate:modelValue", "disabled", "onOnChange"])) : column.controlType === "Switch" ? (openBlock(), createBlock(_component_Switch, {
44063
- key: 16,
44427
+ key: 15,
44064
44428
  "model-value": !!_ctx.parseData($options.rowData(row, index2), column.code),
44065
44429
  "onUpdate:modelValue": ($event) => _ctx.setData($options.rowData(row, index2), column.code, $event),
44066
44430
  disabled: $options.isReadonly($options.rowData(row, index2), column),
44067
44431
  onOnChange: ($event) => $options.onDataChange($options.rowData(row, index2), column)
44068
44432
  }, null, 8, ["model-value", "onUpdate:modelValue", "disabled", "onOnChange"])) : column.controlType === "Radio" ? (openBlock(), createBlock(_component_RadioGroup, {
44069
- key: 17,
44433
+ key: 16,
44070
44434
  "model-value": _ctx.parseData($options.rowData(row, index2), column.code),
44071
44435
  "onUpdate:modelValue": ($event) => _ctx.setData($options.rowData(row, index2), column.code, $event),
44072
44436
  onOnChange: (selected) => $options.onSelectDataChange($options.rowData(row, index2), column, selected)
@@ -44087,7 +44451,7 @@ function _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) {
44087
44451
  ]),
44088
44452
  _: 2
44089
44453
  }, 1032, ["model-value", "onUpdate:modelValue", "onOnChange"])) : column.controlType === "CheckGroup" ? (openBlock(), createBlock(_component_CheckboxGroup, {
44090
- key: 18,
44454
+ key: 17,
44091
44455
  "model-value": _ctx.parseArrayData($options.rowData(row, index2), column.code),
44092
44456
  "onUpdate:modelValue": ($event) => _ctx.setArrayData($options.rowData(row, index2), column.code, $event),
44093
44457
  onOnChange: ($event) => $options.onDataChange($options.rowData(row, index2), column)
@@ -44107,7 +44471,7 @@ function _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) {
44107
44471
  }), 128))
44108
44472
  ]),
44109
44473
  _: 2
44110
- }, 1032, ["model-value", "onUpdate:modelValue", "onOnChange"])) : column.controlType === "Attachment" ? (openBlock(), createElementBlock(Fragment, { key: 19 }, [
44474
+ }, 1032, ["model-value", "onUpdate:modelValue", "onOnChange"])) : column.controlType === "Attachment" ? (openBlock(), createElementBlock(Fragment, { key: 18 }, [
44111
44475
  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
44476
  !!(_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
44477
  return openBlock(), createElementBlock("a", {
@@ -44121,7 +44485,7 @@ function _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) {
44121
44485
  ], 8, _hoisted_7$3);
44122
44486
  }), 128)) : createCommentVNode("v-if", true)
44123
44487
  ], 64)) : column.controlType === "Image" ? (openBlock(), createElementBlock("div", {
44124
- key: 20,
44488
+ key: 19,
44125
44489
  class: "image-group",
44126
44490
  style: normalizeStyle$1({ "justify-content": column.align ? column.align.toLowerCase() : "center" })
44127
44491
  }, [
@@ -44137,7 +44501,7 @@ function _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) {
44137
44501
  }, null, 8, _hoisted_9$2)) : createCommentVNode("v-if", true)
44138
44502
  ]);
44139
44503
  }), 128))
44140
- ], 4)) : column.controlType === "Slider" ? (openBlock(), createElementBlock(Fragment, { key: 21 }, [
44504
+ ], 4)) : column.controlType === "Slider" ? (openBlock(), createElementBlock(Fragment, { key: 20 }, [
44141
44505
  createVNode$1(_component_Slider, {
44142
44506
  "model-value": _ctx.parseData($options.rowData(row, index2), column.code),
44143
44507
  "onUpdate:modelValue": ($event) => _ctx.setData($options.rowData(row, index2), column.code, $event),
@@ -44164,7 +44528,7 @@ function _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) {
44164
44528
  style: normalizeStyle$1({ width: column.controlWidth == null ? "100px" : column.controlWidth + "px" }),
44165
44529
  placeholder: column.description
44166
44530
  }, 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 }, [
44531
+ ], 64)) : column.controlType === "Placeholder" ? (openBlock(), createElementBlock(Fragment, { key: 21 }, [], 64)) : (openBlock(), createElementBlock(Fragment, { key: 22 }, [
44168
44532
  createTextVNode(toDisplayString$1(_ctx.$t("Front_Label_Control_Type_Not_Supported")) + " " + toDisplayString$1(column.controlType), 1)
44169
44533
  ], 64))
44170
44534
  ], 64)) : createCommentVNode("v-if", true)
@@ -51086,7 +51450,7 @@ const _sfc_main$o = {
51086
51450
  if (!(column.dataType || "").trim()) {
51087
51451
  return null;
51088
51452
  }
51089
- if (column.dataType.indexOf("Enum:") === 0) {
51453
+ if (column.dataType.startsWith("Enum:")) {
51090
51454
  return "string";
51091
51455
  }
51092
51456
  switch (column.dataType) {
@@ -51199,22 +51563,33 @@ const _sfc_main$o = {
51199
51563
  });
51200
51564
  },
51201
51565
  async fillDataSource(data2, column, param) {
51566
+ let value;
51567
+ if (column.controlType === "TreeSelect" || column.controlType === "MultiTreeSelect") {
51568
+ value = this.parseTreeData(data2, column.code);
51569
+ column.dataSource = null;
51570
+ }
51571
+ if (column.controlType === "ComboSelect" || column.controlType === "MultiComboSelect") {
51572
+ param.per = 20;
51573
+ }
51574
+ this.disableLoader();
51202
51575
  let res2;
51203
51576
  if (column.isSourceCustom) {
51204
51577
  res2 = await customModelApi.query(column.source, param);
51205
51578
  } else {
51206
51579
  res2 = await modelApi.query(column.source, param);
51207
51580
  }
51581
+ this.enableLoader();
51208
51582
  column.rawData = res2.data;
51209
51583
  if (column.controlType === "TreeSelect" || column.controlType === "MultiTreeSelect") {
51210
- let data3 = res2.data.map((item) => {
51584
+ let treeData = res2.data.map((item) => {
51211
51585
  return {
51212
51586
  id: !(column.sourceDataCode || "").trim() ? item.id : this.parseData(item, column.sourceDataCode),
51213
51587
  name: this.parseData(item, column.sourceDisplayCode),
51214
51588
  parentID: item.parentID
51215
51589
  };
51216
51590
  });
51217
- column.dataSource = this.getTreeDataSource(data3, column, null);
51591
+ column.dataSource = this.getTreeDataSource(treeData, column, null);
51592
+ this.setData(data2, column.code, value);
51218
51593
  } else {
51219
51594
  column.dataSource = res2.data.map((item) => {
51220
51595
  return {
@@ -51225,6 +51600,7 @@ const _sfc_main$o = {
51225
51600
  if (data2) {
51226
51601
  if (this.parseData(data2, column.code) == null && column.isDefaultFirst && res2.data.length > 0) {
51227
51602
  this.setData(data2, column.code, this.parseData(res2.data[0], column.sourceDataCode));
51603
+ this.$emit("on-change", column, null, column.rawData[0], null);
51228
51604
  if (column.sourceDataCode == "id" && column.code.length > 2) {
51229
51605
  let code2 = column.code.substr(0, column.code.length - 2);
51230
51606
  let model2 = column.rawData.find((item) => {
@@ -51235,7 +51611,7 @@ const _sfc_main$o = {
51235
51611
  }
51236
51612
  }
51237
51613
  }
51238
- if (column.controlType == "Select" || column.controlType == "ComboSelect" || column.controlType == "Radio") {
51614
+ if (column.controlType == "Select" || column.controlType == "Radio") {
51239
51615
  if (!column.dataSource.some((item) => {
51240
51616
  return item.id == this.parseData(data2, column.code);
51241
51617
  })) {
@@ -51266,7 +51642,7 @@ const _sfc_main$o = {
51266
51642
  return result2;
51267
51643
  },
51268
51644
  getDataSource(data2, column) {
51269
- if (!column.isStaticItem && column.dataType && column.dataType.indexOf("Enum:") === 0) {
51645
+ if (!column.isStaticItem && column.dataType && column.dataType.startsWith("Enum:")) {
51270
51646
  return this.getEnumList(column.dataType.split(":")[1]);
51271
51647
  } else {
51272
51648
  return column.dataSource == null ? [] : column.dataSource;
@@ -51296,7 +51672,7 @@ const _sfc_main$o = {
51296
51672
  });
51297
51673
  } else if (column.needRefresh && !!(column.source || "").trim() && !(column.dataType && column.dataType.startsWith("Enum:"))) {
51298
51674
  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") {
51675
+ 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
51676
  if (param != null) {
51301
51677
  this.fillDataSource(this.data, column, param);
51302
51678
  } else {
@@ -51472,6 +51848,83 @@ const _sfc_main$o = {
51472
51848
  col.parentNode.insertBefore(line, col);
51473
51849
  }
51474
51850
  });
51851
+ },
51852
+ async loadOption(data2, column, keyword) {
51853
+ if (column.isStaticItem || column.dataType && column.dataType.startsWith("Enum:")) {
51854
+ return;
51855
+ }
51856
+ let param = this.getParam(data2, column);
51857
+ if (param != null) {
51858
+ param[column.sourceDisplayCode + "_c"] = keyword;
51859
+ this.fillDataSource(data2, column, param);
51860
+ } else {
51861
+ column.rawData = [];
51862
+ column.dataSource = [];
51863
+ this.setData(data2, column.code, null);
51864
+ column.triggers.forEach((item) => {
51865
+ item.needClear = true;
51866
+ });
51867
+ }
51868
+ },
51869
+ parseComboData(model2, column) {
51870
+ let value = this.parseData(model2, column.code);
51871
+ this.loadComboDataLabel(model2, column, value);
51872
+ return value;
51873
+ },
51874
+ parseMultiComboData(model2, column) {
51875
+ let data2 = [];
51876
+ let value = this.parseData(model2, column.code);
51877
+ if (this.isJSON(value)) {
51878
+ data2 = JSON.parse(value);
51879
+ }
51880
+ this.loadComboDataLabel(model2, column, data2);
51881
+ return data2;
51882
+ },
51883
+ async loadComboDataLabel(model2, column, data2) {
51884
+ if (column.isStaticItem || column.dataType && column.dataType.startsWith("Enum:")) {
51885
+ return;
51886
+ }
51887
+ if (this.$refs["control_" + column.code]) {
51888
+ let values = this.$refs["control_" + column.code][0].$data.values;
51889
+ let pendings = [];
51890
+ if (column.controlType == "MultiComboSelect") {
51891
+ data2.forEach((value) => {
51892
+ if (!values.some((v) => v.value == value)) {
51893
+ let newValue = { value, label: null, disabled: false };
51894
+ values.push(newValue);
51895
+ pendings.push(newValue);
51896
+ }
51897
+ });
51898
+ } else {
51899
+ if (!values.some((v) => v.value == data2)) {
51900
+ let newValue = { value: data2, label: null, disabled: false };
51901
+ values.push(newValue);
51902
+ pendings.push(newValue);
51903
+ }
51904
+ }
51905
+ if (pendings.length > 0) {
51906
+ let param = this.getParam(model2, column);
51907
+ param[column.sourceDataCode] = pendings.map((item) => item.value).join(",");
51908
+ let res2;
51909
+ if (column.isSourceCustom) {
51910
+ res2 = await customModelApi.query(column.source, param);
51911
+ } else {
51912
+ res2 = await modelApi.query(column.source, param);
51913
+ }
51914
+ res2.data.forEach((item) => {
51915
+ let v = this.parseData(item, column.sourceDataCode);
51916
+ let label = this.parseData(item, column.sourceDisplayCode);
51917
+ if (column.controlType == "ComboSelect") {
51918
+ this.$refs["control_" + column.code][0].$data.query = label;
51919
+ }
51920
+ let newValue = pendings.find((i3) => i3.value == v);
51921
+ if (newValue) {
51922
+ newValue.label = label;
51923
+ }
51924
+ });
51925
+ this.$forceUpdate();
51926
+ }
51927
+ }
51475
51928
  }
51476
51929
  }
51477
51930
  };
@@ -51791,15 +52244,18 @@ function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
51791
52244
  </AutoComplete>\r
51792
52245
  </template> `),
51793
52246
  createVNode$1(_component_Select, {
51794
- "model-value": _ctx.parseData($data.data, column.code),
52247
+ ref: "control_" + column.code,
52248
+ "model-value": $options.parseComboData($data.data, column),
51795
52249
  "onUpdate:modelValue": ($event) => _ctx.setData($data.data, column.code, $event),
51796
52250
  disabled: column.isReadonly,
51797
- clearable: "",
52251
+ clearable: true,
51798
52252
  filterable: "",
52253
+ remote: "",
52254
+ "remote-method": (search) => $options.loadOption($data.data, column, search),
51799
52255
  style: normalizeStyle$1({ width: column.controlWidth == null ? null : column.controlWidth + "px" }),
51800
52256
  placeholder: column.description,
51801
52257
  transfer: true,
51802
- onOnChange: ($event) => $options.onDataChange(column)
52258
+ onOnChange: (selected) => _ctx.onSelectDataChange(column, selected)
51803
52259
  }, {
51804
52260
  default: withCtx(() => [
51805
52261
  (openBlock(true), createElementBlock(Fragment, null, renderList($options.getDataSource($data.data, column), (item) => {
@@ -51815,9 +52271,38 @@ function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
51815
52271
  }), 128))
51816
52272
  ]),
51817
52273
  _: 2
51818
- }, 1032, ["model-value", "onUpdate:modelValue", "disabled", "style", "placeholder", "onOnChange"])
51819
- ], 64)) : column.controlType === "DialogSelect" ? (openBlock(), createBlock(_component_dialog_select, {
52274
+ }, 1032, ["model-value", "onUpdate:modelValue", "disabled", "remote-method", "style", "placeholder", "onOnChange"])
52275
+ ], 64)) : column.controlType === "MultiComboSelect" ? (openBlock(), createBlock(_component_Select, {
51820
52276
  key: 11,
52277
+ ref: "control_" + column.code,
52278
+ "model-value": $options.parseMultiComboData($data.data, column),
52279
+ "onUpdate:modelValue": ($event) => _ctx.setArrayData($data.data, column.code, $event),
52280
+ clearable: true,
52281
+ multiple: true,
52282
+ filterable: "",
52283
+ remote: "",
52284
+ "remote-method": (search) => $options.loadOption($data.data, column, search),
52285
+ style: normalizeStyle$1({ width: column.controlWidth == null ? null : column.controlWidth + "px" }),
52286
+ placeholder: column.description,
52287
+ transfer: true,
52288
+ onOnChange: (selected) => _ctx.onSelectDataChange(column, selected)
52289
+ }, {
52290
+ default: withCtx(() => [
52291
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.getDataSource($data.data, column), (item) => {
52292
+ return openBlock(), createBlock(_component_Option, {
52293
+ key: item.id,
52294
+ value: item.id
52295
+ }, {
52296
+ default: withCtx(() => [
52297
+ createTextVNode(toDisplayString$1(item.name), 1)
52298
+ ]),
52299
+ _: 2
52300
+ }, 1032, ["value"]);
52301
+ }), 128))
52302
+ ]),
52303
+ _: 2
52304
+ }, 1032, ["model-value", "onUpdate:modelValue", "remote-method", "style", "placeholder", "onOnChange"])) : column.controlType === "DialogSelect" ? (openBlock(), createBlock(_component_dialog_select, {
52305
+ key: 12,
51821
52306
  "model-value": _ctx.parseData($data.data, column.code),
51822
52307
  "onUpdate:modelValue": ($event) => _ctx.setData($data.data, column.code, $event),
51823
52308
  readonly: column.isReadonly,
@@ -51828,7 +52313,7 @@ function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
51828
52313
  controlWidth: column.controlWidth,
51829
52314
  onOnChange: (selected) => $options.onDataChange(column, selected)
51830
52315
  }, 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,
52316
+ key: 13,
51832
52317
  "model-value": _ctx.parseData($data.data, column.code),
51833
52318
  "onUpdate:modelValue": ($event) => _ctx.setData($data.data, column.code, $event),
51834
52319
  multi: true,
@@ -51840,7 +52325,7 @@ function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
51840
52325
  controlWidth: column.controlWidth,
51841
52326
  onOnChange: (selected) => $options.onDataChange(column, selected)
51842
52327
  }, 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,
52328
+ key: 14,
51844
52329
  type: column.controlType.toLowerCase(),
51845
52330
  "model-value": _ctx.parseData($data.data, column.code),
51846
52331
  readonly: column.isReadonly,
@@ -51852,7 +52337,7 @@ function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
51852
52337
  $options.onDataChange(column);
51853
52338
  }
51854
52339
  }, null, 8, ["type", "model-value", "readonly", "placeholder", "style", "onOnChange"])) : column.controlType === "DateRange" ? (openBlock(), createBlock(_component_DatePicker, {
51855
- key: 14,
52340
+ key: 15,
51856
52341
  type: column.controlType.toLowerCase(),
51857
52342
  "model-value": _ctx.parseDateRangeData($data.data, column.code),
51858
52343
  "onUpdate:modelValue": ($event) => _ctx.setArrayData($data.data, column.code, $event),
@@ -51862,7 +52347,7 @@ function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
51862
52347
  style: normalizeStyle$1({ width: column.controlWidth == null ? null : column.controlWidth + "px" }),
51863
52348
  onOnChange: ($event) => $options.onDataChange(column)
51864
52349
  }, null, 8, ["type", "model-value", "onUpdate:modelValue", "readonly", "placeholder", "style", "onOnChange"])) : column.controlType === "Time" ? (openBlock(), createBlock(_component_TimePicker, {
51865
- key: 15,
52350
+ key: 16,
51866
52351
  type: "time",
51867
52352
  "model-value": _ctx.parseData($data.data, column.code),
51868
52353
  "onUpdate:modelValue": ($event) => _ctx.setData($data.data, column.code, $event),
@@ -51875,20 +52360,20 @@ function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
51875
52360
  $options.onDataChange(column);
51876
52361
  }
51877
52362
  }, null, 8, ["model-value", "onUpdate:modelValue", "readonly", "placeholder", "style", "onOnChange"])) : column.controlType === "Check" ? (openBlock(), createBlock(_component_Checkbox, {
51878
- key: 16,
52363
+ key: 17,
51879
52364
  "model-value": !!_ctx.parseData($data.data, column.code),
51880
52365
  "onUpdate:modelValue": ($event) => _ctx.setData($data.data, column.code, $event),
51881
52366
  disabled: column.isReadonly,
51882
52367
  size: "large",
51883
52368
  onOnChange: ($event) => $options.onDataChange(column)
51884
52369
  }, null, 8, ["model-value", "onUpdate:modelValue", "disabled", "onOnChange"])) : column.controlType === "Switch" ? (openBlock(), createBlock(_component_Switch, {
51885
- key: 17,
52370
+ key: 18,
51886
52371
  "model-value": !!_ctx.parseData($data.data, column.code),
51887
52372
  "onUpdate:modelValue": ($event) => _ctx.setData($data.data, column.code, $event),
51888
52373
  disabled: column.isReadonly,
51889
52374
  onOnChange: ($event) => $options.onDataChange(column)
51890
52375
  }, null, 8, ["model-value", "onUpdate:modelValue", "disabled", "onOnChange"])) : column.controlType === "Radio" ? (openBlock(), createBlock(_component_RadioGroup, {
51891
- key: 18,
52376
+ key: 19,
51892
52377
  "model-value": _ctx.parseData($data.data, column.code),
51893
52378
  "onUpdate:modelValue": ($event) => _ctx.setData($data.data, column.code, $event),
51894
52379
  onOnChange: ($event) => $options.onDataChange(column)
@@ -51909,7 +52394,7 @@ function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
51909
52394
  ]),
51910
52395
  _: 2
51911
52396
  }, 1032, ["model-value", "onUpdate:modelValue", "onOnChange"])) : column.controlType === "CheckGroup" ? (openBlock(), createBlock(_component_CheckboxGroup, {
51912
- key: 19,
52397
+ key: 20,
51913
52398
  "model-value": _ctx.parseArrayData($data.data, column.code),
51914
52399
  "onUpdate:modelValue": ($event) => _ctx.setArrayData($data.data, column.code, $event),
51915
52400
  onOnChange: ($event) => $options.onDataChange(column)
@@ -51930,7 +52415,7 @@ function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
51930
52415
  ]),
51931
52416
  _: 2
51932
52417
  }, 1032, ["model-value", "onUpdate:modelValue", "onOnChange"])) : column.controlType === "TextArea" ? (openBlock(), createBlock(_component_Input, {
51933
- key: 20,
52418
+ key: 21,
51934
52419
  type: "textarea",
51935
52420
  "model-value": _ctx.parseData($data.data, column.code),
51936
52421
  "onUpdate:modelValue": ($event) => _ctx.setData($data.data, column.code, $event),
@@ -51940,14 +52425,14 @@ function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
51940
52425
  maxlength: column.maxLength,
51941
52426
  placeholder: column.description
51942
52427
  }, null, 8, ["model-value", "onUpdate:modelValue", "readonly", "style", "rows", "maxlength", "placeholder"])) : column.controlType === "RichEditor" ? (openBlock(), createBlock(_component_rich_editor, {
51943
- key: 21,
52428
+ key: 22,
51944
52429
  "model-value": _ctx.parseData($data.data, column.code),
51945
52430
  "onUpdate:modelValue": ($event) => _ctx.setData($data.data, column.code, $event),
51946
52431
  readonly: column.isReadonly,
51947
52432
  height: column.controlHeight,
51948
52433
  width: column.controlWidth
51949
52434
  }, null, 8, ["model-value", "onUpdate:modelValue", "readonly", "height", "width"])) : column.controlType === "Attachment" ? (openBlock(), createBlock(_component_upload_attachment, {
51950
- key: 22,
52435
+ key: 23,
51951
52436
  "model-value": _ctx.parseData($data.data, column.code),
51952
52437
  "onUpdate:modelValue": ($event) => _ctx.setData($data.data, column.code, $event),
51953
52438
  readonly: column.isReadonly,
@@ -51955,14 +52440,14 @@ function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
51955
52440
  accept: column.pattern,
51956
52441
  draggable: column.mergeSame
51957
52442
  }, null, 8, ["model-value", "onUpdate:modelValue", "readonly", "maxCount", "accept", "draggable"])) : column.controlType === "Image" ? (openBlock(), createBlock(_component_upload_image, {
51958
- key: 23,
52443
+ key: 24,
51959
52444
  "model-value": _ctx.parseData($data.data, column.code),
51960
52445
  "onUpdate:modelValue": ($event) => _ctx.setData($data.data, column.code, $event),
51961
52446
  readonly: column.isReadonly,
51962
52447
  maxCount: column.maxLength,
51963
52448
  height: column.controlHeight,
51964
52449
  width: column.controlWidth
51965
- }, null, 8, ["model-value", "onUpdate:modelValue", "readonly", "maxCount", "height", "width"])) : column.controlType === "Slider" ? (openBlock(), createElementBlock(Fragment, { key: 24 }, [
52450
+ }, null, 8, ["model-value", "onUpdate:modelValue", "readonly", "maxCount", "height", "width"])) : column.controlType === "Slider" ? (openBlock(), createElementBlock(Fragment, { key: 25 }, [
51966
52451
  !column.isReadonly ? (openBlock(), createBlock(_component_Slider, {
51967
52452
  key: 0,
51968
52453
  "model-value": _ctx.parseData($data.data, column.code),
@@ -52063,7 +52548,7 @@ const _sfc_main$n = {
52063
52548
  };
52064
52549
  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
52550
  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") {
52551
+ } 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
52552
  this.componentGroups.find((componentGroup) => componentGroup.key == "Datasource").components.push(component);
52068
52553
  } else if (item.id == "Date" || item.id == "Time" || item.id == "DateTime" || item.id == "Year" || item.id == "Month" || item.id == "DateRange") {
52069
52554
  this.componentGroups.find((componentGroup) => componentGroup.key == "DateTime").components.push(component);