diff --git a/src/api/infra/demo/demo03/erp/index.ts b/src/api/infra/demo/demo03/erp/index.ts index d408b630..c641ed07 100644 --- a/src/api/infra/demo/demo03/erp/index.ts +++ b/src/api/infra/demo/demo03/erp/index.ts @@ -1,91 +1,127 @@ import request from '@/config/axios' +import type { Dayjs } from 'dayjs'; -export interface Demo03StudentVO { - id: number - name: string - sex: number - birthday: Date - description: string +/** 学生课程信息 */ +export interface Demo03Course { + id: number; // 编号 + studentId?: number; // 学生编号 + name?: string; // 名字 + score?: number; // 分数 } -// 查询学生分页 -export const getDemo03StudentPage = async (params) => { - return await request.get({ url: `/infra/demo03-student/page`, params }) +/** 学生班级信息 */ +export interface Demo03Grade { + id: number; // 编号 + studentId?: number; // 学生编号 + name?: string; // 名字 + teacher?: string; // 班主任 } -// 查询学生详情 -export const getDemo03Student = async (id: number) => { - return await request.get({ url: `/infra/demo03-student/get?id=` + id }) +/** 学生信息 */ +export interface Demo03Student { + id: number; // 编号 + name?: string; // 名字 + sex?: number; // 性别 + birthday?: string | Dayjs; // 出生日期 + description?: string; // 简介 } -// 新增学生 -export const createDemo03Student = async (data: Demo03StudentVO) => { - return await request.post({ url: `/infra/demo03-student/create`, data }) -} +// 学生 API +export const Demo03StudentApi = { + // 查询学生分页 + getDemo03StudentPage: async (params: any) => { + return await request.get({ url: `/infra/demo03-student-erp/page`, params }) + }, -// 修改学生 -export const updateDemo03Student = async (data: Demo03StudentVO) => { - return await request.put({ url: `/infra/demo03-student/update`, data }) -} + // 查询学生详情 + getDemo03Student: async (id: number) => { + return await request.get({ url: `/infra/demo03-student-erp/get?id=` + id }) + }, -// 删除学生 -export const deleteDemo03Student = async (id: number) => { - return await request.delete({ url: `/infra/demo03-student/delete?id=` + id }) -} + // 新增学生 + createDemo03Student: async (data: Demo03Student) => { + return await request.post({ url: `/infra/demo03-student-erp/create`, data }) + }, -// 导出学生 Excel -export const exportDemo03Student = async (params) => { - return await request.download({ url: `/infra/demo03-student/export-excel`, params }) -} + // 修改学生 + updateDemo03Student: async (data: Demo03Student) => { + return await request.put({ url: `/infra/demo03-student-erp/update`, data }) + }, + + // 删除学生 + deleteDemo03Student: async (id: number) => { + return await request.delete({ url: `/infra/demo03-student-erp/delete?id=` + id }) + }, + + /** 批量删除学生 */ + deleteDemo03StudentList: async (ids: number[]) => { + return await request.delete({ url: `/infra/demo03-student-erp/delete-list?ids=${ids.join(',')}` }) + }, + + // 导出学生 Excel + exportDemo03Student: async (params) => { + return await request.download({ url: `/infra/demo03-student-erp/export-excel`, params }) + }, // ==================== 子表(学生课程) ==================== -// 获得学生课程分页 -export const getDemo03CoursePage = async (params) => { - return await request.get({ url: `/infra/demo03-student/demo03-course/page`, params }) -} -// 新增学生课程 -export const createDemo03Course = async (data) => { - return await request.post({ url: `/infra/demo03-student/demo03-course/create`, data }) -} + // 获得学生课程分页 + getDemo03CoursePage: async (params) => { + return await request.get({ url: `/infra/demo03-student-erp/demo03-course/page`, params }) + }, + // 新增学生课程 + createDemo03Course: async (data: Demo03Course) => { + return await request.post({ url: `/infra/demo03-student-erp/demo03-course/create`, data }) + }, -// 修改学生课程 -export const updateDemo03Course = async (data) => { - return await request.put({ url: `/infra/demo03-student/demo03-course/update`, data }) -} + // 修改学生课程 + updateDemo03Course: async (data: Demo03Course) => { + return await request.put({ url: `/infra/demo03-student-erp/demo03-course/update`, data }) + }, -// 删除学生课程 -export const deleteDemo03Course = async (id: number) => { - return await request.delete({ url: `/infra/demo03-student/demo03-course/delete?id=` + id }) -} + // 删除学生课程 + deleteDemo03Course: async (id: number) => { + return await request.delete({ url: `/infra/demo03-student-erp/demo03-course/delete?id=` + id }) + }, -// 获得学生课程 -export const getDemo03Course = async (id: number) => { - return await request.get({ url: `/infra/demo03-student/demo03-course/get?id=` + id }) -} + /** 批量删除学生课程 */ + deleteDemo03CourseList: async (ids: number[]) => { + return await request.delete({ url: `/infra/demo03-student-erp/demo03-course/delete-list?ids=${ids.join(',')}` }) + }, + + // 获得学生课程 + getDemo03Course: async (id: number) => { + return await request.get({ url: `/infra/demo03-student-erp/demo03-course/get?id=` + id }) + }, // ==================== 子表(学生班级) ==================== -// 获得学生班级分页 -export const getDemo03GradePage = async (params) => { - return await request.get({ url: `/infra/demo03-student/demo03-grade/page`, params }) -} -// 新增学生班级 -export const createDemo03Grade = async (data) => { - return await request.post({ url: `/infra/demo03-student/demo03-grade/create`, data }) -} + // 获得学生班级分页 + getDemo03GradePage: async (params) => { + return await request.get({ url: `/infra/demo03-student-erp/demo03-grade/page`, params }) + }, + // 新增学生班级 + createDemo03Grade: async (data: Demo03Grade) => { + return await request.post({ url: `/infra/demo03-student-erp/demo03-grade/create`, data }) + }, -// 修改学生班级 -export const updateDemo03Grade = async (data) => { - return await request.put({ url: `/infra/demo03-student/demo03-grade/update`, data }) -} + // 修改学生班级 + updateDemo03Grade: async (data: Demo03Grade) => { + return await request.put({ url: `/infra/demo03-student-erp/demo03-grade/update`, data }) + }, -// 删除学生班级 -export const deleteDemo03Grade = async (id: number) => { - return await request.delete({ url: `/infra/demo03-student/demo03-grade/delete?id=` + id }) -} + // 删除学生班级 + deleteDemo03Grade: async (id: number) => { + return await request.delete({ url: `/infra/demo03-student-erp/demo03-grade/delete?id=` + id }) + }, -// 获得学生班级 -export const getDemo03Grade = async (id: number) => { - return await request.get({ url: `/infra/demo03-student/demo03-grade/get?id=` + id }) -} \ No newline at end of file + /** 批量删除学生班级 */ + deleteDemo03GradeList: async (ids: number[]) => { + return await request.delete({ url: `/infra/demo03-student-erp/demo03-grade/delete-list?ids=${ids.join(',')}` }) + }, + + // 获得学生班级 + getDemo03Grade: async (id: number) => { + return await request.get({ url: `/infra/demo03-student-erp/demo03-grade/get?id=` + id }) + }, +} diff --git a/src/views/infra/demo/demo03/erp/Demo03StudentForm.vue b/src/views/infra/demo/demo03/erp/Demo03StudentForm.vue index 29f1370d..b9971975 100644 --- a/src/views/infra/demo/demo03/erp/Demo03StudentForm.vue +++ b/src/views/infra/demo/demo03/erp/Demo03StudentForm.vue @@ -41,7 +41,10 @@ \ No newline at end of file + diff --git a/src/views/infra/demo/demo03/erp/components/Demo03CourseForm.vue b/src/views/infra/demo/demo03/erp/components/Demo03CourseForm.vue index de1c06de..29b5cf1d 100644 --- a/src/views/infra/demo/demo03/erp/components/Demo03CourseForm.vue +++ b/src/views/infra/demo/demo03/erp/components/Demo03CourseForm.vue @@ -7,7 +7,7 @@ label-width="100px" v-loading="formLoading" > - + @@ -21,7 +21,7 @@ \ No newline at end of file + diff --git a/src/views/infra/demo/demo03/erp/components/Demo03CourseList.vue b/src/views/infra/demo/demo03/erp/components/Demo03CourseList.vue index 7e06ee64..a996bb49 100644 --- a/src/views/infra/demo/demo03/erp/components/Demo03CourseList.vue +++ b/src/views/infra/demo/demo03/erp/components/Demo03CourseList.vue @@ -9,7 +9,24 @@ > 新增 - + + 批量删除 + + + @@ -52,17 +69,17 @@ - \ No newline at end of file + +/** 批量删除学生课程 */ +const handleDeleteBatch = async () => { + try { + // 删除的二次确认 + await message.delConfirm() + await Demo03StudentApi.deleteDemo03CourseList(checkedIds.value); + message.success(t('common.delSuccess')) + await getList(); + } catch {} +} + +const checkedIds = ref([]) +const handleRowCheckboxChange = (records: Demo03Course[]) => { + checkedIds.value = records.map((item) => item.id); +} + diff --git a/src/views/infra/demo/demo03/erp/components/Demo03GradeForm.vue b/src/views/infra/demo/demo03/erp/components/Demo03GradeForm.vue index abba0032..49bb490f 100644 --- a/src/views/infra/demo/demo03/erp/components/Demo03GradeForm.vue +++ b/src/views/infra/demo/demo03/erp/components/Demo03GradeForm.vue @@ -7,7 +7,7 @@ label-width="100px" v-loading="formLoading" > - + @@ -21,7 +21,7 @@ \ No newline at end of file + diff --git a/src/views/infra/demo/demo03/erp/components/Demo03GradeList.vue b/src/views/infra/demo/demo03/erp/components/Demo03GradeList.vue index b12f1889..cc7bec80 100644 --- a/src/views/infra/demo/demo03/erp/components/Demo03GradeList.vue +++ b/src/views/infra/demo/demo03/erp/components/Demo03GradeList.vue @@ -9,7 +9,24 @@ > 新增 - + + 批量删除 + + + @@ -52,17 +69,17 @@ - \ No newline at end of file + +/** 批量删除学生班级 */ +const handleDeleteBatch = async () => { + try { + // 删除的二次确认 + await message.delConfirm() + await Demo03StudentApi.deleteDemo03GradeList(checkedIds.value); + message.success(t('common.delSuccess')) + await getList(); + } catch {} +} + +const checkedIds = ref([]) +const handleRowCheckboxChange = (records: Demo03Grade[]) => { + checkedIds.value = records.map((item) => item.id); +} + diff --git a/src/views/infra/demo/demo03/erp/index.vue b/src/views/infra/demo/demo03/erp/index.vue index a4a4e621..77dff092 100644 --- a/src/views/infra/demo/demo03/erp/index.vue +++ b/src/views/infra/demo/demo03/erp/index.vue @@ -1,6 +1,4 @@