|
@@ -81,16 +81,21 @@
|
|
|
v-if="store.isTrackMode"
|
|
|
isCheckAnswer
|
|
|
@submit="saveTaskToServer"
|
|
|
+ @checkSubmit="checkTask"
|
|
|
/>
|
|
|
<mark-board-key-board
|
|
|
v-if="store.shouldShowMarkBoardKeyBoard"
|
|
|
+ isCheckAnswer
|
|
|
@submit="saveTaskToServer"
|
|
|
@allZeroSubmit="allZeroSubmit"
|
|
|
+ @checkSubmit="checkTask"
|
|
|
/>
|
|
|
<mark-board-mouse
|
|
|
v-if="store.shouldShowMarkBoardMouse"
|
|
|
+ isCheckAnswer
|
|
|
@submit="saveTaskToServer"
|
|
|
@allZeroSubmit="allZeroSubmit"
|
|
|
+ @checkSubmit="checkTask"
|
|
|
/>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -113,6 +118,7 @@ import { onMounted, watch, h } from "vue";
|
|
|
import {
|
|
|
studentSubjectiveConfirmData,
|
|
|
saveStudentSubjectiveConfirmData,
|
|
|
+ saveStudentSubjectiveCheck,
|
|
|
} from "@/api/checkPage";
|
|
|
import { doLogout, updateUISetting, getSetting } from "@/api/markPage";
|
|
|
import { store } from "@/store/store";
|
|
@@ -480,4 +486,37 @@ const saveTaskToServer = async () => {
|
|
|
store.currentTask = undefined;
|
|
|
await getNextStudent();
|
|
|
};
|
|
|
+
|
|
|
+// 直接点击复核,不做修改
|
|
|
+const checkTask = async () => {
|
|
|
+ const res = await saveStudentSubjectiveCheck({
|
|
|
+ studentId: store.currentTask.studentId,
|
|
|
+ examId,
|
|
|
+ paperNumber,
|
|
|
+ }).catch(() => false);
|
|
|
+
|
|
|
+ const mkey = "check_task_key";
|
|
|
+
|
|
|
+ if (!res) return;
|
|
|
+ if (!res.data.success) {
|
|
|
+ void message.error({ content: res.data.message, key: mkey, duration: 5 });
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!isMultiStudent) {
|
|
|
+ void message.success({
|
|
|
+ content: "保存成功,页面将在3秒钟之后关闭",
|
|
|
+ key: mkey,
|
|
|
+ duration: 2,
|
|
|
+ });
|
|
|
+ setTimeout(() => {
|
|
|
+ window.close();
|
|
|
+ }, 3000);
|
|
|
+ return;
|
|
|
+ } else {
|
|
|
+ void message.success({ content: "保存成功", key: mkey, duration: 2 });
|
|
|
+ }
|
|
|
+ store.currentTask = undefined;
|
|
|
+ await getNextStudent();
|
|
|
+};
|
|
|
</script>
|