Prechádzať zdrojové kódy

调卷失败返回主页。考试结束页面可以刷新。

Michael Wang 6 rokov pred
rodič
commit
8df077eb25

+ 31 - 27
src/features/OnlineExam/Examing/ExamingEnd.vue

@@ -7,7 +7,7 @@
       <div class="qm-big-text score-text" v-if="!examResult">答案获取中...</div>
       <div class="qm-big-text score-text" v-if="!examResult && getResultTimes > 30">后台繁忙,请稍后在待考列表中查看客观题得分。</div>
       <div class="qm-big-text score-text" v-if="showObjectScore && !examResult.isWarn">客观题得分: <span style="color: red">{{examResult.objectiveScore}}</span></div>
-      <div class="qm-big-text score-text" v-if="exam.examType !== 'ONLINE' && showObjectScore && !examResult.isWarn">客观题正确率: <span style="color: red">{{examResult.objectiveAccuracy}}%</span></div>
+      <div class="qm-big-text score-text" v-if="exam && exam.examType !== 'ONLINE' && showObjectScore && !examResult.isWarn">客观题正确率: <span style="color: red">{{examResult.objectiveAccuracy}}%</span></div>
       <div class="qm-big-text score-text" v-if="examResult.isWarn">客观题得分: 成绩待审核</div>
       <h1 v-if="examResult.isWarn" class="" style="text-align: left;">违纪提示: </h1>
       <div v-if="examResult.isWarn" class="" style="text-align: left;  padding-bottom: 20px">
@@ -40,7 +40,6 @@ export default {
     return {
       afterExamRemark: null,
       showObjectScore: null,
-      paperTotalScore: null,
       cheatingRemark: null,
       examResult: null,
       getResultTimes: 0
@@ -67,32 +66,40 @@ export default {
     };
     await f();
 
-    const afterExamRemark = await this.$http.get(
-      "/api/ecs_exam_work/exam/examOrgProperty/" +
-        this.$route.params.examId +
-        `/AFTER_EXAM_REMARK`
-    );
-    this.afterExamRemark = afterExamRemark.data || "";
-    const showObjectScore = await this.$http.get(
-      "/api/ecs_exam_work/exam/examOrgProperty/" +
-        this.$route.params.examId +
-        `/IS_OBJ_SCORE_VIEW`
-    );
-    this.showObjectScore = showObjectScore.data || false;
-
-    if (this.examResult.isWarn) {
-      const cheatingRemark = await this.$http.get(
+    try {
+      if (!this.exam) {
+        this.exam = (await this.$http.get(
+          "/api/ecs_exam_work/exam/" + this.$route.params.examId
+        )).data;
+      }
+
+      const afterExamRemark = await this.$http.get(
         "/api/ecs_exam_work/exam/examOrgProperty/" +
           this.$route.params.examId +
-          `/CHEATING_REMARK`
+          `/AFTER_EXAM_REMARK`
       );
-      this.cheatingRemark = cheatingRemark.data || "";
+      this.afterExamRemark = afterExamRemark.data || "";
+      const showObjectScore = await this.$http.get(
+        "/api/ecs_exam_work/exam/examOrgProperty/" +
+          this.$route.params.examId +
+          `/IS_OBJ_SCORE_VIEW`
+      );
+      this.showObjectScore = showObjectScore.data || false;
+
+      if (this.examResult.isWarn) {
+        const cheatingRemark = await this.$http.get(
+          "/api/ecs_exam_work/exam/examOrgProperty/" +
+            this.$route.params.examId +
+            `/CHEATING_REMARK`
+        );
+        this.cheatingRemark = cheatingRemark.data || "";
+      }
+    } catch (error) {
+      this.$Message.error("获取考试设置错误,请在待考列表查看成绩!");
+      this.$router.push("/");
     }
 
     document.body.style = "";
-    // this.paperTotalScore = this.paperStruct.defaultPaper.questionGroupList
-    //   .map(q => q.groupScore)
-    //   .reduce((p, c) => p + c);
   },
   beforeDestroy() {
     this.updateExamState({
@@ -100,16 +107,13 @@ export default {
       paperStruct: null,
       examQuestionList: null
     });
-    // this.updateExamResult({
-    //   examResult: null
-    // });
   },
   computed: {
     ...globalMapState(["user"]),
-    ...mapState(["exam", "paperStruct"])
+    ...mapState(["exam"])
   },
   methods: {
-    ...mapMutations(["updateExamState", "updateExamResult"])
+    ...mapMutations(["updateExamState"])
   }
 };
 </script>

+ 1 - 1
src/features/OnlineExam/OnlineExamOverview.vue

@@ -88,7 +88,7 @@ export default {
         .reduce((p, c) => p + c);
     } catch (e) {
       this.$Message.error("获取考试概览信息异常,退出登录");
-      this.logout();
+      this.$router.back();
       return;
     }
     // this.startInfo = {