Files
hzdyjs/web/src/api/xg/studentStatistics.ts
T
2025-09-07 20:32:52 +08:00

87 lines
1.8 KiB
TypeScript

import request from '@/utils/request'
export interface StudentStatisticsBo {
startTime: string
endTime: string
collegeId?: number
majorId?: number
classId?: number
}
export interface StatisticsChartData {
name: string
dormDeductionCount: number
dormViolationCount: number
dormViolationDeduction: number
teachingViolationCount: number
teachingViolationDeduction: number
}
export interface StatisticsDetailData {
id: number
name: string
parentName: string
dormDeductionCount: number
dormViolationCount: number
dormViolationDeduction: number
teachingViolationCount: number
teachingViolationDeduction: number
totalDeduction: number
}
export interface StudentStatisticsVo {
dimension: string
chartData: StatisticsChartData[]
detailData: StatisticsDetailData[]
}
export interface CascadeOptionVo {
id: number
label: string
value: string
sort: number
}
// 获取统计数据
export function getStatistics(data: StudentStatisticsBo) {
return request({
url: '/xg/studentStatistics/statistics',
method: 'post',
data: data
})
}
// 导出统计数据
export function exportStatistics(data: StudentStatisticsBo) {
return request({
url: '/xg/studentStatistics/export',
method: 'post',
data: data,
responseType: 'blob'
})
}
// 获取二级学院列表
export function getColleges() {
return request({
url: '/xg/studentStatistics/colleges',
method: 'get'
})
}
// 根据学院ID获取专业列表
export function getMajorsByCollegeId(collegeId: number) {
return request({
url: `/xg/studentStatistics/majors/${collegeId}`,
method: 'get'
})
}
// 根据专业ID获取班级列表
export function getClassesByMajorId(majorId: number) {
return request({
url: `/xg/studentStatistics/classes/${majorId}`,
method: 'get'
})
}