提交 a62a509d authored 作者: 王鹏飞's avatar 王鹏飞

chore: 新增学员导出

上级 c5aaa0bd
...@@ -35,3 +35,8 @@ export function getSignInList(params: { id: string; page?: number; page_size?: n ...@@ -35,3 +35,8 @@ export function getSignInList(params: { id: string; page?: number; page_size?: n
export function syncUser() { export function syncUser() {
return httpRequest.get('/api/psp/backend/user/sync') return httpRequest.get('/api/psp/backend/user/sync')
} }
// 导出学员列表
export function exportUser(params?: { name?: string; mobile?: string }) {
return httpRequest.get('/api/psp/backend/user/download', { params })
}
<script setup lang="ts"> <script setup lang="ts">
import { ElMessage } from 'element-plus' import { ElMessage } from 'element-plus'
import { getUserList, syncUser } from '../api' import { getUserList, syncUser } from '../api'
import qs from 'qs'
const listParams = reactive({ name: '', mobile: '' })
// 列表配置 // 列表配置
const listOptions = { const listOptions = {
remote: { remote: {
httpRequest: getUserList, httpRequest: getUserList,
params: { name: '', mobile: '' } params: listParams,
beforeRequest(params: any) {
Object.assign(listParams, params)
return params
}
}, },
filters: [ filters: [
{ type: 'input', prop: 'name', placeholder: '姓名' }, { type: 'input', prop: 'name', placeholder: '姓名' },
...@@ -28,6 +33,10 @@ const onSyncUser = () => { ...@@ -28,6 +33,10 @@ const onSyncUser = () => {
ElMessage.success('同步成功') ElMessage.success('同步成功')
}) })
} }
// 导出
function handleExport() {
window.open('/api/psp/backend/user/download?' + qs.stringify(listParams))
}
</script> </script>
<template> <template>
...@@ -35,6 +44,7 @@ const onSyncUser = () => { ...@@ -35,6 +44,7 @@ const onSyncUser = () => {
<AppList v-bind="listOptions" ref="appList"> <AppList v-bind="listOptions" ref="appList">
<template #header-aside> <template #header-aside>
<el-button type="primary" @click="onSyncUser">同步</el-button> <el-button type="primary" @click="onSyncUser">同步</el-button>
<el-button type="primary" @click="handleExport">导出</el-button>
</template> </template>
<template #table-label="{ row }"> <template #table-label="{ row }">
<el-tag v-for="item in row.label" :key="item" round> {{ item }} </el-tag> <el-tag v-for="item in row.label" :key="item" round> {{ item }} </el-tag>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论