@fecp/designer 5.1.8 → 5.2.1

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.
Files changed (133) hide show
  1. package/es/designer.css +2177 -1400
  2. package/es/node_modules/.pnpm/@element-plus_icons-vue@2.3.2_vue@3.5.13_typescript@5.7.3_/node_modules/@element-plus/icons-vue/dist/index.mjs +16 -0
  3. package/es/packages/designer/src/api/index.mjs +16 -1
  4. package/es/packages/designer/src/components/FieldSetMapping.vue2.mjs +407 -0
  5. package/es/packages/designer/src/components/FormulaEditorInput.vue.mjs +1 -1
  6. package/es/packages/designer/src/components/JsonDataDrawer.vue.mjs +1 -2
  7. package/es/packages/designer/src/components/OnlyFLowConfigButton.vue2.mjs +118 -0
  8. package/es/packages/designer/src/components/TemplateDialog.vue.mjs +254 -0
  9. package/es/packages/designer/src/components/TemplateSelector.vue.mjs +22 -175
  10. package/es/packages/designer/src/components/TemplateSelector.vue2.mjs +1 -0
  11. package/es/packages/designer/src/layout/aside/HiddenFieldDialog.vue.mjs +9 -15
  12. package/es/packages/designer/src/layout/header/index.vue.mjs +195 -11
  13. package/es/packages/designer/src/packages/dialog/index.vue.mjs +2 -2
  14. package/es/packages/designer/src/packages/dialogGlobal/index.vue.mjs +1004 -0
  15. package/es/packages/designer/src/packages/dialogGlobal/useDialogGlobalDialog.mjs +16 -0
  16. package/es/packages/designer/src/packages/event/index.vue2.mjs +76 -16
  17. package/es/packages/designer/src/packages/event/onlyFlow.vue2.mjs +105 -0
  18. package/es/packages/designer/src/packages/event/useOnlyFlowDialog.mjs +1 -1
  19. package/es/packages/designer/src/packages/eventFlow/dialog/action/Dialog.vue.mjs +225 -24
  20. package/es/packages/designer/src/packages/eventFlow/dialog/action/config.mjs +5 -1
  21. package/es/packages/designer/src/packages/form/aside/index.mjs +24 -10
  22. package/es/packages/designer/src/packages/form/components/ApprovalHistory.vue.mjs +3 -3
  23. package/es/packages/designer/src/packages/form/components/ComponentPreviewWrapper.vue.mjs +152 -69
  24. package/es/packages/designer/src/packages/form/components/DefaultValueEditor.vue.mjs +88 -0
  25. package/es/packages/designer/src/packages/form/components/SubForm.vue.mjs +3 -3
  26. package/es/packages/designer/src/packages/form/components/SubTable.vue.mjs +3 -3
  27. package/es/packages/designer/src/packages/form/components/SubTitle.vue.mjs +27 -0
  28. package/es/packages/designer/src/packages/form/headerBtn.vue.mjs +33 -57
  29. package/es/packages/designer/src/packages/form/index.vue.mjs +20 -8
  30. package/es/packages/designer/src/packages/form/property/index.vue.mjs +5 -3
  31. package/es/packages/designer/src/packages/form/property/subTitleH2.vue.mjs +94 -0
  32. package/es/packages/designer/src/packages/form/property/widgets.vue.mjs +275 -94
  33. package/es/packages/designer/src/packages/formulaEditor/components/FieldVariable.vue2.mjs +84 -0
  34. package/es/packages/designer/src/packages/formulaEditor/components/FormulaList.vue2.mjs +130 -0
  35. package/es/packages/designer/src/packages/formulaEditor/index.vue2.mjs +230 -0
  36. package/es/packages/designer/src/packages/table/default.mjs +1 -0
  37. package/es/packages/designer/src/packages/table/headerBtn.vue.mjs +48 -17
  38. package/es/packages/designer/src/packages/table/index.vue.mjs +1 -3
  39. package/es/packages/designer/src/packages/table/property/filterWidgets.vue.mjs +34 -7
  40. package/es/packages/designer/src/packages/table/queryModule/DynamicModeConfig.vue.mjs +492 -0
  41. package/es/packages/designer/src/packages/table/queryModule/FixedModeConfig.vue.mjs +15 -2
  42. package/es/packages/designer/src/packages/table/queryModule/index.vue.mjs +463 -138
  43. package/es/packages/designer/src/packages/table/tableBtn.vue.mjs +33 -15
  44. package/es/packages/designer/src/utils/optionLoader.mjs +157 -0
  45. package/es/packages/designer/src/utils/simpleCache.mjs +80 -0
  46. package/es/packages/mobile/src/components/form/field/Field.vue.mjs +26 -1
  47. package/es/packages/vue/src/api/index.mjs +3 -0
  48. package/es/packages/vue/src/components/all.mjs +2 -2
  49. package/es/packages/vue/src/components/bus/approvalHistory/ApprovalHistory.vue.mjs +3 -3
  50. package/es/packages/vue/src/components/details/header/Header.vue.mjs +1 -1
  51. package/es/packages/vue/src/components/dialog/DialogRenderer.vue2.mjs +2 -2
  52. package/es/packages/vue/src/components/forms/cascader/Cascader.vue.mjs +3 -2
  53. package/es/packages/vue/src/components/forms/form/Form.vue.mjs +5 -3
  54. package/es/packages/vue/src/components/forms/formItem/FormItem.vue.mjs +14 -12
  55. package/es/packages/vue/src/components/forms/index.mjs +2 -2
  56. package/es/packages/vue/src/components/forms/subForm/SubForm.vue.mjs +2 -2
  57. package/es/packages/vue/src/components/forms/subTable/SubTable.vue.mjs +2 -2
  58. package/es/packages/vue/src/components/forms/subTitle/SubTitle.vue.mjs +27 -0
  59. package/es/packages/vue/src/components/forms/subTitle/index.mjs +7 -0
  60. package/es/packages/vue/src/components/forms/text/Text.vue.mjs +47 -4
  61. package/es/packages/vue/src/components/table/CustomButtons.vue.mjs +34 -5
  62. package/es/packages/vue/src/components/table/DynamicQuery.vue.mjs +425 -0
  63. package/es/packages/vue/src/components/table/Table.vue.mjs +55 -30
  64. package/es/packages/vue/src/components/table/TableFilter.vue.mjs +7 -25
  65. package/es/packages/vue/src/utils/common.mjs +27 -0
  66. package/es/packages/vue/src/utils/eventFlow/actionHandlers.mjs +20 -3
  67. package/lib/designer.css +2177 -1400
  68. package/lib/node_modules/.pnpm/@element-plus_icons-vue@2.3.2_vue@3.5.13_typescript@5.7.3_/node_modules/@element-plus/icons-vue/dist/index.js +16 -0
  69. package/lib/packages/designer/src/api/index.js +15 -0
  70. package/lib/packages/designer/src/components/FieldSetMapping.vue2.js +407 -0
  71. package/lib/packages/designer/src/components/FormulaEditorInput.vue.js +1 -1
  72. package/lib/packages/designer/src/components/JsonDataDrawer.vue.js +1 -2
  73. package/lib/packages/designer/src/components/OnlyFLowConfigButton.vue2.js +118 -0
  74. package/lib/packages/designer/src/components/TemplateDialog.vue.js +254 -0
  75. package/lib/packages/designer/src/components/TemplateSelector.vue.js +21 -174
  76. package/lib/packages/designer/src/components/TemplateSelector.vue2.js +1 -0
  77. package/lib/packages/designer/src/layout/aside/HiddenFieldDialog.vue.js +9 -15
  78. package/lib/packages/designer/src/layout/header/index.vue.js +192 -8
  79. package/lib/packages/designer/src/packages/dialog/index.vue.js +2 -2
  80. package/lib/packages/designer/src/packages/dialogGlobal/index.vue.js +1004 -0
  81. package/lib/packages/designer/src/packages/dialogGlobal/useDialogGlobalDialog.js +16 -0
  82. package/lib/packages/designer/src/packages/event/index.vue2.js +75 -15
  83. package/lib/packages/designer/src/packages/event/onlyFlow.vue2.js +105 -0
  84. package/lib/packages/designer/src/packages/event/useOnlyFlowDialog.js +1 -1
  85. package/lib/packages/designer/src/packages/eventFlow/dialog/action/Dialog.vue.js +226 -25
  86. package/lib/packages/designer/src/packages/eventFlow/dialog/action/config.js +5 -1
  87. package/lib/packages/designer/src/packages/form/aside/index.js +24 -10
  88. package/lib/packages/designer/src/packages/form/components/ApprovalHistory.vue.js +3 -3
  89. package/lib/packages/designer/src/packages/form/components/ComponentPreviewWrapper.vue.js +160 -77
  90. package/lib/packages/designer/src/packages/form/components/DefaultValueEditor.vue.js +88 -0
  91. package/lib/packages/designer/src/packages/form/components/SubForm.vue.js +3 -3
  92. package/lib/packages/designer/src/packages/form/components/SubTable.vue.js +3 -3
  93. package/lib/packages/designer/src/packages/form/components/SubTitle.vue.js +27 -0
  94. package/lib/packages/designer/src/packages/form/headerBtn.vue.js +33 -57
  95. package/lib/packages/designer/src/packages/form/index.vue.js +21 -9
  96. package/lib/packages/designer/src/packages/form/property/index.vue.js +6 -4
  97. package/lib/packages/designer/src/packages/form/property/subTitleH2.vue.js +94 -0
  98. package/lib/packages/designer/src/packages/form/property/widgets.vue.js +271 -90
  99. package/lib/packages/designer/src/packages/formulaEditor/components/FieldVariable.vue2.js +84 -0
  100. package/lib/packages/designer/src/packages/formulaEditor/components/FormulaList.vue2.js +130 -0
  101. package/lib/packages/designer/src/packages/formulaEditor/index.vue2.js +230 -0
  102. package/lib/packages/designer/src/packages/table/default.js +1 -0
  103. package/lib/packages/designer/src/packages/table/headerBtn.vue.js +48 -17
  104. package/lib/packages/designer/src/packages/table/index.vue.js +1 -3
  105. package/lib/packages/designer/src/packages/table/property/filterWidgets.vue.js +33 -6
  106. package/lib/packages/designer/src/packages/table/queryModule/DynamicModeConfig.vue.js +492 -0
  107. package/lib/packages/designer/src/packages/table/queryModule/FixedModeConfig.vue.js +15 -2
  108. package/lib/packages/designer/src/packages/table/queryModule/index.vue.js +463 -138
  109. package/lib/packages/designer/src/packages/table/tableBtn.vue.js +34 -16
  110. package/lib/packages/designer/src/utils/optionLoader.js +157 -0
  111. package/lib/packages/designer/src/utils/simpleCache.js +80 -0
  112. package/lib/packages/mobile/src/components/form/field/Field.vue.js +26 -1
  113. package/lib/packages/vue/src/api/index.js +3 -0
  114. package/lib/packages/vue/src/components/all.js +2 -2
  115. package/lib/packages/vue/src/components/bus/approvalHistory/ApprovalHistory.vue.js +3 -3
  116. package/lib/packages/vue/src/components/details/header/Header.vue.js +1 -1
  117. package/lib/packages/vue/src/components/dialog/DialogRenderer.vue2.js +2 -2
  118. package/lib/packages/vue/src/components/forms/cascader/Cascader.vue.js +3 -2
  119. package/lib/packages/vue/src/components/forms/form/Form.vue.js +5 -3
  120. package/lib/packages/vue/src/components/forms/formItem/FormItem.vue.js +13 -11
  121. package/lib/packages/vue/src/components/forms/index.js +2 -2
  122. package/lib/packages/vue/src/components/forms/subForm/SubForm.vue.js +2 -2
  123. package/lib/packages/vue/src/components/forms/subTable/SubTable.vue.js +2 -2
  124. package/lib/packages/vue/src/components/forms/subTitle/SubTitle.vue.js +27 -0
  125. package/lib/packages/vue/src/components/forms/subTitle/index.js +7 -0
  126. package/lib/packages/vue/src/components/forms/text/Text.vue.js +49 -6
  127. package/lib/packages/vue/src/components/table/CustomButtons.vue.js +43 -14
  128. package/lib/packages/vue/src/components/table/DynamicQuery.vue.js +425 -0
  129. package/lib/packages/vue/src/components/table/Table.vue.js +54 -29
  130. package/lib/packages/vue/src/components/table/TableFilter.vue.js +7 -25
  131. package/lib/packages/vue/src/utils/common.js +27 -0
  132. package/lib/packages/vue/src/utils/eventFlow/actionHandlers.js +30 -13
  133. package/package.json +1 -1
@@ -4,7 +4,7 @@
4
4
  /* empty css */
5
5
  /* empty css */
6
6
  /* empty css */
7
- import { ref, getCurrentInstance, computed, reactive, watch, onMounted, onUnmounted, createBlock, openBlock, withCtx, createElementBlock, createCommentVNode, normalizeStyle, createElementVNode, createVNode, unref, createSlots, renderList, renderSlot, normalizeProps, guardReactiveProps } from "vue";
7
+ import { ref, getCurrentInstance, computed, reactive, watch, onMounted, onUnmounted, createBlock, openBlock, withCtx, createElementBlock, createCommentVNode, normalizeStyle, createElementVNode, Fragment, createVNode, unref, createSlots, renderList, renderSlot, normalizeProps, guardReactiveProps } from "vue";
8
8
  import "../../../../../node_modules/.pnpm/vxe-table@4.17.47_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/components.mjs";
9
9
  /* empty css */
10
10
  import { createDataSource } from "../../utils/datasource.mjs";
@@ -12,6 +12,7 @@ import Pagination from "./Pagination.vue.mjs";
12
12
  import CustomButtons from "./CustomButtons.vue.mjs";
13
13
  import TableColumn from "./TableColumn.vue.mjs";
14
14
  import TableFilter from "./TableFilter.vue.mjs";
15
+ import DynamicQuery from "./DynamicQuery.vue.mjs";
15
16
  import { getCurrentVueInstance } from "../../utils/getInstance.mjs";
16
17
  import { isEqual } from "../../utils/common.mjs";
17
18
  /* empty css */
@@ -111,6 +112,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
111
112
  const ctx = getCurrentVueInstance();
112
113
  const configLoading = ref(true);
113
114
  const localConfig = ref({});
115
+ const fieldsData = ref({});
114
116
  const dataSourceOptions = ref({});
115
117
  const dictionaryOptions = ref({});
116
118
  const displayData = computed(() => {
@@ -158,7 +160,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
158
160
  if (!((_a = localConfig.value.dataSources) == null ? void 0 : _a.length)) return;
159
161
  dataSourceManager.value = createDataSource({
160
162
  http: ctx.$http,
161
- initSearchData: props.initSearchData,
163
+ initSearchData: searchData.value,
162
164
  dataSources: localConfig.value.dataSources,
163
165
  currentDataSourceId: localConfig.value.dataSourceId,
164
166
  pagination: {
@@ -181,7 +183,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
181
183
  };
182
184
  const loadFieldDataSources = async () => {
183
185
  var _a, _b;
184
- const fields = localConfig.value.fieldsData || [];
186
+ const fields = fieldsData.value || [];
185
187
  const fieldDataSources = /* @__PURE__ */ new Set();
186
188
  const dictionaryKeys = /* @__PURE__ */ new Set();
187
189
  for (const field of fields) {
@@ -243,8 +245,8 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
243
245
  mergeOptionsToFields();
244
246
  };
245
247
  const mergeOptionsToFields = () => {
246
- if (localConfig.value.fieldsData) {
247
- localConfig.value.fieldsData.forEach((field) => {
248
+ if (fieldsData.value) {
249
+ fieldsData.value.forEach((field) => {
248
250
  if (!field.optionConfig) return;
249
251
  const {
250
252
  optionSource,
@@ -277,16 +279,9 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
277
279
  });
278
280
  }
279
281
  };
280
- const { handleEvent } = useEventFlow({
281
- fields: localConfig.value.fieldsData,
282
- instance,
283
- localConfig: localConfig.value,
284
- components: {
285
- table: instance == null ? void 0 : instance.proxy
286
- }
287
- });
282
+ const handleFlowEvent = ref(null);
288
283
  const handleCustomBtnClick = ({ btn, event, type }) => {
289
- var _a;
284
+ var _a, _b;
290
285
  switch (btn.btnType) {
291
286
  case "refresh":
292
287
  reset();
@@ -298,7 +293,8 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
298
293
  handlePersonalize();
299
294
  break;
300
295
  default:
301
- handleEvent(
296
+ (_b = handleFlowEvent.value) == null ? void 0 : _b.call(
297
+ handleFlowEvent,
302
298
  null,
303
299
  btn,
304
300
  (_a = btn.eventConfig) == null ? void 0 : _a.find((item) => item.name == "Click")
@@ -334,6 +330,8 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
334
330
  dataSourceManager.value.updateParams(filters);
335
331
  dataSourceManager.value.fetch();
336
332
  clearSelection();
333
+ } else {
334
+ searchData.value = filters;
337
335
  }
338
336
  };
339
337
  const handleFilterReset = () => {
@@ -448,6 +446,8 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
448
446
  if (props.initOption) {
449
447
  localConfig.value = Object.assign({}, props.initOption);
450
448
  }
449
+ fieldsData.value = localConfig.value.fieldsData || [];
450
+ initHandleEvent();
451
451
  emit("loaded", localConfig.value);
452
452
  configLoading.value = false;
453
453
  return;
@@ -461,20 +461,36 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
461
461
  props.initOption
462
462
  );
463
463
  localConfig.value = option;
464
+ fieldsData.value = [
465
+ ...localConfig.value.fieldsData || [],
466
+ ...localConfig.value.hiddenFields || []
467
+ ];
468
+ initHandleEvent();
464
469
  emit("loaded", option);
465
470
  } catch (error) {
466
- debugger;
467
471
  console.error("加载配置失败:", error);
468
472
  ElMessage.error("加载配置失败");
469
473
  } finally {
470
474
  configLoading.value = false;
471
475
  }
472
476
  };
477
+ function initHandleEvent() {
478
+ const { handleEvent } = useEventFlow({
479
+ fields: fieldsData.value,
480
+ instance,
481
+ localConfig: localConfig.value,
482
+ components: {
483
+ table: instance == null ? void 0 : instance.proxy
484
+ }
485
+ });
486
+ handleFlowEvent.value = handleEvent;
487
+ }
473
488
  onMounted(() => {
474
489
  loadConfig().then(() => {
475
490
  initDataSourceManager();
476
491
  });
477
492
  });
493
+ const searchData = ref(props.initSearchData);
478
494
  watch(
479
495
  () => props.initSearchData,
480
496
  (newVal, oldVal) => {
@@ -520,18 +536,27 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
520
536
  props.height && props.height > 0 ? { height: `${props.height}px` } : {}
521
537
  )
522
538
  }, [
523
- !__props.isSubTable ? (openBlock(), createBlock(TableFilter, {
524
- key: 0,
525
- "query-config": localConfig.value.queryConfig,
526
- "fields-data": localConfig.value.fieldsData,
527
- onSearch: handleFilterSearch,
528
- onReset: handleFilterReset
529
- }, null, 8, ["query-config", "fields-data"])) : createCommentVNode("", true),
530
- !__props.readonly ? (openBlock(), createBlock(CustomButtons, {
539
+ localConfig.value.queryConfig.mode == "fixed" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
540
+ !__props.isSubTable ? (openBlock(), createBlock(TableFilter, {
541
+ key: 0,
542
+ "query-config": localConfig.value.queryConfig,
543
+ "fields-data": fieldsData.value,
544
+ onSearch: handleFilterSearch,
545
+ onReset: handleFilterReset
546
+ }, null, 8, ["query-config", "fields-data"])) : createCommentVNode("", true),
547
+ !__props.readonly ? (openBlock(), createBlock(CustomButtons, {
548
+ key: 1,
549
+ "custom-btns": localConfig.value.customBtns,
550
+ localConfig: localConfig.value,
551
+ onClick: handleCustomBtnClick
552
+ }, null, 8, ["custom-btns", "localConfig"])) : createCommentVNode("", true)
553
+ ], 64)) : createCommentVNode("", true),
554
+ localConfig.value.queryConfig.mode == "dynamic" ? (openBlock(), createBlock(DynamicQuery, {
531
555
  key: 1,
532
- "custom-btns": localConfig.value.customBtns,
533
- onClick: handleCustomBtnClick
534
- }, null, 8, ["custom-btns"])) : createCommentVNode("", true),
556
+ localConfig: localConfig.value,
557
+ "fields-data": fieldsData.value,
558
+ onSearch: handleFilterSearch
559
+ }, null, 8, ["localConfig", "fields-data"])) : createCommentVNode("", true),
535
560
  createElementVNode("div", _hoisted_1, [
536
561
  createVNode(unref(VxeTable), {
537
562
  ref_key: "tableRef",
@@ -553,7 +578,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
553
578
  var _a;
554
579
  return [
555
580
  createVNode(TableColumn, {
556
- "fields-data": localConfig.value.fieldsData,
581
+ "fields-data": fieldsData.value,
557
582
  "show-index": localConfig.value.showIndex,
558
583
  "select-mode": __props.selectMode || localConfig.value.selectMode,
559
584
  "is-opt-btns": localConfig.value.isOptBtns,
@@ -568,7 +593,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
568
593
  readonly: __props.readonly,
569
594
  isDialog: __props.isDialog
570
595
  }, createSlots({ _: 2 }, [
571
- renderList(localConfig.value.fieldsData, (field) => {
596
+ renderList(fieldsData.value, (field) => {
572
597
  return {
573
598
  name: `cell-${field.fieldName}`,
574
599
  fn: withCtx((scope) => [
@@ -595,7 +620,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
595
620
  };
596
621
  }
597
622
  });
598
- const _Table = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-7ca545c2"]]);
623
+ const _Table = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-f3fdb409"]]);
599
624
  export {
600
625
  _Table as default
601
626
  };
@@ -16,6 +16,7 @@ import { Select } from "../forms/select/index.mjs";
16
16
  import { MultipleSelection } from "../forms/multipleSelection/index.mjs";
17
17
  import { Date } from "../forms/date/index.mjs";
18
18
  import { Number } from "../forms/number/index.mjs";
19
+ import { handleSearchData } from "../../utils/common.mjs";
19
20
  /* empty css */
20
21
  import _export_sfc from "../../../../../_virtual/_plugin-vue_export-helper.mjs";
21
22
  import { ElForm, ElFormItem } from "../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/form/index.mjs";
@@ -43,7 +44,7 @@ const _sfc_main = {
43
44
  emits: ["search", "reset"],
44
45
  setup(__props, { expose: __expose, emit: __emit }) {
45
46
  useCssVars((_ctx) => ({
46
- "160605a0": `${config.value.collapseRows * 90}px`
47
+ "05c86e34": `${config.value.collapseRows * 90}px`
47
48
  }));
48
49
  const props = __props;
49
50
  const emit = __emit;
@@ -127,29 +128,10 @@ const _sfc_main = {
127
128
  isCollapsed.value = !isCollapsed.value;
128
129
  };
129
130
  const handleSearch = () => {
130
- const filters = {};
131
- Object.keys(filterValues.value).forEach((key) => {
132
- const value = filterValues.value[key];
133
- if (value !== "" && value !== null && value !== void 0) {
134
- const fieldConfig = completeFilterFields.value.find(
135
- (field) => field.id == key
136
- );
137
- const fieldName = (fieldConfig == null ? void 0 : fieldConfig.fieldName) || key;
138
- const maxKey = `${key}_max`;
139
- const maxValue = filterValues.value[maxKey];
140
- if (maxValue !== "" && maxValue !== null && maxValue !== void 0) {
141
- filters[fieldName] = value + "|" + maxValue;
142
- } else if (key.endsWith("_max")) {
143
- return;
144
- } else {
145
- if (Array.isArray(value)) {
146
- filters[fieldName] = value.join("|");
147
- } else {
148
- filters[fieldName] = value;
149
- }
150
- }
151
- }
152
- });
131
+ const filters = handleSearchData(
132
+ filterValues.value,
133
+ completeFilterFields.value
134
+ );
153
135
  emit("search", { filters: JSON.stringify(filters) });
154
136
  };
155
137
  const handleReset = () => {
@@ -303,7 +285,7 @@ const _sfc_main = {
303
285
  };
304
286
  }
305
287
  };
306
- const TableFilter = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-5e8354e2"]]);
288
+ const TableFilter = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-366e01c3"]]);
307
289
  export {
308
290
  TableFilter as default
309
291
  };
@@ -26,8 +26,35 @@ function removeEmptyValues(data) {
26
26
  }
27
27
  return result;
28
28
  }
29
+ const handleSearchData = (filterValues, completeFilterFields) => {
30
+ const filters = {};
31
+ Object.keys(filterValues).forEach((key) => {
32
+ const value = filterValues[key];
33
+ if (value !== "" && value !== null && value !== void 0) {
34
+ const fieldConfig = completeFilterFields.find(
35
+ (field) => field.id == key
36
+ );
37
+ const fieldName = (fieldConfig == null ? void 0 : fieldConfig.fieldName) || key;
38
+ const maxKey = `${key}_max`;
39
+ const maxValue = filterValues[maxKey];
40
+ if (maxValue !== "" && maxValue !== null && maxValue !== void 0) {
41
+ filters[fieldName] = value + "|" + maxValue;
42
+ } else if (key.endsWith("_max")) {
43
+ return;
44
+ } else {
45
+ if (Array.isArray(value)) {
46
+ filters[fieldName] = value.join("|");
47
+ } else {
48
+ filters[fieldName] = value;
49
+ }
50
+ }
51
+ }
52
+ });
53
+ return filters;
54
+ };
29
55
  export {
30
56
  cloneDeep,
57
+ handleSearchData,
31
58
  isEqual,
32
59
  removeEmptyValues
33
60
  };
@@ -2,6 +2,7 @@ import { createDataSource } from "../datasource.mjs";
2
2
  import { parseRouteParams } from "../parseRouteParams.mjs";
3
3
  import { removeEmptyValues } from "../common.mjs";
4
4
  import { openDialog } from "../../components/dialog/index.mjs";
5
+ import api from "../../api/index.mjs";
5
6
  /* empty css */
6
7
  /* empty css */
7
8
  /* empty css */
@@ -436,14 +437,30 @@ async function handleDialog(node, data, fields, context) {
436
437
  console.error("ui-dialog: 缺少 dialogId 配置");
437
438
  return;
438
439
  }
439
- const dialogList = context.localConfig.dialogs || [];
440
- const dialog = dialogList.find((item) => item.id == (basic == null ? void 0 : basic.dialogId));
440
+ let dialog = null;
441
+ if (basic.dialogSource == "global") {
442
+ const data2 = await api.getTemplateDialogById(
443
+ context.ctx.$http,
444
+ basic.dialogId
445
+ );
446
+ dialog = JSON.parse(data2.config);
447
+ dialog.id = data2.id;
448
+ dialog.name = data2.name;
449
+ dialog.selectionMode = basic.selectionMode;
450
+ dialog.displayFormat = basic.displayFormat;
451
+ dialog.displayFormatText = basic.displayFormatText;
452
+ dialog.fieldMapping = basic.fieldMapping;
453
+ dialog.callbackEventConfig = basic.callbackEventConfig;
454
+ } else if (basic.dialogSource == "custom") {
455
+ const dialogList = context.localConfig.dialogs || [];
456
+ dialog = dialogList.find((item) => item.id == (basic == null ? void 0 : basic.dialogId));
457
+ }
441
458
  if (!dialog) {
442
459
  console.error("ui-dialog: 未找到匹配的弹层配置," + (basic == null ? void 0 : basic.dialogId));
443
460
  return;
444
461
  }
445
462
  openDialog(
446
- null,
463
+ basic.displayFieldName,
447
464
  dialog,
448
465
  context.instance,
449
466
  context.ctx,