wuzhen update
This commit is contained in:
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',
|
||||
|
||||
@@ -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'
|
||||
});
|
||||
}
|
||||
@@ -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'
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -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'
|
||||
});
|
||||
}
|
||||
@@ -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'
|
||||
});
|
||||
};
|
||||
Reference in new issue
Block a user