type NamePath = import('ant-design-vue/es/form/interface').NamePath type ColumnGroupType = import('ant-design-vue/es/table').ColumnGroupType type ColumnType = import('ant-design-vue/es/table').ColumnType type AntColumnType = ColumnType | ColumnGroupType export type BaseResultData = T extends { data?: infer U } ? U : T extends { object?: infer U } ? U : never /** 响应基类 */ export interface BaseResult { /** 用这个字段判断响应 */ success: boolean /** 数据 */ data?: T /** 返回状态 */ resultStatus?: number /** 返回信息 */ msg?: string /** 总数 */ count?: number } /** 分页类型 */ export interface ListPager { page: number size: number total?: number } export interface TableFormControllerRef { /** 清除查询条件 */ clear: (fields?: NamePath) => void /** 提交查询条件 */ submit: () => void } /** 查询表单控制器 */ export interface TableFormController extends TableFormControllerRef { /** 初始化方法,外部不需要调用 */ init: (root: TableFormControllerRef) => void } /** 查询数据基类 */ export interface QueryData { pageNum: number pageSize: number sort?: Sort } export interface Sort { /** 字段名称 */ field?: string /** 排序方式: asc=升序,desc=降序 */ order?: 'asc' | 'desc' } export interface SearchQuery { formState: import('vue').Reactive get: () => T set: (q: Partial) => void refresh: () => void } export interface DataFormat { rows: T[] total: number } export type CacheColumn = AntColumnType & { isShow?: boolean }