wuzhen 班级管理功能提交
This commit is contained in:
1 parent
6820ebc45f
commit
c809141195
12 files changed
+4731
No files matched your search
@@ -0,0 +1,287 @@
|
||||
import request from '@/utils/request'
|
||||
import { AxiosPromise } from 'axios'
|
||||
import { ClassInfoVO, ClassInfoQuery, ClassInfoForm, OptionData } from './classInfo/types'
|
||||
|
||||
// 通用类型定义
|
||||
interface TableDataInfo<T> {
|
||||
code: number;
|
||||
msg: string;
|
||||
rows: T[];
|
||||
total: number;
|
||||
}
|
||||
|
||||
interface R<T> {
|
||||
code: number;
|
||||
msg: string;
|
||||
data: T;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询班级信息列表
|
||||
*/
|
||||
export const listClassInfo = (query: ClassInfoQuery): AxiosPromise<TableDataInfo<ClassInfoVO>> => {
|
||||
return request({
|
||||
url: '/xg/classInfo/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询班级信息详细
|
||||
*/
|
||||
export const getClassInfo = (id: string | number): AxiosPromise<R<ClassInfoVO>> => {
|
||||
return request({
|
||||
url: '/xg/classInfo/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增班级信息
|
||||
*/
|
||||
export const addClassInfo = (data: ClassInfoForm): AxiosPromise<R<void>> => {
|
||||
return request({
|
||||
url: '/xg/classInfo',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改班级信息
|
||||
*/
|
||||
export const updateClassInfo = (data: ClassInfoForm): AxiosPromise<R<void>> => {
|
||||
return request({
|
||||
url: '/xg/classInfo',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除班级信息
|
||||
*/
|
||||
export const delClassInfo = (id: string | number | Array<string | number>): AxiosPromise<R<void>> => {
|
||||
return request({
|
||||
url: '/xg/classInfo/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出班级信息
|
||||
*/
|
||||
export const exportClassInfo = (query: ClassInfoQuery): AxiosPromise<any> => {
|
||||
return request({
|
||||
url: '/xg/classInfo/export',
|
||||
method: 'post',
|
||||
data: query
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据班级代码查询班级信息
|
||||
*/
|
||||
export const getClassInfoByCode = (classCode: string): AxiosPromise<R<ClassInfoVO>> => {
|
||||
return request({
|
||||
url: '/xg/classInfo/getByClassCode/' + classCode,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据年级查询班级信息列表
|
||||
*/
|
||||
export const getClassInfoByGrade = (grade: string): AxiosPromise<R<ClassInfoVO[]>> => {
|
||||
return request({
|
||||
url: '/xg/classInfo/getByGrade/' + grade,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据学院代码查询班级信息列表
|
||||
*/
|
||||
export const getClassInfoByCollege = (collegeCode: string): AxiosPromise<R<ClassInfoVO[]>> => {
|
||||
return request({
|
||||
url: '/xg/classInfo/getByCollegeCode/' + collegeCode,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据专业代码查询班级信息列表
|
||||
*/
|
||||
export const getClassInfoByMajor = (majorCode: string): AxiosPromise<R<ClassInfoVO[]>> => {
|
||||
return request({
|
||||
url: '/xg/classInfo/getByMajorCode/' + majorCode,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据辅导员ID查询班级信息列表
|
||||
*/
|
||||
export const getClassInfoByCounselor = (counselorId: number): AxiosPromise<R<ClassInfoVO[]>> => {
|
||||
return request({
|
||||
url: '/xg/classInfo/getByCounselorId/' + counselorId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据班主任ID查询班级信息列表
|
||||
*/
|
||||
export const getClassInfoByClassTeacher = (classTeacherId: number): AxiosPromise<R<ClassInfoVO[]>> => {
|
||||
return request({
|
||||
url: '/xg/classInfo/getByClassTeacherId/' + classTeacherId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取班级选项列表(用于下拉框)
|
||||
*/
|
||||
export const getClassOptions = (): AxiosPromise<R<ClassInfoVO[]>> => {
|
||||
return request({
|
||||
url: '/xg/classInfo/getClassOptions', // 修正路径:从 /options 改为 /getClassOptions
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新班级学生统计
|
||||
*/
|
||||
export const updateStudentCount = (classId: number): AxiosPromise<R<void>> => {
|
||||
return request({
|
||||
url: '/xg/classInfo/updateStudentCount/' + classId,
|
||||
method: 'post' // 修正HTTP方法:从 put 改为 post
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量更新班级学生统计
|
||||
*/
|
||||
export const batchUpdateStudentCount = (classIds: number[]): AxiosPromise<R<void>> => {
|
||||
return request({
|
||||
url: '/xg/classInfo/batchUpdateStudentCount',
|
||||
method: 'post', // 修正HTTP方法:从 put 改为 post
|
||||
data: classIds
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 启用班级
|
||||
*/
|
||||
export const enableClass = (id: number): AxiosPromise<R<void>> => {
|
||||
return request({
|
||||
url: '/xg/classInfo/enable/' + id,
|
||||
method: 'post' // 修正HTTP方法:从 put 改为 post
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 禁用班级
|
||||
*/
|
||||
export const disableClass = (id: number): AxiosPromise<R<void>> => {
|
||||
return request({
|
||||
url: '/xg/classInfo/disable/' + id,
|
||||
method: 'post' // 修正HTTP方法:从 put 改为 post
|
||||
})
|
||||
}
|
||||
|
||||
// ================================
|
||||
// 统计数据接口 - 新增
|
||||
// ================================
|
||||
|
||||
/**
|
||||
* 获取班级信息统计概览
|
||||
*/
|
||||
export const getClassStatistics = (): AxiosPromise<R<any>> => {
|
||||
return request({
|
||||
url: '/xg/classInfo/statistics',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 统计各学院班级数量
|
||||
*/
|
||||
export const countClassByCollege = (): AxiosPromise<R<any[]>> => {
|
||||
return request({
|
||||
url: '/xg/classInfo/statistics/college',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 统计各年级班级数量
|
||||
*/
|
||||
export const countClassByGrade = (): AxiosPromise<R<any[]>> => {
|
||||
return request({
|
||||
url: '/xg/classInfo/statistics/grade',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 统计各专业班级数量
|
||||
*/
|
||||
export const countClassByMajor = (): AxiosPromise<R<any[]>> => {
|
||||
return request({
|
||||
url: '/xg/classInfo/statistics/major',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 统计班级状态分布
|
||||
*/
|
||||
export const countClassByStatus = (): AxiosPromise<R<any[]>> => {
|
||||
return request({
|
||||
url: '/xg/classInfo/statistics/status',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取学院选项
|
||||
*/
|
||||
export const getCollegeOptions = (): AxiosPromise<R<any[]>> => {
|
||||
return request({
|
||||
url: '/xg/studentInfo/options/colleges',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取专业选项
|
||||
*/
|
||||
export const getMajorOptions = (collegeCode?: string): AxiosPromise<R<any[]>> => {
|
||||
return request({
|
||||
url: '/xg/studentInfo/options/majors',
|
||||
method: 'get',
|
||||
params: { collegeCode }
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取辅导员选项
|
||||
*/
|
||||
export const getCounselorOptions = (): AxiosPromise<R<any[]>> => {
|
||||
return request({
|
||||
url: '/xg/studentInfo/options/counselors',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取班主任选项
|
||||
*/
|
||||
export const getClassTeacherOptions = (): AxiosPromise<R<any[]>> => {
|
||||
return request({
|
||||
url: '/xg/studentInfo/options/classTeachers',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,786 @@
|
||||
/**
|
||||
* 班级信息管理模块 - 类型定义
|
||||
*/
|
||||
|
||||
/**
|
||||
* 班级信息 VO
|
||||
*/
|
||||
export interface ClassInfoVO {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
id: string | number;
|
||||
|
||||
/**
|
||||
* 租户编号
|
||||
*/
|
||||
tenantId?: string;
|
||||
|
||||
/**
|
||||
* 班级代码
|
||||
*/
|
||||
classCode: string;
|
||||
|
||||
/**
|
||||
* 班级名称
|
||||
*/
|
||||
className: string;
|
||||
|
||||
/**
|
||||
* 班级类型:regular-普通班级,honor-荣誉班级,experimental-实验班级,special-特殊班级
|
||||
*/
|
||||
classType?: string;
|
||||
|
||||
/**
|
||||
* 年级
|
||||
*/
|
||||
grade: string;
|
||||
|
||||
/**
|
||||
* 入学年份
|
||||
*/
|
||||
enrollmentYear: number;
|
||||
|
||||
/**
|
||||
* 毕业年份
|
||||
*/
|
||||
graduationYear?: number;
|
||||
|
||||
/**
|
||||
* 专业代码
|
||||
*/
|
||||
majorCode?: string;
|
||||
|
||||
/**
|
||||
* 专业名称
|
||||
*/
|
||||
majorName?: string;
|
||||
|
||||
/**
|
||||
* 培养方式:全日制、在职、函授、夜大等
|
||||
*/
|
||||
trainingType?: string;
|
||||
|
||||
/**
|
||||
* 学位类型:本科、专科、研究生等
|
||||
*/
|
||||
degreeType?: string;
|
||||
|
||||
/**
|
||||
* 学院代码
|
||||
*/
|
||||
collegeCode?: string;
|
||||
|
||||
/**
|
||||
* 学院名称
|
||||
*/
|
||||
collegeName?: string;
|
||||
|
||||
/**
|
||||
* 辅导员ID
|
||||
*/
|
||||
counselorId?: string | number;
|
||||
|
||||
/**
|
||||
* 辅导员姓名
|
||||
*/
|
||||
counselorName?: string;
|
||||
|
||||
/**
|
||||
* 班主任ID
|
||||
*/
|
||||
classTeacherId?: string | number;
|
||||
|
||||
/**
|
||||
* 班主任姓名
|
||||
*/
|
||||
classTeacherName?: string;
|
||||
|
||||
/**
|
||||
* 班级导师ID
|
||||
*/
|
||||
classAdvisorId?: string | number;
|
||||
|
||||
/**
|
||||
* 班级导师姓名
|
||||
*/
|
||||
classAdvisorName?: string;
|
||||
|
||||
/**
|
||||
* 班长ID
|
||||
*/
|
||||
classMonitorId?: string | number;
|
||||
|
||||
/**
|
||||
* 班长姓名
|
||||
*/
|
||||
classMonitorName?: string;
|
||||
|
||||
/**
|
||||
* 副班长ID
|
||||
*/
|
||||
deputyMonitorId?: string | number;
|
||||
|
||||
/**
|
||||
* 副班长姓名
|
||||
*/
|
||||
deputyMonitorName?: string;
|
||||
|
||||
/**
|
||||
* 班级状态:1-正常,2-暂停,3-毕业,4-解散
|
||||
*/
|
||||
classStatus?: string;
|
||||
|
||||
/**
|
||||
* 是否毕业:0-未毕业,1-已毕业
|
||||
*/
|
||||
isGraduation?: number;
|
||||
|
||||
/**
|
||||
* 毕业日期
|
||||
*/
|
||||
graduationDate?: string;
|
||||
|
||||
/**
|
||||
* 计划容量
|
||||
*/
|
||||
plannedCapacity?: number;
|
||||
|
||||
/**
|
||||
* 当前学生数量
|
||||
*/
|
||||
currentStudentCount?: number;
|
||||
|
||||
/**
|
||||
* 最大学生数量
|
||||
*/
|
||||
maxStudentCount?: number;
|
||||
|
||||
/**
|
||||
* 男生数量
|
||||
*/
|
||||
maleCount?: number;
|
||||
|
||||
/**
|
||||
* 女生数量
|
||||
*/
|
||||
femaleCount?: number;
|
||||
|
||||
/**
|
||||
* 在籍学生数量
|
||||
*/
|
||||
activeCount?: number;
|
||||
|
||||
/**
|
||||
* 转入学生数量
|
||||
*/
|
||||
transferInCount?: number;
|
||||
|
||||
/**
|
||||
* 转出学生数量
|
||||
*/
|
||||
transferOutCount?: number;
|
||||
|
||||
/**
|
||||
* 退学学生数量
|
||||
*/
|
||||
dropoutCount?: number;
|
||||
|
||||
/**
|
||||
* 毕业学生数量
|
||||
*/
|
||||
graduateCount?: number;
|
||||
|
||||
/**
|
||||
* 办公室位置
|
||||
*/
|
||||
officeLocation?: string;
|
||||
|
||||
/**
|
||||
* 教室位置
|
||||
*/
|
||||
classLocation?: string;
|
||||
|
||||
/**
|
||||
* 联系电话
|
||||
*/
|
||||
contactPhone?: string;
|
||||
|
||||
/**
|
||||
* QQ群号
|
||||
*/
|
||||
qqGroup?: string;
|
||||
|
||||
/**
|
||||
* 微信群
|
||||
*/
|
||||
wechatGroup?: string;
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
email?: string;
|
||||
|
||||
/**
|
||||
* 课程安排
|
||||
*/
|
||||
classSchedule?: string;
|
||||
|
||||
/**
|
||||
* 班级文化
|
||||
*/
|
||||
classCulture?: string;
|
||||
|
||||
/**
|
||||
* 班级规章制度
|
||||
*/
|
||||
classRules?: string;
|
||||
|
||||
/**
|
||||
* 班级描述
|
||||
*/
|
||||
classDescription?: string;
|
||||
|
||||
/**
|
||||
* 最后统计更新时间
|
||||
*/
|
||||
lastCountUpdate?: string;
|
||||
|
||||
/**
|
||||
* 扩展字段1
|
||||
*/
|
||||
extField1?: string;
|
||||
|
||||
/**
|
||||
* 扩展字段2
|
||||
*/
|
||||
extField2?: string;
|
||||
|
||||
/**
|
||||
* 扩展字段3
|
||||
*/
|
||||
extField3?: string;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
remark?: string;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
createBy?: string | number;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
createTime?: string;
|
||||
|
||||
/**
|
||||
* 更新者
|
||||
*/
|
||||
updateBy?: string | number;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
updateTime?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 班级信息查询对象
|
||||
*/
|
||||
export interface ClassInfoQuery {
|
||||
/**
|
||||
* 当前页数
|
||||
*/
|
||||
pageNum?: number;
|
||||
|
||||
/**
|
||||
* 每页显示记录数
|
||||
*/
|
||||
pageSize?: number;
|
||||
|
||||
/**
|
||||
* 班级代码
|
||||
*/
|
||||
classCode?: string;
|
||||
|
||||
/**
|
||||
* 班级名称
|
||||
*/
|
||||
className?: string;
|
||||
|
||||
/**
|
||||
* 班级类型
|
||||
*/
|
||||
classType?: string;
|
||||
|
||||
/**
|
||||
* 年级
|
||||
*/
|
||||
grade?: string;
|
||||
|
||||
/**
|
||||
* 入学年份
|
||||
*/
|
||||
enrollmentYear?: number;
|
||||
|
||||
/**
|
||||
* 毕业年份
|
||||
*/
|
||||
graduationYear?: number;
|
||||
|
||||
/**
|
||||
* 学院代码
|
||||
*/
|
||||
collegeCode?: string;
|
||||
|
||||
/**
|
||||
* 学院名称
|
||||
*/
|
||||
collegeName?: string;
|
||||
|
||||
/**
|
||||
* 专业代码
|
||||
*/
|
||||
majorCode?: string;
|
||||
|
||||
/**
|
||||
* 专业名称
|
||||
*/
|
||||
majorName?: string;
|
||||
|
||||
/**
|
||||
* 班主任ID
|
||||
*/
|
||||
classTeacherId?: string | number;
|
||||
|
||||
/**
|
||||
* 班主任姓名
|
||||
*/
|
||||
classTeacherName?: string;
|
||||
|
||||
/**
|
||||
* 辅导员ID
|
||||
*/
|
||||
counselorId?: string | number;
|
||||
|
||||
/**
|
||||
* 辅导员姓名
|
||||
*/
|
||||
counselorName?: string;
|
||||
|
||||
/**
|
||||
* 班级状态
|
||||
*/
|
||||
classStatus?: string;
|
||||
|
||||
/**
|
||||
* 班级代码列表(批量查询)
|
||||
*/
|
||||
classCodeList?: string[];
|
||||
|
||||
/**
|
||||
* 班级状态列表(批量查询)
|
||||
*/
|
||||
classStatusList?: string[];
|
||||
|
||||
/**
|
||||
* 入学年份开始
|
||||
*/
|
||||
enrollmentYearStart?: number;
|
||||
|
||||
/**
|
||||
* 入学年份结束
|
||||
*/
|
||||
enrollmentYearEnd?: number;
|
||||
|
||||
/**
|
||||
* 创建时间开始
|
||||
*/
|
||||
createTimeStart?: string;
|
||||
|
||||
/**
|
||||
* 创建时间结束
|
||||
*/
|
||||
createTimeEnd?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 班级信息表单对象
|
||||
*/
|
||||
export interface ClassInfoForm {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
id?: string | number;
|
||||
|
||||
/**
|
||||
* 班级代码
|
||||
*/
|
||||
classCode?: string;
|
||||
|
||||
/**
|
||||
* 班级名称
|
||||
*/
|
||||
className?: string;
|
||||
|
||||
/**
|
||||
* 班级类型
|
||||
*/
|
||||
classType?: string;
|
||||
|
||||
/**
|
||||
* 年级
|
||||
*/
|
||||
grade?: string;
|
||||
|
||||
/**
|
||||
* 入学年份
|
||||
*/
|
||||
enrollmentYear?: number;
|
||||
|
||||
/**
|
||||
* 毕业年份
|
||||
*/
|
||||
graduationYear?: number;
|
||||
|
||||
/**
|
||||
* 专业代码
|
||||
*/
|
||||
majorCode?: string;
|
||||
|
||||
/**
|
||||
* 专业名称
|
||||
*/
|
||||
majorName?: string;
|
||||
|
||||
/**
|
||||
* 培养方式
|
||||
*/
|
||||
trainingType?: string;
|
||||
|
||||
/**
|
||||
* 学位类型
|
||||
*/
|
||||
degreeType?: string;
|
||||
|
||||
/**
|
||||
* 学院代码
|
||||
*/
|
||||
collegeCode?: string;
|
||||
|
||||
/**
|
||||
* 学院名称
|
||||
*/
|
||||
collegeName?: string;
|
||||
|
||||
/**
|
||||
* 辅导员ID
|
||||
*/
|
||||
counselorId?: string | number;
|
||||
|
||||
/**
|
||||
* 辅导员姓名
|
||||
*/
|
||||
counselorName?: string;
|
||||
|
||||
/**
|
||||
* 班主任ID
|
||||
*/
|
||||
classTeacherId?: string | number;
|
||||
|
||||
/**
|
||||
* 班主任姓名
|
||||
*/
|
||||
classTeacherName?: string;
|
||||
|
||||
/**
|
||||
* 班级导师ID
|
||||
*/
|
||||
classAdvisorId?: string | number;
|
||||
|
||||
/**
|
||||
* 班级导师姓名
|
||||
*/
|
||||
classAdvisorName?: string;
|
||||
|
||||
/**
|
||||
* 班长ID
|
||||
*/
|
||||
classMonitorId?: string | number;
|
||||
|
||||
/**
|
||||
* 班长姓名
|
||||
*/
|
||||
classMonitorName?: string;
|
||||
|
||||
/**
|
||||
* 副班长ID
|
||||
*/
|
||||
deputyMonitorId?: string | number;
|
||||
|
||||
/**
|
||||
* 副班长姓名
|
||||
*/
|
||||
deputyMonitorName?: string;
|
||||
|
||||
/**
|
||||
* 班级状态
|
||||
*/
|
||||
classStatus?: string;
|
||||
|
||||
/**
|
||||
* 是否毕业
|
||||
*/
|
||||
isGraduation?: number;
|
||||
|
||||
/**
|
||||
* 毕业日期
|
||||
*/
|
||||
graduationDate?: string;
|
||||
|
||||
/**
|
||||
* 计划容量
|
||||
*/
|
||||
plannedCapacity?: number;
|
||||
|
||||
/**
|
||||
* 当前学生数量
|
||||
*/
|
||||
currentStudentCount?: number;
|
||||
|
||||
/**
|
||||
* 最大学生数量
|
||||
*/
|
||||
maxStudentCount?: number;
|
||||
|
||||
/**
|
||||
* 男生数量
|
||||
*/
|
||||
maleCount?: number;
|
||||
|
||||
/**
|
||||
* 女生数量
|
||||
*/
|
||||
femaleCount?: number;
|
||||
|
||||
/**
|
||||
* 在籍学生数量
|
||||
*/
|
||||
activeCount?: number;
|
||||
|
||||
/**
|
||||
* 转入学生数量
|
||||
*/
|
||||
transferInCount?: number;
|
||||
|
||||
/**
|
||||
* 转出学生数量
|
||||
*/
|
||||
transferOutCount?: number;
|
||||
|
||||
/**
|
||||
* 退学学生数量
|
||||
*/
|
||||
dropoutCount?: number;
|
||||
|
||||
/**
|
||||
* 毕业学生数量
|
||||
*/
|
||||
graduateCount?: number;
|
||||
|
||||
/**
|
||||
* 办公室位置
|
||||
*/
|
||||
officeLocation?: string;
|
||||
|
||||
/**
|
||||
* 教室位置
|
||||
*/
|
||||
classLocation?: string;
|
||||
|
||||
/**
|
||||
* 联系电话
|
||||
*/
|
||||
contactPhone?: string;
|
||||
|
||||
/**
|
||||
* QQ群号
|
||||
*/
|
||||
qqGroup?: string;
|
||||
|
||||
/**
|
||||
* 微信群
|
||||
*/
|
||||
wechatGroup?: string;
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
email?: string;
|
||||
|
||||
/**
|
||||
* 课程安排
|
||||
*/
|
||||
classSchedule?: string;
|
||||
|
||||
/**
|
||||
* 班级文化
|
||||
*/
|
||||
classCulture?: string;
|
||||
|
||||
/**
|
||||
* 班级规章制度
|
||||
*/
|
||||
classRules?: string;
|
||||
|
||||
/**
|
||||
* 班级描述
|
||||
*/
|
||||
classDescription?: string;
|
||||
|
||||
/**
|
||||
* 最后统计更新时间
|
||||
*/
|
||||
lastCountUpdate?: string;
|
||||
|
||||
/**
|
||||
* 扩展字段1
|
||||
*/
|
||||
extField1?: string;
|
||||
|
||||
/**
|
||||
* 扩展字段2
|
||||
*/
|
||||
extField2?: string;
|
||||
|
||||
/**
|
||||
* 扩展字段3
|
||||
*/
|
||||
extField3?: string;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
remark?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 班级统计数据
|
||||
*/
|
||||
export interface ClassStatisticsData {
|
||||
/**
|
||||
* 总班级数
|
||||
*/
|
||||
totalCount: number;
|
||||
|
||||
/**
|
||||
* 正常班级数
|
||||
*/
|
||||
activeCount: number;
|
||||
|
||||
/**
|
||||
* 已毕业班级数
|
||||
*/
|
||||
graduatedCount: number;
|
||||
|
||||
/**
|
||||
* 暂停班级数
|
||||
*/
|
||||
suspendedCount: number;
|
||||
|
||||
/**
|
||||
* 解散班级数
|
||||
*/
|
||||
dissolvedCount: number;
|
||||
|
||||
/**
|
||||
* 总学生数
|
||||
*/
|
||||
totalStudentCount: number;
|
||||
|
||||
/**
|
||||
* 平均班级人数
|
||||
*/
|
||||
averageClassSize: number;
|
||||
}
|
||||
|
||||
/**
|
||||
* 班级选项数据
|
||||
*/
|
||||
export interface OptionData {
|
||||
/**
|
||||
* 值
|
||||
*/
|
||||
value: string | number;
|
||||
|
||||
/**
|
||||
* 标签
|
||||
*/
|
||||
label: string;
|
||||
|
||||
/**
|
||||
* 是否禁用
|
||||
*/
|
||||
disabled?: boolean;
|
||||
|
||||
/**
|
||||
* 扩展数据
|
||||
*/
|
||||
data?: any;
|
||||
}
|
||||
|
||||
/**
|
||||
* 班级图表数据
|
||||
*/
|
||||
export interface ClassChartData {
|
||||
/**
|
||||
* 类别
|
||||
*/
|
||||
category: string;
|
||||
|
||||
/**
|
||||
* 数值
|
||||
*/
|
||||
value: number;
|
||||
|
||||
/**
|
||||
* 颜色
|
||||
*/
|
||||
color?: string;
|
||||
|
||||
/**
|
||||
* 百分比
|
||||
*/
|
||||
percentage?: number;
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量操作结果
|
||||
*/
|
||||
export interface BatchOperationResult {
|
||||
/**
|
||||
* 总数
|
||||
*/
|
||||
total: number;
|
||||
|
||||
/**
|
||||
* 成功数
|
||||
*/
|
||||
success: number;
|
||||
|
||||
/**
|
||||
* 失败数
|
||||
*/
|
||||
failed: number;
|
||||
|
||||
/**
|
||||
* 失败的记录
|
||||
*/
|
||||
failedRecords?: Array<{
|
||||
id: string | number;
|
||||
reason: string;
|
||||
}>;
|
||||
}
|
||||
Reference in new issue
Block a user