194 lines
4.6 KiB
TypeScript
194 lines
4.6 KiB
TypeScript
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;
|
|
finalApprovedCount?: number;
|
|
totalCount?: 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/workStudyApplicationCollegeReview/pendingList',
|
|
method: 'get',
|
|
params: query,
|
|
headers: {
|
|
isEncrypt: 'true'
|
|
}
|
|
});
|
|
}
|
|
|
|
// 查询本学院所有申请列表
|
|
export function listCollegeApplications(query: WorkStudyApplicationQuery) {
|
|
return request<TableDataInfo<WorkStudyApplicationVO>>({
|
|
url: '/jcbt/workStudyApplicationCollegeReview/list',
|
|
method: 'get',
|
|
params: query,
|
|
headers: {
|
|
isEncrypt: 'true'
|
|
}
|
|
});
|
|
}
|
|
|
|
// 获取本学院申请详情
|
|
export function getCollegeApplication(id: string | number) {
|
|
return request<R<WorkStudyApplicationVO>>({
|
|
url: '/jcbt/workStudyApplicationCollegeReview/' + id,
|
|
method: 'get',
|
|
headers: {
|
|
isEncrypt: 'true'
|
|
}
|
|
});
|
|
}
|
|
|
|
// 学院审核
|
|
export function reviewApplication(data: ReviewForm) {
|
|
return request<R<any>>({
|
|
url: '/jcbt/workStudyApplicationCollegeReview/review',
|
|
method: 'post',
|
|
data: data,
|
|
headers: {
|
|
isEncrypt: 'true'
|
|
}
|
|
});
|
|
}
|
|
|
|
// 批量学院审核
|
|
export function batchReviewApplications(ids: Array<string | number>, reviewResult: string, reviewComment?: string) {
|
|
return request<R<any>>({
|
|
url: '/jcbt/workStudyApplicationCollegeReview/batchReview',
|
|
method: 'post',
|
|
params: {
|
|
reviewResult,
|
|
reviewComment
|
|
},
|
|
data: ids,
|
|
headers: {
|
|
isEncrypt: 'true'
|
|
}
|
|
});
|
|
}
|
|
|
|
// 获取本学院申请统计信息
|
|
export function getCollegeStatistics() {
|
|
return request<R<StatisticsVO>>({
|
|
url: '/jcbt/workStudyApplicationCollegeReview/statistics',
|
|
method: 'get',
|
|
headers: {
|
|
isEncrypt: 'true'
|
|
}
|
|
});
|
|
}
|
|
|
|
// 获取本学院申请统计信息(调试版本)
|
|
export function getCollegeStatisticsDebug() {
|
|
return request<R<any>>({
|
|
url: '/jcbt/workStudyApplicationCollegeReview/debug/statistics',
|
|
method: 'get',
|
|
headers: {
|
|
isEncrypt: 'true'
|
|
}
|
|
});
|
|
}
|
|
|
|
// 通过列表API获取统计信息(作为备用方案)
|
|
export function getCollegeStatisticsByList() {
|
|
return request<TableDataInfo<WorkStudyApplicationVO>>({
|
|
url: '/jcbt/workStudyApplicationCollegeReview/list',
|
|
method: 'get',
|
|
params: {
|
|
pageNum: 1,
|
|
pageSize: 1,
|
|
status: 'SUBMITTED'
|
|
},
|
|
headers: {
|
|
isEncrypt: 'true'
|
|
}
|
|
});
|
|
}
|
|
|
|
// 获取可用选项
|
|
export function getApplicationOptions() {
|
|
return request<R<OptionsVO>>({
|
|
url: '/jcbt/workStudyApplicationCollegeReview/options',
|
|
method: 'get',
|
|
headers: {
|
|
isEncrypt: 'true'
|
|
}
|
|
});
|
|
}
|