/** 阅卷列表行（按培训任务+试卷聚合） */
export interface GradeSessionListItem {
  id: string;
  taskNo: string;
  taskSubject: string;
  paperId: string;
  paperName: string;
  durationMin: number;
  examStart: string;
  examEnd: string;
  totalScore: number;
  passScore: number;
  /** 待批改人数 */
  pendingCount?: number;
  /** 已交卷人数 */
  submittedCount?: number;
}

export interface GradeSessionPageQuery {
  currentPage?: number;
  pageSize?: number;
  keyword?: string;
  taskNo?: string;
}

export type GradeStatus = 'auto' | 'pending' | 'graded';

/** 某场阅卷下的考生答卷 */
export interface GradeExamListItem {
  id: string;
  sessionId: string;
  userId: string;
  userName: string;
  deptName?: string;
  submitTime?: string;
  objectiveScore?: number;
  subjectiveScore?: number;
  totalScore?: number;
  passScore?: number;
  gradeStatus: GradeStatus;
  passFlag?: '0' | '1';
}

/** 阅卷详情（单份答卷） */
export interface GradeExamDetail {
  examId: string;
  sessionId: string;
  paperName: string;
  userName: string;
  deptName?: string;
  submitTime?: string;
  totalScore: number;
  passScore: number;
  objectiveScore: number;
  subjectiveScore: number;
  gradeStatus: GradeStatus;
  items: GradeExamItem[];
}

export interface GradeExamItem {
  id: string;
  questionType: 'single' | 'multi' | 'judge' | 'blank' | 'essay';
  stem: string;
  options?: { optionLabel: string; optionContent: string }[];
  correctAnswer?: string;
  userAnswer?: string;
  score: number;
  gotScore?: number;
  isSubjective: '0' | '1';
  analysis?: string;
}

export interface GradeSubmitPayload {
  examId: string;
  items: { id: string; gotScore: number }[];
}
