提交 9bd6f676 authored 作者: lhh's avatar lhh

update

上级 e7b62f29
......@@ -123,3 +123,10 @@ export function updateCourseStatus(data) {
export function deleteStudent(data) {
return httpRequest.post('/api/zy-admin/school/student/delete', data)
}
/**
* 搜索考试
*/
export function downloadProcess(params) {
return httpRequest.get('/api/zy-admin/school/student/download-process', { params })
}
......@@ -13,6 +13,9 @@
v-permission="'menu_class_import_student'"
>导入</el-button
>
<el-button type="primary" icon="el-icon-download" style="margin-left: 20px" @click="downloadProcess"
>导出学员学习进度</el-button
>
<el-button
:disabled="!multipleSelection.length"
style="margin-left: 20px"
......@@ -24,14 +27,17 @@
>
</template>
<template v-slot:table-x="{ row }">
<div style="display: flex">
<el-button @click="goPage(row)" type="primary" size="mini" plain>学习进度</el-button>
<el-button @click="onRemove(row)" type="danger" size="mini" plain>删除</el-button>
</div>
</template>
<AddStudent v-if="isShowDialog" :visible.sync="isShowDialog" @success="success" />
</app-list>
</template>
<script>
import { addStudents, getClassDetail } from '../api'
import { addStudents, getClassDetail, downloadProcess } from '../api'
import AddStudent from './AddStudent.vue'
export default {
components: {
......@@ -66,12 +72,31 @@ export default {
{ label: '学号', align: 'center', prop: 'sno' },
{ label: '手机号', align: 'center', prop: 'telephone' },
{ label: '邮箱', align: 'center', prop: 'email' },
{ label: '操作', slots: 'table-x', align: 'center', width: '120', fixed: 'right' }
{ label: '操作', slots: 'table-x', align: 'center', fixed: 'right' }
]
}
}
},
methods: {
goPage(row) {
window.open(`/personnel/student/process?id=${row.id}`)
},
downloadProcess() {
downloadProcess({ class_id: this.$route.query.id }).then(res => {
console.log(res, 'res')
const blob = new Blob([res], { type: 'application/vnd.ms-excel' })
if ('download' in document.createElement('a')) {
const elink = document.createElement('a')
elink.download = '学员学习进度数据.xlsx'
elink.style.display = 'none'
elink.href = URL.createObjectURL(blob)
document.body.appendChild(elink)
elink.click()
URL.revokeObjectURL(elink.href)
document.body.removeChild(elink)
}
})
},
handleSelectionChange(selection) {
this.multipleSelection = selection
},
......
......@@ -16,12 +16,12 @@ export default defineConfig(({ mode }) => {
cert: fs.readFileSync(path.join(__dirname, './https/dev.ezijing.com.pem'))
},
proxy: {
'/api/zy-admin': {
target: 'https://zy-school-api.ezijing.com',
changeOrigin: true,
rewrite: path => path.replace('/api/zy-admin/', '/')
},
'/api': 'https://learn-api.ezijing.com'
// '/api/zy-admin': {
// target: 'https://zy-school-api.ezijing.com',
// changeOrigin: true,
// rewrite: path => path.replace('/api/zy-admin/', '/')
// },
'/api': 'https://x-admin.ezijing.com/'
}
},
resolve: {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论