mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/learning-system-portal.git
synced 2025-12-09 19:06:43 +08:00
修改教师端我的授课记录查询和导出
This commit is contained in:
@@ -65,12 +65,59 @@ const getListByToken = function(data) {
|
|||||||
return ajax2.get('/manageApi',`/admin/teacherRecord/getListByToken?courseName=${data.courseName}&page=${data.page}&pageSize=${data.pageSize}`);
|
return ajax2.get('/manageApi',`/admin/teacherRecord/getListByToken?courseName=${data.courseName}&page=${data.page}&pageSize=${data.pageSize}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出授课记录
|
||||||
|
*
|
||||||
|
* @param {Object} data
|
||||||
|
*/
|
||||||
|
const courseRecordExport2 = function(data) {
|
||||||
|
return axios.request({
|
||||||
|
baseURL,
|
||||||
|
url: '/manageApi/admin/export/exportInTeacherRecord',
|
||||||
|
method: 'post',
|
||||||
|
data:data,
|
||||||
|
headers:{'Content-Type':'application/json;charset=utf-8'},
|
||||||
|
responseType: 'blob'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出课程下的学员信息
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
const exportStudentOfCourse2 = function(courseId,courseType) {
|
||||||
|
return axios.request({
|
||||||
|
baseURL,
|
||||||
|
url: '/manageApi/admin/export/exportTeacherRecordStudentInfo?courseId='+courseId+'&courseType='+courseType,
|
||||||
|
method: 'get'
|
||||||
|
// headers:{'Content-Type':'application/json;charset=utf-8'},
|
||||||
|
// responseType: 'blob'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出教师下的所有授课记录下的学员信息
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
const exportStudentOfTearcher2 = function(userId) {
|
||||||
|
return axios.request({
|
||||||
|
baseURL,
|
||||||
|
url: '/b1/system/teacher/teacher-course-student-export?userId='+userId,
|
||||||
|
method: 'post',
|
||||||
|
headers:{'Content-Type':'application/json;charset=utf-8'},
|
||||||
|
responseType: 'blob'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
courseRecordExport,
|
courseRecordExport,
|
||||||
|
courseRecordExport2,
|
||||||
courseRecordList,
|
courseRecordList,
|
||||||
getListByToken,
|
getListByToken,
|
||||||
exportStudentOfCourse,
|
exportStudentOfCourse,
|
||||||
exportStudentOfTearcher
|
exportStudentOfCourse2,
|
||||||
|
exportStudentOfTearcher,
|
||||||
|
exportStudentOfTearcher2,
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,206 +1,237 @@
|
|||||||
<template>
|
<template>
|
||||||
<div style="padding: 12px 32px 10px 12px;">
|
<div style="padding: 12px 32px 10px 12px;">
|
||||||
<div style="display: flex;justify-content: flex-start;">
|
<div style="display: flex;justify-content: flex-start;">
|
||||||
|
|
||||||
<div><el-input v-model="keyword" placeholder="输入课程名称搜索" clearable></el-input></div>
|
<div>
|
||||||
<div style="padding-left: 10px;"><el-button @click="recordList()" type="primary" icon="el-icon-search">搜索</el-button></div>
|
<el-input v-model="keyword" placeholder="输入课程名称搜索" clearable></el-input>
|
||||||
<div style="padding: 0px 5px;"><el-button icon="el-icon-refresh-right" @click="keyword = ''" type="primary" >重置</el-button></div>
|
</div>
|
||||||
<div style="padding: 0px 5px;"><el-button type="primary" @click="exportFile()" icon="el-icon-search" size="small" round>导出</el-button></div>
|
<div style="padding-left: 10px;">
|
||||||
<div style="padding: 0px 5px;"><el-button type="primary" @click="exportStudentOfTearcher()" icon="el-icon-search" size="small" round>导出学员信息</el-button></div>
|
<el-button @click="recordList()" type="primary" icon="el-icon-search">搜索</el-button>
|
||||||
</div>
|
</div>
|
||||||
<div class="Export">
|
<div style="padding: 0px 5px;">
|
||||||
<!-- <div style="padding-left: 10px;"><el-button type="primary" @click="exportFile()" icon="el-icon-search" size="small" round>导出</el-button></div> -->
|
<el-button icon="el-icon-refresh-right" @click="keyword = ''" type="primary">重置</el-button>
|
||||||
<!-- <div style="padding: 0px 5px;"><el-button icon="el-icon-refresh-right" type="primary" size="small" round>导出学员信息</el-button></div> -->
|
</div>
|
||||||
</div>
|
<div style="padding: 0px 5px;">
|
||||||
<div style="margin-top:20px;">
|
<el-button type="primary" @click="exportFile()" icon="el-icon-search" size="small" round>导出</el-button>
|
||||||
<el-table :data="pageData" border stripe>
|
</div>
|
||||||
<el-table-column
|
<div style="padding: 0px 5px;">
|
||||||
label="课程时间"
|
<el-button type="primary" @click="exportStudentOfTearcher()" icon="el-icon-search" size="small" round>
|
||||||
prop="courseTime"
|
导出学员信息
|
||||||
width="200px">
|
</el-button>
|
||||||
</el-table-column>
|
</div>
|
||||||
<el-table-column
|
</div>
|
||||||
label="课程名称"
|
<div class="Export">
|
||||||
prop="courseName"
|
<!-- <div style="padding-left: 10px;"><el-button type="primary" @click="exportFile()" icon="el-icon-search" size="small" round>导出</el-button></div> -->
|
||||||
width="200px">
|
<!-- <div style="padding: 0px 5px;"><el-button icon="el-icon-refresh-right" type="primary" size="small" round>导出学员信息</el-button></div> -->
|
||||||
</el-table-column>
|
</div>
|
||||||
<el-table-column
|
<div style="margin-top:20px;">
|
||||||
label="开课场地"
|
<el-table :data="pageData" border stripe>
|
||||||
prop="address"
|
<el-table-column
|
||||||
width="240px">
|
label="课程编号"
|
||||||
</el-table-column>
|
prop="index"
|
||||||
<el-table-column
|
width="100px">
|
||||||
label="所属课程"
|
|
||||||
prop="parentCourse"
|
|
||||||
width="120px">
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
label="所属项目"
|
|
||||||
prop="parentProject"
|
|
||||||
></el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
label="所属路径"
|
|
||||||
prop="parentRoute"
|
|
||||||
width="200px"
|
|
||||||
></el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
label="学习总人数"
|
|
||||||
prop="studentNumber"
|
|
||||||
width="100px"
|
|
||||||
></el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
label="时长(分钟)"
|
|
||||||
width="100px"
|
|
||||||
prop="period"
|
|
||||||
></el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
label="评分"
|
|
||||||
width="100px"
|
|
||||||
prop="score"
|
|
||||||
></el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
label="操作"
|
|
||||||
align="center"
|
|
||||||
width="150px"
|
|
||||||
prop="cz"
|
|
||||||
fixed="right"
|
|
||||||
>
|
|
||||||
<template v-slot="scope">
|
<template v-slot="scope">
|
||||||
<el-button type="text" @click="exportStudentOfCourse(scope.row.courseId)" size="small">导出学员信息</el-button>
|
<span>{{ scope.$index + 1 }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
<el-table-column
|
||||||
</div>
|
label="课程名称"
|
||||||
|
prop="courseName"
|
||||||
|
width="200px">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="课程日期"
|
||||||
|
prop="teachingDate"
|
||||||
|
width="200px">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="内容分类"
|
||||||
|
prop="courseTypeName"
|
||||||
|
width="200px">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="课程类型" prop="type" width="120px">
|
||||||
|
<template v-slot="scope">
|
||||||
|
<span>{{
|
||||||
|
{
|
||||||
|
"0": "在线课",
|
||||||
|
"1": "面授课",
|
||||||
|
"2": "课程开发",
|
||||||
|
"3": "作业员入模培训",
|
||||||
|
"4": "其他",
|
||||||
|
}[scope.row.type + '']
|
||||||
|
}}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="学习总人数"
|
||||||
|
prop="studys"
|
||||||
|
width="120px"
|
||||||
|
></el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="授课时长(分钟)"
|
||||||
|
prop="teaching"
|
||||||
|
width="120px"
|
||||||
|
></el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="评分"
|
||||||
|
prop="score"
|
||||||
|
width="100px"
|
||||||
|
></el-table-column>
|
||||||
|
<el-table-column label="开课状态" width="100px" prop="courseStatus">
|
||||||
|
<template v-slot="scope">
|
||||||
|
<span>{{
|
||||||
|
{
|
||||||
|
"0": "未开课",
|
||||||
|
"1": "已开课",
|
||||||
|
}[scope.row.courseStatus + '']
|
||||||
|
}}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="备注"
|
||||||
|
width="200px"
|
||||||
|
prop="remark"
|
||||||
|
></el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="操作"
|
||||||
|
align="center"
|
||||||
|
width="150px"
|
||||||
|
prop="cz"
|
||||||
|
fixed="right"
|
||||||
|
>
|
||||||
|
<template v-slot="scope">
|
||||||
|
<el-button type="text" @click="exportStudentOfCourse(scope.row.courseId, scope.row.courseType)"
|
||||||
|
size="small">导出学员信息
|
||||||
|
</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div style="text-align: center; margin-top:57px">
|
<div style="text-align: center; margin-top:57px">
|
||||||
<el-pagination
|
<el-pagination
|
||||||
background
|
background
|
||||||
@size-change="handleSizeChange"
|
@size-change="handleSizeChange"
|
||||||
@current-change="handleCurrentChange"
|
@current-change="handleCurrentChange"
|
||||||
:current-page="pageInfo.page"
|
:current-page="pageInfo.page"
|
||||||
:page-sizes="[10, 20, 30, 40]"
|
:page-sizes="[10, 20, 30, 40]"
|
||||||
:page-size="pageInfo.pageSize"
|
:page-size="pageInfo.pageSize"
|
||||||
layout="total, sizes, prev, pager, next, jumper"
|
layout="total, sizes, prev, pager, next, jumper"
|
||||||
:total="pageInfo.total"
|
:total="pageInfo.total"
|
||||||
></el-pagination>
|
></el-pagination>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import apiCourse from '../../api/boe/courseRecord.js';
|
import apiCourse from '../../api/boe/courseRecord.js';
|
||||||
import { mapGetters } from 'vuex';
|
import {mapGetters} from 'vuex';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
data(){
|
data() {
|
||||||
return {
|
return {
|
||||||
pageData:[],
|
pageData: [],
|
||||||
keyword:'',
|
keyword: '',
|
||||||
pageInfo:{},
|
pageInfo: {},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
mounted() {
|
||||||
|
this.recordList(1);
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
...mapGetters(['userInfo'])
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 导出所有记录
|
||||||
|
exportFile() {
|
||||||
|
let req = {
|
||||||
|
userId: this.userInfo.sysId
|
||||||
|
}
|
||||||
|
apiCourse.courseRecordExport2(req).then(res => {
|
||||||
|
const link = document.createElement('a');// 创建a标签
|
||||||
|
let blob = new Blob([res.data], {type: 'application/vnd.ms-excel'}); // 设置文件类型
|
||||||
|
link.style.display = "none";
|
||||||
|
link.href = URL.createObjectURL(blob); // 创建URL
|
||||||
|
link.setAttribute("download", "授课记录.xls");
|
||||||
|
document.body.appendChild(link);
|
||||||
|
link.click();
|
||||||
|
document.body.removeChild(link);
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
mounted() {
|
// 导出课程下的学员信息
|
||||||
this.recordList(1);
|
exportStudentOfCourse(courseId, courseType) {
|
||||||
|
apiCourse.exportStudentOfCourse2(courseId, courseType).then(res => {
|
||||||
|
const link = document.createElement('a');// 创建a标签
|
||||||
|
let blob = new Blob([res.data], {type: 'application/vnd.ms-excel'}); // 设置文件类型
|
||||||
|
link.style.display = "none";
|
||||||
|
link.href = URL.createObjectURL(blob); // 创建URL
|
||||||
|
link.setAttribute("download", "授课记录.xls");
|
||||||
|
document.body.appendChild(link);
|
||||||
|
link.click();
|
||||||
|
document.body.removeChild(link);
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
},
|
// 导出教师下的所有授课记录下的学员信息
|
||||||
computed: {
|
exportStudentOfTearcher() {
|
||||||
...mapGetters(['userInfo'])
|
let userId = this.userInfo.sysId;
|
||||||
},
|
apiCourse.exportStudentOfTearcher2(userId).then(res => {
|
||||||
|
const link = document.createElement('a');// 创建a标签
|
||||||
|
let blob = new Blob([res.data], {type: 'application/vnd.ms-excel'}); // 设置文件类型
|
||||||
|
link.style.display = "none";
|
||||||
|
link.href = URL.createObjectURL(blob); // 创建URL
|
||||||
|
link.setAttribute("download", "授课记录.xls");
|
||||||
|
document.body.appendChild(link);
|
||||||
|
link.click();
|
||||||
|
document.body.removeChild(link);
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
methods: {
|
recordList(pageIndex) {
|
||||||
|
// 如果pageIndex未定义或未赋值,则默认初始值
|
||||||
|
pageIndex = pageIndex || 1;
|
||||||
|
|
||||||
// 导出所有记录
|
let req = {
|
||||||
exportFile(){
|
userId: this.userInfo.sysId,
|
||||||
let req = {
|
courseName: this.keyword,
|
||||||
userId: this.userInfo.sysId
|
page: pageIndex,
|
||||||
// userId:"70F80F4E-34BA-10AB-894A-8FA812B19637"
|
pageSize: 10
|
||||||
}
|
}
|
||||||
apiCourse.courseRecordExport(req).then(res=>{
|
apiCourse.getListByToken(req).then(res => {
|
||||||
const link = document.createElement('a');// 创建a标签
|
if (res.status == 200) {
|
||||||
let blob = new Blob([res.data],{type: 'application/vnd.ms-excel'}); // 设置文件类型
|
this.pageData = res.result.records;
|
||||||
link.style.display = "none";
|
// this.pageInfo = res.result.pageInfo;
|
||||||
link.href = URL.createObjectURL(blob); // 创建URL
|
// this.pageInfo.total = Number(20);
|
||||||
link.setAttribute("download", "授课记录.xls");
|
} else {
|
||||||
document.body.appendChild(link);
|
|
||||||
link.click();
|
|
||||||
document.body.removeChild(link);
|
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
|
|
||||||
// 导出课程下的学员信息
|
|
||||||
exportStudentOfCourse(courseId){
|
|
||||||
let userId = this.userInfo.sysId;
|
|
||||||
apiCourse.exportStudentOfCourse(userId,courseId).then(res=>{
|
|
||||||
const link = document.createElement('a');// 创建a标签
|
|
||||||
let blob = new Blob([res.data],{type: 'application/vnd.ms-excel'}); // 设置文件类型
|
|
||||||
link.style.display = "none";
|
|
||||||
link.href = URL.createObjectURL(blob); // 创建URL
|
|
||||||
link.setAttribute("download", "授课记录.xls");
|
|
||||||
document.body.appendChild(link);
|
|
||||||
link.click();
|
|
||||||
document.body.removeChild(link);
|
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
// 导出教师下的所有授课记录下的学员信息
|
|
||||||
exportStudentOfTearcher(){
|
|
||||||
let userId = this.userInfo.sysId;
|
|
||||||
// let userId = '5D36C207-64F4-C512-312D-C9598257695C';
|
|
||||||
apiCourse.exportStudentOfTearcher(userId).then(res=>{
|
|
||||||
const link = document.createElement('a');// 创建a标签
|
|
||||||
let blob = new Blob([res.data],{type: 'application/vnd.ms-excel'}); // 设置文件类型
|
|
||||||
link.style.display = "none";
|
|
||||||
link.href = URL.createObjectURL(blob); // 创建URL
|
|
||||||
link.setAttribute("download", "授课记录.xls");
|
|
||||||
document.body.appendChild(link);
|
|
||||||
link.click();
|
|
||||||
document.body.removeChild(link);
|
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
|
|
||||||
recordList(pageIndex){
|
|
||||||
let req = {
|
|
||||||
// userId:"6B049FAF-C314-7CCF-0D28-0D23F4C42531",
|
|
||||||
userId: this.userInfo.sysId,
|
|
||||||
keyword:this.keyword,
|
|
||||||
page:pageIndex,
|
|
||||||
pageSize:10
|
|
||||||
}
|
|
||||||
apiCourse.courseRecordList(req).then(res=>{
|
|
||||||
if(res.status == 200) {
|
|
||||||
this.pageData = res.result.list;
|
|
||||||
this.pageInfo = res.result.pageInfo;
|
|
||||||
} else {
|
|
||||||
this.$message({
|
this.$message({
|
||||||
type: 'error',
|
type: 'error',
|
||||||
message: res.message
|
message: res.message
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
// 每页显示的条数事件
|
// 每页显示的条数事件
|
||||||
handleSizeChange(val){
|
handleSizeChange(val) {
|
||||||
this.pageInfo.pageSize = val;
|
this.pageInfo.pageSize = val;
|
||||||
this.recordList(1);
|
this.recordList(1);
|
||||||
},
|
},
|
||||||
// 显示制定页的数据
|
// 显示制定页的数据
|
||||||
handleCurrentChange(val){
|
handleCurrentChange(val) {
|
||||||
this.pageInfo.pageIndex = val;
|
this.pageInfo.pageIndex = val;
|
||||||
this.recordList(this.pageInfo.pageIndex);
|
this.recordList(this.pageInfo.pageIndex);
|
||||||
},
|
},
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.Export{
|
.Export {
|
||||||
display: flex;
|
display: flex;
|
||||||
padding-top: 10px;
|
padding-top: 10px;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
Reference in New Issue
Block a user