@flyto/farco 1.2.1 → 1.4.0
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/dist/chunk-0b1102a0.js +95 -0
- package/dist/chunk-0d0f8483.js +6 -0
- package/dist/chunk-0ec0668f.js +42 -0
- package/dist/chunk-0f50b26a.js +153 -0
- package/dist/chunk-17a233d7.js +1 -0
- package/dist/chunk-18dd07f2.js +71 -0
- package/dist/chunk-28ba1e67.js +4525 -0
- package/dist/chunk-2d4cc9ab.js +287 -0
- package/dist/chunk-32aa5901.js +1 -0
- package/dist/chunk-3659754f.js +103 -0
- package/dist/chunk-3e27c862.js +38 -0
- package/dist/chunk-3e3782aa.js +1 -0
- package/dist/chunk-451afd44.js +58 -0
- package/dist/chunk-45dbb8f9.js +1 -0
- package/dist/chunk-540a3872.js +1 -0
- package/dist/chunk-5672685f.js +2 -0
- package/dist/chunk-592857c5.js +1 -0
- package/dist/chunk-5f89350b.js +2 -0
- package/dist/chunk-6c665483.js +4 -0
- package/dist/chunk-7779a34c.js +169 -0
- package/dist/chunk-7e78427e.js +1 -0
- package/dist/chunk-7f0e9b41.js +1 -0
- package/dist/chunk-82468a2e.js +1 -0
- package/dist/chunk-867494bd.js +99 -0
- package/dist/chunk-8a4bafe4.js +135 -0
- package/dist/chunk-912642ce.js +36 -0
- package/dist/chunk-995c23b4.js +85 -0
- package/dist/chunk-a016ffab.js +1 -0
- package/dist/chunk-a1e9227b.js +1 -0
- package/dist/chunk-a67d2308.js +1 -0
- package/dist/chunk-abb01801.js +955 -0
- package/dist/chunk-b2838051.js +42 -0
- package/dist/chunk-c4c93c86.js +1 -0
- package/dist/chunk-c9e8fc0f.js +5 -0
- package/dist/chunk-db179b28.js +82 -0
- package/dist/chunk-dc6689c4.js +34 -0
- package/dist/chunk-e7fc446a.js +29 -0
- package/dist/chunk-ed8bf4fb.js +12607 -0
- package/dist/chunk-f363e104.js +1 -0
- package/dist/chunk-fe45f9f8.js +1 -0
- package/dist/fbutton.cjs.js +1 -0
- package/dist/fbutton.es.js +9 -0
- package/dist/fcheckbox.cjs.js +1 -0
- package/dist/fcheckbox.es.js +8 -0
- package/dist/fdate.cjs.js +1 -0
- package/dist/fdate.es.js +8 -0
- package/dist/fform-item.cjs.js +1 -0
- package/dist/fform-item.es.js +26 -0
- package/dist/fform.cjs.js +1 -0
- package/dist/fform.es.js +24 -0
- package/dist/ficon.cjs.js +1 -0
- package/dist/ficon.es.js +9 -0
- package/dist/finput.cjs.js +1 -0
- package/dist/finput.es.js +9 -0
- package/dist/flink.cjs.js +1 -0
- package/dist/flink.es.js +9 -0
- package/dist/fml-input.cjs.js +1 -0
- package/dist/fml-input.es.js +11 -0
- package/dist/fpop-choice.cjs.js +1 -0
- package/dist/fpop-choice.es.js +26 -0
- package/dist/fquery-list.cjs.js +1 -0
- package/dist/fquery-list.es.js +24 -0
- package/dist/fradio.cjs.js +1 -0
- package/dist/fradio.es.js +8 -0
- package/dist/frange.cjs.js +1 -0
- package/dist/frange.es.js +10 -0
- package/dist/fsearch.cjs.js +1 -0
- package/dist/fsearch.es.js +24 -0
- package/dist/fselect.cjs.js +1 -0
- package/dist/fselect.es.js +12 -0
- package/dist/fskeleton.cjs.js +1 -0
- package/dist/fskeleton.es.js +8 -0
- package/dist/fswitch.cjs.js +1 -0
- package/dist/fswitch.es.js +8 -0
- package/dist/ftable.cjs.js +1 -0
- package/dist/ftable.es.js +13 -0
- package/dist/ftext.cjs.js +1 -0
- package/dist/ftext.es.js +12 -0
- package/dist/ftextarea.cjs.js +1 -0
- package/dist/ftextarea.es.js +9 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.es.js +175 -19505
- package/dist/index.umd.js +25 -25
- package/dist/keys.cjs.js +1 -0
- package/dist/keys.es.js +9 -0
- package/dist/style.css +1 -1
- package/dist/types/components/fbutton/fbutton.d.ts +35 -35
- package/dist/types/components/fbutton/fbutton.vue.d.ts +35 -33
- package/dist/types/components/fbutton/index.d.ts +4 -4
- package/dist/types/components/fcheckbox/constants/index.d.ts +10 -10
- package/dist/types/components/fcheckbox/fcheckbox.d.ts +41 -41
- package/dist/types/components/fcheckbox/fcheckbox.vue.d.ts +168 -166
- package/dist/types/components/fcheckbox/index.d.ts +4 -4
- package/dist/types/components/fdate/fdate.d.ts +67 -67
- package/dist/types/components/fdate/fdate.vue.d.ts +47 -45
- package/dist/types/components/fdate/index.d.ts +4 -4
- package/dist/types/components/fform/fform.d.ts +83 -83
- package/dist/types/components/fform/fform.vue.d.ts +124 -122
- package/dist/types/components/fform/index.d.ts +4 -4
- package/dist/types/components/fform-item/fform-item.d.ts +91 -91
- package/dist/types/components/fform-item/fform-item.vue.d.ts +121 -117
- package/dist/types/components/fform-item/index.d.ts +4 -4
- package/dist/types/components/ficon/ficon.d.ts +44 -44
- package/dist/types/components/ficon/ficon.vue.d.ts +63 -59
- package/dist/types/components/ficon/index.d.ts +4 -4
- package/dist/types/components/finput/finput.d.ts +54 -54
- package/dist/types/components/finput/finput.vue.d.ts +87 -83
- package/dist/types/components/finput/index.d.ts +4 -4
- package/dist/types/components/flink/flink.d.ts +26 -26
- package/dist/types/components/flink/flink.vue.d.ts +42 -40
- package/dist/types/components/flink/index.d.ts +4 -4
- package/dist/types/components/fml-input/fml-input.d.ts +74 -74
- package/dist/types/components/fml-input/fml-input.vue.d.ts +601 -622
- package/dist/types/components/fml-input/index.d.ts +4 -4
- package/dist/types/components/fpop-choice/fpop-choice.d.ts +52 -52
- package/dist/types/components/fpop-choice/fpop-choice.vue.d.ts +884 -891
- package/dist/types/components/fpop-choice/index.d.ts +5 -5
- package/dist/types/components/fpop-choice/utils/index.d.ts +16 -16
- package/dist/types/components/fquery-list/fquery-list.d.ts +133 -133
- package/dist/types/components/fquery-list/fquery-list.vue.d.ts +467 -1352
- package/dist/types/components/fquery-list/index.d.ts +4 -4
- package/dist/types/components/fradio/constants/index.d.ts +8 -8
- package/dist/types/components/fradio/fradio.d.ts +48 -48
- package/dist/types/components/fradio/fradio.vue.d.ts +176 -174
- package/dist/types/components/fradio/index.d.ts +4 -4
- package/dist/types/components/frange/frange.d.ts +47 -47
- package/dist/types/components/frange/frange.vue.d.ts +92 -90
- package/dist/types/components/frange/index.d.ts +4 -4
- package/dist/types/components/fsearch/fsearch.d.ts +75 -75
- package/dist/types/components/fsearch/fsearch.vue.d.ts +103 -103
- package/dist/types/components/fsearch/index.d.ts +4 -4
- package/dist/types/components/fselect/constants/index.d.ts +6 -6
- package/dist/types/components/fselect/fselect-option.vue.d.ts +25 -25
- package/dist/types/components/fselect/fselect.d.ts +120 -120
- package/dist/types/components/fselect/fselect.vue.d.ts +184 -182
- package/dist/types/components/fselect/index.d.ts +4 -4
- package/dist/types/components/fskeleton/fskeleton.d.ts +18 -18
- package/dist/types/components/fskeleton/fskeleton.vue.d.ts +17 -15
- package/dist/types/components/fskeleton/index.d.ts +4 -4
- package/dist/types/components/fswitch/fswitch.d.ts +8 -8
- package/dist/types/components/fswitch/fswitch.vue.d.ts +365 -365
- package/dist/types/components/fswitch/index.d.ts +4 -4
- package/dist/types/components/ftable/constants/index.d.ts +14 -14
- package/dist/types/components/ftable/ftable-cols-set.vue.d.ts +6 -6
- package/dist/types/components/ftable/ftable-toolbar.vue.d.ts +57 -54
- package/dist/types/components/ftable/ftable.d.ts +332 -332
- package/dist/types/components/ftable/ftable.vue.d.ts +139 -333
- package/dist/types/components/ftable/index.d.ts +4 -4
- package/dist/types/components/ftable/utils/index.d.ts +13 -13
- package/dist/types/components/ftext/ftext.d.ts +97 -96
- package/dist/types/components/ftext/ftext.vue.d.ts +88 -86
- package/dist/types/components/ftext/index.d.ts +4 -4
- package/dist/types/components/ftextarea/ftextarea.d.ts +32 -32
- package/dist/types/components/ftextarea/ftextarea.vue.d.ts +569 -575
- package/dist/types/components/ftextarea/index.d.ts +4 -4
- package/dist/types/components/index.d.ts +40 -40
- package/dist/types/constants/fform.d.ts +8 -8
- package/dist/types/constants/global.d.ts +9 -24
- package/dist/types/constants/keys.d.ts +14 -0
- package/dist/types/env.d.ts +4 -0
- package/dist/types/index.d.ts +14 -15
- package/dist/types/types/global.d.ts +44 -44
- package/dist/types/types/index.d.ts +1 -1
- package/dist/types/utils/business-format.d.ts +136 -136
- package/dist/types/utils/index.d.ts +4 -4
- package/package.json +24 -4
|
@@ -1,335 +1,335 @@
|
|
|
1
1
|
import { AnyObject, OmitNullUndefined } from '../../../../../../../../../src/types';
|
|
2
|
-
import { TableData, TableInstance, TableColumnData, TableRowSelection, ButtonProps } from '@arco-design/web-vue';
|
|
2
|
+
import { TableData, TableInstance, TableColumnData, PaginationProps, TableRowSelection, ButtonProps } from '@arco-design/web-vue';
|
|
3
3
|
import { ExtractPublicPropTypes, PropType, StyleValue, VNodeChild } from 'vue';
|
|
4
4
|
import { FButtonProps } from '../fbutton';
|
|
5
|
-
|
|
6
|
-
/** 使用随机ID的标识 */
|
|
7
|
-
export declare const RANDOM_ID_FLAG = "random-959595";
|
|
8
|
-
export type ColConfig = {
|
|
9
|
-
key: string;
|
|
10
|
-
noEdit?: boolean;
|
|
11
|
-
label?: string;
|
|
12
|
-
hide?: boolean;
|
|
13
|
-
sort?: number;
|
|
14
|
-
};
|
|
15
|
-
export type ColsSetting = {
|
|
16
|
-
[k: string]: ColConfig;
|
|
17
|
-
};
|
|
18
|
-
export type FTableCol<T extends AnyObject = AnyObject, D extends AnyObject = OmitNullUndefined<T>> = Omit<TableColumnData, 'render'> & {
|
|
19
|
-
dataIndex: Extract<keyof T, string>;
|
|
20
|
-
hide?: boolean;
|
|
21
|
-
/** 禁止配置排序及隐藏等设置项 */
|
|
22
|
-
noSetting?: boolean;
|
|
23
|
-
/** 在title是一个组件时,在列配置弹层中,此列的label */
|
|
24
|
-
settingLabel?: string;
|
|
25
|
-
/** 自定义格式化显示值 */
|
|
26
|
-
render?: (data: Omit<Parameters<NonNullable<TableColumnData['render']>>[0], 'record'> & {
|
|
27
|
-
record: D & TableData;
|
|
28
|
-
}) => VNodeChild;
|
|
29
|
-
/**
|
|
30
|
-
* 自动合并单元格取值字段配置
|
|
31
|
-
*
|
|
32
|
-
* 如果没有配置,则默认使用dataIndex作为判断行列单元格是否相等的取值字段
|
|
33
|
-
*/
|
|
34
|
-
merge?: string | {
|
|
35
|
-
row: string;
|
|
36
|
-
col: string;
|
|
37
|
-
};
|
|
38
|
-
};
|
|
39
|
-
export type FTableData<T extends AnyObject = AnyObject> = TableData & T;
|
|
40
|
-
type MethodDataReturn<T extends AnyObject> = {
|
|
41
|
-
list: FTableData<T>[];
|
|
42
|
-
total: number;
|
|
43
|
-
message: string;
|
|
44
|
-
};
|
|
45
|
-
/**
|
|
46
|
-
* 通过方法获取的数据
|
|
47
|
-
*/
|
|
48
|
-
export type FTableMethodData<T extends AnyObject = AnyObject, Q extends AnyObject = AnyObject> = (
|
|
49
|
-
/** 扩展参数,如果开启分页,将在每次执行时传入当前的分页数据 */
|
|
50
|
-
params: Q & {
|
|
51
|
-
page?: {
|
|
52
|
-
index: number;
|
|
53
|
-
size: number;
|
|
54
|
-
};
|
|
55
|
-
}) => Promise<MethodDataReturn<T>> | MethodDataReturn<T>;
|
|
56
|
-
/**
|
|
57
|
-
* 表格单元格合并配置(暂时只实现了行合并)
|
|
58
|
-
*
|
|
59
|
-
* 在不同行、列间,配置的字段值相等时,自动计算合并的行跨度
|
|
60
|
-
*/
|
|
61
|
-
export type FTableMerge<T extends AnyObject = Record<string, any>> = {
|
|
62
|
-
/**
|
|
63
|
-
* 行合并字段
|
|
64
|
-
*/
|
|
65
|
-
row: (keyof T)[];
|
|
66
|
-
/**
|
|
67
|
-
* 行分组字段,避免因为数据相同,不应该合并的行进行了合并显示
|
|
68
|
-
*/
|
|
69
|
-
rowGroupBy?: (keyof T)[];
|
|
70
|
-
};
|
|
71
|
-
export type FTableSpanMethod<T> = (data: {
|
|
72
|
-
record: T;
|
|
73
|
-
column: FTableCol;
|
|
74
|
-
rowIndex: number;
|
|
75
|
-
columnIndex: number;
|
|
76
|
-
}) => {
|
|
77
|
-
rowspan?: number;
|
|
78
|
-
colspan?: number;
|
|
79
|
-
} | void;
|
|
80
|
-
export type FTableToolBarBtn = {
|
|
81
|
-
label: string;
|
|
82
|
-
icon?: string;
|
|
83
|
-
size?: ButtonProps['size'];
|
|
84
|
-
type?: FButtonProps['type'];
|
|
85
|
-
status?: ButtonProps['status'];
|
|
86
|
-
tooltip?: string;
|
|
87
|
-
click?: () => void;
|
|
88
|
-
};
|
|
89
|
-
export type FTableToolBarQuick = {
|
|
90
|
-
colsSetting?: boolean;
|
|
91
|
-
export?: boolean | {
|
|
92
|
-
fileName: string;
|
|
93
|
-
};
|
|
94
|
-
print?: boolean;
|
|
95
|
-
};
|
|
96
|
-
export type FTableToolBar = {
|
|
97
|
-
/**
|
|
98
|
-
* 表格标题
|
|
99
|
-
*/
|
|
100
|
-
title?: string;
|
|
101
|
-
/**
|
|
102
|
-
* 按钮组的简单配置
|
|
103
|
-
*/
|
|
104
|
-
btns?: FTableToolBarBtn[];
|
|
105
|
-
/**
|
|
106
|
-
* 右侧快捷工具栏
|
|
107
|
-
*/
|
|
108
|
-
quickTools?: boolean | FTableToolBarQuick;
|
|
109
|
-
};
|
|
110
|
-
export type FTableRemember = {
|
|
111
|
-
/**
|
|
112
|
-
* 选中数据时,使用哪个字段作为唯一标识符
|
|
113
|
-
*/
|
|
114
|
-
valueKey: string;
|
|
115
|
-
/**
|
|
116
|
-
* 选中数据时,使用哪个字段作为显示值出现
|
|
117
|
-
*/
|
|
118
|
-
labelKey: string;
|
|
119
|
-
};
|
|
120
|
-
export type FTableRowSelection = TableRowSelection & {
|
|
121
|
-
/**
|
|
122
|
-
* 双击选中当前行
|
|
123
|
-
*/
|
|
124
|
-
dblClickSelect?: boolean;
|
|
125
|
-
/**
|
|
126
|
-
* 选中项的 tag 的宽度(只有在开启跨页记忆选择时生效)
|
|
127
|
-
*/
|
|
128
|
-
tagWidth?: string;
|
|
129
|
-
/**
|
|
130
|
-
* 选中时,用哪个字段作为显示的label(只有在开启跨页记忆选择时生效)
|
|
131
|
-
* 此项如若不传,则使用 rowKey 字段作为显示的label
|
|
132
|
-
*/
|
|
133
|
-
tagLabelKey?: string;
|
|
134
|
-
/**
|
|
135
|
-
* 自定义渲染选中项的 tag
|
|
136
|
-
*/
|
|
137
|
-
renderTagLabel?: (item: {
|
|
138
|
-
[k: string | number]: any;
|
|
139
|
-
}) => VNodeChild;
|
|
140
|
-
};
|
|
141
|
-
export type FTablePage = {
|
|
142
|
-
/**
|
|
143
|
-
* 当前页数(非受控数据)
|
|
144
|
-
*/
|
|
145
|
-
defaultIndex: number;
|
|
146
|
-
/**
|
|
147
|
-
* 每页显示条数(非受控数据)
|
|
148
|
-
*/
|
|
149
|
-
defaultSize: number;
|
|
150
|
-
/**
|
|
151
|
-
* 条数选择列表
|
|
152
|
-
*/
|
|
153
|
-
sizes?: number[];
|
|
154
|
-
};
|
|
155
|
-
export type FTableScroll = {
|
|
156
|
-
x?: string;
|
|
157
|
-
y?: string;
|
|
158
|
-
minWidth?: string;
|
|
159
|
-
maxHeight?: string;
|
|
160
|
-
};
|
|
161
|
-
export declare const fTableProps: {
|
|
162
|
-
/**
|
|
163
|
-
* 表格尺寸
|
|
164
|
-
*/
|
|
165
|
-
size: {
|
|
166
|
-
type: PropType<TableInstance>;
|
|
167
|
-
default: string;
|
|
168
|
-
};
|
|
169
|
-
/**
|
|
170
|
-
* 唯一标识符
|
|
171
|
-
* 在记录table列排序、显示数据时,此值用于判断是否属于该table的数据
|
|
172
|
-
*/
|
|
173
|
-
id: {
|
|
174
|
-
type: StringConstructor;
|
|
175
|
-
default: () => string;
|
|
176
|
-
};
|
|
177
|
-
/**
|
|
178
|
-
* 数据列表
|
|
179
|
-
* 支持Promise函数,可返回一个远程获取的数据
|
|
180
|
-
*/
|
|
181
|
-
data: {
|
|
182
|
-
type: PropType<
|
|
183
|
-
default: () => never[];
|
|
184
|
-
required: boolean;
|
|
185
|
-
};
|
|
186
|
-
/**
|
|
187
|
-
* 非立即获取数据,由手动调用方法进行数据获取
|
|
188
|
-
*/
|
|
189
|
-
noImmediatelyMethodData: {
|
|
190
|
-
type: BooleanConstructor;
|
|
191
|
-
default: boolean;
|
|
192
|
-
};
|
|
193
|
-
/**
|
|
194
|
-
* 在非立即获取数据时,数据为空时,提示文本
|
|
195
|
-
*/
|
|
196
|
-
noImmediatelyMethodDataEmptyText: {
|
|
197
|
-
type: StringConstructor;
|
|
198
|
-
default: string;
|
|
199
|
-
};
|
|
200
|
-
/**
|
|
201
|
-
* 数据为空时,提示文本
|
|
202
|
-
*/
|
|
203
|
-
emptyText: {
|
|
204
|
-
type: StringConstructor;
|
|
205
|
-
default: string;
|
|
206
|
-
};
|
|
207
|
-
/**
|
|
208
|
-
* 列描述数据
|
|
209
|
-
*/
|
|
210
|
-
cols: {
|
|
211
|
-
type: PropType<FTableCol
|
|
212
|
-
default: () => never[];
|
|
213
|
-
};
|
|
214
|
-
/**
|
|
215
|
-
* 行数据合并配置
|
|
216
|
-
*/
|
|
217
|
-
merge: {
|
|
218
|
-
type: PropType<FTableMerge
|
|
219
|
-
default: () => {
|
|
220
|
-
row: never[];
|
|
221
|
-
rowGroupBy: never[];
|
|
222
|
-
};
|
|
223
|
-
};
|
|
224
|
-
/**
|
|
225
|
-
* 顶部工具栏的配置
|
|
226
|
-
*/
|
|
227
|
-
toolbar: {
|
|
228
|
-
type: PropType<
|
|
229
|
-
default: () => {
|
|
230
|
-
quickTools: boolean;
|
|
231
|
-
};
|
|
232
|
-
};
|
|
233
|
-
/**
|
|
234
|
-
* 分页配置
|
|
235
|
-
* 目前仅支持非受控模式,为了冗余以后会实现的受控模式,所以目前在size及index变量名都加上了default
|
|
236
|
-
*/
|
|
237
|
-
page: {
|
|
238
|
-
type: PropType<boolean | FTablePage>;
|
|
239
|
-
default: boolean;
|
|
240
|
-
};
|
|
241
|
-
/**
|
|
242
|
-
* 分页组件的props
|
|
243
|
-
* 剔除total、页数相关等参数
|
|
244
|
-
*/
|
|
245
|
-
pageProps: {
|
|
246
|
-
type: PropType<Omit<PaginationProps, "total" | "current" | "defaultCurrent" | "pageSize" | "defaultPageSize">>;
|
|
247
|
-
default: null;
|
|
248
|
-
};
|
|
249
|
-
/**
|
|
250
|
-
* 表格行 key 的取值字段
|
|
251
|
-
*/
|
|
252
|
-
rowKey: {
|
|
253
|
-
type: StringConstructor;
|
|
254
|
-
default: string;
|
|
255
|
-
};
|
|
256
|
-
/**
|
|
257
|
-
* 行className
|
|
258
|
-
*/
|
|
259
|
-
rowClass: {
|
|
260
|
-
type: PropType<string | any[] | Record<string, any> | ((record: FTableData, rowIndex: number) => any)>;
|
|
261
|
-
default: string;
|
|
262
|
-
};
|
|
263
|
-
/**
|
|
264
|
-
* 选择类型
|
|
265
|
-
*/
|
|
266
|
-
selection: {
|
|
267
|
-
type: PropType<
|
|
268
|
-
default: boolean;
|
|
269
|
-
};
|
|
270
|
-
/**
|
|
271
|
-
* 选择器的配置项
|
|
272
|
-
* 同 TableRowSelection (如果传入type字段,则忽略selection配置)
|
|
273
|
-
*/
|
|
274
|
-
selectionConfig: {
|
|
275
|
-
type: PropType<
|
|
276
|
-
default: null;
|
|
277
|
-
};
|
|
278
|
-
/**
|
|
279
|
-
* 默认已选择的行(非受控模式)
|
|
280
|
-
* 提供 selectedKeys 参数(受控模式)
|
|
281
|
-
* 优先级高于selectionConfig配置
|
|
282
|
-
*/
|
|
283
|
-
defaultSelectedRowKeys: {
|
|
284
|
-
type: PropType<TableInstance>;
|
|
285
|
-
default: null;
|
|
286
|
-
};
|
|
287
|
-
/**
|
|
288
|
-
* 默认已选择的行数据(非受控模式)
|
|
289
|
-
* 在采用跨页记忆选择时,右侧需要根据选择的数据来进行渲染,如果只有一个keys,组件刚渲染时,并没有其他页的数据,会导致渲染异常
|
|
290
|
-
* 传入此参数后,无论是 defaultSelectedRowKeys 还是 selectionConfig.defaultSelectedRowKeys 均会无效。将会以此参数来作为默认值传入
|
|
291
|
-
*/
|
|
292
|
-
defaultSelectedRows: {
|
|
293
|
-
type: PropType<Record<string | number, any>[]>;
|
|
294
|
-
default: null;
|
|
295
|
-
};
|
|
296
|
-
/**
|
|
297
|
-
* 标头吸顶
|
|
298
|
-
*/
|
|
299
|
-
stickyHeader: {
|
|
300
|
-
type: (BooleanConstructor | NumberConstructor)[];
|
|
301
|
-
default: boolean;
|
|
302
|
-
};
|
|
303
|
-
/**
|
|
304
|
-
* 滚动条设置
|
|
305
|
-
*/
|
|
306
|
-
scroll: {
|
|
307
|
-
type: PropType<FTableScroll>;
|
|
308
|
-
default: () => {
|
|
309
|
-
x: string;
|
|
310
|
-
};
|
|
311
|
-
};
|
|
312
|
-
/**
|
|
313
|
-
* 显示外边框
|
|
314
|
-
*/
|
|
315
|
-
bordered: {
|
|
316
|
-
type: BooleanConstructor;
|
|
317
|
-
default: boolean;
|
|
318
|
-
};
|
|
319
|
-
/**
|
|
320
|
-
* 包裹层的class
|
|
321
|
-
*/
|
|
322
|
-
wrapClass: {
|
|
323
|
-
type: PropType<string | object | []>;
|
|
324
|
-
default: string;
|
|
325
|
-
};
|
|
326
|
-
/**
|
|
327
|
-
* 包裹层的style
|
|
328
|
-
*/
|
|
329
|
-
wrapStyle: {
|
|
330
|
-
type: PropType<StyleValue>;
|
|
331
|
-
default: string;
|
|
332
|
-
};
|
|
333
|
-
};
|
|
334
|
-
export type FTableProps = Omit<TableInstance['$props'], 'columns' | 'loading' | 'pagination' | 'tableRowSelection'> & ExtractPublicPropTypes<typeof fTableProps>;
|
|
335
|
-
export {};
|
|
5
|
+
|
|
6
|
+
/** 使用随机ID的标识 */
|
|
7
|
+
export declare const RANDOM_ID_FLAG = "random-959595";
|
|
8
|
+
export type ColConfig = {
|
|
9
|
+
key: string;
|
|
10
|
+
noEdit?: boolean;
|
|
11
|
+
label?: string;
|
|
12
|
+
hide?: boolean;
|
|
13
|
+
sort?: number;
|
|
14
|
+
};
|
|
15
|
+
export type ColsSetting = {
|
|
16
|
+
[k: string]: ColConfig;
|
|
17
|
+
};
|
|
18
|
+
export type FTableCol<T extends AnyObject = AnyObject, D extends AnyObject = OmitNullUndefined<T>> = Omit<TableColumnData, 'render'> & {
|
|
19
|
+
dataIndex: Extract<keyof T, string>;
|
|
20
|
+
hide?: boolean;
|
|
21
|
+
/** 禁止配置排序及隐藏等设置项 */
|
|
22
|
+
noSetting?: boolean;
|
|
23
|
+
/** 在title是一个组件时,在列配置弹层中,此列的label */
|
|
24
|
+
settingLabel?: string;
|
|
25
|
+
/** 自定义格式化显示值 */
|
|
26
|
+
render?: (data: Omit<Parameters<NonNullable<TableColumnData['render']>>[0], 'record'> & {
|
|
27
|
+
record: D & TableData;
|
|
28
|
+
}) => VNodeChild;
|
|
29
|
+
/**
|
|
30
|
+
* 自动合并单元格取值字段配置
|
|
31
|
+
*
|
|
32
|
+
* 如果没有配置,则默认使用dataIndex作为判断行列单元格是否相等的取值字段
|
|
33
|
+
*/
|
|
34
|
+
merge?: string | {
|
|
35
|
+
row: string;
|
|
36
|
+
col: string;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
export type FTableData<T extends AnyObject = AnyObject> = TableData & T;
|
|
40
|
+
type MethodDataReturn<T extends AnyObject> = {
|
|
41
|
+
list: FTableData<T>[];
|
|
42
|
+
total: number;
|
|
43
|
+
message: string;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* 通过方法获取的数据
|
|
47
|
+
*/
|
|
48
|
+
export type FTableMethodData<T extends AnyObject = AnyObject, Q extends AnyObject = AnyObject> = (
|
|
49
|
+
/** 扩展参数,如果开启分页,将在每次执行时传入当前的分页数据 */
|
|
50
|
+
params: Q & {
|
|
51
|
+
page?: {
|
|
52
|
+
index: number;
|
|
53
|
+
size: number;
|
|
54
|
+
};
|
|
55
|
+
}) => Promise<MethodDataReturn<T>> | MethodDataReturn<T>;
|
|
56
|
+
/**
|
|
57
|
+
* 表格单元格合并配置(暂时只实现了行合并)
|
|
58
|
+
*
|
|
59
|
+
* 在不同行、列间,配置的字段值相等时,自动计算合并的行跨度
|
|
60
|
+
*/
|
|
61
|
+
export type FTableMerge<T extends AnyObject = Record<string, any>> = {
|
|
62
|
+
/**
|
|
63
|
+
* 行合并字段
|
|
64
|
+
*/
|
|
65
|
+
row: (keyof T)[];
|
|
66
|
+
/**
|
|
67
|
+
* 行分组字段,避免因为数据相同,不应该合并的行进行了合并显示
|
|
68
|
+
*/
|
|
69
|
+
rowGroupBy?: (keyof T)[];
|
|
70
|
+
};
|
|
71
|
+
export type FTableSpanMethod<T> = (data: {
|
|
72
|
+
record: T;
|
|
73
|
+
column: FTableCol;
|
|
74
|
+
rowIndex: number;
|
|
75
|
+
columnIndex: number;
|
|
76
|
+
}) => {
|
|
77
|
+
rowspan?: number;
|
|
78
|
+
colspan?: number;
|
|
79
|
+
} | void;
|
|
80
|
+
export type FTableToolBarBtn = {
|
|
81
|
+
label: string;
|
|
82
|
+
icon?: string;
|
|
83
|
+
size?: ButtonProps['size'];
|
|
84
|
+
type?: FButtonProps['type'];
|
|
85
|
+
status?: ButtonProps['status'];
|
|
86
|
+
tooltip?: string;
|
|
87
|
+
click?: () => void;
|
|
88
|
+
};
|
|
89
|
+
export type FTableToolBarQuick = {
|
|
90
|
+
colsSetting?: boolean;
|
|
91
|
+
export?: boolean | {
|
|
92
|
+
fileName: string;
|
|
93
|
+
};
|
|
94
|
+
print?: boolean;
|
|
95
|
+
};
|
|
96
|
+
export type FTableToolBar = {
|
|
97
|
+
/**
|
|
98
|
+
* 表格标题
|
|
99
|
+
*/
|
|
100
|
+
title?: string;
|
|
101
|
+
/**
|
|
102
|
+
* 按钮组的简单配置
|
|
103
|
+
*/
|
|
104
|
+
btns?: FTableToolBarBtn[];
|
|
105
|
+
/**
|
|
106
|
+
* 右侧快捷工具栏
|
|
107
|
+
*/
|
|
108
|
+
quickTools?: boolean | FTableToolBarQuick;
|
|
109
|
+
};
|
|
110
|
+
export type FTableRemember = {
|
|
111
|
+
/**
|
|
112
|
+
* 选中数据时,使用哪个字段作为唯一标识符
|
|
113
|
+
*/
|
|
114
|
+
valueKey: string;
|
|
115
|
+
/**
|
|
116
|
+
* 选中数据时,使用哪个字段作为显示值出现
|
|
117
|
+
*/
|
|
118
|
+
labelKey: string;
|
|
119
|
+
};
|
|
120
|
+
export type FTableRowSelection = TableRowSelection & {
|
|
121
|
+
/**
|
|
122
|
+
* 双击选中当前行
|
|
123
|
+
*/
|
|
124
|
+
dblClickSelect?: boolean;
|
|
125
|
+
/**
|
|
126
|
+
* 选中项的 tag 的宽度(只有在开启跨页记忆选择时生效)
|
|
127
|
+
*/
|
|
128
|
+
tagWidth?: string;
|
|
129
|
+
/**
|
|
130
|
+
* 选中时,用哪个字段作为显示的label(只有在开启跨页记忆选择时生效)
|
|
131
|
+
* 此项如若不传,则使用 rowKey 字段作为显示的label
|
|
132
|
+
*/
|
|
133
|
+
tagLabelKey?: string;
|
|
134
|
+
/**
|
|
135
|
+
* 自定义渲染选中项的 tag
|
|
136
|
+
*/
|
|
137
|
+
renderTagLabel?: (item: {
|
|
138
|
+
[k: string | number]: any;
|
|
139
|
+
}) => VNodeChild;
|
|
140
|
+
};
|
|
141
|
+
export type FTablePage = {
|
|
142
|
+
/**
|
|
143
|
+
* 当前页数(非受控数据)
|
|
144
|
+
*/
|
|
145
|
+
defaultIndex: number;
|
|
146
|
+
/**
|
|
147
|
+
* 每页显示条数(非受控数据)
|
|
148
|
+
*/
|
|
149
|
+
defaultSize: number;
|
|
150
|
+
/**
|
|
151
|
+
* 条数选择列表
|
|
152
|
+
*/
|
|
153
|
+
sizes?: number[];
|
|
154
|
+
};
|
|
155
|
+
export type FTableScroll = {
|
|
156
|
+
x?: string;
|
|
157
|
+
y?: string;
|
|
158
|
+
minWidth?: string;
|
|
159
|
+
maxHeight?: string;
|
|
160
|
+
};
|
|
161
|
+
export declare const fTableProps: {
|
|
162
|
+
/**
|
|
163
|
+
* 表格尺寸
|
|
164
|
+
*/
|
|
165
|
+
size: {
|
|
166
|
+
type: PropType<TableInstance["$props"]["size"]>;
|
|
167
|
+
default: string;
|
|
168
|
+
};
|
|
169
|
+
/**
|
|
170
|
+
* 唯一标识符
|
|
171
|
+
* 在记录table列排序、显示数据时,此值用于判断是否属于该table的数据
|
|
172
|
+
*/
|
|
173
|
+
id: {
|
|
174
|
+
type: StringConstructor;
|
|
175
|
+
default: () => string;
|
|
176
|
+
};
|
|
177
|
+
/**
|
|
178
|
+
* 数据列表
|
|
179
|
+
* 支持Promise函数,可返回一个远程获取的数据
|
|
180
|
+
*/
|
|
181
|
+
data: {
|
|
182
|
+
type: PropType<FTableData[] | FTableMethodData>;
|
|
183
|
+
default: () => never[];
|
|
184
|
+
required: boolean;
|
|
185
|
+
};
|
|
186
|
+
/**
|
|
187
|
+
* 非立即获取数据,由手动调用方法进行数据获取
|
|
188
|
+
*/
|
|
189
|
+
noImmediatelyMethodData: {
|
|
190
|
+
type: BooleanConstructor;
|
|
191
|
+
default: boolean;
|
|
192
|
+
};
|
|
193
|
+
/**
|
|
194
|
+
* 在非立即获取数据时,数据为空时,提示文本
|
|
195
|
+
*/
|
|
196
|
+
noImmediatelyMethodDataEmptyText: {
|
|
197
|
+
type: StringConstructor;
|
|
198
|
+
default: string;
|
|
199
|
+
};
|
|
200
|
+
/**
|
|
201
|
+
* 数据为空时,提示文本
|
|
202
|
+
*/
|
|
203
|
+
emptyText: {
|
|
204
|
+
type: StringConstructor;
|
|
205
|
+
default: string;
|
|
206
|
+
};
|
|
207
|
+
/**
|
|
208
|
+
* 列描述数据
|
|
209
|
+
*/
|
|
210
|
+
cols: {
|
|
211
|
+
type: PropType<FTableCol[]>;
|
|
212
|
+
default: () => never[];
|
|
213
|
+
};
|
|
214
|
+
/**
|
|
215
|
+
* 行数据合并配置
|
|
216
|
+
*/
|
|
217
|
+
merge: {
|
|
218
|
+
type: PropType<FTableMerge>;
|
|
219
|
+
default: () => {
|
|
220
|
+
row: never[];
|
|
221
|
+
rowGroupBy: never[];
|
|
222
|
+
};
|
|
223
|
+
};
|
|
224
|
+
/**
|
|
225
|
+
* 顶部工具栏的配置
|
|
226
|
+
*/
|
|
227
|
+
toolbar: {
|
|
228
|
+
type: PropType<FTableToolBar | false>;
|
|
229
|
+
default: () => {
|
|
230
|
+
quickTools: boolean;
|
|
231
|
+
};
|
|
232
|
+
};
|
|
233
|
+
/**
|
|
234
|
+
* 分页配置
|
|
235
|
+
* 目前仅支持非受控模式,为了冗余以后会实现的受控模式,所以目前在size及index变量名都加上了default
|
|
236
|
+
*/
|
|
237
|
+
page: {
|
|
238
|
+
type: PropType<boolean | FTablePage>;
|
|
239
|
+
default: boolean;
|
|
240
|
+
};
|
|
241
|
+
/**
|
|
242
|
+
* 分页组件的props
|
|
243
|
+
* 剔除total、页数相关等参数
|
|
244
|
+
*/
|
|
245
|
+
pageProps: {
|
|
246
|
+
type: PropType<Omit<PaginationProps, "total" | "current" | "defaultCurrent" | "pageSize" | "defaultPageSize">>;
|
|
247
|
+
default: null;
|
|
248
|
+
};
|
|
249
|
+
/**
|
|
250
|
+
* 表格行 key 的取值字段
|
|
251
|
+
*/
|
|
252
|
+
rowKey: {
|
|
253
|
+
type: StringConstructor;
|
|
254
|
+
default: string;
|
|
255
|
+
};
|
|
256
|
+
/**
|
|
257
|
+
* 行className
|
|
258
|
+
*/
|
|
259
|
+
rowClass: {
|
|
260
|
+
type: PropType<string | any[] | Record<string, any> | ((record: FTableData, rowIndex: number) => any)>;
|
|
261
|
+
default: string;
|
|
262
|
+
};
|
|
263
|
+
/**
|
|
264
|
+
* 选择类型
|
|
265
|
+
*/
|
|
266
|
+
selection: {
|
|
267
|
+
type: PropType<"checkbox" | "radio" | boolean>;
|
|
268
|
+
default: boolean;
|
|
269
|
+
};
|
|
270
|
+
/**
|
|
271
|
+
* 选择器的配置项
|
|
272
|
+
* 同 TableRowSelection (如果传入type字段,则忽略selection配置)
|
|
273
|
+
*/
|
|
274
|
+
selectionConfig: {
|
|
275
|
+
type: PropType<FTableRowSelection>;
|
|
276
|
+
default: null;
|
|
277
|
+
};
|
|
278
|
+
/**
|
|
279
|
+
* 默认已选择的行(非受控模式)
|
|
280
|
+
* 提供 selectedKeys 参数(受控模式)
|
|
281
|
+
* 优先级高于selectionConfig配置
|
|
282
|
+
*/
|
|
283
|
+
defaultSelectedRowKeys: {
|
|
284
|
+
type: PropType<TableInstance["$props"]["defaultSelectedKeys"]>;
|
|
285
|
+
default: null;
|
|
286
|
+
};
|
|
287
|
+
/**
|
|
288
|
+
* 默认已选择的行数据(非受控模式)
|
|
289
|
+
* 在采用跨页记忆选择时,右侧需要根据选择的数据来进行渲染,如果只有一个keys,组件刚渲染时,并没有其他页的数据,会导致渲染异常
|
|
290
|
+
* 传入此参数后,无论是 defaultSelectedRowKeys 还是 selectionConfig.defaultSelectedRowKeys 均会无效。将会以此参数来作为默认值传入
|
|
291
|
+
*/
|
|
292
|
+
defaultSelectedRows: {
|
|
293
|
+
type: PropType<Record<string | number, any>[]>;
|
|
294
|
+
default: null;
|
|
295
|
+
};
|
|
296
|
+
/**
|
|
297
|
+
* 标头吸顶
|
|
298
|
+
*/
|
|
299
|
+
stickyHeader: {
|
|
300
|
+
type: (BooleanConstructor | NumberConstructor)[];
|
|
301
|
+
default: boolean;
|
|
302
|
+
};
|
|
303
|
+
/**
|
|
304
|
+
* 滚动条设置
|
|
305
|
+
*/
|
|
306
|
+
scroll: {
|
|
307
|
+
type: PropType<FTableScroll>;
|
|
308
|
+
default: () => {
|
|
309
|
+
x: string;
|
|
310
|
+
};
|
|
311
|
+
};
|
|
312
|
+
/**
|
|
313
|
+
* 显示外边框
|
|
314
|
+
*/
|
|
315
|
+
bordered: {
|
|
316
|
+
type: BooleanConstructor;
|
|
317
|
+
default: boolean;
|
|
318
|
+
};
|
|
319
|
+
/**
|
|
320
|
+
* 包裹层的class
|
|
321
|
+
*/
|
|
322
|
+
wrapClass: {
|
|
323
|
+
type: PropType<string | object | []>;
|
|
324
|
+
default: string;
|
|
325
|
+
};
|
|
326
|
+
/**
|
|
327
|
+
* 包裹层的style
|
|
328
|
+
*/
|
|
329
|
+
wrapStyle: {
|
|
330
|
+
type: PropType<StyleValue>;
|
|
331
|
+
default: string;
|
|
332
|
+
};
|
|
333
|
+
};
|
|
334
|
+
export type FTableProps = Omit<TableInstance['$props'], 'columns' | 'loading' | 'pagination' | 'tableRowSelection'> & ExtractPublicPropTypes<typeof fTableProps>;
|
|
335
|
+
export {};
|