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