@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,254 @@
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
+ 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");
17
+ ;/* empty css */
18
+ ;/* empty css */
19
+ const vue = require("vue");
20
+ const index$4 = 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");
21
+ const index = require("../api/index.js");
22
+ ;/* empty css */
23
+ const _pluginVue_exportHelper = require("../../../../_virtual/_plugin-vue_export-helper.js");
24
+ 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/dialog/index.js");
25
+ 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/input/index.js");
26
+ 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/button/index.js");
27
+ const index$5 = require("../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/table/index.js");
28
+ 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/pagination/index.js");
29
+ 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/message/index.js");
30
+ const _hoisted_1 = { class: "search-bar" };
31
+ const _hoisted_2 = { class: "dialog-footer" };
32
+ const _sfc_main = {
33
+ __name: "TemplateDialog",
34
+ props: {
35
+ modelValue: {
36
+ type: Boolean,
37
+ default: false
38
+ },
39
+ templateType: {
40
+ type: String,
41
+ default: ""
42
+ },
43
+ title: {
44
+ type: String,
45
+ default: "选择模板"
46
+ },
47
+ width: {
48
+ type: String,
49
+ default: "50%"
50
+ },
51
+ searchPlaceholder: {
52
+ type: String,
53
+ default: "搜索模板名称/标识"
54
+ },
55
+ nameLabel: {
56
+ type: String,
57
+ default: "模板名称"
58
+ },
59
+ keyLabel: {
60
+ type: String,
61
+ default: "模板标识"
62
+ },
63
+ templateVersion: {
64
+ type: String,
65
+ default: "v5"
66
+ }
67
+ },
68
+ emits: ["update:modelValue", "confirm", "close"],
69
+ setup(__props, { emit: __emit }) {
70
+ const props = __props;
71
+ const emit = __emit;
72
+ const dialogVisible = vue.computed({
73
+ get: () => props.modelValue,
74
+ set: (val) => emit("update:modelValue", val)
75
+ });
76
+ const searchText = vue.ref("");
77
+ const templateList = vue.ref([]);
78
+ const total = vue.ref(0);
79
+ const currentRow = vue.ref(null);
80
+ const pageInfo = vue.ref({
81
+ pageNo: 1,
82
+ pageSize: 10
83
+ });
84
+ vue.watch(
85
+ () => props.modelValue,
86
+ (val) => {
87
+ if (val) {
88
+ searchText.value = "";
89
+ currentRow.value = null;
90
+ pageInfo.value = {
91
+ pageNo: 1,
92
+ pageSize: 10
93
+ };
94
+ loadTemplateList();
95
+ }
96
+ },
97
+ { immediate: true }
98
+ );
99
+ async function loadTemplateList() {
100
+ try {
101
+ const params = {
102
+ pageNo: pageInfo.value.pageNo,
103
+ pageSize: pageInfo.value.pageSize,
104
+ type: props.templateType,
105
+ templateVersion: props.templateVersion
106
+ };
107
+ if (searchText.value) {
108
+ params.dynamicQuery = searchText.value;
109
+ }
110
+ const data = await index.default.findTemplateByPagePop(params);
111
+ templateList.value = data.records || data.list || [];
112
+ total.value = data.total || 0;
113
+ } catch (error) {
114
+ console.error("加载表单列表失败:", error);
115
+ templateList.value = [];
116
+ total.value = 0;
117
+ }
118
+ }
119
+ function handleSearch() {
120
+ pageInfo.value.pageNo = 1;
121
+ loadTemplateList();
122
+ }
123
+ function handleCurrentChange(row) {
124
+ currentRow.value = row;
125
+ }
126
+ function handleSizeChange(size) {
127
+ pageInfo.value.pageSize = size;
128
+ pageInfo.value.pageNo = 1;
129
+ loadTemplateList();
130
+ }
131
+ function handlePageChange(page) {
132
+ pageInfo.value.pageNo = page;
133
+ loadTemplateList();
134
+ }
135
+ function closeDialog() {
136
+ dialogVisible.value = false;
137
+ emit("close");
138
+ }
139
+ function onConfirm() {
140
+ if (!currentRow.value) {
141
+ index$7.ElMessage.warning("请先选择表单");
142
+ return;
143
+ }
144
+ const context = JSON.parse(currentRow.value.context);
145
+ emit("confirm", {
146
+ row: currentRow.value,
147
+ context
148
+ });
149
+ dialogVisible.value = false;
150
+ }
151
+ return (_ctx, _cache) => {
152
+ const _component_el_button = index$3.ElButton;
153
+ const _component_el_input = index$2.ElInput;
154
+ const _component_el_table_column = index$5.ElTableColumn;
155
+ const _component_el_table = index$5.ElTable;
156
+ const _component_el_pagination = index$6.ElPagination;
157
+ const _component_el_dialog = index$1.ElDialog;
158
+ return vue.openBlock(), vue.createBlock(_component_el_dialog, {
159
+ modelValue: dialogVisible.value,
160
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => dialogVisible.value = $event),
161
+ width: __props.width,
162
+ title: __props.title,
163
+ draggable: "",
164
+ overflow: "",
165
+ "append-to-body": "",
166
+ class: "fec-dev-designer-dialog"
167
+ }, {
168
+ footer: vue.withCtx(() => [
169
+ vue.createElementVNode("div", _hoisted_2, [
170
+ vue.createVNode(_component_el_button, {
171
+ onClick: closeDialog,
172
+ size: "default"
173
+ }, {
174
+ default: vue.withCtx(() => _cache[4] || (_cache[4] = [
175
+ vue.createTextVNode("取消")
176
+ ])),
177
+ _: 1
178
+ }),
179
+ vue.createVNode(_component_el_button, {
180
+ type: "primary",
181
+ onClick: onConfirm,
182
+ size: "default"
183
+ }, {
184
+ default: vue.withCtx(() => _cache[5] || (_cache[5] = [
185
+ vue.createTextVNode("确定")
186
+ ])),
187
+ _: 1
188
+ })
189
+ ])
190
+ ]),
191
+ default: vue.withCtx(() => [
192
+ vue.createElementVNode("div", _hoisted_1, [
193
+ vue.createVNode(_component_el_input, {
194
+ modelValue: searchText.value,
195
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => searchText.value = $event),
196
+ placeholder: __props.searchPlaceholder || "搜索表单名称/表单标识",
197
+ clearable: "",
198
+ onClear: handleSearch,
199
+ onKeyup: vue.withKeys(handleSearch, ["enter"]),
200
+ style: { "width": "300px" },
201
+ size: "default"
202
+ }, {
203
+ append: vue.withCtx(() => [
204
+ vue.createVNode(_component_el_button, {
205
+ icon: vue.unref(index$4.Search),
206
+ onClick: handleSearch
207
+ }, null, 8, ["icon"])
208
+ ]),
209
+ _: 1
210
+ }, 8, ["modelValue", "placeholder"])
211
+ ]),
212
+ vue.createVNode(_component_el_table, {
213
+ data: templateList.value,
214
+ "highlight-current-row": "",
215
+ "max-height": "500",
216
+ onCurrentChange: handleCurrentChange,
217
+ style: { "width": "100%", "margin-top": "10px" },
218
+ size: "default"
219
+ }, {
220
+ default: vue.withCtx(() => [
221
+ vue.createVNode(_component_el_table_column, {
222
+ prop: "templateName",
223
+ label: __props.nameLabel || "表单名称",
224
+ "min-width": "200"
225
+ }, null, 8, ["label"]),
226
+ vue.createVNode(_component_el_table_column, {
227
+ prop: "templateKey",
228
+ label: __props.keyLabel || "表单标识",
229
+ "min-width": "200"
230
+ }, null, 8, ["label"])
231
+ ]),
232
+ _: 1
233
+ }, 8, ["data"]),
234
+ vue.createVNode(_component_el_pagination, {
235
+ size: "small",
236
+ "current-page": pageInfo.value.pageNo,
237
+ "onUpdate:currentPage": _cache[1] || (_cache[1] = ($event) => pageInfo.value.pageNo = $event),
238
+ "page-size": pageInfo.value.pageSize,
239
+ "onUpdate:pageSize": _cache[2] || (_cache[2] = ($event) => pageInfo.value.pageSize = $event),
240
+ "page-sizes": [10, 20, 50, 100],
241
+ total: total.value,
242
+ layout: "total, sizes, prev, pager, next, jumper",
243
+ onSizeChange: handleSizeChange,
244
+ onCurrentChange: handlePageChange,
245
+ style: { "margin-top": "20px", "justify-content": "flex-end" }
246
+ }, null, 8, ["current-page", "page-size", "total"])
247
+ ]),
248
+ _: 1
249
+ }, 8, ["modelValue", "width", "title"]);
250
+ };
251
+ }
252
+ };
253
+ const TemplateDialog = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-99155bb7"]]);
254
+ exports.default = TemplateDialog;
@@ -1,36 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
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
4
  ;/* empty css */
15
- ;/* empty css */
16
- 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");
17
- ;/* empty css */
18
5
  ;/* empty css */
19
6
  const vue = require("vue");
20
7
  const index$2 = 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");
21
- const index$7 = require("../api/index.js");
8
+ const TemplateDialog = require("./TemplateDialog.vue.js");
22
9
  ;/* empty css */
23
10
  ;/* empty css */
24
- ;/* empty css */
11
+ require("./TemplateSelector.vue2.js");
25
12
  const _pluginVue_exportHelper = require("../../../../_virtual/_plugin-vue_export-helper.js");
26
13
  const index = require("../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/input/index.js");
27
14
  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/button/index.js");
28
- 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/dialog/index.js");
29
- 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/table/index.js");
30
- const index$5 = require("../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/pagination/index.js");
31
- 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/message/index.js");
32
- const _hoisted_1 = { class: "search-bar" };
33
- const _hoisted_2 = { class: "dialog-footer" };
15
+ 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/message/index.js");
34
16
  const _sfc_main = {
35
17
  __name: "TemplateSelector",
36
18
  props: {
@@ -65,83 +47,32 @@ const _sfc_main = {
65
47
  set: (val) => emit("update:modelValue", val)
66
48
  });
67
49
  const dialogVisible = vue.ref(false);
68
- const searchText = vue.ref("");
69
- const templateList = vue.ref([]);
70
- const total = vue.ref(0);
71
- const currentRow = vue.ref(null);
72
- const pageInfo = vue.ref({
73
- pageNo: 1,
74
- pageSize: 10
75
- });
76
50
  function openDialog() {
77
51
  dialogVisible.value = true;
78
- currentRow.value = null;
79
- loadTemplateList();
80
52
  }
81
53
  function editTemplate() {
82
- var _a;
83
- const pkId = ((_a = currentRow.value) == null ? void 0 : _a.pkId) || props.templateId;
54
+ const pkId = props.templateId;
55
+ if (!pkId) {
56
+ index$3.ElMessage.warning("请先选择模板");
57
+ return;
58
+ }
84
59
  const currentUrl = window.location.href;
85
60
  const urlObj = new URL(currentUrl);
86
61
  urlObj.searchParams.set("pkId", pkId);
87
62
  const newUrl = urlObj.toString();
88
63
  window.open(newUrl, "_blank");
89
64
  }
90
- async function loadTemplateList() {
91
- try {
92
- const params = {
93
- pageNo: pageInfo.value.pageNo,
94
- pageSize: pageInfo.value.pageSize,
95
- type: props.templateType
96
- };
97
- if (searchText.value) {
98
- params.dynamicQuery = searchText.value;
99
- }
100
- const data = await index$7.default.findTemplateByPagePop(params);
101
- templateList.value = data.records || data.list || [];
102
- total.value = data.total || 0;
103
- } catch (error) {
104
- console.error("加载表单列表失败:", error);
105
- templateList.value = [];
106
- total.value = 0;
107
- } finally {
108
- }
109
- }
110
- function handleSearch() {
111
- pageInfo.value.pageNo = 1;
112
- loadTemplateList();
113
- }
114
- function handleCurrentChange(row) {
115
- currentRow.value = row;
116
- }
117
- function handleSizeChange(size) {
118
- pageInfo.value.pageSize = size;
119
- pageInfo.value.pageNo = 1;
120
- loadTemplateList();
121
- }
122
- function handlePageChange(page) {
123
- pageInfo.value.pageNo = page;
124
- loadTemplateList();
125
- }
126
- function onConfirm() {
127
- if (!currentRow.value) {
128
- index$6.ElMessage.warning("请先选择表单");
129
- return;
130
- }
131
- modelValue.value = currentRow.value.templateName;
132
- emit("update:templateKey", currentRow.value.templateKey);
133
- emit("update:templateId", currentRow.value.pkId);
134
- dialogVisible.value = false;
135
- const context = JSON.parse(currentRow.value.context);
65
+ function handleDialogConfirm({ row, context }) {
66
+ modelValue.value = row.templateName;
67
+ emit("update:templateKey", row.templateKey);
68
+ emit("update:templateId", row.pkId);
136
69
  emit("confirm", context);
137
70
  }
71
+ function handleDialogClose() {
72
+ }
138
73
  return (_ctx, _cache) => {
139
74
  const _component_el_button = index$1.ElButton;
140
75
  const _component_el_input = index.ElInput;
141
- const _component_el_table_column = index$4.ElTableColumn;
142
- const _component_el_table = index$4.ElTable;
143
- const _component_el_pagination = index$5.ElPagination;
144
- const _component_el_dialog = index$3.ElDialog;
145
76
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
146
77
  vue.createVNode(_component_el_input, {
147
78
  modelValue: modelValue.value,
@@ -168,101 +99,17 @@ const _sfc_main = {
168
99
  key: "0"
169
100
  } : void 0
170
101
  ]), 1032, ["modelValue", "placeholder"]),
171
- vue.createVNode(_component_el_dialog, {
102
+ vue.createVNode(TemplateDialog.default, {
172
103
  modelValue: dialogVisible.value,
173
- "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => dialogVisible.value = $event),
174
- width: "50%",
104
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => dialogVisible.value = $event),
105
+ "template-type": __props.templateType,
175
106
  title: __props.templateType == "table" ? "选择列表" : "选择表单",
176
- draggable: "",
177
- overflow: "",
178
- "append-to-body": "",
179
- class: "fec-dev-designer-dialog"
180
- }, {
181
- footer: vue.withCtx(() => [
182
- vue.createElementVNode("div", _hoisted_2, [
183
- vue.createVNode(_component_el_button, {
184
- onClick: _cache[4] || (_cache[4] = ($event) => dialogVisible.value = false),
185
- size: "default"
186
- }, {
187
- default: vue.withCtx(() => _cache[6] || (_cache[6] = [
188
- vue.createTextVNode("取消")
189
- ])),
190
- _: 1
191
- }),
192
- vue.createVNode(_component_el_button, {
193
- type: "primary",
194
- onClick: onConfirm,
195
- size: "default"
196
- }, {
197
- default: vue.withCtx(() => _cache[7] || (_cache[7] = [
198
- vue.createTextVNode("确定")
199
- ])),
200
- _: 1
201
- })
202
- ])
203
- ]),
204
- default: vue.withCtx(() => [
205
- vue.createElementVNode("div", _hoisted_1, [
206
- vue.createVNode(_component_el_input, {
207
- modelValue: searchText.value,
208
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => searchText.value = $event),
209
- placeholder: "搜索表单名称/表单标识",
210
- clearable: "",
211
- onClear: handleSearch,
212
- onKeyup: vue.withKeys(handleSearch, ["enter"]),
213
- style: { "width": "300px" },
214
- size: "default"
215
- }, {
216
- append: vue.withCtx(() => [
217
- vue.createVNode(_component_el_button, {
218
- icon: vue.unref(index$2.Search),
219
- onClick: handleSearch
220
- }, null, 8, ["icon"])
221
- ]),
222
- _: 1
223
- }, 8, ["modelValue"])
224
- ]),
225
- vue.createVNode(_component_el_table, {
226
- data: templateList.value,
227
- "highlight-current-row": "",
228
- "max-height": "500",
229
- onCurrentChange: handleCurrentChange,
230
- style: { "width": "100%", "margin-top": "10px" },
231
- size: "default"
232
- }, {
233
- default: vue.withCtx(() => [
234
- vue.createVNode(_component_el_table_column, {
235
- prop: "templateName",
236
- label: "表单名称",
237
- "min-width": "200"
238
- }),
239
- vue.createVNode(_component_el_table_column, {
240
- prop: "templateKey",
241
- label: "表单标识",
242
- "min-width": "200"
243
- })
244
- ]),
245
- _: 1
246
- }, 8, ["data"]),
247
- vue.createVNode(_component_el_pagination, {
248
- size: "small",
249
- "current-page": pageInfo.value.pageNo,
250
- "onUpdate:currentPage": _cache[2] || (_cache[2] = ($event) => pageInfo.value.pageNo = $event),
251
- "page-size": pageInfo.value.pageSize,
252
- "onUpdate:pageSize": _cache[3] || (_cache[3] = ($event) => pageInfo.value.pageSize = $event),
253
- "page-sizes": [10, 20, 50, 100],
254
- total: total.value,
255
- layout: "total, sizes, prev, pager, next, jumper",
256
- onSizeChange: handleSizeChange,
257
- onCurrentChange: handlePageChange,
258
- style: { "margin-top": "20px", "justify-content": "flex-end" }
259
- }, null, 8, ["current-page", "page-size", "total"])
260
- ]),
261
- _: 1
262
- }, 8, ["modelValue", "title"])
107
+ onConfirm: handleDialogConfirm,
108
+ onClose: handleDialogClose
109
+ }, null, 8, ["modelValue", "template-type", "title"])
263
110
  ], 64);
264
111
  };
265
112
  }
266
113
  };
267
- const TemplateSelector = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-eb9c3061"]]);
114
+ const TemplateSelector = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-5026a7f4"]]);
268
115
  exports.default = TemplateSelector;
@@ -62,7 +62,7 @@ const _sfc_main = {
62
62
  }
63
63
  function addHiddenField() {
64
64
  const newField = {
65
- id: "hidden_" + Date.now(),
65
+ id: Date.now(),
66
66
  fieldType: "text",
67
67
  type: "widgets",
68
68
  label: "",
@@ -167,16 +167,13 @@ const _sfc_main = {
167
167
  selectedRows.value.forEach((field) => {
168
168
  let component = common.cloneDeep(field);
169
169
  component.id = component.id + "";
170
- if (component.id.startsWith("hidden_")) {
171
- component.id = component.id.replace("hidden_", "");
172
- component.fieldType = "text";
173
- component.type = "widgets";
174
- component = { ...index$5.defaultProperty, ...component };
175
- }
170
+ component.fieldType = component.fieldType || "text";
171
+ component.type = component.type || "widgets";
172
+ component = { ...index$5.defaultProperty, ...component };
176
173
  let finalWH = { w: 1, h: 1 };
177
174
  if (component.fieldType == "textarea") {
178
175
  finalWH = { w: 1, h: 2 };
179
- } else if (component.fieldType == "divider" || component.fieldType == "h2") {
176
+ } else if (component.fieldType == "subTitle" || component.fieldType == "h2") {
180
177
  finalWH = {
181
178
  w: editConfigData.value.columns,
182
179
  h: 1,
@@ -207,12 +204,9 @@ const _sfc_main = {
207
204
  selectedRows.value.forEach((field) => {
208
205
  let component = common.cloneDeep(field);
209
206
  component.id = component.id + "";
210
- if (component.id.startsWith("hidden_")) {
211
- component.id = component.id.replace("hidden_", "");
212
- component.fieldType = "text";
213
- component.type = "widgets";
214
- component = { ...index$6.defaultProperty, ...component };
215
- }
207
+ component.fieldType = component.fieldType || "text";
208
+ component.type = component.type || "widgets";
209
+ component = { ...index$6.defaultProperty, ...component };
216
210
  editConfigData.value.fieldsData.push(component);
217
211
  const index2 = hiddenFields.value.findIndex((f) => f.id == field.id);
218
212
  if (index2 !== -1) {
@@ -380,5 +374,5 @@ const _sfc_main = {
380
374
  };
381
375
  }
382
376
  };
383
- const HiddenFieldDialog = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-b547a1f4"]]);
377
+ const HiddenFieldDialog = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-58cdc4e4"]]);
384
378
  exports.default = HiddenFieldDialog;