import { ModeEnum, Setting, MarkStore, Task } from "@/types"; import { reactive } from "vue"; const obj = { setting: { mode: "TRACK", examType: "SCAN_IMAGE", forceMode: false, sheetView: false, sheetConfig: [], enableAllZero: false, fileServer: "", marker: {}, subject: {}, forceSpecialTag: false, uiSetting: {}, statusValue: "FORMAL", problemTypes: [], groupNumber: 0, topCount: 0, splitConfig: [], prefetchCount: 3, startTime: 0, endTime: 0, }, status: {}, groups: [], tasks: [], currentTask: {}, currentQuestion: undefined, currentScore: undefined, markResults: [], historyOpen: false, markBoardCollapse: false, historyTasks: [], } as MarkStore; /** 保存setting和task */ export function saveSetting(settingRes: Setting) { store.setting = settingRes; } /** 切换评分模式 */ export function toggleMode() { store.setting.mode = store.setting.mode === ModeEnum.TRACK ? ModeEnum.COMMON : ModeEnum.TRACK; // 切换模式会清除当前任务的打分 } export function findCurrentTaskMarkResult() { if (!store.currentTask) return; const { libraryId, studentId } = store.currentTask; const statusValue = store.setting.statusValue; return store.markResults.find( (m) => m.libraryId === libraryId && m.studentId === studentId && m.statusValue === statusValue ); } /** 给当前任务评分 */ export function markScore() {} export const store = reactive(obj);