@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
@@ -0,0 +1,1004 @@
1
+ /* empty css */
2
+ /* empty css */
3
+ /* empty css */
4
+ /* empty css */
5
+ /* empty css */
6
+ /* empty css */
7
+ /* empty css */
8
+ /* empty css */
9
+ /* empty css */
10
+ /* empty css */
11
+ /* empty css */
12
+ /* empty css */
13
+ /* empty css */
14
+ /* empty css */
15
+ /* empty css */
16
+ /* empty css */
17
+ /* empty css */
18
+ /* empty css */
19
+ /* empty css */
20
+ /* empty css */
21
+ /* empty css */
22
+ /* empty css */
23
+ /* empty css */
24
+ /* empty css */
25
+ /* empty css */
26
+ import { computed, useModel, ref, watch, createBlock, openBlock, unref, withCtx, createVNode, createElementBlock, createCommentVNode, createElementVNode, toDisplayString, createTextVNode, withKeys, isRef, Fragment, renderList, normalizeClass, withDirectives, vShow, withModifiers } from "vue";
27
+ 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";
28
+ import { Loading as loading_default, Plus as plus_default, Close as close_default, Check as check_default, Delete as delete_default, Rank as rank_default, Edit as edit_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";
29
+ import { getEditConfigData, cloneDeep } from "../utils/common.mjs";
30
+ import TemplateSelector from "../../components/TemplateSelector.vue.mjs";
31
+ import api from "../../api/index.mjs";
32
+ import ParamsConfig from "../../components/ParamsConfig.vue2.mjs";
33
+ import _sfc_main$1 from "../../components/DataSourceSelect.vue.mjs";
34
+ /* empty css */
35
+ /* empty css */
36
+ 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";
37
+ 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";
38
+ /* empty css */
39
+ import _export_sfc from "../../../../../_virtual/_plugin-vue_export-helper.mjs";
40
+ import "../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/theme-chalk/el-tooltip.css.mjs";
41
+ /* empty css */
42
+ /* empty css */
43
+ /* empty css */
44
+ /* empty css */
45
+ /* empty css */
46
+ /* empty css */
47
+ /* empty css */
48
+ /* empty css */
49
+ /* empty css */
50
+ /* empty css */
51
+ import "../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/theme-chalk/el-sub-menu.css.mjs";
52
+ import "../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/theme-chalk/el-menu-item.css.mjs";
53
+ /* empty css */
54
+ /* empty css */
55
+ /* empty css */
56
+ /* empty css */
57
+ /* empty css */
58
+ import "../../../../../node_modules/.pnpm/vue-codemirror@6.1.1_codemi_73012f469d7d7603a19ccbabfd8e6a05/node_modules/vue-codemirror/dist/vue-codemirror.esm.mjs";
59
+ import "../formulaEditor/core/functionCore.mjs";
60
+ /* empty css */
61
+ /* empty css */
62
+ /* empty css */
63
+ /* empty css */
64
+ /* empty css */
65
+ /* empty css */
66
+ /* empty css */
67
+ /* empty css */
68
+ /* empty css */
69
+ import "../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/theme-chalk/el-date-picker.css.mjs";
70
+ /* empty css */
71
+ /* empty css */
72
+ /* empty css */
73
+ import "../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/theme-chalk/el-tab-pane.css.mjs";
74
+ /* empty css */
75
+ /* empty css */
76
+ import "../../axios/config.mjs";
77
+ /* empty css */
78
+ /* empty css */
79
+ /* empty css */
80
+ /* empty css */
81
+ /* empty css */
82
+ /* empty css */
83
+ /* empty css */
84
+ /* empty css */
85
+ /* empty css */
86
+ /* empty css */
87
+ /* empty css */
88
+ import { defaultProperty } from "../table/aside/index.mjs";
89
+ import { defaultTableConfig } from "../table/default.mjs";
90
+ import widgets from "../table/property/widgets.vue.mjs";
91
+ /* empty css */
92
+ import { ElMessage } from "../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/message/index.mjs";
93
+ import { ElDialog } from "../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/dialog/index.mjs";
94
+ import { ElContainer, ElAside, ElHeader, ElMain } from "../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/container/index.mjs";
95
+ 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";
96
+ 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";
97
+ 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";
98
+ import { ElLink } from "../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/link/index.mjs";
99
+ import { ElScrollbar } from "../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/scrollbar/index.mjs";
100
+ import { ElForm, ElFormItem } from "../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/form/index.mjs";
101
+ import { ElRadioGroup, ElRadioButton } from "../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/radio/index.mjs";
102
+ import { ElSelect, ElOption } from "../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/select/index.mjs";
103
+ import { ElPopover } from "../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/popover/index.mjs";
104
+ 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";
105
+ 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";
106
+ const _hoisted_1 = {
107
+ key: 0,
108
+ class: "loading-overlay"
109
+ };
110
+ const _hoisted_2 = { class: "loading-text" };
111
+ const _hoisted_3 = { key: 0 };
112
+ const _hoisted_4 = { class: "dialog-menu-item is-editing" };
113
+ const _hoisted_5 = { class: "new-item-content" };
114
+ const _hoisted_6 = { class: "edit-actions" };
115
+ const _hoisted_7 = ["onClick"];
116
+ const _hoisted_8 = { class: "dialog-content" };
117
+ const _hoisted_9 = { class: "dialog-name-wrapper" };
118
+ const _hoisted_10 = { style: { "display": "flex", "gap": "16px", "width": "100%" } };
119
+ const _hoisted_11 = { class: "col-panel" };
120
+ const _hoisted_12 = { class: "col-header" };
121
+ const _hoisted_13 = { class: "col-rules-list" };
122
+ const _hoisted_14 = { class: "drag-handle" };
123
+ const _hoisted_15 = { class: "custom-col-btns" };
124
+ const _hoisted_16 = { class: "col-property" };
125
+ const _hoisted_17 = { class: "footer-buttons-container" };
126
+ const _hoisted_18 = {
127
+ key: 0,
128
+ class: "empty-tip"
129
+ };
130
+ const _hoisted_19 = {
131
+ key: 1,
132
+ class: "footer-buttons"
133
+ };
134
+ const _hoisted_20 = {
135
+ key: 1,
136
+ class: "empty-selection"
137
+ };
138
+ const _hoisted_21 = { class: "dialog-footer" };
139
+ const _sfc_main = {
140
+ __name: "index",
141
+ props: {
142
+ "modelValue": { required: true },
143
+ "modelModifiers": {}
144
+ },
145
+ emits: ["update:modelValue"],
146
+ setup(__props) {
147
+ const editConfigData = computed(() => {
148
+ return getEditConfigData();
149
+ });
150
+ const dialogVisible = useModel(__props, "modelValue");
151
+ const loading = ref(false);
152
+ const saving = ref(false);
153
+ const selectedDialogs = ref([]);
154
+ const activeDialogIndex = ref(-1);
155
+ watch(dialogVisible, async (val) => {
156
+ if (val) {
157
+ isEditingNew.value = false;
158
+ editingDialogIndex.value = -1;
159
+ loading.value = true;
160
+ try {
161
+ const response = await api.getAllTemplateDialog();
162
+ selectedDialogs.value = [];
163
+ for (let dialog of response) {
164
+ selectedDialogs.value.push({
165
+ id: dialog.id,
166
+ name: dialog.name,
167
+ ...JSON.parse(dialog.config)
168
+ });
169
+ }
170
+ if (selectedDialogs.value.length > 0 && activeDialogIndex.value === -1) {
171
+ activeDialogIndex.value = 0;
172
+ }
173
+ } catch (error) {
174
+ console.error("🚀 ~ 获取弹层数据失败:", error);
175
+ ElMessage.error("获取弹层数据失败");
176
+ selectedDialogs.value = [];
177
+ } finally {
178
+ loading.value = false;
179
+ }
180
+ }
181
+ });
182
+ const isEditingNew = ref(false);
183
+ const newDialogName = ref("");
184
+ const editingDialogIndex = ref(-1);
185
+ const editingDialogName = ref("");
186
+ const startAddDialog = () => {
187
+ isEditingNew.value = true;
188
+ newDialogName.value = "";
189
+ };
190
+ const confirmAddDialog = async () => {
191
+ if (!newDialogName.value.trim()) {
192
+ ElMessage.warning("请输入弹层名称");
193
+ return;
194
+ }
195
+ const newDialog = {
196
+ id: "dialog_" + Date.now(),
197
+ name: newDialogName.value,
198
+ dialogTitle: "弹层标题",
199
+ // 默认弹层标题
200
+ dialogSize: "standard",
201
+ dialogParams: [],
202
+ customWidth: "",
203
+ // 自定义宽度
204
+ customMaxHeight: "",
205
+ // 自定义最大高度
206
+ contentSource: "table",
207
+ tableContent: "select",
208
+ selectionMode: "single",
209
+ isSubTablePagination: true,
210
+ isSubTableReadOnly: false,
211
+ componentPath: "",
212
+ fieldMapping: [],
213
+ subFormMode: "edit",
214
+ subFormFooterButtons: []
215
+ // 表单底部按钮
216
+ };
217
+ selectedDialogs.value.push(newDialog);
218
+ isEditingNew.value = false;
219
+ newDialogName.value = "";
220
+ activeDialogIndex.value = selectedDialogs.value.length - 1;
221
+ };
222
+ const cancelAddDialog = () => {
223
+ isEditingNew.value = false;
224
+ newDialogName.value = "";
225
+ };
226
+ const handleRemoveDialog = async (index) => {
227
+ const dialogToRemove = selectedDialogs.value[index];
228
+ try {
229
+ await api.deleteTemplateDialog(dialogToRemove.id);
230
+ } catch (error) {
231
+ console.error("🚀 ~ 删除弹层失败:", error);
232
+ ElMessage.error("删除弹层失败");
233
+ return;
234
+ }
235
+ selectedDialogs.value.splice(index, 1);
236
+ if (activeDialogIndex.value === index) {
237
+ activeDialogIndex.value = -1;
238
+ } else if (activeDialogIndex.value > index) {
239
+ activeDialogIndex.value--;
240
+ }
241
+ ElMessage.success("弹层删除成功");
242
+ };
243
+ const startEditDialog = (index) => {
244
+ editingDialogIndex.value = index;
245
+ editingDialogName.value = selectedDialogs.value[index].name;
246
+ };
247
+ const onEditOutside = () => {
248
+ if (editingDialogIndex.value !== -1) {
249
+ if (!editingDialogName.value.trim()) {
250
+ ElMessage.warning("请输入弹层名称");
251
+ return;
252
+ }
253
+ selectedDialogs.value[editingDialogIndex.value].name = editingDialogName.value;
254
+ editingDialogIndex.value = -1;
255
+ editingDialogName.value = "";
256
+ }
257
+ };
258
+ const onConfirm = async () => {
259
+ saving.value = true;
260
+ try {
261
+ const dialogArr = selectedDialogs.value.map((dialog) => {
262
+ const data = cloneDeep(dialog);
263
+ const id = data.id;
264
+ const name = data.name;
265
+ delete data.id;
266
+ delete data.name;
267
+ return {
268
+ id,
269
+ name,
270
+ config: JSON.stringify(data)
271
+ };
272
+ });
273
+ const response = await api.saveTemplateDialog(dialogArr);
274
+ ElMessage.success("弹层配置保存成功");
275
+ dialogVisible.value = false;
276
+ } catch (error) {
277
+ console.error("🚀 ~ 保存弹层数据失败:", error);
278
+ ElMessage.error("保存弹层数据失败");
279
+ } finally {
280
+ saving.value = false;
281
+ }
282
+ };
283
+ const tableOptions = ref(null);
284
+ const formOptions = ref(null);
285
+ const currentDialog = computed(() => {
286
+ const data = selectedDialogs.value[activeDialogIndex.value];
287
+ if (!data.fieldMapping) {
288
+ data.fieldMapping = [];
289
+ }
290
+ if (!data.customTableConfig) {
291
+ data.customTableConfig = cloneDeep(defaultTableConfig);
292
+ data.customTableConfig.fieldsData = [];
293
+ data.customTableConfig.dataSources = editConfigData.value.dataSources;
294
+ } else {
295
+ data.customTableConfig.dataSources = editConfigData.value.dataSources;
296
+ data.customTableConfig.queryConfig.enabled = false;
297
+ }
298
+ if ((data == null ? void 0 : data.contentSource) == "table") {
299
+ const pkId = data == null ? void 0 : data.subTableId;
300
+ if (pkId) {
301
+ api.getById(pkId, false).then((data2) => {
302
+ tableOptions.value = JSON.parse(data2.context);
303
+ });
304
+ }
305
+ } else if ((data == null ? void 0 : data.contentSource) == "form") {
306
+ const pkId = data == null ? void 0 : data.subFormId;
307
+ if (pkId) {
308
+ api.getById(pkId, false).then((data2) => {
309
+ formOptions.value = JSON.parse(data2.context);
310
+ });
311
+ }
312
+ }
313
+ return data;
314
+ });
315
+ function tableSelectorConfirm(data) {
316
+ tableOptions.value = data;
317
+ currentDialog.value.subTableMode = null;
318
+ }
319
+ function formSelectorConfirm(data) {
320
+ formOptions.value = data;
321
+ }
322
+ const tableMode = computed(() => {
323
+ var _a;
324
+ return (_a = tableOptions.value) == null ? void 0 : _a.mode;
325
+ });
326
+ computed(() => {
327
+ var _a, _b, _c, _d;
328
+ if (currentDialog.value.tableContent === "custom") {
329
+ return ((_b = (_a = currentDialog.value) == null ? void 0 : _a.customTableConfig) == null ? void 0 : _b.fieldsData) || [];
330
+ } else if (currentDialog.value.tableContent === "select") {
331
+ return [
332
+ ...((_c = tableOptions.value) == null ? void 0 : _c.fieldsData) || [],
333
+ ...((_d = tableOptions.value) == null ? void 0 : _d.hiddenFields) || []
334
+ ];
335
+ }
336
+ });
337
+ const formFooterBtn = computed(() => {
338
+ var _a;
339
+ const btnList = (_a = formOptions.value) == null ? void 0 : _a.pageFooterConfig.actions;
340
+ if (btnList) {
341
+ return btnList.filter((item) => item.btnType == "primary");
342
+ }
343
+ return [];
344
+ });
345
+ const isButtonSelected = (btnId) => {
346
+ var _a, _b;
347
+ return (_b = (_a = currentDialog.value) == null ? void 0 : _a.subFormFooterButtons) == null ? void 0 : _b.includes(btnId);
348
+ };
349
+ const toggleButton = (btn) => {
350
+ if (!currentDialog.value.subFormFooterButtons) {
351
+ currentDialog.value.subFormFooterButtons = [];
352
+ }
353
+ const index = currentDialog.value.subFormFooterButtons.indexOf(btn.id);
354
+ if (index > -1) {
355
+ currentDialog.value.subFormFooterButtons.splice(index, 1);
356
+ } else {
357
+ currentDialog.value.subFormFooterButtons.push(btn.id);
358
+ }
359
+ };
360
+ const addTableCol = () => {
361
+ currentDialog.value.customTableConfig.fieldsData.push({
362
+ fieldType: "text",
363
+ label: "",
364
+ ...defaultProperty,
365
+ fieldName: ""
366
+ });
367
+ };
368
+ const removeCol = (index) => {
369
+ currentDialog.value.customTableConfig.fieldsData.splice(index, 1);
370
+ };
371
+ return (_ctx, _cache) => {
372
+ const _component_el_icon = ElIcon;
373
+ const _component_el_button = ElButton;
374
+ const _component_el_header = ElHeader;
375
+ const _component_el_input = ElInput;
376
+ const _component_el_link = ElLink;
377
+ const _component_el_main = ElMain;
378
+ const _component_el_container = ElContainer;
379
+ const _component_el_aside = ElAside;
380
+ const _component_el_form_item = ElFormItem;
381
+ const _component_el_radio_button = ElRadioButton;
382
+ const _component_el_radio_group = ElRadioGroup;
383
+ const _component_el_option = ElOption;
384
+ const _component_el_select = ElSelect;
385
+ const _component_el_scrollbar = ElScrollbar;
386
+ const _component_el_popover = ElPopover;
387
+ const _component_el_switch = ElSwitch;
388
+ const _component_el_checkbox = ElCheckbox;
389
+ const _component_el_form = ElForm;
390
+ const _component_el_dialog = ElDialog;
391
+ return openBlock(), createBlock(_component_el_dialog, {
392
+ modelValue: dialogVisible.value,
393
+ "onUpdate:modelValue": _cache[24] || (_cache[24] = ($event) => dialogVisible.value = $event),
394
+ width: "50%",
395
+ title: "全局弹层配置",
396
+ draggable: "",
397
+ overflow: "",
398
+ "append-to-body": "",
399
+ class: "fec-dev-designer-dialog",
400
+ "close-on-click-modal": !unref(saving),
401
+ "close-on-press-escape": !unref(saving),
402
+ "show-close": !unref(saving)
403
+ }, {
404
+ footer: withCtx(() => [
405
+ createElementVNode("div", _hoisted_21, [
406
+ createVNode(_component_el_button, {
407
+ onClick: _cache[23] || (_cache[23] = ($event) => dialogVisible.value = false),
408
+ disabled: unref(saving)
409
+ }, {
410
+ default: withCtx(() => _cache[41] || (_cache[41] = [
411
+ createTextVNode("取消")
412
+ ])),
413
+ _: 1
414
+ }, 8, ["disabled"]),
415
+ createVNode(_component_el_button, {
416
+ type: "primary",
417
+ onClick: onConfirm,
418
+ loading: unref(saving),
419
+ disabled: unref(loading) || unref(saving)
420
+ }, {
421
+ default: withCtx(() => _cache[42] || (_cache[42] = [
422
+ createTextVNode(" 确定 ")
423
+ ])),
424
+ _: 1
425
+ }, 8, ["loading", "disabled"])
426
+ ])
427
+ ]),
428
+ default: withCtx(() => [
429
+ createVNode(_component_el_container, { style: { "border": "1px solid #ebeef5", "border-radius": "4px", "height": "600px", "position": "relative" } }, {
430
+ default: withCtx(() => [
431
+ unref(loading) || unref(saving) ? (openBlock(), createElementBlock("div", _hoisted_1, [
432
+ createVNode(_component_el_icon, { class: "loading-icon" }, {
433
+ default: withCtx(() => [
434
+ createVNode(unref(loading_default))
435
+ ]),
436
+ _: 1
437
+ }),
438
+ createElementVNode("div", _hoisted_2, toDisplayString(unref(loading) ? "加载中..." : "保存中..."), 1)
439
+ ])) : createCommentVNode("", true),
440
+ createVNode(_component_el_aside, { width: "300px" }, {
441
+ default: withCtx(() => [
442
+ createVNode(_component_el_container, null, {
443
+ default: withCtx(() => [
444
+ createVNode(_component_el_header, {
445
+ height: "40px",
446
+ style: { "background-color": "#f2f2f2", "line-height": "40px" }
447
+ }, {
448
+ default: withCtx(() => [
449
+ createVNode(_component_el_button, {
450
+ type: "primary",
451
+ link: "",
452
+ icon: unref(plus_default),
453
+ onClick: startAddDialog
454
+ }, {
455
+ default: withCtx(() => _cache[25] || (_cache[25] = [
456
+ createTextVNode(" 新增弹层 ")
457
+ ])),
458
+ _: 1
459
+ }, 8, ["icon"])
460
+ ]),
461
+ _: 1
462
+ }),
463
+ createVNode(_component_el_main, { style: { "padding": "10px" } }, {
464
+ default: withCtx(() => [
465
+ unref(isEditingNew) ? (openBlock(), createElementBlock("div", _hoisted_3, [
466
+ createElementVNode("div", _hoisted_4, [
467
+ createElementVNode("div", _hoisted_5, [
468
+ createVNode(_component_el_input, {
469
+ modelValue: unref(newDialogName),
470
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(newDialogName) ? newDialogName.value = $event : null),
471
+ placeholder: "请输入弹层名称",
472
+ size: "default",
473
+ onKeyup: withKeys(confirmAddDialog, ["enter"]),
474
+ class: "new-item-input"
475
+ }, null, 8, ["modelValue"]),
476
+ createElementVNode("div", _hoisted_6, [
477
+ createVNode(_component_el_button, {
478
+ size: "small",
479
+ icon: unref(close_default),
480
+ onClick: cancelAddDialog
481
+ }, {
482
+ default: withCtx(() => _cache[26] || (_cache[26] = [
483
+ createTextVNode(" 取消 ")
484
+ ])),
485
+ _: 1
486
+ }, 8, ["icon"]),
487
+ createVNode(_component_el_button, {
488
+ type: "primary",
489
+ size: "small",
490
+ icon: unref(check_default),
491
+ onClick: confirmAddDialog
492
+ }, {
493
+ default: withCtx(() => _cache[27] || (_cache[27] = [
494
+ createTextVNode(" 确认 ")
495
+ ])),
496
+ _: 1
497
+ }, 8, ["icon"])
498
+ ])
499
+ ])
500
+ ])
501
+ ])) : createCommentVNode("", true),
502
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(selectedDialogs), (dialog, index) => {
503
+ return openBlock(), createElementBlock("div", {
504
+ key: index,
505
+ class: normalizeClass([
506
+ "dialog-menu-item",
507
+ { "is-active": unref(activeDialogIndex) === index }
508
+ ]),
509
+ onClick: ($event) => activeDialogIndex.value = index
510
+ }, [
511
+ createElementVNode("div", _hoisted_8, [
512
+ createElementVNode("div", _hoisted_9, [
513
+ withDirectives(createVNode(_component_el_input, {
514
+ onBlur: ($event) => onEditOutside(),
515
+ maxlength: "30",
516
+ modelValue: unref(editingDialogName),
517
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => isRef(editingDialogName) ? editingDialogName.value = $event : null),
518
+ size: "small"
519
+ }, null, 8, ["onBlur", "modelValue"]), [
520
+ [vShow, unref(editingDialogIndex) === index]
521
+ ]),
522
+ withDirectives(createVNode(_component_el_link, {
523
+ icon: "Edit",
524
+ onClick: withModifiers(($event) => startEditDialog(index), ["stop"])
525
+ }, {
526
+ default: withCtx(() => [
527
+ createTextVNode(toDisplayString(dialog.name), 1)
528
+ ]),
529
+ _: 2
530
+ }, 1032, ["onClick"]), [
531
+ [vShow, unref(editingDialogIndex) !== index]
532
+ ])
533
+ ]),
534
+ createVNode(_component_el_icon, {
535
+ class: "delete-icon",
536
+ onClick: withModifiers(($event) => handleRemoveDialog(index), ["stop"])
537
+ }, {
538
+ default: withCtx(() => [
539
+ createVNode(unref(delete_default))
540
+ ]),
541
+ _: 2
542
+ }, 1032, ["onClick"])
543
+ ])
544
+ ], 10, _hoisted_7);
545
+ }), 128))
546
+ ]),
547
+ _: 1
548
+ })
549
+ ]),
550
+ _: 1
551
+ })
552
+ ]),
553
+ _: 1
554
+ }),
555
+ createVNode(_component_el_main, { style: { "border-left": "1px solid #ebeef5", "padding": "0" } }, {
556
+ default: withCtx(() => [
557
+ unref(activeDialogIndex) !== -1 ? (openBlock(), createBlock(_component_el_container, {
558
+ key: 0,
559
+ style: { "height": "100%" }
560
+ }, {
561
+ default: withCtx(() => [
562
+ createVNode(_component_el_header, {
563
+ height: "40px",
564
+ class: "dialog-header"
565
+ }, {
566
+ default: withCtx(() => [
567
+ createElementVNode("div", null, toDisplayString(unref(currentDialog).name), 1)
568
+ ]),
569
+ _: 1
570
+ }),
571
+ createVNode(_component_el_main, { style: { "padding": "12px 20px 0 20px" } }, {
572
+ default: withCtx(() => [
573
+ createVNode(_component_el_scrollbar, null, {
574
+ default: withCtx(() => [
575
+ createVNode(_component_el_form, {
576
+ model: unref(currentDialog),
577
+ "label-width": "120px",
578
+ style: { "padding-right": "20px" },
579
+ size: "small"
580
+ }, {
581
+ default: withCtx(() => [
582
+ createVNode(_component_el_form_item, { label: "弹层标题" }, {
583
+ default: withCtx(() => [
584
+ createVNode(_component_el_input, {
585
+ modelValue: unref(currentDialog).dialogTitle,
586
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => unref(currentDialog).dialogTitle = $event),
587
+ placeholder: "请输入弹层标题",
588
+ clearable: ""
589
+ }, null, 8, ["modelValue"])
590
+ ]),
591
+ _: 1
592
+ }),
593
+ createVNode(_component_el_form_item, { label: "弹层尺寸" }, {
594
+ default: withCtx(() => [
595
+ createVNode(_component_el_radio_group, {
596
+ modelValue: unref(currentDialog).dialogSize,
597
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => unref(currentDialog).dialogSize = $event)
598
+ }, {
599
+ default: withCtx(() => [
600
+ createVNode(_component_el_radio_button, { value: "standard" }, {
601
+ default: withCtx(() => _cache[28] || (_cache[28] = [
602
+ createTextVNode("标准")
603
+ ])),
604
+ _: 1
605
+ }),
606
+ createVNode(_component_el_radio_button, { value: "large" }, {
607
+ default: withCtx(() => _cache[29] || (_cache[29] = [
608
+ createTextVNode("更大")
609
+ ])),
610
+ _: 1
611
+ }),
612
+ createVNode(_component_el_radio_button, { value: "small" }, {
613
+ default: withCtx(() => _cache[30] || (_cache[30] = [
614
+ createTextVNode("更小")
615
+ ])),
616
+ _: 1
617
+ }),
618
+ createVNode(_component_el_radio_button, { value: "custom" }, {
619
+ default: withCtx(() => _cache[31] || (_cache[31] = [
620
+ createTextVNode("自定义")
621
+ ])),
622
+ _: 1
623
+ })
624
+ ]),
625
+ _: 1
626
+ }, 8, ["modelValue"])
627
+ ]),
628
+ _: 1
629
+ }),
630
+ unref(currentDialog).dialogSize === "custom" ? (openBlock(), createBlock(_component_el_form_item, {
631
+ key: 0,
632
+ label: "自定义尺寸"
633
+ }, {
634
+ default: withCtx(() => [
635
+ createElementVNode("div", _hoisted_10, [
636
+ createVNode(_component_el_input, {
637
+ modelValue: unref(currentDialog).customWidth,
638
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => unref(currentDialog).customWidth = $event),
639
+ placeholder: "宽度,如:800px、60%",
640
+ style: { "flex": "1" }
641
+ }, null, 8, ["modelValue"]),
642
+ createVNode(_component_el_input, {
643
+ modelValue: unref(currentDialog).customMaxHeight,
644
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => unref(currentDialog).customMaxHeight = $event),
645
+ placeholder: "最大高度,如:600px、80vh",
646
+ style: { "flex": "1" }
647
+ }, null, 8, ["modelValue"])
648
+ ])
649
+ ]),
650
+ _: 1
651
+ })) : createCommentVNode("", true),
652
+ createVNode(_component_el_form_item, { label: "弹层参数" }, {
653
+ default: withCtx(() => [
654
+ createVNode(ParamsConfig, {
655
+ modelValue: unref(currentDialog).dialogParams,
656
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => unref(currentDialog).dialogParams = $event)
657
+ }, null, 8, ["modelValue"])
658
+ ]),
659
+ _: 1
660
+ }),
661
+ createVNode(_component_el_form_item, { label: "弹层类型" }, {
662
+ default: withCtx(() => [
663
+ createVNode(_component_el_radio_group, {
664
+ modelValue: unref(currentDialog).contentSource,
665
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => unref(currentDialog).contentSource = $event)
666
+ }, {
667
+ default: withCtx(() => [
668
+ createVNode(_component_el_radio_button, { value: "table" }, {
669
+ default: withCtx(() => _cache[32] || (_cache[32] = [
670
+ createTextVNode("列表")
671
+ ])),
672
+ _: 1
673
+ }),
674
+ createVNode(_component_el_radio_button, { value: "form" }, {
675
+ default: withCtx(() => _cache[33] || (_cache[33] = [
676
+ createTextVNode("表单")
677
+ ])),
678
+ _: 1
679
+ }),
680
+ createVNode(_component_el_radio_button, { value: "tree" }, {
681
+ default: withCtx(() => _cache[34] || (_cache[34] = [
682
+ createTextVNode("树形")
683
+ ])),
684
+ _: 1
685
+ }),
686
+ createVNode(_component_el_radio_button, { value: "component" }, {
687
+ default: withCtx(() => _cache[35] || (_cache[35] = [
688
+ createTextVNode("组件")
689
+ ])),
690
+ _: 1
691
+ })
692
+ ]),
693
+ _: 1
694
+ }, 8, ["modelValue"])
695
+ ]),
696
+ _: 1
697
+ }),
698
+ unref(currentDialog).contentSource === "table" ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
699
+ createVNode(_component_el_form_item, { label: "列表内容" }, {
700
+ default: withCtx(() => [
701
+ createVNode(_component_el_radio_group, {
702
+ modelValue: unref(currentDialog).tableContent,
703
+ "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => unref(currentDialog).tableContent = $event)
704
+ }, {
705
+ default: withCtx(() => [
706
+ createVNode(_component_el_radio_button, { value: "select" }, {
707
+ default: withCtx(() => _cache[36] || (_cache[36] = [
708
+ createTextVNode("选择列表")
709
+ ])),
710
+ _: 1
711
+ }),
712
+ createVNode(_component_el_radio_button, { value: "custom" }, {
713
+ default: withCtx(() => _cache[37] || (_cache[37] = [
714
+ createTextVNode("自定义")
715
+ ])),
716
+ _: 1
717
+ })
718
+ ]),
719
+ _: 1
720
+ }, 8, ["modelValue"])
721
+ ]),
722
+ _: 1
723
+ }),
724
+ unref(currentDialog).tableContent === "select" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
725
+ createVNode(_component_el_form_item, { label: "选择列表" }, {
726
+ default: withCtx(() => [
727
+ createVNode(TemplateSelector, {
728
+ modelValue: unref(currentDialog).subTableName,
729
+ "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => unref(currentDialog).subTableName = $event),
730
+ templateKey: unref(currentDialog).subTableKey,
731
+ "onUpdate:templateKey": _cache[10] || (_cache[10] = ($event) => unref(currentDialog).subTableKey = $event),
732
+ templateId: unref(currentDialog).subTableId,
733
+ "onUpdate:templateId": _cache[11] || (_cache[11] = ($event) => unref(currentDialog).subTableId = $event),
734
+ templateType: "table",
735
+ onConfirm: tableSelectorConfirm
736
+ }, null, 8, ["modelValue", "templateKey", "templateId"])
737
+ ]),
738
+ _: 1
739
+ }),
740
+ createVNode(_component_el_form_item, { label: "列表模式" }, {
741
+ default: withCtx(() => [
742
+ createVNode(_component_el_select, {
743
+ modelValue: unref(currentDialog).subTableMode,
744
+ "onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => unref(currentDialog).subTableMode = $event),
745
+ clearable: ""
746
+ }, {
747
+ default: withCtx(() => [
748
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(tableMode), (mode) => {
749
+ return openBlock(), createBlock(_component_el_option, {
750
+ key: mode.key,
751
+ label: mode.name,
752
+ value: mode.key
753
+ }, null, 8, ["label", "value"]);
754
+ }), 128))
755
+ ]),
756
+ _: 1
757
+ }, 8, ["modelValue"])
758
+ ]),
759
+ _: 1
760
+ })
761
+ ], 64)) : createCommentVNode("", true),
762
+ unref(currentDialog).tableContent === "custom" ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
763
+ createVNode(_component_el_form_item, { label: "列配置" }, {
764
+ default: withCtx(() => [
765
+ createElementVNode("div", _hoisted_11, [
766
+ createElementVNode("div", _hoisted_12, [
767
+ createVNode(_component_el_button, {
768
+ type: "primary",
769
+ size: "small",
770
+ onClick: addTableCol,
771
+ icon: "Plus",
772
+ link: ""
773
+ }, {
774
+ default: withCtx(() => _cache[38] || (_cache[38] = [
775
+ createTextVNode(" 添加列配置 ")
776
+ ])),
777
+ _: 1
778
+ })
779
+ ]),
780
+ createElementVNode("div", _hoisted_13, [
781
+ createVNode(unref(lo), {
782
+ modelValue: unref(currentDialog).customTableConfig.fieldsData,
783
+ "onUpdate:modelValue": _cache[13] || (_cache[13] = ($event) => unref(currentDialog).customTableConfig.fieldsData = $event),
784
+ animation: 150,
785
+ handle: ".drag-handle"
786
+ }, {
787
+ default: withCtx(() => [
788
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(currentDialog).customTableConfig.fieldsData, (col, index) => {
789
+ return openBlock(), createElementBlock("div", {
790
+ key: index,
791
+ class: "col-rule-item"
792
+ }, [
793
+ createElementVNode("div", _hoisted_14, [
794
+ createVNode(_component_el_icon, null, {
795
+ default: withCtx(() => [
796
+ createVNode(unref(rank_default))
797
+ ]),
798
+ _: 1
799
+ })
800
+ ]),
801
+ createVNode(_component_el_input, {
802
+ modelValue: col.label,
803
+ "onUpdate:modelValue": ($event) => col.label = $event,
804
+ size: "small",
805
+ placeholder: "列标题"
806
+ }, null, 8, ["modelValue", "onUpdate:modelValue"]),
807
+ createVNode(_component_el_input, {
808
+ modelValue: col.fieldName,
809
+ "onUpdate:modelValue": ($event) => col.fieldName = $event,
810
+ size: "small",
811
+ placeholder: "字段名"
812
+ }, null, 8, ["modelValue", "onUpdate:modelValue"]),
813
+ createElementVNode("div", _hoisted_15, [
814
+ createVNode(_component_el_popover, {
815
+ placement: "right",
816
+ width: 200,
817
+ trigger: "click"
818
+ }, {
819
+ reference: withCtx(() => [
820
+ createVNode(_component_el_button, {
821
+ icon: unref(edit_default),
822
+ link: "",
823
+ type: "primary",
824
+ class: "edit-btn"
825
+ }, null, 8, ["icon"])
826
+ ]),
827
+ default: withCtx(() => [
828
+ createElementVNode("div", _hoisted_16, [
829
+ createVNode(_component_el_scrollbar, { "wrap-class": "col-property-scrollbar" }, {
830
+ default: withCtx(() => [
831
+ createVNode(widgets, {
832
+ column: col,
833
+ isComp: ""
834
+ }, null, 8, ["column"])
835
+ ]),
836
+ _: 2
837
+ }, 1024)
838
+ ])
839
+ ]),
840
+ _: 2
841
+ }, 1024),
842
+ createVNode(_component_el_button, {
843
+ icon: unref(delete_default),
844
+ link: "",
845
+ type: "danger",
846
+ class: "delete-btn",
847
+ onClick: ($event) => removeCol(index)
848
+ }, null, 8, ["icon", "onClick"])
849
+ ])
850
+ ]);
851
+ }), 128))
852
+ ]),
853
+ _: 1
854
+ }, 8, ["modelValue"])
855
+ ])
856
+ ])
857
+ ]),
858
+ _: 1
859
+ }),
860
+ createVNode(_component_el_form_item, { label: "主键字段" }, {
861
+ default: withCtx(() => [
862
+ createVNode(_component_el_input, {
863
+ modelValue: unref(currentDialog).customTableConfig.pkFieldName,
864
+ "onUpdate:modelValue": _cache[14] || (_cache[14] = ($event) => unref(currentDialog).customTableConfig.pkFieldName = $event),
865
+ placeholder: "请输入主键字段",
866
+ clearable: ""
867
+ }, null, 8, ["modelValue"])
868
+ ]),
869
+ _: 1
870
+ }),
871
+ createVNode(_component_el_form_item, { label: "数据源" }, {
872
+ default: withCtx(() => [
873
+ createVNode(_sfc_main$1, {
874
+ modelValue: unref(currentDialog).customTableConfig.dataSourceId,
875
+ "onUpdate:modelValue": _cache[15] || (_cache[15] = ($event) => unref(currentDialog).customTableConfig.dataSourceId = $event)
876
+ }, null, 8, ["modelValue"])
877
+ ]),
878
+ _: 1
879
+ })
880
+ ], 64)) : createCommentVNode("", true),
881
+ createVNode(_component_el_form_item, { label: "是否翻页" }, {
882
+ default: withCtx(() => [
883
+ createVNode(_component_el_switch, {
884
+ modelValue: unref(currentDialog).isSubTablePagination,
885
+ "onUpdate:modelValue": _cache[16] || (_cache[16] = ($event) => unref(currentDialog).isSubTablePagination = $event)
886
+ }, null, 8, ["modelValue"])
887
+ ]),
888
+ _: 1
889
+ }),
890
+ createVNode(_component_el_form_item, { label: "是否只读" }, {
891
+ default: withCtx(() => [
892
+ createVNode(_component_el_switch, {
893
+ modelValue: unref(currentDialog).isSubTableReadOnly,
894
+ "onUpdate:modelValue": _cache[17] || (_cache[17] = ($event) => unref(currentDialog).isSubTableReadOnly = $event)
895
+ }, null, 8, ["modelValue"])
896
+ ]),
897
+ _: 1
898
+ })
899
+ ], 64)) : createCommentVNode("", true),
900
+ unref(currentDialog).contentSource === "form" ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [
901
+ createVNode(_component_el_form_item, { label: "选择表单" }, {
902
+ default: withCtx(() => [
903
+ createVNode(TemplateSelector, {
904
+ modelValue: unref(currentDialog).subFormName,
905
+ "onUpdate:modelValue": _cache[18] || (_cache[18] = ($event) => unref(currentDialog).subFormName = $event),
906
+ templateKey: unref(currentDialog).subFormKey,
907
+ "onUpdate:templateKey": _cache[19] || (_cache[19] = ($event) => unref(currentDialog).subFormKey = $event),
908
+ templateId: unref(currentDialog).subFormId,
909
+ "onUpdate:templateId": _cache[20] || (_cache[20] = ($event) => unref(currentDialog).subFormId = $event),
910
+ templateType: "form",
911
+ onConfirm: formSelectorConfirm
912
+ }, null, 8, ["modelValue", "templateKey", "templateId"])
913
+ ]),
914
+ _: 1
915
+ }),
916
+ createVNode(_component_el_form_item, { label: "表单模式" }, {
917
+ default: withCtx(() => [
918
+ createVNode(_component_el_radio_group, {
919
+ modelValue: unref(currentDialog).subFormMode,
920
+ "onUpdate:modelValue": _cache[21] || (_cache[21] = ($event) => unref(currentDialog).subFormMode = $event)
921
+ }, {
922
+ default: withCtx(() => [
923
+ createVNode(_component_el_radio_button, { value: "edit" }, {
924
+ default: withCtx(() => _cache[39] || (_cache[39] = [
925
+ createTextVNode("编辑")
926
+ ])),
927
+ _: 1
928
+ }),
929
+ createVNode(_component_el_radio_button, { value: "query" }, {
930
+ default: withCtx(() => _cache[40] || (_cache[40] = [
931
+ createTextVNode("查看")
932
+ ])),
933
+ _: 1
934
+ })
935
+ ]),
936
+ _: 1
937
+ }, 8, ["modelValue"])
938
+ ]),
939
+ _: 1
940
+ }),
941
+ createVNode(_component_el_form_item, { label: "表单底部按钮" }, {
942
+ default: withCtx(() => [
943
+ createElementVNode("div", _hoisted_17, [
944
+ !unref(formFooterBtn) || unref(formFooterBtn).length === 0 ? (openBlock(), createElementBlock("div", _hoisted_18, " 暂无可用按钮 ")) : (openBlock(), createElementBlock("div", _hoisted_19, [
945
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(formFooterBtn), (btn) => {
946
+ return openBlock(), createBlock(_component_el_checkbox, {
947
+ key: btn.id,
948
+ "model-value": isButtonSelected(btn.id),
949
+ onChange: ($event) => toggleButton(btn)
950
+ }, {
951
+ default: withCtx(() => [
952
+ createTextVNode(toDisplayString(btn.label), 1)
953
+ ]),
954
+ _: 2
955
+ }, 1032, ["model-value", "onChange"]);
956
+ }), 128))
957
+ ]))
958
+ ])
959
+ ]),
960
+ _: 1
961
+ })
962
+ ], 64)) : createCommentVNode("", true),
963
+ unref(currentDialog).contentSource === "component" ? (openBlock(), createBlock(_component_el_form_item, {
964
+ key: 3,
965
+ label: "选择组件"
966
+ }, {
967
+ default: withCtx(() => [
968
+ createVNode(_component_el_input, {
969
+ modelValue: unref(currentDialog).componentPath,
970
+ "onUpdate:modelValue": _cache[22] || (_cache[22] = ($event) => unref(currentDialog).componentPath = $event),
971
+ placeholder: "请输入组件路径",
972
+ clearable: ""
973
+ }, null, 8, ["modelValue"])
974
+ ]),
975
+ _: 1
976
+ })) : createCommentVNode("", true)
977
+ ]),
978
+ _: 1
979
+ }, 8, ["model"])
980
+ ]),
981
+ _: 1
982
+ })
983
+ ]),
984
+ _: 1
985
+ })
986
+ ]),
987
+ _: 1
988
+ })) : (openBlock(), createElementBlock("div", _hoisted_20, "请从左侧选择一个弹层"))
989
+ ]),
990
+ _: 1
991
+ })
992
+ ]),
993
+ _: 1
994
+ })
995
+ ]),
996
+ _: 1
997
+ }, 8, ["modelValue", "close-on-click-modal", "close-on-press-escape", "show-close"]);
998
+ };
999
+ }
1000
+ };
1001
+ const DialogGlobalDialog = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e1cf0065"]]);
1002
+ export {
1003
+ DialogGlobalDialog as default
1004
+ };