table.ts 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import type { BasicFetchResult, BasicPageParams } from '#/api/model';
  2. import { requestClient } from '#/api/request';
  3. export namespace TableApi {
  4. export interface PageParams extends BasicPageParams {
  5. name?: string;
  6. }
  7. export interface BasicRecordItem {
  8. tableType: string;
  9. name: string;
  10. code: string;
  11. config: {
  12. buttons: any[];
  13. columns: any[];
  14. search: any[];
  15. };
  16. databaseQueryId: number;
  17. }
  18. export interface RecordItem extends BasicRecordItem {
  19. id: number;
  20. }
  21. export type PageResult = BasicFetchResult<RecordItem>;
  22. export interface ExecuteParams extends BasicPageParams {
  23. code: string;
  24. formData: any;
  25. }
  26. export const getPage = (params: PageParams) =>
  27. requestClient.get<PageResult>('/table/query/page', { params });
  28. export const getDetail = (id: number) =>
  29. requestClient.get<RecordItem>('/table/query/entity', {
  30. params: { id },
  31. });
  32. export const getInfo = (code: string) =>
  33. requestClient.get<RecordItem>('/table/query/info', {
  34. params: { code },
  35. });
  36. export const addDetail = (data: BasicRecordItem) =>
  37. requestClient.post('/table/query', data);
  38. export const editDetail = (data: RecordItem) =>
  39. requestClient.put('/table/query', data);
  40. export const deleteDetail = (id: number) =>
  41. requestClient.delete('/table/query', { data: { id } });
  42. export const postExecute = (data: ExecuteParams) =>
  43. requestClient.post('/table/query/execute', data);
  44. }