Selaa lähdekoodia

改进获取客观分列表。改进考试结束得到分数。改进在线练习列表的结果。

Michael Wang 6 vuotta sitten
vanhempi
commit
fed11070ec

+ 22 - 5
src/features/OnlineExam/Examing/ExamingEnd.vue

@@ -5,6 +5,7 @@
       <h1 class="">考试已结束</h1>
       <div><img class="user-avatar" :src="user.photoPath" alt="无底照" /></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="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="">违纪提示: </h1>
       <div v-if="examResult.isWarn" class="" style="text-align: left;  padding-bottom: 20px">
@@ -45,10 +46,26 @@ export default {
       afterExamRemark: null,
       showObjectScore: null,
       paperTotalScore: null,
-      cheatingRemark: null
+      cheatingRemark: null,
+      examResult: null
     };
   },
   async mounted() {
+    const examRecordDataId = this.$route.params.examRecordDataId;
+    const f = async () => {
+      const examResult = (await this.$http.get(
+        "/api/ecs_oe_student/examControl/getEndExamInfo?examRecordDataId=" +
+          examRecordDataId
+      )).data;
+
+      if (examResult === undefined || examResult === null) {
+        setTimeout(f, 3000);
+        return;
+      }
+      this.examResult = examResult;
+    };
+    await f();
+
     const afterExamRemark = await this.$http.get(
       "/api/ecs_exam_work/exam/examOrgProperty/" +
         this.$route.params.examId +
@@ -81,13 +98,13 @@ export default {
       paperStruct: null,
       examQuestionList: null
     });
-    this.updateExamResult({
-      examResult: null
-    });
+    // this.updateExamResult({
+    //   examResult: null
+    // });
   },
   computed: {
     ...globalMapState(["user"]),
-    ...mapState(["exam", "examResult", "paperStruct"])
+    ...mapState(["exam", "paperStruct"])
   },
   methods: {
     ...mapMutations(["updateExamState", "updateExamResult"])

+ 6 - 2
src/features/OnlineExam/OnlineExamResultList.vue

@@ -11,10 +11,11 @@
         </tr>
 
         <tr v-for="(result, index) in results" :key="index">
-          <td>{{ index + 1 }}</td>
+          <td>{{ result.examOrder }}</td>
           <td>{{ result.startTime }}</td>
           <td>{{ result.endTime }}</td>
           <td v-if="result.isAuditing">审核中</td>
+          <td v-else-if="result.isIllegality">违纪</td>
           <td v-else>{{ result.objectiveScore }}</td>
         </tr>
 
@@ -43,7 +44,10 @@ export default {
       "/api/ecs_oe_student/examScore/queryObjectiveScoreList?examStudentId=" +
         this.examStudentId
     )).data;
-    this.results = results.reverse().slice(0, 10);
+    this.results = results
+      .sort((a, b) => a.examOrder > b.examOrder)
+      .reverse()
+      .slice(0, 10);
     this.loading = false;
   }
 };

+ 6 - 1
src/features/OnlinePractice/OnlinePracticeHome.vue

@@ -22,6 +22,7 @@
 
 <script>
 import OnlinePracticeList from "./OnlinePracticeList.vue";
+import { mapState as globalMapState } from "vuex";
 
 export default {
   name: "OnlinePracticeHome",
@@ -39,7 +40,8 @@ export default {
     }
 
     const res = await this.$http.get(
-      "/api/ecs_exam_work/exam/queryByNameLike?name=&examType=PRACTICE"
+      "/api/ecs_exam_work/exam/queryByNameLike?name=&examType=PRACTICE&studentId=" +
+        this.user.id
     );
     this.examList = (res.data || []).filter(e => e.enable);
     if (this.$route.query.examId === undefined && this.examList[0]) {
@@ -59,6 +61,9 @@ export default {
       this.courses = res.data;
     }
   },
+  computed: {
+    ...globalMapState(["user"])
+  },
   components: {
     OnlinePracticeList
   }