@fecp/vue 1.1.3 → 1.1.4

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 (119) hide show
  1. package/es/_virtual/bessel.mjs +7 -0
  2. package/es/_virtual/bessel2.mjs +4 -0
  3. package/es/_virtual/index.mjs +1 -1
  4. package/es/_virtual/index2.mjs +1 -1
  5. package/es/_virtual/jstat.mjs +7 -0
  6. package/es/_virtual/jstat2.mjs +4 -0
  7. package/es/node_modules/.pnpm/@formulajs_formulajs@4.5.6/node_modules/@formulajs/formulajs/lib/esm/index.mjs +7150 -0
  8. package/es/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/index.esm.mjs +1 -1
  9. package/es/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/clipboard.mjs +1 -1
  10. package/es/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/commands.mjs +1 -1
  11. package/es/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/config.mjs +1 -1
  12. package/es/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/event.mjs +1 -1
  13. package/es/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/formats.mjs +1 -1
  14. package/es/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/i18n.mjs +1 -1
  15. package/es/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/icon.mjs +1 -1
  16. package/es/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/interceptor.mjs +1 -1
  17. package/es/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/menus.mjs +1 -1
  18. package/es/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/permission.mjs +1 -1
  19. package/es/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/renderer.mjs +1 -1
  20. package/es/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/resize.mjs +1 -1
  21. package/es/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/store.mjs +1 -1
  22. package/es/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/vm.mjs +1 -1
  23. package/es/node_modules/.pnpm/bessel@1.0.2/node_modules/bessel/bessel.mjs +226 -0
  24. package/es/node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/container/index.mjs +7 -7
  25. package/es/node_modules/.pnpm/jstat@1.9.6/node_modules/jstat/dist/jstat.mjs +3853 -0
  26. package/es/packages/mobile/src/components/form/field/Field.vue.mjs +1 -1
  27. package/es/packages/mobile/src/utils/formatterUtil.mjs +1 -1
  28. package/es/packages/mobile/src/utils/optionUtil.mjs +1 -1
  29. package/es/packages/vue/index.mjs +4 -0
  30. package/es/packages/vue/src/components/all.mjs +4 -0
  31. package/es/packages/vue/src/components/details/header/Header.vue.mjs +1 -1
  32. package/es/packages/vue/src/components/forms/checkbox/Checkbox.vue.mjs +8 -2
  33. package/es/packages/vue/src/components/forms/date/Date.vue.mjs +6 -6
  34. package/es/packages/vue/src/components/forms/divider/Divider.vue.mjs +15 -20
  35. package/es/packages/vue/src/components/forms/divider/index.mjs +2 -2
  36. package/es/packages/vue/src/components/forms/form/Form.vue.mjs +281 -96
  37. package/es/packages/vue/src/components/forms/form/index.mjs +2 -2
  38. package/es/packages/vue/src/components/forms/formItem/FormItem.vue.mjs +76 -48
  39. package/es/packages/vue/src/components/forms/h2/H2.vue.mjs +16 -7
  40. package/es/packages/vue/src/components/forms/multipleSelection/MultipleSelection.vue.mjs +1 -1
  41. package/es/packages/vue/src/components/forms/number/Number.vue.mjs +18 -12
  42. package/es/packages/vue/src/components/forms/radio/Radio.vue.mjs +5 -3
  43. package/es/packages/vue/src/components/forms/select/Select.vue.mjs +6 -4
  44. package/es/packages/vue/src/components/forms/subForm/SubForm.vue.mjs +90 -0
  45. package/es/packages/vue/src/components/forms/subForm/index.mjs +7 -0
  46. package/es/packages/vue/src/components/forms/subTable/SubTable.vue.mjs +109 -0
  47. package/es/packages/vue/src/components/forms/subTable/index.mjs +7 -0
  48. package/es/packages/vue/src/components/forms/switch/Switch.vue.mjs +1 -1
  49. package/es/packages/vue/src/components/forms/text/Text.vue.mjs +6 -3
  50. package/es/packages/vue/src/components/forms/textarea/Textarea.vue.mjs +7 -4
  51. package/es/packages/vue/src/components/table/CustomButtons.vue.mjs +17 -17
  52. package/es/packages/vue/src/components/table/Table.vue.mjs +143 -77
  53. package/es/packages/vue/src/components/table/TableColumn.vue.mjs +37 -5
  54. package/es/packages/vue/src/components/table/TableFilter.vue.mjs +60 -21
  55. package/es/packages/vue/src/components/table/index.mjs +2 -2
  56. package/es/packages/vue/src/composables/usePageEvents.mjs +4 -5
  57. package/es/packages/vue/src/utils/common.mjs +5 -0
  58. package/es/packages/vue/src/utils/datasource.mjs +9 -1
  59. package/es/packages/vue/src/utils/formulajs/calculate.mjs +57 -0
  60. package/es/packages/vue/src/utils/formulajs/functionCore.mjs +17 -0
  61. package/es/vue.css +170 -61
  62. package/lib/_virtual/bessel.js +7 -0
  63. package/lib/_virtual/bessel2.js +4 -0
  64. package/lib/_virtual/index.js +1 -1
  65. package/lib/_virtual/index2.js +1 -1
  66. package/lib/_virtual/jstat.js +7 -0
  67. package/lib/_virtual/jstat2.js +4 -0
  68. package/lib/node_modules/.pnpm/@formulajs_formulajs@4.5.6/node_modules/@formulajs/formulajs/lib/esm/index.js +7150 -0
  69. package/lib/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/index.esm.js +1 -1
  70. package/lib/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/clipboard.js +1 -1
  71. package/lib/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/commands.js +1 -1
  72. package/lib/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/config.js +1 -1
  73. package/lib/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/event.js +1 -1
  74. package/lib/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/formats.js +1 -1
  75. package/lib/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/i18n.js +1 -1
  76. package/lib/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/icon.js +1 -1
  77. package/lib/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/interceptor.js +1 -1
  78. package/lib/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/menus.js +1 -1
  79. package/lib/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/permission.js +1 -1
  80. package/lib/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/renderer.js +1 -1
  81. package/lib/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/resize.js +1 -1
  82. package/lib/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/store.js +1 -1
  83. package/lib/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/vm.js +1 -1
  84. package/lib/node_modules/.pnpm/bessel@1.0.2/node_modules/bessel/bessel.js +226 -0
  85. package/lib/node_modules/.pnpm/jstat@1.9.6/node_modules/jstat/dist/jstat.js +3853 -0
  86. package/lib/packages/mobile/src/components/form/field/Field.vue.js +1 -1
  87. package/lib/packages/mobile/src/utils/formatterUtil.js +1 -1
  88. package/lib/packages/mobile/src/utils/optionUtil.js +1 -1
  89. package/lib/packages/vue/index.js +13 -9
  90. package/lib/packages/vue/src/components/all.js +10 -6
  91. package/lib/packages/vue/src/components/details/header/Header.vue.js +1 -1
  92. package/lib/packages/vue/src/components/forms/checkbox/Checkbox.vue.js +8 -2
  93. package/lib/packages/vue/src/components/forms/date/Date.vue.js +6 -6
  94. package/lib/packages/vue/src/components/forms/divider/Divider.vue.js +14 -19
  95. package/lib/packages/vue/src/components/forms/form/Form.vue.js +280 -95
  96. package/lib/packages/vue/src/components/forms/formItem/FormItem.vue.js +63 -35
  97. package/lib/packages/vue/src/components/forms/h2/H2.vue.js +15 -6
  98. package/lib/packages/vue/src/components/forms/multipleSelection/MultipleSelection.vue.js +1 -1
  99. package/lib/packages/vue/src/components/forms/number/Number.vue.js +18 -12
  100. package/lib/packages/vue/src/components/forms/radio/Radio.vue.js +5 -3
  101. package/lib/packages/vue/src/components/forms/select/Select.vue.js +6 -4
  102. package/lib/packages/vue/src/components/forms/subForm/SubForm.vue.js +90 -0
  103. package/lib/packages/vue/src/components/forms/subForm/index.js +7 -0
  104. package/lib/packages/vue/src/components/forms/subTable/SubTable.vue.js +109 -0
  105. package/lib/packages/vue/src/components/forms/subTable/index.js +7 -0
  106. package/lib/packages/vue/src/components/forms/switch/Switch.vue.js +1 -1
  107. package/lib/packages/vue/src/components/forms/text/Text.vue.js +6 -3
  108. package/lib/packages/vue/src/components/forms/textarea/Textarea.vue.js +7 -4
  109. package/lib/packages/vue/src/components/table/CustomButtons.vue.js +16 -16
  110. package/lib/packages/vue/src/components/table/Table.vue.js +145 -79
  111. package/lib/packages/vue/src/components/table/TableColumn.vue.js +37 -5
  112. package/lib/packages/vue/src/components/table/TableFilter.vue.js +82 -43
  113. package/lib/packages/vue/src/composables/usePageEvents.js +4 -5
  114. package/lib/packages/vue/src/utils/common.js +5 -0
  115. package/lib/packages/vue/src/utils/datasource.js +9 -1
  116. package/lib/packages/vue/src/utils/formulajs/calculate.js +57 -0
  117. package/lib/packages/vue/src/utils/formulajs/functionCore.js +17 -0
  118. package/lib/vue.css +170 -61
  119. package/package.json +1 -1
@@ -3,9 +3,10 @@
3
3
  /* empty css */
4
4
  /* empty css */
5
5
  /* empty css */
6
+ /* empty css */
7
+ /* empty css */
6
8
  import "../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/theme-chalk/el-date-picker.css.mjs";
7
9
  /* empty css */
8
- /* empty css */
9
10
  /* empty css */
10
11
  /* empty css */
11
12
  import { useCssVars, computed, ref, watch, createElementBlock, openBlock, Fragment, createBlock, createCommentVNode, normalizeStyle, withCtx, createElementVNode, normalizeClass, renderList, withDirectives, createVNode, resolveDynamicComponent, mergeProps, vShow, unref, createTextVNode, toDisplayString } from "vue";
@@ -19,9 +20,14 @@ import { Number } from "../forms/number/index.mjs";
19
20
  import _export_sfc from "../../../../../_virtual/_plugin-vue_export-helper.mjs";
20
21
  import { ElForm, ElFormItem } from "../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/form/index.mjs";
21
22
  import { ElDatePicker } from "../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/date-picker/index.mjs";
23
+ import { ElInputNumber } from "../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/input-number/index.mjs";
22
24
  import { ElButton } from "../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/button/index.mjs";
23
25
  import { ElDivider } from "../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/divider/index.mjs";
24
26
  import { ElIcon } from "../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/icon/index.mjs";
27
+ const _hoisted_1 = {
28
+ key: 1,
29
+ style: { "display": "flex", "align-items": "center", "gap": "8px", "width": "100%" }
30
+ };
25
31
  const _sfc_main = {
26
32
  __name: "TableFilter",
27
33
  props: {
@@ -37,7 +43,7 @@ const _sfc_main = {
37
43
  emits: ["search", "reset"],
38
44
  setup(__props, { expose: __expose, emit: __emit }) {
39
45
  useCssVars((_ctx) => ({
40
- "50ac82f0": `${config.value.collapseRows * 90}px`
46
+ "3f99436f": `${config.value.collapseRows * 90}px`
41
47
  }));
42
48
  const props = __props;
43
49
  const emit = __emit;
@@ -100,6 +106,8 @@ const _sfc_main = {
100
106
  select: "请选择",
101
107
  date: type === "start" ? "开始日期" : type === "end" ? "结束日期" : "请选择日期",
102
108
  number: "请输入",
109
+ number_min: "最小值",
110
+ number_max: "最大值",
103
111
  radio: "请选择",
104
112
  checkbox: "请选择",
105
113
  switch: "请选择"
@@ -107,6 +115,9 @@ const _sfc_main = {
107
115
  if (field.fieldType === "date") {
108
116
  return placeholderMap.date;
109
117
  }
118
+ if (field.fieldType === "number") {
119
+ return type === "min" ? placeholderMap.number_min : type === "max" ? placeholderMap.number_max : placeholderMap.number;
120
+ }
110
121
  return `${placeholderMap[field.fieldType] || "请输入"}${field.label || ""}`;
111
122
  };
112
123
  const toggleCollapse = () => {
@@ -121,15 +132,22 @@ const _sfc_main = {
121
132
  (field) => field.id == key
122
133
  );
123
134
  const fieldName = (fieldConfig == null ? void 0 : fieldConfig.fieldName) || key;
124
- if (Array.isArray(value)) {
125
- filters[fieldName] = value.join("|");
135
+ const maxKey = `${key}_max`;
136
+ const maxValue = filterValues.value[maxKey];
137
+ if (maxValue !== "" && maxValue !== null && maxValue !== void 0) {
138
+ filters[fieldName] = value + "|" + maxValue;
139
+ } else if (key.endsWith("_max")) {
140
+ return;
126
141
  } else {
127
- filters[fieldName] = value;
142
+ if (Array.isArray(value)) {
143
+ filters[fieldName] = value.join("|");
144
+ } else {
145
+ filters[fieldName] = value;
146
+ }
128
147
  }
129
148
  }
130
149
  });
131
- console.log("🚀 ~ handleSearch ~ filters:", filters);
132
- emit("search", filters);
150
+ emit("search", { filters });
133
151
  };
134
152
  const handleReset = () => {
135
153
  filterValues.value = {};
@@ -152,6 +170,7 @@ const _sfc_main = {
152
170
  });
153
171
  return (_ctx, _cache) => {
154
172
  const _component_el_date_picker = ElDatePicker;
173
+ const _component_el_input_number = ElInputNumber;
155
174
  const _component_el_form_item = ElFormItem;
156
175
  const _component_el_button = ElButton;
157
176
  const _component_el_form = ElForm;
@@ -179,26 +198,46 @@ const _sfc_main = {
179
198
  label: field.label || "筛选条件"
180
199
  }, {
181
200
  default: withCtx(() => [
182
- field.fieldType !== "date" ? (openBlock(), createBlock(resolveDynamicComponent(getFilterComponent(field.fieldType)), mergeProps({
201
+ field.fieldType == "date" ? (openBlock(), createBlock(_component_el_date_picker, {
183
202
  key: 0,
184
203
  modelValue: filterValues.value[field.fieldId],
185
204
  "onUpdate:modelValue": ($event) => filterValues.value[field.fieldId] = $event,
186
- config: { ...field, eventHandlers: {} },
187
- ref_for: true
188
- }, getComponentConfig(field), {
189
- placeholder: getPlaceholder(field)
190
- }), null, 16, ["modelValue", "onUpdate:modelValue", "config", "placeholder"])) : (openBlock(), createBlock(_component_el_date_picker, {
191
- key: 1,
192
- modelValue: filterValues.value[field.fieldId],
193
- "onUpdate:modelValue": ($event) => filterValues.value[field.fieldId] = $event,
194
205
  type: "daterange",
195
206
  "start-placeholder": getPlaceholder(field, "start"),
196
207
  "end-placeholder": getPlaceholder(field, "end"),
197
208
  format: "YYYY-MM-DD",
198
- "value-format": "YYYY-MM-DD",
209
+ "value-format": "YYYYMMDD",
199
210
  clearable: "",
200
211
  style: { "width": "100%" }
201
- }, null, 8, ["modelValue", "onUpdate:modelValue", "start-placeholder", "end-placeholder"]))
212
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "start-placeholder", "end-placeholder"])) : field.fieldType == "number" ? (openBlock(), createElementBlock("div", _hoisted_1, [
213
+ createVNode(_component_el_input_number, {
214
+ modelValue: filterValues.value[field.fieldId],
215
+ "onUpdate:modelValue": ($event) => filterValues.value[field.fieldId] = $event,
216
+ placeholder: getPlaceholder(field, "min"),
217
+ controls: false,
218
+ "controls-position": "right",
219
+ style: { "flex": "1" },
220
+ clearable: ""
221
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "placeholder"]),
222
+ _cache[0] || (_cache[0] = createElementVNode("span", null, "-", -1)),
223
+ createVNode(_component_el_input_number, {
224
+ modelValue: filterValues.value[`${field.fieldId}_max`],
225
+ "onUpdate:modelValue": ($event) => filterValues.value[`${field.fieldId}_max`] = $event,
226
+ placeholder: getPlaceholder(field, "max"),
227
+ controls: false,
228
+ "controls-position": "right",
229
+ style: { "flex": "1" },
230
+ clearable: ""
231
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "placeholder"])
232
+ ])) : (openBlock(), createBlock(resolveDynamicComponent(getFilterComponent(field.fieldType)), mergeProps({
233
+ key: 2,
234
+ modelValue: filterValues.value[field.fieldId],
235
+ "onUpdate:modelValue": ($event) => filterValues.value[field.fieldId] = $event,
236
+ config: { ...field, eventHandlers: {} },
237
+ ref_for: true
238
+ }, getComponentConfig(field), {
239
+ placeholder: getPlaceholder(field)
240
+ }), null, 16, ["modelValue", "onUpdate:modelValue", "config", "placeholder"]))
202
241
  ]),
203
242
  _: 2
204
243
  }, 1032, ["label"])
@@ -218,7 +257,7 @@ const _sfc_main = {
218
257
  onClick: handleSearch,
219
258
  icon: unref(search_default)
220
259
  }, {
221
- default: withCtx(() => _cache[0] || (_cache[0] = [
260
+ default: withCtx(() => _cache[1] || (_cache[1] = [
222
261
  createTextVNode("搜索")
223
262
  ])),
224
263
  _: 1
@@ -227,7 +266,7 @@ const _sfc_main = {
227
266
  onClick: handleReset,
228
267
  icon: unref(refresh_default)
229
268
  }, {
230
- default: withCtx(() => _cache[1] || (_cache[1] = [
269
+ default: withCtx(() => _cache[2] || (_cache[2] = [
231
270
  createTextVNode("重置")
232
271
  ])),
233
272
  _: 1
@@ -261,7 +300,7 @@ const _sfc_main = {
261
300
  };
262
301
  }
263
302
  };
264
- const TableFilter = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e94ef8a9"]]);
303
+ const TableFilter = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e72fcecc"]]);
265
304
  export {
266
305
  TableFilter as default
267
306
  };
@@ -1,6 +1,6 @@
1
- import _Table from "./Table.vue.mjs";
1
+ import Table$1 from "./Table.vue.mjs";
2
2
  import install from "../../utils/install.mjs";
3
- const Table = install.withInstall("Table", _Table);
3
+ const Table = install.withInstall("Table", Table$1);
4
4
  export {
5
5
  Table,
6
6
  Table as default
@@ -12,10 +12,9 @@ function usePageEvents(getOptions) {
12
12
  const staticOptions = getOptions;
13
13
  getOptions = () => staticOptions;
14
14
  }
15
- const executeEvent = (eventName) => {
16
- var _a;
15
+ const executeEvent = async (eventName) => {
17
16
  const options = getOptions();
18
- const { pageEventConfig, ctx, formData, localConfig, components } = options;
17
+ const { pageEventConfig, ctx, formData, localConfig, components, fields } = options;
19
18
  if (!pageEventConfig || !Array.isArray(pageEventConfig) || pageEventConfig.length === 0) {
20
19
  console.log(`页面事件 ${eventName} 未配置或配置未加载完成,跳过执行`);
21
20
  return;
@@ -26,7 +25,7 @@ function usePageEvents(getOptions) {
26
25
  return;
27
26
  }
28
27
  const { getEventHandlers: createEventHandlers } = useEventFlow({
29
- fields: ((_a = localConfig == null ? void 0 : localConfig.fieldsData) == null ? void 0 : _a.map((item) => item.component)) || [],
28
+ fields: fields || [],
30
29
  ctx,
31
30
  dataSources: (localConfig == null ? void 0 : localConfig.dataSources) || [],
32
31
  components: components || {}
@@ -39,7 +38,7 @@ function usePageEvents(getOptions) {
39
38
  const eventKeys = Object.keys(handler);
40
39
  if (eventKeys.length > 0) {
41
40
  console.log(`执行页面事件 ${eventName}`);
42
- handler[eventKeys[0]]();
41
+ await handler[eventKeys[0]]();
43
42
  }
44
43
  };
45
44
  const handleCreated = (checkConfigLoaded) => {
@@ -1,3 +1,7 @@
1
+ import cloneDeep$1 from "../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/cloneDeep.mjs";
2
+ function cloneDeep(data) {
3
+ return cloneDeep$1(data);
4
+ }
1
5
  function removeEmptyValues(data) {
2
6
  if (typeof data !== "object" || data === null) {
3
7
  return data;
@@ -19,5 +23,6 @@ function removeEmptyValues(data) {
19
23
  return result;
20
24
  }
21
25
  export {
26
+ cloneDeep,
22
27
  removeEmptyValues
23
28
  };
@@ -6,8 +6,10 @@ import { parseRouteParams } from "./parseRouteParams.mjs";
6
6
  import { ElMessage } from "../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/message/index.mjs";
7
7
  class DataSourceManager {
8
8
  constructor(options = {}) {
9
+ this.templateId = options.templateId;
9
10
  this.http = options.http;
10
11
  this.params = options.params || {};
12
+ this.initSearchData = options.initSearchData || {};
11
13
  this.dataSources = options.dataSources || [];
12
14
  this.currentDataSourceId = options.currentDataSourceId;
13
15
  this.pagination = options.pagination || false;
@@ -38,6 +40,9 @@ class DataSourceManager {
38
40
  const currentDs = this.getCurrentDataSource();
39
41
  if (!currentDs) return {};
40
42
  const params = { ...this.params };
43
+ if (this.templateId) {
44
+ params.tableId = this.templateId;
45
+ }
41
46
  if (currentDs.params && Array.isArray(currentDs.params)) {
42
47
  const parsedParams = parseRouteParams(
43
48
  currentDs.params,
@@ -53,7 +58,7 @@ class DataSourceManager {
53
58
  if (this.sortRules && this.sortRules.length > 0) {
54
59
  params.sortRules = this.sortRules;
55
60
  }
56
- return { ...params, ...extraParams };
61
+ return { ...this.initSearchData, ...params, ...extraParams };
57
62
  }
58
63
  /**
59
64
  * 根据内容类型处理请求数据
@@ -283,6 +288,9 @@ class DataSourceManager {
283
288
  updateParams(newParams) {
284
289
  this.params = { ...this.params, ...newParams };
285
290
  }
291
+ updateInitSearchData(newParams) {
292
+ this.initSearchData = newParams;
293
+ }
286
294
  /**
287
295
  * 清空请求参数
288
296
  */
@@ -0,0 +1,57 @@
1
+ import functionCore from "./functionCore.mjs";
2
+ import "vue";
3
+ function calculate(params) {
4
+ const { text, value = {} } = params;
5
+ if (!text) return new Error("非法公式");
6
+ try {
7
+ let str = text;
8
+ let offset = 0;
9
+ const regex = /\{(\w+)\}/g;
10
+ let match;
11
+ const fields = [];
12
+ while ((match = regex.exec(text)) !== null) {
13
+ fields.push({
14
+ enCode: match[1],
15
+ startIndex: match.index,
16
+ endIndex: match.index + match[0].length
17
+ });
18
+ }
19
+ for (const field of fields) {
20
+ const { enCode, startIndex, endIndex } = field;
21
+ let data = value[enCode];
22
+ if (enCode.indexOf(".") > -1) {
23
+ const [key, subKey] = enCode.split(".");
24
+ if (value[key]) data = value[key].map((o) => o[subKey]);
25
+ }
26
+ if (data !== void 0) {
27
+ data = JSON.stringify(data);
28
+ const actualStart = startIndex + offset;
29
+ const actualEnd = endIndex + offset;
30
+ str = str.slice(0, actualStart) + data.toString() + str.slice(actualEnd);
31
+ offset += data.toString().length - (endIndex - startIndex);
32
+ }
33
+ }
34
+ const result = functionCore.executeFunction(str);
35
+ return result;
36
+ } catch (e) {
37
+ const errorTypes = {
38
+ TypeError: () => "类型错误",
39
+ RangeError: () => "范围错误",
40
+ SyntaxError: () => "语法错误",
41
+ ReferenceError: () => {
42
+ const regex = /^(\w+)\s+is\s+not\s+defined$/;
43
+ const match = e.message.match(regex);
44
+ return match ? `${match[1]} 未定义` : "未定义的变量";
45
+ }
46
+ };
47
+ const errorType = errorTypes[e.constructor.name];
48
+ const errorMessage = (errorType == null ? void 0 : errorType()) || `其他错误: ${e.message}`;
49
+ return {
50
+ error: true,
51
+ message: errorMessage
52
+ };
53
+ }
54
+ }
55
+ export {
56
+ calculate
57
+ };
@@ -0,0 +1,17 @@
1
+ import * as index from "../../../../../node_modules/.pnpm/@formulajs_formulajs@4.5.6/node_modules/@formulajs/formulajs/lib/esm/index.mjs";
2
+ class FunctionCore {
3
+ constructor() {
4
+ Object.assign(FunctionCore.prototype, index);
5
+ }
6
+ executeFunction(str) {
7
+ const fn = new Function(
8
+ "with(this) { return " + str + "; }"
9
+ // 使用 `with` 来确保从当前实例中查找函数
10
+ ).bind(this);
11
+ return fn();
12
+ }
13
+ }
14
+ const functionCore = new FunctionCore();
15
+ export {
16
+ functionCore as default
17
+ };