From 80561b2bc83bb35582ba62e0c21a63c3ee5a0e82 Mon Sep 17 00:00:00 2001
From: lohir <3399054449@qq.com>
Date: 星期三, 16 十月 2024 17:15:00 +0800
Subject: [PATCH] bug

---
 src/views/exam/exam/MarkPaper.vue |  187 ++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 169 insertions(+), 18 deletions(-)

diff --git a/src/views/exam/exam/MarkPaper.vue b/src/views/exam/exam/MarkPaper.vue
index 5322b1d..49c8cde 100644
--- a/src/views/exam/exam/MarkPaper.vue
+++ b/src/views/exam/exam/MarkPaper.vue
@@ -1,35 +1,153 @@
 <template>
-  <div>
-    <div>
-      <div></div>
-      <div></div>
-    </div>
-    <div></div>
+  <div class="app-container">
+    <el-row :gutter="20">
+      <el-col :span="5">
+        <div class="nameClass">
+          <div class="bottom5">鑰冭瘯鍚嶇О</div>
+          <div class="title">{{ examInfo.examName }}</div>
+        </div>
+      </el-col>
+      <el-col :span="5">
+        <div class="nameClass">
+          <div class="bottom5">璇曞嵎鍚嶇О</div>
+          <div class="title">{{ examInfo.examPaperName }}</div>
+        </div>
+      </el-col>
+      <el-col :span="3">
+        <div class="staticNum">
+          <div class="bottom5">搴旇��</div>
+          <div class="title">{{ examInfo.shouldJoinNum }}浜�</div>
+        </div>
+      </el-col>
+      <el-col :span="4">
+        <div class="staticNum">
+          <div class="bottom5">鍙傝��</div>
+          <div class="title">{{ examInfo.joinNum }}浜�</div>
+        </div>
+      </el-col>
+      <el-col :span="3">
+        <div class="staticNum">
+          <div class="bottom5">缂鸿��</div>
+          <div class="title">{{ examInfo.missJoinNum }}浜�</div>
+        </div>
+      </el-col>
+      <el-col :span="4">
+        <div class="staticNum">
+          <div class="bottom5">鍙傝�冧絾鏈彁浜�</div>
+          <div class="title">{{ examInfo.joinButNotFinishNum }}浜�</div>
+        </div>
+      </el-col>
+    </el-row>
+    <!-- 琛ㄦ牸 -->
+    <el-table
+      :data="examInfo.studentExamInfoVOList"
+      border
+      style="width: 100%;margin-top: 20px"
+    >
+      <el-table-column
+        align="center"
+        prop="userId"
+        label="瀛﹀彿"
+      >
+      </el-table-column>
+      <el-table-column
+        align="center"
+        prop="realName"
+        label="濮撳悕"
+      >
+      </el-table-column>
+      <el-table-column
+        align="center"
+        prop="phone"
+        label="鐢佃瘽"
+      >
+      </el-table-column>
+      <el-table-column
+        align="center"
+        prop="status"
+        :formatter="statusFormatter"
+        label="鎻愪氦鐘舵��"
+      >
+      </el-table-column>
+      <el-table-column
+        align="center"
+        prop="markPaperStatus"
+        :formatter="statusFormatter"
+        label="闃呭嵎鐘舵��"
+      >
+      </el-table-column>
+      <el-table-column
+        label="鎿嶄綔"
+        align="center"
+        width="300px"
+      >
+        <template slot-scope="scope">
+          <el-button @click="markPaper(scope.row)" type="warning">闃呭嵎</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
   </div>
 </template>
 
 <script>
-import { getExamInfo } from "@/api/exam"
+import { getExamMarkPaperInfo } from '@/api/exam'
+
 export default {
-  name: "MarkPaper",
-  mounted() {
+  name: 'MarkPaper',
+  mounted () {
     this.examInfo.examName = this.$route.query.examName
-    this.examInfo.id = this.$route.query.examId
-    this.getExamInfo()
+    this.examInfo.examId = this.$route.query.examId
+    if (this.examInfo.examId) {
+      this.getExamInfo()
+    }
   },
-  data() {
+  // watch: {
+  //   $route: {
+  //     handler () {
+  //       this.reloadPage()
+  //     }
+  //   }
+  // },
+  data () {
     return {
       examInfo: {
-        examName: "",
-        id: null,
-        paperList: []
+        examName: '',
+        examPaperName: '',
+        suggestTime: 0,
+        shouldJoinNum: 0,
+        joinNum: 0,
+        missJoinNum: 0,
+        joinButNotFinishNum: 0,
+        examId: null,
+        studentExamInfoVOList: []
       }
-
     }
   },
   methods: {
-    getExamInfo() {
-      getExamInfo(this.examInfo.id).then(res => {
+    // reloadPage () {
+    //   this.examInfo.examName = this.$route.query.examName
+    //   this.examInfo.examId = this.$route.query.examId
+    //   console.log('------->' + this.examInfo.examName + '------->' + this.examInfo.examId)
+    //   if (this.examInfo.examId) {
+    //     this.getExamInfo()
+    //   }
+    // },
+    statusFormatter (row, column, cellValue, index) {
+      if (cellValue === 'finish') {
+        return '瀹屾垚'
+      } else if (cellValue === 'temp') {
+        return '鏈畬鎴�'
+      }
+    },
+    markPaper (row) {
+      // todo鎵撳紑闃呭嵎椤甸潰
+      this.$router.push({
+        path: '/exam/mark/paper/detail',
+        query: { examId: this.examInfo.examId, examName: this.examInfo.examName, userId: row.userId }
+      })
+    },
+    getExamInfo () {
+      getExamMarkPaperInfo(this.examInfo.examId).then(res => {
         this.examInfo = res.data.data
       })
     }
@@ -39,4 +157,37 @@
 
 <style scoped>
 
+.title {
+  font-size: 18px;
+}
+
+.bottom5 {
+  margin-bottom: 5px;
+}
+
+.nameInfo {
+  width: 100%;
+  display: flex;
+  flex-direction: column;
+}
+
+.nameClass {
+  width: 100%;
+  display: flex;
+  flex-direction: column;
+  justify-content: center;
+  align-items: center;
+  height: 70px;
+  background-color: #cb5858;
+}
+
+.staticNum {
+  width: 100%;
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  justify-content: center;
+  background-color: #0a76a4;
+  height: 70px;
+}
 </style>

--
Gitblit v1.8.0