import request from '@/utils/request'; import { AxiosPromise } from 'axios'; import {QueryParams, ReportItem, FetchReportsResponse, AddReportParams} from './types'; import {UnwrapNestedRefs, UnwrapRef} from "vue"; // 获取报告列表 export const fetchReports = (params: QueryParams): AxiosPromise => { return request({ url: '/api/knowledge/select', method: 'get', params: { pageNum: params.pageNum, // 分页参数中的页码 pageSize: params.pageSize, // 分页参数中的每页大小 eventType: params.eventType, // 事件类型(可选) publishDate: params.publishDate, // 发布日期范围(可选) subject: params.subject, // 关键字(可选) sortBy: params.sortBy, // 排序字段 sortOrder: params.sortOrder, // 排序方式 query: params.query, publishDateRange: params.publishDateRange, } }); }; // 新增报告 export const addReport = (data: UnwrapNestedRefs): AxiosPromise => { return request({ url: '/api/knowledge/create', method: 'post', data: data, }); }; // 获取报告详情 export const fetchReportDetail = (reportId: string): AxiosPromise => { return request({ url: `/api/knowledge/detail?reportID=${reportId}`, method: 'get', }); }; // 待定 // 修改报告 export const updateReport = (data: { summary: UnwrapRef; publishingUnit: UnwrapRef; reportName: UnwrapRef; reportId: string; subject: UnwrapRef; publishDate: UnwrapRef; eventType: UnwrapRef; fileNames: UnwrapRef }): AxiosPromise => { return request({ url: `/api/reports/update/${data.reportId}`, method: 'put', data: data, }); }; // 删除报告 export const deleteReport = (reportId: string): AxiosPromise => { return request({ url: `/api/reports/delete/${reportId}`, method: 'delete', }); };