/** * 通用CRUD Composition API * @param readParams {Object} 参考./util.ts的入参说明 * @param operateParams {Object} 剩余参数,所有的操作参数配置都可以传递进来,参考./operate.ts的入参说明 * 使用时: const all = PageMixin({}, {}, {}, {}); * */ type FormType = { [key: string]: any; }; type ReadParamsType = { url: string; queryForm: FormType; options: { method?: 'get' | 'postForm' | 'postJson'; params?: object; headers?: object; recordsKey?: string; totalKey?: string; pageSizeKey?: string; pageNumKey?: string; paramPageKey?: string; paramPageSizeKey?: string; autoSearch?: boolean; dataFilter?: (data: any[]) => any[]; formHandler?: (form: FormType) => FormType; afterSearch?: () => void; }; }; type OperateParamType = { url: string; type: 'create' | 'update' | 'del'; operateForm: FormType; options: { method?: 'postJson' | 'get'; params?: object; headers?: object; formHandle?: (form: FormType) => FormType; afterOperate?: (type: 'success' | 'error' | 'cancel', obj: any) => void; successMessage?: string; errorMessage?: string; cancelMessage?: string; }; }; type OperateReturnsType = { handle: () => Promise; cancel: () => void; }; export default function (readParams: ReadParamsType, ...operateParams: Array): { handleCreate: () => void; handleUpdate: () => void; handleDelete: () => void; handleCancelOperate: (type: 'create' | 'update' | 'del') => void; create: OperateReturnsType; update: OperateReturnsType; del: OperateReturnsType; search: () => void; handleSizeChange: (size: number) => void; handlePageChange: (page: number) => void; queryCurrentPage: () => void; handlePrevPage: () => void; handleNextPage: () => void; tableData: import("vue").Ref; pageConfig: import("vue").Ref<{ page: number; pageSize: number; total: number; }>; tableLoading: import("vue").Ref; }; export {};