wuzhen update2

This commit is contained in:
wuzhen committed 2025-08-12 16:52:10 +08:00
commit 2272bb7eb1
155 files changed
+30832 -4551

No files matched your search

+3
View File
@@ -8,6 +8,9 @@ import {
ScholarshipAttachmentVO
} from './types';
// 导出贫困申请审核相关API
export * from './povertyApplicationReview';
/**
* 查询奖学金申请记录列表
* @param query 查询参数
+134 -113
View File
@@ -1,34 +1,34 @@
import request from '@/utils/request'
import { AxiosPromise } from 'axios'
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
/**
* 贫困生认定申请查询对象类型
*/
export interface JcbtPovertyApplicationQuery extends PageQuery {
/** 申请编号 */
applicationNo?: string
applicationNo?: string;
/** 学生姓名 */
studentName?: string
studentName?: string;
/** 学号 */
studentNo?: string
studentNo?: string;
/** 班级名称 */
className?: string
className?: string;
/** 认定类型ID */
recognitionTypeId?: number
recognitionTypeId?: number;
/** 认定类型名称 */
recognitionTypeName?: string
recognitionTypeName?: string;
/** 学年 */
academicYear?: string
academicYear?: string;
/** 申请状态 */
status?: string
status?: string;
/** 家庭经济情况 */
familyEconomyStatus?: string
familyEconomyStatus?: string;
/** 申请自助类型ID数组 */
assistanceTypeIds?: string
assistanceTypeIds?: string;
/** 创建时间范围 */
createTime?: [string, string]
createTime?: [string, string];
/** 申请时间范围 */
applicationTime?: [string, string]
applicationTime?: [string, string];
}
/**
@@ -36,73 +36,77 @@ export interface JcbtPovertyApplicationQuery extends PageQuery {
*/
export interface JcbtPovertyApplicationForm {
/** 主键 */
id?: string | number
id?: string | number;
/** 申请编号 */
applicationNo?: string
applicationNo?: string;
/** 学年 */
academicYear?: string
academicYear?: string;
/** 学期 */
term?: number
term?: number;
/** 学生ID */
studentId?: number
studentId?: number;
/** 学号 */
studentNo?: string
studentNo?: string;
/** 学生姓名 */
studentName?: string
studentName?: string;
/** 性别 */
gender?: string
gender?: string;
/** 学院ID */
collegeId?: number
collegeId?: number;
/** 学院名称 */
collegeName?: string
collegeName?: string;
/** 专业ID */
majorId?: number
majorId?: number;
/** 专业名称 */
majorName?: string
majorName?: string;
/** 班级ID */
classId?: number
classId?: number;
/** 班级名称 */
className?: string
className?: string;
/** 班主任教师ID */
teacherId?: number;
/** 班主任教师姓名 */
teacherName?: string;
/** 认定群体 */
recognitionGroup?: string
recognitionGroup?: string;
/** 认定类型ID */
recognitionTypeId?: number
recognitionTypeId?: number;
/** 认定类型编码 */
recognitionTypeCode?: string
recognitionTypeCode?: string;
/** 认定类型名称 */
recognitionTypeName?: string
recognitionTypeName?: string;
/** 申请状态 */
status?: string
status?: string;
/** 家庭经济情况 */
familyEconomyStatus?: string
familyEconomyStatus?: string;
/** 家庭经济情况摘要 */
familyEconomySummary?: string
familyEconomySummary?: string;
/** 申请理由 */
applicationReason?: string
applicationReason?: string;
/** 申请时间 */
applicationTime?: string
applicationTime?: string;
/** 审核时间 */
auditTime?: string
auditTime?: string;
/** 审核人ID */
auditUserId?: number
auditUserId?: number;
/** 审核人姓名 */
auditUserName?: string
auditUserName?: string;
/** 审核意见 */
auditOpinion?: string
auditOpinion?: string;
/** 申请自助类型ID数组 */
assistanceTypeIds?: string
assistanceTypeIds?: string;
/** 申请自助类型名称 */
assistanceTypeNames?: string
assistanceTypeNames?: string;
/** 备注 */
remark?: string
remark?: string;
/** 申请表附件URL */
attachApplicationFormUrl?: string
attachApplicationFormUrl?: string;
/** 申请表附件ID */
attachApplicationFormId?: number
attachApplicationFormId?: number;
/** 调查表附件URL */
attachSurveyFormUrl?: string
attachSurveyFormUrl?: string;
/** 调查表附件ID */
attachSurveyFormId?: number
attachSurveyFormId?: number;
}
/**
@@ -110,81 +114,85 @@ export interface JcbtPovertyApplicationForm {
*/
export interface JcbtPovertyApplicationVo {
/** 主键 */
id: string | number
id: string | number;
/** 申请编号 */
applicationNo: string
applicationNo: string;
/** 学年 */
academicYear: string
academicYear: string;
/** 学期 */
term: number
term: number;
/** 学生ID */
studentId: number
studentId: number;
/** 学号 */
studentNo: string
studentNo: string;
/** 学生姓名 */
studentName: string
studentName: string;
/** 性别 */
gender: string
gender: string;
/** 学院ID */
collegeId: number
collegeId: number;
/** 学院名称 */
collegeName: string
collegeName: string;
/** 专业ID */
majorId: number
majorId: number;
/** 专业名称 */
majorName: string
majorName: string;
/** 班级ID */
classId: number
classId: number;
/** 班级名称 */
className: string
className: string;
/** 班主任教师ID */
teacherId: number;
/** 班主任教师姓名 */
teacherName: string;
/** 认定群体 */
recognitionGroup: string
recognitionGroup: string;
/** 认定类型ID */
recognitionTypeId: number
recognitionTypeId: number;
/** 认定类型编码 */
recognitionTypeCode: string
recognitionTypeCode: string;
/** 认定类型名称 */
recognitionTypeName: string
recognitionTypeName: string;
/** 申请状态 */
status: string
status: string;
/** 家庭经济情况 */
familyEconomyStatus: string
familyEconomyStatus: string;
/** 申请自助类型ID数组 */
assistanceTypeIds: string
assistanceTypeIds: string;
/** 申请自助类型名称 */
assistanceTypeNames: string
assistanceTypeNames: string;
/** 家庭经济情况摘要 */
familyEconomySummary: string
familyEconomySummary: string;
/** 申请理由 */
applicationReason: string
applicationReason: string;
/** 申请时间 */
applicationTime: string
applicationTime: string;
/** 审核时间 */
auditTime: string
auditTime: string;
/** 审核人ID */
auditUserId: number
auditUserId: number;
/** 审核人姓名 */
auditUserName: string
auditUserName: string;
/** 审核意见 */
auditOpinion: string
auditOpinion: string;
/** 备注 */
remark: string
remark: string;
/** 创建者 */
createBy: number
createBy: number;
/** 创建时间 */
createTime: string
createTime: string;
/** 更新者 */
updateBy: number
updateBy: number;
/** 更新时间 */
updateTime: string
updateTime: string;
/** 申请表附件URL */
attachApplicationFormUrl: string
attachApplicationFormUrl: string;
/** 申请表附件ID */
attachApplicationFormId: number
attachApplicationFormId: number;
/** 调查表附件URL */
attachSurveyFormUrl: string
attachSurveyFormUrl: string;
/** 调查表附件ID */
attachSurveyFormId: number
attachSurveyFormId: number;
}
/**
@@ -192,9 +200,9 @@ export interface JcbtPovertyApplicationVo {
*/
export interface AuditRequestForm {
/** 申请ID */
id: string | number
id: string | number;
/** 审核意见 */
auditOpinion: string
auditOpinion: string;
}
// ========== 基础管理接口(6个) ==========
@@ -208,7 +216,7 @@ export function listPovertyApplication(query: JcbtPovertyApplicationQuery): Axio
url: '/jcbt/povertyApplication/list',
method: 'get',
params: query
})
});
}
/**
@@ -219,19 +227,19 @@ export function getPovertyApplication(id: string | number): AxiosPromise<JcbtPov
return request({
url: '/jcbt/povertyApplication/' + id,
method: 'get'
})
});
}
/**
* 新增贫困生认定申请
* @param data 申请表单数据
*/
export function addPovertyApplication(data: JcbtPovertyApplicationForm): AxiosPromise<void> {
export function addPovertyApplication(data: JcbtPovertyApplicationForm): AxiosPromise<number> {
return request({
url: '/jcbt/povertyApplication',
method: 'post',
data: data
})
});
}
/**
@@ -243,7 +251,7 @@ export function updatePovertyApplication(data: JcbtPovertyApplicationForm): Axio
url: '/jcbt/povertyApplication',
method: 'put',
data: data
})
});
}
/**
@@ -254,7 +262,7 @@ export function delPovertyApplication(ids: (string | number)[]): AxiosPromise<vo
return request({
url: '/jcbt/povertyApplication/' + ids.join(','),
method: 'delete'
})
});
}
/**
@@ -267,7 +275,20 @@ export function exportPovertyApplication(query: JcbtPovertyApplicationQuery): Ax
method: 'post',
data: query,
responseType: 'blob'
})
});
}
/**
* 导出我的申请列表(班主任导出自己提交的申请)
* @param query 查询参数
*/
export function exportMyPovertyApplication(query: JcbtPovertyApplicationQuery): AxiosPromise<any> {
return request({
url: '/jcbt/povertyApplication/myExport',
method: 'post',
data: query,
responseType: 'blob'
});
}
// ========== 业务功能接口(4个) ==========
@@ -281,7 +302,7 @@ export function listMyPovertyApplication(query: JcbtPovertyApplicationQuery): Ax
url: '/jcbt/povertyApplication/myList',
method: 'get',
params: query
})
});
}
/**
@@ -293,7 +314,7 @@ export function listPendingPovertyApplication(query: JcbtPovertyApplicationQuery
url: '/jcbt/povertyApplication/pendingList',
method: 'get',
params: query
})
});
}
/**
@@ -304,7 +325,7 @@ export function submitPovertyApplication(id: string | number): AxiosPromise<void
return request({
url: '/jcbt/povertyApplication/submit/' + id,
method: 'put'
})
});
}
/**
@@ -315,7 +336,7 @@ export function cancelPovertyApplication(id: string | number): AxiosPromise<void
return request({
url: '/jcbt/povertyApplication/cancel/' + id,
method: 'put'
})
});
}
// ========== 辅助功能接口(6个) ==========
@@ -328,7 +349,7 @@ export function getPovertyApplicationByNo(applicationNo: string): AxiosPromise<J
return request({
url: '/jcbt/povertyApplication/byApplicationNo/' + applicationNo,
method: 'get'
})
});
}
/**
@@ -340,7 +361,7 @@ export function saveDraftPovertyApplication(data: JcbtPovertyApplicationForm): A
url: '/jcbt/povertyApplication/saveDraft',
method: 'post',
data: data
})
});
}
/**
@@ -352,7 +373,7 @@ export function approvePovertyApplication(data: AuditRequestForm): AxiosPromise<
url: '/jcbt/povertyApplication/approve',
method: 'put',
data: data
})
});
}
/**
@@ -364,7 +385,7 @@ export function rejectPovertyApplication(data: AuditRequestForm): AxiosPromise<v
url: '/jcbt/povertyApplication/reject',
method: 'put',
data: data
})
});
}
/**
@@ -374,7 +395,7 @@ export function generateApplicationNo(): AxiosPromise<string> {
return request({
url: '/jcbt/povertyApplication/generateApplicationNo',
method: 'get'
})
});
}
/**
@@ -382,16 +403,16 @@ export function generateApplicationNo(): AxiosPromise<string> {
* @param params 检查参数
*/
export function checkDuplicate(params: {
studentId: number
academicYear: string
recognitionTypeId: number
excludeId?: number
studentId: number;
academicYear: string;
recognitionTypeId: number;
excludeId?: number;
}): AxiosPromise<boolean> {
return request({
url: '/jcbt/povertyApplication/checkDuplicate',
method: 'get',
params: params
})
});
}
// ========== 统计分析接口(2个) ==========
@@ -405,7 +426,7 @@ export function getPovertyApplicationStatistics(teacherId?: number): AxiosPromis
url: '/jcbt/povertyApplication/statistics',
method: 'get',
params: teacherId ? { teacherId } : {}
})
});
}
/**
@@ -415,7 +436,7 @@ export function getMyPovertyApplicationStatistics(): AxiosPromise<any> {
return request({
url: '/jcbt/povertyApplication/myStatistics',
method: 'get'
})
});
}
// ========== 班级和学生相关接口(2个) ==========
@@ -427,7 +448,7 @@ export function getCurrentUserClasses(): AxiosPromise<any[]> {
return request({
url: '/jcbt/povertyApplication/user/classes',
method: 'get'
})
});
}
/**
@@ -438,5 +459,5 @@ export function getClassStudents(classId: number | string): AxiosPromise<any[]>
return request({
url: `/jcbt/povertyApplication/class/${classId}/students`,
method: 'get'
})
});
}
@@ -0,0 +1,235 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
// 审核查询参数
export interface PovertyApplicationReviewQuery {
pageNum?: number;
pageSize?: number;
applicationNo?: string;
studentName?: string;
studentNo?: string;
className?: string;
recognitionGroup?: string;
academicYear?: string;
status?: string;
auditOpinion?: string;
auditorName?: string;
createTime?: string;
auditTime?: string;
params?: any;
}
// 审核VO
export interface PovertyApplicationReviewVo {
id: number;
applicationNo: string;
academicYear: string;
term: number;
studentId: number;
studentNo: string;
studentName: string;
gender: string;
collegeId: number;
collegeName: string;
majorId: number;
majorName: string;
classId: number;
className: string;
teacherId: number;
teacherName: string;
recognitionGroup: string;
recognitionTypeId: number;
recognitionTypeCode: string;
recognitionTypeName: string;
assistanceTypeIds: string;
assistanceTypeNames: string;
familyEconomyStatus: string;
familyEconomySummary: string;
applicationReason: string;
attachApplicationFormUrl: string;
attachApplicationFormId: number;
attachSurveyFormUrl: string;
attachSurveyFormId: number;
status: string;
submitTime: string;
auditorId: number;
auditorName: string;
auditTime: string;
auditOpinion: string;
remark: string;
createBy: number;
createTime: string;
updateBy: number;
updateTime: string;
}
// 审核表单
export interface PovertyApplicationReviewForm {
id: number;
auditOpinion: string;
}
// 批量审核表单
export interface BatchReviewForm {
ids: number[];
auditOpinion: string;
}
// 审核统计响应
export interface ReviewStatistics {
totalCount: number;
statusCount: {
SUBMITTED?: number;
APPROVED?: number;
REJECTED?: number;
[key: string]: number | undefined;
};
}
// 审核人员工作量统计
export interface AuditorWorkloadStatistics {
auditorName: string;
totalCount: number;
approvedCount: number;
rejectedCount: number;
}
// 审核历史记录
export interface AuditHistoryRecord {
action: string;
operator: string;
operateTime: string;
status: string;
remark: string;
}
// 附件预览信息
export interface AttachmentPreview {
applicationFormUrl?: string;
surveyFormUrl?: string;
hasApplicationForm: boolean;
hasSurveyForm: boolean;
}
// 查询待审核申请列表
export function listPendingReview(query: PovertyApplicationReviewQuery): AxiosPromise<PovertyApplicationReviewVo[]> {
return request({
url: '/jcbt/povertyApplicationReview/pendingList',
method: 'get',
params: query
});
}
// 查询所有申请列表(支持多状态筛选)
export function listAllReview(query: PovertyApplicationReviewQuery): AxiosPromise<PovertyApplicationReviewVo[]> {
return request({
url: '/jcbt/povertyApplicationReview/list',
method: 'get',
params: query
});
}
// 查询申请详情
export function getReviewDetail(id: string | number): AxiosPromise<PovertyApplicationReviewVo> {
return request({
url: '/jcbt/povertyApplicationReview/' + id,
method: 'get'
});
}
// 审核通过
export function approveApplication(data: PovertyApplicationReviewForm): AxiosPromise<void> {
return request({
url: '/jcbt/povertyApplicationReview/approve',
method: 'put',
data: data
});
}
// 审核驳回
export function rejectApplication(data: PovertyApplicationReviewForm): AxiosPromise<void> {
return request({
url: '/jcbt/povertyApplicationReview/reject',
method: 'put',
data: data
});
}
// 打回修改
export function returnToDraft(data: PovertyApplicationReviewForm): AxiosPromise<void> {
return request({
url: '/jcbt/povertyApplicationReview/returnToDraft',
method: 'put',
data: data
});
}
// 批量审核通过
export function batchApproveApplications(data: BatchReviewForm): AxiosPromise<void> {
return request({
url: '/jcbt/povertyApplicationReview/batchApprove',
method: 'put',
data: data
});
}
// 批量审核驳回
export function batchRejectApplications(data: BatchReviewForm): AxiosPromise<void> {
return request({
url: '/jcbt/povertyApplicationReview/batchReject',
method: 'put',
data: data
});
}
// 获取审核统计信息
export function getReviewStatistics(academicYear?: string, collegeId?: number): AxiosPromise<ReviewStatistics> {
return request({
url: '/jcbt/povertyApplicationReview/statistics',
method: 'get',
params: { academicYear, collegeId }
});
}
// 获取审核人员工作量统计
export function getAuditorWorkloadStatistics(startTime?: string, endTime?: string): AxiosPromise<AuditorWorkloadStatistics[]> {
return request({
url: '/jcbt/povertyApplicationReview/workloadStatistics',
method: 'get',
params: { startTime, endTime }
});
}
// 获取申请附件预览信息
export function getAttachmentPreview(id: string | number): AxiosPromise<AttachmentPreview> {
return request({
url: '/jcbt/povertyApplicationReview/' + id + '/attachments',
method: 'get'
});
}
// 获取申请审核历史记录
export function getAuditHistory(id: string | number): AxiosPromise<AuditHistoryRecord[]> {
return request({
url: '/jcbt/povertyApplicationReview/' + id + '/history',
method: 'get'
});
}
// 导出申请数据
export function exportReviewData(query: PovertyApplicationReviewQuery): AxiosPromise<void> {
return request({
url: '/jcbt/povertyApplicationReview/export',
method: 'post',
data: query
});
}
// 导出待审核申请数据
export function exportPendingReviewData(query: PovertyApplicationReviewQuery): AxiosPromise<void> {
return request({
url: '/jcbt/povertyApplicationReview/exportPending',
method: 'post',
data: query
});
}
+2 -2
View File
@@ -17,7 +17,7 @@ export {
getAvailableReviewers,
// 为了与页面中的函数名保持一致,添加别名
performReviewAction as approveScholarshipReview
} from '../scholarshipReview'
} from '../scholarshipReview';
// 重新导出类型定义
export type {
@@ -27,4 +27,4 @@ export type {
ReviewActionForm,
ReviewHistoryQuery,
ReviewStatistics
} from '../scholarshipReview'
} from '../scholarshipReview';
+2 -25
View File
@@ -6,7 +6,6 @@ export interface ScholarshipApplicationVO {
id?: string | number;
/** 批次ID */
batchId?: string | number;
<<<<<<< HEAD
/** 批次名称 */
batchName?: string;
/** 奖学金类型ID */
@@ -17,12 +16,6 @@ export interface ScholarshipApplicationVO {
applicationNo?: string;
/** 学生学号 */
studentNo?: string;
=======
/** 奖学金类型ID */
scholarshipTypeId?: string | number;
/** 学生学号 */
studentCode?: string;
>>>>>>> 4b9dbe40fb94a83d379f7d16211dec6d78c23755
/** 学生姓名 */
studentName?: string;
/** 学生ID */
@@ -31,11 +24,10 @@ export interface ScholarshipApplicationVO {
deptId?: string | number;
/** 学院名称 */
deptName?: string;
<<<<<<< HEAD
/** 专业ID */
majorId?: string | number;
=======
>>>>>>> 4b9dbe40fb94a83d379f7d16211dec6d78c23755
/** 专业名称 */
majorName?: string;
/** 班级ID */
classId?: string | number;
/** 班级名称 */
@@ -52,7 +44,6 @@ export interface ScholarshipApplicationVO {
applicationReason?: string;
/** 申请说明 */
applicationDescription?: string;
<<<<<<< HEAD
/** 系统计算分数 */
calculatedScore?: number;
/** 最终评定分数 */
@@ -73,12 +64,6 @@ export interface ScholarshipApplicationVO {
updateBy?: string | number;
/** 更新时间 */
updateTime?: string;
=======
/** 状态 */
status?: string;
/** 创建时间 */
createTime?: string;
>>>>>>> 4b9dbe40fb94a83d379f7d16211dec6d78c23755
}
export interface ScholarshipApplicationForm {
@@ -110,11 +95,7 @@ export interface ScholarshipApplicationQuery extends PageQuery {
/** 奖学金类型ID */
scholarshipTypeId?: string | number;
/** 学生学号 */
<<<<<<< HEAD
studentNo?: string;
=======
studentCode?: string;
>>>>>>> 4b9dbe40fb94a83d379f7d16211dec6d78c23755
/** 学生姓名 */
studentName?: string;
/** 申请人ID */
@@ -223,16 +204,12 @@ export function confirmClassSelection(teacherId: string | number, classId: strin
}
// 班主任批量申请提交
<<<<<<< HEAD
export function batchSubmitByTeacher(
batchId: string | number,
scholarshipTypeId: string | number,
classId: string | number,
studentApplications: any[]
) {
=======
export function batchSubmitByTeacher(batchId: string | number, scholarshipTypeId: string | number, classId: string | number, studentApplications: any[]) {
>>>>>>> 4b9dbe40fb94a83d379f7d16211dec6d78c23755
return request({
url: '/jcbt/scholarshipApplication/batch',
method: 'post',
-1
View File
@@ -220,4 +220,3 @@ export function getAvailableReviewers(auditLevel: string): AxiosPromise<any[]> {
method: 'get'
});
}
+116
View File
@@ -0,0 +1,116 @@
import request from '@/utils/request';
// 查询勤工俭学申请信息列表
export function listWorkStudyApplication(query) {
return request({
url: '/jcbt/workStudyApplication/list',
method: 'get',
params: query
});
}
// 查询勤工俭学申请信息详细
export function getWorkStudyApplication(id) {
return request({
url: '/jcbt/workStudyApplication/' + id,
method: 'get'
});
}
// 新增勤工俭学申请信息
export function addWorkStudyApplication(data) {
return request({
url: '/jcbt/workStudyApplication',
method: 'post',
data: data
});
}
// 修改勤工俭学申请信息
export function updateWorkStudyApplication(data) {
return request({
url: '/jcbt/workStudyApplication',
method: 'put',
data: data
});
}
// 删除勤工俭学申请信息
export function delWorkStudyApplication(id) {
return request({
url: '/jcbt/workStudyApplication/' + id,
method: 'delete'
});
}
// 检查学生是否已申请该岗位
export function checkDuplicateApplication(studentId, positionId) {
return request({
url: '/jcbt/workStudyApplication/hasApplied',
method: 'get',
params: {
studentId: studentId,
positionId: positionId
}
});
}
// 提交申请
export function submitApplication(id) {
return request({
url: '/jcbt/workStudyApplication/submit/' + id,
method: 'post'
});
}
// 撤销申请
export function cancelApplication(id) {
return request({
url: '/jcbt/workStudyApplication/cancel/' + id,
method: 'post'
});
}
// 学院审核
export function collegeReview(data) {
return request({
url: '/jcbt/workStudyApplication/collegeReview',
method: 'post',
data: data
});
}
// 学生处审核
export function finalReview(data) {
return request({
url: '/jcbt/workStudyApplication/finalReview',
method: 'post',
data: data
});
}
// 获取当前用户学生信息
export function getCurrentStudentInfo() {
return request({
url: '/jcbt/workStudyApplication/currentStudentInfo',
method: 'get'
});
}
// 导出勤工俭学申请信息
export function exportWorkStudyApplication(query) {
return request({
url: '/jcbt/workStudyApplication/export',
method: 'get',
params: query,
responseType: 'blob'
});
}
// 获取岗位申请统计信息
export function getApplicationStatistics(positionId) {
return request({
url: '/jcbt/workStudyApplication/statistics/' + positionId,
method: 'get'
});
}
+453
View File
@@ -0,0 +1,453 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
/**
* 勤工俭学申请查询对象类型
*/
export interface WorkStudyApplicationQuery extends PageQuery {
/** 学生姓名 */
studentName?: string;
/** 学号 */
studentNumber?: string;
/** 身份证号 */
idCard?: string;
/** 联系电话 */
contactPhone?: string;
/** 学院名称 */
collegeName?: string;
/** 专业名称 */
majorName?: string;
/** 班级名称 */
className?: string;
/** 年级 */
grade?: string;
/** 岗位ID */
positionId?: number;
/** 岗位名称 */
positionName?: string;
/** 岗位类型 */
positionType?: string;
/** 工作地点 */
workLocation?: string;
/** 申请状态 */
applicationStatus?: string;
/** 学院审核状态 */
collegeReviewStatus?: string;
/** 学生处审核状态 */
finalReviewStatus?: string;
/** 家庭经济情况 */
familyFinancialStatus?: string;
/** 申请时间范围 */
params?: {
beginCreateTime?: string;
endCreateTime?: string;
};
}
/**
* 勤工俭学申请对象类型
*/
export interface WorkStudyApplicationForm {
/** 主键ID */
id?: number;
/** 学生ID */
studentId?: number;
/** 学生姓名 */
studentName: string;
/** 学生所在学院ID */
collegeId?: number;
/** 学号 */
studentNumber: string;
/** 身份证号 */
idCard: string;
/** 联系电话 */
contactPhone: string;
/** 学院名称 */
collegeName: string;
/** 专业名称 */
majorName: string;
/** 班级名称 */
className: string;
/** 年级 */
grade?: string;
/** 岗位ID */
positionId?: number;
/** 岗位名称 */
positionName: string;
/** 岗位类型 */
positionType: string;
/** 工作地点 */
workLocation: string;
/** 计划工作时长 */
plannedWorkHours?: number;
/** 家庭经济情况 */
familyFinancialStatus: string;
/** 申请理由 */
applicationReason: string;
/** 个人能力及经验 */
personalAbility: string;
/** 时间安排 */
timeArrangement: string;
/** 备注 */
remark?: string;
}
/**
* 勤工俭学申请展示对象类型
*/
export interface WorkStudyApplicationVO {
/** 主键ID */
id: number;
/** 学生姓名 */
studentName: string;
/** 学号 */
studentNumber: string;
/** 身份证号 */
idCard: string;
/** 联系电话 */
contactPhone: string;
/** 学院名称 */
collegeName: string;
/** 专业名称 */
majorName: string;
/** 班级名称 */
className: string;
/** 年级 */
grade: string;
/** 岗位ID */
positionId?: number;
/** 岗位名称 */
positionName: string;
/** 岗位类型 */
positionType: string;
/** 工作地点 */
workLocation: string;
/** 计划工作时长 */
plannedWorkHours: number;
/** 家庭经济情况 */
familyFinancialStatus: string;
/** 申请理由 */
applicationReason: string;
/** 个人能力及经验 */
personalAbility: string;
/** 时间安排 */
timeArrangement: string;
/** 备注 */
remark?: string;
/** 申请状态 */
applicationStatus: string;
/** 学院审核状态 */
collegeReviewStatus?: string;
/** 学院审核时间 */
collegeReviewTime?: string;
/** 学院审核人姓名 */
collegeReviewerName?: string;
/** 学院审核意见 */
collegeReviewComment?: string;
/** 学生处审核状态 */
finalReviewStatus?: string;
/** 学生处审核时间 */
finalReviewTime?: string;
/** 学生处审核人姓名 */
finalReviewerName?: string;
/** 学生处审核意见 */
finalReviewComment?: string;
/** 创建时间 */
createTime: string;
/** 更新时间 */
updateTime: string;
}
/**
* 审核请求对象类型
*/
export interface ReviewRequestForm {
/** 申请ID */
applicationId: number;
/** 审核结果 */
reviewStatus: string;
/** 审核意见 */
reviewComment: string;
}
/**
* 申请选项对象类型
*/
export interface ApplicationOptions {
/** 年级选项 */
gradeOptions: Array<{ label: string; value: string }>;
/** 岗位类型选项 */
positionTypeOptions: Array<{ label: string; value: string }>;
/** 家庭经济情况选项 */
familyFinancialStatusOptions: Array<{ label: string; value: string }>;
/** 申请状态选项 */
applicationStatusOptions: Array<{ label: string; value: string }>;
/** 审核状态选项 */
reviewStatusOptions: Array<{ label: string; value: string }>;
}
// ========== 基础管理接口(6个) ==========
/**
* 查询学生可申请的岗位列表(替代原申请列表)
* @param query 查询参数
*/
export function listWorkStudyApplication(query: any): AxiosPromise<any[]> {
return request({
url: '/jcbt/workStudyApplication/list',
method: 'get',
params: query
});
}
/**
* 查询勤工俭学申请详细
* @param id 申请ID
*/
export function getWorkStudyApplication(id: string | number): AxiosPromise<WorkStudyApplicationVO> {
return request({
url: '/jcbt/workStudyApplication/detail/' + id,
method: 'get'
});
}
/**
* 新增勤工俭学申请
* @param data 申请数据
*/
export function addWorkStudyApplication(data: WorkStudyApplicationForm): AxiosPromise<void> {
return request({
url: '/jcbt/workStudyApplication',
method: 'post',
data: data
});
}
/**
* 修改勤工俭学申请
* @param data 申请数据
*/
export function updateWorkStudyApplication(data: WorkStudyApplicationForm): AxiosPromise<void> {
return request({
url: '/jcbt/workStudyApplication',
method: 'put',
data: data
});
}
/**
* 删除勤工俭学申请
* @param ids 申请ID数组
*/
export function delWorkStudyApplication(ids: string | number | Array<string | number>): AxiosPromise<void> {
return request({
url: '/jcbt/workStudyApplication/' + ids,
method: 'delete'
});
}
/**
* 导出勤工俭学申请数据
* @param query 查询参数
*/
export function exportWorkStudyApplication(query: WorkStudyApplicationQuery): AxiosPromise<any> {
return request({
url: '/jcbt/workStudyApplication/export',
method: 'post',
data: query,
responseType: 'blob'
});
}
// ========== 业务功能接口(4个) ==========
/**
* 查询我的申请列表
* @param query 查询参数
*/
export function listMyWorkStudyApplication(query: WorkStudyApplicationQuery): AxiosPromise<WorkStudyApplicationVO[]> {
return request({
url: '/jcbt/workStudyApplication/myList',
method: 'get',
params: query
});
}
/**
* 查询待学院审核列表
* @param query 查询参数
*/
export function listPendingCollegeReview(query: WorkStudyApplicationQuery): AxiosPromise<WorkStudyApplicationVO[]> {
return request({
url: '/jcbt/workStudyApplication/pendingCollegeReview',
method: 'get',
params: query
});
}
/**
* 查询待学生处审核列表
* @param query 查询参数
*/
export function listPendingFinalReview(query: WorkStudyApplicationQuery): AxiosPromise<WorkStudyApplicationVO[]> {
return request({
url: '/jcbt/workStudyApplication/pendingFinalReview',
method: 'get',
params: query
});
}
/**
* 获取岗位申请统计信息
* @param positionId 岗位ID
*/
export function getApplicationStatistics(positionId: string | number): AxiosPromise<{ [key: string]: any }> {
return request({
url: '/jcbt/workStudyApplication/statistics/' + positionId,
method: 'get'
});
}
// ========== 申请流程接口(6个) ==========
/**
* 提交申请
* @param id 申请ID
*/
export function submitApplication(id: string | number): AxiosPromise<void> {
return request({
url: '/jcbt/workStudyApplication/submit/' + id,
method: 'post'
});
}
/**
* 撤销申请
* @param id 申请ID
*/
export function cancelApplication(id: string | number): AxiosPromise<void> {
return request({
url: '/jcbt/workStudyApplication/cancel/' + id,
method: 'post'
});
}
/**
* 学院审核
* @param data 审核数据
*/
export function collegeReview(data: ReviewRequestForm): AxiosPromise<void> {
return request({
url: '/jcbt/workStudyApplication/collegeReview',
method: 'post',
data: data
});
}
/**
* 学生处审核
* @param data 审核数据
*/
export function finalReview(data: ReviewRequestForm): AxiosPromise<void> {
return request({
url: '/jcbt/workStudyApplication/finalReview',
method: 'post',
data: data
});
}
/**
* 批量学院审核
* @param ids 申请ID数组
* @param reviewResult 审核结果
* @param reviewComment 审核意见
*/
export function batchCollegeReview(ids: Array<string | number>, reviewResult: string, reviewComment?: string): AxiosPromise<void> {
return request({
url: '/jcbt/workStudyApplication/batchCollegeReview',
method: 'post',
params: {
ids: ids,
reviewResult: reviewResult,
reviewComment: reviewComment
}
});
}
/**
* 批量学生处审核
* @param ids 申请ID数组
* @param reviewResult 审核结果
* @param reviewComment 审核意见
*/
export function batchFinalReview(ids: Array<string | number>, reviewResult: string, reviewComment?: string): AxiosPromise<void> {
return request({
url: '/jcbt/workStudyApplication/batchFinalReview',
method: 'post',
params: {
ids: ids,
reviewResult: reviewResult,
reviewComment: reviewComment
}
});
}
// ========== 辅助功能接口(4个) ==========
/**
* 获取申请选项数据
*/
export function getApplicationOptions(): AxiosPromise<ApplicationOptions> {
return request({
url: '/jcbt/workStudyApplication/options',
method: 'get'
});
}
/**
* 检查重复申请
* @param studentNumber 学号
* @param positionId 岗位ID
*/
export function checkDuplicateApplication(studentNumber: string, positionId: number): AxiosPromise<{ isDuplicate: boolean }> {
return request({
url: '/jcbt/workStudyApplication/checkDuplicate',
method: 'get',
params: {
studentNumber: studentNumber,
positionId: positionId
}
});
}
/**
* 获取申请详情(用于审核展示)
* @param id 申请ID
*/
export function getApplicationForReview(id: string | number): AxiosPromise<WorkStudyApplicationVO> {
return request({
url: '/jcbt/workStudyApplication/review/' + id,
method: 'get'
});
}
/**
* 导入申请数据模板下载
*/
export function downloadTemplate(): AxiosPromise<any> {
return request({
url: '/jcbt/workStudyApplication/importTemplate',
method: 'get',
responseType: 'blob'
});
}
/**
* 获取当前用户学生信息
*/
export function getCurrentStudentInfo(): AxiosPromise<any> {
return request({
url: '/jcbt/workStudyApplication/currentStudentInfo',
method: 'get'
});
}
@@ -0,0 +1,183 @@
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;
collegeReviewBy?: string | number;
collegeReviewByName?: string;
collegeReviewTime?: string;
collegeReviewComment?: string;
finalReviewBy?: string | number;
finalReviewByName?: string;
finalReviewTime?: string;
finalReviewComment?: string;
createBy?: string | number;
createTime?: string;
updateBy?: string | number;
updateTime?: 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'
}
});
}
+306
View File
@@ -0,0 +1,306 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
/**
* 勤工俭学岗位查询对象类型
*/
export interface WorkStudyPositionQuery extends PageQuery {
/** 岗位名称 */
positionName?: string;
/** 发布范围 */
positionScope?: string;
/** 联系老师 */
contactTeacher?: string;
/** 学院ID */
collegeId?: number | string;
/** 岗位状态 */
status?: string;
/** 创建时间范围 */
createTime?: [string, string];
/** 有效期范围 */
validPeriod?: [string, string];
}
/**
* 勤工俭学岗位表单类型
*/
export interface WorkStudyPositionForm {
/** 主键 */
id?: string | number;
/** 岗位名称 */
positionName?: string;
/** 发布范围 */
positionScope?: string;
/** 需求人数 */
requiredCount?: number;
/** 工作时间 */
workTime?: string;
/** 开始日期 */
startDate?: string;
/** 结束日期 */
endDate?: string;
/** 岗位要求 */
positionRequirements?: string;
/** 薪资情况 */
salaryInfo?: string;
/** 联系老师 */
contactTeacher?: string;
/** 联系电话 */
contactPhone?: string;
/** 学院ID */
collegeId?: number | string;
/** 学院名称 */
collegeName?: string;
/** 岗位状态 */
status?: string;
/** 当前申请通过人数 */
currentCount?: number;
}
/**
* 勤工俭学岗位视图对象类型
*/
export interface WorkStudyPositionVO {
/** 主键 */
id?: string | number;
/** 岗位名称 */
positionName?: string;
/** 发布范围 */
positionScope?: string;
/** 发布范围名称 */
positionScopeName?: string;
/** 需求人数 */
requiredCount?: number;
/** 工作时间 */
workTime?: string;
/** 开始日期 */
startDate?: string;
/** 结束日期 */
endDate?: string;
/** 岗位要求 */
positionRequirements?: string;
/** 薪资情况 */
salaryInfo?: string;
/** 联系老师 */
contactTeacher?: string;
/** 联系电话 */
contactPhone?: string;
/** 学院ID */
collegeId?: number | string;
/** 学院名称 */
collegeName?: string;
/** 岗位状态 */
status?: string;
/** 岗位状态名称 */
statusName?: string;
/** 当前申请通过人数 */
currentCount?: number;
/** 创建者 */
createBy?: number;
/** 创建时间 */
createTime?: string;
/** 更新者 */
updateBy?: number;
/** 更新时间 */
updateTime?: string;
}
/**
* 岗位统计数据类型
*/
export interface PositionStatisticsVO {
/** 岗位总数 */
totalCount?: number;
/** 按状态统计 */
statusCount?: {
DRAFT?: number;
PUBLISHED?: number;
RECRUITING?: number;
FULL?: number;
EXPIRED?: number;
SUSPENDED?: number;
CANCELLED?: number;
};
/** 按发布范围统计 */
scopeCount?: {
COLLEGE?: number;
UNIVERSITY?: number;
};
}
/**
* 查询勤工俭学岗位列表
*/
export function listWorkStudyPosition(query: WorkStudyPositionQuery): AxiosPromise<TableDataInfo<WorkStudyPositionVO>> {
return request({
url: '/jcbt/workStudyPosition/list',
method: 'get',
params: query
});
}
/**
* 查询勤工俭学岗位信息详细
* @param id 岗位ID
*/
export function getWorkStudyPosition(id: string | number): AxiosPromise<WorkStudyPositionVO> {
return request({
url: '/jcbt/workStudyPosition/' + id,
method: 'get'
});
}
/**
* 获取岗位详情及当前用户申请状态
* @param id 岗位ID
*/
export function getWorkStudyPositionWithApplicationStatus(id: string | number): AxiosPromise<{
position: WorkStudyPositionVO;
applicationStatus: {
applicationStatusText: string;
applicationStatus: string;
hasApplication: number;
canCancel: number;
canEdit: number;
applicationId?: number;
lastApplicationTime?: string;
};
}> {
return request({
url: '/jcbt/workStudyPosition/' + id + '/withApplicationStatus',
method: 'get'
});
}
/**
* 新增勤工俭学岗位
*/
export function addWorkStudyPosition(data: WorkStudyPositionForm) {
return request({
url: '/jcbt/workStudyPosition',
method: 'post',
data: data
});
}
/**
* 修改勤工俭学岗位
*/
export function updateWorkStudyPosition(data: WorkStudyPositionForm) {
return request({
url: '/jcbt/workStudyPosition',
method: 'put',
data: data
});
}
/**
* 删除勤工俭学岗位
*/
export function delWorkStudyPosition(id: string | number | Array<string | number>) {
return request({
url: '/jcbt/workStudyPosition/' + id,
method: 'delete'
});
}
/**
* 获取岗位统计数据
*/
export function getPositionStatistics(): AxiosPromise<PositionStatisticsVO> {
return request({
url: '/jcbt/workStudyPosition/statistics',
method: 'get'
});
}
/**
* 发布岗位
*/
export function publishPosition(id: string | number) {
return request({
url: `/jcbt/workStudyPosition/publish/${id}`,
method: 'put'
});
}
/**
* 暂停岗位招录
*/
export function suspendPosition(id: string | number) {
return request({
url: `/jcbt/workStudyPosition/suspend/${id}`,
method: 'put'
});
}
/**
* 恢复岗位招录
*/
export function resumePosition(id: string | number) {
return request({
url: `/jcbt/workStudyPosition/resume/${id}`,
method: 'put'
});
}
/**
* 取消岗位
*/
export function cancelPosition(id: string | number) {
return request({
url: `/jcbt/workStudyPosition/cancel/${id}`,
method: 'put'
});
}
/**
* 导出勤工俭学岗位
*/
export function exportWorkStudyPosition(query: WorkStudyPositionQuery) {
return request({
url: '/jcbt/workStudyPosition/export',
method: 'post',
data: query
});
}
/**
* 获取可用的学院选项
*/
export function getCollegeOptions(): AxiosPromise<any[]> {
return request({
url: '/system/dict/data/type/college_list',
method: 'get'
});
}
/**
* 查询可见岗位列表(学院可见的岗位:本学院岗位 + 全校范围岗位)
* @param query 查询参数
* @param excludeApplied 是否排除已申请岗位
*/
export function listVisiblePositions(
query: WorkStudyPositionQuery,
excludeApplied: boolean = false
): AxiosPromise<TableDataInfo<WorkStudyPositionVO>> {
return request({
url: '/jcbt/workStudyPosition/visibleList',
method: 'get',
params: {
...query,
excludeApplied
}
});
}
/**
* 学生查看可申请的岗位列表(公开接口,无需权限)
*/
export function listAvailablePositionsForStudent(query: WorkStudyPositionQuery): AxiosPromise<WorkStudyPositionVO[]> {
return request({
url: '/jcbt/workStudyPosition/student/available',
method: 'get',
params: query
});
}
+17
View File
@@ -57,3 +57,20 @@ export interface TenantInfo {
tenantEnabled: boolean;
voList: TenantVO[];
}
/**
* 通用响应结构
*/
export interface R<T = any> {
code: number;
msg: string;
data: T;
}
/**
* 分页数据信息
*/
export interface TableDataInfo<T = any> {
total: number;
rows: T;
}
@@ -168,7 +168,6 @@ export interface StudentCancelLeaveVO {
* 学生请假表id
*/
leaveId: string | number;
}
export interface StudentCancelLeaveForm extends BaseEntity {
@@ -341,11 +340,9 @@ export interface StudentCancelLeaveForm extends BaseEntity {
* 学生请假表id
*/
leaveId?: string | number;
}
export interface StudentCancelLeaveQuery extends PageQuery {
/**
* 删除标志(0代表存在 1代表删除)
*/
@@ -511,11 +508,8 @@ export interface StudentCancelLeaveQuery extends PageQuery {
*/
leaveId?: string | number;
/**
* 日期范围参数
*/
params?: any;
/**
* 日期范围参数
*/
params?: any;
}