From 35626c1cfb9521f0cc482daf11b2b2f67d1df3cf Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期一, 17 六月 2024 09:38:00 +0800
Subject: [PATCH] 试卷模块

---
 src/views/exam/paper/list.vue |   86 ++++++++++++++++++++++++++++---------------
 1 files changed, 56 insertions(+), 30 deletions(-)

diff --git a/src/views/exam/paper/list.vue b/src/views/exam/paper/list.vue
index bd9c2e5..bc8a314 100644
--- a/src/views/exam/paper/list.vue
+++ b/src/views/exam/paper/list.vue
@@ -1,17 +1,16 @@
 <template>
   <div class="app-container">
     <el-form :model="queryParam" ref="queryForm" :inline="true">
-      <el-form-item label="棰樼洰ID锛�">
+      <el-form-item label="璇曞嵎ID锛�">
         <el-input v-model="queryParam.id" clearable></el-input>
       </el-form-item>
-      <el-form-item label="骞寸骇锛�">
-        <el-select v-model="queryParam.level" placeholder="骞寸骇" @change="levelChange" clearable>
-          <el-option v-for="item in levelEnum" :key="item.key" :value="item.key" :label="item.value"></el-option>
-        </el-select>
-      </el-form-item>
       <el-form-item label="瀛︾锛�" >
-        <el-select v-model="queryParam.subjectId"  clearable>
-          <el-option v-for="item in subjectFilter" :key="item.id" :value="item.id" :label="item.name+' ( '+item.levelName+' )'"></el-option>
+        <el-select
+          v-model="queryParam.subjectId"
+          placeholder="鍏ㄩ儴绉戠洰"
+          clearable
+        >
+          <el-option v-for="item in subjects" :key="item.id" :label="item.name" :value="item.id"/>
         </el-select>
       </el-form-item>
       <el-form-item>
@@ -22,10 +21,43 @@
       </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="90px"/>
-      <el-table-column prop="subjectId" label="瀛︾" :formatter="subjectFormatter" width="120px" />
-      <el-table-column prop="name" label="鍚嶇О"  />
-      <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="160px"/>
+      <el-table-column align="center" prop="id" label="Id" width="90px"/>
+      <el-table-column align="center" prop="subjectId" label="瀛︾" width="120px" >
+        <template slot-scope="scope">
+          {{ translate(scope.row.subjectId) }}
+        </template>
+      </el-table-column>
+      <el-table-column align="center" prop="name" label="鍚嶇О"  />
+      <el-table-column
+        align="center"
+        prop="paperType"
+        label="璇曞嵎绫诲瀷"
+      >
+        <template slot-scope="scope">
+          <div v-if="scope.row.paperType === 1">鍥哄畾璇曞嵎</div>
+          <div v-else-if="scope.row.paperType === 2">闅忔満璇曞嵎</div>
+          <div v-else-if="scope.row.paperType === 3">闅忓簭璇曞嵎</div>
+        </template>
+      </el-table-column>
+      <el-table-column
+        align="center"
+        prop="suggestTime"
+        label="寤鸿鏃堕暱(鍒嗛挓)"
+      >
+      </el-table-column>
+      <el-table-column
+        align="center"
+        prop="num"
+        label="棰樼洰鏁伴噺"
+      >
+      </el-table-column>
+      <el-table-column
+        align="center"
+        prop="score"
+        label="鎬诲垎"
+      >
+      </el-table-column>
+      <el-table-column align="center" prop="createTime" label="鍒涘缓鏃堕棿" width="160px"/>
       <el-table-column  label="鎿嶄綔" align="center"  width="160px">
         <template slot-scope="{row}">
           <el-button size="mini" @click="$router.push({path:'/exam/paper/edit',query:{id:row.id}})" >缂栬緫</el-button>
@@ -39,8 +71,8 @@
 </template>
 
 <script>
-import { mapGetters, mapState, mapActions } from 'vuex'
 import Pagination from '@/components/Pagination'
+import subjectApi from '@/api/subject'
 import examPaperApi from '@/api/examPaper'
 
 export default {
@@ -54,14 +86,14 @@
         pageIndex: 1,
         pageSize: 10
       },
-      subjectFilter: null,
       listLoading: true,
       tableData: [],
+      subjects: [],
       total: 0
     }
   },
   created () {
-    this.initSubject()
+    this.getSubjects()
     this.search()
   },
   methods: {
@@ -90,22 +122,16 @@
         }
       })
     },
-    levelChange () {
-      this.queryParam.subjectId = null
-      this.subjectFilter = this.subjects.filter(data => data.level === this.queryParam.level)
+    // 鑾峰彇绉戠洰
+    getSubjects() {
+      subjectApi.list().then(re => {
+        this.subjects = re.data
+      })
     },
-    subjectFormatter  (row, column, cellValue, index) {
-      return this.subjectEnumFormat(cellValue)
-    },
-    ...mapActions('exam', { initSubject: 'initSubject' })
-  },
-  computed: {
-    ...mapGetters('enumItem', ['enumFormat']),
-    ...mapState('enumItem', {
-      levelEnum: state => state.user.levelEnum
-    }),
-    ...mapGetters('exam', ['subjectEnumFormat']),
-    ...mapState('exam', { subjects: state => state.subjects })
+    translate(subjectId) {
+      const subject = this.subjects.find(subject => subject.id == subjectId);
+      return subject ? subject.name : '鏈煡';
+    }
   }
 }
 </script>

--
Gitblit v1.8.0