1234567891011121314151617181920212223242526272829303132333435363738394041 |
- 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 };
- }
|