reports.client.ts 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /// 报告列表请求客户端
  2. import { withPrefix } from "@/libs/url.lib";
  3. import httpClient from "@/services/httpClient";
  4. import type { CompanyAgg } from "@/types/company.types";
  5. import type { ReportsResponse, ReportSaveRequest } from "@/types/report.types";
  6. import type { Response } from "@/types/response.types";
  7. const _url = withPrefix("/api/srUserReport")
  8. export async function query(page: number, companyIds?: number[], field?: string, keyword?: string, status?: number, upChain?: number): Promise<ReportsResponse> {
  9. //const params: any = { page, companyIds, field, keyword }
  10. // if (companyId) {
  11. // params['companyId'] = companyId;
  12. // }
  13. let param = ''
  14. if (companyIds && companyIds.length > 0) {
  15. param = companyIds.map((id: number) => `companyIds=${id}`).join('&');
  16. }
  17. if (field && keyword && keyword.length > 0 && field.length > 0) {
  18. param += `&field=${field}&keyword=${keyword}`
  19. }
  20. if (status || status == 0) {
  21. param += `&status=${status}`
  22. }
  23. if (upChain || upChain == 0) {
  24. param += `&upChain=${upChain}`
  25. }
  26. const resp = await httpClient.get<Response<ReportsResponse>>(_url(`/all/?current=${page}&${param}`))
  27. return resp.data.data
  28. }
  29. export async function upper(id: number): Promise<Blob> {
  30. const resp = await httpClient.get<File>(_url("/seveText"), { params: { id } })
  31. return resp.data;
  32. }
  33. /**
  34. * 通过报告ID获取报告数据
  35. * @param id 报告ID
  36. * @returns Promise
  37. */
  38. export async function get(id: number): Promise<ReportSaveRequest> {
  39. const resp = await httpClient.get<Response<ReportSaveRequest>>(_url(`/${id}`))
  40. return resp.data.data;
  41. }
  42. export function link(reportId: number, token: string): string {
  43. return `/api/logo/${reportId}?token=${token}`
  44. }