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

update

上级 e7b62f29
...@@ -123,3 +123,10 @@ export function updateCourseStatus(data) { ...@@ -123,3 +123,10 @@ export function updateCourseStatus(data) {
export function deleteStudent(data) { export function deleteStudent(data) {
return httpRequest.post('/api/zy-admin/school/student/delete', 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 @@ ...@@ -13,6 +13,9 @@
v-permission="'menu_class_import_student'" v-permission="'menu_class_import_student'"
>导入</el-button >导入</el-button
> >
<el-button type="primary" icon="el-icon-download" style="margin-left: 20px" @click="downloadProcess"
>导出学员学习进度</el-button
>
<el-button <el-button
:disabled="!multipleSelection.length" :disabled="!multipleSelection.length"
style="margin-left: 20px" style="margin-left: 20px"
...@@ -24,14 +27,17 @@ ...@@ -24,14 +27,17 @@
> >
</template> </template>
<template v-slot:table-x="{ row }"> <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> <el-button @click="onRemove(row)" type="danger" size="mini" plain>删除</el-button>
</div>
</template> </template>
<AddStudent v-if="isShowDialog" :visible.sync="isShowDialog" @success="success" /> <AddStudent v-if="isShowDialog" :visible.sync="isShowDialog" @success="success" />
</app-list> </app-list>
</template> </template>
<script> <script>
import { addStudents, getClassDetail } from '../api' import { addStudents, getClassDetail, downloadProcess } from '../api'
import AddStudent from './AddStudent.vue' import AddStudent from './AddStudent.vue'
export default { export default {
components: { components: {
...@@ -66,12 +72,31 @@ export default { ...@@ -66,12 +72,31 @@ export default {
{ label: '学号', align: 'center', prop: 'sno' }, { label: '学号', align: 'center', prop: 'sno' },
{ label: '手机号', align: 'center', prop: 'telephone' }, { label: '手机号', align: 'center', prop: 'telephone' },
{ label: '邮箱', align: 'center', prop: 'email' }, { label: '邮箱', align: 'center', prop: 'email' },
{ label: '操作', slots: 'table-x', align: 'center', width: '120', fixed: 'right' } { label: '操作', slots: 'table-x', align: 'center', fixed: 'right' }
] ]
} }
} }
}, },
methods: { 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) { handleSelectionChange(selection) {
this.multipleSelection = selection this.multipleSelection = selection
}, },
......
...@@ -16,12 +16,12 @@ export default defineConfig(({ mode }) => { ...@@ -16,12 +16,12 @@ export default defineConfig(({ mode }) => {
cert: fs.readFileSync(path.join(__dirname, './https/dev.ezijing.com.pem')) cert: fs.readFileSync(path.join(__dirname, './https/dev.ezijing.com.pem'))
}, },
proxy: { proxy: {
'/api/zy-admin': { // '/api/zy-admin': {
target: 'https://zy-school-api.ezijing.com', // target: 'https://zy-school-api.ezijing.com',
changeOrigin: true, // changeOrigin: true,
rewrite: path => path.replace('/api/zy-admin/', '/') // rewrite: path => path.replace('/api/zy-admin/', '/')
}, // },
'/api': 'https://learn-api.ezijing.com' '/api': 'https://x-admin.ezijing.com/'
} }
}, },
resolve: { resolve: {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论