From 40ff3685bc1c4dec8923b6bf3980361bb5c7fc80 Mon Sep 17 00:00:00 2001
From: odc.xiaohui <xiaohui@Q1>
Date: 星期五, 24 十一月 2023 17:11:48 +0800
Subject: [PATCH] 修改青羊后台部门bug
---
src/views/exam/personalRandomTemplate/edit.vue | 462 ++++++++++++++++++++++++++++++++++++++++++
src/views/exam/personalRandomTemplate/list.vue | 152 +++++++++++++
src/router.js | 13 +
src/views/exam/paper/edit.vue | 14
4 files changed, 636 insertions(+), 5 deletions(-)
diff --git a/src/router.js b/src/router.js
index dd4ace5..4bb28d1 100644
--- a/src/router.js
+++ b/src/router.js
@@ -121,6 +121,19 @@
meta: { title: '涓汉妯℃嫙', noCache: true }
},
{
+ path: 'personalRandomTemplate/list',
+ component: () => import('@/views/exam/personalRandomTemplate/list'),
+ name: 'personalSimulation',
+ meta: { title: '涓汉闅忔満妯℃澘', noCache: true }
+ },
+ {
+ path: 'personalRandomTemplate/edit',
+ component: () => import('@/views/exam/personalRandomTemplate/edit'),
+ name: 'personalSimulationEdit',
+ meta: { title: '涓汉闅忔満妯℃澘缂栬緫', noCache: true, activeMenu: '/exam/personalRandomTemplate/list' },
+ hidden: true
+ },
+ {
path: 'personalSimulation/edit',
component: () => import('@/views/exam/personalSimulation/edit'),
name: 'personalSimulationEdit',
diff --git a/src/views/exam/paper/edit.vue b/src/views/exam/paper/edit.vue
index fa3904a..a3b03fd 100644
--- a/src/views/exam/paper/edit.vue
+++ b/src/views/exam/paper/edit.vue
@@ -1,8 +1,8 @@
<template>
<div class="app-container">
<el-form :model="form" ref="form" label-width="200px" v-loading="formLoading" :rules="rules">
- <el-form-item label="鑰冪敓锛�" prop="userIds" required>
- <el-cascader v-model="form.userIds" :options="options" :props="props" clearable collapse-tags>
+ <el-form-item label="鑰冪敓锛�" prop="menuIds" required>
+ <el-cascader v-model="form.menuIds" :options="options" :props="props" @change="handleChange" clearable collapse-tags>
</el-cascader>
</el-form-item>
<el-form-item label="璇剧洰锛�" prop="subjectId" required>
@@ -172,7 +172,7 @@
subjectFilter: null,
formLoading: false,
rules: {
- userIds: [
+ menuIds: [
{ required: true, message: '璇烽�夋嫨', trigger: 'change' }
],
subjectId: [
@@ -215,7 +215,7 @@
_this.formLoading = true
examPaperApi.select(id).then(re => {
_this.form = re.response
- _this.form.userIds = re.response.userId
+ _this.form.menuIds = JSON.parse(re.response.menuIds)
console.log(_this.form)
_this.formLoading = false
})
@@ -227,6 +227,9 @@
})
},
methods: {
+ handleChange(val){
+ console.log(val)
+ },
titlejs(val){
console.log(val)
let str = ''
@@ -303,9 +306,10 @@
this.form.subjectId= this.form.subjectId
};
let op = [];
- for(var ele of this.form.userIds){
+ for(var ele of this.form.menuIds){
op.push(ele[1])
};
+ this.form.menuIds = JSON.stringify(this.form.menuIds);
this.form.userIds = op;
console.log("laks",this.form)
if(this.form.questionTypeVMS == null){
diff --git a/src/views/exam/personalRandomTemplate/edit.vue b/src/views/exam/personalRandomTemplate/edit.vue
new file mode 100644
index 0000000..e95830c
--- /dev/null
+++ b/src/views/exam/personalRandomTemplate/edit.vue
@@ -0,0 +1,462 @@
+<template>
+ <div class="app-container">
+ <el-form :model="form" ref="form" label-width="200px" v-loading="formLoading" :rules="rules">
+ <el-form-item label="鑰冪敓锛�" prop="menuIds" required>
+ <el-cascader v-model="form.menuIds" :options="options" :props="props" clearable collapse-tags>
+ </el-cascader>
+ </el-form-item>
+ <el-form-item label="璇剧洰锛�" prop="subjectId" required >
+ <el-select ref="subjectIdRef" v-model="form.subjectId" placeholder="璇剧洰" multiple
+ collapse-tags @visible-change="subjectIdEvent">
+ <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="璇曞嵎绫诲瀷锛�" prop="paperType" required >
+ <el-select v-model="form.paperType" placeholder="璇曞嵎绫诲瀷" @visible-change="subjectIdEvent" disabled>
+ <el-option v-for="item in paperTypeEnum" :key="item.key" :value="item.key" :label="item.value" ></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鏃堕棿闄愬埗锛�" required v-show="form.paperType===4">
+ <el-date-picker v-model="form.limitDateTime" value-format="yyyy-MM-dd HH:mm:ss" type="datetimerange"
+ range-separator="鑷�" start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡">
+ </el-date-picker>
+ </el-form-item>
+ <el-form-item label="璇曞嵎鍚嶇О锛�" prop="name" required >
+ <el-row :gutter="20">
+ <el-col :span="9">
+ <el-input v-model="form.name"/>
+ </el-col>
+ <el-col :span="2" v-if="form.paperType==7">
+ <span>鎬绘暟鍒嗭細</span>
+ </el-col>
+ <el-col :span="9" v-if="form.paperType==7">
+ <el-input disabled v-model="form.aggregateSource"/>
+ </el-col>
+ </el-row>
+ </el-form-item>
+ <el-form-item :key="item.subjectId" :label="item.label" required v-for="(item,key) in form.questionTypeVMS" v-if="form.paperType ==7">
+ <el-row >
+ <el-col :span="3" >
+ <span>澶氶�夐锛� </span>
+
+ </el-col>
+ <el-col :span="3">
+ <el-input v-model="form.questionTypeVMS[key].multipleChoice" style="width: 80%"/>
+ </el-col>
+ <el-col :span="3" >
+ <span>鍗曢�夐锛�</span>
+ </el-col>
+ <el-col :span="3">
+ <el-input v-model="form.questionTypeVMS[key].singleChoice" style="width: 80%"/>
+ </el-col>
+ <el-col :span="3" >
+ <span>鍒ゆ柇棰橈細</span>
+ </el-col>
+ <el-col :span="3">
+ <el-input v-model="form.questionTypeVMS[key].trueFalse" style="width: 80%"/>
+ </el-col>
+ </el-row>
+ </el-form-item>
+ <!-- <el-form-item label="鎬绘暟鍒嗭細" v-if="form.paperType==7" prop="name" required>-->
+ <!-- <el-input v-model="form.name"/>-->
+ <!-- </el-form-item>-->
+ <el-form-item :key="index" :label="'鏍囬'+(index+1)+'锛�'" required v-for="(titleItem,index) in form.titleItems">
+ <el-input v-model="titleItem.name" style="width: 80%"/>
+ <el-button v-if="form.paperType!=7" type="text" class="link-left" style="margin-left: 20px" size="mini" @click="addQuestion(titleItem)">
+ 娣诲姞棰樼洰
+ </el-button>
+ <el-button type="text" class="link-left" size="mini" @click="form.titleItems.splice(index,1)">鍒犻櫎</el-button>
+ <el-card class="exampaper-item-box" v-if="titleItem.questionItems&&titleItem.questionItems.length!==0&&subjectIdList.length<2">
+ <el-form-item :key="questionIndex" :label="'棰樼洰'+(questionIndex+1)+'锛�'"
+ v-for="(questionItem,questionIndex) in titleItem.questionItems" style="margin-bottom: 15px">
+ <el-row>
+ <el-col :span="23">
+ <QuestionShow :qType="questionItem.questionType" :question="questionItem"/>
+ </el-col>
+ <el-col :span="1">
+ <el-button type="text" size="mini" @click="titleItem.questionItems.splice(questionIndex,1)">鍒犻櫎
+ </el-button>
+ </el-col>
+ </el-row>
+ </el-form-item>
+ </el-card>
+ </el-form-item>
+ <el-form-item label="寤鸿鏃堕暱锛�" prop="suggestTime" required>
+ <el-input v-model="form.suggestTime" placeholder="鍒嗛挓"/>
+ </el-form-item>
+ <el-form-item>
+ <el-button type="primary" @click="submitForm">鎻愪氦</el-button>
+ <el-button @click="resetForm">閲嶇疆</el-button>
+ <el-button type="success" @click="addTitle">娣诲姞鏍囬</el-button>
+ </el-form-item>
+ </el-form>
+ <el-dialog :visible.sync="questionPage.showDialog" width="70%">
+ <el-form :model="questionPage.queryParam" ref="queryForm" :inline="true">
+ <el-form-item label="ID锛�">
+ <el-input v-model="questionPage.queryParam.id" clearable></el-input>
+ </el-form-item>
+ <el-form-item label="棰樺瀷锛�">
+ <el-select v-model="questionPage.queryParam.questionType" clearable>
+ <el-option v-for="item in questionTypeEnum" :key="item.key" :value="item.key" :label="item.value"></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item>
+ <el-button type="primary" @click="queryForm">鏌ヨ</el-button>
+ </el-form-item>
+ </el-form>
+ <el-table v-loading="questionPage.listLoading" :data="questionPage.tableData"
+ @selection-change="handleSelectionChange" border fit highlight-current-row style="width: 100%">
+ <el-table-column type="selection" width="35"></el-table-column>
+ <el-table-column prop="questionType" label="棰樺瀷" :formatter="questionTypeFormatter" width="70px"/>
+ <el-table-column prop="shortTitle" label="棰樺共" show-overflow-tooltip/>
+ </el-table>
+ <pagination v-show="questionPage.total>0" :total="questionPage.total"
+ :page.sync="questionPage.queryParam.pageIndex" :limit.sync="questionPage.queryParam.pageSize"
+ @pagination="search"/>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="questionPage.showDialog = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="confirmQuestionSelect">纭畾</el-button>
+ </span>
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+
+import { mapGetters, mapState, mapActions } from 'vuex'
+import Pagination from '@/components/Pagination'
+import QuestionShow from '../question/components/Show'
+import examPaperApi from '@/api/examPaper'
+import questionApi from '@/api/question'
+import departmentApi from '@/api/department'
+
+export default {
+ components: { Pagination, QuestionShow },
+
+ data () {
+ return {
+ props: {
+ multiple: true
+ // lazy: true,
+ // lazyLoad (node, resolve) {
+ // console.log(node,"node");
+ // var that = this;
+ // departmentApi.selectUser(node.value).then(re=>{
+ // console.log(re,"re");
+ // const nodes = re.response.map(xxx=>{
+ // return {value: xxx.id,label: xxx.realName,leaf: node.level >= 1}
+ // });
+ // resolve(nodes);
+ // })
+ // }
+ },
+ options: [],
+ departCascaderProps:{
+ multiple: true
+ },
+ subjectIdList:[],
+ form: {
+ aggregateSource:'',
+ id: null,
+ departmentIds: [],
+
+ subjectId: [],
+ paperType: 7,
+ limitDateTime: [],
+ name: '',
+ suggestTime: null,
+ titleItems: [],
+ subjectSource:{},
+ questionTypeVMS:[]
+ },
+ subjectFilter: null,
+ formLoading: false,
+ rules: {
+
+ subjectId: [
+ { required: true, message: '璇烽�夋嫨璇剧洰', trigger: 'change' }
+ ],
+ paperType: [
+ { required: true, message: '璇烽�夋嫨璇曞嵎绫诲瀷', trigger: 'change' }
+ ],
+ name: [
+ { required: true, message: '璇疯緭鍏ヨ瘯鍗峰悕绉�', trigger: 'blur' }
+ ],
+ suggestTime: [
+ { required: true, message: '璇疯緭鍏ュ缓璁椂闀�', trigger: 'blur' }
+ ]
+ },
+ questionPage: {
+ multipleSelection: [],
+ showDialog: false,
+ queryParam: {
+ id: null,
+ questionType: null,
+ subjectId: 1,
+ pageIndex: 1,
+ pageSize: 5
+ },
+ listLoading: true,
+ tableData: [],
+ total: 0
+ },
+ currentTitleItem: null
+ }
+ },
+ created () {
+ examPaperApi.selflist().then(res => {
+ console.log(res)
+ this.subjectFilter = res.response
+ })
+ },
+ async mounted () {
+
+ let id = this.$route.query.id
+ let _this = this
+
+ this.initSubject(function () {
+ _this.subjectFilter = _this.subjects
+ })
+ if (id && parseInt(id) !== 0) {
+ _this.formLoading = true
+ await examPaperApi.selfselect(id).then(re => {
+ _this.form = re.response
+ _this.form.menuIds = JSON.parse(re.response.menuIds)
+ console.log(_this.form)
+ _this.formLoading = false
+ })
+ }
+ departmentApi.selectDepartmentUser().then(res => {
+ console.log("res", res);
+
+ _this.options = res.response.map(x => {
+ return {
+ value: x.department.id, label: x.department.name, children: x.userList.map(xx => {
+ return { value: xx.id, label: xx.realName }
+ })
+ }
+ })
+ })
+
+ // this.subjectIdEvent(false)
+ },
+ methods: {
+ titlejs(val){
+ console.log(val)
+ let str = ''
+ this.subjectFilter.forEach(item=>{
+ if (item.id == val){
+ str = item.name
+ }
+ })
+ return str
+ },
+ subjectIdEvent(e){
+ console.log(e,this.$refs.subjectIdRef.selected)
+ let arr=[]
+ if (e){
+
+ }else {
+ this.$refs.subjectIdRef.selected.forEach(item=>{
+ arr.push({
+ label:item.label,
+ subjectId:item.value,
+ singleChoice:'',
+ multipleChoice:'',
+ trueFalse:''
+ })
+ })
+ console.log(arr)
+ this.form.questionTypeVMS = arr
+ }
+
+ if (this.form.paperType ==7){
+ //瑾槑鏄毃姗�
+ this.subjectIdList = arr
+ let obj1={}
+ let arr1 = []
+ arr.forEach((item,index)=>{
+ // obj1[item.id]=''
+ arr1.push({
+ subjectId:item.id,
+ singleChoice:'',
+ multipleChoice:'',
+ trueFalse:''
+ })
+ // let obj={
+ // item
+ // }
+
+ // for (let i in obj) {
+ // i=item.id
+ // obj[i]= ''
+ // obj1[i] = ''
+ // console.log('閿悕锛�', i);
+ // console.log('閿�硷細', obj[i]);
+ // }
+ })
+ this.form.subjectSource = obj1
+
+ console.log(this.form.subjectSource)
+ console.log(this.form.questionTypeVMS)
+ // this.form.paperType = 7
+ this.form.titleItems = []
+ }else {
+ this.form.subjectSource={}
+ this.subjectIdList = []
+ // this.form.paperType = 1
+ }
+ },
+ submitForm () {
+ let _this = this
+ console.log(this.subjectIdList)
+ console.log(this.form.subjectSource)
+ this.$refs.form.validate((valid) => {
+ if (valid) {
+ this.formLoading = true;
+ if (this.subjectIdList.length == 1){
+ this.form.subjectId= this.form.subjectId
+ };
+ let op = [];
+ for(var ele of this.form.menuIds){
+ op.push(ele[1])
+ };
+ this.form.menuIds = JSON.stringify(this.form.menuIds);
+ this.form.userIds = op;
+ console.log("laks",this.form)
+ if(this.form.questionTypeVMS == null){
+ this.form.questionTypeVMS = [];
+ }
+ this.form.status = 0
+ examPaperApi.selfedit(this.form).then(re => {
+ if (re.code === 1) {
+ _this.$message.success(re.message)
+ _this.delCurrentView(_this).then(() => {
+ _this.$router.push('/exam/personalRandomTemplate/list')
+ })
+ } else {
+ _this.$message.error(re.message)
+ this.formLoading = false
+ }
+ }).catch(e => {
+ this.formLoading = false
+ })
+ } else {
+ return false
+ }
+ })
+ },
+ addTitle () {
+ this.form.titleItems.push({
+ name: '',
+ questionItems: []
+ })
+ },
+ addQuestion (titleItem) {
+ this.currentTitleItem = titleItem
+ this.questionPage.showDialog = true
+ this.search()
+ },
+ removeTitleItem (titleItem) {
+ this.form.titleItems.remove(titleItem)
+ },
+ removeQuestion (titleItem, questionItem) {
+ titleItem.questionItems.remove(questionItem)
+ },
+ queryForm () {
+ this.questionPage.queryParam.pageIndex = 1
+ this.search()
+ },
+ confirmQuestionSelect () {
+ let _this = this
+ this.questionPage.multipleSelection.forEach(q => {
+ questionApi.select(q.id).then(re => {
+ _this.currentTitleItem.questionItems.push(re.response)
+ })
+ })
+ this.questionPage.showDialog = false
+ },
+ levelChange () {
+ // this.form.subjectId = null
+ // this.subjectFilter = this.subjects.filter(data =>{
+ // return this.form.departmentIds.forEach(item=>{data.level == item})
+ // })
+ //
+ // this.subjectFilter = []
+ // this.form.departmentIds.forEach(item=>{
+ // this.subjects.forEach(jectitem=>{
+ // if (item==jectitem.level){
+ // this.subjectFilter.push(jectitem)
+ // }
+ // })
+ // })
+ console.log(this.subjects,this.form.departmentIds)
+ // this.subjectFilter = this.subjects
+ },
+ search () {
+ if (this.subjectIdList.length=1){
+ this.questionPage.queryParam.subjectId = this.form.subjectId
+ }
+
+ this.questionPage.listLoading = true
+ questionApi.pageList(this.questionPage.queryParam).then(data => {
+ const re = data.response
+ this.questionPage.tableData = re.list
+ this.questionPage.total = re.total
+ this.questionPage.queryParam.pageIndex = re.pageNum
+ this.questionPage.listLoading = false
+ })
+ },
+ handleSelectionChange (val) {
+ this.questionPage.multipleSelection = val
+ },
+ questionTypeFormatter (row, column, cellValue, index) {
+ return this.enumFormat(this.questionTypeEnum, cellValue)
+ },
+ subjectFormatter (row, column, cellValue, index) {
+ return this.subjectEnumFormat(cellValue)
+ },
+ resetForm () {
+ let lastId = this.form.id
+ this.$refs['form'].resetFields()
+ this.form= {
+ aggregateSource:100,
+ id: null,
+ departmentIds: [],
+ subjectId: [],
+ paperType: 1,
+ limitDateTime: [],
+ name: '',
+ suggestTime: null,
+ titleItems: [],
+ subjectSource:null,
+ questionTypeVMS:[]
+ }
+ this.form.id = lastId
+ },
+ ...mapActions('exam', { initSubject: 'initSubject' }),
+ ...mapActions('tagsView', { delCurrentView: 'delCurrentView' }),
+ },
+ computed: {
+
+ ...mapGetters('enumItem', ['enumFormat']),
+ ...mapState('enumItem', {
+ questionTypeEnum: state => state.exam.question.typeEnum,
+ paperTypeEnum: state => state.exam.examPaper.paperTypeEnum,
+ levelEnum: state => state.user.levelEnum
+ }),
+ ...mapState('exam', { subjects: state => state.subjects })
+ }
+}
+</script>
+
+<style lang="scss">
+.exampaper-item-box {
+ .q-title {
+ margin: 0px 5px 0px 5px;
+ }
+ .q-item-content {
+ }
+}
+</style>
diff --git a/src/views/exam/personalRandomTemplate/list.vue b/src/views/exam/personalRandomTemplate/list.vue
new file mode 100644
index 0000000..8a2107a
--- /dev/null
+++ b/src/views/exam/personalRandomTemplate/list.vue
@@ -0,0 +1,152 @@
+<template>
+ <div class="app-container">
+<!-- <el-form :model="queryParam" ref="queryForm" :inline="true">-->
+<!-- <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+' '"></el-option>-->
+<!-- </el-select>-->
+<!-- </el-form-item>-->
+<!-- <el-form-item>-->
+<!-- <el-button type="primary" @click="submitForm">鏌ヨ</el-button>-->
+<!-- <router-link :to="{path:'/exam/personalSimulation/edit'}" class="link-left">-->
+<!-- <el-button type="primary">娣诲姞</el-button>-->
+<!-- </router-link>-->
+<!-- </el-form-item>-->
+<!-- </el-form>-->
+ <router-link :to="{path:'/exam/personalRandomTemplate/edit'}" class="link-left">
+ <el-button type="primary">娣诲姞</el-button>
+ </router-link>
+ <el-table v-loading="listLoading" :data="tableData" border fit highlight-current-row style="width: 100%">
+ <el-table-column prop="subjectId" label="璇剧洰" :formatter="subjectFormatter" width="120px" />
+ <el-table-column prop="name" label="鍚嶇О" />
+ <el-table-column label="鎿嶄綔" align="center" width="260px">
+ <template slot-scope="{row}">
+ <el-button size="mini" @click="$router.push({path:'/exam/personalRandomTemplate/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" type="danger" @click="handleExport(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"/>
+ </div>
+</template>
+
+<script>
+import { mapActions, mapGetters, mapState } from 'vuex'
+import Pagination from '@/components/Pagination'
+import examPaperApi from '@/api/examPaper'
+
+export default {
+ components: { Pagination },
+ data () {
+ return {
+ queryParam: {
+ id: null,
+ level: null,
+ subjectId: null,
+ pageIndex: 1,
+ pageSize: 10
+ },
+ subjectFilter: null,
+ listLoading: true,
+ tableData: [],
+ total: 0
+ }
+ },
+ created () {
+ this.initSubject()
+ this.search()
+ this.queryParam.subjectId = null
+ this.subjectFilter = this.subjects
+ },
+ methods: {
+ handleExport(row){
+ let fileName = row.name +'.xls'
+ let url ='/api/admin/exam/count/exportTemplatesId/'+row.id
+ var x = new XMLHttpRequest();
+ x.open("GET", url, true);
+ x.responseType = "blob";
+ x.onload = function () {
+ var url = window.URL.createObjectURL(x.response);
+ var a = document.createElement("a");
+ a.href = url;
+ a.download = fileName;
+ a.click();
+ };
+ x.send();
+
+ // examPaperApi.uploadEnrolmentsa(row.id).then(res=> {
+ // console.log(res)
+
+
+
+ // const link = document.createElement('a'); //鍒涘缓涓�涓猘鏍囩
+ // const blob = new Blob([res.data]);//杩欓噷res.data鏍规嵁杩斿洖鍊兼潵瀹氱殑.data鏄痓lob瀵硅薄
+ // link.style.display = 'none';
+ // link.href = URL.createObjectURL(blob); //灏嗗悗绔繑鍥炵殑鏁版嵁閫氳繃blob杞崲涓轰竴涓湴鍧�
+ // //璁剧疆涓嬭浇涓嬫潵鍚庢枃浠剁殑鍚嶅瓧浠ュ強鏂囦欢鏍煎紡
+ // link.setAttribute(
+ // 'download',
+ // `xxx.` + `xlsx`,
+ // );
+ // document.body.appendChild(link);
+ // link.click(); //涓嬭浇璇ユ枃浠�
+ // document.body.removeChild(link);
+
+ // })
+ },
+ submitForm () {
+ this.queryParam.pageIndex = 1
+ this.search()
+ },
+ search () {
+ this.listLoading = true
+ this.queryParam.status = 0
+ examPaperApi.pageselfList(this.queryParam).then(data => {
+ const re = data.response
+ this.tableData = re.list
+ this.total = re.total
+ this.queryParam.pageIndex = re.pageNum
+ this.listLoading = false
+ })
+ },
+ deletePaper (row) {
+ let _this = this
+ examPaperApi.selfdeletePaper(row.id).then(re => {
+ if (re.code === 1) {
+ _this.search()
+ _this.$message.success(re.message)
+ } else {
+ _this.$message.error(re.message)
+ }
+ })
+ },
+ levelChange () {
+ this.queryParam.subjectId = null
+ this.subjectFilter = this.subjects
+ },
+ subjectFormatter (row, column, cellValue, index) {
+ console.log(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 })
+ }
+}
+</script>
--
Gitblit v1.8.0