// 定义获取报告列表接口的请求参数类型
import {UnwrapRef} from "vue";

// 定义查询参数的类型
export interface QueryParams {
  pageNum: number;
  pageSize: number;
  eventType?: string;
  publishDate?: [string, string];
  subject?: string;
  sortBy: string;
  sortOrder: string;
}

// 定义报告项的类型
export interface ReportItem {
  reportName: string;
  reportId?: string;
  publishDate: string;
  summary: string;
  updateTime: string | null;
  subject: string;
  eventType: string;
  publishingUnit: string;
  notificationType: string;
  base_code: string;
}

// 定义新增报告接口的请求参数类型
export interface AddReportParams {
  reportName: string;
  summary: string;
  publishDate: string;
  subject: string;
  eventType: string;
  publishingUnit: string;
  fileNames: [];
}

// 定义获取报告列表接口响应的数据结构,total
export interface FetchReportsResponse {
  code: number;
  msg: string;
  pages: number;
  total: number;
  currentPage: number;
  pageSize: number;
  data: ReportItem[];

  map(param: (item: ReportItem) => {
    summary: string;
    publishingUnit: string;
    reportName: string;
    reportId?: string;
    subject: string;
    publishDate: string;
    base_code: string;
    updateTime: string | null;
    eventType: string;
    notificationType: string
  }): UnwrapRef<ReportItem[]>;
}
