| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429 |
- import request from '@/utils/request';
- import { AxiosPromise } from 'axios';
- import { StudentQuery, StudentVO, StudentForm, XgDeptTreeVO, R, TableDataInfo } from './types';
- /**
- * 查询部门下拉树结构
- * @param deptId 部门ID
- */
- export const XgDeptTreeSelect = (belongDeptId?: number): AxiosPromise<XgDeptTreeVO[]> => {
- // 实际项目中连接后端接口
- // return request({
- // url: '/system/user/deptTree',
- // method: 'get',
- // params: {
- // belongDeptId
- // }
- // });
- return request({
- url: '/xgStudentManagerSource/studentManagerSource/currentUserAuthTree',
- method: 'get'
- });
- // // 模拟数据,直接返回与页面组件期望格式一致的数据
- // return Promise.resolve({
- // data: mockDeptTree,
- // status: 200,
- // statusText: 'OK',
- // headers: {},
- // config: {} as any
- // }) as any;
- };
- // 查询学生列表
- export function listStudent(query?: StudentQuery): AxiosPromise<R<TableDataInfo<StudentVO[]>>> {
- // 实际使用时连接后端接口
- // return request({
- // url: '/studentMsg/student/list',
- // method: 'get',
- // params: query
- // });
- // 模拟数据
- return Promise.resolve({
- data: {
- code: 200,
- msg: 'success',
- data: {
- total: mockStudentData.length,
- rows: mockStudentData
- }
- }
- } as any);
- }
- // 查询学生详细
- export function getStudent(studentId?: string | number): AxiosPromise<R<{
- student: StudentVO;
- majors: any[];
- classes: any[];
- }>> {
- if (studentId) {
- // 实际使用时连接后端接口
- // return request({
- // url: '/studentMsg/student/' + studentId,
- // method: 'get'
- // });
- // 模拟数据
- const student = mockStudentData.find(item => item.studentId === studentId);
- return Promise.resolve({
- data: {
- code: 200,
- msg: 'success',
- data: {
- student: student || {},
- majors: mockMajors,
- classes: mockClasses
- }
- }
- } as any);
- } else {
- // 新增时返回初始空对象和选项数据
- return Promise.resolve({
- data: {
- code: 200,
- msg: 'success',
- data: {
- student: {},
- majors: mockMajors,
- classes: mockClasses
- }
- }
- } as any);
- }
- }
- // 新增学生
- export function addStudent(data: StudentForm): AxiosPromise<R<any>> {
- // 实际使用时连接后端接口
- // return request({
- // url: '/studentMsg/student',
- // method: 'post',
- // data: data
- // });
- // 模拟数据
- return Promise.resolve({
- data: {
- code: 200,
- msg: '添加成功'
- }
- } as any);
- }
- // 修改学生
- export function updateStudent(data: StudentForm): AxiosPromise<R<any>> {
- // 实际使用时连接后端接口
- // return request({
- // url: '/studentMsg/student',
- // method: 'put',
- // data: data
- // });
- // 模拟数据
- return Promise.resolve({
- data: {
- code: 200,
- msg: '修改成功'
- }
- } as any);
- }
- // 删除学生
- export function delStudent(studentId: string | number | Array<string | number>): AxiosPromise<R<any>> {
- // 实际使用时连接后端接口
- // return request({
- // url: '/studentMsg/student/' + studentId,
- // method: 'delete'
- // });
- // 模拟数据
- return Promise.resolve({
- data: {
- code: 200,
- msg: '删除成功'
- }
- } as any);
- }
- // 查询院系树结构
- export function deptTreeSelect(): AxiosPromise<R<any>> {
- // 实际使用时连接后端接口
- // return request({
- // url: '/studentMsg/dept/treeselect',
- // method: 'get'
- // });
- // 模拟数据
- return Promise.resolve({
- data: {
- code: 200,
- msg: 'success',
- data: mockDeptTree
- }
- } as any);
- }
- // 导出学生
- export function exportStudent(query?: StudentQuery): AxiosPromise<any> {
- // 实际使用时连接后端接口
- // return request({
- // url: '/studentMsg/student/export',
- // method: 'get',
- // params: query
- // });
- // 模拟数据
- return Promise.resolve({
- data: mockStudentData,
- status: 200,
- statusText: 'OK',
- headers: {},
- config: {} as any
- }) as any;
- }
- // 学生状态修改
- export function changeStudentStatus(studentId: string | number, status: string): AxiosPromise<R<any>> {
- // 实际使用时连接后端接口
- // return request({
- // url: '/studentMsg/student/changeStatus',
- // method: 'put',
- // data: {
- // studentId,
- // status
- // }
- // });
- // 模拟数据
- return Promise.resolve({
- data: {
- code: 200,
- msg: '状态修改成功'
- }
- } as any);
- }
- // 模拟数据 - 学生列表
- const mockStudentData: StudentVO[] = [
- {
- studentId: 1,
- studentNo: '202001001',
- studentName: '张三',
- nickName: '小张',
- sex: '0',
- age: 20,
- phonenumber: '13800138001',
- email: 'zhangsan@example.com',
- idCard: '110101200101011234',
- deptId: 105,
- deptName: '计算机科学与技术系',
- majorId: 1,
- majorName: '计算机科学与技术',
- classId: 101,
- className: '计算机2001班',
- address: '北京市海淀区',
- status: '0',
- createTime: '2023-01-01 10:00:00',
- remark: ''
- },
- {
- studentId: 2,
- studentNo: '202001002',
- studentName: '李四',
- nickName: '小李',
- sex: '0',
- age: 21,
- phonenumber: '13800138002',
- email: 'lisi@example.com',
- idCard: '110101200001011235',
- deptId: 105,
- deptName: '计算机科学与技术系',
- majorId: 1,
- majorName: '计算机科学与技术',
- classId: 101,
- className: '计算机2001班',
- address: '上海市浦东新区',
- status: '0',
- createTime: '2023-01-01 10:10:00',
- remark: ''
- },
- {
- studentId: 3,
- studentNo: '202001003',
- studentName: '王五',
- nickName: '小王',
- sex: '0',
- age: 19,
- phonenumber: '13800138003',
- email: 'wangwu@example.com',
- idCard: '110101200201011236',
- deptId: 106,
- deptName: '软件工程系',
- majorId: 2,
- majorName: '软件工程',
- classId: 201,
- className: '软工2001班',
- address: '广州市天河区',
- status: '0',
- createTime: '2023-01-02 09:00:00',
- remark: ''
- },
- {
- studentId: 4,
- studentNo: '202001004',
- studentName: '赵六',
- nickName: '小赵',
- sex: '1',
- age: 20,
- phonenumber: '13800138004',
- email: 'zhaoliu@example.com',
- idCard: '110101200101011237',
- deptId: 106,
- deptName: '软件工程系',
- majorId: 2,
- majorName: '软件工程',
- classId: 201,
- className: '软工2001班',
- address: '深圳市南山区',
- status: '0',
- createTime: '2023-01-02 10:30:00',
- remark: ''
- },
- {
- studentId: 5,
- studentNo: '202001005',
- studentName: '钱七',
- nickName: '小钱',
- sex: '1',
- age: 21,
- phonenumber: '13800138005',
- email: 'qianqi@example.com',
- idCard: '110101200001011238',
- deptId: 107,
- deptName: '人工智能系',
- majorId: 3,
- majorName: '人工智能',
- classId: 301,
- className: '人工智能2001班',
- address: '杭州市西湖区',
- status: '1', // 停用状态
- createTime: '2023-01-03 11:20:00',
- remark: '休学中'
- }
- ];
- // 模拟数据 - 院系树
- const mockDeptTree = [
- {
- id: 100,
- label: '信息学院',
- children: [
- {
- id: 105,
- label: '计算机科学与技术系',
- children: []
- },
- {
- id: 106,
- label: '软件工程系',
- children: []
- },
- {
- id: 107,
- label: '人工智能系',
- children: []
- }
- ]
- },
- {
- id: 200,
- label: '经济管理学院',
- children: [
- {
- id: 205,
- label: '市场营销系',
- children: []
- },
- {
- id: 206,
- label: '财务管理系',
- children: []
- }
- ]
- }
- ];
- // 模拟数据 - 专业
- const mockMajors = [
- {
- majorId: 1,
- majorName: '计算机科学与技术',
- deptId: 105
- },
- {
- majorId: 2,
- majorName: '软件工程',
- deptId: 106
- },
- {
- majorId: 3,
- majorName: '人工智能',
- deptId: 107
- },
- {
- majorId: 4,
- majorName: '市场营销',
- deptId: 205
- },
- {
- majorId: 5,
- majorName: '财务管理',
- deptId: 206
- }
- ];
- // 模拟数据 - 班级
- const mockClasses = [
- {
- classId: 101,
- className: '计算机2001班',
- majorId: 1
- },
- {
- classId: 102,
- className: '计算机2002班',
- majorId: 1
- },
- {
- classId: 201,
- className: '软工2001班',
- majorId: 2
- },
- {
- classId: 202,
- className: '软工2002班',
- majorId: 2
- },
- {
- classId: 301,
- className: '人工智能2001班',
- majorId: 3
- },
- {
- classId: 401,
- className: '市场营销2001班',
- majorId: 4
- },
- {
- classId: 501,
- className: '财务管理2001班',
- majorId: 5
- }
- ];
- export default { listStudent, getStudent, addStudent, updateStudent, delStudent, deptTreeSelect, exportStudent, changeStudentStatus, XgDeptTreeSelect };
|