@fmdeui/fmui 1.0.161 → 1.0.163
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/components/select-table/index.d.ts +50 -5
- package/es/components/select-table/src/index.vue.d.ts +21 -3
- package/es/components/select-table/src/type.d.ts +4 -0
- package/es/packages/components/select-table/src/index2.vue.mjs +115 -25
- package/index.js +113 -25
- package/index.min.js +7 -7
- package/index.min.mjs +7 -7
- package/index.mjs +114 -26
- package/lib/components/select-table/index.d.ts +50 -5
- package/lib/components/select-table/src/index.vue.d.ts +21 -3
- package/lib/components/select-table/src/type.d.ts +4 -0
- package/lib/packages/components/select-table/src/index2.vue.js +114 -24
- package/locale/en.js +1 -1
- package/locale/en.min.js +1 -1
- package/locale/en.min.mjs +1 -1
- package/locale/en.mjs +1 -1
- package/locale/zh-cn.js +1 -1
- package/locale/zh-cn.min.js +1 -1
- package/locale/zh-cn.min.mjs +1 -1
- package/locale/zh-cn.mjs +1 -1
- package/package.json +1 -1
- /package/es/{version.css → index.css} +0 -0
|
@@ -3,8 +3,13 @@ import { FSelectTableProps } from './src/type';
|
|
|
3
3
|
export * from './src/type';
|
|
4
4
|
export * from './src/ClickOutside';
|
|
5
5
|
export declare const FSelectTable: {
|
|
6
|
-
new (...args: any[]): CreateComponentPublicInstanceWithMixins<Readonly<
|
|
6
|
+
new (...args: any[]): CreateComponentPublicInstanceWithMixins<Readonly<{
|
|
7
|
+
id?: any;
|
|
8
|
+
name?: any;
|
|
9
|
+
} & FSelectTableProps> & Readonly<{
|
|
7
10
|
"onPage-change"?: ((val: any) => any) | undefined;
|
|
11
|
+
"onUpdate:id"?: ((value: any) => any) | undefined;
|
|
12
|
+
"onUpdate:name"?: ((value: any) => any) | undefined;
|
|
8
13
|
onSelectionChange?: ((val: any[], ids: any[]) => any) | undefined;
|
|
9
14
|
onRadioChange?: ((row: any, value: any) => any) | undefined;
|
|
10
15
|
"onUpdate:inputValue"?: ((val: string) => any) | undefined;
|
|
@@ -72,6 +77,10 @@ export declare const FSelectTable: {
|
|
|
72
77
|
readonly multipleDisableDelete: boolean;
|
|
73
78
|
readonly tableLoading: boolean;
|
|
74
79
|
readonly loadingTxt: string;
|
|
80
|
+
readonly apiService: string | undefined;
|
|
81
|
+
readonly apiAction: string;
|
|
82
|
+
readonly queryParams: Record<string, any>;
|
|
83
|
+
readonly responseFormatter: Function;
|
|
75
84
|
} & {
|
|
76
85
|
readonly value: boolean;
|
|
77
86
|
readonly remote: boolean;
|
|
@@ -108,7 +117,10 @@ export declare const FSelectTable: {
|
|
|
108
117
|
fQueryConditionRef: Ref<any, any>;
|
|
109
118
|
selectRef: Ref<any, any>;
|
|
110
119
|
selectTable: Ref<any, any>;
|
|
111
|
-
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
120
|
+
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
121
|
+
"update:id": (value: any) => any;
|
|
122
|
+
"update:name": (value: any) => any;
|
|
123
|
+
} & {
|
|
112
124
|
"page-change": (val: any) => any;
|
|
113
125
|
selectionChange: (val: any[], ids: any[]) => any;
|
|
114
126
|
radioChange: (row: any, value: any) => any;
|
|
@@ -133,6 +145,8 @@ export declare const FSelectTable: {
|
|
|
133
145
|
filterMethod: Function;
|
|
134
146
|
modelValue: any;
|
|
135
147
|
inputWidth: number;
|
|
148
|
+
apiService: string;
|
|
149
|
+
apiAction: string;
|
|
136
150
|
filterable: boolean;
|
|
137
151
|
isShowPagination: boolean;
|
|
138
152
|
useVirtual: boolean;
|
|
@@ -171,6 +185,8 @@ export declare const FSelectTable: {
|
|
|
171
185
|
multipleDisableDelete: boolean;
|
|
172
186
|
tableLoading: boolean;
|
|
173
187
|
loadingTxt: string;
|
|
188
|
+
queryParams: Record<string, any>;
|
|
189
|
+
responseFormatter: Function;
|
|
174
190
|
}, false, {}, {}, GlobalComponents, GlobalDirectives, string, any, any, ComponentProvideOptions, {
|
|
175
191
|
P: {};
|
|
176
192
|
B: {};
|
|
@@ -178,8 +194,13 @@ export declare const FSelectTable: {
|
|
|
178
194
|
C: {};
|
|
179
195
|
M: {};
|
|
180
196
|
Defaults: {};
|
|
181
|
-
}, Readonly<
|
|
197
|
+
}, Readonly<{
|
|
198
|
+
id?: any;
|
|
199
|
+
name?: any;
|
|
200
|
+
} & FSelectTableProps> & Readonly<{
|
|
182
201
|
"onPage-change"?: ((val: any) => any) | undefined;
|
|
202
|
+
"onUpdate:id"?: ((value: any) => any) | undefined;
|
|
203
|
+
"onUpdate:name"?: ((value: any) => any) | undefined;
|
|
183
204
|
onSelectionChange?: ((val: any[], ids: any[]) => any) | undefined;
|
|
184
205
|
onRadioChange?: ((row: any, value: any) => any) | undefined;
|
|
185
206
|
"onUpdate:inputValue"?: ((val: string) => any) | undefined;
|
|
@@ -247,6 +268,10 @@ export declare const FSelectTable: {
|
|
|
247
268
|
readonly multipleDisableDelete: boolean;
|
|
248
269
|
readonly tableLoading: boolean;
|
|
249
270
|
readonly loadingTxt: string;
|
|
271
|
+
readonly apiService: string | undefined;
|
|
272
|
+
readonly apiAction: string;
|
|
273
|
+
readonly queryParams: Record<string, any>;
|
|
274
|
+
readonly responseFormatter: Function;
|
|
250
275
|
} & {
|
|
251
276
|
readonly value: boolean;
|
|
252
277
|
readonly remote: boolean;
|
|
@@ -299,6 +324,8 @@ export declare const FSelectTable: {
|
|
|
299
324
|
filterMethod: Function;
|
|
300
325
|
modelValue: any;
|
|
301
326
|
inputWidth: number;
|
|
327
|
+
apiService: string;
|
|
328
|
+
apiAction: string;
|
|
302
329
|
filterable: boolean;
|
|
303
330
|
isShowPagination: boolean;
|
|
304
331
|
useVirtual: boolean;
|
|
@@ -337,12 +364,19 @@ export declare const FSelectTable: {
|
|
|
337
364
|
multipleDisableDelete: boolean;
|
|
338
365
|
tableLoading: boolean;
|
|
339
366
|
loadingTxt: string;
|
|
367
|
+
queryParams: Record<string, any>;
|
|
368
|
+
responseFormatter: Function;
|
|
340
369
|
}>;
|
|
341
370
|
__isFragment?: never;
|
|
342
371
|
__isTeleport?: never;
|
|
343
372
|
__isSuspense?: never;
|
|
344
|
-
} & ComponentOptionsBase<Readonly<
|
|
373
|
+
} & ComponentOptionsBase<Readonly<{
|
|
374
|
+
id?: any;
|
|
375
|
+
name?: any;
|
|
376
|
+
} & FSelectTableProps> & Readonly<{
|
|
345
377
|
"onPage-change"?: ((val: any) => any) | undefined;
|
|
378
|
+
"onUpdate:id"?: ((value: any) => any) | undefined;
|
|
379
|
+
"onUpdate:name"?: ((value: any) => any) | undefined;
|
|
346
380
|
onSelectionChange?: ((val: any[], ids: any[]) => any) | undefined;
|
|
347
381
|
onRadioChange?: ((row: any, value: any) => any) | undefined;
|
|
348
382
|
"onUpdate:inputValue"?: ((val: string) => any) | undefined;
|
|
@@ -410,6 +444,10 @@ export declare const FSelectTable: {
|
|
|
410
444
|
readonly multipleDisableDelete: boolean;
|
|
411
445
|
readonly tableLoading: boolean;
|
|
412
446
|
readonly loadingTxt: string;
|
|
447
|
+
readonly apiService: string | undefined;
|
|
448
|
+
readonly apiAction: string;
|
|
449
|
+
readonly queryParams: Record<string, any>;
|
|
450
|
+
readonly responseFormatter: Function;
|
|
413
451
|
} & {
|
|
414
452
|
readonly value: boolean;
|
|
415
453
|
readonly remote: boolean;
|
|
@@ -446,7 +484,10 @@ export declare const FSelectTable: {
|
|
|
446
484
|
fQueryConditionRef: Ref<any, any>;
|
|
447
485
|
selectRef: Ref<any, any>;
|
|
448
486
|
selectTable: Ref<any, any>;
|
|
449
|
-
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
487
|
+
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
488
|
+
"update:id": (value: any) => any;
|
|
489
|
+
"update:name": (value: any) => any;
|
|
490
|
+
} & {
|
|
450
491
|
"page-change": (val: any) => any;
|
|
451
492
|
selectionChange: (val: any[], ids: any[]) => any;
|
|
452
493
|
radioChange: (row: any, value: any) => any;
|
|
@@ -471,6 +512,8 @@ export declare const FSelectTable: {
|
|
|
471
512
|
filterMethod: Function;
|
|
472
513
|
modelValue: any;
|
|
473
514
|
inputWidth: number;
|
|
515
|
+
apiService: string;
|
|
516
|
+
apiAction: string;
|
|
474
517
|
filterable: boolean;
|
|
475
518
|
isShowPagination: boolean;
|
|
476
519
|
useVirtual: boolean;
|
|
@@ -509,6 +552,8 @@ export declare const FSelectTable: {
|
|
|
509
552
|
multipleDisableDelete: boolean;
|
|
510
553
|
tableLoading: boolean;
|
|
511
554
|
loadingTxt: string;
|
|
555
|
+
queryParams: Record<string, any>;
|
|
556
|
+
responseFormatter: Function;
|
|
512
557
|
}, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & (new () => {
|
|
513
558
|
$slots: any;
|
|
514
559
|
});
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { FSelectTableProps } from './type';
|
|
2
2
|
import { DefineComponent, Ref, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
|
|
3
|
+
type __VLS_Props = FSelectTableProps;
|
|
3
4
|
export type Emits = {
|
|
4
5
|
(event: "page-change", val: any): void;
|
|
5
6
|
(event: "selectionChange", val: any[], ids: any[]): void;
|
|
@@ -10,9 +11,13 @@ export type Emits = {
|
|
|
10
11
|
(event: "input-clear"): void;
|
|
11
12
|
(event: "input-click"): void;
|
|
12
13
|
};
|
|
14
|
+
type __VLS_PublicProps = {
|
|
15
|
+
'id'?: any;
|
|
16
|
+
'name'?: any;
|
|
17
|
+
} & __VLS_Props;
|
|
13
18
|
declare function __VLS_template(): any;
|
|
14
19
|
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
15
|
-
declare const __VLS_component: DefineComponent<
|
|
20
|
+
declare const __VLS_component: DefineComponent<__VLS_PublicProps, {
|
|
16
21
|
focus: () => void;
|
|
17
22
|
blur: () => void;
|
|
18
23
|
clear: () => void;
|
|
@@ -72,6 +77,10 @@ declare const __VLS_component: DefineComponent<FSelectTableProps, {
|
|
|
72
77
|
readonly multipleDisableDelete: boolean;
|
|
73
78
|
readonly tableLoading: boolean;
|
|
74
79
|
readonly loadingTxt: string;
|
|
80
|
+
readonly apiService: string | undefined;
|
|
81
|
+
readonly apiAction: string;
|
|
82
|
+
readonly queryParams: Record<string, any>;
|
|
83
|
+
readonly responseFormatter: Function;
|
|
75
84
|
} & {
|
|
76
85
|
readonly value: boolean;
|
|
77
86
|
readonly remote: boolean;
|
|
@@ -108,7 +117,10 @@ declare const __VLS_component: DefineComponent<FSelectTableProps, {
|
|
|
108
117
|
fQueryConditionRef: Ref<any, any>;
|
|
109
118
|
selectRef: Ref<any, any>;
|
|
110
119
|
selectTable: Ref<any, any>;
|
|
111
|
-
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
120
|
+
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
121
|
+
"update:id": (value: any) => any;
|
|
122
|
+
"update:name": (value: any) => any;
|
|
123
|
+
} & {
|
|
112
124
|
"page-change": (val: any) => any;
|
|
113
125
|
selectionChange: (val: any[], ids: any[]) => any;
|
|
114
126
|
radioChange: (row: any, value: any) => any;
|
|
@@ -117,8 +129,10 @@ declare const __VLS_component: DefineComponent<FSelectTableProps, {
|
|
|
117
129
|
"input-blur": () => any;
|
|
118
130
|
"input-clear": () => any;
|
|
119
131
|
"input-click": () => any;
|
|
120
|
-
}, string, PublicProps, Readonly<
|
|
132
|
+
}, string, PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
121
133
|
"onPage-change"?: ((val: any) => any) | undefined;
|
|
134
|
+
"onUpdate:id"?: ((value: any) => any) | undefined;
|
|
135
|
+
"onUpdate:name"?: ((value: any) => any) | undefined;
|
|
122
136
|
onSelectionChange?: ((val: any[], ids: any[]) => any) | undefined;
|
|
123
137
|
onRadioChange?: ((row: any, value: any) => any) | undefined;
|
|
124
138
|
"onUpdate:inputValue"?: ((val: string) => any) | undefined;
|
|
@@ -142,6 +156,8 @@ declare const __VLS_component: DefineComponent<FSelectTableProps, {
|
|
|
142
156
|
filterMethod: Function;
|
|
143
157
|
modelValue: any;
|
|
144
158
|
inputWidth: number;
|
|
159
|
+
apiService: string;
|
|
160
|
+
apiAction: string;
|
|
145
161
|
filterable: boolean;
|
|
146
162
|
isShowPagination: boolean;
|
|
147
163
|
useVirtual: boolean;
|
|
@@ -180,6 +196,8 @@ declare const __VLS_component: DefineComponent<FSelectTableProps, {
|
|
|
180
196
|
multipleDisableDelete: boolean;
|
|
181
197
|
tableLoading: boolean;
|
|
182
198
|
loadingTxt: string;
|
|
199
|
+
queryParams: Record<string, any>;
|
|
200
|
+
responseFormatter: Function;
|
|
183
201
|
}, {}, {}, {}, string, ComponentProvideOptions, false, any, any>;
|
|
184
202
|
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
185
203
|
export default _default;
|
|
@@ -53,4 +53,8 @@ export interface FSelectTableProps {
|
|
|
53
53
|
multipleDisableDelete?: boolean;
|
|
54
54
|
tableLoading?: boolean;
|
|
55
55
|
loadingTxt?: string;
|
|
56
|
+
apiService?: string | undefined;
|
|
57
|
+
apiAction?: string | undefined;
|
|
58
|
+
queryParams?: Record<string, any>;
|
|
59
|
+
responseFormatter?: Function;
|
|
56
60
|
}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { defineComponent, useSlots, ref,
|
|
1
|
+
import { defineComponent, useModel, useSlots, ref, reactive, watch, computed, nextTick, onMounted, onBeforeUnmount, onUpdated, useAttrs, resolveComponent, resolveDirective, openBlock, createBlock, mergeProps, isRef, unref, createSlots, renderList, withCtx, renderSlot, normalizeProps, guardReactiveProps, withDirectives, createElementVNode, normalizeStyle, createElementBlock, createVNode, createTextVNode, toDisplayString, createCommentVNode, withModifiers, Fragment, mergeModels } from 'vue';
|
|
2
2
|
import '../../query-condition/src/index.vue.mjs';
|
|
3
3
|
import './renderCol.vue.mjs';
|
|
4
4
|
import { ElMessage } from 'element-plus';
|
|
5
5
|
import ClickOutside from './ClickOutside.mjs';
|
|
6
6
|
import { useVirtualized } from './useVirtualized.mjs';
|
|
7
|
+
import '../../../api/index.mjs';
|
|
7
8
|
import '../../../hooks/index.mjs';
|
|
8
9
|
import { useLocale } from '../../../hooks/useLocale.mjs';
|
|
10
|
+
import { useBaseApi } from '../../../api/base/index.mjs';
|
|
9
11
|
import _sfc_main$1 from '../../query-condition/src/index2.vue.mjs';
|
|
10
12
|
import _sfc_main$2 from './renderCol2.vue.mjs';
|
|
11
13
|
|
|
@@ -24,7 +26,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
24
26
|
name: "FSelectTable"
|
|
25
27
|
},
|
|
26
28
|
__name: "index",
|
|
27
|
-
props: {
|
|
29
|
+
props: /* @__PURE__ */ mergeModels({
|
|
28
30
|
modelValue: { default: void 0 },
|
|
29
31
|
inputValue: { default: void 0 },
|
|
30
32
|
defaultSelectVal: { default: () => [] },
|
|
@@ -77,9 +79,21 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
77
79
|
isExpanded: { type: Boolean, default: false },
|
|
78
80
|
multipleDisableDelete: { type: Boolean, default: true },
|
|
79
81
|
tableLoading: { type: Boolean, default: false },
|
|
80
|
-
loadingTxt: { default: "" }
|
|
81
|
-
|
|
82
|
-
|
|
82
|
+
loadingTxt: { default: "" },
|
|
83
|
+
apiService: { default: void 0 },
|
|
84
|
+
apiAction: { default: "" },
|
|
85
|
+
queryParams: { default: () => ({}) },
|
|
86
|
+
responseFormatter: { type: Function, default: (res) => ({
|
|
87
|
+
data: res.data.result.items || [],
|
|
88
|
+
total: res.data.result.total || 0
|
|
89
|
+
}) }
|
|
90
|
+
}, {
|
|
91
|
+
"id": { default: void 0, required: false },
|
|
92
|
+
"idModifiers": {},
|
|
93
|
+
"name": { default: "", required: false },
|
|
94
|
+
"nameModifiers": {}
|
|
95
|
+
}),
|
|
96
|
+
emits: /* @__PURE__ */ mergeModels(["page-change", "selectionChange", "radioChange", "update:inputValue", "input-focus", "input-blur", "input-clear", "input-click"], ["update:id", "update:name"]),
|
|
83
97
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
84
98
|
const { t } = useLocale();
|
|
85
99
|
const {
|
|
@@ -90,6 +104,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
90
104
|
saveDATA,
|
|
91
105
|
getItemHeightFromCache
|
|
92
106
|
} = useVirtualized();
|
|
107
|
+
const modeValueId = useModel(__props, "id");
|
|
108
|
+
const modeValueName = useModel(__props, "name");
|
|
93
109
|
const props = __props;
|
|
94
110
|
const vClickOutside = ClickOutside;
|
|
95
111
|
const emits = __emit;
|
|
@@ -101,8 +117,24 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
101
117
|
const isVisible = ref(false);
|
|
102
118
|
const radioVal = ref("");
|
|
103
119
|
const isShowFirstRadio = ref(props.isShowFirstColumn);
|
|
104
|
-
const selectDefaultLabel = ref(
|
|
120
|
+
const selectDefaultLabel = ref(modeValueName.value);
|
|
105
121
|
const scrollTopNum = ref(0);
|
|
122
|
+
const pagination = reactive({
|
|
123
|
+
currentPage: props.table.currentPage,
|
|
124
|
+
pageSize: props.table.pageSize,
|
|
125
|
+
total: props.table.total
|
|
126
|
+
});
|
|
127
|
+
watch(
|
|
128
|
+
() => props.table,
|
|
129
|
+
(newVal) => {
|
|
130
|
+
if (!props.apiService) {
|
|
131
|
+
pagination.currentPage = newVal.currentPage;
|
|
132
|
+
pagination.pageSize = newVal.pageSize;
|
|
133
|
+
pagination.total = newVal.total;
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
{ deep: true }
|
|
137
|
+
);
|
|
106
138
|
let selectInputVal = computed({
|
|
107
139
|
get() {
|
|
108
140
|
return props.inputValue;
|
|
@@ -142,6 +174,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
142
174
|
() => props.table.data,
|
|
143
175
|
(val) => {
|
|
144
176
|
var _a, _b;
|
|
177
|
+
if (props.apiService) return;
|
|
145
178
|
if (props.useVirtual) {
|
|
146
179
|
saveDATA.value = val;
|
|
147
180
|
updateRenderData(scrollTopNum.value);
|
|
@@ -193,20 +226,55 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
193
226
|
);
|
|
194
227
|
onMounted(() => {
|
|
195
228
|
var _a;
|
|
196
|
-
if (
|
|
197
|
-
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
229
|
+
if (props.apiService) {
|
|
230
|
+
fetchTableData();
|
|
231
|
+
} else {
|
|
232
|
+
if (state.defaultSelectValue && state.defaultSelectValue.length > 0 && isDefaultSelectVal.value) {
|
|
233
|
+
defaultSelect(state.defaultSelectValue);
|
|
234
|
+
}
|
|
235
|
+
if (props.selfExpanded) {
|
|
236
|
+
selectRef.value.expanded = true;
|
|
237
|
+
}
|
|
238
|
+
if (props.useVirtual) {
|
|
239
|
+
saveDATA.value = props.table.data;
|
|
240
|
+
isShowFirstRadio.value = false;
|
|
241
|
+
getDom(props);
|
|
242
|
+
(_a = scrollContainerEl.value) == null ? void 0 : _a.addEventListener("scroll", handleScroll);
|
|
243
|
+
}
|
|
244
|
+
if (props.radioSelectValLabel) findLabel();
|
|
207
245
|
}
|
|
208
|
-
if (props.radioSelectValLabel) findLabel();
|
|
209
246
|
});
|
|
247
|
+
const internalLoading = ref(false);
|
|
248
|
+
const internalQueryParams = reactive({ ...props.queryParams });
|
|
249
|
+
const fetchTableData = async (isResetPage = false) => {
|
|
250
|
+
if (!props.apiService) return;
|
|
251
|
+
internalLoading.value = true;
|
|
252
|
+
try {
|
|
253
|
+
if (isResetPage) {
|
|
254
|
+
pagination.currentPage = 1;
|
|
255
|
+
}
|
|
256
|
+
const requestParams = {
|
|
257
|
+
currentPage: pagination.currentPage,
|
|
258
|
+
pageSize: pagination.pageSize,
|
|
259
|
+
...internalQueryParams
|
|
260
|
+
};
|
|
261
|
+
const res = await useBaseApi(props.apiService).post(requestParams, props.apiAction);
|
|
262
|
+
const formatted = props.responseFormatter(res);
|
|
263
|
+
pagination.total = formatted.total;
|
|
264
|
+
state.tableData = formatted.data;
|
|
265
|
+
if (props.useVirtual) {
|
|
266
|
+
saveDATA.value = formatted.data;
|
|
267
|
+
updateRenderData(scrollTopNum.value);
|
|
268
|
+
}
|
|
269
|
+
if (state.defaultSelectValue && state.defaultSelectValue.length > 0 && isDefaultSelectVal.value) {
|
|
270
|
+
defaultSelect(state.defaultSelectValue);
|
|
271
|
+
}
|
|
272
|
+
} catch (error) {
|
|
273
|
+
console.error("FSelectTable API request failed:", error);
|
|
274
|
+
} finally {
|
|
275
|
+
internalLoading.value = false;
|
|
276
|
+
}
|
|
277
|
+
};
|
|
210
278
|
const updateRenderData = (scrollTop) => {
|
|
211
279
|
let startIndex = 0;
|
|
212
280
|
let offsetHeight = 0;
|
|
@@ -254,6 +322,11 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
254
322
|
} else {
|
|
255
323
|
if (fQueryConditionRef.value && props.isShowQuery && props.isClearQuery && !selectRef.value.expanded && !props.selfExpanded) {
|
|
256
324
|
(_a = fQueryConditionRef.value) == null ? void 0 : _a.resetData();
|
|
325
|
+
if (props.apiService) {
|
|
326
|
+
Object.keys(internalQueryParams).forEach((key) => delete internalQueryParams[key]);
|
|
327
|
+
Object.assign(internalQueryParams, props.queryParams);
|
|
328
|
+
fetchTableData(true);
|
|
329
|
+
}
|
|
257
330
|
}
|
|
258
331
|
findLabel();
|
|
259
332
|
filterMethodHandle("");
|
|
@@ -331,6 +404,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
331
404
|
});
|
|
332
405
|
};
|
|
333
406
|
const handlesCurrentChange = (val) => {
|
|
407
|
+
if (props.apiService) {
|
|
408
|
+
fetchTableData();
|
|
409
|
+
return;
|
|
410
|
+
}
|
|
334
411
|
if (props.multiple) {
|
|
335
412
|
if (!props.reserveSelection) {
|
|
336
413
|
clear();
|
|
@@ -355,12 +432,15 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
355
432
|
setTimeout(() => {
|
|
356
433
|
var _a, _b;
|
|
357
434
|
state.defaultValue = multipleList.map((item) => item[props.keywords.label]);
|
|
435
|
+
state.ids = multipleList.map((item) => item[props.keywords.value]);
|
|
358
436
|
multipleList.forEach((row) => {
|
|
359
437
|
selectTable.value.toggleRowSelection(row, true);
|
|
360
438
|
});
|
|
361
439
|
(_b = (_a = selectRef.value) == null ? void 0 : _a.selected) == null ? void 0 : _b.forEach((item) => {
|
|
362
440
|
item.currentLabel = item.value;
|
|
363
441
|
});
|
|
442
|
+
modeValueId.value = state.ids;
|
|
443
|
+
modeValueName.value = state.defaultValue;
|
|
364
444
|
}, 0);
|
|
365
445
|
} else {
|
|
366
446
|
setTimeout(() => {
|
|
@@ -369,6 +449,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
369
449
|
radioVal.value = state.tableData.indexOf(row) + 1;
|
|
370
450
|
state.defaultValue = row;
|
|
371
451
|
selectDefaultLabel.value = row[props.keywords.label];
|
|
452
|
+
modeValueId.value = row[props.keywords.value];
|
|
453
|
+
modeValueName.value = row[props.keywords.label];
|
|
372
454
|
if (!props.defaultValIsOpenRadioChange) {
|
|
373
455
|
emits("radioChange", row, row[props.keywords.value]);
|
|
374
456
|
}
|
|
@@ -385,6 +467,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
385
467
|
state.defaultSelectValue = [];
|
|
386
468
|
}
|
|
387
469
|
emits("selectionChange", val, state.ids);
|
|
470
|
+
if (props.multiple) {
|
|
471
|
+
modeValueId.value = state.ids;
|
|
472
|
+
modeValueName.value = state.defaultValue;
|
|
473
|
+
}
|
|
388
474
|
};
|
|
389
475
|
const getRowClassName = ({ row }) => {
|
|
390
476
|
if (!props.multiple && JSON.stringify(row) === JSON.stringify(state.defaultValue)) {
|
|
@@ -509,6 +595,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
509
595
|
radioVal.value = index;
|
|
510
596
|
state.defaultValue = row;
|
|
511
597
|
emits("radioChange", row, row[props.keywords.value]);
|
|
598
|
+
modeValueId.value = row[props.keywords.value];
|
|
599
|
+
modeValueName.value = row[props.keywords.label];
|
|
512
600
|
};
|
|
513
601
|
const rowClick = async (row) => {
|
|
514
602
|
var _a;
|
|
@@ -541,6 +629,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
541
629
|
isDefaultSelectVal.value = true;
|
|
542
630
|
state.defaultSelectValue = [];
|
|
543
631
|
state.defaultValue = props.multiple ? [] : null;
|
|
632
|
+
modeValueId.value = props.multiple ? [] : void 0;
|
|
633
|
+
modeValueName.value = props.multiple ? [] : "";
|
|
544
634
|
};
|
|
545
635
|
if (!selectTable.value) {
|
|
546
636
|
console.warn("selectTable.value is not initialized");
|
|
@@ -624,7 +714,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
624
714
|
ref_key: "selectRef",
|
|
625
715
|
ref: selectRef,
|
|
626
716
|
"model-value": __props.multiple ? state.defaultValue : selectDefaultLabel.value,
|
|
627
|
-
"popper-class": "
|
|
717
|
+
"popper-class": "f-select-table",
|
|
628
718
|
style: { width: __props.selectWidth ? `${__props.selectWidth}px` : "100%" },
|
|
629
719
|
"value-key": __props.keywords.value,
|
|
630
720
|
"filter-method": __props.filterMethod || filterMethodHandle,
|
|
@@ -804,18 +894,18 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
804
894
|
}, 16, ["data", "class"]),
|
|
805
895
|
__props.isShowPagination ? (openBlock(), createElementBlock("div", _hoisted_4, [
|
|
806
896
|
createVNode(_component_el_pagination, mergeProps({
|
|
807
|
-
"current-page":
|
|
808
|
-
"onUpdate:currentPage": _cache[6] || (_cache[6] = ($event) =>
|
|
809
|
-
"page-size":
|
|
810
|
-
"onUpdate:pageSize": _cache[7] || (_cache[7] = ($event) =>
|
|
897
|
+
"current-page": pagination.currentPage,
|
|
898
|
+
"onUpdate:currentPage": _cache[6] || (_cache[6] = ($event) => pagination.currentPage = $event),
|
|
899
|
+
"page-size": pagination.pageSize,
|
|
900
|
+
"onUpdate:pageSize": _cache[7] || (_cache[7] = ($event) => pagination.pageSize = $event),
|
|
811
901
|
onCurrentChange: handlesCurrentChange,
|
|
812
902
|
layout: "total, prev, pager, next, jumper",
|
|
813
903
|
"pager-count": __props.table["pager-count"] || 5,
|
|
814
|
-
total:
|
|
904
|
+
total: pagination.total
|
|
815
905
|
}, { background: true, size: __props.paginationSize || "small", ..._ctx.$attrs }), null, 16, ["current-page", "page-size", "pager-count", "total"])
|
|
816
906
|
])) : createCommentVNode("v-if", true)
|
|
817
907
|
], 8, _hoisted_2)), [
|
|
818
|
-
[_directive_loading, __props.tableLoading]
|
|
908
|
+
[_directive_loading, __props.tableLoading || internalLoading.value]
|
|
819
909
|
]),
|
|
820
910
|
renderSlot(_ctx.$slots, "footer")
|
|
821
911
|
],
|