index.ts 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. import request from '@/utils/request';
  2. import { AxiosPromise } from 'axios';
  3. import {QueryParams, ReportItem, FetchReportsResponse, AddReportParams} from './types';
  4. import {UnwrapNestedRefs, UnwrapRef} from "vue";
  5. // 获取报告列表
  6. export const fetchReports = (params: QueryParams): AxiosPromise<FetchReportsResponse> => {
  7. return request({
  8. url: '/api/knowledge/select',
  9. method: 'get',
  10. params: {
  11. pageNum: params.pageNum, // 分页参数中的页码
  12. pageSize: params.pageSize, // 分页参数中的每页大小
  13. eventType: params.eventType, // 事件类型(可选)
  14. publishDate: params.publishDate, // 发布日期范围(可选)
  15. subject: params.subject, // 关键字(可选)
  16. sortBy: params.sortBy, // 排序字段
  17. sortOrder: params.sortOrder, // 排序方式
  18. query: params.query,
  19. publishDateRange: params.publishDateRange,
  20. }
  21. });
  22. };
  23. // 新增报告
  24. export const addReport = (data: UnwrapNestedRefs<AddReportParams>): AxiosPromise<void> => {
  25. return request({
  26. url: '/api/knowledge/create',
  27. method: 'post',
  28. data: data,
  29. });
  30. };
  31. // 获取报告详情
  32. export const fetchReportDetail = (reportId: string): AxiosPromise<ReportItem> => {
  33. return request({
  34. url: `/api/knowledge/detail?reportID=${reportId}`,
  35. method: 'get',
  36. });
  37. };
  38. // 待定
  39. // 修改报告
  40. export const updateReport = (data: {
  41. summary: UnwrapRef<AddReportParams["summary"]>;
  42. publishingUnit: UnwrapRef<AddReportParams["publishingUnit"]>;
  43. reportName: UnwrapRef<AddReportParams["reportName"]>;
  44. reportId: string;
  45. subject: UnwrapRef<AddReportParams["subject"]>;
  46. publishDate: UnwrapRef<AddReportParams["publishDate"]>;
  47. eventType: UnwrapRef<AddReportParams["eventType"]>;
  48. fileNames: UnwrapRef<AddReportParams["fileNames"]>
  49. }): AxiosPromise<void> => {
  50. return request({
  51. url: `/api/reports/update/${data.reportId}`,
  52. method: 'put',
  53. data: data,
  54. });
  55. };
  56. // 删除报告
  57. export const deleteReport = (reportId: string): AxiosPromise<void> => {
  58. return request({
  59. url: `/api/reports/delete/${reportId}`,
  60. method: 'delete',
  61. });
  62. };