@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
@@ -2,15 +2,17 @@
2
2
  /* empty css */
3
3
  /* empty css */
4
4
  /* empty css */
5
+ /* empty css */
5
6
  /* empty css */
6
7
  /* empty css */
7
8
  /* empty css */
8
9
  /* empty css */
9
- import { computed, ref, createBlock, openBlock, unref, isRef, withCtx, createVNode, createCommentVNode, createTextVNode } from "vue";
10
+ import { computed, ref, createBlock, openBlock, unref, isRef, withCtx, createVNode, createCommentVNode, createElementBlock, createTextVNode, Fragment } from "vue";
10
11
  import { getCurrentItem, getEditConfigData } from "../../utils/common.mjs";
11
12
  import { ElCollapse, ElCollapseItem } from "../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/collapse/index.mjs";
12
13
  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";
13
14
  import { ElRadioGroup, ElRadioButton } from "../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/radio/index.mjs";
15
+ import { ElSwitch } from "../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/switch/index.mjs";
14
16
  const _sfc_main = {
15
17
  __name: "filterWidgets",
16
18
  setup(__props) {
@@ -18,24 +20,26 @@ const _sfc_main = {
18
20
  return getCurrentItem();
19
21
  });
20
22
  const activeName = ref(["common"]);
23
+ const editConfigData = computed(() => getEditConfigData());
21
24
  const fieldInfo = computed(() => {
22
25
  var _a, _b;
23
26
  const fieldId = (_a = currentItem.value) == null ? void 0 : _a.fieldId;
24
27
  if (!fieldId) return null;
25
- const allFields = ((_b = getEditConfigData()) == null ? void 0 : _b.fieldsData) || [];
28
+ const allFields = ((_b = editConfigData.value) == null ? void 0 : _b.fieldsData) || [];
26
29
  return allFields.find((f) => f.id === fieldId);
27
30
  });
28
31
  return (_ctx, _cache) => {
29
32
  const _component_el_radio_button = ElRadioButton;
30
33
  const _component_el_radio_group = ElRadioGroup;
31
34
  const _component_el_form_item = ElFormItem;
35
+ const _component_el_switch = ElSwitch;
32
36
  const _component_el_form = ElForm;
33
37
  const _component_el_collapse_item = ElCollapseItem;
34
38
  const _component_el_collapse = ElCollapse;
35
39
  return openBlock(), createBlock(_component_el_collapse, {
36
40
  class: "setting",
37
41
  modelValue: unref(activeName),
38
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => isRef(activeName) ? activeName.value = $event : null)
42
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => isRef(activeName) ? activeName.value = $event : null)
39
43
  }, {
40
44
  default: withCtx(() => [
41
45
  createVNode(_component_el_collapse_item, {
@@ -49,7 +53,7 @@ const _sfc_main = {
49
53
  model: currentItem.value
50
54
  }, {
51
55
  default: withCtx(() => {
52
- var _a, _b;
56
+ var _a, _b, _c, _d, _e, _f;
53
57
  return [
54
58
  ((_a = fieldInfo.value) == null ? void 0 : _a.fieldType) === "text" || ((_b = fieldInfo.value) == null ? void 0 : _b.fieldType) === "textarea" ? (openBlock(), createBlock(_component_el_form_item, {
55
59
  key: 0,
@@ -62,13 +66,13 @@ const _sfc_main = {
62
66
  }, {
63
67
  default: withCtx(() => [
64
68
  createVNode(_component_el_radio_button, { value: "exact" }, {
65
- default: withCtx(() => _cache[2] || (_cache[2] = [
69
+ default: withCtx(() => _cache[4] || (_cache[4] = [
66
70
  createTextVNode("精准查询")
67
71
  ])),
68
72
  _: 1
69
73
  }),
70
74
  createVNode(_component_el_radio_button, { value: "fuzzy" }, {
71
- default: withCtx(() => _cache[3] || (_cache[3] = [
75
+ default: withCtx(() => _cache[5] || (_cache[5] = [
72
76
  createTextVNode("模糊查询")
73
77
  ])),
74
78
  _: 1
@@ -78,7 +82,30 @@ const _sfc_main = {
78
82
  }, 8, ["modelValue"])
79
83
  ]),
80
84
  _: 1
81
- })) : createCommentVNode("", true)
85
+ })) : createCommentVNode("", true),
86
+ editConfigData.value.queryConfig.mode === "dynamic" ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
87
+ createVNode(_component_el_form_item, { label: "独占一行" }, {
88
+ default: withCtx(() => [
89
+ createVNode(_component_el_switch, {
90
+ modelValue: currentItem.value.isExclusiveRow,
91
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => currentItem.value.isExclusiveRow = $event)
92
+ }, null, 8, ["modelValue"])
93
+ ]),
94
+ _: 1
95
+ }),
96
+ ((_c = fieldInfo.value) == null ? void 0 : _c.fieldType) === "radio" || ((_d = fieldInfo.value) == null ? void 0 : _d.fieldType) === "checkbox" || ((_e = fieldInfo.value) == null ? void 0 : _e.fieldType) === "select" || ((_f = fieldInfo.value) == null ? void 0 : _f.fieldType) === "multipleSelection" ? (openBlock(), createBlock(_component_el_form_item, {
97
+ key: 0,
98
+ label: "按钮样式"
99
+ }, {
100
+ default: withCtx(() => [
101
+ createVNode(_component_el_switch, {
102
+ modelValue: currentItem.value.isButtonStyle,
103
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => currentItem.value.isButtonStyle = $event)
104
+ }, null, 8, ["modelValue"])
105
+ ]),
106
+ _: 1
107
+ })) : createCommentVNode("", true)
108
+ ], 64)) : createCommentVNode("", true)
82
109
  ];
83
110
  }),
84
111
  _: 1
@@ -0,0 +1,492 @@
1
+ /* empty css */
2
+ /* empty css */
3
+ /* empty css */
4
+ /* empty css */
5
+ import "../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/theme-chalk/el-date-picker.css.mjs";
6
+ /* empty css */
7
+ /* empty css */
8
+ /* empty css */
9
+ /* empty css */
10
+ /* empty css */
11
+ /* empty css */
12
+ /* empty css */
13
+ /* empty css */
14
+ /* empty css */
15
+ /* empty css */
16
+ /* empty css */
17
+ /* empty css */
18
+ /* empty css */
19
+ /* empty css */
20
+ import "../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/theme-chalk/el-tab-pane.css.mjs";
21
+ import { computed, reactive, watch, createElementBlock, openBlock, createElementVNode, createVNode, createCommentVNode, withCtx, unref, toDisplayString, Fragment, renderList, createBlock, createSlots, createTextVNode, withModifiers, normalizeClass, mergeProps, normalizeStyle } from "vue";
22
+ import { getEditConfigData, setSelectedItem, setHoverItem, getCurrentClass } from "../../utils/common.mjs";
23
+ import { ArrowLeftBold as arrow_left_bold_default, Search as search_default, Close as close_default, Plus as plus_default, Setting as setting_default, Download as download_default, Refresh as refresh_default } from "../../../../../../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";
24
+ import { VueDraggable as lo } from "../../../../../../node_modules/.pnpm/vue-draggable-plus@0.6.1_@types_sortablejs@1.15.9/node_modules/vue-draggable-plus/dist/vue-draggable-plus.mjs";
25
+ import { defaultCustomBtn } from "../default.mjs";
26
+ import { loadOptions } from "../../../utils/optionLoader.mjs";
27
+ /* empty css */
28
+ import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.mjs";
29
+ import { ElIcon } from "../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/icon/index.mjs";
30
+ import { ElTabs, ElTabPane } from "../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/tabs/index.mjs";
31
+ import { ElInput } from "../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/input/index.mjs";
32
+ import { ElButton } from "../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/button/index.mjs";
33
+ import { ElLink } from "../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/link/index.mjs";
34
+ import { ElCollapseTransition } from "../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/collapse-transition/index.mjs";
35
+ 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";
36
+ import { ElCheckboxGroup, ElCheckboxButton } from "../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/checkbox/index.mjs";
37
+ import { ElSelect, ElOption } from "../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/select/index.mjs";
38
+ import { ElDatePicker } from "../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/date-picker/index.mjs";
39
+ const _hoisted_1 = { class: "dynamic-mode-config" };
40
+ const _hoisted_2 = { class: "dynamic-row" };
41
+ const _hoisted_3 = {
42
+ key: 0,
43
+ class: "back-icon"
44
+ };
45
+ const _hoisted_4 = {
46
+ key: 1,
47
+ class: "template-name"
48
+ };
49
+ const _hoisted_5 = {
50
+ key: 2,
51
+ class: "tab-display-section"
52
+ };
53
+ const _hoisted_6 = { class: "search-display-section" };
54
+ const _hoisted_7 = { class: "search-input-group" };
55
+ const _hoisted_8 = ["onMouseenter", "onClick"];
56
+ const _hoisted_9 = {
57
+ key: 0,
58
+ class: "expand-filter-section"
59
+ };
60
+ const _hoisted_10 = { class: "filter-form-section" };
61
+ const _hoisted_11 = { class: "form-item-label" };
62
+ const _sfc_main = {
63
+ __name: "DynamicModeConfig",
64
+ props: {
65
+ modelValue: {
66
+ type: Object,
67
+ default: () => ({})
68
+ }
69
+ },
70
+ emits: ["update:modelValue"],
71
+ setup(__props, { emit: __emit }) {
72
+ const props = __props;
73
+ const emit = __emit;
74
+ const editConfigData = computed(() => getEditConfigData());
75
+ const dynamicConfig = computed({
76
+ get: () => props.modelValue,
77
+ set: (val) => emit("update:modelValue", val)
78
+ });
79
+ const tabConfigs = computed(() => {
80
+ var _a;
81
+ return ((_a = dynamicConfig.value) == null ? void 0 : _a.tabConfigs) || [];
82
+ });
83
+ const activeTab = computed({
84
+ get: () => {
85
+ var _a;
86
+ if (dynamicConfig.value.tabActive) {
87
+ return dynamicConfig.value.tabActive;
88
+ }
89
+ if (tabConfigs.value.length > 0) {
90
+ return ((_a = tabConfigs.value[0]) == null ? void 0 : _a.id) || "";
91
+ }
92
+ return "";
93
+ },
94
+ set: (val) => {
95
+ dynamicConfig.value.tabActive = val;
96
+ }
97
+ });
98
+ computed(() => {
99
+ var _a, _b;
100
+ const allFields = [
101
+ ...((_a = editConfigData.value) == null ? void 0 : _a.fieldsData) || [],
102
+ ...((_b = editConfigData.value) == null ? void 0 : _b.hiddenFields) || []
103
+ ];
104
+ return allFields;
105
+ });
106
+ const btnTypeConfig = {
107
+ custom: { type: "primary" },
108
+ refresh: { icon: refresh_default },
109
+ export: { icon: download_default },
110
+ personalize: { icon: setting_default }
111
+ };
112
+ function getBtnProps(item) {
113
+ const data = btnTypeConfig[item.btnType] || {};
114
+ if (!item.label) {
115
+ data.class = "system";
116
+ } else {
117
+ data.class = "";
118
+ }
119
+ return data;
120
+ }
121
+ function addOptBtns(state) {
122
+ const newBtn = {
123
+ id: Date.now(),
124
+ ...defaultCustomBtn
125
+ };
126
+ {
127
+ editConfigData.value.customBtns[state].unshift(newBtn);
128
+ }
129
+ }
130
+ function removeOptBtns(state, item) {
131
+ const index = editConfigData.value.customBtns[state].findIndex(
132
+ (i) => i.id === item.id
133
+ );
134
+ if (index !== -1) {
135
+ editConfigData.value.customBtns[state].splice(index, 1);
136
+ }
137
+ }
138
+ const filterFields = computed({
139
+ get: () => {
140
+ var _a, _b;
141
+ return ((_b = (_a = editConfigData.value) == null ? void 0 : _a.queryConfig) == null ? void 0 : _b.filterFields) || [];
142
+ },
143
+ set: (val) => {
144
+ editConfigData.value.queryConfig.filterFields = val;
145
+ }
146
+ });
147
+ const formData = reactive({});
148
+ function getFieldInfo(filterField) {
149
+ var _a, _b;
150
+ const allFields = [
151
+ ...((_a = editConfigData.value) == null ? void 0 : _a.fieldsData) || [],
152
+ ...((_b = editConfigData.value) == null ? void 0 : _b.hiddenFields) || []
153
+ ];
154
+ const field = allFields.find((f) => f.id == filterField.fieldId);
155
+ return field;
156
+ }
157
+ function getFieldLabel(filterField) {
158
+ const fieldInfo = getFieldInfo(filterField);
159
+ return (fieldInfo == null ? void 0 : fieldInfo.label) || "";
160
+ }
161
+ const optionsMap = reactive({});
162
+ watch(
163
+ filterFields,
164
+ (fields) => {
165
+ fields.forEach((filterField) => {
166
+ const fieldInfo = getFieldInfo(filterField);
167
+ if (fieldInfo && !(fieldInfo.fieldName in formData)) {
168
+ formData[fieldInfo.fieldName] = fieldInfo.fieldType == "daterange" ? [] : "";
169
+ }
170
+ });
171
+ const currentFieldNames = fields.map((filterField) => {
172
+ const fieldInfo = getFieldInfo(filterField);
173
+ return fieldInfo == null ? void 0 : fieldInfo.fieldName;
174
+ }).filter(Boolean);
175
+ Object.keys(formData).forEach((key) => {
176
+ if (!currentFieldNames.includes(key)) {
177
+ delete formData[key];
178
+ }
179
+ });
180
+ fields.forEach((filterField) => {
181
+ if (filterField.isButtonStyle) {
182
+ getOptions(filterField);
183
+ }
184
+ });
185
+ },
186
+ { immediate: true, deep: true }
187
+ );
188
+ function removeField(field) {
189
+ var _a, _b, _c, _d;
190
+ const index = filterFields.value.findIndex((f) => f.id == field.id);
191
+ if (index !== -1) {
192
+ if ((_a = editConfigData.value.queryConfig) == null ? void 0 : _a.filterFields) {
193
+ (_b = editConfigData.value.queryConfig) == null ? void 0 : _b.filterFields.splice(index, 1);
194
+ }
195
+ let fieldItem = (_c = editConfigData.value) == null ? void 0 : _c.fieldsData.find(
196
+ (item) => item.id == field.fieldId
197
+ );
198
+ if (!fieldItem) {
199
+ fieldItem = (_d = editConfigData.value) == null ? void 0 : _d.hiddenFields.find(
200
+ (item) => item.id == field.fieldId
201
+ );
202
+ }
203
+ if (fieldItem) {
204
+ fieldItem.isFilter = false;
205
+ }
206
+ }
207
+ }
208
+ function isInputType(field) {
209
+ const inputTypes = ["text", "textarea", "number"];
210
+ return inputTypes.includes(field.fieldType);
211
+ }
212
+ function isSelectType(field) {
213
+ const selectTypes = [
214
+ "select",
215
+ "radio",
216
+ "checkbox",
217
+ "switch",
218
+ "multipleSelection"
219
+ ];
220
+ return selectTypes.includes(field.fieldType);
221
+ }
222
+ function isDateType(field) {
223
+ const dateTypes = [
224
+ "date",
225
+ "datetime",
226
+ "time",
227
+ "month",
228
+ "year",
229
+ "dates",
230
+ "week"
231
+ ];
232
+ return dateTypes.includes(field.fieldType);
233
+ }
234
+ function getOptions(filterField) {
235
+ var _a, _b;
236
+ const allFields = [
237
+ ...((_a = editConfigData.value) == null ? void 0 : _a.fieldsData) || [],
238
+ ...((_b = editConfigData.value) == null ? void 0 : _b.hiddenFields) || []
239
+ ];
240
+ const field = allFields.find((f) => f.id == filterField.fieldId);
241
+ if (field) {
242
+ loadOptions(field).then((data) => {
243
+ optionsMap[filterField.fieldId] = data;
244
+ });
245
+ } else {
246
+ optionsMap[filterField.fieldId] = [];
247
+ }
248
+ }
249
+ return (_ctx, _cache) => {
250
+ const _component_el_icon = ElIcon;
251
+ const _component_el_tab_pane = ElTabPane;
252
+ const _component_el_tabs = ElTabs;
253
+ const _component_el_button = ElButton;
254
+ const _component_el_input = ElInput;
255
+ const _component_el_link = ElLink;
256
+ const _component_el_checkbox_button = ElCheckboxButton;
257
+ const _component_el_checkbox_group = ElCheckboxGroup;
258
+ const _component_el_option = ElOption;
259
+ const _component_el_select = ElSelect;
260
+ const _component_el_date_picker = ElDatePicker;
261
+ const _component_el_form_item = ElFormItem;
262
+ const _component_el_form = ElForm;
263
+ const _component_el_collapse_transition = ElCollapseTransition;
264
+ return openBlock(), createElementBlock("div", _hoisted_1, [
265
+ createElementVNode("div", _hoisted_2, [
266
+ editConfigData.value.showReturn ? (openBlock(), createElementBlock("div", _hoisted_3, [
267
+ createVNode(_component_el_icon, null, {
268
+ default: withCtx(() => [
269
+ createVNode(unref(arrow_left_bold_default))
270
+ ]),
271
+ _: 1
272
+ })
273
+ ])) : createCommentVNode("", true),
274
+ editConfigData.value.showTitle ? (openBlock(), createElementBlock("div", _hoisted_4, toDisplayString(editConfigData.value.templateName), 1)) : createCommentVNode("", true),
275
+ tabConfigs.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_5, [
276
+ createVNode(_component_el_tabs, {
277
+ modelValue: activeTab.value,
278
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => activeTab.value = $event),
279
+ class: "dynamic-tabs"
280
+ }, {
281
+ default: withCtx(() => [
282
+ (openBlock(true), createElementBlock(Fragment, null, renderList(tabConfigs.value, (tab) => {
283
+ return openBlock(), createBlock(_component_el_tab_pane, {
284
+ key: tab.id,
285
+ label: tab.label,
286
+ name: tab.id
287
+ }, null, 8, ["label", "name"]);
288
+ }), 128))
289
+ ]),
290
+ _: 1
291
+ }, 8, ["modelValue"])
292
+ ])) : createCommentVNode("", true),
293
+ createElementVNode("div", _hoisted_6, [
294
+ createElementVNode("div", _hoisted_7, [
295
+ createVNode(_component_el_input, {
296
+ placeholder: "请输入关键词搜索...",
297
+ class: "search-input",
298
+ "prefix-icon": unref(search_default)
299
+ }, createSlots({ _: 2 }, [
300
+ dynamicConfig.value.advancedSearch ? {
301
+ name: "append",
302
+ fn: withCtx(() => [
303
+ createVNode(_component_el_button, { type: "primary" }, {
304
+ default: withCtx(() => _cache[6] || (_cache[6] = [
305
+ createTextVNode(toDisplayString("高级搜索"))
306
+ ])),
307
+ _: 1
308
+ })
309
+ ]),
310
+ key: "0"
311
+ } : void 0
312
+ ]), 1032, ["prefix-icon"])
313
+ ]),
314
+ createVNode(unref(lo), {
315
+ modelValue: editConfigData.value.customBtns.right,
316
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => editConfigData.value.customBtns.right = $event),
317
+ animation: 150,
318
+ group: { name: "tableBtn" },
319
+ ghostClass: "ghost",
320
+ class: "optBtnDraggable"
321
+ }, {
322
+ default: withCtx(() => [
323
+ (openBlock(true), createElementBlock(Fragment, null, renderList(editConfigData.value.customBtns.right, (item) => {
324
+ return openBlock(), createElementBlock("div", {
325
+ class: normalizeClass(["optBtn", unref(getCurrentClass)(item)]),
326
+ onMouseenter: ($event) => unref(setHoverItem)(item),
327
+ onMouseleave: _cache[1] || (_cache[1] = ($event) => unref(setHoverItem)()),
328
+ onClick: withModifiers(($event) => unref(setSelectedItem)(item), ["stop"])
329
+ }, [
330
+ createVNode(_component_el_button, mergeProps({
331
+ class: "elBtn",
332
+ ref_for: true
333
+ }, getBtnProps(item)), {
334
+ default: withCtx(() => [
335
+ createTextVNode(toDisplayString(item.label), 1)
336
+ ]),
337
+ _: 2
338
+ }, 1040),
339
+ createVNode(_component_el_icon, {
340
+ class: "delete-icon",
341
+ onClick: withModifiers(($event) => removeOptBtns("right", item), ["stop"])
342
+ }, {
343
+ default: withCtx(() => [
344
+ createVNode(unref(close_default))
345
+ ]),
346
+ _: 2
347
+ }, 1032, ["onClick"])
348
+ ], 42, _hoisted_8);
349
+ }), 256))
350
+ ]),
351
+ _: 1
352
+ }, 8, ["modelValue"]),
353
+ createVNode(_component_el_link, {
354
+ class: "optBtn addLink",
355
+ underline: "never",
356
+ type: "primary",
357
+ icon: unref(plus_default),
358
+ onClick: _cache[3] || (_cache[3] = withModifiers(($event) => addOptBtns("right"), ["stop"]))
359
+ }, {
360
+ default: withCtx(() => _cache[7] || (_cache[7] = [
361
+ createTextVNode("按钮")
362
+ ])),
363
+ _: 1
364
+ }, 8, ["icon"])
365
+ ])
366
+ ]),
367
+ createVNode(_component_el_collapse_transition, null, {
368
+ default: withCtx(() => [
369
+ dynamicConfig.value.advancedSearch && filterFields.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_9, [
370
+ createElementVNode("div", _hoisted_10, [
371
+ createVNode(_component_el_form, {
372
+ ref: "formRef",
373
+ model: formData,
374
+ class: "filter-form",
375
+ "label-width": "100px",
376
+ inline: ""
377
+ }, {
378
+ default: withCtx(() => [
379
+ createVNode(unref(lo), {
380
+ modelValue: filterFields.value,
381
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => filterFields.value = $event),
382
+ animation: 150,
383
+ group: { name: "filterFields" },
384
+ ghostClass: "ghost",
385
+ class: "form-items-draggable"
386
+ }, {
387
+ default: withCtx(() => [
388
+ (openBlock(true), createElementBlock(Fragment, null, renderList(filterFields.value, (filterField) => {
389
+ return openBlock(), createElementBlock("div", {
390
+ key: filterField.id,
391
+ style: normalizeStyle(filterField.isExclusiveRow ? "width:100%" : "")
392
+ }, [
393
+ createVNode(_component_el_form_item, {
394
+ label: getFieldLabel(filterField),
395
+ onMouseenter: ($event) => unref(setHoverItem)(filterField),
396
+ onMouseleave: _cache[4] || (_cache[4] = ($event) => unref(setHoverItem)()),
397
+ onClick: withModifiers(($event) => unref(setSelectedItem)(filterField), ["stop"]),
398
+ class: normalizeClass(unref(getCurrentClass)(filterField))
399
+ }, {
400
+ label: withCtx(() => [
401
+ createElementVNode("div", _hoisted_11, [
402
+ createElementVNode("span", null, toDisplayString(getFieldLabel(filterField)) + ":", 1)
403
+ ])
404
+ ]),
405
+ default: withCtx(() => [
406
+ createVNode(_component_el_icon, {
407
+ class: "delete-icon",
408
+ onClick: withModifiers(($event) => removeField(filterField), ["stop"])
409
+ }, {
410
+ default: withCtx(() => [
411
+ createVNode(unref(close_default))
412
+ ]),
413
+ _: 2
414
+ }, 1032, ["onClick"]),
415
+ filterField.isButtonStyle ? (openBlock(), createBlock(_component_el_checkbox_group, { key: 0 }, {
416
+ default: withCtx(() => [
417
+ (openBlock(true), createElementBlock(Fragment, null, renderList(optionsMap[filterField.fieldId], (option) => {
418
+ return openBlock(), createBlock(_component_el_checkbox_button, {
419
+ key: option.value,
420
+ value: option.value
421
+ }, {
422
+ default: withCtx(() => [
423
+ createTextVNode(toDisplayString(option.label), 1)
424
+ ]),
425
+ _: 2
426
+ }, 1032, ["value"]);
427
+ }), 128))
428
+ ]),
429
+ _: 2
430
+ }, 1024)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
431
+ isInputType(getFieldInfo(filterField)) ? (openBlock(), createBlock(_component_el_input, {
432
+ key: 0,
433
+ modelValue: formData[getFieldInfo(filterField).fieldName],
434
+ "onUpdate:modelValue": ($event) => formData[getFieldInfo(filterField).fieldName] = $event,
435
+ class: "filter-item"
436
+ }, null, 8, ["modelValue", "onUpdate:modelValue"])) : isSelectType(getFieldInfo(filterField)) ? (openBlock(), createBlock(_component_el_select, {
437
+ key: 1,
438
+ modelValue: formData[getFieldInfo(filterField).fieldName],
439
+ "onUpdate:modelValue": ($event) => formData[getFieldInfo(filterField).fieldName] = $event,
440
+ class: "filter-item"
441
+ }, {
442
+ default: withCtx(() => [
443
+ createVNode(_component_el_option, {
444
+ label: "选项1",
445
+ value: "1"
446
+ }),
447
+ createVNode(_component_el_option, {
448
+ label: "选项2",
449
+ value: "2"
450
+ })
451
+ ]),
452
+ _: 2
453
+ }, 1032, ["modelValue", "onUpdate:modelValue"])) : isDateType(getFieldInfo(filterField)) ? (openBlock(), createBlock(_component_el_date_picker, {
454
+ key: 2,
455
+ modelValue: formData[getFieldInfo(filterField).fieldName],
456
+ "onUpdate:modelValue": ($event) => formData[getFieldInfo(filterField).fieldName] = $event,
457
+ type: "daterange",
458
+ "range-separator": "至",
459
+ "start-placeholder": "开始日期",
460
+ "end-placeholder": "结束日期",
461
+ class: "filter-item"
462
+ }, null, 8, ["modelValue", "onUpdate:modelValue"])) : (openBlock(), createBlock(_component_el_input, {
463
+ key: 3,
464
+ modelValue: formData[getFieldInfo(filterField).fieldName],
465
+ "onUpdate:modelValue": ($event) => formData[getFieldInfo(filterField).fieldName] = $event,
466
+ class: "filter-item"
467
+ }, null, 8, ["modelValue", "onUpdate:modelValue"]))
468
+ ], 64))
469
+ ]),
470
+ _: 2
471
+ }, 1032, ["label", "onMouseenter", "onClick", "class"])
472
+ ], 4);
473
+ }), 128))
474
+ ]),
475
+ _: 1
476
+ }, 8, ["modelValue"])
477
+ ]),
478
+ _: 1
479
+ }, 8, ["model"])
480
+ ])
481
+ ])) : createCommentVNode("", true)
482
+ ]),
483
+ _: 1
484
+ })
485
+ ]);
486
+ };
487
+ }
488
+ };
489
+ const DynamicModeConfig = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-2bd86c73"]]);
490
+ export {
491
+ DynamicModeConfig as default
492
+ };
@@ -57,7 +57,8 @@ const _sfc_main = {
57
57
  ...((_a = editConfigData.value) == null ? void 0 : _a.fieldsData) || [],
58
58
  ...((_b = editConfigData.value) == null ? void 0 : _b.hiddenFields) || []
59
59
  ];
60
- return allFields.find((f) => f.id == filterField.fieldId);
60
+ const field = allFields.find((f) => f.id == filterField.fieldId);
61
+ return field;
61
62
  }
62
63
  function getFieldLabel(filterField) {
63
64
  const fieldInfo = getFieldInfo(filterField);
@@ -85,9 +86,21 @@ const _sfc_main = {
85
86
  { immediate: true, deep: true }
86
87
  );
87
88
  function removeField(field) {
89
+ var _a, _b;
88
90
  const index = filterFields.value.findIndex((f) => f.id == field.id);
89
91
  if (index !== -1) {
90
92
  filterFields.value.splice(index, 1);
93
+ let fieldItem = (_a = editConfigData.value) == null ? void 0 : _a.fieldsData.find(
94
+ (item) => item.id == field.fieldId
95
+ );
96
+ if (!fieldItem) {
97
+ fieldItem = (_b = editConfigData.value) == null ? void 0 : _b.hiddenFields.find(
98
+ (item) => item.id == field.fieldId
99
+ );
100
+ }
101
+ if (fieldItem) {
102
+ fieldItem.isFilter = false;
103
+ }
91
104
  }
92
105
  }
93
106
  function isInputType(field) {
@@ -242,7 +255,7 @@ const _sfc_main = {
242
255
  };
243
256
  }
244
257
  };
245
- const FixedModeConfig = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-82d670b1"]]);
258
+ const FixedModeConfig = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-ad9c58ca"]]);
246
259
  export {
247
260
  FixedModeConfig as default
248
261
  };