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