@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
@@ -5,25 +5,31 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
5
5
  ;/* empty css */
6
6
  ;/* empty css */
7
7
  ;/* empty css */
8
+ ;/* empty css */
9
+ ;/* empty css */
8
10
  require("../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/theme-chalk/el-date-picker.css.js");
9
11
  ;/* empty css */
10
- ;/* empty css */
11
12
  ;/* empty css */
12
13
  ;/* empty css */
13
14
  const vue = require("vue");
14
- const index$3 = require("../../../../../node_modules/.pnpm/@element-plus_icons-vue@2.3.2_vue@3.5.13_typescript@5.7.3_/node_modules/@element-plus/icons-vue/dist/index.js");
15
- const index$a = require("../forms/text/index.js");
16
- const index$6 = require("../forms/select/index.js");
17
- const index$7 = require("../forms/multipleSelection/index.js");
18
- const index$9 = require("../forms/date/index.js");
19
- const index$8 = require("../forms/number/index.js");
15
+ const index$4 = require("../../../../../node_modules/.pnpm/@element-plus_icons-vue@2.3.2_vue@3.5.13_typescript@5.7.3_/node_modules/@element-plus/icons-vue/dist/index.js");
16
+ const index$b = require("../forms/text/index.js");
17
+ const index$7 = require("../forms/select/index.js");
18
+ const index$8 = require("../forms/multipleSelection/index.js");
19
+ const index$a = require("../forms/date/index.js");
20
+ const index$9 = require("../forms/number/index.js");
20
21
  ;/* empty css */
21
22
  const _pluginVue_exportHelper = require("../../../../../_virtual/_plugin-vue_export-helper.js");
22
23
  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");
23
24
  const index$1 = require("../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/date-picker/index.js");
24
- 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");
25
- const index$4 = require("../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/divider/index.js");
26
- const index$5 = require("../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/icon/index.js");
25
+ const index$2 = require("../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/input-number/index.js");
26
+ const index$3 = require("../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/button/index.js");
27
+ const index$5 = require("../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/divider/index.js");
28
+ const index$6 = require("../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/icon/index.js");
29
+ const _hoisted_1 = {
30
+ key: 1,
31
+ style: { "display": "flex", "align-items": "center", "gap": "8px", "width": "100%" }
32
+ };
27
33
  const _sfc_main = {
28
34
  __name: "TableFilter",
29
35
  props: {
@@ -39,7 +45,7 @@ const _sfc_main = {
39
45
  emits: ["search", "reset"],
40
46
  setup(__props, { expose: __expose, emit: __emit }) {
41
47
  vue.useCssVars((_ctx) => ({
42
- "50ac82f0": `${config.value.collapseRows * 90}px`
48
+ "3f99436f": `${config.value.collapseRows * 90}px`
43
49
  }));
44
50
  const props = __props;
45
51
  const emit = __emit;
@@ -84,14 +90,14 @@ const _sfc_main = {
84
90
  });
85
91
  const getFilterComponent = (fieldType) => {
86
92
  const componentMap = {
87
- text: index$a.Text,
88
- select: index$6.Select,
89
- date: index$9.Date,
90
- number: index$8.Number,
91
- multipleSelection: index$7.MultipleSelection,
92
- switch: index$6.Select
93
+ text: index$b.Text,
94
+ select: index$7.Select,
95
+ date: index$a.Date,
96
+ number: index$9.Number,
97
+ multipleSelection: index$8.MultipleSelection,
98
+ switch: index$7.Select
93
99
  };
94
- return componentMap[fieldType] || index$a.Text;
100
+ return componentMap[fieldType] || index$b.Text;
95
101
  };
96
102
  const getComponentConfig = (field) => {
97
103
  return { ...field };
@@ -102,6 +108,8 @@ const _sfc_main = {
102
108
  select: "请选择",
103
109
  date: type === "start" ? "开始日期" : type === "end" ? "结束日期" : "请选择日期",
104
110
  number: "请输入",
111
+ number_min: "最小值",
112
+ number_max: "最大值",
105
113
  radio: "请选择",
106
114
  checkbox: "请选择",
107
115
  switch: "请选择"
@@ -109,6 +117,9 @@ const _sfc_main = {
109
117
  if (field.fieldType === "date") {
110
118
  return placeholderMap.date;
111
119
  }
120
+ if (field.fieldType === "number") {
121
+ return type === "min" ? placeholderMap.number_min : type === "max" ? placeholderMap.number_max : placeholderMap.number;
122
+ }
112
123
  return `${placeholderMap[field.fieldType] || "请输入"}${field.label || ""}`;
113
124
  };
114
125
  const toggleCollapse = () => {
@@ -123,15 +134,22 @@ const _sfc_main = {
123
134
  (field) => field.id == key
124
135
  );
125
136
  const fieldName = (fieldConfig == null ? void 0 : fieldConfig.fieldName) || key;
126
- if (Array.isArray(value)) {
127
- filters[fieldName] = value.join("|");
137
+ const maxKey = `${key}_max`;
138
+ const maxValue = filterValues.value[maxKey];
139
+ if (maxValue !== "" && maxValue !== null && maxValue !== void 0) {
140
+ filters[fieldName] = value + "|" + maxValue;
141
+ } else if (key.endsWith("_max")) {
142
+ return;
128
143
  } else {
129
- filters[fieldName] = value;
144
+ if (Array.isArray(value)) {
145
+ filters[fieldName] = value.join("|");
146
+ } else {
147
+ filters[fieldName] = value;
148
+ }
130
149
  }
131
150
  }
132
151
  });
133
- console.log("🚀 ~ handleSearch ~ filters:", filters);
134
- emit("search", filters);
152
+ emit("search", { filters });
135
153
  };
136
154
  const handleReset = () => {
137
155
  filterValues.value = {};
@@ -154,11 +172,12 @@ const _sfc_main = {
154
172
  });
155
173
  return (_ctx, _cache) => {
156
174
  const _component_el_date_picker = index$1.ElDatePicker;
175
+ const _component_el_input_number = index$2.ElInputNumber;
157
176
  const _component_el_form_item = index.ElFormItem;
158
- const _component_el_button = index$2.ElButton;
177
+ const _component_el_button = index$3.ElButton;
159
178
  const _component_el_form = index.ElForm;
160
- const _component_el_icon = index$5.ElIcon;
161
- const _component_el_divider = index$4.ElDivider;
179
+ const _component_el_icon = index$6.ElIcon;
180
+ const _component_el_divider = index$5.ElDivider;
162
181
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
163
182
  config.value.enabled ? (vue.openBlock(), vue.createBlock(_component_el_form, {
164
183
  key: 0,
@@ -181,26 +200,46 @@ const _sfc_main = {
181
200
  label: field.label || "筛选条件"
182
201
  }, {
183
202
  default: vue.withCtx(() => [
184
- field.fieldType !== "date" ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(getFilterComponent(field.fieldType)), vue.mergeProps({
203
+ field.fieldType == "date" ? (vue.openBlock(), vue.createBlock(_component_el_date_picker, {
185
204
  key: 0,
186
205
  modelValue: filterValues.value[field.fieldId],
187
206
  "onUpdate:modelValue": ($event) => filterValues.value[field.fieldId] = $event,
188
- config: { ...field, eventHandlers: {} },
189
- ref_for: true
190
- }, getComponentConfig(field), {
191
- placeholder: getPlaceholder(field)
192
- }), null, 16, ["modelValue", "onUpdate:modelValue", "config", "placeholder"])) : (vue.openBlock(), vue.createBlock(_component_el_date_picker, {
193
- key: 1,
194
- modelValue: filterValues.value[field.fieldId],
195
- "onUpdate:modelValue": ($event) => filterValues.value[field.fieldId] = $event,
196
207
  type: "daterange",
197
208
  "start-placeholder": getPlaceholder(field, "start"),
198
209
  "end-placeholder": getPlaceholder(field, "end"),
199
210
  format: "YYYY-MM-DD",
200
- "value-format": "YYYY-MM-DD",
211
+ "value-format": "YYYYMMDD",
201
212
  clearable: "",
202
213
  style: { "width": "100%" }
203
- }, null, 8, ["modelValue", "onUpdate:modelValue", "start-placeholder", "end-placeholder"]))
214
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "start-placeholder", "end-placeholder"])) : field.fieldType == "number" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
215
+ vue.createVNode(_component_el_input_number, {
216
+ modelValue: filterValues.value[field.fieldId],
217
+ "onUpdate:modelValue": ($event) => filterValues.value[field.fieldId] = $event,
218
+ placeholder: getPlaceholder(field, "min"),
219
+ controls: false,
220
+ "controls-position": "right",
221
+ style: { "flex": "1" },
222
+ clearable: ""
223
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "placeholder"]),
224
+ _cache[0] || (_cache[0] = vue.createElementVNode("span", null, "-", -1)),
225
+ vue.createVNode(_component_el_input_number, {
226
+ modelValue: filterValues.value[`${field.fieldId}_max`],
227
+ "onUpdate:modelValue": ($event) => filterValues.value[`${field.fieldId}_max`] = $event,
228
+ placeholder: getPlaceholder(field, "max"),
229
+ controls: false,
230
+ "controls-position": "right",
231
+ style: { "flex": "1" },
232
+ clearable: ""
233
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "placeholder"])
234
+ ])) : (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(getFilterComponent(field.fieldType)), vue.mergeProps({
235
+ key: 2,
236
+ modelValue: filterValues.value[field.fieldId],
237
+ "onUpdate:modelValue": ($event) => filterValues.value[field.fieldId] = $event,
238
+ config: { ...field, eventHandlers: {} },
239
+ ref_for: true
240
+ }, getComponentConfig(field), {
241
+ placeholder: getPlaceholder(field)
242
+ }), null, 16, ["modelValue", "onUpdate:modelValue", "config", "placeholder"]))
204
243
  ]),
205
244
  _: 2
206
245
  }, 1032, ["label"])
@@ -218,18 +257,18 @@ const _sfc_main = {
218
257
  vue.createVNode(_component_el_button, {
219
258
  type: "primary",
220
259
  onClick: handleSearch,
221
- icon: vue.unref(index$3.Search)
260
+ icon: vue.unref(index$4.Search)
222
261
  }, {
223
- default: vue.withCtx(() => _cache[0] || (_cache[0] = [
262
+ default: vue.withCtx(() => _cache[1] || (_cache[1] = [
224
263
  vue.createTextVNode("搜索")
225
264
  ])),
226
265
  _: 1
227
266
  }, 8, ["icon"]),
228
267
  vue.createVNode(_component_el_button, {
229
268
  onClick: handleReset,
230
- icon: vue.unref(index$3.Refresh)
269
+ icon: vue.unref(index$4.Refresh)
231
270
  }, {
232
- default: vue.withCtx(() => _cache[1] || (_cache[1] = [
271
+ default: vue.withCtx(() => _cache[2] || (_cache[2] = [
233
272
  vue.createTextVNode("重置")
234
273
  ])),
235
274
  _: 1
@@ -251,7 +290,7 @@ const _sfc_main = {
251
290
  vue.createElementVNode("span", null, vue.toDisplayString(isCollapsed.value ? "更多筛选项" : "收起"), 1),
252
291
  vue.createVNode(_component_el_icon, { style: { "transform": "rotate(90deg)" } }, {
253
292
  default: vue.withCtx(() => [
254
- isCollapsed.value ? (vue.openBlock(), vue.createBlock(vue.unref(index$3.DArrowRight), { key: 0 })) : (vue.openBlock(), vue.createBlock(vue.unref(index$3.DArrowLeft), { key: 1 }))
293
+ isCollapsed.value ? (vue.openBlock(), vue.createBlock(vue.unref(index$4.DArrowRight), { key: 0 })) : (vue.openBlock(), vue.createBlock(vue.unref(index$4.DArrowLeft), { key: 1 }))
255
294
  ]),
256
295
  _: 1
257
296
  })
@@ -263,5 +302,5 @@ const _sfc_main = {
263
302
  };
264
303
  }
265
304
  };
266
- const TableFilter = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-e94ef8a9"]]);
305
+ const TableFilter = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-e72fcecc"]]);
267
306
  exports.default = TableFilter;
@@ -14,10 +14,9 @@ function usePageEvents(getOptions) {
14
14
  const staticOptions = getOptions;
15
15
  getOptions = () => staticOptions;
16
16
  }
17
- const executeEvent = (eventName) => {
18
- var _a;
17
+ const executeEvent = async (eventName) => {
19
18
  const options = getOptions();
20
- const { pageEventConfig, ctx, formData, localConfig, components } = options;
19
+ const { pageEventConfig, ctx, formData, localConfig, components, fields } = options;
21
20
  if (!pageEventConfig || !Array.isArray(pageEventConfig) || pageEventConfig.length === 0) {
22
21
  console.log(`页面事件 ${eventName} 未配置或配置未加载完成,跳过执行`);
23
22
  return;
@@ -28,7 +27,7 @@ function usePageEvents(getOptions) {
28
27
  return;
29
28
  }
30
29
  const { getEventHandlers: createEventHandlers } = eventFlowHandler.useEventFlow({
31
- fields: ((_a = localConfig == null ? void 0 : localConfig.fieldsData) == null ? void 0 : _a.map((item) => item.component)) || [],
30
+ fields: fields || [],
32
31
  ctx,
33
32
  dataSources: (localConfig == null ? void 0 : localConfig.dataSources) || [],
34
33
  components: components || {}
@@ -41,7 +40,7 @@ function usePageEvents(getOptions) {
41
40
  const eventKeys = Object.keys(handler);
42
41
  if (eventKeys.length > 0) {
43
42
  console.log(`执行页面事件 ${eventName}`);
44
- handler[eventKeys[0]]();
43
+ await handler[eventKeys[0]]();
45
44
  }
46
45
  };
47
46
  const handleCreated = (checkConfigLoaded) => {
@@ -1,5 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const cloneDeep$1 = require("../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/cloneDeep.js");
4
+ function cloneDeep(data) {
5
+ return cloneDeep$1.default(data);
6
+ }
3
7
  function removeEmptyValues(data) {
4
8
  if (typeof data !== "object" || data === null) {
5
9
  return data;
@@ -20,4 +24,5 @@ function removeEmptyValues(data) {
20
24
  }
21
25
  return result;
22
26
  }
27
+ exports.cloneDeep = cloneDeep;
23
28
  exports.removeEmptyValues = removeEmptyValues;
@@ -8,8 +8,10 @@ const parseRouteParams = require("./parseRouteParams.js");
8
8
  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/message/index.js");
9
9
  class DataSourceManager {
10
10
  constructor(options = {}) {
11
+ this.templateId = options.templateId;
11
12
  this.http = options.http;
12
13
  this.params = options.params || {};
14
+ this.initSearchData = options.initSearchData || {};
13
15
  this.dataSources = options.dataSources || [];
14
16
  this.currentDataSourceId = options.currentDataSourceId;
15
17
  this.pagination = options.pagination || false;
@@ -40,6 +42,9 @@ class DataSourceManager {
40
42
  const currentDs = this.getCurrentDataSource();
41
43
  if (!currentDs) return {};
42
44
  const params = { ...this.params };
45
+ if (this.templateId) {
46
+ params.tableId = this.templateId;
47
+ }
43
48
  if (currentDs.params && Array.isArray(currentDs.params)) {
44
49
  const parsedParams = parseRouteParams.parseRouteParams(
45
50
  currentDs.params,
@@ -55,7 +60,7 @@ class DataSourceManager {
55
60
  if (this.sortRules && this.sortRules.length > 0) {
56
61
  params.sortRules = this.sortRules;
57
62
  }
58
- return { ...params, ...extraParams };
63
+ return { ...this.initSearchData, ...params, ...extraParams };
59
64
  }
60
65
  /**
61
66
  * 根据内容类型处理请求数据
@@ -285,6 +290,9 @@ class DataSourceManager {
285
290
  updateParams(newParams) {
286
291
  this.params = { ...this.params, ...newParams };
287
292
  }
293
+ updateInitSearchData(newParams) {
294
+ this.initSearchData = newParams;
295
+ }
288
296
  /**
289
297
  * 清空请求参数
290
298
  */
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const functionCore = require("./functionCore.js");
4
+ require("vue");
5
+ function calculate(params) {
6
+ const { text, value = {} } = params;
7
+ if (!text) return new Error("非法公式");
8
+ try {
9
+ let str = text;
10
+ let offset = 0;
11
+ const regex = /\{(\w+)\}/g;
12
+ let match;
13
+ const fields = [];
14
+ while ((match = regex.exec(text)) !== null) {
15
+ fields.push({
16
+ enCode: match[1],
17
+ startIndex: match.index,
18
+ endIndex: match.index + match[0].length
19
+ });
20
+ }
21
+ for (const field of fields) {
22
+ const { enCode, startIndex, endIndex } = field;
23
+ let data = value[enCode];
24
+ if (enCode.indexOf(".") > -1) {
25
+ const [key, subKey] = enCode.split(".");
26
+ if (value[key]) data = value[key].map((o) => o[subKey]);
27
+ }
28
+ if (data !== void 0) {
29
+ data = JSON.stringify(data);
30
+ const actualStart = startIndex + offset;
31
+ const actualEnd = endIndex + offset;
32
+ str = str.slice(0, actualStart) + data.toString() + str.slice(actualEnd);
33
+ offset += data.toString().length - (endIndex - startIndex);
34
+ }
35
+ }
36
+ const result = functionCore.default.executeFunction(str);
37
+ return result;
38
+ } catch (e) {
39
+ const errorTypes = {
40
+ TypeError: () => "类型错误",
41
+ RangeError: () => "范围错误",
42
+ SyntaxError: () => "语法错误",
43
+ ReferenceError: () => {
44
+ const regex = /^(\w+)\s+is\s+not\s+defined$/;
45
+ const match = e.message.match(regex);
46
+ return match ? `${match[1]} 未定义` : "未定义的变量";
47
+ }
48
+ };
49
+ const errorType = errorTypes[e.constructor.name];
50
+ const errorMessage = (errorType == null ? void 0 : errorType()) || `其他错误: ${e.message}`;
51
+ return {
52
+ error: true,
53
+ message: errorMessage
54
+ };
55
+ }
56
+ }
57
+ exports.calculate = calculate;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const index = require("../../../../../node_modules/.pnpm/@formulajs_formulajs@4.5.6/node_modules/@formulajs/formulajs/lib/esm/index.js");
4
+ class FunctionCore {
5
+ constructor() {
6
+ Object.assign(FunctionCore.prototype, index);
7
+ }
8
+ executeFunction(str) {
9
+ const fn = new Function(
10
+ "with(this) { return " + str + "; }"
11
+ // 使用 `with` 来确保从当前实例中查找函数
12
+ ).bind(this);
13
+ return fn();
14
+ }
15
+ }
16
+ const functionCore = new FunctionCore();
17
+ exports.default = functionCore;