2026-06-25 a26b31cc9f3ee9b21b1a754e80fa7359e8a7a8f8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
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 })
  }
}