wuzhen update

This commit is contained in:
wuzhen committed 2025-08-10 00:28:48 +08:00
commit 0037cb4e7d
1503 files changed
+74822 -196654

No files matched your search

@@ -6,6 +6,7 @@ export interface ScholarshipApplicationVO {
id?: string | number;
/** 批次ID */
batchId?: string | number;
<<<<<<< HEAD
/** 批次名称 */
batchName?: string;
/** 奖学金类型ID */
@@ -16,6 +17,12 @@ export interface ScholarshipApplicationVO {
applicationNo?: string;
/** 学生学号 */
studentNo?: string;
=======
/** 奖学金类型ID */
scholarshipTypeId?: string | number;
/** 学生学号 */
studentCode?: string;
>>>>>>> 4b9dbe40fb94a83d379f7d16211dec6d78c23755
/** 学生姓名 */
studentName?: string;
/** 学生ID */
@@ -24,8 +31,11 @@ export interface ScholarshipApplicationVO {
deptId?: string | number;
/** 学院名称 */
deptName?: string;
<<<<<<< HEAD
/** 专业ID */
majorId?: string | number;
=======
>>>>>>> 4b9dbe40fb94a83d379f7d16211dec6d78c23755
/** 班级ID */
classId?: string | number;
/** 班级名称 */
@@ -42,6 +52,7 @@ export interface ScholarshipApplicationVO {
applicationReason?: string;
/** 申请说明 */
applicationDescription?: string;
<<<<<<< HEAD
/** 系统计算分数 */
calculatedScore?: number;
/** 最终评定分数 */
@@ -62,6 +73,12 @@ export interface ScholarshipApplicationVO {
updateBy?: string | number;
/** 更新时间 */
updateTime?: string;
=======
/** 状态 */
status?: string;
/** 创建时间 */
createTime?: string;
>>>>>>> 4b9dbe40fb94a83d379f7d16211dec6d78c23755
}
export interface ScholarshipApplicationForm {
@@ -93,7 +110,11 @@ export interface ScholarshipApplicationQuery extends PageQuery {
/** 奖学金类型ID */
scholarshipTypeId?: string | number;
/** 学生学号 */
<<<<<<< HEAD
studentNo?: string;
=======
studentCode?: string;
>>>>>>> 4b9dbe40fb94a83d379f7d16211dec6d78c23755
/** 学生姓名 */
studentName?: string;
/** 申请人ID */
@@ -202,12 +223,16 @@ 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',
+33
View File
@@ -0,0 +1,33 @@
import request from '@/utils/request';
// 应聘申请表单类型
export interface ApplicationForm {
jobId: string | number;
applicantName: string;
gender: string;
contactPhone: string;
contactEmail: string;
age: number;
education: string;
educationBackground: string;
experience: string;
selfDescription: string;
remark?: string;
}
// 提交应聘申请
export function submitJobApplication(data: ApplicationForm) {
return request({
url: '/rs/application/submit',
method: 'post',
data: data
});
}
// 增加岗位浏览次数
export function incrementJobViewCount(jobId: string | number) {
return request({
url: `/rs/job/view/${jobId}`,
method: 'post'
});
}
+227
View File
@@ -0,0 +1,227 @@
import request from '@/utils/request';
// 职位查询参数类型
export interface JobQuery {
pageNum: number;
pageSize: number;
title?: string;
department?: string;
isActive?: string;
params?: Record<string, any>;
}
// 职位数据类型
export interface JobVO {
jobId: number | string;
title: string;
department: string;
salaryRange: string;
location: string;
description: string;
requirements: string;
isActive: string;
applicantCount: number;
viewCount: number;
publishTime: string; // 发布时间
createTime: string;
updateTime: string;
createBy: string;
updateBy: string;
remark: string;
}
// 职位表单类型
export interface JobForm {
jobId?: number | string;
title: string;
department: string;
salaryRange: string;
location: string;
description: string;
requirements: string;
isActive: string;
publishTime?: string; // 发布时间
remark?: string;
}
// 申请记录类型
export interface ApplicationVO {
applicationId: number | string;
jobId: number | string;
jobTitle: string;
applicantId: number | string;
applicantName: string;
gender: string; // 性别
age: number | string; // 年龄
status: string;
applyTime: string;
resumePath: string; // 简历路径
selfDescription: string; // 自我介绍
attachmentPath?: string; // 附件路径
attachmentName?: string; // 附件名称
hrNotes: string; // HR备注
contactPhone: string; // 联系电话
contactEmail: string; // 联系邮箱
education: string; // 学历
educationBackground: string; // 教育背景
experience: string; // 工作经验
remark: string;
createBy: string;
createTime: string;
updateBy: string;
updateTime: string;
}
// 查询职位列表
export function listJob(query: JobQuery) {
return request({
url: '/rs/job/list',
method: 'get',
params: query
});
}
// 查询公开职位列表(用于招聘门户)
export function listPublicJob(query: JobQuery) {
return request({
url: '/rs/job/public/list',
method: 'get',
params: query
});
}
// 查询职位详细
export function getJob(jobId: string | number) {
return request({
url: `/rs/job/${jobId}`,
method: 'get'
});
}
// 查询公开职位详细(用于招聘门户)
export function getPublicJob(jobId: string | number) {
return request({
url: `/rs/job/public/${jobId}`,
method: 'get'
});
}
// 新增职位
export function addJob(data: JobForm) {
return request({
url: '/rs/job',
method: 'post',
data: data
});
}
// 修改职位
export function updateJob(data: JobForm) {
return request({
url: '/rs/job',
method: 'put',
data: data
});
}
// 删除职位
export function delJob(jobId: string | number | Array<string | number>) {
return request({
url: `/rs/job/${typeof jobId === 'object' ? jobId.join(',') : jobId}`,
method: 'delete'
});
}
// 切换职位状态
export function toggleJobStatus(jobId: string | number) {
return request({
url: `/rs/job/toggle/${jobId}`,
method: 'put'
});
}
// 导出职位
export function exportJob(query: JobQuery) {
return request({
url: '/rs/job/export',
method: 'get',
params: query,
responseType: 'blob'
});
}
// 查询职位申请记录列表
export function listApplications(jobId: string | number, query: any) {
return request({
url: `/rs/application/list/${jobId}`,
method: 'get',
params: query
});
}
// 查询所有申请记录列表
export function listAllApplications(query: any) {
return request({
url: '/rs/application/list',
method: 'get',
params: query
});
}
// 更新申请状态
export function updateApplicationStatus(applicationId: string | number, status: string) {
return request({
url: `/rs/application/status/${applicationId}/${status}`,
method: 'put'
});
}
// 更新应聘者信息(包含状态和HR备注)
export function updateApplicationInfo(applicationId: string | number, data: { status: string; hrNotes?: string }) {
return request({
url: `/rs/application/update/${applicationId}`,
method: 'put',
data: data
});
}
// 获取申请详情
export function getApplication(applicationId: string | number) {
return request({
url: `/rs/application/${applicationId}`,
method: 'get'
});
}
// 导出申请记录
export function exportApplication(query: any) {
return request({
url: '/rs/application/export',
method: 'get',
params: query,
responseType: 'blob'
});
}
// 导出简历文件
export function exportResumePdf(applicationId: string | number) {
return request({
url: `/rs/application/exportPdf/${applicationId}`,
method: 'get',
responseType: 'blob'
});
}
// 上传附件
export function uploadAttachment(applicationId: string | number, file: File) {
const formData = new FormData();
formData.append('file', file);
return request({
url: `/rs/application/attachment/${applicationId}`,
method: 'post',
data: formData,
headers: {
'Content-Type': 'multipart/form-data'
}
});
}
+522
View File
@@ -0,0 +1,522 @@
import request from '@/utils/request';
// 出国申请查询参数类型
export interface OverseasApplicationQuery {
pageNum: number;
pageSize: number;
applicantName?: string;
department?: string;
purpose?: string;
destination?: string;
status?: string;
approvalLevel?: string;
currentApprover?: string;
applicantId?: number;
budgetMin?: number;
budgetMax?: number;
applyTimeBegin?: string;
applyTimeEnd?: string;
startDateBegin?: string;
startDateEnd?: string;
params?: Record<string, any>;
}
// 出国申请数据类型
export interface OverseasApplicationVO {
applicationId: number | string;
applicantId: number;
applicantName: string;
department: string;
contactPhone: string;
purpose: string;
purposeDetail: string;
destination: string;
destinationCity: string;
startDate: string;
endDate: string;
duration: number;
budget: number;
invitation: string;
itinerary: string;
accommodationPlan: string;
transportationPlan: string;
status: string;
currentApprover: string;
approvalLevel: string;
applyTime: string;
approvalTime: string;
adminRemark: string;
applicantRemark: string;
createTime: string;
updateTime: string;
createBy: string;
updateBy: string;
// 显示字段
statusText: string;
purposeText: string;
approvalLevelText: string;
}
// 出国申请表单类型
export interface OverseasApplicationForm {
applicationId?: number | string;
applicantId?: number;
applicantName?: string;
department?: string; // 自动匹配,前端不需要输入
contactPhone?: string; // 联系电话
purpose: string;
purposeDetail: string;
destination: string;
destinationCity?: string; // 目的地城市
startDate: string;
endDate: string;
duration?: number; // 自动计算
budget: number;
invitation?: string;
itinerary: string;
accommodationPlan?: string;
transportationPlan?: string;
applicantRemark?: string;
}
// 审批请求类型
export interface ApprovalRequest {
applicationId: number | string;
approvalStatus: string;
approvalOpinion?: string;
}
// 出国记录查询参数类型
export interface OverseasRecordQuery {
pageNum: number;
pageSize: number;
applicantName?: string;
department?: string;
purpose?: string;
destination?: string;
completionStatus?: string;
applicantId?: number;
applicationId?: number;
actualStartDateBegin?: string;
actualStartDateEnd?: string;
actualEndDateBegin?: string;
actualEndDateEnd?: string;
params?: Record<string, any>;
}
// 出国记录数据类型
export interface OverseasRecordVO {
recordId: number | string;
applicationId: number;
applicantId: number;
applicantName: string;
department: string;
contactPhone: string;
purpose: string;
purposeDetail: string;
destination: string;
destinationCity: string;
actualStartDate: string;
actualEndDate: string;
actualDuration: number;
actualBudget: number;
invitation: string;
itinerary: string;
accommodationPlan: string;
transportationPlan: string;
completionStatus: string;
achievement: string;
reportContent: string;
certificatePath: string;
createTime: string;
updateTime: string;
createBy: string;
updateBy: string;
// 显示字段
purposeText: string;
completionStatusText: string;
}
// 出国记录表单类型
export interface OverseasRecordForm {
recordId?: number | string;
applicationId: number;
applicantId?: number;
applicantName?: string;
department?: string;
position?: string;
contactPhone?: string;
contactEmail?: string;
purpose?: string;
purposeDetail?: string;
destination?: string;
destinationCity?: string;
actualStartDate: string;
actualEndDate: string;
actualDuration?: number;
actualBudget: number;
completionStatus: string;
achievement?: string;
reportContent?: string;
certificatePath?: string;
}
// 完成状态更新请求类型
export interface CompletionRequest {
recordId: number | string;
completionStatus: string;
achievement?: string;
reportContent?: string;
}
// 出国审批记录查询参数类型
export interface OverseasApprovalQuery {
pageNum: number;
pageSize: number;
applicationId?: number;
approverId?: number;
approverName?: string;
approvalLevel?: string;
approvalStatus?: string;
approvalTimeBegin?: string;
approvalTimeEnd?: string;
applicantName?: string;
department?: string;
destination?: string;
params?: Record<string, any>;
}
// 出国审批记录数据类型
export interface OverseasApprovalVO {
approvalId: number | string;
applicationId: number;
approverId: number;
approverName: string;
approvalLevel: string;
approvalStatus: string;
approvalOpinion: string;
approvalTime: string;
createTime: string;
updateTime: string;
createBy: string;
updateBy: string;
// ==================== 申请信息相关字段 ====================
applicantId: number;
applicantName: string;
department: string;
purpose: string;
destination: string;
startDate: string;
endDate: string;
duration: number;
// 显示字段
approvalLevelText: string;
approvalStatusText: string;
purposeText: string;
}
// ==================== 出国申请相关API ====================
// 查询出国申请列表
export function listOverseasApplication(query: OverseasApplicationQuery) {
return request({
url: '/rs/overseas/application/list',
method: 'get',
params: query
});
}
// 查询我的出国申请列表
export function listMyOverseasApplication(query: OverseasApplicationQuery) {
return request({
url: '/rs/overseas/application/my/list',
method: 'get',
params: query
});
}
// 查询待审批的申请列表
export function listPendingOverseasApplication(query: OverseasApplicationQuery) {
return request({
url: '/rs/overseas/application/pending/list',
method: 'get',
params: query
});
}
// 根据状态查询申请列表
export function listOverseasApplicationByStatus(status: string) {
return request({
url: `/rs/overseas/application/status/${status}`,
method: 'get'
});
}
// 查询出国申请详细
export function getOverseasApplication(applicationId: string | number) {
return request({
url: `/rs/overseas/application/${applicationId}`,
method: 'get'
});
}
// 新增出国申请
export function addOverseasApplication(data: OverseasApplicationForm) {
return request({
url: '/rs/overseas/application',
method: 'post',
data: data
});
}
// 修改出国申请
export function updateOverseasApplication(data: OverseasApplicationForm) {
return request({
url: '/rs/overseas/application',
method: 'put',
data: data
});
}
// 提交出国申请
export function submitOverseasApplication(applicationId: string | number) {
return request({
url: `/rs/overseas/application/submit/${applicationId}`,
method: 'put'
});
}
// 重新提交被拒绝的出国申请
export function resubmitOverseasApplication(applicationId: string | number, data: OverseasApplicationForm) {
return request({
url: `/rs/overseas/application/resubmit/${applicationId}`,
method: 'put',
data: data
});
}
// 取消出国申请
export function cancelOverseasApplication(applicationId: string | number, reason?: string) {
return request({
url: `/rs/overseas/application/cancel/${applicationId}`,
method: 'put',
params: { reason }
});
}
// 审批出国申请
export function approveOverseasApplication(data: ApprovalRequest) {
return request({
url: '/rs/overseas/application/approve',
method: 'post',
data: data
});
}
// 删除出国申请
export function delOverseasApplication(applicationId: string | number | Array<string | number>) {
return request({
url: `/rs/overseas/application/${typeof applicationId === 'object' ? applicationId.join(',') : applicationId}`,
method: 'delete'
});
}
// 导出出国申请
export function exportOverseasApplication(query: OverseasApplicationQuery) {
return request({
url: '/rs/overseas/application/export',
method: 'post',
data: query
});
}
// ==================== 出国记录相关API ====================
// 查询出国记录列表
export function listOverseasRecord(query: OverseasRecordQuery) {
return request({
url: '/rs/overseas/record/list',
method: 'get',
params: query
});
}
// 查询我的出国记录列表
export function listMyOverseasRecord(query: OverseasRecordQuery) {
return request({
url: '/rs/overseas/record/my/list',
method: 'get',
params: query
});
}
// 根据申请ID查询出国记录
export function getOverseasRecordByApplication(applicationId: string | number) {
return request({
url: `/rs/overseas/record/application/${applicationId}`,
method: 'get'
});
}
// 查询出国记录详细
export function getOverseasRecord(recordId: string | number) {
return request({
url: `/rs/overseas/record/${recordId}`,
method: 'get'
});
}
// 新增出国记录
export function addOverseasRecord(data: OverseasRecordForm) {
return request({
url: '/rs/overseas/record',
method: 'post',
data: data
});
}
// 修改出国记录
export function updateOverseasRecord(data: OverseasRecordForm) {
return request({
url: '/rs/overseas/record',
method: 'put',
data: data
});
}
// 基于申请信息创建出国记录
export function createOverseasRecordFromApplication(applicationId: string | number) {
return request({
url: `/rs/overseas/record/create/${applicationId}`,
method: 'post'
});
}
// 更新出国记录完成状态
export function updateOverseasRecordCompletion(data: CompletionRequest) {
return request({
url: '/rs/overseas/record/complete',
method: 'put',
data: data
});
}
// 删除出国记录
export function delOverseasRecord(recordId: string | number | Array<string | number>) {
return request({
url: `/rs/overseas/record/${typeof recordId === 'object' ? recordId.join(',') : recordId}`,
method: 'delete'
});
}
// 导出出国记录
export function exportOverseasRecord(query: OverseasRecordQuery) {
return request({
url: '/rs/overseas/record/export',
method: 'post',
data: query
});
}
// 初始化出国记录测试数据(临时接口)
export function initOverseasRecordTestData() {
return request({
url: '/rs/overseas/record/initTestData',
method: 'post'
});
}
// ==================== 出国审批记录相关API ====================
// 查询出国审批记录列表
export function listOverseasApproval(query: OverseasApprovalQuery) {
return request({
url: '/rs/overseas/approval/list',
method: 'get',
params: query
});
}
// 查询我的审批记录列表
export function listMyOverseasApproval(query: OverseasApprovalQuery) {
return request({
url: '/rs/overseas/approval/my/list',
method: 'get',
params: query
});
}
// 根据申请ID查询审批记录列表
export function getOverseasApprovalByApplication(applicationId: string | number) {
return request({
url: `/rs/overseas/approval/application/${applicationId}`,
method: 'get'
});
}
// 查询出国审批记录详细
export function getOverseasApproval(approvalId: string | number) {
return request({
url: `/rs/overseas/approval/${approvalId}`,
method: 'get'
});
}
// 导出出国审批记录
export function exportOverseasApproval(query: OverseasApprovalQuery) {
return request({
url: '/rs/overseas/approval/export',
method: 'post',
data: query
});
}
// 获取出国申请审批历史
export function getOverseasApprovalHistory(applicationId: string | number) {
return request({
url: `/rs/overseas/application/approval/history/${applicationId}`,
method: 'get'
});
}
// 新增出国审批记录
export function addOverseasApproval(data: any) {
return request({
url: '/rs/overseas/approval',
method: 'post',
data: data
});
}
// 修改出国审批记录
export function updateOverseasApproval(data: any) {
return request({
url: '/rs/overseas/approval',
method: 'put',
data: data
});
}
// 删除出国审批记录
export function delOverseasApproval(approvalIds: string | number | Array<string | number>) {
return request({
url: `/rs/overseas/approval/${approvalIds}`,
method: 'delete'
});
}
// 修复审批记录数据
export function fixOverseasApprovalData() {
return request({
url: '/rs/overseas/approval/fixData',
method: 'post'
});
}
// 修复已审批通过但未创建记录的申请
export function fixApprovedOverseasRecords() {
return request({
url: '/rs/overseas/application/fix/records',
method: 'post'
});
}
+426
View File
@@ -0,0 +1,426 @@
import request from '@/utils/request';
// 培训课程查询参数类型
export interface CourseQuery {
pageNum: number;
pageSize: number;
title?: string;
category?: string;
status?: string;
params?: Record<string, any>;
}
// 培训课程数据类型
export interface CourseVO {
courseId: number | string;
title: string;
category: string;
description: string;
startTime: string;
endTime: string;
duration: number;
location: string;
maxParticipants: number;
currentParticipants: number;
status: string;
applicationCount: number;
createTime: string;
updateTime: string;
createBy: string;
updateBy: string;
remark: string;
}
// 培训课程表单类型
export interface CourseForm {
courseId?: number | string;
title: string;
category: string;
description?: string;
startTime: string;
endTime: string;
duration: number;
location?: string;
maxParticipants?: number;
status?: string;
remark?: string;
}
// 培训申请查询参数类型
export interface ApplicationQuery {
pageNum: number;
pageSize: number;
courseId?: number | string;
courseName?: string;
userId?: number | string;
userName?: string;
department?: string;
status?: string;
params?: Record<string, any>;
}
// 培训申请数据类型
export interface ApplicationVO {
applicationId: number | string;
courseId: number | string;
courseName: string;
userId: number | string;
userName: string;
department: string;
position?: string;
reason?: string;
status: string;
applyTime: string;
currentApprover?: string;
certificatePath?: string;
certificateNumber?: string;
createTime: string;
updateTime: string;
createBy: string;
updateBy: string;
remark: string;
}
// 培训申请表单类型
export interface ApplicationForm {
applicationId?: number | string;
courseId: number | string;
courseName?: string; // 自定义课程名称
userId?: number | string;
userName?: string;
department?: string;
position?: string;
reason?: string;
status?: string;
location?: string;
duration?: number;
startTime?: string;
endTime?: string;
remark?: string;
}
// 培训记录查询参数类型
export interface RecordQuery {
pageNum: number;
pageSize: number;
courseId?: number | string;
courseName?: string;
userId?: number | string;
userName?: string;
completionStatus?: string;
params?: Record<string, any>;
}
// 培训记录数据类型
export interface RecordVO {
recordId: number | string;
applicationId?: number | string;
courseId: number | string;
courseName: string;
userId: number | string;
userName: string;
department?: string;
completionStatus: string;
score?: string;
duration?: number;
completionTime?: string;
certificatePath?: string;
certificateNumber?: string;
feedback?: string;
createTime: string;
updateTime: string;
createBy: string;
updateBy: string;
remark: string;
}
// 培训记录表单类型
export interface RecordForm {
recordId?: number | string;
applicationId?: number | string;
courseId: number | string;
courseName?: string;
userId: number | string;
userName?: string;
completionStatus: string;
score?: string;
duration?: number;
completionTime?: string;
certificatePath?: string;
certificateNumber?: string;
feedback?: string;
remark?: string;
}
// 查询培训课程列表
export function listTrainingCourse(query: CourseQuery) {
return request({
url: '/rs/training/course/list',
method: 'get',
params: query
});
}
// 获取培训课程详情
export function getTrainingCourse(courseId: string | number) {
return request({
url: `/rs/training/course/${courseId}`,
method: 'get'
});
}
// 新增培训课程
export function addTrainingCourse(data: CourseForm) {
return request({
url: '/rs/training/course',
method: 'post',
data: data
});
}
// 修改培训课程
export function updateTrainingCourse(data: CourseForm) {
return request({
url: '/rs/training/course',
method: 'put',
data: data
});
}
// 删除培训课程
export function delTrainingCourse(courseId: string | number | Array<string | number>) {
return request({
url: `/rs/training/course/${typeof courseId === 'object' ? courseId.join(',') : courseId}`,
method: 'delete'
});
}
// 切换培训课程状态
export function toggleCourseStatus(courseId: string | number) {
return request({
url: `/rs/training/course/toggle/${courseId}`,
method: 'put'
});
}
// 导出培训课程
export function exportTrainingCourse(query: CourseQuery) {
return request({
url: '/rs/training/course/export',
method: 'get',
params: query,
responseType: 'blob'
});
}
// 查询培训申请列表
export function listTrainingApplication(query: ApplicationQuery) {
return request({
url: '/rs/training/application/list',
method: 'get',
params: query
});
}
// 获取培训申请详情
export function getTrainingApplication(applicationId: string | number) {
return request({
url: `/rs/training/application/${applicationId}`,
method: 'get'
});
}
// 提交培训申请
export function addTrainingApplication(data: ApplicationForm) {
return request({
url: '/rs/training/application',
method: 'post',
data: data
});
}
// 修改培训申请
export function updateTrainingApplication(data: ApplicationForm) {
return request({
url: '/rs/training/application',
method: 'put',
data: data
});
}
// 取消培训申请
export function cancelTrainingApplication(applicationId: string | number) {
return request({
url: `/rs/training/application/cancel/${applicationId}`,
method: 'put'
});
}
// 删除培训申请
export function deleteTrainingApplication(applicationId: string | number) {
return request({
url: `/rs/training/application/${applicationId}`,
method: 'delete'
});
}
// 导出培训申请
export function exportTrainingApplication(query: ApplicationQuery) {
return request({
url: '/rs/training/application/export',
method: 'get',
params: query,
responseType: 'blob'
});
}
// 获取我的培训申请列表
export function listMyTrainingApplication(query: ApplicationQuery) {
return request({
url: '/rs/training/application/my',
method: 'get',
params: query
});
}
// 查询培训记录列表
export function listTrainingRecord(query: RecordQuery) {
return request({
url: '/rs/training/record/list',
method: 'get',
params: query
});
}
// 获取培训记录详情
export function getTrainingRecord(recordId: string | number) {
return request({
url: `/rs/training/record/${recordId}`,
method: 'get'
});
}
// 新增培训记录
export function addTrainingRecord(data: RecordForm) {
return request({
url: '/rs/training/record',
method: 'post',
data: data
});
}
// 修改培训记录
export function updateTrainingRecord(data: RecordForm) {
return request({
url: '/rs/training/record',
method: 'put',
data: data
});
}
// 删除培训记录
export function delTrainingRecord(recordId: string | number | Array<string | number>) {
return request({
url: `/rs/training/record/${typeof recordId === 'object' ? recordId.join(',') : recordId}`,
method: 'delete'
});
}
// 上传培训证书
export function uploadCertificate(recordId: string | number, file: File) {
const formData = new FormData();
formData.append('file', file);
return request({
url: `/rs/training/record/certificate/${recordId}`,
method: 'post',
data: formData,
headers: {
'Content-Type': 'multipart/form-data'
}
});
}
// 导出培训记录
export function exportTrainingRecord(query: RecordQuery) {
return request({
url: '/rs/training/record/export',
method: 'get',
params: query,
responseType: 'blob'
});
}
// 提交培训申请(无需权限验证,供普通用户使用)
export function submitTrainingApplication(data: ApplicationForm) {
return request({
url: '/rs/training/application/submit',
headers: {
isToken: false
},
method: 'post',
data: data
});
}
// 更新培训申请状态
export function updateApplicationStatus(applicationId: string | number, status: string, rejectReason?: string) {
return request({
url: `/rs/training/application/status/${applicationId}/${status}`,
method: 'put',
data: rejectReason ? { opinion: rejectReason } : {}
});
}
// 获取我的审批记录列表(当前用户审批过的所有申请)
export function listMyApprovalRecord(query: ApplicationQuery) {
return request({
url: '/rs/training/application/myApproval',
method: 'get',
params: query
});
}
// 导出审批记录
export function exportApprovalRecord(query: ApplicationQuery) {
return request({
url: '/rs/training/application/approval/export',
method: 'get',
params: query,
responseType: 'blob'
});
}
// 获取培训申请审批历史
export function getTrainingApprovalHistory(applicationId: string | number) {
return request({
url: `/rs/training/approval/history/${applicationId}`,
method: 'get'
});
}
// 获取所有审批记录列表(包括所有用户的所有申请记录)
export function listAllApprovalRecords(query: ApplicationQuery) {
return request({
url: '/rs/training/approval/list',
method: 'get',
params: query
});
}
// 处理审批(通过或拒绝)- 会创建审批记录
export function processTrainingApproval(applicationId: string | number, status: string, opinion?: string) {
return request({
url: `/rs/training/approval/process/${applicationId}/${status}`,
method: 'put',
data: opinion ? { opinion: opinion } : {}
});
}
// 重新提交被拒绝的培训申请
export function resubmitTrainingApplication(applicationId: string | number, data: ApplicationForm) {
return request({
url: `/rs/training/application/resubmit/${applicationId}`,
method: 'put',
data: data
});
}
@@ -0,0 +1,85 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { StudentCancelLeaveVO, StudentCancelLeaveForm, StudentCancelLeaveQuery } from '@/api/workflow/studentCancelLeave/studentCancelLeave/types';
/**
* 查询学生销假列表
* @param query
* @returns {*}
*/
export const listStudentCancelLeave = (query?: StudentCancelLeaveQuery): AxiosPromise<StudentCancelLeaveVO[]> => {
return request({
url: '/studentCancelLeave/studentCancelLeave/list',
method: 'get',
params: query
});
};
/**
* 查询学生销假详细
* @param id
*/
export const getStudentCancelLeave = (id: string | number): AxiosPromise<StudentCancelLeaveVO> => {
return request({
url: '/studentCancelLeave/studentCancelLeave/' + id,
method: 'get'
});
};
/**
* 新增学生销假
* @param data
*/
export const addStudentCancelLeave = (data: StudentCancelLeaveForm): AxiosPromise<StudentCancelLeaveVO> => {
return request({
url: '/studentCancelLeave/studentCancelLeave',
method: 'post',
data: data
});
};
/**
* 修改学生销假
* @param data
*/
export const updateStudentCancelLeave = (data: StudentCancelLeaveForm) => {
return request({
url: '/studentCancelLeave/studentCancelLeave',
method: 'put',
data: data
});
};
/**
* 删除学生销假
* @param id
*/
export const delStudentCancelLeave = (id: string | number | Array<string | number>) => {
return request({
url: '/studentCancelLeave/studentCancelLeave/' + id,
method: 'delete'
});
};
/**
* 根据请假ID获取销假ID
* @param leaveId
*/
export const getCancelLeaveIdByLeaveId = (leaveId: string | number): AxiosPromise<number> => {
return request({
url: `/studentCancelLeave/studentCancelLeave/getCancelLeaveId/${leaveId}`,
method: 'get'
});
};
/**
* 根据销假ID获取请假ID
* @param cancelLeaveId
*/
export const getLeaveIdByCancelLeaveId = (cancelLeaveId: string | number): AxiosPromise<number> => {
return request({
url: `/studentCancelLeave/studentCancelLeave/getLeaveId/${cancelLeaveId}`,
method: 'get'
});
};
@@ -0,0 +1,521 @@
export interface StudentCancelLeaveVO {
/**
* 主键ID(雪花ID)
*/
id: string | number;
/**
* 删除标志(0代表存在 1代表删除)
*/
deleted: number;
/**
* 学生ID
*/
studentId: string | number;
/**
* 学生姓名
*/
studentName: string;
/**
* 学号
*/
studentNo: string;
/**
* 班级ID
*/
classId: string | number;
/**
* 班级名称
*/
className: string;
/**
* 专业ID
*/
majorId: string | number;
/**
* 专业名称
*/
majorName: string;
/**
* 学院ID
*/
collegeId: string | number;
/**
* 学院名称
*/
collegeName: string;
/**
* 请假类型编码
*/
leaveTypeCode: string;
/**
* 请假类型名称
*/
leaveTypeName: string;
/**
* 开始时间(年月日时分秒)
*/
startTime: string;
/**
* 结束时间(年月日时分秒)
*/
endTime: string;
/**
* 请假时长(天)
*/
leaveDuration: number;
/**
* 是否离校:0-否,1-是
*/
isLeaveSchool: string;
/**
* 是否需要销假:0-否,1-是
*/
needCancel: string;
/**
* 紧急联系人
*/
emergencyContact: string;
/**
* 紧急联系电话
*/
emergencyPhone: string;
/**
* 请假原因
*/
leaveReason: string;
/**
* 请假时地理位置
*/
leaveLocation: string;
/**
* 附件OSS文件ID(逗号分隔)
*/
attachmentOssIds: string | number;
/**
* 审批状态:"cancel", "已撤销" "draft", "草稿" "waiting", "待审核" "finish", "已完成" "invalid", "已作废" "back", "已退回" "termination", "已终止"
*/
approvalStatus: string;
/**
* 审批意见
*/
approvalOpinion: string;
/**
* 审批时间
*/
approvalTime: string;
/**
* 审批人ID
*/
approvalBy: number;
/**
* 审批人姓名
*/
approvalByName: string;
/**
* 销假状态:0-未销假,1-已销假,2-逾期未销假 3 - 无需销假 "cancel", "已撤销" "draft", "草稿" "waiting", "待审核" "finish", "已完成" "invalid", "已作废" "back", "已退回" "termination", "已终止"
*/
cancelStatus: string;
/**
* 销假时间
*/
cancelTime: string;
/**
* 销假地理位置
*/
cancelLocation: string;
/**
* 销假照片OSS文件ID(逗号分隔)
*/
cancelPhotoOssIds: string | number;
/**
* 销假备注
*/
cancelRemark: string;
/**
* 学生请假表id
*/
leaveId: string | number;
}
export interface StudentCancelLeaveForm extends BaseEntity {
/**
* 主键ID(雪花ID)
*/
id?: string | number;
/**
* 删除标志(0代表存在 1代表删除)
*/
deleted?: number;
/**
* 学生ID
*/
studentId?: string | number;
/**
* 学生姓名
*/
studentName?: string;
/**
* 学号
*/
studentNo?: string;
/**
* 班级ID
*/
classId?: string | number;
/**
* 班级名称
*/
className?: string;
/**
* 专业ID
*/
majorId?: string | number;
/**
* 专业名称
*/
majorName?: string;
/**
* 学院ID
*/
collegeId?: string | number;
/**
* 学院名称
*/
collegeName?: string;
/**
* 请假类型编码
*/
leaveTypeCode?: string;
/**
* 请假类型名称
*/
leaveTypeName?: string;
/**
* 开始时间(年月日时分秒)
*/
startTime?: string;
/**
* 结束时间(年月日时分秒)
*/
endTime?: string;
/**
* 请假时长(天)
*/
leaveDuration?: number;
/**
* 是否离校:0-否,1-是
*/
isLeaveSchool?: string;
/**
* 是否需要销假:0-否,1-是
*/
needCancel?: string;
/**
* 紧急联系人
*/
emergencyContact?: string;
/**
* 紧急联系电话
*/
emergencyPhone?: string;
/**
* 请假原因
*/
leaveReason?: string;
/**
* 请假时地理位置
*/
leaveLocation?: string;
/**
* 附件OSS文件ID(逗号分隔)
*/
attachmentOssIds?: string | number;
/**
* 审批状态:"cancel", "已撤销" "draft", "草稿" "waiting", "待审核" "finish", "已完成" "invalid", "已作废" "back", "已退回" "termination", "已终止"
*/
approvalStatus?: string;
/**
* 审批意见
*/
approvalOpinion?: string;
/**
* 审批时间
*/
approvalTime?: string;
/**
* 审批人ID
*/
approvalBy?: number;
/**
* 审批人姓名
*/
approvalByName?: string;
/**
* 销假状态:0-未销假,1-已销假,2-逾期未销假 3 - 无需销假 "cancel", "已撤销" "draft", "草稿" "waiting", "待审核" "finish", "已完成" "invalid", "已作废" "back", "已退回" "termination", "已终止"
*/
cancelStatus?: string;
/**
* 销假时间
*/
cancelTime?: string;
/**
* 销假地理位置
*/
cancelLocation?: string;
/**
* 销假照片OSS文件ID(逗号分隔)
*/
cancelPhotoOssIds?: string | number;
/**
* 销假备注
*/
cancelRemark?: string;
/**
* 学生请假表id
*/
leaveId?: string | number;
}
export interface StudentCancelLeaveQuery extends PageQuery {
/**
* 删除标志(0代表存在 1代表删除)
*/
deleted?: number;
/**
* 学生ID
*/
studentId?: string | number;
/**
* 学生姓名
*/
studentName?: string;
/**
* 学号
*/
studentNo?: string;
/**
* 班级ID
*/
classId?: string | number;
/**
* 班级名称
*/
className?: string;
/**
* 专业ID
*/
majorId?: string | number;
/**
* 专业名称
*/
majorName?: string;
/**
* 学院ID
*/
collegeId?: string | number;
/**
* 学院名称
*/
collegeName?: string;
/**
* 请假类型编码
*/
leaveTypeCode?: string;
/**
* 请假类型名称
*/
leaveTypeName?: string;
/**
* 开始时间(年月日时分秒)
*/
startTime?: string;
/**
* 结束时间(年月日时分秒)
*/
endTime?: string;
/**
* 请假时长(天)
*/
leaveDuration?: number;
/**
* 是否离校:0-否,1-是
*/
isLeaveSchool?: string;
/**
* 是否需要销假:0-否,1-是
*/
needCancel?: string;
/**
* 紧急联系人
*/
emergencyContact?: string;
/**
* 紧急联系电话
*/
emergencyPhone?: string;
/**
* 请假原因
*/
leaveReason?: string;
/**
* 请假时地理位置
*/
leaveLocation?: string;
/**
* 附件OSS文件ID(逗号分隔)
*/
attachmentOssIds?: string | number;
/**
* 审批状态:"cancel", "已撤销" "draft", "草稿" "waiting", "待审核" "finish", "已完成" "invalid", "已作废" "back", "已退回" "termination", "已终止"
*/
approvalStatus?: string;
/**
* 审批意见
*/
approvalOpinion?: string;
/**
* 审批时间
*/
approvalTime?: string;
/**
* 审批人ID
*/
approvalBy?: number;
/**
* 审批人姓名
*/
approvalByName?: string;
/**
* 销假状态:0-未销假,1-已销假,2-逾期未销假 3 - 无需销假 "cancel", "已撤销" "draft", "草稿" "waiting", "待审核" "finish", "已完成" "invalid", "已作废" "back", "已退回" "termination", "已终止"
*/
cancelStatus?: string;
/**
* 销假时间
*/
cancelTime?: string;
/**
* 销假地理位置
*/
cancelLocation?: string;
/**
* 销假照片OSS文件ID(逗号分隔)
*/
cancelPhotoOssIds?: string | number;
/**
* 销假备注
*/
cancelRemark?: string;
/**
* 学生请假表id
*/
leaveId?: string | number;
/**
* 日期范围参数
*/
params?: any;
}
@@ -84,3 +84,25 @@ export const downloadImportTemplate = () => {
responseType: 'blob'
});
};
/**
* 根据学生ID获取班主任ID
* @param studentId 学生ID
*/
export const getClassTeacherId = (studentId: string | number): AxiosPromise<{ data: number }> => {
return request({
url: `/studentMsg/studentMsg/getClassTeacherId/${studentId}`,
method: 'get'
});
};
/**
* 根据学生ID获取学院请假审批人列表
* @param studentId 学生ID
*/
export const getCollegeLeaveApprovers = (studentId: string | number): AxiosPromise<{ data: number[] }> => {
return request({
url: `/studentMsg/studentMsg/getCollegeLeaveApprovers/${studentId}`,
method: 'get'
});
};