|
@@ -1,7 +1,7 @@
|
|
|
import { StudentObjectiveInfo } from "@/types";
|
|
|
import { studentObjectiveConfirmData } from "@/api/checkPage";
|
|
|
import { message } from "ant-design-vue";
|
|
|
-import { onMounted, computed } from "vue";
|
|
|
+import { computed } from "vue";
|
|
|
import { useCheckObjectiveStore } from "@/store";
|
|
|
|
|
|
export default function useStudent() {
|
|
@@ -31,7 +31,11 @@ export default function useStudent() {
|
|
|
);
|
|
|
|
|
|
const answersComputed = computed(() => {
|
|
|
- let mains = checkObjectiveStore.student?.answers.map((v) => ({
|
|
|
+ if (!checkObjectiveStore.student) return [];
|
|
|
+
|
|
|
+ const { answers, titles } = checkObjectiveStore.student;
|
|
|
+
|
|
|
+ let mains = answers.map((v) => ({
|
|
|
mainTitle: "",
|
|
|
mainNumber: v.mainNumber,
|
|
|
subs: [v],
|
|
@@ -45,17 +49,14 @@ export default function useStudent() {
|
|
|
}
|
|
|
});
|
|
|
mains?.forEach((v) => {
|
|
|
- v.mainTitle = checkObjectiveStore.student?.titles[v.mainNumber] ?? "";
|
|
|
- v.subs =
|
|
|
- checkObjectiveStore.student?.answers.filter(
|
|
|
- (v2) => v2.mainNumber === v.mainNumber
|
|
|
- ) ?? [];
|
|
|
+ v.mainTitle = titles ? titles[v.mainNumber] : "";
|
|
|
+ v.subs = answers.filter((v2) => v2.mainNumber === v.mainNumber) ?? [];
|
|
|
});
|
|
|
return mains;
|
|
|
});
|
|
|
|
|
|
async function getNextStudent() {
|
|
|
- if (isLast.value) {
|
|
|
+ if (isLast.value && !isFirst.value) {
|
|
|
void message.warning("已经是最后一份!");
|
|
|
return;
|
|
|
}
|
|
@@ -97,14 +98,6 @@ export default function useStudent() {
|
|
|
await getStudent(checkObjectiveStore.studentIds[currentIndex]);
|
|
|
}
|
|
|
|
|
|
- onMounted(async () => {
|
|
|
- if (checkObjectiveStore.studentIds.length === 0) {
|
|
|
- void message.info("没有需要处理的考生,请返回。");
|
|
|
- return;
|
|
|
- }
|
|
|
- await getNextStudent();
|
|
|
- });
|
|
|
-
|
|
|
return {
|
|
|
currentIndex,
|
|
|
isFirst,
|