wuzhen 20250723提交

This commit is contained in:
wuzhen committed 2025-07-23 15:20:48 +08:00
1 parent 609371ed82
commit cc03e81f49
117 files changed
+76654 -1889

No files matched your search

+39 -10
View File
@@ -1,6 +1,9 @@
import request from '@/utils/request'
import { AxiosPromise } from 'axios'
import { ClassInfoVO, ClassInfoQuery, ClassInfoForm, OptionData } from './classInfo/types'
import { getToken } from '@/utils/auth'
import { DeptTreeVO, DeptVO } from '@/api/system/dept/types'
import { treeselect as deptTreeselect, listDeptExcludeChild } from '@/api/system/dept'
// 通用类型定义
interface TableDataInfo<T> {
@@ -256,14 +259,34 @@ export const getCollegeOptions = (): AxiosPromise<R<any[]>> => {
}
/**
* 获取专业选项
* 从系统部门获取学院选项(二级学院)
*/
export const getMajorOptions = (collegeCode?: string): AxiosPromise<R<any[]>> => {
export const getDeptCollegeOptions = (): AxiosPromise<DeptTreeVO[]> => {
console.log('直接调用部门树API,避免treeselect参数问题');
return request({
url: '/xg/studentInfo/options/majors',
method: 'get',
params: { collegeCode }
})
url: '/system/dept/treeselect',
method: 'get'
});
}
/**
* 从系统部门获取专业选项(学院的下级部门)
*/
export const getDeptMajorOptions = (deptId: string | number): AxiosPromise<DeptVO[]> => {
// 确保deptId是有效的数字ID
if (!deptId || isNaN(Number(deptId))) {
console.error('Invalid deptId:', deptId);
return Promise.reject(new Error('无效的部门ID'));
}
// 直接调用接口,不使用封装的系统API
const numericDeptId = Number(deptId);
console.log('直接调用部门API,使用数字ID:', numericDeptId);
return request({
url: '/system/dept/list/exclude/' + numericDeptId,
method: 'get'
});
}
/**
@@ -277,11 +300,17 @@ export const getCounselorOptions = (): AxiosPromise<R<any[]>> => {
}
/**
* 获取班主任选项
* 获取班主任选项列表
*/
export const getClassTeacherOptions = (): AxiosPromise<R<any[]>> => {
export const getClassTeacherOptions = (): AxiosPromise<R<OptionData[]>> => {
console.log('调用班主任API: /xg/classInfo/teacherOptions')
return request({
url: '/xg/studentInfo/options/classTeachers',
method: 'get'
url: '/xg/classInfo/teacherOptions',
method: 'get',
headers: {
// 确保请求带有认证信息
'Authorization': 'Bearer ' + getToken(),
'clientid': import.meta.env.VITE_APP_CLIENT_ID
}
})
}
+9 -2
View File
@@ -1,5 +1,6 @@
import request from '@/utils/request'
import { AxiosPromise } from 'axios'
import { getToken } from '@/utils/auth'
// 学生信息数据类型
export interface StudentInfo {
@@ -398,9 +399,15 @@ export function getCounselorOptions(): AxiosPromise<OptionData[]> {
// 获取班主任选项
export function getClassTeacherOptions(): AxiosPromise<OptionData[]> {
console.log('调用班主任API: /xg/classInfo/teacherOptions')
return request({
url: '/xg/studentInfo/options/classTeachers',
method: 'get'
url: '/xg/classInfo/teacherOptions',
method: 'get',
headers: {
// 确保请求带有认证信息
'Authorization': 'Bearer ' + getToken(),
'clientid': import.meta.env.VITE_APP_CLIENT_ID
}
})
}
+18 -1
View File
@@ -50,6 +50,23 @@ export const updateEnrollmentInfo = (data: EnrollmentInfoForm) => {
});
};
/**
* 更新招生信息状态并同步到流程管理
* @param id 招生信息ID(单个ID或ID数组)
* @param status 新状态
*/
export const updateEnrollmentStatus = (id: string | number | Array<string | number>, status: string) => {
const data = Array.isArray(id)
? { ids: id, status } // 批量更新
: { id, status }; // 单个更新
return request({
url: '/zsjy/enrollment/info/updateStatus',
method: 'post',
data
});
};
/**
* 删除招生报名信息
* @param id
@@ -121,4 +138,4 @@ export const queryMyEnrollmentStatus = (params: { idCard?: string, examNumber?:
method: 'get',
params: params
});
};
};
+104 -64
View File
@@ -295,7 +295,16 @@ export interface EnrollmentProcessQuery extends PageQuery {
// 查询录取流程状态列表
export const listEnrollmentProcess = (query: EnrollmentProcessQuery): AxiosPromise<EnrollmentProcessVO[]> => {
return request({
url: '/zsjy/enrollmentProcess/list',
url: '/zsjy/enrollment/process/list',
method: 'get',
params: query
})
}
// 查询我的待审核列表
export const listMyAuditProcess = (query: EnrollmentProcessQuery): AxiosPromise<EnrollmentProcessVO[]> => {
return request({
url: '/zsjy/enrollment/process/myAudit',
method: 'get',
params: query
})
@@ -304,7 +313,7 @@ export const listEnrollmentProcess = (query: EnrollmentProcessQuery): AxiosPromi
// 查询录取流程状态详细
export const getEnrollmentProcess = (id: string | number): AxiosPromise<EnrollmentProcessVO> => {
return request({
url: '/zsjy/enrollmentProcess/' + id,
url: '/zsjy/enrollment/process/' + id,
method: 'get'
})
}
@@ -312,16 +321,34 @@ export const getEnrollmentProcess = (id: string | number): AxiosPromise<Enrollme
// 新增录取流程状态
export const addEnrollmentProcess = (data: EnrollmentProcessForm) => {
return request({
url: '/zsjy/enrollmentProcess',
url: '/zsjy/enrollment/process',
method: 'post',
data: data
})
}
// 从报名信息创建流程
export const createProcessFromEnrollment = (enrollmentId: number) => {
return request({
url: '/zsjy/enrollment/process/createFromEnrollment',
method: 'post',
params: { enrollmentId }
})
}
// 同步流程状态
export const syncProcessStatus = (id: string | number) => {
return request({
url: '/zsjy/enrollment/process/syncStatus',
method: 'post',
params: { id }
})
}
// 修改录取流程状态
export const updateEnrollmentProcess = (data: EnrollmentProcessForm) => {
return request({
url: '/zsjy/enrollmentProcess',
url: '/zsjy/enrollment/process',
method: 'put',
data: data
})
@@ -330,7 +357,7 @@ export const updateEnrollmentProcess = (data: EnrollmentProcessForm) => {
// 删除录取流程状态
export const delEnrollmentProcess = (id: string | number | Array<string | number>) => {
return request({
url: '/zsjy/enrollmentProcess/' + id,
url: '/zsjy/enrollment/process/' + id,
method: 'delete'
})
}
@@ -338,117 +365,130 @@ export const delEnrollmentProcess = (id: string | number | Array<string | number
// 根据报名信息ID查询流程状态
export const getProcessByEnrollmentId = (enrollmentId: number): AxiosPromise<EnrollmentProcessVO> => {
return request({
url: '/zsjy/enrollmentProcess/enrollment/' + enrollmentId,
url: '/zsjy/enrollment/process/enrollment/' + enrollmentId,
method: 'get'
})
}
// 查询我的待处理流程
export const getPendingProcessList = (): AxiosPromise<EnrollmentProcessVO[]> => {
// 查询待处理的流程列表
export const getPendingProcessList = (query: EnrollmentProcessQuery): AxiosPromise<EnrollmentProcessVO[]> => {
return request({
url: '/zsjy/enrollmentProcess/pending',
method: 'get'
})
}
// 根据流程状态查询流程列表
export const getProcessByStatus = (status: string): AxiosPromise<EnrollmentProcessVO[]> => {
return request({
url: '/zsjy/enrollmentProcess/status/' + status,
method: 'get'
})
}
// 统计各状态的流程数量
export const getProcessStatistics = (): AxiosPromise<any[]> => {
return request({
url: '/zsjy/enrollmentProcess/statistics',
method: 'get'
})
}
// 根据关键词搜索流程
export const searchProcess = (keyword: string): AxiosPromise<EnrollmentProcessVO[]> => {
return request({
url: '/zsjy/enrollmentProcess/search',
url: '/zsjy/enrollment/process/pending',
method: 'get',
params: { keyword }
params: query
})
}
// 根据状态查询流程列表
export const getProcessListByStatus = (status: string, query: EnrollmentProcessQuery): AxiosPromise<EnrollmentProcessVO[]> => {
return request({
url: '/zsjy/enrollment/process/status/' + status,
method: 'get',
params: query
})
}
// 获取流程统计数据
export const getProcessStatistics = (): AxiosPromise<any> => {
return request({
url: '/zsjy/enrollment/process/statistics',
method: 'get'
})
}
// 搜索流程
export const searchProcess = (keyword: string, query: EnrollmentProcessQuery): AxiosPromise<EnrollmentProcessVO[]> => {
return request({
url: '/zsjy/enrollment/process/search',
method: 'get',
params: { keyword, ...query }
})
}
// 信息审核
export const infoAudit = (data: { id: number; auditResult: string; auditOpinion?: string }) => {
export const infoAudit = (data: {
processId: number;
auditResult: string;
auditOpinion?: string;
}) => {
return request({
url: '/zsjy/enrollmentProcess/infoAudit',
url: '/zsjy/enrollment/process/infoAudit',
method: 'post',
data: data
params: data
})
}
// 录取处理
export const admissionProcess = (data: {
id: number;
processResult: string;
processOpinion?: string;
noticeNumber?: string
export const admissionProcess = (data: {
processId: number;
admissionResult: string;
admissionOpinion?: string;
noticeNumber?: string;
}) => {
return request({
url: '/zsjy/enrollmentProcess/admissionProcess',
url: '/zsjy/enrollment/process/admissionProcess',
method: 'post',
data: data
params: data
})
}
// 缴费确认
export const confirmPayment = (id: number) => {
// 确认缴费
export const confirmPayment = (processId: number) => {
return request({
url: '/zsjy/enrollmentProcess/confirmPayment',
url: '/zsjy/enrollment/process/confirmPayment',
method: 'post',
data: { id }
params: { processId }
})
}
// 最终审核
export const finalAudit = (data: { id: number; auditResult: string; auditOpinion?: string }) => {
export const finalAudit = (data: {
processId: number;
finalResult: string;
finalOpinion?: string;
}) => {
return request({
url: '/zsjy/enrollmentProcess/finalAudit',
url: '/zsjy/enrollment/process/finalConfirm',
method: 'post',
data: data
params: data
})
}
// 完成录取
export const completeEnrollment = (id: number) => {
// 完成流程
export const completeProcess = (processId: number) => {
return request({
url: '/zsjy/enrollmentProcess/complete',
url: '/zsjy/enrollment/process/complete',
method: 'post',
data: { id }
params: { processId }
})
}
// 驳回流程
export const rejectProcess = (data: { id: number; rejectReason: string }) => {
export const rejectProcess = (data: {
processId: number;
rejectReason: string;
}) => {
return request({
url: '/zsjy/enrollmentProcess/reject',
url: '/zsjy/enrollment/process/reject',
method: 'post',
data: data
params: data
})
}
// 重置流程状态
export const resetProcess = (id: number) => {
// 重置流程
export const resetProcess = (processId: number) => {
return request({
url: '/zsjy/enrollmentProcess/reset',
url: '/zsjy/enrollment/process/reset',
method: 'post',
data: { id }
params: { processId }
})
}
// 导出录取流程状态
export const exportEnrollmentProcess = (query: EnrollmentProcessQuery) => {
return request({
url: '/zsjy/enrollmentProcess/export',
url: '/zsjy/enrollment/process/export',
method: 'post',
data: query
})
}
}
+78
View File
@@ -0,0 +1,78 @@
import request from '@/utils/request';
/**
* 获取统计概览数据
*/
export function getStatisticsOverview() {
return request({
url: '/dev-api/zsjy/statistics/overview',
method: 'get'
});
}
/**
* 获取专业分布统计
*/
export function getMajorDistribution() {
return request({
url: '/dev-api/zsjy/statistics/major',
method: 'get'
});
}
/**
* 获取地区分布统计
*/
export function getRegionDistribution() {
return request({
url: '/dev-api/zsjy/statistics/region',
method: 'get'
});
}
/**
* 获取性别比例统计
*/
export function getGenderRatio() {
return request({
url: '/dev-api/zsjy/statistics/gender',
method: 'get'
});
}
/**
* 获取报名趋势统计
* @param {number} days 天数,默认为7天
*/
export function getEnrollmentTrend(days?: number) {
return request({
url: '/dev-api/zsjy/statistics/trend',
method: 'get',
params: { days }
});
}
/**
* 获取状态分布统计
*/
export function getStatusDistribution() {
return request({
url: '/dev-api/zsjy/statistics/status',
method: 'get'
});
}
// 导出接口类型定义
export interface StatisticsOverview {
totalEnrollments: number;
todayEnrollments: number;
paidCount: number;
paymentRate: string;
admittedCount: number;
admissionRate: string;
majorDistribution: Array<{[key: string]: any}>;
regionDistribution: Array<{[key: string]: any}>;
genderRatio: {[key: string]: number};
weeklyTrend: Array<{[key: string]: any}>;
statusDistribution: {[key: string]: number};
}