vsoft-ui 1.0.1 → 1.0.2

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.
@@ -1,436 +0,0 @@
1
- import { default as VsButton } from './button/index.vue';
2
- import { default as VsCard } from './card/index.vue';
3
- import { default as VsTable } from './table/index.vue';
4
- import { default as VsPagination } from './pagination/index.vue';
5
-
6
- export { VsButton, VsCard, VsTable, VsPagination };
7
- export type { BackendColumnConfig, TableProps, TableEmits, PermissionChecker } from './table/types';
8
- export { usePermission, PermissionService, createPermissionService } from '../permission';
9
- export type { InstallOptions } from '../install';
10
- declare const _default: {
11
- VsButton: {
12
- new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
13
- permission: {
14
- type: import('vue').PropType<string | string[]>;
15
- default: undefined;
16
- };
17
- size: {
18
- type: import('vue').PropType<"default" | "large" | "small">;
19
- default: string;
20
- };
21
- type: {
22
- type: import('vue').PropType<"default" | "primary" | "success" | "warning" | "danger" | "info" | "text">;
23
- default: string;
24
- };
25
- disabled: {
26
- type: import('vue').PropType<boolean>;
27
- default: boolean;
28
- };
29
- loading: {
30
- type: import('vue').PropType<boolean>;
31
- default: boolean;
32
- };
33
- }>> & Readonly<{
34
- onClick?: ((event: MouseEvent) => any) | undefined;
35
- }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
36
- click: (event: MouseEvent) => void;
37
- }, import('vue').PublicProps, {
38
- permission: string | string[];
39
- size: "large" | "default" | "small";
40
- type: "default" | "primary" | "success" | "warning" | "danger" | "info" | "text";
41
- disabled: boolean;
42
- loading: boolean;
43
- }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
44
- P: {};
45
- B: {};
46
- D: {};
47
- C: {};
48
- M: {};
49
- Defaults: {};
50
- }, Readonly<import('vue').ExtractPropTypes<{
51
- permission: {
52
- type: import('vue').PropType<string | string[]>;
53
- default: undefined;
54
- };
55
- size: {
56
- type: import('vue').PropType<"default" | "large" | "small">;
57
- default: string;
58
- };
59
- type: {
60
- type: import('vue').PropType<"default" | "primary" | "success" | "warning" | "danger" | "info" | "text">;
61
- default: string;
62
- };
63
- disabled: {
64
- type: import('vue').PropType<boolean>;
65
- default: boolean;
66
- };
67
- loading: {
68
- type: import('vue').PropType<boolean>;
69
- default: boolean;
70
- };
71
- }>> & Readonly<{
72
- onClick?: ((event: MouseEvent) => any) | undefined;
73
- }>, {}, {}, {}, {}, {
74
- permission: string | string[];
75
- size: "large" | "default" | "small";
76
- type: "default" | "primary" | "success" | "warning" | "danger" | "info" | "text";
77
- disabled: boolean;
78
- loading: boolean;
79
- }>;
80
- __isFragment?: never;
81
- __isTeleport?: never;
82
- __isSuspense?: never;
83
- } & import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
84
- permission: {
85
- type: import('vue').PropType<string | string[]>;
86
- default: undefined;
87
- };
88
- size: {
89
- type: import('vue').PropType<"default" | "large" | "small">;
90
- default: string;
91
- };
92
- type: {
93
- type: import('vue').PropType<"default" | "primary" | "success" | "warning" | "danger" | "info" | "text">;
94
- default: string;
95
- };
96
- disabled: {
97
- type: import('vue').PropType<boolean>;
98
- default: boolean;
99
- };
100
- loading: {
101
- type: import('vue').PropType<boolean>;
102
- default: boolean;
103
- };
104
- }>> & Readonly<{
105
- onClick?: ((event: MouseEvent) => any) | undefined;
106
- }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
107
- click: (event: MouseEvent) => void;
108
- }, string, {
109
- permission: string | string[];
110
- size: "large" | "default" | "small";
111
- type: "default" | "primary" | "success" | "warning" | "danger" | "info" | "text";
112
- disabled: boolean;
113
- loading: boolean;
114
- }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
115
- $slots: {
116
- default?(_: {}): any;
117
- };
118
- });
119
- VsCard: {
120
- new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
121
- permission: {
122
- type: import('vue').PropType<string | string[]>;
123
- default: undefined;
124
- };
125
- header: {
126
- type: import('vue').PropType<string>;
127
- };
128
- shadow: {
129
- type: import('vue').PropType<"always" | "hover" | "never">;
130
- default: string;
131
- };
132
- bodyStyle: {
133
- type: import('vue').PropType<import('vue').CSSProperties>;
134
- };
135
- }>> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {
136
- permission: string | string[];
137
- shadow: "always" | "hover" | "never";
138
- }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
139
- P: {};
140
- B: {};
141
- D: {};
142
- C: {};
143
- M: {};
144
- Defaults: {};
145
- }, Readonly<import('vue').ExtractPropTypes<{
146
- permission: {
147
- type: import('vue').PropType<string | string[]>;
148
- default: undefined;
149
- };
150
- header: {
151
- type: import('vue').PropType<string>;
152
- };
153
- shadow: {
154
- type: import('vue').PropType<"always" | "hover" | "never">;
155
- default: string;
156
- };
157
- bodyStyle: {
158
- type: import('vue').PropType<import('vue').CSSProperties>;
159
- };
160
- }>> & Readonly<{}>, {}, {}, {}, {}, {
161
- permission: string | string[];
162
- shadow: "always" | "hover" | "never";
163
- }>;
164
- __isFragment?: never;
165
- __isTeleport?: never;
166
- __isSuspense?: never;
167
- } & import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
168
- permission: {
169
- type: import('vue').PropType<string | string[]>;
170
- default: undefined;
171
- };
172
- header: {
173
- type: import('vue').PropType<string>;
174
- };
175
- shadow: {
176
- type: import('vue').PropType<"always" | "hover" | "never">;
177
- default: string;
178
- };
179
- bodyStyle: {
180
- type: import('vue').PropType<import('vue').CSSProperties>;
181
- };
182
- }>> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {
183
- permission: string | string[];
184
- shadow: "always" | "hover" | "never";
185
- }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
186
- $slots: {
187
- header?(_: {}): any;
188
- default?(_: {}): any;
189
- };
190
- });
191
- VsTable: {
192
- new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
193
- [x: string]: {
194
- type: import('vue').PropType<any>;
195
- };
196
- [x: number]: {
197
- type: import('vue').PropType<any>;
198
- };
199
- }>> & Readonly<{}>, {
200
- tableRef: import('vue').Ref<import('element-plus').TableInstance | undefined, import('element-plus').TableInstance | undefined>;
201
- clearSort: () => void | undefined;
202
- clearFilter: (columnKeys?: string[]) => void | undefined;
203
- doLayout: () => void | undefined;
204
- scrollTo: (options: ScrollToOptions | number, yCoord?: number) => void | undefined;
205
- setScrollTop: (top: number) => void | undefined;
206
- setScrollLeft: (left: number) => void | undefined;
207
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
208
- P: {};
209
- B: {};
210
- D: {};
211
- C: {};
212
- M: {};
213
- Defaults: {};
214
- }, Readonly<import('vue').ExtractPropTypes<{
215
- [x: string]: {
216
- type: import('vue').PropType<any>;
217
- };
218
- [x: number]: {
219
- type: import('vue').PropType<any>;
220
- };
221
- }>> & Readonly<{}>, {
222
- tableRef: import('vue').Ref<import('element-plus').TableInstance | undefined, import('element-plus').TableInstance | undefined>;
223
- clearSort: () => void | undefined;
224
- clearFilter: (columnKeys?: string[]) => void | undefined;
225
- doLayout: () => void | undefined;
226
- scrollTo: (options: ScrollToOptions | number, yCoord?: number) => void | undefined;
227
- setScrollTop: (top: number) => void | undefined;
228
- setScrollLeft: (left: number) => void | undefined;
229
- }, {}, {}, {}, {}>;
230
- __isFragment?: never;
231
- __isTeleport?: never;
232
- __isSuspense?: never;
233
- } & import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
234
- [x: string]: {
235
- type: import('vue').PropType<any>;
236
- };
237
- [x: number]: {
238
- type: import('vue').PropType<any>;
239
- };
240
- }>> & Readonly<{}>, {
241
- tableRef: import('vue').Ref<import('element-plus').TableInstance | undefined, import('element-plus').TableInstance | undefined>;
242
- clearSort: () => void | undefined;
243
- clearFilter: (columnKeys?: string[]) => void | undefined;
244
- doLayout: () => void | undefined;
245
- scrollTo: (options: ScrollToOptions | number, yCoord?: number) => void | undefined;
246
- setScrollTop: (top: number) => void | undefined;
247
- setScrollLeft: (left: number) => void | undefined;
248
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
249
- $slots: Partial<Record<any, (_: {
250
- column: any;
251
- index: any;
252
- }) => any>> & Partial<Record<any, (_: {
253
- row: any;
254
- column: any;
255
- index: any;
256
- }) => any>> & {
257
- default?(_: {
258
- row: any;
259
- column: any;
260
- index: any;
261
- }): any;
262
- };
263
- });
264
- VsPagination: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
265
- permission: {
266
- type: import('vue').PropType<string | string[]>;
267
- default: undefined;
268
- };
269
- size: {
270
- type: import('vue').PropType<"default" | "large" | "small">;
271
- default: string;
272
- };
273
- disabled: {
274
- type: import('vue').PropType<boolean>;
275
- default: boolean;
276
- };
277
- currentPage: {
278
- type: import('vue').PropType<number>;
279
- default: number;
280
- };
281
- pageSize: {
282
- type: import('vue').PropType<number>;
283
- default: number;
284
- };
285
- total: {
286
- type: import('vue').PropType<number>;
287
- default: number;
288
- };
289
- pageCount: {
290
- type: import('vue').PropType<number>;
291
- default: undefined;
292
- };
293
- pageSizes: {
294
- type: import('vue').PropType<number[]>;
295
- default: () => number[];
296
- };
297
- layout: {
298
- type: import('vue').PropType<string>;
299
- default: string;
300
- };
301
- pagerCount: {
302
- type: import('vue').PropType<number>;
303
- default: number;
304
- };
305
- background: {
306
- type: import('vue').PropType<boolean>;
307
- default: boolean;
308
- };
309
- hideOnSinglePage: {
310
- type: import('vue').PropType<boolean>;
311
- default: boolean;
312
- };
313
- prevText: {
314
- type: import('vue').PropType<string>;
315
- default: string;
316
- };
317
- prevIcon: {
318
- type: import('vue').PropType<string | import('vue').Component>;
319
- default: undefined;
320
- };
321
- nextText: {
322
- type: import('vue').PropType<string>;
323
- default: string;
324
- };
325
- nextIcon: {
326
- type: import('vue').PropType<string | import('vue').Component>;
327
- default: undefined;
328
- };
329
- teleported: {
330
- type: import('vue').PropType<boolean>;
331
- default: boolean;
332
- };
333
- }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
334
- "update:currentPage": (page: number) => void;
335
- "update:pageSize": (size: number) => void;
336
- "current-change": (page: number) => void;
337
- "size-change": (size: number) => void;
338
- "prev-click": (page: number) => void;
339
- "next-click": (page: number) => void;
340
- }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
341
- permission: {
342
- type: import('vue').PropType<string | string[]>;
343
- default: undefined;
344
- };
345
- size: {
346
- type: import('vue').PropType<"default" | "large" | "small">;
347
- default: string;
348
- };
349
- disabled: {
350
- type: import('vue').PropType<boolean>;
351
- default: boolean;
352
- };
353
- currentPage: {
354
- type: import('vue').PropType<number>;
355
- default: number;
356
- };
357
- pageSize: {
358
- type: import('vue').PropType<number>;
359
- default: number;
360
- };
361
- total: {
362
- type: import('vue').PropType<number>;
363
- default: number;
364
- };
365
- pageCount: {
366
- type: import('vue').PropType<number>;
367
- default: undefined;
368
- };
369
- pageSizes: {
370
- type: import('vue').PropType<number[]>;
371
- default: () => number[];
372
- };
373
- layout: {
374
- type: import('vue').PropType<string>;
375
- default: string;
376
- };
377
- pagerCount: {
378
- type: import('vue').PropType<number>;
379
- default: number;
380
- };
381
- background: {
382
- type: import('vue').PropType<boolean>;
383
- default: boolean;
384
- };
385
- hideOnSinglePage: {
386
- type: import('vue').PropType<boolean>;
387
- default: boolean;
388
- };
389
- prevText: {
390
- type: import('vue').PropType<string>;
391
- default: string;
392
- };
393
- prevIcon: {
394
- type: import('vue').PropType<string | import('vue').Component>;
395
- default: undefined;
396
- };
397
- nextText: {
398
- type: import('vue').PropType<string>;
399
- default: string;
400
- };
401
- nextIcon: {
402
- type: import('vue').PropType<string | import('vue').Component>;
403
- default: undefined;
404
- };
405
- teleported: {
406
- type: import('vue').PropType<boolean>;
407
- default: boolean;
408
- };
409
- }>> & Readonly<{
410
- "onUpdate:currentPage"?: ((page: number) => any) | undefined;
411
- "onUpdate:pageSize"?: ((size: number) => any) | undefined;
412
- "onCurrent-change"?: ((page: number) => any) | undefined;
413
- "onSize-change"?: ((size: number) => any) | undefined;
414
- "onPrev-click"?: ((page: number) => any) | undefined;
415
- "onNext-click"?: ((page: number) => any) | undefined;
416
- }>, {
417
- permission: string | string[];
418
- size: "large" | "default" | "small";
419
- disabled: boolean;
420
- currentPage: number;
421
- pageSize: number;
422
- total: number;
423
- pageCount: number;
424
- pageSizes: number[];
425
- layout: string;
426
- pagerCount: number;
427
- background: boolean;
428
- hideOnSinglePage: boolean;
429
- prevText: string;
430
- prevIcon: string | import('vue').Component;
431
- nextText: string;
432
- nextIcon: string | import('vue').Component;
433
- teleported: boolean;
434
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
435
- };
436
- export default _default;
@@ -1,125 +0,0 @@
1
- import { Component } from 'vue';
2
-
3
- export interface PaginationProps {
4
- /** 当前页数 */
5
- currentPage?: number;
6
- /** 每页显示条目个数 */
7
- pageSize?: number;
8
- /** 总条目数 */
9
- total?: number;
10
- /** 总页数,total 和 page-count 设置任意一个就可以达到显示页码的功能;如果要支持 page-sizes 的更改,则需要使用 total */
11
- pageCount?: number;
12
- /** 每页显示个数选择器的选项设置 */
13
- pageSizes?: number[];
14
- /** 组件布局,子组件名用逗号分隔 */
15
- layout?: string;
16
- /** 页码按钮的数量,当总页数超过该值时会折叠 */
17
- pagerCount?: number;
18
- /** 是否为分页按钮添加背景色 */
19
- background?: boolean;
20
- /** 组件尺寸 */
21
- size?: 'large' | 'default' | 'small';
22
- /** 是否禁用 */
23
- disabled?: boolean;
24
- /** 只有一页时是否隐藏 */
25
- hideOnSinglePage?: boolean;
26
- /** 替代图标显示的上一页文字 */
27
- prevText?: string;
28
- /** 上一页的图标 */
29
- prevIcon?: string | Component;
30
- /** 替代图标显示的下一页文字 */
31
- nextText?: string;
32
- /** 下一页的图标 */
33
- nextIcon?: string | Component;
34
- /** 是否将 popover 的下拉列表插入至 body 元素 */
35
- teleported?: boolean;
36
- /** 权限标识 */
37
- permission?: string | string[];
38
- }
39
- declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<PaginationProps>, {
40
- currentPage: number;
41
- pageSize: number;
42
- total: number;
43
- pageCount: undefined;
44
- pageSizes: () => number[];
45
- layout: string;
46
- pagerCount: number;
47
- background: boolean;
48
- size: string;
49
- disabled: boolean;
50
- hideOnSinglePage: boolean;
51
- prevText: string;
52
- prevIcon: undefined;
53
- nextText: string;
54
- nextIcon: undefined;
55
- teleported: boolean;
56
- permission: undefined;
57
- }>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
58
- "update:currentPage": (page: number) => void;
59
- "update:pageSize": (size: number) => void;
60
- "current-change": (page: number) => void;
61
- "size-change": (size: number) => void;
62
- "prev-click": (page: number) => void;
63
- "next-click": (page: number) => void;
64
- }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<PaginationProps>, {
65
- currentPage: number;
66
- pageSize: number;
67
- total: number;
68
- pageCount: undefined;
69
- pageSizes: () => number[];
70
- layout: string;
71
- pagerCount: number;
72
- background: boolean;
73
- size: string;
74
- disabled: boolean;
75
- hideOnSinglePage: boolean;
76
- prevText: string;
77
- prevIcon: undefined;
78
- nextText: string;
79
- nextIcon: undefined;
80
- teleported: boolean;
81
- permission: undefined;
82
- }>>> & Readonly<{
83
- "onUpdate:currentPage"?: ((page: number) => any) | undefined;
84
- "onUpdate:pageSize"?: ((size: number) => any) | undefined;
85
- "onCurrent-change"?: ((page: number) => any) | undefined;
86
- "onSize-change"?: ((size: number) => any) | undefined;
87
- "onPrev-click"?: ((page: number) => any) | undefined;
88
- "onNext-click"?: ((page: number) => any) | undefined;
89
- }>, {
90
- permission: string | string[];
91
- size: "large" | "default" | "small";
92
- disabled: boolean;
93
- currentPage: number;
94
- pageSize: number;
95
- total: number;
96
- pageCount: number;
97
- pageSizes: number[];
98
- layout: string;
99
- pagerCount: number;
100
- background: boolean;
101
- hideOnSinglePage: boolean;
102
- prevText: string;
103
- prevIcon: string | Component;
104
- nextText: string;
105
- nextIcon: string | Component;
106
- teleported: boolean;
107
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
108
- export default _default;
109
- type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
110
- type __VLS_TypePropsToRuntimeProps<T> = {
111
- [K in keyof T]-?: {} extends Pick<T, K> ? {
112
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
113
- } : {
114
- type: import('vue').PropType<T[K]>;
115
- required: true;
116
- };
117
- };
118
- type __VLS_WithDefaults<P, D> = {
119
- [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
120
- default: D[K];
121
- }> : P[K];
122
- };
123
- type __VLS_Prettify<T> = {
124
- [K in keyof T]: T[K];
125
- } & {};
@@ -1,60 +0,0 @@
1
- import { TableInstance } from 'element-plus';
2
- import { TableProps } from './types';
3
-
4
- declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<TableProps>, {
5
- data: () => never[];
6
- columns: () => never[];
7
- showHeader: boolean;
8
- showBody: boolean;
9
- checkPermission: undefined;
10
- }>>, {
11
- tableRef: import('vue').Ref<TableInstance | undefined, TableInstance | undefined>;
12
- clearSort: () => void | undefined;
13
- clearFilter: (columnKeys?: string[]) => void | undefined;
14
- doLayout: () => void | undefined;
15
- scrollTo: (options: ScrollToOptions | number, yCoord?: number) => void | undefined;
16
- setScrollTop: (top: number) => void | undefined;
17
- setScrollLeft: (left: number) => void | undefined;
18
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<TableProps>, {
19
- data: () => never[];
20
- columns: () => never[];
21
- showHeader: boolean;
22
- showBody: boolean;
23
- checkPermission: undefined;
24
- }>>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>, Partial<Record<any, (_: {
25
- column: any;
26
- index: any;
27
- }) => any>> & Partial<Record<any, (_: {
28
- row: any;
29
- column: any;
30
- index: any;
31
- }) => any>> & {
32
- default?(_: {
33
- row: any;
34
- column: any;
35
- index: any;
36
- }): any;
37
- }>;
38
- export default _default;
39
- type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
40
- type __VLS_TypePropsToRuntimeProps<T> = {
41
- [K in keyof T]-?: {} extends Pick<T, K> ? {
42
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
43
- } : {
44
- type: import('vue').PropType<T[K]>;
45
- required: true;
46
- };
47
- };
48
- type __VLS_WithDefaults<P, D> = {
49
- [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
50
- default: D[K];
51
- }> : P[K];
52
- };
53
- type __VLS_Prettify<T> = {
54
- [K in keyof T]: T[K];
55
- } & {};
56
- type __VLS_WithTemplateSlots<T, S> = T & {
57
- new (): {
58
- $slots: S;
59
- };
60
- };
@@ -1,61 +0,0 @@
1
- /**
2
- * 后端列配置接口
3
- */
4
- export interface BackendColumnConfig {
5
- /** 列的唯一标识 */
6
- prop: string;
7
- /** 列标签 */
8
- label: string;
9
- /** 是否显示 */
10
- visible?: boolean;
11
- /** 是否可排序 */
12
- sortable?: boolean;
13
- /** 排序方式:ascending | descending | null */
14
- sortOrder?: 'ascending' | 'descending' | null;
15
- /** 列宽度 */
16
- width?: string | number;
17
- /** 最小宽度 */
18
- minWidth?: string | number;
19
- /** 对齐方式 */
20
- align?: 'left' | 'center' | 'right';
21
- /** 固定列 */
22
- fixed?: boolean | 'left' | 'right';
23
- /** 权限标识 */
24
- permission?: string | string[];
25
- /** 其他 Element Plus TableColumn 属性 */
26
- [key: string]: any;
27
- }
28
- /**
29
- * 权限检查函数类型
30
- */
31
- export type PermissionChecker = (permission: string | string[]) => boolean;
32
- /**
33
- * Table 组件 Props
34
- */
35
- export interface TableProps {
36
- /** 表格数据 */
37
- data: any[];
38
- /** 后端列配置 */
39
- columns: BackendColumnConfig[];
40
- /** 权限检查函数 */
41
- checkPermission?: PermissionChecker;
42
- /** 是否显示表头 */
43
- showHeader?: boolean;
44
- /** 是否显示表体 */
45
- showBody?: boolean;
46
- /** 其他 Element Plus Table 属性 */
47
- [key: string]: any;
48
- }
49
- /**
50
- * Table 组件事件
51
- */
52
- export interface TableEmits {
53
- /** 排序变化事件 */
54
- sortChange: [options: {
55
- column: any;
56
- prop: string;
57
- order: string | null;
58
- }];
59
- /** 其他事件 */
60
- [key: string]: any;
61
- }