wuzhen update test2
This commit is contained in:
1 parent
138a250f28
commit
1ece491bc8
10 files changed
+2640
No files matched your search
@@ -0,0 +1,195 @@
|
||||
import request from '@/utils/request';
|
||||
import { TableDataInfo, R } from '@/api/types';
|
||||
|
||||
// 勤工俭学申请VO类型(学工处审核)
|
||||
export interface WorkStudyApplicationVO {
|
||||
id?: string | number;
|
||||
positionId?: string | number;
|
||||
positionName?: string;
|
||||
studentId?: string | number;
|
||||
studentName?: string;
|
||||
studentNo?: string;
|
||||
collegeId?: string | number;
|
||||
collegeName?: string;
|
||||
majorName?: string;
|
||||
grade?: string;
|
||||
className?: string;
|
||||
contactPhone?: string;
|
||||
email?: string;
|
||||
workExperience?: string;
|
||||
applicationReason?: string;
|
||||
status?: string;
|
||||
statusName?: string;
|
||||
applicationDate?: string;
|
||||
// 学院审核相关字段
|
||||
collegeReviewStatus?: string;
|
||||
collegeReviewTime?: string;
|
||||
collegeReviewerId?: string | number;
|
||||
collegeReviewerName?: string;
|
||||
collegeReviewComment?: string;
|
||||
// 学工处审核相关字段
|
||||
finalReviewStatus?: string;
|
||||
finalReviewTime?: string;
|
||||
finalReviewerId?: string | number;
|
||||
finalReviewerName?: string;
|
||||
finalReviewComment?: string;
|
||||
// 基础字段
|
||||
createBy?: string | number;
|
||||
createTime?: string;
|
||||
updateBy?: string | number;
|
||||
updateTime?: string;
|
||||
// 兼容旧字段名(保持向后兼容)
|
||||
collegeReviewBy?: string | number;
|
||||
collegeReviewByName?: string;
|
||||
finalReviewBy?: string | number;
|
||||
finalReviewByName?: string;
|
||||
}
|
||||
|
||||
// 查询参数
|
||||
export interface WorkStudyApplicationQuery {
|
||||
pageNum?: number;
|
||||
pageSize?: number;
|
||||
positionName?: string;
|
||||
studentName?: string;
|
||||
studentNo?: string;
|
||||
collegeName?: string;
|
||||
status?: string;
|
||||
applicationDate?: string;
|
||||
params?: any;
|
||||
}
|
||||
|
||||
// 审核表单
|
||||
export interface ReviewForm {
|
||||
applicationId: string | number;
|
||||
reviewResult: string;
|
||||
reviewComment?: string;
|
||||
}
|
||||
|
||||
// 统计数据
|
||||
export interface StatisticsVO {
|
||||
pendingCount?: number; // 待学工处审核数量
|
||||
approvedCount?: number; // 学工处审核通过数量
|
||||
rejectedCount?: number; // 学工处审核拒绝数量
|
||||
monthlyPendingCount?: number; // 本月待审核数量
|
||||
totalProcessedCount?: number; // 总处理数量
|
||||
}
|
||||
|
||||
// 按学院分组统计数据
|
||||
export interface CollegeStatisticsVO {
|
||||
collegeStatistics?: Record<string, number>; // 各学院待审核数量
|
||||
totalColleges?: number; // 总学院数
|
||||
}
|
||||
|
||||
// 选项数据
|
||||
export interface OptionsVO {
|
||||
statusOptions?: Array<{ label: string; value: string }>;
|
||||
reviewStatusOptions?: Array<{ label: string; value: string }>;
|
||||
}
|
||||
|
||||
// 查询待学工处审核申请列表
|
||||
export function listPendingApplications(query: WorkStudyApplicationQuery) {
|
||||
return request<TableDataInfo<WorkStudyApplicationVO>>({
|
||||
url: '/jcbt/workStudyApplicationStudentAffairsReview/pendingList',
|
||||
method: 'get',
|
||||
params: query,
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 查询学工处审核历史列表
|
||||
export function listStudentAffairsApplications(query: WorkStudyApplicationQuery) {
|
||||
return request<TableDataInfo<WorkStudyApplicationVO>>({
|
||||
url: '/jcbt/workStudyApplicationStudentAffairsReview/list',
|
||||
method: 'get',
|
||||
params: query,
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 获取申请详情
|
||||
export function getStudentAffairsApplication(id: string | number) {
|
||||
return request<R<WorkStudyApplicationVO>>({
|
||||
url: '/jcbt/workStudyApplicationStudentAffairsReview/' + id,
|
||||
method: 'get',
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 学工处审核
|
||||
export function reviewApplication(data: ReviewForm) {
|
||||
return request<R<any>>({
|
||||
url: '/jcbt/workStudyApplicationStudentAffairsReview/review',
|
||||
method: 'put',
|
||||
data: data,
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 批量学工处审核
|
||||
export function batchReviewApplications(ids: Array<string | number>, reviewResult: string, reviewComment?: string) {
|
||||
return request<R<any>>({
|
||||
url: '/jcbt/workStudyApplicationStudentAffairsReview/batchReview',
|
||||
method: 'put',
|
||||
params: {
|
||||
ids,
|
||||
reviewResult,
|
||||
reviewComment
|
||||
},
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 获取学工处审核统计信息
|
||||
export function getStudentAffairsStatistics() {
|
||||
return request<R<StatisticsVO>>({
|
||||
url: '/jcbt/workStudyApplicationStudentAffairsReview/statistics',
|
||||
method: 'get',
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 获取按学院分组的统计信息
|
||||
export function getStatisticsByCollege() {
|
||||
return request<R<CollegeStatisticsVO>>({
|
||||
url: '/jcbt/workStudyApplicationStudentAffairsReview/statisticsByCollege',
|
||||
method: 'get',
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 导出学工处审核申请列表
|
||||
export function exportApplications(query: WorkStudyApplicationQuery) {
|
||||
return request({
|
||||
url: '/jcbt/workStudyApplicationStudentAffairsReview/export',
|
||||
method: 'post',
|
||||
data: query,
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 获取可用选项
|
||||
export function getApplicationOptions() {
|
||||
return request<R<OptionsVO>>({
|
||||
url: '/jcbt/workStudyApplicationStudentAffairsReview/options',
|
||||
method: 'get',
|
||||
headers: {
|
||||
isEncrypt: 'true'
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import { InternshipInfoVO, InternshipInfoQuery, ClassInfoVO, InternshipStatisticsVO } from '@/api/zsjy/types';
|
||||
|
||||
/**
|
||||
* 查询实习信息列表
|
||||
* @param query 查询参数
|
||||
*/
|
||||
export const listInternshipInfo = (query?: InternshipInfoQuery): AxiosPromise<InternshipInfoVO[]> => {
|
||||
return request({
|
||||
url: '/zsjy/internship/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询学生实习详细信息
|
||||
* @param studentId 学生ID
|
||||
*/
|
||||
export const getInternshipInfo = (studentId: string | number): AxiosPromise<InternshipInfoVO> => {
|
||||
return request({
|
||||
url: `/zsjy/internship/${studentId}`,
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 导出实习信息列表
|
||||
* @param query 查询参数
|
||||
*/
|
||||
export const exportInternshipInfo = (query: InternshipInfoQuery) => {
|
||||
return request({
|
||||
url: '/zsjy/internship/export',
|
||||
method: 'post',
|
||||
data: query,
|
||||
responseType: 'blob'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 获取班级信息列表(用于下拉选择)
|
||||
*/
|
||||
export const getClassOptions = (): AxiosPromise<ClassInfoVO[]> => {
|
||||
return request({
|
||||
url: '/zsjy/internship/classes',
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 获取实习统计数据
|
||||
* @param query 查询参数
|
||||
*/
|
||||
export const getInternshipStatistics = (query?: InternshipInfoQuery): AxiosPromise<InternshipStatisticsVO> => {
|
||||
return request({
|
||||
url: '/zsjy/internship/statistics',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
Reference in new issue
Block a user