export const SYS_ADMIN_NAME = "sysadmin";

// 通用 -------------->
// 启用/禁用
export const ABLE_TYPE = {
  0: "禁用",
  1: "启用",
};

// 是 / 否
export const BOOLEAN_TYPE = {
  0: "否",
  1: "是",
};

export const OPEN_STATUS = [
  {
    label: "开启",
    value: true,
  },
  {
    label: "关闭",
    value: false,
  },
];

// 审核状态
export const AUDITING_STATUS = {
  START: "待审核",
  AUDITING: "审核中",
  REJECT: "已驳回",
  CANCEL: "已撤回",
  END: "已终止",
  FINISH: "已结束",
};

// 审核结果
export const AUDITING_RESULT = {
  NOT_PASS: "未通过",
  PASS: "通过",
};
export const TASK_AUDIT_RESULT = {
  REJECT: "驳回",
  PASS: "通过",
};

// 权限类型
export const PRIVILEGE_TYPE = {
  MENU: "菜单",
  URL: "操作",
};

// 基础 -------------->
// 机构
export const ORG_TYPE = {
  PRINTING_HOUSE: "印刷室",
};
// 角色
export const ROLE_TYPE = {
  SCHOOL_ADMIN: "管理员",
  EXAM_TEACHER: "考务老师",
  QUESTION_TEACHER: "命题老师",
  CUSTOMER: "客服人员",
  PRINT: "印刷人员",
  CUSTOM: "自定义",
};

export const SMS_TYPE = {
  SCHOOL_ADMIN: "管理员",
  EXAM_TEACHER: "考务老师",
};
export const DATA_PRIVILEGE_TYPE = {
  SELF: "仅本人数据权限",
  SELF_COURSE: "本人课程数据权限",
  SELF_ORG: "本部门数据权限",
  SELF_ORG_BELOW: "本部门及下级部门数据权限",
  ALL: "全部数据权限",
};

// 通用题卡规则id
export const COMMON_CARD_RULE_ID = "-1";

export const CARD_CREATE_METHOD_TYPE = {
  UPLOAD: "上传文件",
  STANDARD: "标准模式",
  FREE: "自由模式",
};
export const CARD_TYPE = {
  GENERIC: "通卡",
  CUSTOM: "自定义专卡",
};

export const PUSH_CARD_TYPE = {
  GENERIC: "通卡",
  CUSTOM: "电子题卡",
};

// 模板类型
export const TEMPLATE_TYPE = {
  VARIABLE: "变量印品模板",
  ORDINARY: "普通印品模板",
};

// 提交印刷方式
export const CONFIRM_PRINT_TYPE = {
  MANUAL: "手动",
  AUTO: "自动",
};

// 印刷计划推送状态
export const SYNC_PRINT_STATUS = {
  INIT: "未开始",
  START_SYNC: "同步中", // 开始同步
  EXAM_FINISH: "同步中", // 考试同步成功
  STUDENT_FINISH: "同步中", // 考生同步成功
  FINISH: "已结束",
};

// 考试
export const EXAM_TYPE = {
  FORMAL: "正式考试",
  MAKEUP: "补考",
  REBUILD: "重修",
};
// 印刷计划类型
export const PRINT_PLAN_TYPE = {
  FORMAL: "正式考试",
  MAKEUP: "补考",
};

export const EXAM_MODE_TYPE = {
  MODEL1: "模式1：电子交卷环节需要提交考务数据",
  MODEL2: "模式2：电子交卷环节不需要提交考务数据，只输入印刷份数即可",
  MODEL3: "模式3：电子交卷环节不需要提交考务数据",
  MODEL4: "模式4：跳过电子交卷环节，直接进入阅卷",
};

export const FLOW_TYPE = {
  ELECTRON_FLOW: "电子交卷审核",
  // QUESTION_ELECTRON_FLOW: "题库试题提交审核",
  // PAPER_ELECTRON_FLOW: "题库试卷审核"
};
export const FLOW_MODEL_TYPE = {
  USER_FIXED: "管理员指定",
  APPROVE_SET: "发起人自选",
};

export const FLOW_APPROVE_OPERATION_TYPE = {
  SUBMIT: "提交",
  APPROVE: "审批",
  EXCHANGE: "转他人审批",
  REJECT: "驳回",
  END: "终止",
};

// 考生状态
export const STUDENT_STATUS = {
  N: "正常",
  D: "缓考",
  F: "免考",
  M: "缺考",
  B: "违纪",
};

// 命题 -------------->
// 待办任务警告时间
export const TASK_WARNING_TIME = 3 * 24 * 60 * 60 * 1000;

// 题卡
// 条码类型
export const EXAM_NUMBER_STYLE = {
  PRINT: "印刷条码",
  PASTE: "粘贴条码",
  FILL: "学号填涂",
};
export const CARD_SIZE_TYPE = ["A3", "8K"];

// 试卷类型方式
export const PAPER_TYPE = {
  PRINT: "印刷",
  FILL: "填涂",
};

// 命题任务状态
export const EXAM_TASK_STATUS = {
  DRAFT: "新建",
  STAGE: "待命题",
  AUDITING: "审核中",
  REJECT: "驳回",
  FINISH: "已完成",
  CANCEL: "作废",
};

// 题卡创建方式
export const CARD_SOURCE_TYPE = {
  SELECT: "选择已有答题卡",
  SELF: "自助创建",
  CUST: "申请客服制卡",
};

// 模板类型
export const TEMPLATE_CLASSIFY = {
  SIGN: "签到表",
  PACKAGE: "卷袋贴",
  CHECK_IN: "考试情况登记表",
};

// 数据管理
export const DATA_TASK_STATUS = {
  INIT: "未开始",
  RUNNING: "进行中",
  FINISH: "已完成",
};
export const DATA_TASK_TYPE = {
  USER_IMPORT: "用户导入",
  //   STUDENT_IMPORT: "学生导入",
  BASIC_EXAM_STUDENT_EXPORT: "考生导出",
  BASIC_EXAM_STUDENT_IMPORT: "考生导入",
  BASIC_EXAM_STUDENT_TEACHER_IMPORT: "任课老师导入",
  //   CLAZZ_IMPORT: "班级导入",
  QUESTION_MISSION_BATCH_CREATE: "批量新建命题任务",
  SAMPLE_EXPORT: "导出审核样本",
  EXAMINATION_IMPORT: "考务数据导入",
  EXAMINATION_EXPORT: "考务数据导出",
  PRINT_PDF_DOWNLOAD: "批量下载pdf",
  PAPER_AND_CARD_PDF_DOWNLOAD: "卷库查询管理试卷、空白题卡批量下载pdf",
  //   CREATE_PDF: "生成pdf",
  DATA_CALCULATE: "数据计算",
  CREATE_TASK_PRINT: "发布印刷任务",
  STATISTICS_IMPORT: "命题统计导入",
  SCORE_EXPORT: "成绩导出",
  SCORE_DOWNLOAD: "成绩轨迹下载",
  DOWNLOAD_PAPER_FILE_BATCH: "批量下载试卷文件",
  SUBJECTIVE_STRUCT_IMPORT: "主观题导入",
  OBJECTIVE_STRUCT_IMPORT: "客观题导入",
};
export const DATA_TASK_RESULT = {
  SUCCESS: "成功",
  ERROR: "失败",
};
// 导入模板类型
export const IMPORT_TEMPLATE_TYPE = {
  // 组织架构导入模板
  org: "TEMPLATE_ORG",
  // 用户导入模板/
  user: "TEMPLATE_USER",
  // 学生导入模板
  student: "TEMPLATE_STUDENT",
  // 课程导入模板
  course: "TEMPLATE_COURSE",
  // 教学班学生导入模板
  teachClassStudent: "TEMPLATE_TEACH_CLASS",
  // 教学课程导入模板
  teachCourse: "TEMPLATE_TEACH_COURSE",
  // 教师团队导入模板
  teachTeacher: "TEMPLATE_TEACH_TEACHER",
  // 命题任务导入模板
  examTask: "TEMPLATE_EXAM_TASK",
  // 命题任务学生导入模板
  examTaskStudent: "TEMPLATE_EXAM_TASK_STUDENT",
  // 命题计划导入模板
  examStatistics: "TEMPLATE_EXAM_STATISTICS",
  // 考生
  examStudent: "TEMPLATE_BASIC_EXAM_STUDENT",
  // 课程知识点
  courseProperty: "TEMPLATE_COURSE_DIMENSION",
  // 阅卷数据
  markStudent: "TEMPLATE_MARK_STUDENT",
  // 试卷结构
  paperStruct: "TEMPLATE_PAPER_STRUCT",
  // 主观题结构
  subjectiveStruct: "TEMPLATE_SUBJECTIVE_STRUCT",
  // 客观题结构
  objectiveStruct: "TEMPLATE_OBJECTIVE_STRUCT",
};
// 印刷 -------------->
// 印刷计划状态
export const PRINT_PLAN_STATUS = {
  NEW: "新建",
  READY: "就绪",
  PRINTING: "印刷中",
  FINISH: "印刷完成",
};
// 印刷计划相关
export const DRAW_RULE_TYPE = {
  ONE: "只抽取一次",
  CIRCLE: "可反复抽取",
};
export const PRINT_BACKUP_TYPE = {
  ROOM: "每考场",
  // STUDENT: "每考生"
};
export const PAPER_BACKUP_TYPE = {
  ROOM: "每考场",
  // PLACE: "每考点"
};
export const PRINT_CONTENT_TYPE = {
  PAPER: "试卷",
  CARD: "题卡",
};

// 印刷任务状态
export const PRINT_TASK_STATUS = {
  NEW: "新建",
  CREATING: "生成中",
  READY: "就绪",
  WAITING: "待印刷",
  PRINTING: "印刷中",
  FINISH: "已完成",
  CANCEL: "作废",
};
// pdf文件类型
export const PRINT_PDF_TYPE = {
  PAPER: "试卷",
  CARD_A3: "题卡",
  PACKAGE: "卷袋贴",
  SIGN: "签到表",
  CHECK_IN: "登记表",
};

export const EXAM_PDF_TYPE = {
  PAPER: "试卷",
  GENERIC_CARD: "仅通卡",
  CUSTOM_CARD: "仅专卡",
  SIGN: "签到表",
  PACKAGE: "卷袋贴",
  CHECK_IN: "考试情况登记表",
};

// stmms
export const MARK_TASK_SYNC_STATUS = {
  INIT: "未同步",
  FINISH: "已同步",
};
export const STMMS_SYNC_TYPE = {
  USER_PUSH: "用户推送",
  EXAM_PUSH: "考试、考生、题卡推送",
  STRUCTURE_PUSH: "试卷结构推送",
  SCORE_PUSH: "成绩推送",
};

export const PUSH_TYPE = {
  INIT: "未开始",
  STARTING: "同步中",
  FAIL: "同步失败",
  FINISH: "同步成功",
};

// analysis
export const ANALYSIS_BATCH_STATUS = {
  SETTING_GRADE_PAPER: "数据准备中",
  PUSH_GRADE_BATCH: "提交分析数据",
  SETTING_GRADE_PAPER_PARAM: "蓝图数据准备中",
  READY_TO_CALCULATE: "待计算",
  CALCULATING: "计算中",
  FINISH_CALCULATE: "已完成",
};

export const PDF_LIST = ["A3", "A4", "A5", "B3", "B4", "B5", "8K"];

// stmms
// 试题类型
export const QUESTION_TYPE_LIST = [
  {
    code: 1,
    name: "单选题",
    qType: "objective",
    optionCount: 4,
  },
  {
    code: 2,
    name: "多选题",
    qType: "objective",
    optionCount: 4,
  },
  {
    code: 3,
    name: "判断题",
    qType: "objective",
    optionCount: 2,
  },
  {
    code: 4,
    name: "填空题",
    qType: "subjective",
    optionCount: null,
  },
  {
    code: 5,
    name: "解答题",
    qType: "subjective",
    optionCount: null,
  },
];

export const QUESTION_SCORE_TYPE = {
  NONE: "全对给分",
  ALL: "任选给分",
  LEAK_HALF: "漏选给半分",
  LEAK: "漏选给分",
};

// mark
export const MARK_MODE_TYPE = {
  UNLIMITED: "不限",
  TRACK: "轨迹模式",
  COMMON: "普通模式",
};
export const SCORE_POLICY_TYPE = {
  AVG: "平均分",
  MAX: "最高分",
  MIN: "最低分",
};

// target
export const EVALUATION_MODE = {
  THEORY_EXAMINATION: "理论考试类",
  EXAMINE: "考查类",
  COURSE_DESIGN: "课程设计类",
  GRADUATE_DESIGN: "毕业设计类",
  OTHER: "其他",
};
export const COURSE_TYPE = {
  ENGINEERING_BASIC: "工程基础类课程",
  MAJOR_BASIC: "专业基础类课程",
  MAJOR: "专业类课程",
  ENGINEERING_PRACTICE_AND_GRADUATE_DESIGN: "工程实践与毕业设计(论文)",
  OTHER: "其他",
};

// task
export const TASK_STATUS = {
  FINISH: "已完成",
  UN_FINISH: "未完成",
};
export const MARK_TASK_STATUS = {
  WAITING: "未处理",
  MARKED: "已评",
  REJECTED: "已打回",
  WAIT_ARBITRATE: "等待仲裁",
  ARBITRATED: "已仲裁",
  PROBLEM: "问题卷",
};
