|
@@ -43,6 +43,7 @@ import {
|
|
} from "@/api/markPage";
|
|
} from "@/api/markPage";
|
|
import {
|
|
import {
|
|
findCurrentTaskMarkResult,
|
|
findCurrentTaskMarkResult,
|
|
|
|
+ isScanImage,
|
|
removeCurrentMarkResult,
|
|
removeCurrentMarkResult,
|
|
removeOldPreviousMarkResult,
|
|
removeOldPreviousMarkResult,
|
|
store,
|
|
store,
|
|
@@ -53,7 +54,7 @@ import { useTimers } from "@/setups/useTimers";
|
|
import MarkHistory from "./MarkHistory.vue";
|
|
import MarkHistory from "./MarkHistory.vue";
|
|
import MarkBoardTrack from "./MarkBoardTrack.vue";
|
|
import MarkBoardTrack from "./MarkBoardTrack.vue";
|
|
import { ModeEnum } from "@/types";
|
|
import { ModeEnum } from "@/types";
|
|
-import type { Setting, Task } from "@/types";
|
|
|
|
|
|
+import type { Setting, Task, RichTextQuestion } from "@/types";
|
|
import MarkBoardKeyBoard from "./MarkBoardKeyBoard.vue";
|
|
import MarkBoardKeyBoard from "./MarkBoardKeyBoard.vue";
|
|
import MarkBoardMouse from "./MarkBoardMouse.vue";
|
|
import MarkBoardMouse from "./MarkBoardMouse.vue";
|
|
import { isEmpty, isNumber } from "lodash";
|
|
import { isEmpty, isNumber } from "lodash";
|
|
@@ -65,6 +66,7 @@ import AllPaperModal from "./AllPaperModal.vue";
|
|
import SheetViewModal from "./SheetViewModal.vue";
|
|
import SheetViewModal from "./SheetViewModal.vue";
|
|
import SpecialTagModal from "./SpecialTagModal.vue";
|
|
import SpecialTagModal from "./SpecialTagModal.vue";
|
|
import { preDrawImage } from "@/utils/utils";
|
|
import { preDrawImage } from "@/utils/utils";
|
|
|
|
+import { getJSON } from "@/api/jsonMark";
|
|
|
|
|
|
const { addInterval } = useTimers();
|
|
const { addInterval } = useTimers();
|
|
|
|
|
|
@@ -90,8 +92,53 @@ async function updateSetting() {
|
|
if (store.setting.subject?.paperUrl) {
|
|
if (store.setting.subject?.paperUrl) {
|
|
store.setting.subject.paperUrl =
|
|
store.setting.subject.paperUrl =
|
|
store.setting.fileServer + store.setting.subject?.paperUrl;
|
|
store.setting.fileServer + store.setting.subject?.paperUrl;
|
|
|
|
+
|
|
|
|
+ const paper = await getPaper();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+async function getPaper() {
|
|
|
|
+ const res = await getJSON(store.setting.subject.paperUrl);
|
|
|
|
+ store.setting.subject.questions = [];
|
|
|
|
+ if (res.data.questions) {
|
|
|
|
+ // 云平台格式
|
|
|
|
+ const questions = res.data.questions; // TODO: add type
|
|
|
|
+ for (const q of questions) {
|
|
|
|
+ const tempQuestion = {
|
|
|
|
+ unionOrder: q.mainNumber + "-" + q.subNumber,
|
|
|
|
+ body: q.body,
|
|
|
|
+ parentBody: q.parentBody,
|
|
|
|
+ answer: q.answer,
|
|
|
|
+ } as RichTextQuestion;
|
|
|
|
+ store.setting.subject.questions.push(tempQuestion);
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ const details = res.data.details;
|
|
|
|
+ for (let order1 of details) {
|
|
|
|
+ for (let order2 of order1) {
|
|
|
|
+ if (order2.subQuestions) {
|
|
|
|
+ for (let order3 of order2) {
|
|
|
|
+ const tempQuestion = {
|
|
|
|
+ unionOrder:
|
|
|
|
+ order1.number + "-" + order2.number + "-" + order3.number,
|
|
|
|
+ body: order3.body,
|
|
|
|
+ parentBody: order2.body,
|
|
|
|
+ } as RichTextQuestion;
|
|
|
|
+ store.setting.subject.questions.push(tempQuestion);
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ const tempQuestion = {
|
|
|
|
+ unionOrder: order1.number + "-" + order2.number,
|
|
|
|
+ body: order2.body,
|
|
|
|
+ parentBody: null,
|
|
|
|
+ } as RichTextQuestion;
|
|
|
|
+ store.setting.subject.questions.push(tempQuestion);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
async function updateStatus() {
|
|
async function updateStatus() {
|
|
const res = await getStatus();
|
|
const res = await getStatus();
|
|
if (res.data.valid) store.status = res.data;
|
|
if (res.data.valid) store.status = res.data;
|
|
@@ -106,7 +153,7 @@ async function updateTask() {
|
|
const res = await getTask();
|
|
const res = await getTask();
|
|
if (res.data.libraryId) {
|
|
if (res.data.libraryId) {
|
|
let rawTask = res.data as Task;
|
|
let rawTask = res.data as Task;
|
|
- rawTask.sliceUrls = rawTask.sliceUrls.map(
|
|
|
|
|
|
+ rawTask.sliceUrls = rawTask.sliceUrls?.map(
|
|
(s) => store.setting.fileServer + s
|
|
(s) => store.setting.fileServer + s
|
|
);
|
|
);
|
|
rawTask.sheetUrls = rawTask.sheetUrls?.map(
|
|
rawTask.sheetUrls = rawTask.sheetUrls?.map(
|
|
@@ -139,7 +186,9 @@ async function updateTask() {
|
|
// }
|
|
// }
|
|
try {
|
|
try {
|
|
preDrawing = true;
|
|
preDrawing = true;
|
|
- await preDrawImage(res.data);
|
|
|
|
|
|
+ if (isScanImage()) {
|
|
|
|
+ await preDrawImage(res.data);
|
|
|
|
+ }
|
|
} finally {
|
|
} finally {
|
|
preDrawing = false;
|
|
preDrawing = false;
|
|
}
|
|
}
|