From b62c6c9ab29e933fd0333ac183ef837d00aba5d2 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期五, 12 七月 2024 18:09:28 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
src/views/exam/question/list.vue | 67 ++++++++++++++-------------------
1 files changed, 28 insertions(+), 39 deletions(-)
diff --git a/src/views/exam/question/list.vue b/src/views/exam/question/list.vue
index 055d211..5b63dfe 100644
--- a/src/views/exam/question/list.vue
+++ b/src/views/exam/question/list.vue
@@ -7,15 +7,19 @@
<!-- <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 multiple>
+ <el-option v-for="item in subjectFilter" :key="item.id" :value="item.id" :label="item.name+' '"></el-option>
+ </el-select>
+ </el-form-item>
<el-form-item label="棰樺瀷锛�">
<el-select v-model="queryParam.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-input v-model="queryParam.questionName" clearable></el-input>
- </el-form-item>
+ <el-input v-model="queryParam.questionName" clearable></el-input>
+ </el-form-item>
<el-form-item>
<div style="display: flex">
<el-button class="op-item" type="primary" @click="submitForm">鏌ヨ</el-button>
@@ -33,22 +37,13 @@
<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-form-item label="璇剧洰锛�">
+ <el-select v-model="exportForm.subjectIds" clearable filterable multiple>
+ <el-option v-for="item in subjectIdList" :key="item.id" :value="item.id" :label="item.name"></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-button type="primary" @click="exportQuestion" v-loading="exportLoading">瀵煎嚭</el-button>
</el-form-item>
</el-form>
<el-button slot="reference" class="op-item" type="success">瀵煎嚭</el-button>
@@ -63,7 +58,7 @@
:show-file-list="false"
:file-list="fileList"
:before-upload="beforeAvatarUpload">
- <el-button type="primary">瀵煎叆</el-button>
+ <el-button v-loading="importLoading" type="primary">瀵煎叆</el-button>
<!-- <div slot="tip" class="el-upload__tip">鍙兘涓婁紶Excel鏂囦欢</div>-->
</el-upload>
</div>
@@ -99,17 +94,18 @@
import Pagination from '@/components/Pagination'
import QuestionShow from './components/Show'
import questionApi from '@/api/question'
+import SubjectApi from '@/api/subject'
import { downloadExcel } from '@/utils/download'
-
export default {
components: { Pagination, QuestionShow },
data () {
return {
+ importLoading: false,
+ exportLoading: false,
+ subjectIdList: [],
timeRange: [],
exportForm: {
- questionType: null,
- start: null,
- end: null
+ subjectIds: [],
},
upLoadUrl: '/api/admin/question/import',
fileList: [],
@@ -137,18 +133,17 @@
created () {
this.initSubject()
this.search()
+ this.getSubjectIds()
this.queryParam.subjectId = null
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]
- }
+ this.exportLoading = true
questionApi.exportQuestion(this.exportForm).then(res => {
downloadExcel(res, '棰樼洰瀵煎嚭')
+ this.exportLoading = false
})
},
// 涓嬭浇瀵煎叆妯℃澘
@@ -158,7 +153,7 @@
})
},
handlePreview (e) {
- console.log(e)
+ this.importLoading = false
if (e.code === 1) {
this.search()
this.$message.success(e.message)
@@ -167,6 +162,7 @@
}
},
beforeAvatarUpload (file) {
+ this.importLoading = true
let legalName = ['xlsx', 'xls']
// 鎷垮埌鍚庣紑鍚�
let name = file.name.substring(file.name.lastIndexOf('.') + 1, file.name.length)
@@ -176,17 +172,6 @@
this.$message.warning('鏂囦欢鏍煎紡涓嶅锛屼粎闄恱ls鍜寈lsx')
return false
}
- // console.log(file)
- // const isJPG = file.type === 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
- // // const isLt2M = file.size / 1024 / 1024 < 2;
- //
- // if (!isJPG) {
- // this.$message.error('涓婁紶鏂囦欢鍙兘鏄疎xcel!');
- // }
- // // if (!isLt2M) {
- // // this.$message.error('涓婁紶澶村儚鍥剧墖澶у皬涓嶈兘瓒呰繃 2MB!');
- // // }
- // return isJPG ;
},
submitForm () {
this.queryParam.pageIndex = 1
@@ -218,6 +203,11 @@
_this.questionShow.question = re.response
_this.questionShow.loading = false
})
+ },
+ getSubjectIds() {
+ SubjectApi.list().then(res => {
+ this.subjectIdList = res.response
+ });
},
editQuestion (row) {
let url = this.enumFormat(this.editUrlEnum, row.questionType)
@@ -251,7 +241,6 @@
...mapActions('exam', { initSubject: 'initSubject' })
},
computed: {
-
headers: function () {
// console.log(store.getters.Admin-Token)
// const tenantId = store.getters.userInfo.tenantId
--
Gitblit v1.8.0