import request from '@/config/axios'
|
import type { Dayjs } from 'dayjs';
|
|
/** 学生联系人信息 */
|
export interface StudentContact {
|
id: number; // 编号
|
studentId?: number; // 学生编号
|
name?: string; // 名字
|
description?: string; // 简介
|
birthday?: string | Dayjs; // 出生日期
|
sex?: number; // 性别
|
enabled?: boolean; // 是否有效
|
avatar?: string; // 头像
|
video: string; // 附件
|
memo?: string; // 备注
|
}
|
|
/** 学生班主任信息 */
|
export interface StudentTeacher {
|
id: number; // 编号
|
studentId?: number; // 学生编号
|
name?: string; // 名字
|
description?: string; // 简介
|
birthday?: string | Dayjs; // 出生日期
|
sex?: number; // 性别
|
enabled?: boolean; // 是否有效
|
avatar?: string; // 头像
|
video: string; // 附件
|
memo?: string; // 备注
|
}
|
|
/** 学生信息 */
|
export interface Student {
|
id: number; // 编号
|
name?: string; // 名字
|
description?: string; // 简介
|
birthday?: string | Dayjs; // 出生日期
|
sex?: number; // 性别
|
enabled?: boolean; // 是否有效
|
avatar?: string; // 头像
|
video?: string; // 附件
|
memo?: string; // 备注
|
studentcontacts?: StudentContact[]
|
studentteacher?: StudentTeacher
|
}
|
|
// 学生 API
|
export const StudentApi = {
|
// 查询学生分页
|
getStudentPage: async (params: any) => {
|
return await request.get({ url: `/infra/student/page`, params })
|
},
|
|
// 查询学生详情
|
getStudent: async (id: number) => {
|
return await request.get({ url: `/infra/student/get?id=` + id })
|
},
|
|
// 新增学生
|
createStudent: async (data: Student) => {
|
return await request.post({ url: `/infra/student/create`, data })
|
},
|
|
// 修改学生
|
updateStudent: async (data: Student) => {
|
return await request.put({ url: `/infra/student/update`, data })
|
},
|
|
// 删除学生
|
deleteStudent: async (id: number) => {
|
return await request.delete({ url: `/infra/student/delete?id=` + id })
|
},
|
|
/** 批量删除学生 */
|
deleteStudentList: async (ids: number[]) => {
|
return await request.delete({ url: `/infra/student/delete-list?ids=${ids.join(',')}` })
|
},
|
|
// 导出学生 Excel
|
exportStudent: async (params) => {
|
return await request.download({ url: `/infra/student/export-excel`, params })
|
},
|
|
// ==================== 子表(学生联系人) ====================
|
|
// 获得学生联系人列表
|
getStudentContactListByStudentId: async (studentId) => {
|
return await request.get({ url: `/infra/student/student-contact/list-by-student-id?studentId=` + studentId })
|
},
|
|
// ==================== 子表(学生班主任) ====================
|
|
// 获得学生班主任
|
getStudentTeacherByStudentId: async (studentId) => {
|
return await request.get({ url: `/infra/student/student-teacher/get-by-student-id?studentId=` + studentId })
|
}
|
}
|