import { DataScopeMode, NumberScopeMode } from '@/constants/enumerate';
import { PageResult, PageParams } from './common';

// 识别结果检查 数据列表筛选条件
export interface ResultCheckDataListFilter {
  // 是否缺考
  isMissing: boolean | undefined;
  // 准考证号
  examCardNo: string;
  // 科目
  subject: string;
  // 科目范围模式
  subjectRangeMode: DataScopeMode;
  // 考点
  examPoint: string;
  // 考点范围模式
  examPointRangeMode: DataScopeMode;
  // 客观题是否有识别结果
  objectiveQuestionHasResult: boolean | undefined;
  // 客观总分
  objectiveTotalScore: number | null;
  // 客观总分范围模式
  objectiveTotalScoreRangeMode: NumberScopeMode;
  // 主观总分
  subjectiveTotalScore: number | null;
  // 主观总分范围模式
  subjectiveTotalScoreRangeMode: NumberScopeMode;
  // 试卷类型
  paperType: string;
}

// 图片检查 数据列表筛选条件
export interface ImageCheckDataListFilter {
  // 姓名
  name: string;
  // 准考证号
  examCardNo: string;
  // 学号
  studentNo: string;
  // 科目
  subject: number | null;
}
export type ImageCheckPageParams = PageParams<ImageCheckDataListFilter>;

// 图片检查列表： 准考证号	姓名	学号	科目	扫描批次	上传时间
export interface ImageCheckDataListItem {
  // 主键
  id: number;
  // 姓名
  name: string;
  // 准考证号
  examCardNo: string;
  // 学号
  studentNo: string;
  // 科目
  subject: number | null;
  // 扫描批次
  scanBatch: string;
  // 上传时间
  uploadTime: string;
}
export type ImageCheckPageRes = PageResult<ImageCheckDataListItem>;

// 人工确认 数据列表筛选条件
export interface ManualConfirmDataListFilter {
  // 确认类型
  confirmType: number | null;
  // 科目
  subject: number | null;
  // 考点
  examPoint: string;
}
export type ManualConfirmPageParams = PageParams<ManualConfirmDataListFilter>;

// 人工确认列表： 准考证号	姓名	学号	科目	考点	扫描批次	上传时间
export interface ManualConfirmDataListItem {
  // 主键
  id: number;
  // 姓名
  name: string;
  // 准考证号
  examCardNo: string;
  // 学号
  studentNo: string;
  // 科目
  subject: number | null;
  // 考点
  examPoint: string;
  // 扫描批次
  scanBatch: string;
  // 上传时间
  uploadTime: string;
}
export type ManualConfirmPageRes = PageResult<ManualConfirmDataListItem>;
