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