/**
 * 测试类型枚举
 */
export enum TestTypeEnum {
  /** 单元测试 */
  UNIT_TEST = 1,
  /** 周测 */
  WEEKLY_TEST = 2,
  /** 月测 */
  MONTHLY_TEST = 3,
  /** 随堂练习 */
  CLASS_PRACTICE = 4,
  /** 课前预习 */
  PRE_CLASS_PREVIEW = 5,
}

export interface SubjectPaperRecord {
  /** 学科id */
  subjectId: string

  /** 学科名称 */
  subjectName: string

  /** 试卷记录列表 */
  records: PaperRecord[]
}

/**
 * 试卷记录类型
 */
export interface PaperRecord {
  /** 主键 */
  id: number

  /** 学校id */
  schoolId: number

  /** 发布人 */
  publisherName: string

  /** 用户id */
  userId: number

  /** 用户名称 */
  userName: string

  /** 试卷id */
  paperId: number

  /** 试卷名称 */
  paperName: string

  /** 学科id */
  subjectId: string

  /** 学科名称 */
  subjectName: string

  /** 总分 */
  totalScore: number

  /** 得分 */
  score: number

  /** 作答时长 */
  costTime: number

  /** 提交时间 */
  submitTime: string

  /** 状态：0-未作答，1-已作答 */
  status: 0 | 1

  /** 测试类型 1: 单元测试 2: 周测 3 月测, 4 随堂练习 5 课前预习 */
  type: TestTypeEnum

  /** 创建时间 */
  createTime: string
  endTime: string

  remark: string
}

/**
 * 题目选项类型
 */
export type OptionList = string[][]

/**
 * 学科题目类型
 */
export interface SubjectTitleVo {
  /** 题目ID */
  id: string

  /** 学校ID */
  schoolId: string

  /** 教材ID */
  textBookId: string

  /** 教材名称 */
  textBookName: string

  /** 学段父级ID */
  stagePid: string

  /** 学段名称 */
  stageName: string

  /** 学科ID */
  subjectId: string

  /** 学科名称 */
  subjectName: string

  /** 基础ID */
  baseId: string | null

  /** 原始ID */
  originId: string

  /** 题目标题 */
  title: string

  /** 题目类型 */
  titleType: number

  /** 父级ID */
  pid: string | null

  /** 考试类型 */
  examType: number

  /** 来源ID */
  sourceId: string | null

  /** 来源名称 */
  sourceName: string

  /** 题目渠道类型 */
  titleChannelType: string

  /** 题目渠道类型名称 */
  titleChannelTypeName: string

  /** 题目类型基础ID */
  titleTypeBaseId: string

  /** 难度 */
  difficulty: number

  /** 地址ID */
  addrId: string | null

  /** 排序 */
  sort: number

  /** 语音URL */
  voiceUrl: string | null

  /** 图片URL */
  pictureUrl: string | null

  /** 题目解析 */
  titleAnalyze: string

  /** 题目解析图片 */
  titleAnalyzePicture: string | null

  /** 题目解析JSON */
  titleAnalyzeJson: string | null

  /** 答案 */
  answer: string

  /** 年份 */
  years: string

  /** 省份 */
  provinces: string

  /** 题目来源IDs */
  titleSourceIds: string | null

  /** 关联试卷 */
  linkPaper: number

  /** 分组数量 */
  groupCount: number

  /** 简化标题 */
  simpTitle: string | null

  /** 题目数据 */
  titleData: string | null

  /** 解析数据 */
  analyzeData: string | null

  /** 方法 */
  method: string | null

  /** 讨论 */
  discuss: string | null

  /** 序号 */
  seq: number

  /** 状态 */
  status: number

  /** 删除标志 */
  delFlag: number

  /** 选项列表 */
  optionList: OptionList

  /** 项目ID */
  itemId: string

  /** 分数 */
  score: number | null

  /** 提交答案 */
  submitAnswer: string | null

  /** 提交答案图片 */
  submitAnswerPic: string | null

  /** 正确结果 */
  correctResult: string | null

  /** 题干类型: 1原始题 2选择题 3复合题 */
  stemType: number

  /** 题干HTML */
  stemHtml: string | null

  /** 选择题选项HTML */
  optionHtml: string | null

  /** 答案HTML */
  answerHtml: string | null

  /** 子题题干HTML */
  stemSqs: string | null

  /** 小题选项数组JSON */
  optionSqs: string | null

  /** 小题答案 */
  answerSqs: string | null
}

/**
 * 开始考试类型
 */
export interface HomeworkExam {
  /** 试卷ID */
  paperId: string
  paperName: string

  /** 记录ID */
  recordId: string

  /** 学科题目列表 */
  titleVoList: SubjectTitleVo[]
}
