import { Pages } from '../../entity/Pages'; import { ShallowRef, Ref } from 'vue'; import { TableInstance } from 'element-plus'; type UseTableSearchHooksOptions< TD, SP extends Record, SHP extends any[], DTP extends any[], TDP extends any[], TDT extends (Ref | ShallowRef), TDR, > = { // 搜索参数,缺省值ref({}) searchParams?: SP | Ref, // 搜索方法,缺省值:基础搜索功能 searchHandle?(...args: SHP): void // 表格数据,缺省值:shallowRef([]) tableData?: TDT // 表格实例 tableRef?: string | ShallowRef // 获取表格数据 getTableData(...args: TDP): TDR // 删除表格项目 delTableItem?(...args: DTP): void // 启用删除确认框,缺省值:true enabledDeleteConfirm?: boolean // 删除确认框提示内容 deleteConfirmMessage?: string // 删除确认框提示标题 deleteConfirmTitle?: string } type UseTableSearchHooksExample< TD, SP extends Record, SHP extends any[], DTP extends any[], TDP extends any[], TDT extends (Ref | ShallowRef), TDR > = { // 搜索参数,缺省值ref({}) searchParams: Ref searchHandle(...args: SHP) searchPages: Ref getPagesParams(): { param: SP, pageNum: number pageSize: number } tableRef?: ShallowRef tableData: TDT getTableData(...args: TDP): TDR delTableItem(...args: DTP): void setTotal(total: number): void setTableData(tableData: TD[]): void searchedParams: ShallowRef }