192 lines
4.7 KiB
TypeScript
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
|
|
});
|
|
};
|