@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,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const index = require("./index.vue.js");
4
+ const vue = require("vue");
5
+ function useDialogGlobalDialog() {
6
+ const dialogGlobalDialogVisible = vue.ref(false);
7
+ const openDialogGlobalDialog = () => {
8
+ dialogGlobalDialogVisible.value = true;
9
+ };
10
+ return {
11
+ dialogGlobalDialogVisible,
12
+ openDialogGlobalDialog,
13
+ DialogGlobalDialog: index.default
14
+ };
15
+ }
16
+ exports.useDialogGlobalDialog = useDialogGlobalDialog;
@@ -21,8 +21,6 @@ const vue = require("vue");
21
21
  const index$5 = ;/* empty css */
22
22
  const defaultProcessData = require("../eventFlow/defaultProcessData.js");
23
23
  const common = require("../utils/common.js");
24
- ;/* empty css */
25
- ;/* empty css */
26
24
  ;/* empty css */
27
25
  const _pluginVue_exportHelper = require("../../../../../_virtual/_plugin-vue_export-helper.js");
28
26
  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/dialog/index.js");
@@ -36,13 +34,15 @@ const _hoisted_1 = { class: "el-dropdown-link" };
36
34
  const _hoisted_2 = ["onClick"];
37
35
  const _hoisted_3 = { class: "event-title" };
38
36
  const _hoisted_4 = { class: "event-method" };
39
- const _hoisted_5 = { class: "event-label" };
40
- const _hoisted_6 = { class: "tab-content" };
41
- const _hoisted_7 = {
37
+ const _hoisted_5 = { class: "el-dropdown-link" };
38
+ const _hoisted_6 = { class: "event-name" };
39
+ const _hoisted_7 = { class: "event-label" };
40
+ const _hoisted_8 = { class: "tab-content" };
41
+ const _hoisted_9 = {
42
42
  key: 1,
43
43
  class: "empty-selection"
44
44
  };
45
- const _hoisted_8 = { class: "dialog-footer" };
45
+ const _hoisted_10 = { class: "dialog-footer" };
46
46
  const _sfc_main = {
47
47
  __name: "index",
48
48
  props: /* @__PURE__ */ vue.mergeModels({
@@ -97,6 +97,29 @@ const _sfc_main = {
97
97
  });
98
98
  const activeTab = vue.ref("eventFlow");
99
99
  const eventFlowRefs = vue.ref({});
100
+ const availableEventTypes = vue.computed(() => {
101
+ return eventData.value;
102
+ });
103
+ const handleChangeEventType = (index2, newEventName) => {
104
+ const eventType = eventData.value.find((e) => e.name === newEventName);
105
+ if (eventType) {
106
+ const isAlreadySelected = selectedEvents.value.some(
107
+ (event, i) => i !== index2 && event.name === newEventName
108
+ );
109
+ if (isAlreadySelected) {
110
+ index$7.ElMessage.warning(`事件类型 "${newEventName}" 已被选择,请选择其他类型`);
111
+ return;
112
+ }
113
+ const currentEvent = selectedEvents.value[index2];
114
+ const newEvent = {
115
+ name: eventType.name,
116
+ description: eventType.description,
117
+ eventFlow: currentEvent.eventFlow
118
+ // 保留原有的流程配置
119
+ };
120
+ selectedEvents.value.splice(index2, 1, newEvent);
121
+ }
122
+ };
100
123
  const validationErrors = vue.ref({});
101
124
  const setEventFlowRef = (el, index2) => {
102
125
  if (el) {
@@ -188,7 +211,7 @@ const _sfc_main = {
188
211
  class: "fec-dev-designer-dialog"
189
212
  }, {
190
213
  footer: vue.withCtx(() => [
191
- vue.createElementVNode("div", _hoisted_8, [
214
+ vue.createElementVNode("div", _hoisted_10, [
192
215
  vue.createVNode(_component_el_button, {
193
216
  onClick: _cache[1] || (_cache[1] = ($event) => dialogVisible.value = false)
194
217
  }, {
@@ -279,11 +302,48 @@ const _sfc_main = {
279
302
  }, [
280
303
  vue.createElementVNode("div", _hoisted_3, [
281
304
  vue.createElementVNode("div", _hoisted_4, [
282
- vue.createElementVNode("span", null, [
283
- _cache[4] || (_cache[4] = vue.createTextVNode("function ")),
284
- vue.createElementVNode("span", null, vue.toDisplayString(event.name), 1)
285
- ]),
286
- vue.createElementVNode("span", _hoisted_5, vue.toDisplayString(event.description), 1)
305
+ vue.createVNode(_component_el_dropdown, {
306
+ trigger: "click",
307
+ placement: "bottom-start",
308
+ onCommand: (command) => handleChangeEventType(index2, command)
309
+ }, {
310
+ dropdown: vue.withCtx(() => [
311
+ vue.createVNode(_component_el_dropdown_menu, null, {
312
+ default: vue.withCtx(() => [
313
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(availableEventTypes.value, (eventType) => {
314
+ return vue.openBlock(), vue.createBlock(_component_el_dropdown_item, {
315
+ key: eventType.name,
316
+ disabled: eventType.name === event.name,
317
+ command: eventType.name
318
+ }, {
319
+ default: vue.withCtx(() => [
320
+ vue.createElementVNode("div", null, [
321
+ vue.createElementVNode("span", null, vue.toDisplayString(eventType.name), 1),
322
+ vue.createElementVNode("span", null, vue.toDisplayString(eventType.description), 1)
323
+ ])
324
+ ]),
325
+ _: 2
326
+ }, 1032, ["disabled", "command"]);
327
+ }), 128))
328
+ ]),
329
+ _: 2
330
+ }, 1024)
331
+ ]),
332
+ default: vue.withCtx(() => [
333
+ vue.createElementVNode("span", _hoisted_5, [
334
+ _cache[4] || (_cache[4] = vue.createTextVNode(" function ")),
335
+ vue.createElementVNode("span", _hoisted_6, vue.toDisplayString(event.name), 1),
336
+ vue.createVNode(_component_el_icon, { class: "el-icon--right" }, {
337
+ default: vue.withCtx(() => [
338
+ vue.createVNode(_component_arrow_down)
339
+ ]),
340
+ _: 1
341
+ })
342
+ ])
343
+ ]),
344
+ _: 2
345
+ }, 1032, ["onCommand"]),
346
+ vue.createElementVNode("span", _hoisted_7, vue.toDisplayString(event.description), 1)
287
347
  ]),
288
348
  vue.createVNode(_component_el_icon, {
289
349
  class: "delete-icon",
@@ -320,7 +380,7 @@ const _sfc_main = {
320
380
  name: "eventFlow"
321
381
  }, {
322
382
  default: vue.withCtx(() => [
323
- vue.createElementVNode("div", _hoisted_6, [
383
+ vue.createElementVNode("div", _hoisted_8, [
324
384
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(selectedEvents.value, (event, index2) => {
325
385
  return vue.openBlock(), vue.createBlock(index$5.default, {
326
386
  key: index2,
@@ -349,7 +409,7 @@ const _sfc_main = {
349
409
  })
350
410
  ]),
351
411
  _: 1
352
- }, 8, ["modelValue"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_7, "请从左侧选择一个事件"))
412
+ }, 8, ["modelValue"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_9, "请从左侧选择一个事件"))
353
413
  ]),
354
414
  _: 1
355
415
  })
@@ -362,5 +422,5 @@ const _sfc_main = {
362
422
  };
363
423
  }
364
424
  };
365
- const EventConfig = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-e45fecb2"]]);
425
+ const EventConfig = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-ec7ae734"]]);
366
426
  exports.default = EventConfig;
@@ -0,0 +1,105 @@
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
+ const vue = require("vue");
8
+ const index$1 = ;/* empty css */
9
+ const defaultProcessData = require("../eventFlow/defaultProcessData.js");
10
+ const common = require("../utils/common.js");
11
+ ;/* empty css */
12
+ ;/* empty css */
13
+ ;/* empty css */
14
+ const _pluginVue_exportHelper = require("../../../../../_virtual/_plugin-vue_export-helper.js");
15
+ 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/dialog/index.js");
16
+ 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/button/index.js");
17
+ 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");
18
+ const _hoisted_1 = { style: { "border": "1px solid #ebeef5", "border-radius": "4px", "height": "600px", "overflow": "auto", "background-color": "#f2f3f5" } };
19
+ const _hoisted_2 = { class: "dialog-footer" };
20
+ const _sfc_main = {
21
+ __name: "onlyFlow",
22
+ props: /* @__PURE__ */ vue.mergeModels({
23
+ eventConfig: {
24
+ type: Object,
25
+ default: {}
26
+ },
27
+ title: {
28
+ type: String,
29
+ default: "事件配置"
30
+ },
31
+ onConfirm: Function
32
+ }, {
33
+ "modelValue": { required: true },
34
+ "modelModifiers": {}
35
+ }),
36
+ emits: ["update:modelValue"],
37
+ setup(__props) {
38
+ const dialogVisible = vue.useModel(__props, "modelValue");
39
+ const props = __props;
40
+ const createEventFlow = () => JSON.parse(JSON.stringify(defaultProcessData.default));
41
+ const eventConfigData = vue.ref(props.eventConfig || createEventFlow());
42
+ const eventFlowRef = vue.ref(null);
43
+ const onConfirm = async () => {
44
+ var _a;
45
+ try {
46
+ if ((_a = eventFlowRef.value) == null ? void 0 : _a.validate) {
47
+ await eventFlowRef.value.validate();
48
+ }
49
+ props.onConfirm && props.onConfirm(common.cloneDeep(eventConfigData.value));
50
+ dialogVisible.value = false;
51
+ } catch (error) {
52
+ console.error("事件流校验失败:", error);
53
+ index$3.ElMessage.error("请完善事件配置");
54
+ }
55
+ };
56
+ return (_ctx, _cache) => {
57
+ const _component_el_button = index$2.ElButton;
58
+ const _component_el_dialog = index.ElDialog;
59
+ return vue.openBlock(), vue.createBlock(_component_el_dialog, {
60
+ modelValue: dialogVisible.value,
61
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => dialogVisible.value = $event),
62
+ width: "50%",
63
+ title: __props.title,
64
+ draggable: "",
65
+ overflow: "",
66
+ "append-to-body": "",
67
+ class: "fec-dev-designer-dialog"
68
+ }, {
69
+ footer: vue.withCtx(() => [
70
+ vue.createElementVNode("div", _hoisted_2, [
71
+ vue.createVNode(_component_el_button, {
72
+ onClick: _cache[0] || (_cache[0] = ($event) => dialogVisible.value = false)
73
+ }, {
74
+ default: vue.withCtx(() => _cache[2] || (_cache[2] = [
75
+ vue.createTextVNode("取消")
76
+ ])),
77
+ _: 1
78
+ }),
79
+ vue.createVNode(_component_el_button, {
80
+ type: "primary",
81
+ onClick: onConfirm
82
+ }, {
83
+ default: vue.withCtx(() => _cache[3] || (_cache[3] = [
84
+ vue.createTextVNode(" 确定 ")
85
+ ])),
86
+ _: 1
87
+ })
88
+ ])
89
+ ]),
90
+ default: vue.withCtx(() => [
91
+ vue.createElementVNode("div", _hoisted_1, [
92
+ vue.createVNode(index$1.default, {
93
+ ref_key: "eventFlowRef",
94
+ ref: eventFlowRef,
95
+ process: eventConfigData.value
96
+ }, null, 8, ["process"])
97
+ ])
98
+ ]),
99
+ _: 1
100
+ }, 8, ["modelValue", "title"]);
101
+ };
102
+ }
103
+ };
104
+ const OnlyFlowDialog = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-497a8403"]]);
105
+ exports.default = OnlyFlowDialog;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const onlyFlow = require("./onlyFlow.vue.js");
3
+ const onlyFlow = require("./onlyFlow.vue2.js");
4
4
  const vue = require("vue");
5
5
  function useOnlyFlowDialog() {
6
6
  const onlyFlowDialogVisible = vue.ref(false);
@@ -1,53 +1,254 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  ;/* empty css */
4
- ;/* empty css */
4
+ ;/* empty css */
5
5
  ;/* empty css */
6
6
  ;/* empty css */
7
7
  ;/* empty css */
8
8
  ;/* empty css */
9
9
  ;/* empty css */
10
10
  ;/* empty css */
11
+ ;/* empty css */
12
+ ;/* empty css */
13
+ ;/* empty css */
14
+ ;/* empty css */
11
15
  const vue = require("vue");
12
16
  const common = require("../../../utils/common.js");
17
+ const FieldSetMapping = require("../../../../components/FieldSetMapping.vue2.js");
18
+ const OnlyFLowConfigButton = require("../../../../components/OnlyFLowConfigButton.vue2.js");
19
+ const FormulaEditorInput = require("../../../../components/FormulaEditorInput.vue.js");
20
+ const index$4 = require("../../../../api/index.js");
13
21
  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/form/index.js");
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/select/index.js");
22
+ 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/radio/index.js");
23
+ 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/select/index.js");
24
+ 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/input/index.js");
15
25
  const _sfc_main = {
16
26
  __name: "Dialog",
17
27
  props: {
18
28
  formData: Object
19
29
  },
20
30
  setup(__props) {
31
+ const props = __props;
32
+ const currDialog = vue.ref({});
33
+ const globalDialogs = vue.ref([]);
34
+ const loading = vue.ref(false);
35
+ const tableOptions = vue.ref(null);
36
+ const loadGlobalDialogs = async () => {
37
+ loading.value = true;
38
+ try {
39
+ const response = await index$4.default.getAllTemplateDialog();
40
+ globalDialogs.value = [];
41
+ for (let dialog of response) {
42
+ globalDialogs.value.push({
43
+ id: dialog.id,
44
+ name: dialog.name,
45
+ ...JSON.parse(dialog.config)
46
+ });
47
+ }
48
+ } catch (error) {
49
+ console.error("🚀 ~ 获取全局弹层数据失败:", error);
50
+ globalDialogs.value = [];
51
+ } finally {
52
+ loading.value = false;
53
+ }
54
+ };
55
+ vue.watch(
56
+ () => props.formData.dialogSource,
57
+ async (newSource, oldSource) => {
58
+ if (newSource === "global" && oldSource !== "global") {
59
+ await loadGlobalDialogs();
60
+ }
61
+ },
62
+ { immediate: true }
63
+ );
64
+ const handleDialogChange = async (dialogId) => {
65
+ if (!dialogId) {
66
+ currDialog.value = {};
67
+ tableOptions.value = null;
68
+ return;
69
+ }
70
+ const selectedDialog = dialogOptions.value.find(
71
+ (dialog) => dialog.id === dialogId
72
+ );
73
+ if (selectedDialog) {
74
+ currDialog.value = { ...selectedDialog };
75
+ if (currDialog.value.contentSource === "table" && currDialog.value.tableContent === "select") {
76
+ const tableId = currDialog.value.subTableId;
77
+ if (tableId) {
78
+ try {
79
+ const response = await index$4.default.getById(tableId, false);
80
+ tableOptions.value = JSON.parse(response.context);
81
+ console.log("🚀 ~ 需要获取表格配置,表格ID:", tableId);
82
+ } catch (error) {
83
+ console.error("🚀 ~ 获取表格配置失败:", error);
84
+ }
85
+ }
86
+ } else {
87
+ tableOptions.value = null;
88
+ }
89
+ }
90
+ };
21
91
  const dialogOptions = vue.computed(() => {
22
- return common.getEditConfigData().dialogs || [];
92
+ if (props.formData.dialogSource === "global") {
93
+ return globalDialogs.value;
94
+ } else {
95
+ return common.getEditConfigData().dialogs || [];
96
+ }
23
97
  });
98
+ const tableFields = vue.computed(() => {
99
+ var _a, _b, _c, _d, _e, _f;
100
+ if (((_a = currDialog.value) == null ? void 0 : _a.tableContent) === "custom") {
101
+ return ((_c = (_b = currDialog.value) == null ? void 0 : _b.customTableConfig) == null ? void 0 : _c.fieldsData) || [];
102
+ } else if (((_d = currDialog.value) == null ? void 0 : _d.tableContent) === "select") {
103
+ return [
104
+ ...((_e = tableOptions.value) == null ? void 0 : _e.fieldsData) || [],
105
+ ...((_f = tableOptions.value) == null ? void 0 : _f.hiddenFields) || []
106
+ ];
107
+ }
108
+ return [];
109
+ });
110
+ function handleOnlyFlowConfirm(data) {
111
+ props.formData.callbackEventConfig = data;
112
+ }
24
113
  return (_ctx, _cache) => {
25
- const _component_el_option = index$1.ElOption;
26
- const _component_el_select = index$1.ElSelect;
114
+ const _component_el_radio_button = index$1.ElRadioButton;
115
+ const _component_el_radio_group = index$1.ElRadioGroup;
27
116
  const _component_el_form_item = index.ElFormItem;
28
- return vue.openBlock(), vue.createBlock(_component_el_form_item, { label: "选择弹层" }, {
29
- default: vue.withCtx(() => [
30
- vue.createVNode(_component_el_select, {
31
- modelValue: __props.formData.dialogId,
32
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => __props.formData.dialogId = $event),
33
- placeholder: "请选择弹层",
34
- filterable: "",
35
- size: "small"
36
- }, {
117
+ const _component_el_option = index$2.ElOption;
118
+ const _component_el_select = index$2.ElSelect;
119
+ const _component_el_input = index$3.ElInput;
120
+ return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
121
+ vue.createVNode(_component_el_form_item, { label: "弹层来源" }, {
122
+ default: vue.withCtx(() => [
123
+ vue.createVNode(_component_el_radio_group, {
124
+ modelValue: __props.formData.dialogSource,
125
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => __props.formData.dialogSource = $event)
126
+ }, {
127
+ default: vue.withCtx(() => [
128
+ vue.createVNode(_component_el_radio_button, { value: "global" }, {
129
+ default: vue.withCtx(() => _cache[7] || (_cache[7] = [
130
+ vue.createTextVNode("全局")
131
+ ])),
132
+ _: 1
133
+ }),
134
+ vue.createVNode(_component_el_radio_button, { value: "custom" }, {
135
+ default: vue.withCtx(() => _cache[8] || (_cache[8] = [
136
+ vue.createTextVNode("自定义")
137
+ ])),
138
+ _: 1
139
+ })
140
+ ]),
141
+ _: 1
142
+ }, 8, ["modelValue"])
143
+ ]),
144
+ _: 1
145
+ }),
146
+ vue.createVNode(_component_el_form_item, { label: "选择弹层" }, {
147
+ default: vue.withCtx(() => [
148
+ vue.createVNode(_component_el_select, {
149
+ modelValue: __props.formData.dialogId,
150
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => __props.formData.dialogId = $event),
151
+ placeholder: "请选择弹层",
152
+ filterable: "",
153
+ size: "small",
154
+ loading: loading.value,
155
+ clearable: "",
156
+ onChange: handleDialogChange
157
+ }, {
158
+ default: vue.withCtx(() => [
159
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(dialogOptions.value, (dialog) => {
160
+ return vue.openBlock(), vue.createBlock(_component_el_option, {
161
+ key: dialog.id,
162
+ label: dialog.name,
163
+ value: dialog.id
164
+ }, null, 8, ["label", "value"]);
165
+ }), 128))
166
+ ]),
167
+ _: 1
168
+ }, 8, ["modelValue", "loading"])
169
+ ]),
170
+ _: 1
171
+ }),
172
+ __props.formData.dialogSource == "global" && __props.formData.dialogId ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
173
+ vue.createVNode(_component_el_form_item, { label: "选择模式" }, {
174
+ default: vue.withCtx(() => [
175
+ vue.createVNode(_component_el_radio_group, {
176
+ modelValue: __props.formData.selectionMode,
177
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => __props.formData.selectionMode = $event)
178
+ }, {
179
+ default: vue.withCtx(() => [
180
+ vue.createVNode(_component_el_radio_button, { value: "none" }, {
181
+ default: vue.withCtx(() => _cache[9] || (_cache[9] = [
182
+ vue.createTextVNode("无")
183
+ ])),
184
+ _: 1
185
+ }),
186
+ vue.createVNode(_component_el_radio_button, { value: "single" }, {
187
+ default: vue.withCtx(() => _cache[10] || (_cache[10] = [
188
+ vue.createTextVNode("单选")
189
+ ])),
190
+ _: 1
191
+ }),
192
+ vue.createVNode(_component_el_radio_button, { value: "multiple" }, {
193
+ default: vue.withCtx(() => _cache[11] || (_cache[11] = [
194
+ vue.createTextVNode("多选")
195
+ ])),
196
+ _: 1
197
+ })
198
+ ]),
199
+ _: 1
200
+ }, 8, ["modelValue"])
201
+ ]),
202
+ _: 1
203
+ }),
204
+ __props.formData.selectionMode != "none" ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
205
+ vue.createVNode(_component_el_form_item, { label: "选取后反显字段" }, {
206
+ default: vue.withCtx(() => [
207
+ vue.createVNode(_component_el_input, {
208
+ modelValue: __props.formData.displayFieldName,
209
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => __props.formData.displayFieldName = $event)
210
+ }, null, 8, ["modelValue"])
211
+ ]),
212
+ _: 1
213
+ }),
214
+ vue.createVNode(_component_el_form_item, { label: "选取后反显格式" }, {
215
+ default: vue.withCtx(() => [
216
+ vue.createVNode(vue.unref(FormulaEditorInput.default), {
217
+ title: "反显格式配置",
218
+ formulaConf: __props.formData.displayFormat,
219
+ "onUpdate:formulaConf": _cache[4] || (_cache[4] = ($event) => __props.formData.displayFormat = $event),
220
+ modelValue: __props.formData.displayFormatText,
221
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => __props.formData.displayFormatText = $event),
222
+ fieldList: tableFields.value
223
+ }, null, 8, ["formulaConf", "modelValue", "fieldList"])
224
+ ]),
225
+ _: 1
226
+ }),
227
+ vue.createVNode(_component_el_form_item, { label: "选取后表单赋值" }, {
228
+ default: vue.withCtx(() => [
229
+ vue.createVNode(FieldSetMapping.default, {
230
+ modelValue: __props.formData.fieldMapping,
231
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => __props.formData.fieldMapping = $event),
232
+ fieldLabel: "赋值表单字段",
233
+ valueLabel: "列表字段",
234
+ valueOptions: tableFields.value,
235
+ valueSelectMode: ""
236
+ }, null, 8, ["modelValue", "valueOptions"])
237
+ ]),
238
+ _: 1
239
+ })
240
+ ], 64)) : vue.createCommentVNode("", true),
241
+ vue.createVNode(_component_el_form_item, { label: "回调事件配置" }, {
37
242
  default: vue.withCtx(() => [
38
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(dialogOptions.value, (dialog) => {
39
- return vue.openBlock(), vue.createBlock(_component_el_option, {
40
- key: dialog.id,
41
- label: dialog.name,
42
- value: dialog.id
43
- }, null, 8, ["label", "value"]);
44
- }), 128))
243
+ vue.createVNode(OnlyFLowConfigButton.default, {
244
+ config: __props.formData.callbackEventConfig,
245
+ onConfirm: handleOnlyFlowConfirm
246
+ }, null, 8, ["config"])
45
247
  ]),
46
248
  _: 1
47
- }, 8, ["modelValue"])
48
- ]),
49
- _: 1
50
- });
249
+ })
250
+ ], 64)) : vue.createCommentVNode("", true)
251
+ ], 64);
51
252
  };
52
253
  }
53
254
  };
@@ -33,7 +33,11 @@ const menuData = [
33
33
  index: "ui",
34
34
  label: "交互",
35
35
  items: [
36
- { index: "ui-dialog", label: "打开弹层", desc: "打开指定的弹层", component: Dialog.default },
36
+ { index: "ui-dialog", label: "打开弹层", desc: "打开指定的弹层", component: Dialog.default, default: {
37
+ dialogSource: "global",
38
+ selectionMode: "none",
39
+ fieldMapping: []
40
+ } },
37
41
  { index: "ui-message", label: "显示提示信息", desc: "显示消息提示", component: Message.default, default: {
38
42
  messageType: "success",
39
43
  message: ""
@@ -11,7 +11,10 @@ const defaultProperty = {
11
11
  optionStyle: "default",
12
12
  dateType: "date",
13
13
  suffixButton: "none",
14
- suffixDialogName: "选择"
14
+ suffixDialogName: "选择",
15
+ dialogSource: "global",
16
+ selectionMode: "none",
17
+ fieldMapping: []
15
18
  };
16
19
  const components = [
17
20
  {
@@ -64,20 +67,28 @@ const components = [
64
67
  ...defaultProperty
65
68
  },
66
69
  {
67
- fieldType: "blank",
68
- label: "空白占位",
70
+ fieldType: "richText",
71
+ label: "富文本",
69
72
  ...defaultProperty
70
73
  },
71
74
  {
72
- fieldType: "divider",
75
+ fieldType: "subTitle",
73
76
  label: "子标题",
74
- fieldName: "divider"
77
+ fieldName: "subTitle"
75
78
  },
76
79
  {
77
80
  fieldType: "h2",
78
81
  label: "标题",
79
82
  subLabel: "副标题",
80
83
  fieldName: "h2"
84
+ },
85
+ {
86
+ fieldType: "blank",
87
+ label: "空白占位"
88
+ },
89
+ {
90
+ fieldType: "divider",
91
+ label: "分割线"
81
92
  }
82
93
  ]
83
94
  },
@@ -117,11 +128,6 @@ const components = [
117
128
  },
118
129
  maxLevel: 10
119
130
  },
120
- {
121
- fieldType: "richText",
122
- label: "富文本",
123
- ...defaultProperty
124
- },
125
131
  {
126
132
  fieldType: "area",
127
133
  label: "区域选择",
@@ -158,6 +164,14 @@ const components = [
158
164
  label: "审批历史",
159
165
  titleMode: "label",
160
166
  appHisDefault: "timeLine"
167
+ },
168
+ {
169
+ fieldType: "document",
170
+ label: "要件"
171
+ },
172
+ {
173
+ fieldType: "contract",
174
+ label: "合同"
161
175
  }
162
176
  ]
163
177
  }