wms-antdvue/.svn/pristine/68/68d26f5450c5a2b197f6fe831e9257f760bdebd2.svn-base
2024-11-07 16:33:03 +08:00

107 lines
2.7 KiB
Plaintext

import type { ColumnProps } from 'ant-design-vue/lib/table/Column';
import { ComponentType } from './componentType';
import type { TableRowSelection as ITableRowSelection } from 'ant-design-vue/lib/table/interface';
export declare type SortOrder = 'ascend' | 'descend';
export type SizeType = 'default' | 'middle' | 'small' | 'large';
// @ts-ignore
export interface BasicColumn extends ColumnProps {
//编辑表格
edit?: boolean;
editRow?: boolean;
editable?: boolean;
editComponent?: ComponentType;
editComponentProps?: Recordable;
editRule?: boolean | ((text: string, record: Recordable) => Promise<string>);
editValueMap?: (value: any) => string;
editCellRender?: Recordable;
onEditRow?: () => void;
// 权限编码控制是否显示
auth?: string[];
// 业务控制是否显示
ifShow?: boolean | ((column: BasicColumn) => boolean);
}
export interface TableActionType {
reload: (opt) => Promise<void>;
emit?: any;
getColumns: (opt?) => BasicColumn[];
setColumns: (columns: BasicColumn[] | string[]) => void;
redoHeight: () => void;
}
export interface BasicTableProps {
title?: string;
dataSource: Function;
columns: any[];
pagination: object;
showPagination: boolean;
actionColumn?: BasicColumn;
canResize: boolean;
resizeHeightOffset: number;
loading?: boolean;
sortFn?: (sortInfo: SorterResult) => any;
filterFn?: (data: Partial<Recordable<string[]>>) => any;
scroll?: Object;
maxHeight?: number;
showTableSetting?: boolean;
tableSetting?: TableSetting;
rowClassName?: Function;
}
export interface SorterResult {
column: ColumnType;
order: SortOrder;
field: string;
columnKey: string;
}
export interface TableRowSelection<T = any> extends ITableRowSelection {
/**
* Callback executed when selected rows change
* @type Function
*/
onChange?: (selectedRowKeys: string[] | number[], selectedRows: T[]) => any;
/**
* Callback executed when select/deselect one row
* @type Function
*/
onSelect?: (record: T, selected: boolean, selectedRows: Object[], nativeEvent: Event) => any;
/**
* Callback executed when select/deselect all rows
* @type Function
*/
onSelectAll?: (selected: boolean, selectedRows: T[], changeRows: T[]) => any;
/**
* Callback executed when row selection is inverted
* @type Function
*/
onSelectInvert?: (selectedRows: string[] | number[]) => any;
/**
* 3.0 新增
*/
preserveSelectedRowKeys?: boolean;
hideSelectAll?: boolean;
checkStrictly?: boolean;
}
export interface TableCustomRecord<T> {
record?: T;
index?: number;
}
export interface TableSetting {
width?: number;
redo?: boolean;
size?: boolean;
setting?: boolean;
fullscreen?: boolean;
striped?: boolean;
}