@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
@@ -10,14 +10,22 @@ const index$2 = require("../../../../../node_modules/.pnpm/@element-plus_icons-v
10
10
  const common = require("../utils/common.js");
11
11
  ;/* empty css */
12
12
  const _pluginVue_exportHelper = require("../../../../../_virtual/_plugin-vue_export-helper.js");
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/button/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/icon/index.js");
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/icon/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/button/index.js");
15
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/link/index.js");
16
16
  const _hoisted_1 = { class: "table-work-btns" };
17
17
  const _hoisted_2 = { class: "left" };
18
- const _hoisted_3 = ["onMouseenter", "onClick"];
19
- const _hoisted_4 = { class: "right" };
18
+ const _hoisted_3 = {
19
+ key: 0,
20
+ class: "back-icon"
21
+ };
22
+ const _hoisted_4 = {
23
+ key: 1,
24
+ class: "template-name"
25
+ };
20
26
  const _hoisted_5 = ["onMouseenter", "onClick"];
27
+ const _hoisted_6 = { class: "right" };
28
+ const _hoisted_7 = ["onMouseenter", "onClick"];
21
29
  const _sfc_main = {
22
30
  __name: "tableBtn",
23
31
  setup(__props) {
@@ -59,21 +67,31 @@ const _sfc_main = {
59
67
  }
60
68
  }
61
69
  return (_ctx, _cache) => {
62
- const _component_el_button = index.ElButton;
63
- const _component_el_icon = index$1.ElIcon;
70
+ const _component_ArrowLeftBold = vue.resolveComponent("ArrowLeftBold");
71
+ const _component_el_icon = index.ElIcon;
72
+ const _component_el_button = index$1.ElButton;
64
73
  const _component_el_link = index$3.ElLink;
65
74
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
66
75
  vue.createElementVNode("div", _hoisted_2, [
76
+ editConfigData.value.showReturn ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3, [
77
+ vue.createVNode(_component_el_icon, null, {
78
+ default: vue.withCtx(() => [
79
+ vue.createVNode(_component_ArrowLeftBold)
80
+ ]),
81
+ _: 1
82
+ })
83
+ ])) : vue.createCommentVNode("", true),
84
+ editConfigData.value.showTitle ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4, vue.toDisplayString(editConfigData.value.templateName), 1)) : vue.createCommentVNode("", true),
67
85
  vue.createVNode(vue.unref(vueDraggablePlus.VueDraggable), {
68
- modelValue: vue.unref(editConfigData).customBtns.left,
69
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(editConfigData).customBtns.left = $event),
86
+ modelValue: editConfigData.value.customBtns.left,
87
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => editConfigData.value.customBtns.left = $event),
70
88
  animation: 150,
71
89
  group: { name: "tableBtn" },
72
90
  ghostClass: "ghost",
73
91
  class: "optBtnDraggable"
74
92
  }, {
75
93
  default: vue.withCtx(() => [
76
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(editConfigData).customBtns.left, (item) => {
94
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(editConfigData.value.customBtns.left, (item) => {
77
95
  return vue.openBlock(), vue.createElementBlock("div", {
78
96
  class: vue.normalizeClass(["optBtn", vue.unref(common.getCurrentClass)(item)]),
79
97
  onMouseenter: ($event) => vue.unref(common.setHoverItem)(item),
@@ -98,7 +116,7 @@ const _sfc_main = {
98
116
  ]),
99
117
  _: 2
100
118
  }, 1032, ["onClick"])
101
- ], 42, _hoisted_3);
119
+ ], 42, _hoisted_5);
102
120
  }), 256))
103
121
  ]),
104
122
  _: 1
@@ -116,7 +134,7 @@ const _sfc_main = {
116
134
  _: 1
117
135
  }, 8, ["icon"])
118
136
  ]),
119
- vue.createElementVNode("div", _hoisted_4, [
137
+ vue.createElementVNode("div", _hoisted_6, [
120
138
  vue.createVNode(_component_el_link, {
121
139
  class: "optBtn addLink",
122
140
  underline: "never",
@@ -130,15 +148,15 @@ const _sfc_main = {
130
148
  _: 1
131
149
  }, 8, ["icon"]),
132
150
  vue.createVNode(vue.unref(vueDraggablePlus.VueDraggable), {
133
- modelValue: vue.unref(editConfigData).customBtns.right,
134
- "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.unref(editConfigData).customBtns.right = $event),
151
+ modelValue: editConfigData.value.customBtns.right,
152
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => editConfigData.value.customBtns.right = $event),
135
153
  animation: 150,
136
154
  group: { name: "tableBtn" },
137
155
  ghostClass: "ghost",
138
156
  class: "optBtnDraggable"
139
157
  }, {
140
158
  default: vue.withCtx(() => [
141
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(editConfigData).customBtns.right, (item) => {
159
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(editConfigData.value.customBtns.right, (item) => {
142
160
  return vue.openBlock(), vue.createElementBlock("div", {
143
161
  class: vue.normalizeClass(["optBtn", vue.unref(common.getCurrentClass)(item)]),
144
162
  onMouseenter: ($event) => vue.unref(common.setHoverItem)(item),
@@ -163,7 +181,7 @@ const _sfc_main = {
163
181
  ]),
164
182
  _: 2
165
183
  }, 1032, ["onClick"])
166
- ], 42, _hoisted_5);
184
+ ], 42, _hoisted_7);
167
185
  }), 256))
168
186
  ]),
169
187
  _: 1
@@ -173,5 +191,5 @@ const _sfc_main = {
173
191
  };
174
192
  }
175
193
  };
176
- const TableBtn = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-f948e680"]]);
194
+ const TableBtn = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-c16f2646"]]);
177
195
  exports.default = TableBtn;
@@ -0,0 +1,157 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const vue = require("vue");
4
+ const datasource = require("../packages/utils/datasource.js");
5
+ const common = require("../packages/utils/common.js");
6
+ const simpleCache = require("./simpleCache.js");
7
+ const index = require("../api/index.js");
8
+ async function loadOptions(config, callback) {
9
+ const { fieldType, optionConfig = {} } = config;
10
+ if (fieldType !== "select" && fieldType !== "multipleSelection" && fieldType !== "cascader" && fieldType !== "area" && fieldType !== "industry" && fieldType !== "radio" && fieldType !== "checkbox") {
11
+ const result = optionConfig.options || [];
12
+ return result;
13
+ }
14
+ if (fieldType == "area") {
15
+ const rawData = await simpleCache.getDataSourceWithConcurrencyControl(
16
+ "sysArea",
17
+ async () => {
18
+ const data = await index.default.getDataDicArea4Cascader();
19
+ return data;
20
+ }
21
+ );
22
+ return rawData;
23
+ } else if (fieldType == "industry") {
24
+ const rawData = await simpleCache.getDataSourceWithConcurrencyControl(
25
+ "sysIndustry",
26
+ async () => {
27
+ const data = await index.default.getDataDicTrade4Cascader();
28
+ return data;
29
+ }
30
+ );
31
+ return rawData;
32
+ }
33
+ const {
34
+ optionSource,
35
+ dataSourceValue,
36
+ dictionaryValue,
37
+ options: staticOptions = [],
38
+ displayField = "label",
39
+ valueField = "value"
40
+ } = optionConfig;
41
+ if (!optionSource || optionSource === "static") {
42
+ return staticOptions;
43
+ }
44
+ try {
45
+ if (optionSource === "dataSource" && dataSourceValue) {
46
+ const result = await loadDataSourceOptions(
47
+ dataSourceValue,
48
+ displayField,
49
+ valueField,
50
+ staticOptions
51
+ );
52
+ if (callback) ;
53
+ return result;
54
+ }
55
+ if (optionSource === "dictionary" && dictionaryValue) {
56
+ const result = await loadDictionaryOptions(
57
+ dictionaryValue,
58
+ staticOptions
59
+ );
60
+ if (callback) ;
61
+ return result;
62
+ }
63
+ if (callback) ;
64
+ return staticOptions;
65
+ } catch (error) {
66
+ console.error("加载选项失败:", error);
67
+ return staticOptions;
68
+ }
69
+ }
70
+ async function loadDataSourceOptions(dataSourceValue, displayField, valueField, fallbackOptions = []) {
71
+ var _a, _b;
72
+ try {
73
+ const dataSources = common.getEditConfigDataSources();
74
+ const rawData = await simpleCache.getDataSourceWithConcurrencyControl(
75
+ dataSourceValue,
76
+ async () => {
77
+ const dsManager = datasource.createDataSource({
78
+ dataSources,
79
+ currentDataSourceId: dataSourceValue
80
+ });
81
+ try {
82
+ const data = await dsManager.fetch();
83
+ dsManager.destroy();
84
+ return data;
85
+ } catch (error) {
86
+ dsManager.destroy();
87
+ throw error;
88
+ }
89
+ }
90
+ );
91
+ let dataArray = [];
92
+ if (Array.isArray(rawData)) {
93
+ dataArray = rawData;
94
+ } else if (typeof rawData === "object") {
95
+ dataArray = Array.isArray(rawData.data) ? rawData.data : ((_a = rawData.data) == null ? void 0 : _a.records) || ((_b = rawData.data) == null ? void 0 : _b.list) || [];
96
+ }
97
+ const processedOptions = dataArray.map((item) => ({
98
+ ...item,
99
+ label: item[displayField] || item.label || item.name || String(item[valueField] || ""),
100
+ value: item[valueField] || item.value || item.id
101
+ }));
102
+ return processedOptions;
103
+ } catch (error) {
104
+ console.error(`加载数据源失败: ${dataSourceValue}:`, error);
105
+ return fallbackOptions;
106
+ }
107
+ }
108
+ async function loadDictionaryOptions(dictionaryValue, fallbackOptions = []) {
109
+ try {
110
+ const dictData = await simpleCache.getDictionaryWithConcurrencyControl(
111
+ dictionaryValue,
112
+ () => index.default.getDicDataByKey(dictionaryValue)
113
+ );
114
+ const result = [];
115
+ for (const key in dictData) {
116
+ result.push({
117
+ label: dictData[key] || key,
118
+ value: key
119
+ });
120
+ }
121
+ return result;
122
+ } catch (error) {
123
+ console.error(`加载字典数据失败: ${dictionaryValue}:`, error);
124
+ return fallbackOptions;
125
+ }
126
+ }
127
+ function useOptions(config) {
128
+ const options = vue.ref([]);
129
+ const loading = vue.ref(false);
130
+ const configRef = isRef(config) ? config : vue.ref(config);
131
+ vue.watch(
132
+ configRef,
133
+ async (newConfig) => {
134
+ var _a;
135
+ if (!newConfig) return;
136
+ loading.value = true;
137
+ try {
138
+ const result = await loadOptions(newConfig);
139
+ options.value = result;
140
+ } catch (error) {
141
+ console.error("加载选项失败:", error);
142
+ options.value = ((_a = newConfig.optionConfig) == null ? void 0 : _a.options) || [];
143
+ } finally {
144
+ loading.value = false;
145
+ }
146
+ },
147
+ { immediate: true, deep: true }
148
+ );
149
+ return { options, loading };
150
+ }
151
+ function isRef(value) {
152
+ return value && typeof value === "object" && "value" in value;
153
+ }
154
+ exports.loadDataSourceOptions = loadDataSourceOptions;
155
+ exports.loadDictionaryOptions = loadDictionaryOptions;
156
+ exports.loadOptions = loadOptions;
157
+ exports.useOptions = useOptions;
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const dataSourceCache = /* @__PURE__ */ new Map();
4
+ const dictionaryCache = /* @__PURE__ */ new Map();
5
+ const pendingRequests = /* @__PURE__ */ new Map();
6
+ const DEFAULT_CACHE_TIME = 10 * 60 * 1e3;
7
+ function getDataSourceCache(dataSourceId) {
8
+ const cached = dataSourceCache.get(dataSourceId);
9
+ if (!cached) return null;
10
+ if (Date.now() - cached.timestamp > cached.expiresIn) {
11
+ dataSourceCache.delete(dataSourceId);
12
+ return null;
13
+ }
14
+ return cached.data;
15
+ }
16
+ function setDataSourceCache(dataSourceId, data, expiresIn = DEFAULT_CACHE_TIME) {
17
+ dataSourceCache.set(dataSourceId, {
18
+ data,
19
+ timestamp: Date.now(),
20
+ expiresIn
21
+ });
22
+ }
23
+ function getDictionaryCache(dictionaryKey) {
24
+ const cached = dictionaryCache.get(dictionaryKey);
25
+ if (!cached) return null;
26
+ if (Date.now() - cached.timestamp > cached.expiresIn) {
27
+ dictionaryCache.delete(dictionaryKey);
28
+ return null;
29
+ }
30
+ return cached.data;
31
+ }
32
+ function setDictionaryCache(dictionaryKey, data, expiresIn = DEFAULT_CACHE_TIME) {
33
+ dictionaryCache.set(dictionaryKey, {
34
+ data,
35
+ timestamp: Date.now(),
36
+ expiresIn
37
+ });
38
+ }
39
+ async function getDataSourceWithConcurrencyControl(dataSourceId, fetchFn) {
40
+ const cachedData = getDataSourceCache(dataSourceId);
41
+ if (cachedData !== null) {
42
+ return cachedData;
43
+ }
44
+ const requestKey = `dataSource:${dataSourceId}`;
45
+ if (pendingRequests.has(requestKey)) {
46
+ return pendingRequests.get(requestKey);
47
+ }
48
+ const requestPromise = fetchFn().then((data) => {
49
+ setDataSourceCache(dataSourceId, data);
50
+ return data;
51
+ }).finally(() => {
52
+ pendingRequests.delete(requestKey);
53
+ });
54
+ pendingRequests.set(requestKey, requestPromise);
55
+ return requestPromise;
56
+ }
57
+ async function getDictionaryWithConcurrencyControl(dictionaryKey, fetchFn) {
58
+ const cachedData = getDictionaryCache(dictionaryKey);
59
+ if (cachedData !== null) {
60
+ return cachedData;
61
+ }
62
+ const requestKey = `dictionary:${dictionaryKey}`;
63
+ if (pendingRequests.has(requestKey)) {
64
+ return pendingRequests.get(requestKey);
65
+ }
66
+ const requestPromise = fetchFn().then((data) => {
67
+ setDictionaryCache(dictionaryKey, data);
68
+ return data;
69
+ }).finally(() => {
70
+ pendingRequests.delete(requestKey);
71
+ });
72
+ pendingRequests.set(requestKey, requestPromise);
73
+ return requestPromise;
74
+ }
75
+ exports.getDataSourceCache = getDataSourceCache;
76
+ exports.getDataSourceWithConcurrencyControl = getDataSourceWithConcurrencyControl;
77
+ exports.getDictionaryCache = getDictionaryCache;
78
+ exports.getDictionaryWithConcurrencyControl = getDictionaryWithConcurrencyControl;
79
+ exports.setDataSourceCache = setDataSourceCache;
80
+ exports.setDictionaryCache = setDictionaryCache;
@@ -82,7 +82,30 @@ const _sfc_main = {
82
82
  }
83
83
  return true;
84
84
  });
85
+ var isComposing = false;
85
86
  const handleInput = (e) => {
87
+ if (isComposing) return;
88
+ const inputElement = e.target;
89
+ recordCursor(inputElement);
90
+ inputElement.value = formatterUtil.textFormatter4Input(
91
+ inputElement.value,
92
+ props.dataFormatter
93
+ );
94
+ setCursor(inputElement);
95
+ const unformattedValue = formatterUtil.reverseTextFormatter(
96
+ inputElement.value,
97
+ props.dataFormatter
98
+ );
99
+ compValue.value = unformattedValue;
100
+ };
101
+ const handleCompositionStart = () => {
102
+ isComposing = true;
103
+ };
104
+ const handleCompositionEnd = (e) => {
105
+ isComposing = false;
106
+ doSomethingFunction(e);
107
+ };
108
+ const doSomethingFunction = (e) => {
86
109
  const inputElement = e.target;
87
110
  recordCursor(inputElement);
88
111
  inputElement.value = formatterUtil.textFormatter4Input(
@@ -110,7 +133,9 @@ const _sfc_main = {
110
133
  onClick: _cache[1] || (_cache[1] = ($event) => !__props.disabled && emit("openPicker")),
111
134
  ref_key: "fieldInputRef",
112
135
  ref: fieldInputRef,
113
- onInput: handleInput
136
+ onInput: handleInput,
137
+ onCompositionstart: handleCompositionStart,
138
+ onCompositionend: handleCompositionEnd
114
139
  }), vue.createSlots({ _: 2 }, [
115
140
  vue.renderList(_ctx.$slots, (item, key) => {
116
141
  return {
@@ -9,6 +9,9 @@ const api = {
9
9
  },
10
10
  getDataDicTrade4Cascader: ($http) => {
11
11
  return $http.post(`${$servers.base}/parm/sysParmDic/getDataDicTrade4Cascader`);
12
+ },
13
+ getTemplateDialogById: ($http, id) => {
14
+ return $http.postForm(`${$servers.base}/template/sysTemplateDialog/getById`, { id });
12
15
  }
13
16
  };
14
17
  exports.default = api;
@@ -12,7 +12,7 @@ const index$8 = require("./forms/radio/index.js");
12
12
  const index$9 = require("./forms/checkbox/index.js");
13
13
  const index$a = require("./forms/switch/index.js");
14
14
  const index$b = require("./forms/upload/index.js");
15
- const index$c = require("./forms/divider/index.js");
15
+ const index$c = require("./forms/subTitle/index.js");
16
16
  const index$d = require("./forms/h2/index.js");
17
17
  const index$e = require("./forms/subForm/index.js");
18
18
  const index$f = require("./forms/subTable/index.js");
@@ -38,7 +38,7 @@ exports.Radio = index$8.Radio;
38
38
  exports.Checkbox = index$9.Checkbox;
39
39
  exports.Switch = index$a.Switch;
40
40
  exports.Upload = index$b.Upload;
41
- exports.Divider = index$c.Divider;
41
+ exports.SubTitle = index$c.SubTitle;
42
42
  exports.H2 = index$d.H2;
43
43
  exports.SubForm = index$e.SubForm;
44
44
  exports.SubTable = index$f.SubTable;
@@ -3,7 +3,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  ;/* empty css */
4
4
  ;/* empty css */
5
5
  const vue = require("vue");
6
- const index$2 = require("../../forms/divider/index.js");
6
+ const index$2 = require("../../forms/subTitle/index.js");
7
7
  const index = require("../../forms/h2/index.js");
8
8
  const timeLine = require("./timeLine.vue.js");
9
9
  const flowChart = require("./flowChart.vue.js");
@@ -103,7 +103,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
103
103
  })
104
104
  ]),
105
105
  _: 1
106
- }, 8, ["config"])) : __props.config.titleMode == "subLabel" ? (vue.openBlock(), vue.createBlock(vue.unref(index$2.Divider), {
106
+ }, 8, ["config"])) : __props.config.titleMode == "subLabel" ? (vue.openBlock(), vue.createBlock(vue.unref(index$2.SubTitle), {
107
107
  key: 1,
108
108
  config: __props.config
109
109
  }, null, 8, ["config"])) : vue.createCommentVNode("", true)
@@ -126,5 +126,5 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
126
126
  };
127
127
  }
128
128
  });
129
- const _ApprovalHistory = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-c63139c9"]]);
129
+ const _ApprovalHistory = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-7be2a6d2"]]);
130
130
  exports.default = _ApprovalHistory;
@@ -98,5 +98,5 @@ const _sfc_main = {
98
98
  };
99
99
  }
100
100
  };
101
- const component = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-f9d3d19d"]]);
101
+ const component = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-93e082c1"]]);
102
102
  exports.default = component;
@@ -183,7 +183,7 @@ const _sfc_main = {
183
183
  (_d = (_c = (_b = props.componentCtx) == null ? void 0 : _b.$) == null ? void 0 : _c.exposed) == null ? void 0 : _d.setFormData(formData);
184
184
  }
185
185
  const callbackEventConfig = currentDialogConfig.value.callbackEventConfig;
186
- if (callbackEventConfig && ((_e = callbackEventConfig == null ? void 0 : callbackEventConfig.next) == null ? void 0 : _e.id) != "end") {
186
+ if (callbackEventConfig && Object.keys(callbackEventConfig).length > 0 && ((_e = callbackEventConfig == null ? void 0 : callbackEventConfig.next) == null ? void 0 : _e.id) != "end") {
187
187
  const fieldsData = dialogTableRef.value.localConfig.fieldsData;
188
188
  eventFlowHandler.executeEventFlow({
189
189
  eventFlow: callbackEventConfig,
@@ -410,5 +410,5 @@ const _sfc_main = {
410
410
  };
411
411
  }
412
412
  };
413
- const DialogRenderer = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-bc819435"]]);
413
+ const DialogRenderer = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-a05d18cf"]]);
414
414
  exports.default = DialogRenderer;
@@ -87,8 +87,9 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
87
87
  if (props.config.displayFieldName && val) {
88
88
  vue.nextTick(() => {
89
89
  const displayValue = getDisplayPath();
90
- console.log("🚀 ~ displayValue:", displayValue);
91
- formData.value[props.config.displayFieldName] = displayValue;
90
+ if (formData) {
91
+ formData.value[props.config.displayFieldName] = displayValue;
92
+ }
92
93
  });
93
94
  }
94
95
  });
@@ -158,7 +158,6 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
158
158
  pageEvents.executeEvent("onCreated");
159
159
  }
160
160
  }
161
- initGridLayoutDataConfig();
162
161
  } catch (error) {
163
162
  console.error("加载配置失败:", error);
164
163
  index$5.ElMessage.error("加载配置失败");
@@ -328,8 +327,10 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
328
327
  item.isResizable = false;
329
328
  const component = item.component;
330
329
  item.y = item.y * 60;
331
- if (component.fieldType == "divider" || component.fieldType == "h2") {
330
+ if (component.fieldType == "subTitle" || component.fieldType == "h2") {
332
331
  item.h = item.h * 40;
332
+ } else if (component.fieldType == "divider") {
333
+ item.h = item.h * 0;
333
334
  } else if (!item.fixedH) {
334
335
  item.h = item.h * 60;
335
336
  } else ;
@@ -338,6 +339,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
338
339
  gridLayoutDataConfig.value = gridLayoutData;
339
340
  }
340
341
  const gridLayoutFieldsData = vue.computed(() => {
342
+ initGridLayoutDataConfig();
341
343
  let gridLayoutData = common.cloneDeep(gridLayoutDataConfig.value || []);
342
344
  const linkedConfig = localConfig.value.linkedConfig || {};
343
345
  const dataLink = (linkedConfig == null ? void 0 : linkedConfig.dataLink) || [];
@@ -666,5 +668,5 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
666
668
  };
667
669
  }
668
670
  });
669
- const _Form = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-23f3bf9a"]]);
671
+ const _Form = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-263c93f9"]]);
670
672
  exports.default = _Form;
@@ -6,7 +6,7 @@ require("../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typ
6
6
  ;/* empty css */
7
7
  const vue = require("vue");
8
8
  const debounce = require("../form/debounce.js");
9
- const index$3 = require("../divider/index.js");
9
+ const index$3 = require("../subTitle/index.js");
10
10
  const index$2 = require("../h2/index.js");
11
11
  const index$4 = require("../subForm/index.js");
12
12
  const index$5 = require("../subTable/index.js");
@@ -17,12 +17,11 @@ const index = require("../../bus/index.js");
17
17
  const _pluginVue_exportHelper = require("../../../../../../_virtual/_plugin-vue_export-helper.js");
18
18
  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/form/index.js");
19
19
  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/tooltip/index.js");
20
- const _hoisted_1 = { key: 5 };
21
- const _hoisted_2 = {
20
+ const _hoisted_1 = {
22
21
  key: 0,
23
22
  class: "iconfont icon-iconZheng credit-icon"
24
23
  };
25
- const _hoisted_3 = {
24
+ const _hoisted_2 = {
26
25
  key: 1,
27
26
  class: "iconfont icon-iconJian regulation-icon"
28
27
  };
@@ -69,12 +68,12 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
69
68
  });
70
69
  const componentProps = vue.computed(() => {
71
70
  const fieldProps = { ...props.config };
72
- if (fieldProps.fieldType !== "divider" && fieldProps.fieldType !== "h2") {
71
+ if (fieldProps.fieldType !== "subTitle" && fieldProps.fieldType !== "h2") {
73
72
  fieldProps.placeholder = fieldProps.placeholder || "";
74
73
  fieldProps.disabled = fieldProps.disabled || false;
75
74
  fieldProps.readonly = fieldProps.readOnly || false;
76
75
  }
77
- if (fieldProps.fieldType === "divider") {
76
+ if (fieldProps.fieldType === "subTitle") {
78
77
  fieldProps.content = fieldProps.label;
79
78
  }
80
79
  if (fieldProps.fieldType === "h2") {
@@ -106,7 +105,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
106
105
  return __props.config.fieldType == "h2" ? (vue.openBlock(), vue.createBlock(vue.unref(index$2.H2), {
107
106
  key: 0,
108
107
  config: __props.config
109
- }, null, 8, ["config"])) : __props.config.fieldType == "divider" ? (vue.openBlock(), vue.createBlock(vue.unref(index$3.Divider), {
108
+ }, null, 8, ["config"])) : __props.config.fieldType == "subTitle" ? (vue.openBlock(), vue.createBlock(vue.unref(index$3.SubTitle), {
110
109
  key: 1,
111
110
  config: __props.config
112
111
  }, null, 8, ["config"])) : __props.config.fieldType == "subForm" ? (vue.openBlock(), vue.createBlock(vue.unref(index$4.SubForm), {
@@ -122,7 +121,10 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
122
121
  key: 4,
123
122
  config: __props.config,
124
123
  localConfig: __props.localConfig
125
- }, null, 8, ["config", "localConfig"])) : __props.config.fieldType == "blank" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1)) : (vue.openBlock(), vue.createBlock(_component_el_form_item, {
124
+ }, null, 8, ["config", "localConfig"])) : __props.config.fieldType == "blank" || __props.config.fieldType == "divider" ? (vue.openBlock(), vue.createElementBlock("div", {
125
+ key: 5,
126
+ class: vue.normalizeClass(__props.config.fieldType)
127
+ }, null, 2)) : (vue.openBlock(), vue.createBlock(_component_el_form_item, {
126
128
  key: 6,
127
129
  prop: __props.config.fieldName,
128
130
  required: __props.config.required,
@@ -149,8 +151,8 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
149
151
  fn: vue.withCtx(() => {
150
152
  var _a;
151
153
  return [
152
- __props.config.credit ? (vue.openBlock(), vue.createElementBlock("i", _hoisted_2)) : vue.createCommentVNode("", true),
153
- __props.config.regulation ? (vue.openBlock(), vue.createElementBlock("i", _hoisted_3)) : vue.createCommentVNode("", true),
154
+ __props.config.credit ? (vue.openBlock(), vue.createElementBlock("i", _hoisted_1)) : vue.createCommentVNode("", true),
155
+ __props.config.regulation ? (vue.openBlock(), vue.createElementBlock("i", _hoisted_2)) : vue.createCommentVNode("", true),
154
156
  vue.createElementVNode("span", null, vue.toDisplayString(__props.config.label), 1),
155
157
  ((_a = __props.config.tooltip) == null ? void 0 : _a.trim()) ? (vue.openBlock(), vue.createBlock(_component_el_tooltip, {
156
158
  key: 2,
@@ -170,5 +172,5 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
170
172
  };
171
173
  }
172
174
  });
173
- const _FormItem = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-250e51f9"]]);
175
+ const _FormItem = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-c5553ecf"]]);
174
176
  exports.default = _FormItem;
@@ -11,7 +11,7 @@ const index$7 = require("./radio/index.js");
11
11
  const index$8 = require("./checkbox/index.js");
12
12
  const index$9 = require("./switch/index.js");
13
13
  const index$a = require("./upload/index.js");
14
- const index$b = require("./divider/index.js");
14
+ const index$b = require("./subTitle/index.js");
15
15
  const index$c = require("./h2/index.js");
16
16
  const index$d = require("./subForm/index.js");
17
17
  const index$e = require("./subTable/index.js");
@@ -31,7 +31,7 @@ exports.Radio = index$7.Radio;
31
31
  exports.Checkbox = index$8.Checkbox;
32
32
  exports.Switch = index$9.Switch;
33
33
  exports.Upload = index$a.Upload;
34
- exports.Divider = index$b.Divider;
34
+ exports.SubTitle = index$b.SubTitle;
35
35
  exports.H2 = index$c.H2;
36
36
  exports.SubForm = index$d.SubForm;
37
37
  exports.SubTable = index$e.SubTable;
@@ -2,7 +2,7 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
4
  const index$2 = require("../form/index.js");
5
- const index$1 = require("../divider/index.js");
5
+ const index$1 = require("../subTitle/index.js");
6
6
  const index = require("../h2/index.js");
7
7
  const _hoisted_1 = {
8
8
  key: 0,
@@ -74,7 +74,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
74
74
  __props.config.titleMode == "label" ? (vue.openBlock(), vue.createBlock(vue.unref(index.H2), {
75
75
  key: 0,
76
76
  config: __props.config
77
- }, null, 8, ["config"])) : __props.config.titleMode == "subLabel" ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.Divider), {
77
+ }, null, 8, ["config"])) : __props.config.titleMode == "subLabel" ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.SubTitle), {
78
78
  key: 1,
79
79
  config: __props.config
80
80
  }, null, 8, ["config"])) : vue.createCommentVNode("", true)
@@ -2,7 +2,7 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
4
  const Table = require("../../table/Table.vue.js");
5
- const index$1 = require("../divider/index.js");
5
+ const index$1 = require("../subTitle/index.js");
6
6
  const index = require("../h2/index.js");
7
7
  const parseRouteParams = require("../../../utils/parseRouteParams.js");
8
8
  const _hoisted_1 = {
@@ -84,7 +84,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
84
84
  __props.config.titleMode == "label" ? (vue.openBlock(), vue.createBlock(vue.unref(index.H2), {
85
85
  key: 0,
86
86
  config: __props.config
87
- }, null, 8, ["config"])) : __props.config.titleMode == "subLabel" ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.Divider), {
87
+ }, null, 8, ["config"])) : __props.config.titleMode == "subLabel" ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.SubTitle), {
88
88
  key: 1,
89
89
  config: __props.config
90
90
  }, null, 8, ["config"])) : vue.createCommentVNode("", true)