index.ts 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. import request from '@/config/axios'
  2. import type { Dayjs } from 'dayjs';
  3. /** 学生课程信息 */
  4. export interface Demo03Course {
  5. id: number; // 编号
  6. studentId?: number; // 学生编号
  7. name?: string; // 名字
  8. score?: number; // 分数
  9. }
  10. /** 学生班级信息 */
  11. export interface Demo03Grade {
  12. id: number; // 编号
  13. studentId?: number; // 学生编号
  14. name?: string; // 名字
  15. teacher?: string; // 班主任
  16. }
  17. /** 学生信息 */
  18. export interface Demo03Student {
  19. id: number; // 编号
  20. name?: string; // 名字
  21. sex?: number; // 性别
  22. birthday?: string | Dayjs; // 出生日期
  23. description?: string; // 简介
  24. demo03courses?: Demo03Course[]
  25. demo03grade?: Demo03Grade
  26. }
  27. // 学生 API
  28. export const Demo03StudentApi = {
  29. // 查询学生分页
  30. getDemo03StudentPage: async (params: any) => {
  31. return await request.get({ url: `/infra/demo03-student-inner/page`, params })
  32. },
  33. // 查询学生详情
  34. getDemo03Student: async (id: number) => {
  35. return await request.get({ url: `/infra/demo03-student-inner/get?id=` + id })
  36. },
  37. // 新增学生
  38. createDemo03Student: async (data: Demo03Student) => {
  39. return await request.post({ url: `/infra/demo03-student-inner/create`, data })
  40. },
  41. // 修改学生
  42. updateDemo03Student: async (data: Demo03Student) => {
  43. return await request.put({ url: `/infra/demo03-student-inner/update`, data })
  44. },
  45. // 删除学生
  46. deleteDemo03Student: async (id: number) => {
  47. return await request.delete({ url: `/infra/demo03-student-inner/delete?id=` + id })
  48. },
  49. /** 批量删除学生 */
  50. deleteDemo03StudentList: async (ids: number[]) => {
  51. return await request.delete({ url: `/infra/demo03-student-inner/delete-list?ids=${ids.join(',')}` })
  52. },
  53. // 导出学生 Excel
  54. exportDemo03Student: async (params) => {
  55. return await request.download({ url: `/infra/demo03-student-inner/export-excel`, params })
  56. },
  57. // ==================== 子表(学生课程) ====================
  58. // 获得学生课程列表
  59. getDemo03CourseListByStudentId: async (studentId) => {
  60. return await request.get({ url: `/infra/demo03-student-inner/demo03-course/list-by-student-id?studentId=` + studentId })
  61. },
  62. // ==================== 子表(学生班级) ====================
  63. // 获得学生班级
  64. getDemo03GradeByStudentId: async (studentId) => {
  65. return await request.get({ url: `/infra/demo03-student-inner/demo03-grade/get-by-student-id?studentId=` + studentId })
  66. },
  67. }