@fecp/designer 5.1.6 → 5.2.0

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