From f7fba7469eb458c000bdad97a2c130a9e9ea212b Mon Sep 17 00:00:00 2001 From: 龚焕茏 <2842157468@qq.com> Date: 星期四, 11 七月 2024 09:45:29 +0800 Subject: [PATCH] feat:题目导入 --- src/views/exam/question/list.vue | 41 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 41 insertions(+), 0 deletions(-) diff --git a/src/views/exam/question/list.vue b/src/views/exam/question/list.vue index 512f167..a2c39fc 100644 --- a/src/views/exam/question/list.vue +++ b/src/views/exam/question/list.vue @@ -28,6 +28,18 @@ </el-button> <el-button slot="reference" type="primary" class="link-left">娣诲姞</el-button> </el-popover> + <el-button class="link-left" type="danger" @click="downloadImportTemplate">涓嬭浇妯℃澘</el-button> + <el-upload + style="display: inline;" + class="op-item link-left" + action="/api/admin/question/import" + :with-credentials="true" + :on-success="handlePreview" + accept=".xls,.xlsx" + :show-file-list="false" + :before-upload="beforeAvatarUpload"> + <el-button v-loading="importLoading" type="primary">瀵煎叆</el-button> + </el-upload> </el-form-item> </el-form> <el-table v-loading="listLoading" :data="tableData" border fit highlight-current-row style="width: 100%"> @@ -73,11 +85,13 @@ import Pagination from '@/components/Pagination' import QuestionShow from './components/Show' import questionApi from '@/api/question' +import { downloadExcel } from '@/utils/download' export default { components: { Pagination, QuestionShow }, data() { return { + importLoading: '', queryParam: { id: null, questionType: null, @@ -103,6 +117,33 @@ this.search() }, methods: { + handlePreview (e) { + this.importLoading = false + if (e.code === 1) { + this.search() + this.$message.success(e.message) + } else { + this.$message.error(e.message) + } + }, + beforeAvatarUpload (file) { + this.importLoading = true + let legalName = ['xlsx', 'xls'] + // 鎷垮埌鍚庣紑鍚� + let name = file.name.substring(file.name.lastIndexOf('.') + 1, file.name.length) + if (legalName.includes(name)) { + // console.log(legalName.includes(name)); + } else { + this.$message.warning('璇蜂笂浼爔ls銆亁lsx鏂囦欢') + return false + } + }, + // 涓嬭浇瀵煎叆妯℃澘 + downloadImportTemplate() { + questionApi.downloadImportTemplate().then(res => { + downloadExcel(res, '棰樼洰瀵煎叆妯℃澘') + }) + }, statusQuestion(row) { let question = { id: row.id, -- Gitblit v1.8.0