import { ModeEnum } from "@/types"; import { isNumber } from "lodash"; import { watch } from "vue"; import { findCurrentTaskMarkResult, store } from "../store"; export function keyMouse() { function toggleKeyMouse() { if (store.setting.uiSetting["normal.mode"] === "keyboard") { store.setting.uiSetting["normal.mode"] = "mouse"; } else { store.setting.uiSetting["normal.mode"] = "keyboard"; } } // 普通模式更新分数时 watch( () => store.currentQuestion, () => { if (store.setting.mode === ModeEnum.COMMON) { // TODO: findCurrentTaskMarkResult => store.currentMarkResult const markResult = findCurrentTaskMarkResult(); if (markResult && store.currentTask) { const scoreList = store.currentTask.questionList.map((q) => q.score); if (scoreList.every((s) => isNumber(s))) { markResult.scoreList = scoreList as number[]; } markResult.markerScore = (scoreList.filter((s) => isNumber(s)) as number[]).reduce( (acc, v) => (acc += Math.round(v * 100)), 0 ) / 100; } } }, { deep: true, } ); return { toggleKeyMouse }; }