From 230b189adbe6dd0706828b53662ed8e50ad4f06c Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期四, 13 六月 2024 11:25:04 +0800
Subject: [PATCH] feat:答卷

---
 src/views/answer/list.vue |   73 +++++++++++++++++++++---------------
 1 files changed, 43 insertions(+), 30 deletions(-)

diff --git a/src/views/answer/list.vue b/src/views/answer/list.vue
index 08e7c74..4789557 100644
--- a/src/views/answer/list.vue
+++ b/src/views/answer/list.vue
@@ -1,35 +1,46 @@
 <template>
   <div class="app-container">
-    <el-form :model="queryParam" ref="queryForm" :inline="true">
-      <el-form-item label="瀛︾锛�" >
-        <el-select v-model="queryParam.subjectId"  clearable>
+    <el-form :inline="true" :model="queryParam" class="demo-form-inline" label-width="80px">
+      <el-form-item>
+        <el-input v-model="queryParam.name" placeholder="璇疯緭鍏ュ悕绉�" clearable></el-input>
+      </el-form-item>
+      <el-form-item>
+        <el-select v-model="queryParam.subjectId" placeholder="璇烽�夋嫨绉戠洰" clearable multiple @change="search">
           <el-option v-for="item in subjects" :key="item.id" :value="item.id" :label="item.name"></el-option>
         </el-select>
       </el-form-item>
       <el-form-item>
-        <el-button type="primary" @click="submitForm">鏌ヨ</el-button>
+        <el-button style="width:100px;" type="primary" size="small" @click="search()">鏌ヨ</el-button>
       </el-form-item>
     </el-form>
 
-    <el-table v-loading="listLoading" :data="tableData" border fit highlight-current-row style="width: 100%">
-      <el-table-column prop="id" label="Id"  width="100" />
-      <el-table-column prop="paperName" label="璇曞嵎鍚嶇О"/>
-      <el-table-column prop="userName" label="鐢ㄦ埛鍚嶇О"/>
-      <el-table-column  label="寰楀垎" width="100px" >
+    <el-table v-loading="listLoading" :data="tableData" border style="width: 100%;">
+      <el-table-column align="center" prop="paperName" label="璇曞嵎鍚嶇О" />
+      <el-table-column align="center" prop="subjectName" label="绉戠洰" />
+      <el-table-column align="center" prop="paperType" label="璇曞嵎绫诲瀷" width="150px">
         <template slot-scope="{row}">
-          {{row.userScore}} / {{row.paperScore}}
+          <span v-if="row.paperType === 1">鍥哄畾璇曞嵎</span>
+          <span v-if="row.paperType === 2">闅忔満璇曞嵎</span>
+          <span v-if="row.paperType === 3">椤哄簭璇曞嵎</span>
         </template>
       </el-table-column>
-      <el-table-column  label="棰樼洰瀵归敊" width="80px" >
+      <el-table-column align="center" prop="questionCount" label="棰樼洰鏁伴噺" width="100px" />
+      <el-table-column align="center" prop="systemScore" label="鎬诲垎" width="100px" />
+      <el-table-column align="center" prop="suggestTime" label="寤鸿鏃堕暱" width="100px" />
+      <el-table-column align="center" prop="personAnswerNum" label="鍙傝�冧汉鏁�" width="100px">
         <template slot-scope="{row}">
-          {{row.questionCorrect}} / {{row.questionCount}}
+          <span>{{ row.personAnswerNum + "/" + row.personTotalNum }}</span>
         </template>
       </el-table-column>
-      <el-table-column prop="doTime" label="鑰楁椂" width="100px"/>
-      <el-table-column prop="createTime" label="鎻愪氦鏃堕棿" width="160px"/>
+      <el-table-column align="center" prop="userName" label="鍒涘缓浜�" width="100px" />
+      <el-table-column label="鎿嶄綔" align="center">
+        <template slot-scope="{row}">
+          <el-button size="mini" @click="view(row)">鏌ョ湅</el-button>
+        </template>
+      </el-table-column>
     </el-table>
-    <pagination v-show="total>0" :total="total" :page.sync="queryParam.pageIndex" :limit.sync="queryParam.pageSize"
-                @pagination="search"/>
+    <pagination v-show="total > 0" :total="total" :page.sync="queryParam.pageIndex"
+      :limit.sync="queryParam.pageSize" @pagination="search" />
   </div>
 </template>
 
@@ -37,40 +48,42 @@
 
 import { mapGetters, mapState, mapActions } from 'vuex'
 import Pagination from '@/components/Pagination'
-import examPaperAnswerApi from '@/api/examPaperAnwser'
+import examPaperAnswerApi from '@/api/examPaperAnswer'
 
 export default {
   components: { Pagination },
   data () {
     return {
+      listLoading: true,
       queryParam: {
-        subjectId: null,
+        name: '',
         pageIndex: 1,
         pageSize: 10
       },
-      listLoading: false,
+      formLoading: false,
+      total: 0,
       tableData: [],
-      total: 0
-    }
+      visible: false
+    };
   },
   created () {
     this.initSubject()
     this.search()
   },
   methods: {
-    search () {
+    // 鑾峰彇鍒楄〃
+    search() {
       this.listLoading = true
-      examPaperAnswerApi.page(this.queryParam).then(data => {
-        const re = data.data
-        this.tableData = re.list
-        this.total = re.total
-        this.queryParam.pageIndex = re.pageNum
+      examPaperAnswerApi.pageExamPaper(this.queryParam).then(re => {
+        this.tableData = re.data.list
+        this.total = re.data.total
+        this.queryParam.pageSize = re.data.pageSize
+        this.queryParam.pageIndex = re.data.pageNum
         this.listLoading = false
       })
     },
-    submitForm () {
-      this.queryParam.pageIndex = 1
-      this.search()
+    view(row) {
+      this.$router.push({ path: '/answer/answer-list', query: { id: row.id } });
     },
     ...mapActions('exam', { initSubject: 'initSubject' })
   },

--
Gitblit v1.8.0