@fecp/designer 5.1.6 → 5.2.0

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