|
@@ -13,6 +13,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<MinimapModal />
|
|
|
+ <PaperModal />
|
|
|
</template>
|
|
|
|
|
|
<script setup lang="ts">
|
|
@@ -30,6 +31,7 @@ import {
|
|
|
import { store } from "@/store/store";
|
|
|
import MarkHeader from "./MarkHeader.vue";
|
|
|
import MinimapModal from "@/features/mark/MinimapModal.vue";
|
|
|
+import PaperModal from "@/features/mark/PaperModal.vue";
|
|
|
import { useRoute } from "vue-router";
|
|
|
// import MarkBody from "../studentInspect/MarkBody.vue";
|
|
|
import MarkBody from "./markBody.vue";
|
|
@@ -80,6 +82,7 @@ async function updateTask() {
|
|
|
key: mkey,
|
|
|
});
|
|
|
isCurrentTagged = !!res.data.flagged;
|
|
|
+ store.setting.subject.paperUrl = res.data.paperUrl || "";
|
|
|
if (res.data.task?.studentId) {
|
|
|
let rawTask = res.data.task;
|
|
|
store.currentTask = addFileServerPrefixToTask(rawTask);
|
|
@@ -108,8 +111,16 @@ async function fetchTask(next: boolean, init?: boolean) {
|
|
|
}
|
|
|
if (!currentStudentId) return; // 无currentStudentId不调用
|
|
|
store.status.totalCount = studentIds.length;
|
|
|
- store.status.markedCount = studentIds.indexOf(currentStudentId) + 1;
|
|
|
+ // store.status.markedCount = studentIds.indexOf(currentStudentId) + 1;
|
|
|
await updateTask();
|
|
|
+ if (!store.status.markedCountStuIds) {
|
|
|
+ store.status.markedCountStuIds = [currentStudentId];
|
|
|
+ } else {
|
|
|
+ store.status.markedCountStuIds = Array.from(
|
|
|
+ new Set([...store.status.markedCountStuIds, currentStudentId])
|
|
|
+ );
|
|
|
+ }
|
|
|
+ store.status.markedCount = store.status.markedCountStuIds.length;
|
|
|
}
|
|
|
|
|
|
onMounted(async () => {
|