Преглед изворни кода

fix: 修复批改完成后跳转逻辑

stupig-zcx пре 1 година
родитељ
комит
ddfa2a6adb

+ 11 - 7
src/views/AiSpeakingPage/SpeakingRecord.vue

@@ -445,8 +445,11 @@ const submitComment = async () => {
       
       // 获取下一个学生作业ID
       const nextStudentId = await getNextStudentAssignment();
-      
-      if (nextStudentId) {
+      if (correctionStats.value.correctNumber === correctionStats.value.engageNumber) {
+        router.push(`/home/myCorrect/assignment/${props.assignmentId}`);
+        ElMessage.info("批改完成,已返回列表页");
+      }
+      else if (nextStudentId) {
         // 跳转到下一个学生的作业
         router.push({
           path: `/home/assignment/${props.assignmentId}/airecord`,
@@ -457,11 +460,12 @@ const submitComment = async () => {
           }
         });
         ElMessage.success("已自动跳转到下一个学生");
-      } else {
-        // 没有下一个学生,跳转到作业列表
-        router.push(`/home/myCorrect/assignment/${props.assignmentId}`);
-        ElMessage.info("已是最后一个学生,批改完成");
-      }
+      } 
+      // else {
+      //   // 没有下一个学生,跳转到作业列表
+      //   router.push(`/home/myCorrect/assignment/${props.assignmentId}`);
+      //   ElMessage.info("已是最后一个学生,批改完成");
+      // }
     } else {
       ElMessage.error("评语提交失败");
     }

+ 24 - 14
src/views/Home/component/Remark/Remark.vue

@@ -146,22 +146,32 @@ export default defineComponent({
               if (res.data.code === 200) {
                 ElMessage.success("批改成功");
                 
-                // 获取下一个学生作业ID
-                const nextStudentId = await getNextStudentAssignment();
-                
-                if (nextStudentId) {
-                  // 跳转到下一个学生的作业
-                  router.push({
-                    name: 'correct',
-                    params: { assignmentId: props.assignmentId },
-                    query: { studentId: nextStudentId }
-                  });
-                  ElMessage.success("已自动跳转到下一个学生");
-                } else {
-                  // 没有下一个学生,跳转到作业列表
+                await fetchCorrectionStats();
+
+                if (correctionStats.value.correctNumber === correctionStats.value.engageNumber) {
+                  // 如果已批改数量等于总数量,说明批改完成
                   router.push(`/home/myCorrect/assignment/${props.assignmentId}`);
-                  ElMessage.info("已是最后一个学生,批改完成");
+                  ElMessage.info("批改完成,已返回列表页");
+                } 
+                else{
+                  // 获取下一个学生作业ID
+                  const nextStudentId = await getNextStudentAssignment();
+                  
+                  if (nextStudentId) {
+                    // 跳转到下一个学生的作业
+                    router.push({
+                      name: 'correct',
+                      params: { assignmentId: props.assignmentId },
+                      query: { studentId: nextStudentId }
+                    });
+                    ElMessage.success("已自动跳转到下一个学生");
+                  } 
                 }
+                // else {
+                //   // 没有下一个学生,跳转到作业列表
+                //   router.push(`/home/myCorrect/assignment/${props.assignmentId}`);
+                //   ElMessage.info("接收参数异常");
+                // }
               } else {
                 ElMessage.error("批改异常" + res.data.msg);
               }

+ 2 - 2
src/views/Home/component/Remark/index.scss

@@ -72,7 +72,7 @@ textarea {
 .correction-progress {
   display: flex;
   flex-direction: column;
-  gap: 8px;
+  gap: 5px;
   
   .progress-text {
     font-size: 14px;
@@ -81,6 +81,6 @@ textarea {
   }
   
   .progress-bar {
-    width: 100%;
+    width: 200px;
   }
 }