Files
hzdyjs/web/src/api/xljk/evaluation/index.ts
T
2025-08-06 16:37:37 +08:00

192 lines
4.7 KiB
TypeScript

import request from '@/utils/request';
import {
XljkEvaluationVO,
XljkEvaluationForm,
XljkEvaluationQuery,
XljkEvaluationDetailVO,
XljkEvaluationDetailForm,
XljkEvaluationDetailQuery,
CollegeOption,
MajorOption,
ClassOption,
StudentInfo
} from './types';
// 查询心理健康测评列表
export const listEvaluation = (query: XljkEvaluationQuery) => {
return request({
url: '/api/xljk/evaluation/list',
method: 'get',
params: query
});
};
// 查询心理健康测评详细信息
export const getEvaluation = (id: string | number) => {
return request({
url: `/api/xljk/evaluation/${id}`,
method: 'get'
});
};
// 新增心理健康测评
export const addEvaluation = (data: XljkEvaluationForm) => {
// 确保必填字段都有值,避免数据库插入错误
if (data.departmentName && !data.departmentId) {
data.departmentId = 0; // 使用临时ID,后端会根据名称处理
}
if (data.majorName && !data.majorId) {
data.majorId = 0; // 使用临时ID,后端会根据名称处理
}
if (data.className && !data.classId) {
data.classId = 0; // 使用临时ID,后端会根据名称处理
}
return request({
url: '/api/xljk/evaluation',
method: 'post',
data: data
});
};
// 修改心理健康测评
export const updateEvaluation = (data: XljkEvaluationForm) => {
return request({
url: '/api/xljk/evaluation',
method: 'put',
data: data
});
};
// 删除心理健康测评
export const delEvaluation = (ids: string | number | Array<string | number>) => {
return request({
url: `/api/xljk/evaluation/${typeof ids === 'object' ? ids.join(',') : ids}`,
method: 'delete'
});
};
// 获取院系选项
export const getDepartmentOptions = () => {
return request({
url: '/api/xljk/evaluation/options/department',
method: 'get'
});
};
// 获取院系选项(新接口)
export const getCollegeOptions = () => {
return request({
url: '/api/xljk/evaluation/options/colleges',
method: 'get'
});
};
// 获取专业选项
export const getMajorOptions = (collegeName?: string) => {
return request({
url: '/api/xljk/evaluation/options/majors',
method: 'get',
params: { collegeName }
});
};
// 获取班级选项
export const getClassOptions = (collegeName?: string, majorName?: string) => {
return request({
url: '/api/xljk/evaluation/options/classes',
method: 'get',
params: { collegeName, majorName }
});
};
// 获取班级学生列表
export const getStudentsByClass = (collegeName?: string, majorName?: string, className?: string) => {
return request({
url: '/api/xljk/evaluation/students',
method: 'get',
params: { collegeName, majorName, className }
});
};
// 获取学期选项
export const getSemesterOptions = () => {
return request({
url: '/api/xljk/evaluation/options/semester',
method: 'get'
});
};
// 发布测评(已废弃,改为提交功能)
export const publishEvaluation = (id: string | number) => {
return request({
url: `/api/xljk/evaluation/${id}/publish`,
method: 'put'
});
};
// 提交测评
export const completeEvaluation = (id: string | number) => {
return request({
url: `/api/xljk/evaluation/${id}/complete`,
method: 'put'
});
};
// 获取测评统计数据
export const getEvaluationStatistics = (id: string | number) => {
return request({
url: `/api/xljk/evaluation/${id}/statistics`,
method: 'get'
});
};
// 获取重点关注学生统计
export const getFocusStudentsStatistics = (query: XljkEvaluationQuery) => {
return request({
url: '/api/xljk/evaluation/statistics/focus',
method: 'get',
params: query
});
};
// 查询测评明细列表
export const listEvaluationDetail = (query: XljkEvaluationDetailQuery) => {
return request({
url: '/api/xljk/evaluation/detail/list',
method: 'get',
params: query
});
};
// 获取测评明细列表
export const getEvaluationDetailsByEvaluationId = (evaluationId: string | number) => {
return request({
url: `/api/xljk/evaluation/detail/evaluation/${evaluationId}`,
method: 'get'
});
};
// 批量新增测评明细
export const batchAddEvaluationDetails = (data: XljkEvaluationDetailForm[]) => {
return request({
url: '/api/xljk/evaluation/detail/batch',
method: 'post',
data: data
});
};
// 批量更新学生心理状态
export const batchUpdateMentalStatus = (data: XljkEvaluationDetailForm[]) => {
// 确保数据中的ID字段保持原有格式,不做Number转换
console.log('批量更新数据 - 第一条记录evaluationId:', data[0]?.evaluationId);
return request({
url: '/api/xljk/evaluation/detail/batch/mentalStatus',
method: 'put',
data: data
});
};