import { PageResult, PageParams } from './common';

export interface StudentListFilter {
  // 姓名
  name?: string;
  // 准考证号
  examNumber?: string;
  // 密号
  secretNumber?: string;
  // 学号
  studentCode?: string;
  // 科目
  subjectCode?: string;
  // 层次
  subjectLevel?: string;
  // 专业类型
  subjectCategory?: string;
  // 状态相关 -- >
  // 上传
  upload?: boolean;
  // 缺考
  absent?: boolean;
  // 人工指定缺考
  manualAbsent?: boolean;
  // 违纪
  breach?: boolean;
  // 状态相关 -- />
  // 批次编号
  batchCode?: string;
  // 签到表编号
  packageCode?: string;
  // 学院
  college?: string;
  // 班级
  className?: string;
  // 任课老师
  teacher?: string;
  // 考点
  examSite?: string;
  // 考场
  examRoom?: string;
  // 扫描张数
  sheetCount?: number;
}
export type StudentListPageParam = PageParams<StudentListFilter>;

export interface StudentItem {
  id: number;
  // 准考证号
  examNumber: string;
  // 密号
  secretNumber: string;
  // 姓名
  name: string;
  // 学号
  studentCode: string;
  // 科目
  subjectName: string;
  subjectCode: string;
  subjectText: string;
  // 试卷类型
  paperType: string;
  // 扫描图
  sheetUrls: string[];
  // 层次
  subjectLevel: string;
  // 专业类型
  subjectCategory: string;
  // 扫描识别相关-- >
  // 上传
  upload: boolean;
  // 缺考
  absent: boolean;
  // 扫描识别相关-- />
  // 人工指定相关-- >
  // 人工指定缺考
  manualAbsent: boolean;
  // 违纪
  breach: boolean;
  // 人工指定相关-- />
  // 扫描张数
  sheetCount: number;
  // 批次编号
  batchCode: string;
  // 签到表编号
  packageCode: string;
  // 学院
  college: string;
  // 班级
  className: string;
  // 任课老师
  teacher: string;
  // 考点
  examSite: string;
  // 考场
  examRoom: string;
}

export type StudentListPageRes = PageResult<StudentItem>;

export interface StudentUpdateParam {
  id?: number;
  // 姓名
  name: string;
  // 学号
  studentCode: string;
  // 准考证号
  examNumber: string;
  // 科目
  subjectCode: string;
  // 学院
  college: string;
  // 班级
  className: string;
  // 任课老师
  teacher: string;
  // 签到表编号
  packageCode: string;
}
