From 49e5e59e00628d1a216f52de5c1a299d695cf6c0 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期五, 29 三月 2024 13:52:19 +0800 Subject: [PATCH] 题目导出 --- src/views/exam/question/list.vue | 69 ++++++++++++++++++++++++++-------- 1 files changed, 52 insertions(+), 17 deletions(-) diff --git a/src/views/exam/question/list.vue b/src/views/exam/question/list.vue index aa4f035..bb4d189 100644 --- a/src/views/exam/question/list.vue +++ b/src/views/exam/question/list.vue @@ -26,6 +26,33 @@ <el-button slot="reference" type="primary">娣诲姞</el-button> </el-popover> + <el-popover + placement="right" + width="400" + trigger="click"> + <el-form + label-position="top" + > + <el-form-item label="棰樺瀷锛�"> + <el-select v-model="exportForm.questionType" clearable> + <el-option v-for="item in questionType" :key="item.key" :value="item.key" :label="item.value"></el-option> + </el-select> + </el-form-item> + <el-form-item label="鍒涘缓鏃堕棿锛�"> + <el-date-picker + v-model="timeRange" + type="daterange" + range-separator="鑷�" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡"> + </el-date-picker> + <el-form-item style="text-align: center;margin-top: 5px"> + <el-button type="primary" @click="exportQuestion">瀵煎嚭</el-button> + </el-form-item> + </el-form-item> + </el-form> + <el-button slot="reference" class="op-item" type="success">瀵煎嚭</el-button> + </el-popover> <el-button class="op-item" type="danger" @click="downloadImportTemplate">涓嬭浇瀵煎叆妯℃澘</el-button> <el-upload class="op-item" @@ -45,12 +72,6 @@ </el-form> <el-table v-loading="listLoading" :data="tableData" border fit highlight-current-row style="width: 100%"> <el-table-column prop="subjectId" label="璇剧洰" :formatter="subjectIdFormatte" width="120px"/> -<!-- <el-table-column prop="subjectId" label="璇剧洰">--> -<!-- <template slot-scope="scope">--> -<!--<!– <span>{{this.subjectIdFormatte}}</span>–>--> -<!-- <span>{{scope.row.questionSubjects.forEach(item=>{ return item.subName})}}</span>--> -<!-- </template>--> -<!-- </el-table-column>--> <el-table-column prop="questionType" label="棰樺瀷" :formatter="questionTypeFormatter" width="70px"/> <el-table-column prop="shortTitle" label="棰樺共" show-overflow-tooltip/> <el-table-column prop="score" label="鍒嗘暟" width="60px"/> @@ -77,15 +98,20 @@ import Pagination from '@/components/Pagination' import QuestionShow from './components/Show' import questionApi from '@/api/question' -import {downloadExcel} from '@/utils/download' +import { downloadExcel } from '@/utils/download' -import Cookies from 'js-cookie' export default { components: { Pagination, QuestionShow }, data () { return { - upLoadUrl:'/api/admin/question/import', - fileList:[], + timeRange: [], + exportForm: { + questionType: null, + start: null, + end: null + }, + upLoadUrl: '/api/admin/question/import', + fileList: [], queryParam: { id: null, questionType: null, @@ -114,10 +140,20 @@ this.subjectFilter = this.subjects }, methods: { + // 瀵煎嚭棰樼洰 + exportQuestion () { + if (this.timeRange && this.timeRange.length > 1) { + this.exportForm.startStr = this.timeRange[0] + this.exportForm.endStr = this.timeRange[1] + } + questionApi.exportQuestion(this.exportForm).then(res => { + downloadExcel(res, '棰樼洰瀵煎嚭') + }) + }, // 涓嬭浇瀵煎叆妯℃澘 downloadImportTemplate () { questionApi.downloadImportTemplate().then(res => { - downloadExcel(res, '棰樼洰瀵煎嚭') + downloadExcel(res, '棰樼洰瀵煎叆妯℃澘') }) }, handlePreview (e) { @@ -200,13 +236,13 @@ questionTypeFormatter (row, column, cellValue, index) { return this.enumFormat(this.questionType, cellValue) }, - subjectIdFormatte(row, column, cellValue, index){ + subjectIdFormatte (row, column, cellValue, index) { console.log(row, column, cellValue, index) let str = '' - row.questionSubjects.forEach(item=>{ - str+=item.subName+',' + row.questionSubjects.forEach(item => { + str += item.subName + ',' }) - return str = str.slice(0,str.length-1) + return str = str.slice(0, str.length - 1) }, subjectFormatter (row, column, cellValue, index) { return this.subjectEnumFormat(cellValue) @@ -216,12 +252,11 @@ computed: { headers: function () { - console.log( Cookies.get('adminUserName'),) // console.log(store.getters.Admin-Token) // const tenantId = store.getters.userInfo.tenantId return { // 'Authorization': "Bearer " + store.getters.Admin-Token, - "Cookie":"JSESSIONID=shpHmjIK1ysHPDyAQB4-M-N3WytgJ3UIwYrfcA2t; adminUserName=admin" + 'Cookie': 'JSESSIONID=shpHmjIK1ysHPDyAQB4-M-N3WytgJ3UIwYrfcA2t; adminUserName=admin' } }, ...mapGetters('enumItem', ['enumFormat']), -- Gitblit v1.8.0