@kayak-sj/design 1.0.64 → 1.0.66
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/assets/{index-Biv6Btn_.css → index-o6CgEMYr.css} +1 -1
- package/dist/components/k-form/composables/useKFormFields.d.ts +1 -1
- package/dist/components/k-form/types.d.ts +7 -3
- package/dist/components/k-table/KTable.d.ts +1 -0
- package/dist/components/k-table/composables/useKTable.d.ts +3 -0
- package/dist/components/k-table/index.d.ts +1 -1
- package/dist/components/k-table/report/exportKTableReport.d.ts +19 -34
- package/dist/components/k-table/report/index.d.ts +1 -1
- package/dist/components/k-table/report/pickExportColumns.d.ts +8 -2
- package/dist/components/k-table/report/useExportKTableReport.d.ts +25 -19
- package/dist/index.js +439 -376
- package/package.json +2 -2
- package/src/styles/components/_k-form.scss +34 -1
- package/src/styles/tokens/_css-vars.scss +2 -2
- package/src/styles/tokens/_semantic.scss +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
.k-icon[data-v-6fd081ab]{vertical-align:middle;flex-shrink:0;display:inline-block}.k-long-page-panel[data-v-9d6e7832]{background:var(--k-color-bg-surface,#fff);width:100%}.k-long-page-panel__title[data-v-9d6e7832]{height:50px;color:var(--k-color-text-regular,#333);padding-left:20px;font-size:16px;font-weight:700;line-height:70px;position:relative}.k-long-page-panel__title[data-v-9d6e7832]:after{content:"";background:var(--k-color-primary);border-radius:2px;width:30px;height:3px;position:absolute;bottom:0;left:23px}.k-long-page-panel__content[data-v-9d6e7832]{padding:10px 20px}.k-long-page[data-v-ac934c5d]{z-index:1000}.k-long-page__panel[data-v-ac934c5d]{margin-top:10px}.k-long-page__nav[data-v-ac934c5d]{z-index:12;background:var(--k-color-bg-surface,#fff);width:80px;min-height:30px;box-shadow:var(--k-shadow-md,0 0 14px 0 #cbcbcb8f);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:10px 0 0 10px;position:fixed;top:33%;right:0}.k-long-page__nav[data-v-ac934c5d]:active{cursor:grabbing}.k-long-page__nav-item[data-v-ac934c5d]{text-align:center;cursor:pointer;width:100%;color:var(--k-color-text-regular,#606266);flex-direction:column;align-items:center;padding:10px 0;display:flex}.k-long-page__nav-item>span[data-v-ac934c5d]{font-size:12px;line-height:2}.k-long-page__nav-item-icon--active[data-v-ac934c5d]{display:none}.k-long-page__nav-item[data-v-ac934c5d]:hover{color:var(--k-color-primary-hover,var(--k-color-primary))}.k-long-page__nav-item:hover .k-long-page__nav-item-icon--default[data-v-ac934c5d]{display:none}.k-long-page__nav-item:hover .k-long-page__nav-item-icon--active[data-v-ac934c5d]{display:initial}.k-table-column__radio[data-v-578909bc] .el-radio__label{display:none}.k-table-column__tip[data-v-578909bc]{cursor:help;vertical-align:middle;border:1px solid;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;margin-left:4px;font-size:10px;line-height:1;display:inline-flex}.k-table-column-selector__trigger[data-v-e0b3cf31]{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:inline-flex}.k-table-column-selector__icon[data-v-e0b3cf31]{width:18px;height:18px;color:var(--el-text-color-regular);background:linear-gradient(currentColor,currentColor) 0 2px/100% 2px no-repeat,linear-gradient(currentColor,currentColor) 0 8px/100% 2px no-repeat,linear-gradient(currentColor,currentColor) 0 14px/70% 2px no-repeat;display:inline-block}.k-table-column-selector__header[data-v-e0b3cf31]{justify-content:space-between;align-items:center;height:40px;padding:0 10px;font-size:16px;font-weight:500;display:flex}.k-table-column-selector__divider[data-v-e0b3cf31]{margin:4px 0 12px}.k-table-column-selector__content[data-v-e0b3cf31]{flex-direction:column;gap:10px;max-height:300px;padding:0 10px 10px;display:flex;overflow-y:auto}.k-table-toolbar__main[data-v-bff19ed1]{align-items:center;min-height:30px;margin-bottom:4px;display:flex;position:relative}.k-table-toolbar__header[data-v-bff19ed1]{flex:1}.k-table-toolbar__extra[data-v-bff19ed1]{margin-left:auto}.k-table-toolbar__divider[data-v-bff19ed1]{background:var(--el-border-color-lighter);height:1px;margin:15px 0}.k-table-toolbar__selection[data-v-bff19ed1]{white-space:nowrap;margin-top:5px;font-size:12px}.k-table__sort-handle[data-v-
|
|
1
|
+
.k-icon[data-v-6fd081ab]{vertical-align:middle;flex-shrink:0;display:inline-block}.k-long-page-panel[data-v-9d6e7832]{background:var(--k-color-bg-surface,#fff);width:100%}.k-long-page-panel__title[data-v-9d6e7832]{height:50px;color:var(--k-color-text-regular,#333);padding-left:20px;font-size:16px;font-weight:700;line-height:70px;position:relative}.k-long-page-panel__title[data-v-9d6e7832]:after{content:"";background:var(--k-color-primary);border-radius:2px;width:30px;height:3px;position:absolute;bottom:0;left:23px}.k-long-page-panel__content[data-v-9d6e7832]{padding:10px 20px}.k-long-page[data-v-ac934c5d]{z-index:1000}.k-long-page__panel[data-v-ac934c5d]{margin-top:10px}.k-long-page__nav[data-v-ac934c5d]{z-index:12;background:var(--k-color-bg-surface,#fff);width:80px;min-height:30px;box-shadow:var(--k-shadow-md,0 0 14px 0 #cbcbcb8f);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:10px 0 0 10px;position:fixed;top:33%;right:0}.k-long-page__nav[data-v-ac934c5d]:active{cursor:grabbing}.k-long-page__nav-item[data-v-ac934c5d]{text-align:center;cursor:pointer;width:100%;color:var(--k-color-text-regular,#606266);flex-direction:column;align-items:center;padding:10px 0;display:flex}.k-long-page__nav-item>span[data-v-ac934c5d]{font-size:12px;line-height:2}.k-long-page__nav-item-icon--active[data-v-ac934c5d]{display:none}.k-long-page__nav-item[data-v-ac934c5d]:hover{color:var(--k-color-primary-hover,var(--k-color-primary))}.k-long-page__nav-item:hover .k-long-page__nav-item-icon--default[data-v-ac934c5d]{display:none}.k-long-page__nav-item:hover .k-long-page__nav-item-icon--active[data-v-ac934c5d]{display:initial}.k-table-column__radio[data-v-578909bc] .el-radio__label{display:none}.k-table-column__tip[data-v-578909bc]{cursor:help;vertical-align:middle;border:1px solid;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;margin-left:4px;font-size:10px;line-height:1;display:inline-flex}.k-table-column-selector__trigger[data-v-e0b3cf31]{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:inline-flex}.k-table-column-selector__icon[data-v-e0b3cf31]{width:18px;height:18px;color:var(--el-text-color-regular);background:linear-gradient(currentColor,currentColor) 0 2px/100% 2px no-repeat,linear-gradient(currentColor,currentColor) 0 8px/100% 2px no-repeat,linear-gradient(currentColor,currentColor) 0 14px/70% 2px no-repeat;display:inline-block}.k-table-column-selector__header[data-v-e0b3cf31]{justify-content:space-between;align-items:center;height:40px;padding:0 10px;font-size:16px;font-weight:500;display:flex}.k-table-column-selector__divider[data-v-e0b3cf31]{margin:4px 0 12px}.k-table-column-selector__content[data-v-e0b3cf31]{flex-direction:column;gap:10px;max-height:300px;padding:0 10px 10px;display:flex;overflow-y:auto}.k-table-toolbar__main[data-v-bff19ed1]{align-items:center;min-height:30px;margin-bottom:4px;display:flex;position:relative}.k-table-toolbar__header[data-v-bff19ed1]{flex:1}.k-table-toolbar__extra[data-v-bff19ed1]{margin-left:auto}.k-table-toolbar__divider[data-v-bff19ed1]{background:var(--el-border-color-lighter);height:1px;margin:15px 0}.k-table-toolbar__selection[data-v-bff19ed1]{white-space:nowrap;margin-top:5px;font-size:12px}.k-table__sort-handle[data-v-8ef38691]{cursor:grab;color:var(--el-text-color-secondary);letter-spacing:-2px;-webkit-user-select:none;user-select:none;display:inline-block}
|
|
@@ -39,10 +39,14 @@ export interface KFormConfigItem {
|
|
|
39
39
|
rules?: FormItemRule[];
|
|
40
40
|
/** false 时不渲染该项 */
|
|
41
41
|
display?: boolean;
|
|
42
|
-
/**
|
|
42
|
+
/** 布局:另起一行(标准控件占第 1 列;宽内容/自定义整行) */
|
|
43
43
|
newLineStart?: boolean;
|
|
44
|
-
/**
|
|
45
|
-
|
|
44
|
+
/**
|
|
45
|
+
* 覆盖栅格统一控件宽度(仅本字段)。
|
|
46
|
+
* - `'full'`:整行铺满,取消 max-width
|
|
47
|
+
* - number / string:如 `480` / `'480px'`,作为控件 max-width(建议配合 newLineStart)
|
|
48
|
+
*/
|
|
49
|
+
controlWidth?: 'full' | number | string;
|
|
46
50
|
/** 表头 label 旁提示(支持 HTML) */
|
|
47
51
|
toolTip?: string;
|
|
48
52
|
/** 只读态,渲染为纯文本展示(跳过校验) */
|
|
@@ -22,6 +22,7 @@ declare const __VLS_export: <T = Record<string, unknown>>(__VLS_props: NonNullab
|
|
|
22
22
|
expose: (exposed: import('vue').ShallowUnwrapRef<{
|
|
23
23
|
getTableRef: () => TableInstance | undefined;
|
|
24
24
|
getQueryRef: () => KPanelQueryInstance | undefined;
|
|
25
|
+
getColumnDisplay: () => Record<string, boolean>;
|
|
25
26
|
getSelection: () => T[];
|
|
26
27
|
clearSelection: () => void;
|
|
27
28
|
toggleRowSelection: (row: T, selected?: boolean) => void;
|
|
@@ -19,6 +19,8 @@ export interface KTableInstance<T = Record<string, unknown>> {
|
|
|
19
19
|
getTableRef: () => TableInstance | undefined;
|
|
20
20
|
/** 获取内嵌 KPanelQuery 实例 */
|
|
21
21
|
getQueryRef: () => KPanelQueryInstance | undefined;
|
|
22
|
+
/** 获取有效列显隐快照(包含缓存;禁用列设置时全部可见) */
|
|
23
|
+
getColumnDisplay: () => Record<string, boolean>;
|
|
22
24
|
/** 获取当前多选行 */
|
|
23
25
|
getSelection: () => T[];
|
|
24
26
|
/** 清空多选 */
|
|
@@ -150,6 +152,7 @@ export declare function useKTable<T>(options: UseKTableOptions<T>): {
|
|
|
150
152
|
resetColumnDisplay: () => void;
|
|
151
153
|
getTableRef: () => TableInstance | undefined;
|
|
152
154
|
getQueryRef: () => KPanelQueryInstance | undefined;
|
|
155
|
+
getColumnDisplay: () => Record<string, boolean>;
|
|
153
156
|
getSelection: () => T[];
|
|
154
157
|
clearSelection: () => void;
|
|
155
158
|
toggleRowSelection: (row: T, selected?: boolean) => void;
|
|
@@ -31,4 +31,4 @@ export { useKTableCrossPageSelection, type KTableSelectionMode, type UseKTableCr
|
|
|
31
31
|
export { useTableRadio } from './composables/useTableRadio';
|
|
32
32
|
export { useTableTreeLoad, type TreeLoadHandler } from './composables/useTableTreeLoad';
|
|
33
33
|
export { useTableRowSort } from './composables/useTableRowSort';
|
|
34
|
-
export { convertDownloadCol, exportKTableReport, exportKTableReportData, exportReportData, exportReportTable, pickExportColumns, useExportKTableReport, type ExportKTableReportOptions, type KTableExportApi, type KTableExportPayload, type PickExportColumnsOptions, type UseExportKTableReportOptions } from './report';
|
|
34
|
+
export { convertDownloadCol, exportKTableReport, exportKTableReportData, exportReportData, exportReportTable, pickExportColumns, useExportKTableReport, type ExportColumnDisplayOptions, type ExportKTableReportOptions, type KTableExportApi, type KTableExportPayload, type PickExportColumnsOptions, type UseExportKTableReportOptions } from './report';
|
|
@@ -1,49 +1,34 @@
|
|
|
1
1
|
import { Ref } from 'vue';
|
|
2
2
|
import { KTableInstance } from '../composables/useKTable';
|
|
3
3
|
import { KTableColumn } from '../types';
|
|
4
|
-
import { KTableExportApi } from './types';
|
|
5
4
|
import { PickExportColumnsOptions } from './pickExportColumns';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
5
|
+
import { KTableExportApi } from './types';
|
|
6
|
+
/** 导出列显隐配置;不提供映射时可通过表格实例读取。 */
|
|
7
|
+
export interface ExportColumnDisplayOptions<T> {
|
|
8
|
+
/** 显式列显隐映射;缺省的 key 视为可见,required 列始终保留 */
|
|
9
|
+
columnDisplay?: Record<string, boolean>;
|
|
10
|
+
/** 默认 true:自动读取表格列设置(含缓存);false 时忽略显隐映射 */
|
|
11
|
+
respectColumnDisplay?: boolean;
|
|
12
|
+
/** 列 key 计算;index 始终为传入 columns 的原始下标 */
|
|
13
|
+
getExportColumnKey?: (column: KTableColumn<T>, index: number) => string;
|
|
14
|
+
}
|
|
15
|
+
export interface ExportKTableReportOptions<T> extends PickExportColumnsOptions, ExportColumnDisplayOptions<T> {
|
|
16
|
+
tableRef: Ref<KTableInstance<T> | null | undefined>;
|
|
17
|
+
/** 完整列配置;内部统一过滤 UI 列与操作列 */
|
|
15
18
|
columns: KTableColumn<T>[];
|
|
16
|
-
/** 导出接口;入参为 `{ globColumnlist, jsondata }` */
|
|
17
19
|
exportApi: KTableExportApi;
|
|
18
|
-
/** 与列表
|
|
20
|
+
/** 与列表 :convert-params 保持一致 */
|
|
19
21
|
convertParams?: (params: Record<string, unknown>) => Record<string, unknown>;
|
|
20
22
|
}
|
|
21
|
-
/**
|
|
22
|
-
* 导出当前 KTable 查询条件下的报表。
|
|
23
|
-
*
|
|
24
|
-
* 从 `tableRef` 读取查询参数,经 `convertParams` 后与列配置一并交给 `exportApi`。
|
|
25
|
-
* 需要防重 / 响应式列时请用 {@link useExportKTableReport}。
|
|
26
|
-
*
|
|
27
|
-
* @typeParam T - 表格行数据类型
|
|
28
|
-
* @param options - 见 {@link ExportKTableReportOptions}
|
|
29
|
-
* @returns `exportApi` 的 Promise 结果
|
|
30
|
-
*/
|
|
23
|
+
/** 导出当前查询条件的报表;列显隐可由 tableRef 自动读取,避免页面维护重复状态。 */
|
|
31
24
|
export declare function exportKTableReport<T>(options: ExportKTableReportOptions<T>): Promise<unknown>;
|
|
32
|
-
/**
|
|
33
|
-
* 弹窗等场景:直接传入已转换的 `jsondata` 导出报表(不读表格查询区)。
|
|
34
|
-
*
|
|
35
|
-
* @typeParam T - 表格行数据类型
|
|
36
|
-
* @param options.columns - 参与导出的列配置
|
|
37
|
-
* @param options.jsondata - 已转换的导出查询参数
|
|
38
|
-
* @param options.exportApi - 导出接口
|
|
39
|
-
* @returns `exportApi` 的 Promise 结果
|
|
40
|
-
*/
|
|
25
|
+
/** 弹窗等场景:直接传入已转换的查询参数,不读取表格查询区。 */
|
|
41
26
|
export declare function exportKTableReportData<T>(options: {
|
|
42
27
|
columns: KTableColumn<T>[];
|
|
43
28
|
jsondata: Record<string, unknown>;
|
|
44
29
|
exportApi: KTableExportApi;
|
|
45
|
-
} & PickExportColumnsOptions): Promise<unknown>;
|
|
46
|
-
/** @deprecated 使用
|
|
30
|
+
} & PickExportColumnsOptions & ExportColumnDisplayOptions<T>): Promise<unknown>;
|
|
31
|
+
/** @deprecated 使用 exportKTableReport */
|
|
47
32
|
export declare const exportReportTable: typeof exportKTableReport;
|
|
48
|
-
/** @deprecated 使用
|
|
33
|
+
/** @deprecated 使用 exportKTableReportData */
|
|
49
34
|
export declare const exportReportData: typeof exportKTableReportData;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export type { KTableExportApi, KTableExportPayload } from './types';
|
|
2
2
|
export { convertDownloadCol } from './convertDownloadCol';
|
|
3
3
|
export { pickExportColumns, type PickExportColumnsOptions } from './pickExportColumns';
|
|
4
|
-
export { exportKTableReport, exportKTableReportData, exportReportData, exportReportTable, type ExportKTableReportOptions } from './exportKTableReport';
|
|
4
|
+
export { exportKTableReport, exportKTableReportData, exportReportData, exportReportTable, type ExportColumnDisplayOptions, type ExportKTableReportOptions } from './exportKTableReport';
|
|
5
5
|
export { useExportKTableReport, type UseExportKTableReportOptions } from './useExportKTableReport';
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
import { KTableColumn } from '../types';
|
|
2
2
|
export interface PickExportColumnsOptions {
|
|
3
|
-
/**
|
|
3
|
+
/**
|
|
4
|
+
* 是否排除操作列(`type/prop === 'operates'`)。
|
|
5
|
+
* 推荐统一使用此项去除操作列,而不是 `excludeLast`。
|
|
6
|
+
*/
|
|
4
7
|
excludeOperates?: boolean;
|
|
5
|
-
/**
|
|
8
|
+
/**
|
|
9
|
+
* 是否排除最后一列(兼容旧用法,常用于去掉末尾操作列)。
|
|
10
|
+
* @deprecated 使用 `excludeOperates` 替代
|
|
11
|
+
*/
|
|
6
12
|
excludeLast?: boolean;
|
|
7
13
|
}
|
|
8
14
|
/** 按规则筛选参与导出的列(序号/勾选/单选/展开等 UI 列不参与导出) */
|
|
@@ -10,7 +10,7 @@ import { PickExportColumnsOptions } from './pickExportColumns';
|
|
|
10
10
|
*/
|
|
11
11
|
export interface UseExportKTableReportOptions<T> {
|
|
12
12
|
/** KTable 实例 ref(需能调用 `getQueryRef()?.getParams()`) */
|
|
13
|
-
tableRef: Ref<KTableInstance<T> | undefined>;
|
|
13
|
+
tableRef: Ref<KTableInstance<T> | null | undefined>;
|
|
14
14
|
/**
|
|
15
15
|
* 参与导出的列配置;支持 plain / ref / getter。
|
|
16
16
|
* 实际导出前会再经 `pickExportColumns` 过滤 UI 列。
|
|
@@ -26,19 +26,34 @@ export interface UseExportKTableReportOptions<T> {
|
|
|
26
26
|
* 勿用 `MaybeRefOrGetter`,避免与 getter 混淆。
|
|
27
27
|
*/
|
|
28
28
|
convertParams?: (params: Record<string, unknown>) => Record<string, unknown>;
|
|
29
|
-
/** 是否排除操作列(`type/prop === 'operates'`);支持 plain / ref / getter */
|
|
29
|
+
/** 是否排除操作列(`type/prop === 'operates'`);支持 plain / ref / getter。推荐用此项去除操作列 */
|
|
30
30
|
excludeOperates?: MaybeRefOrGetter<boolean | undefined>;
|
|
31
|
-
/**
|
|
31
|
+
/**
|
|
32
|
+
* 是否排除最后一列(常用于去掉末尾操作列);支持 plain / ref / getter。
|
|
33
|
+
* @deprecated 使用 `excludeOperates` 替代
|
|
34
|
+
*/
|
|
32
35
|
excludeLast?: MaybeRefOrGetter<boolean | undefined>;
|
|
36
|
+
/**
|
|
37
|
+
* KTable 当前列显隐映射;支持 plain / ref / getter。
|
|
38
|
+
* 传入后按列设置面板的当前显隐状态过滤导出列。
|
|
39
|
+
*/
|
|
40
|
+
columnDisplay?: MaybeRefOrGetter<Record<string, boolean> | undefined>;
|
|
41
|
+
/** 默认 true:自动读取表格列显隐(含缓存);false 时关闭联动;显式传入映射始终生效 */
|
|
42
|
+
respectColumnDisplay?: MaybeRefOrGetter<boolean | undefined>;
|
|
43
|
+
/** 自定义列 key;index 为原始 columns 下标 */
|
|
44
|
+
getExportColumnKey?: (column: KTableColumn<T>, index: number) => string;
|
|
45
|
+
/** 自定义错误文案;返回 void 时使用默认提示 */
|
|
46
|
+
onExportError?: (error: unknown) => string | void;
|
|
33
47
|
}
|
|
34
48
|
/**
|
|
35
|
-
* KTable 报表导出 composable(adaptable:`columns` / `exclude*` 支持 ref 或 getter)。
|
|
49
|
+
* KTable 报表导出 composable(adaptable:`columns` / `exclude*` / `columnDisplay` 支持 ref 或 getter)。
|
|
36
50
|
*
|
|
37
51
|
* 调用 `exportTable()` 时会:
|
|
38
52
|
* 1. 若已在导出中则直接 return(由 `exportLoading` 防重)
|
|
39
53
|
* 2. `toValue` 解析 reactive 入参
|
|
40
54
|
* 3. 委托 {@link exportKTableReport} 拉取查询条件并请求 `exportApi`
|
|
41
|
-
* 4. `
|
|
55
|
+
* 4. 失败时优先展示后端 `head_ret_msg`(或通过 `onExportError` 自定义)
|
|
56
|
+
* 5. `finally` 中复位 loading
|
|
42
57
|
*
|
|
43
58
|
* @typeParam T - 表格行数据类型
|
|
44
59
|
* @param options - 导出配置,见 {@link UseExportKTableReportOptions}
|
|
@@ -55,27 +70,18 @@ export interface UseExportKTableReportOptions<T> {
|
|
|
55
70
|
* columns: userColumns,
|
|
56
71
|
* exportApi: EXPORT_USER_LIST,
|
|
57
72
|
* convertParams: convertUserParams, // 与 <KTable :convert-params="..." /> 一致
|
|
58
|
-
*
|
|
73
|
+
* excludeOperates: true, // 去掉操作列
|
|
74
|
+
* respectColumnDisplay: true // 自动联动列设置面板显隐及缓存
|
|
59
75
|
* })
|
|
60
76
|
*
|
|
61
77
|
* // 模板:
|
|
62
|
-
* // <KButton :loading="exportLoading" @click="exportTable">导出</KButton>
|
|
63
78
|
* // <KTable ref="tableRef" :columns="userColumns" :convert-params="convertUserParams" ... />
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
* @example
|
|
67
|
-
* ```ts
|
|
68
|
-
* // columns / exclude* 也可传入 getter,随权限或视图切换实时生效
|
|
69
|
-
* const { exportTable } = useExportKTableReport({
|
|
70
|
-
* tableRef,
|
|
71
|
-
* columns: () => (isAdmin.value ? adminColumns : userColumns),
|
|
72
|
-
* exportApi: EXPORT_USER_LIST,
|
|
73
|
-
* excludeOperates: () => !showOperates.value
|
|
74
|
-
* })
|
|
79
|
+
* // <KButton :loading="exportLoading" @click="exportTable">导出</KButton>
|
|
75
80
|
* ```
|
|
76
81
|
*/
|
|
77
82
|
export declare function useExportKTableReport<T>(options: UseExportKTableReportOptions<T>): {
|
|
78
|
-
exportTable: () => Promise<void>;
|
|
83
|
+
exportTable: (asynchronous?: boolean) => Promise<void>;
|
|
84
|
+
asyncExportTable: () => Promise<void>;
|
|
79
85
|
exportLoading: Ref<boolean, boolean>;
|
|
80
86
|
};
|
|
81
87
|
export type { PickExportColumnsOptions };
|