@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.
- package/es/_virtual/bessel.mjs +7 -0
- package/es/_virtual/bessel2.mjs +4 -0
- package/es/_virtual/index.mjs +1 -1
- package/es/_virtual/index2.mjs +1 -1
- package/es/_virtual/jstat.mjs +7 -0
- package/es/_virtual/jstat2.mjs +4 -0
- package/es/node_modules/.pnpm/@formulajs_formulajs@4.5.6/node_modules/@formulajs/formulajs/lib/esm/index.mjs +7150 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- package/es/node_modules/.pnpm/bessel@1.0.2/node_modules/bessel/bessel.mjs +226 -0
- 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
- package/es/node_modules/.pnpm/jstat@1.9.6/node_modules/jstat/dist/jstat.mjs +3853 -0
- package/es/packages/mobile/src/components/form/field/Field.vue.mjs +1 -1
- package/es/packages/mobile/src/utils/formatterUtil.mjs +1 -1
- package/es/packages/mobile/src/utils/optionUtil.mjs +1 -1
- package/es/packages/vue/index.mjs +4 -0
- package/es/packages/vue/src/components/all.mjs +4 -0
- package/es/packages/vue/src/components/details/header/Header.vue.mjs +1 -1
- package/es/packages/vue/src/components/forms/checkbox/Checkbox.vue.mjs +8 -2
- package/es/packages/vue/src/components/forms/date/Date.vue.mjs +6 -6
- package/es/packages/vue/src/components/forms/divider/Divider.vue.mjs +15 -20
- package/es/packages/vue/src/components/forms/divider/index.mjs +2 -2
- package/es/packages/vue/src/components/forms/form/Form.vue.mjs +281 -96
- package/es/packages/vue/src/components/forms/form/index.mjs +2 -2
- package/es/packages/vue/src/components/forms/formItem/FormItem.vue.mjs +76 -48
- package/es/packages/vue/src/components/forms/h2/H2.vue.mjs +16 -7
- package/es/packages/vue/src/components/forms/multipleSelection/MultipleSelection.vue.mjs +1 -1
- package/es/packages/vue/src/components/forms/number/Number.vue.mjs +18 -12
- package/es/packages/vue/src/components/forms/radio/Radio.vue.mjs +5 -3
- package/es/packages/vue/src/components/forms/select/Select.vue.mjs +6 -4
- package/es/packages/vue/src/components/forms/subForm/SubForm.vue.mjs +90 -0
- package/es/packages/vue/src/components/forms/subForm/index.mjs +7 -0
- package/es/packages/vue/src/components/forms/subTable/SubTable.vue.mjs +109 -0
- package/es/packages/vue/src/components/forms/subTable/index.mjs +7 -0
- package/es/packages/vue/src/components/forms/switch/Switch.vue.mjs +1 -1
- package/es/packages/vue/src/components/forms/text/Text.vue.mjs +6 -3
- package/es/packages/vue/src/components/forms/textarea/Textarea.vue.mjs +7 -4
- package/es/packages/vue/src/components/table/CustomButtons.vue.mjs +17 -17
- package/es/packages/vue/src/components/table/Table.vue.mjs +143 -77
- package/es/packages/vue/src/components/table/TableColumn.vue.mjs +37 -5
- package/es/packages/vue/src/components/table/TableFilter.vue.mjs +60 -21
- package/es/packages/vue/src/components/table/index.mjs +2 -2
- package/es/packages/vue/src/composables/usePageEvents.mjs +4 -5
- package/es/packages/vue/src/utils/common.mjs +5 -0
- package/es/packages/vue/src/utils/datasource.mjs +9 -1
- package/es/packages/vue/src/utils/formulajs/calculate.mjs +57 -0
- package/es/packages/vue/src/utils/formulajs/functionCore.mjs +17 -0
- package/es/vue.css +170 -61
- package/lib/_virtual/bessel.js +7 -0
- package/lib/_virtual/bessel2.js +4 -0
- package/lib/_virtual/index.js +1 -1
- package/lib/_virtual/index2.js +1 -1
- package/lib/_virtual/jstat.js +7 -0
- package/lib/_virtual/jstat2.js +4 -0
- package/lib/node_modules/.pnpm/@formulajs_formulajs@4.5.6/node_modules/@formulajs/formulajs/lib/esm/index.js +7150 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- package/lib/node_modules/.pnpm/bessel@1.0.2/node_modules/bessel/bessel.js +226 -0
- package/lib/node_modules/.pnpm/jstat@1.9.6/node_modules/jstat/dist/jstat.js +3853 -0
- package/lib/packages/mobile/src/components/form/field/Field.vue.js +1 -1
- package/lib/packages/mobile/src/utils/formatterUtil.js +1 -1
- package/lib/packages/mobile/src/utils/optionUtil.js +1 -1
- package/lib/packages/vue/index.js +13 -9
- package/lib/packages/vue/src/components/all.js +10 -6
- package/lib/packages/vue/src/components/details/header/Header.vue.js +1 -1
- package/lib/packages/vue/src/components/forms/checkbox/Checkbox.vue.js +8 -2
- package/lib/packages/vue/src/components/forms/date/Date.vue.js +6 -6
- package/lib/packages/vue/src/components/forms/divider/Divider.vue.js +14 -19
- package/lib/packages/vue/src/components/forms/form/Form.vue.js +280 -95
- package/lib/packages/vue/src/components/forms/formItem/FormItem.vue.js +63 -35
- package/lib/packages/vue/src/components/forms/h2/H2.vue.js +15 -6
- package/lib/packages/vue/src/components/forms/multipleSelection/MultipleSelection.vue.js +1 -1
- package/lib/packages/vue/src/components/forms/number/Number.vue.js +18 -12
- package/lib/packages/vue/src/components/forms/radio/Radio.vue.js +5 -3
- package/lib/packages/vue/src/components/forms/select/Select.vue.js +6 -4
- package/lib/packages/vue/src/components/forms/subForm/SubForm.vue.js +90 -0
- package/lib/packages/vue/src/components/forms/subForm/index.js +7 -0
- package/lib/packages/vue/src/components/forms/subTable/SubTable.vue.js +109 -0
- package/lib/packages/vue/src/components/forms/subTable/index.js +7 -0
- package/lib/packages/vue/src/components/forms/switch/Switch.vue.js +1 -1
- package/lib/packages/vue/src/components/forms/text/Text.vue.js +6 -3
- package/lib/packages/vue/src/components/forms/textarea/Textarea.vue.js +7 -4
- package/lib/packages/vue/src/components/table/CustomButtons.vue.js +16 -16
- package/lib/packages/vue/src/components/table/Table.vue.js +145 -79
- package/lib/packages/vue/src/components/table/TableColumn.vue.js +37 -5
- package/lib/packages/vue/src/components/table/TableFilter.vue.js +82 -43
- package/lib/packages/vue/src/composables/usePageEvents.js +4 -5
- package/lib/packages/vue/src/utils/common.js +5 -0
- package/lib/packages/vue/src/utils/datasource.js +9 -1
- package/lib/packages/vue/src/utils/formulajs/calculate.js +57 -0
- package/lib/packages/vue/src/utils/formulajs/functionCore.js +17 -0
- package/lib/vue.css +170 -61
- 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$
|
|
15
|
-
const index$
|
|
16
|
-
const index$
|
|
17
|
-
const index$
|
|
18
|
-
const index$
|
|
19
|
-
const index$
|
|
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/
|
|
25
|
-
const index$
|
|
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/
|
|
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
|
-
"
|
|
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$
|
|
88
|
-
select: index$
|
|
89
|
-
date: index$
|
|
90
|
-
number: index$
|
|
91
|
-
multipleSelection: index$
|
|
92
|
-
switch: index$
|
|
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$
|
|
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
|
-
|
|
127
|
-
|
|
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
|
-
|
|
144
|
+
if (Array.isArray(value)) {
|
|
145
|
+
filters[fieldName] = value.join("|");
|
|
146
|
+
} else {
|
|
147
|
+
filters[fieldName] = value;
|
|
148
|
+
}
|
|
130
149
|
}
|
|
131
150
|
}
|
|
132
151
|
});
|
|
133
|
-
|
|
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$
|
|
177
|
+
const _component_el_button = index$3.ElButton;
|
|
159
178
|
const _component_el_form = index.ElForm;
|
|
160
|
-
const _component_el_icon = index$
|
|
161
|
-
const _component_el_divider = index$
|
|
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
|
|
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": "
|
|
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$
|
|
260
|
+
icon: vue.unref(index$4.Search)
|
|
222
261
|
}, {
|
|
223
|
-
default: vue.withCtx(() => _cache[
|
|
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$
|
|
269
|
+
icon: vue.unref(index$4.Refresh)
|
|
231
270
|
}, {
|
|
232
|
-
default: vue.withCtx(() => _cache[
|
|
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$
|
|
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-
|
|
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:
|
|
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;
|