From eb010c8d0f12c4861d2fde556f8ca441ba5e10d9 Mon Sep 17 00:00:00 2001 From: lohir <3399054449@qq.com> Date: 星期三, 16 十月 2024 09:59:24 +0800 Subject: [PATCH] bug --- src/views/exam/paper/list.vue | 97 ++++++++++++++++++++++++++---------------------- 1 files changed, 52 insertions(+), 45 deletions(-) diff --git a/src/views/exam/paper/list.vue b/src/views/exam/paper/list.vue index bd9c2e5..057b6d8 100644 --- a/src/views/exam/paper/list.vue +++ b/src/views/exam/paper/list.vue @@ -1,51 +1,58 @@ <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> </el-form-item> <el-form-item> <el-button type="primary" @click="submitForm">鏌ヨ</el-button> - <router-link :to="{path:'/exam/paper/edit'}" class="link-left"> - <el-button type="primary">娣诲姞</el-button> + <router-link :to="{ path: '/exam/paper/edit' }" class="link-left"> + <el-button type="primary" >娣诲姞</el-button> + </router-link> + <el-button class="link-left" type="danger" @click="downloadImportTemplate">涓嬭浇妯℃澘</el-button> + <router-link :to="{ path: '/exam/paper/import' }" class="link-left"> + <el-button type="success">瀵煎叆</el-button> </router-link> </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 label="鎿嶄綔" align="center" width="160px"> + <el-table-column align="center" prop="id" label="Id" width="90px" /> + <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> - <el-button size="mini" type="danger" @click="deletePaper(row)" class="link-left">鍒犻櫎</el-button> + <el-button size="mini" @click="$router.push({ path: '/exam/paper/edit', query: { id: row.id } })">缂栬緫</el-button> + <el-button size="mini" type="danger" @click="deletePaper(row)" class="link-left">鍒犻櫎</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> <script> -import { mapGetters, mapState, mapActions } from 'vuex' import Pagination from '@/components/Pagination' +import subjectApi from '@/api/subject' import examPaperApi from '@/api/examPaper' +import { downloadExcel } from '@/utils/download' export default { components: { Pagination }, - data () { + data() { return { queryParam: { id: null, @@ -54,22 +61,28 @@ pageIndex: 1, pageSize: 10 }, - subjectFilter: null, listLoading: true, tableData: [], + subjects: [], total: 0 } }, - created () { - this.initSubject() + created() { + this.getSubjects() this.search() }, methods: { - submitForm () { + // 涓嬭浇瀵煎叆妯℃澘 + downloadImportTemplate() { + examPaperApi.downloadImportTemplate().then(res => { + downloadExcel(res, '璇曞嵎瀵煎叆妯℃澘') + }) + }, + submitForm() { this.queryParam.pageIndex = 1 this.search() }, - search () { + search() { this.listLoading = true examPaperApi.pageList(this.queryParam).then(data => { const re = data.data @@ -79,7 +92,7 @@ this.listLoading = false }) }, - deletePaper (row) { + deletePaper(row) { let _this = this examPaperApi.deletePaper(row.id).then(re => { if (re.code === 1) { @@ -90,22 +103,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