1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- 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: <Setting["marker"]>{},
- subject: <Setting["subject"]>{},
- forceSpecialTag: false,
- uiSetting: <Setting["uiSetting"]>{},
- statusValue: "FORMAL",
- problemTypes: [],
- groupNumber: 0,
- topCount: 0,
- splitConfig: [],
- prefetchCount: 3,
- startTime: 0,
- endTime: 0,
- },
- status: <MarkStore["status"]>{},
- groups: [],
- tasks: [],
- currentTask: <Task>{},
- 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);
|