|
@@ -11,12 +11,12 @@
|
|
|
<ArbitrateMarkList />
|
|
|
<mark-body @error="renderError" />
|
|
|
<mark-board-key-board
|
|
|
- v-if="showMarkBoardKeyBoard"
|
|
|
+ v-if="store.shouldShowMarkBoardKeyBoard"
|
|
|
@submit="saveTaskToServer(false)"
|
|
|
@unselectiveSubmit="saveTaskToServer(true)"
|
|
|
/>
|
|
|
<mark-board-mouse
|
|
|
- v-if="showMarkBoardMouse"
|
|
|
+ v-if="store.shouldShowMarkBoardMouse"
|
|
|
@submit="saveTaskToServer(false)"
|
|
|
@unselectiveSubmit="saveTaskToServer(true)"
|
|
|
/>
|
|
@@ -28,8 +28,7 @@
|
|
|
</template>
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
-import { computed, onMounted, watch } from "vue";
|
|
|
-// 要共用UI就要共用store
|
|
|
+import { onMounted, watch } from "vue";
|
|
|
import { store } from "@/store/store";
|
|
|
import MarkHeader from "./MarkHeader.vue";
|
|
|
import { useRoute } from "vue-router";
|
|
@@ -49,8 +48,7 @@ import {
|
|
|
saveArbitrateTask,
|
|
|
} from "@/api/arbitratePage";
|
|
|
import ArbitrateMarkList from "./ArbitrateMarkList.vue";
|
|
|
-import type { Setting, Task } from "@/types";
|
|
|
-import { isNumber } from "lodash";
|
|
|
+import { ModeEnum, Setting, Task } from "@/types";
|
|
|
import AnswerModal from "../mark/AnswerModal.vue";
|
|
|
import PaperModal from "../mark/PaperModal.vue";
|
|
|
import { getPaper } from "@/api/jsonMark";
|
|
@@ -89,6 +87,7 @@ async function updateSetting() {
|
|
|
"score.board.collapse": false,
|
|
|
"normal.mode": "keyboard",
|
|
|
} as Setting["uiSetting"];
|
|
|
+ store.setting.mode = ModeEnum.COMMON;
|
|
|
store.setting.splitConfig = settingRes.data.splitConfig;
|
|
|
|
|
|
if (store.setting.subject?.answerUrl) {
|
|
@@ -136,12 +135,6 @@ async function updateTask() {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-// async function reloadAndfetchTask() {
|
|
|
-// // 需要清除缓存,才能取到之前锁定的任务
|
|
|
-// await updateClearTask();
|
|
|
-// // await updateSetting();
|
|
|
-// await fetchTask();
|
|
|
-// }
|
|
|
watch(
|
|
|
() => store.historyOpen,
|
|
|
async () => {
|
|
@@ -158,13 +151,6 @@ async function fetchTask() {
|
|
|
await updateTask();
|
|
|
}
|
|
|
|
|
|
-const showMarkBoardKeyBoard = computed(() => {
|
|
|
- return store.setting.uiSetting["normal.mode"] === "keyboard";
|
|
|
-});
|
|
|
-const showMarkBoardMouse = computed(() => {
|
|
|
- return store.setting.uiSetting["normal.mode"] === "mouse";
|
|
|
-});
|
|
|
-
|
|
|
onMounted(async () => {
|
|
|
await updateClearTask();
|
|
|
await updateSetting();
|
|
@@ -180,25 +166,6 @@ watch(
|
|
|
}
|
|
|
);
|
|
|
|
|
|
-// FIXME: 更新分数,在评卷界面不需要
|
|
|
-watch(
|
|
|
- () => store.currentTask,
|
|
|
- () => {
|
|
|
- const markResult = store.currentTask?.markResult;
|
|
|
-
|
|
|
- if (markResult && store.currentTask) {
|
|
|
- const scoreList = store.currentTask.questionList.map((q) => q.score);
|
|
|
- markResult.scoreList = [...(scoreList as number[])];
|
|
|
- markResult.markerScore =
|
|
|
- (markResult.scoreList.filter((s) => isNumber(s)) as number[]).reduce(
|
|
|
- (acc, v) => (acc += Math.round(v * 100)),
|
|
|
- 0
|
|
|
- ) / 100;
|
|
|
- }
|
|
|
- },
|
|
|
- { deep: true }
|
|
|
-);
|
|
|
-
|
|
|
async function getSingleStuTask() {
|
|
|
return getSingleArbitrateTask(libraryId);
|
|
|
}
|