@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
@@ -1,24 +1,28 @@
1
1
  /* empty css */
2
+ import "../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/theme-chalk/el-dropdown-menu.css.mjs";
3
+ import "../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/theme-chalk/el-dropdown-item.css.mjs";
4
+ /* empty css */
2
5
  /* empty css */
3
6
  /* empty css */
4
7
  /* empty css */
5
8
  /* empty css */
6
9
  /* empty css */
7
- import "../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/theme-chalk/el-dropdown-menu.css.mjs";
8
- import "../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/theme-chalk/el-dropdown-item.css.mjs";
9
- /* empty css */
10
- /* empty css */
11
10
  /* empty css */
11
+ /* empty css */
12
+ /* empty css */
12
13
  /* empty css */
13
14
  /* empty css */
14
15
  /* empty css */
15
16
  /* empty css */
16
17
  /* empty css */
17
18
  /* empty css */
18
- import { computed, createElementBlock, openBlock, createElementVNode, createVNode, createCommentVNode, withCtx, Fragment, unref, createTextVNode, createBlock, toDisplayString, renderList } from "vue";
19
- import { Plus as plus_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";
19
+ import { computed, ref, watch, createElementBlock, openBlock, Fragment, createElementVNode, createBlock, createCommentVNode, createVNode, withCtx, unref, createTextVNode, toDisplayString, renderList } from "vue";
20
+ import { Filter as filter_default, Rank as rank_default, Delete as delete_default, Plus as plus_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";
21
+ 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";
20
22
  import { getEditConfigData } from "../../utils/common.mjs";
21
23
  import FixedModeConfig from "./FixedModeConfig.vue.mjs";
24
+ import DynamicModeConfig from "./DynamicModeConfig.vue.mjs";
25
+ import TableBtn from "../tableBtn.vue.mjs";
22
26
  /* empty css */
23
27
  import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.mjs";
24
28
  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";
@@ -28,11 +32,22 @@ import { ElInputNumber } from "../../../../../../node_modules/.pnpm/element-plus
28
32
  import { ElDropdown, ElDropdownMenu, ElDropdownItem } from "../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/dropdown/index.mjs";
29
33
  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";
30
34
  import { ElTag } from "../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/tag/index.mjs";
35
+ 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";
36
+ 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";
37
+ import { ElEmpty } from "../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/empty/index.mjs";
31
38
  import { ElCheckbox } 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";
32
39
  const _hoisted_1 = { class: "table-query-config" };
33
40
  const _hoisted_2 = { class: "config-row" };
34
- const _hoisted_3 = { class: "add-field-label" };
35
- const _hoisted_4 = {
41
+ const _hoisted_3 = {
42
+ key: 0,
43
+ class: "tab-panel"
44
+ };
45
+ const _hoisted_4 = { class: "tab-header" };
46
+ const _hoisted_5 = { class: "tab-config-list" };
47
+ const _hoisted_6 = { class: "drag-handle" };
48
+ const _hoisted_7 = { class: "add-field-label" };
49
+ const _hoisted_8 = { class: "add-field-label" };
50
+ const _hoisted_9 = {
36
51
  key: 1,
37
52
  class: "empty-state"
38
53
  };
@@ -40,7 +55,49 @@ const _sfc_main = {
40
55
  __name: "index",
41
56
  setup(__props) {
42
57
  const editConfigData = computed(() => getEditConfigData());
58
+ const editConfigDataValue = computed(() => getEditConfigData());
43
59
  const queryConfig = computed(() => getEditConfigData().queryConfig);
60
+ const tabConfigDropdownVisible = ref(false);
61
+ const tabConfigs = computed({
62
+ get: () => {
63
+ var _a, _b;
64
+ return ((_b = (_a = queryConfig.value) == null ? void 0 : _a.dynamicConfig) == null ? void 0 : _b.tabConfigs) || [];
65
+ },
66
+ set: (val) => {
67
+ if (!queryConfig.value.dynamicConfig) {
68
+ queryConfig.value.dynamicConfig = {};
69
+ }
70
+ queryConfig.value.dynamicConfig.tabConfigs = val;
71
+ }
72
+ });
73
+ const searchFields = computed({
74
+ get: () => {
75
+ var _a, _b;
76
+ return ((_b = (_a = queryConfig.value) == null ? void 0 : _a.dynamicConfig) == null ? void 0 : _b.searchFields) || [];
77
+ },
78
+ set: (val) => {
79
+ if (!queryConfig.value.dynamicConfig) {
80
+ queryConfig.value.dynamicConfig = {};
81
+ }
82
+ queryConfig.value.dynamicConfig.searchFields = val;
83
+ }
84
+ });
85
+ watch(
86
+ () => {
87
+ var _a;
88
+ return (_a = queryConfig.value) == null ? void 0 : _a.mode;
89
+ },
90
+ (newMode) => {
91
+ if (!queryConfig.value) return;
92
+ if (newMode === "dynamic" && !queryConfig.value.dynamicConfig) {
93
+ queryConfig.value.dynamicConfig = {
94
+ tabConfigs: [],
95
+ searchFields: []
96
+ };
97
+ }
98
+ },
99
+ { immediate: true }
100
+ );
44
101
  const availableFields = computed(() => {
45
102
  var _a, _b;
46
103
  const allFields = [
@@ -49,6 +106,43 @@ const _sfc_main = {
49
106
  ];
50
107
  return allFields;
51
108
  });
109
+ const availableSearchFields = computed(() => {
110
+ const selectedFieldIds = searchFields.value.map((f) => f.id);
111
+ return availableFields.value.map((field) => ({
112
+ ...field,
113
+ isSearchField: selectedFieldIds.includes(field.id)
114
+ }));
115
+ });
116
+ function addTabConfig() {
117
+ const newTab = {
118
+ id: Date.now(),
119
+ label: `标签名${tabConfigs.value.length + 1}`,
120
+ fieldName: "",
121
+ fixedValue: ""
122
+ };
123
+ tabConfigs.value = [...tabConfigs.value, newTab];
124
+ }
125
+ function removeTabConfig(index) {
126
+ const newTabs = [...tabConfigs.value];
127
+ newTabs.splice(index, 1);
128
+ tabConfigs.value = newTabs;
129
+ }
130
+ function handleSearchFieldChange(field, value) {
131
+ if (value) {
132
+ searchFields.value = [
133
+ ...searchFields.value,
134
+ {
135
+ id: field.id,
136
+ fieldName: field.fieldName,
137
+ label: field.label,
138
+ fieldType: field.fieldType
139
+ }
140
+ ];
141
+ } else {
142
+ const newFields = searchFields.value.filter((f) => f.id !== field.id);
143
+ searchFields.value = newFields;
144
+ }
145
+ }
52
146
  function handleAddField(field, value) {
53
147
  if (!editConfigData.value.queryConfig) {
54
148
  editConfigData.value.queryConfig = {};
@@ -80,158 +174,389 @@ const _sfc_main = {
80
174
  const _component_el_input_number = ElInputNumber;
81
175
  const _component_el_tag = ElTag;
82
176
  const _component_el_button = ElButton;
177
+ const _component_el_icon = ElIcon;
178
+ const _component_el_input = ElInput;
179
+ const _component_el_empty = ElEmpty;
180
+ const _component_el_dropdown = ElDropdown;
83
181
  const _component_el_checkbox = ElCheckbox;
84
182
  const _component_el_dropdown_item = ElDropdownItem;
85
183
  const _component_el_dropdown_menu = ElDropdownMenu;
86
- const _component_el_dropdown = ElDropdown;
87
- return openBlock(), createElementBlock("div", _hoisted_1, [
88
- createElementVNode("div", _hoisted_2, [
89
- _cache[9] || (_cache[9] = createElementVNode("span", { class: "config-label" }, "开启筛选", -1)),
90
- createVNode(_component_el_switch, {
91
- modelValue: queryConfig.value.enabled,
92
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => queryConfig.value.enabled = $event),
93
- size: "small"
94
- }, null, 8, ["modelValue"]),
95
- createVNode(_component_el_divider, { direction: "vertical" }),
96
- _cache[10] || (_cache[10] = createElementVNode("span", { class: "config-label" }, "筛选模式", -1)),
97
- createVNode(_component_el_select, {
98
- modelValue: queryConfig.value.mode,
99
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => queryConfig.value.mode = $event),
100
- size: "small",
101
- style: { "width": "120px" }
102
- }, {
103
- default: withCtx(() => [
104
- createVNode(_component_el_option, {
105
- label: "固定列",
106
- value: "fixed"
107
- })
108
- ]),
109
- _: 1
110
- }, 8, ["modelValue"]),
111
- queryConfig.value.mode === "fixed" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
184
+ return openBlock(), createElementBlock(Fragment, null, [
185
+ createElementVNode("div", _hoisted_1, [
186
+ createElementVNode("div", _hoisted_2, [
187
+ _cache[20] || (_cache[20] = createElementVNode("span", { class: "config-label" }, "开启筛选", -1)),
188
+ createVNode(_component_el_switch, {
189
+ modelValue: queryConfig.value.enabled,
190
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => queryConfig.value.enabled = $event),
191
+ size: "small"
192
+ }, null, 8, ["modelValue"]),
193
+ createVNode(_component_el_divider, { direction: "vertical" }),
194
+ _cache[21] || (_cache[21] = createElementVNode("span", { class: "config-label" }, "显示返回", -1)),
195
+ createVNode(_component_el_switch, {
196
+ modelValue: editConfigDataValue.value.showReturn,
197
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => editConfigDataValue.value.showReturn = $event),
198
+ size: "small"
199
+ }, null, 8, ["modelValue"]),
112
200
  createVNode(_component_el_divider, { direction: "vertical" }),
113
- _cache[7] || (_cache[7] = createElementVNode("span", { class: "config-label" }, "筛选列数", -1)),
201
+ _cache[22] || (_cache[22] = createElementVNode("span", { class: "config-label" }, "显示标题", -1)),
202
+ createVNode(_component_el_switch, {
203
+ modelValue: editConfigDataValue.value.showTitle,
204
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => editConfigDataValue.value.showTitle = $event),
205
+ size: "small"
206
+ }, null, 8, ["modelValue"]),
207
+ createVNode(_component_el_divider, { direction: "vertical" }),
208
+ _cache[23] || (_cache[23] = createElementVNode("span", { class: "config-label" }, "筛选模式", -1)),
114
209
  createVNode(_component_el_select, {
115
- modelValue: queryConfig.value.columnCount,
116
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => queryConfig.value.columnCount = $event),
210
+ modelValue: queryConfig.value.mode,
211
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => queryConfig.value.mode = $event),
117
212
  size: "small",
118
- style: { "width": "100px" }
213
+ style: { "width": "120px" }
119
214
  }, {
120
215
  default: withCtx(() => [
121
216
  createVNode(_component_el_option, {
122
- label: "一列",
123
- value: 1
124
- }),
125
- createVNode(_component_el_option, {
126
- label: "二列",
127
- value: 2
217
+ label: "固定列",
218
+ value: "fixed"
128
219
  }),
129
220
  createVNode(_component_el_option, {
130
- label: "三列",
131
- value: 3
132
- }),
133
- createVNode(_component_el_option, {
134
- label: "四列",
135
- value: 4
221
+ label: "动态列",
222
+ value: "dynamic"
136
223
  })
137
224
  ]),
138
225
  _: 1
139
226
  }, 8, ["modelValue"]),
140
- createVNode(_component_el_divider, { direction: "vertical" }),
141
- _cache[8] || (_cache[8] = createElementVNode("span", { class: "config-label" }, "收起行数", -1)),
142
- createVNode(_component_el_input_number, {
143
- modelValue: queryConfig.value.collapseRows,
144
- "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => queryConfig.value.collapseRows = $event),
145
- min: 1,
146
- size: "small",
147
- "controls-position": "right",
148
- style: { "width": "80px" }
149
- }, null, 8, ["modelValue"]),
150
- createVNode(_component_el_divider, { direction: "vertical" }),
151
- createVNode(_component_el_dropdown, {
152
- trigger: "click",
153
- placement: "bottom",
154
- "hide-on-click": false
155
- }, {
156
- dropdown: withCtx(() => [
157
- createVNode(_component_el_dropdown_menu, null, {
158
- default: withCtx(() => [
159
- (openBlock(true), createElementBlock(Fragment, null, renderList(availableFields.value, (field) => {
160
- return openBlock(), createBlock(_component_el_dropdown_item, {
161
- key: field.id,
162
- command: field
227
+ queryConfig.value.mode === "fixed" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
228
+ createVNode(_component_el_divider, { direction: "vertical" }),
229
+ _cache[11] || (_cache[11] = createElementVNode("span", { class: "config-label" }, "筛选列数", -1)),
230
+ createVNode(_component_el_select, {
231
+ modelValue: queryConfig.value.columnCount,
232
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => queryConfig.value.columnCount = $event),
233
+ size: "small",
234
+ style: { "width": "100px" }
235
+ }, {
236
+ default: withCtx(() => [
237
+ createVNode(_component_el_option, {
238
+ label: "一列",
239
+ value: 1
240
+ }),
241
+ createVNode(_component_el_option, {
242
+ label: "二列",
243
+ value: 2
244
+ }),
245
+ createVNode(_component_el_option, {
246
+ label: "三列",
247
+ value: 3
248
+ }),
249
+ createVNode(_component_el_option, {
250
+ label: "四列",
251
+ value: 4
252
+ })
253
+ ]),
254
+ _: 1
255
+ }, 8, ["modelValue"]),
256
+ createVNode(_component_el_divider, { direction: "vertical" }),
257
+ _cache[12] || (_cache[12] = createElementVNode("span", { class: "config-label" }, "收起行数", -1)),
258
+ createVNode(_component_el_input_number, {
259
+ modelValue: queryConfig.value.collapseRows,
260
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => queryConfig.value.collapseRows = $event),
261
+ min: 1,
262
+ size: "small",
263
+ "controls-position": "right",
264
+ style: { "width": "80px" }
265
+ }, null, 8, ["modelValue"])
266
+ ], 64)) : createCommentVNode("", true),
267
+ queryConfig.value.mode === "dynamic" ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
268
+ createVNode(_component_el_divider, { direction: "vertical" }),
269
+ createVNode(_component_el_dropdown, {
270
+ trigger: "click",
271
+ "popper-class": "tab-config-dropdown",
272
+ onVisibleChange: _cache[7] || (_cache[7] = (visible) => tabConfigDropdownVisible.value = visible)
273
+ }, {
274
+ dropdown: withCtx(() => [
275
+ tabConfigDropdownVisible.value ? (openBlock(), createElementBlock("div", _hoisted_3, [
276
+ createElementVNode("div", _hoisted_4, [
277
+ _cache[15] || (_cache[15] = createElementVNode("span", { class: "tab-tip" }, "配置Tab页签筛选条件", -1)),
278
+ createVNode(_component_el_button, {
279
+ type: "primary",
280
+ size: "small",
281
+ onClick: addTabConfig,
282
+ icon: "Plus"
283
+ }, {
284
+ default: withCtx(() => _cache[14] || (_cache[14] = [
285
+ createTextVNode(" 添加Tab页签 ")
286
+ ])),
287
+ _: 1
288
+ })
289
+ ]),
290
+ createElementVNode("div", _hoisted_5, [
291
+ createVNode(unref(lo), {
292
+ modelValue: tabConfigs.value,
293
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => tabConfigs.value = $event),
294
+ animation: 150,
295
+ handle: ".drag-handle"
163
296
  }, {
164
297
  default: withCtx(() => [
165
- createVNode(_component_el_checkbox, {
166
- modelValue: field.isFilter,
167
- "onUpdate:modelValue": ($event) => field.isFilter = $event,
168
- onChange: (value) => {
169
- handleAddField(field, value);
170
- }
171
- }, {
172
- default: withCtx(() => [
173
- createElementVNode("span", _hoisted_3, toDisplayString(field.label), 1)
174
- ]),
175
- _: 2
176
- }, 1032, ["modelValue", "onUpdate:modelValue", "onChange"])
298
+ (openBlock(true), createElementBlock(Fragment, null, renderList(tabConfigs.value, (tab, index) => {
299
+ return openBlock(), createElementBlock("div", {
300
+ key: tab.id,
301
+ class: "tab-config-item"
302
+ }, [
303
+ createElementVNode("div", _hoisted_6, [
304
+ createVNode(_component_el_icon, null, {
305
+ default: withCtx(() => [
306
+ createVNode(unref(rank_default))
307
+ ]),
308
+ _: 1
309
+ })
310
+ ]),
311
+ createVNode(_component_el_input, {
312
+ modelValue: tab.label,
313
+ "onUpdate:modelValue": ($event) => tab.label = $event,
314
+ size: "small",
315
+ placeholder: "标签名",
316
+ style: { "width": "120px" }
317
+ }, null, 8, ["modelValue", "onUpdate:modelValue"]),
318
+ createVNode(_component_el_select, {
319
+ modelValue: tab.fieldName,
320
+ "onUpdate:modelValue": ($event) => tab.fieldName = $event,
321
+ size: "small",
322
+ placeholder: "选择字段",
323
+ style: { "width": "150px" },
324
+ "append-to": ".tab-config-dropdown"
325
+ }, {
326
+ default: withCtx(() => [
327
+ (openBlock(true), createElementBlock(Fragment, null, renderList(availableFields.value, (field) => {
328
+ return openBlock(), createBlock(_component_el_option, {
329
+ key: field.id,
330
+ label: field.label,
331
+ value: field.fieldName
332
+ }, null, 8, ["label", "value"]);
333
+ }), 128))
334
+ ]),
335
+ _: 2
336
+ }, 1032, ["modelValue", "onUpdate:modelValue"]),
337
+ createVNode(_component_el_input, {
338
+ modelValue: tab.fixedValue,
339
+ "onUpdate:modelValue": ($event) => tab.fixedValue = $event,
340
+ size: "small",
341
+ placeholder: "筛选值",
342
+ style: { "width": "120px" },
343
+ disabled: !tab.fieldName
344
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "disabled"]),
345
+ createVNode(_component_el_button, {
346
+ icon: unref(delete_default),
347
+ link: "",
348
+ type: "danger",
349
+ class: "delete-btn",
350
+ onClick: ($event) => removeTabConfig(index)
351
+ }, null, 8, ["icon", "onClick"])
352
+ ]);
353
+ }), 128))
177
354
  ]),
178
- _: 2
179
- }, 1032, ["command"]);
180
- }), 128)),
181
- availableFields.value.length === 0 ? (openBlock(), createBlock(_component_el_dropdown_item, {
182
- key: 0,
183
- disabled: ""
184
- }, {
185
- default: withCtx(() => _cache[6] || (_cache[6] = [
186
- createElementVNode("span", {
187
- class: "add-field-label",
188
- style: { "text-align": "center" }
189
- }, "暂无可用字段", -1)
190
- ])),
191
- _: 1
192
- })) : createCommentVNode("", true)
193
- ]),
194
- _: 1
195
- })
196
- ]),
197
- default: withCtx(() => [
198
- createVNode(_component_el_button, {
199
- size: "small",
200
- icon: unref(plus_default)
201
- }, {
202
- default: withCtx(() => [
203
- _cache[5] || (_cache[5] = createTextVNode("新增筛选 ")),
204
- queryConfig.value.filterFields.length > 0 ? (openBlock(), createBlock(_component_el_tag, {
205
- key: 0,
206
- size: "small",
207
- type: "primary",
208
- style: { "margin-left": "6px", "height": "16px", "padding": "0 5px" }
209
- }, {
210
- default: withCtx(() => [
211
- createTextVNode(toDisplayString(queryConfig.value.filterFields.length), 1)
212
- ]),
213
- _: 1
214
- })) : createCommentVNode("", true)
215
- ]),
216
- _: 1
217
- }, 8, ["icon"])
218
- ]),
219
- _: 1
220
- })
221
- ], 64)) : createCommentVNode("", true)
355
+ _: 1
356
+ }, 8, ["modelValue"]),
357
+ tabConfigs.value.length === 0 ? (openBlock(), createBlock(_component_el_empty, {
358
+ key: 0,
359
+ description: "暂无Tab页签配置",
360
+ "image-size": 60
361
+ })) : createCommentVNode("", true)
362
+ ])
363
+ ])) : createCommentVNode("", true)
364
+ ]),
365
+ default: withCtx(() => [
366
+ createVNode(_component_el_button, {
367
+ icon: unref(filter_default),
368
+ size: "small"
369
+ }, {
370
+ default: withCtx(() => [
371
+ _cache[13] || (_cache[13] = createTextVNode(" 配置Tab页签 ")),
372
+ tabConfigs.value.length > 0 ? (openBlock(), createBlock(_component_el_tag, {
373
+ key: 0,
374
+ size: "small",
375
+ type: "primary",
376
+ class: "tab-count-tag"
377
+ }, {
378
+ default: withCtx(() => [
379
+ createTextVNode(toDisplayString(tabConfigs.value.length), 1)
380
+ ]),
381
+ _: 1
382
+ })) : createCommentVNode("", true)
383
+ ]),
384
+ _: 1
385
+ }, 8, ["icon"])
386
+ ]),
387
+ _: 1
388
+ }),
389
+ createVNode(_component_el_divider, { direction: "vertical" }),
390
+ createVNode(_component_el_dropdown, {
391
+ trigger: "click",
392
+ placement: "bottom",
393
+ "hide-on-click": false
394
+ }, {
395
+ dropdown: withCtx(() => [
396
+ createVNode(_component_el_dropdown_menu, null, {
397
+ default: withCtx(() => [
398
+ (openBlock(true), createElementBlock(Fragment, null, renderList(availableSearchFields.value, (field) => {
399
+ return openBlock(), createBlock(_component_el_dropdown_item, {
400
+ key: field.id,
401
+ command: field
402
+ }, {
403
+ default: withCtx(() => [
404
+ createVNode(_component_el_checkbox, {
405
+ modelValue: field.isSearchField,
406
+ "onUpdate:modelValue": ($event) => field.isSearchField = $event,
407
+ onChange: (value) => {
408
+ handleSearchFieldChange(field, value);
409
+ }
410
+ }, {
411
+ default: withCtx(() => [
412
+ createElementVNode("span", _hoisted_7, toDisplayString(field.label), 1)
413
+ ]),
414
+ _: 2
415
+ }, 1032, ["modelValue", "onUpdate:modelValue", "onChange"])
416
+ ]),
417
+ _: 2
418
+ }, 1032, ["command"]);
419
+ }), 128)),
420
+ availableSearchFields.value.length === 0 ? (openBlock(), createBlock(_component_el_dropdown_item, {
421
+ key: 0,
422
+ disabled: ""
423
+ }, {
424
+ default: withCtx(() => _cache[17] || (_cache[17] = [
425
+ createElementVNode("span", {
426
+ class: "add-field-label",
427
+ style: { "text-align": "center" }
428
+ }, "暂无可用字段", -1)
429
+ ])),
430
+ _: 1
431
+ })) : createCommentVNode("", true)
432
+ ]),
433
+ _: 1
434
+ })
435
+ ]),
436
+ default: withCtx(() => [
437
+ createVNode(_component_el_button, {
438
+ size: "small",
439
+ icon: unref(plus_default)
440
+ }, {
441
+ default: withCtx(() => [
442
+ _cache[16] || (_cache[16] = createTextVNode(" 配置搜索字段 ")),
443
+ searchFields.value.length > 0 ? (openBlock(), createBlock(_component_el_tag, {
444
+ key: 0,
445
+ size: "small",
446
+ type: "primary",
447
+ style: { "margin-left": "6px", "height": "16px", "padding": "0 5px" }
448
+ }, {
449
+ default: withCtx(() => [
450
+ createTextVNode(toDisplayString(searchFields.value.length), 1)
451
+ ]),
452
+ _: 1
453
+ })) : createCommentVNode("", true)
454
+ ]),
455
+ _: 1
456
+ }, 8, ["icon"])
457
+ ]),
458
+ _: 1
459
+ }),
460
+ createVNode(_component_el_divider, { direction: "vertical" }),
461
+ _cache[18] || (_cache[18] = createElementVNode("span", { class: "config-label" }, "高级搜索", -1)),
462
+ createVNode(_component_el_switch, {
463
+ modelValue: queryConfig.value.dynamicConfig.advancedSearch,
464
+ "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => queryConfig.value.dynamicConfig.advancedSearch = $event),
465
+ size: "small"
466
+ }, null, 8, ["modelValue"])
467
+ ], 64)) : createCommentVNode("", true),
468
+ queryConfig.value.mode === "fixed" || queryConfig.value.mode === "dynamic" && queryConfig.value.dynamicConfig.advancedSearch ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [
469
+ createVNode(_component_el_divider, { direction: "vertical" }),
470
+ createVNode(_component_el_dropdown, {
471
+ trigger: "click",
472
+ placement: "bottom",
473
+ "hide-on-click": false
474
+ }, {
475
+ dropdown: withCtx(() => [
476
+ createVNode(_component_el_dropdown_menu, null, {
477
+ default: withCtx(() => [
478
+ (openBlock(true), createElementBlock(Fragment, null, renderList(availableFields.value, (field) => {
479
+ return openBlock(), createBlock(_component_el_dropdown_item, {
480
+ key: field.id,
481
+ command: field
482
+ }, {
483
+ default: withCtx(() => [
484
+ createVNode(_component_el_checkbox, {
485
+ modelValue: field.isFilter,
486
+ "onUpdate:modelValue": ($event) => field.isFilter = $event,
487
+ onChange: (value) => {
488
+ handleAddField(field, value);
489
+ }
490
+ }, {
491
+ default: withCtx(() => [
492
+ createElementVNode("span", _hoisted_8, toDisplayString(field.label), 1)
493
+ ]),
494
+ _: 2
495
+ }, 1032, ["modelValue", "onUpdate:modelValue", "onChange"])
496
+ ]),
497
+ _: 2
498
+ }, 1032, ["command"]);
499
+ }), 128)),
500
+ availableFields.value.length === 0 ? (openBlock(), createBlock(_component_el_dropdown_item, {
501
+ key: 0,
502
+ disabled: ""
503
+ }, {
504
+ default: withCtx(() => _cache[19] || (_cache[19] = [
505
+ createElementVNode("span", {
506
+ class: "add-field-label",
507
+ style: { "text-align": "center" }
508
+ }, "暂无可用字段", -1)
509
+ ])),
510
+ _: 1
511
+ })) : createCommentVNode("", true)
512
+ ]),
513
+ _: 1
514
+ })
515
+ ]),
516
+ default: withCtx(() => [
517
+ createVNode(_component_el_button, {
518
+ size: "small",
519
+ icon: unref(plus_default)
520
+ }, {
521
+ default: withCtx(() => [
522
+ createTextVNode(toDisplayString(queryConfig.value.mode === "fixed" ? "新增筛选" : "高级搜索字段") + " ", 1),
523
+ queryConfig.value.filterFields.length > 0 ? (openBlock(), createBlock(_component_el_tag, {
524
+ key: 0,
525
+ size: "small",
526
+ type: "primary",
527
+ style: { "margin-left": "6px", "height": "16px", "padding": "0 5px" }
528
+ }, {
529
+ default: withCtx(() => [
530
+ createTextVNode(toDisplayString(queryConfig.value.filterFields.length), 1)
531
+ ]),
532
+ _: 1
533
+ })) : createCommentVNode("", true)
534
+ ]),
535
+ _: 1
536
+ }, 8, ["icon"])
537
+ ]),
538
+ _: 1
539
+ })
540
+ ], 64)) : createCommentVNode("", true)
541
+ ]),
542
+ queryConfig.value.enabled ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
543
+ queryConfig.value.mode === "fixed" ? (openBlock(), createBlock(FixedModeConfig, {
544
+ key: 0,
545
+ modelValue: queryConfig.value.filterFields,
546
+ "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => queryConfig.value.filterFields = $event)
547
+ }, null, 8, ["modelValue"])) : queryConfig.value.mode === "dynamic" ? (openBlock(), createBlock(DynamicModeConfig, {
548
+ key: 1,
549
+ modelValue: queryConfig.value.dynamicConfig,
550
+ "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => queryConfig.value.dynamicConfig = $event)
551
+ }, null, 8, ["modelValue"])) : createCommentVNode("", true)
552
+ ], 64)) : (openBlock(), createElementBlock("div", _hoisted_9, "未开启筛选功能"))
222
553
  ]),
223
- queryConfig.value.enabled ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
224
- queryConfig.value.mode === "fixed" ? (openBlock(), createBlock(FixedModeConfig, {
225
- key: 0,
226
- modelValue: queryConfig.value.filterFields,
227
- "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => queryConfig.value.filterFields = $event)
228
- }, null, 8, ["modelValue"])) : createCommentVNode("", true)
229
- ], 64)) : (openBlock(), createElementBlock("div", _hoisted_4, "未开启筛选功能"))
230
- ]);
554
+ queryConfig.value.mode === "fixed" ? (openBlock(), createBlock(TableBtn, { key: 0 })) : createCommentVNode("", true)
555
+ ], 64);
231
556
  };
232
557
  }
233
558
  };
234
- const QueryModule = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-29ad1881"]]);
559
+ const QueryModule = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e14779e4"]]);
235
560
  export {
236
561
  QueryModule as default
237
562
  };