87 lines
1.8 KiB
TypeScript
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'
|
|
})
|
|
}
|