diff --git a/src/api/gxmu/teacher/index.ts b/src/api/gxmu/teacher/index.ts new file mode 100644 index 0000000..54bb1f5 --- /dev/null +++ b/src/api/gxmu/teacher/index.ts @@ -0,0 +1,28 @@ +import request from '@/utils/request'; +import type { ApiResult, PageResult } from '@/api'; +import type { TeacherRoster, TeacherRosterParam } from './model'; + +/** 教师名册分页查询 */ +export async function pageTeacherRoster(params: TeacherRosterParam) { + const res = await request.get>>( + '/gxmu/teacher/page', + { params } + ); + if (res.data.code === 0 && res.data.data) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} + +/** 导出教师名册(返回列表,由前端生成文件;响应中不含手机号) */ +export async function exportTeacherRoster(params: TeacherRosterParam) { + const res = await request.post>( + '/gxmu/teacher/export', + null, + { params } + ); + if (res.data.code === 0 && res.data.data) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} diff --git a/src/api/gxmu/teacher/model/index.ts b/src/api/gxmu/teacher/model/index.ts new file mode 100644 index 0000000..5f820b9 --- /dev/null +++ b/src/api/gxmu/teacher/model/index.ts @@ -0,0 +1,43 @@ +/** + * 教师名册(开放平台同步) + */ + +/** 教师名册记录 */ +export interface TeacherRoster { + id: number; + /** 教工号(开放平台外部键) */ + jgh: string; + /** 姓名 */ + xm?: string; + /** 性别码 */ + xbm?: string; + /** 性别 */ + sex?: string; + /** 单位号(平台原始值) */ + dwh?: string; + /** 解析出的学院ID */ + collegeId?: number; + /** 学院名称 */ + collegeName?: string; + /** 科室教研室编号 */ + ksjybh?: string; + /** 状态:1启用 0停用 */ + status?: number; + /** 最近同步时间 */ + syncTime?: string; +} + +/** + * 教师名册查询参数 + * + * 说明:教师手机号由后端落盘但不出任何列表接口(spec §5.2),故此处没有该字段, + * 页面也不展示。 + */ +export interface TeacherRosterParam { + page?: number; + limit?: number; + collegeId?: number; + jgh?: string; + xm?: string; + status?: number; +} diff --git a/src/views/gxmu/teacherRoster/index.vue b/src/views/gxmu/teacherRoster/index.vue new file mode 100644 index 0000000..1b752f7 --- /dev/null +++ b/src/views/gxmu/teacherRoster/index.vue @@ -0,0 +1,243 @@ + + + + +