“rs模块新增登记、党籍v0.1版”

This commit is contained in:
weizhong committed 2025-10-10 17:05:45 +08:00
1 parent 06731fd6e0
commit ae3caa26b8
29 files changed
+4247 -263

No files matched your search

+254 -11
View File
@@ -24,29 +24,57 @@ export interface OverseasApplicationQuery {
// 出国申请数据类型
export interface OverseasApplicationVO {
applicationId: number | string;
serialNumber?: string; // 编号
applicantId: number;
applicantName: string;
gender?: string; // 性别
birthDate?: string; // 出生日期
photo?: string; // 照片地址
idNumber?: string; // 身份证号
politicalStatus?: string; // 政治面貌
registeredAddress?: string; // 户籍所在地
department: string;
position?: string; // 职务
professionalTitle?: string; // 职称
administrativeLevel?: string; // 行政职级
personnelCategory?: string; // 人员类别代码
registrationUnit?: string; // 登记备案责任单位
unitLeaderSignature?: string; // 单位负责人签名
unitContact?: string; // 单位联系人
officePhone?: string; // 办公电话
mobilePhone?: string; // 移动电话
contactPhone: string;
documentName?: string; // 申领证件名称
documentNumber?: string; // 证件号码
destinationCountry?: string; // 前往国家
exitReason?: string; // 出境事由
visitRelationship?: string; // 探望对象姓名及与申请者关系
remarks?: string; // 备注
emergencyContact?: string; // 应急联系人及电话
signature?: string; // 手写签字
stampedRegistrationFilePath?: string; // 登记备案表盖章文件路径
stampedRegistrationFileName?: string; // 登记备案表盖章文件名
stampedFileUploadTime?: string; // 盖章文件上传时间
stampedFileUploadStatus?: string; // 盖章文件上传状态
purpose: string;
purposeDetail: string;
destination: string;
destinationCity: string;
destinationCity?: string;
startDate: string;
endDate: string;
duration: number;
budget: number;
invitation: string;
invitation?: string;
itinerary: string;
accommodationPlan: string;
transportationPlan: string;
accommodationPlan?: string;
transportationPlan?: string;
status: string;
currentApprover: string;
currentApprover?: string;
approvalLevel: string;
applyTime: string;
approvalTime: string;
adminRemark: string;
applicantRemark: string;
approvalTime?: string;
adminRemark?: string;
applicantRemark?: string;
createTime: string;
updateTime: string;
createBy: string;
@@ -55,15 +83,50 @@ export interface OverseasApplicationVO {
statusText: string;
purposeText: string;
approvalLevelText: string;
genderText?: string;
politicalStatusText?: string;
administrativeLevelText?: string;
personnelCategoryText?: string;
}
// 出国申请表单类型
export interface OverseasApplicationForm {
applicationId?: number | string;
serialNumber?: string; // 编号
applicantId?: number;
applicantName?: string;
department?: string; // 自动匹配,前端不需要输入
contactPhone?: string; // 联系电话
gender?: string; // 性别
birthDate?: string; // 出生日期
photo?: string; // 照片地址
idNumber?: string; // 身份证号
politicalStatus?: string; // 政治面貌
registeredAddress?: string; // 户籍所在地
department?: string; // 所属部门/现工作部门
position?: string; // 职务
professionalTitle?: string; // 职称
administrativeLevel?: string; // 行政职级
personnelCategory?: string; // 人员类别代码
unitLeaderSignature?: string; // 单位负责人签名
unitContact?: string; // 单位联系人
officePhone?: string; // 办公电话
mobilePhone?: string; // 移动电话
contactPhone?: string; // 联系电话(保留兼容性)
documentName?: string; // 申领证件名称
documentNumber?: string; // 证件号码
destinationCountry?: string; // 前往国家
exitReason?: string; // 出境事由
visitRelationship?: string; // 探望对象姓名及与申请者关系
remarks?: string; // 备注
emergencyContact?: string; // 应急联系人及电话
signature?: string; // 手写签字(base64格式)
stampedRegistrationFilePath?: string; // 登记备案表盖章文件路径
stampedRegistrationFileName?: string; // 登记备案表盖章文件名
stampedFileUploadTime?: string; // 盖章文件上传时间
stampedFileUploadStatus?: string; // 盖章文件上传状态:0-未上传,1-已上传
partyRetentionFilePath?: string; // 党籍保留附件文件路径
partyRetentionFileName?: string; // 党籍保留附件文件名
partyRetentionUploadTime?: string; // 党籍保留附件上传时间
partyRetentionUploadStatus?: string; // 党籍保留附件上传状态:0-未上传,1-已上传
purpose: string;
purposeDetail: string;
destination: string;
@@ -111,7 +174,9 @@ export interface OverseasRecordVO {
applicantId: number;
applicantName: string;
department: string;
position: string;
contactPhone: string;
contactEmail: string;
purpose: string;
purposeDetail: string;
destination: string;
@@ -134,7 +199,23 @@ export interface OverseasRecordVO {
updateBy: string;
// 显示字段
purposeText: string;
status?: string; // 申请状态(来自申请表)
statusText?: string; // 申请状态文本(来自申请表)
completionStatusText: string;
// 来自申请表的扩展字段
gender?: string;
genderText?: string;
birthDate?: string;
politicalStatus?: string;
politicalStatusText?: string;
professionalTitle?: string;
documentName?: string;
documentNumber?: string;
mobilePhone?: string;
destinationCountry?: string;
exitReason?: string;
emergencyContact?: string;
remarks?: string;
}
// 出国记录表单类型
@@ -255,7 +336,7 @@ export function listOverseasApplicationByStatus(status: string) {
// 查询出国申请详细
export function getOverseasApplication(applicationId: string | number) {
return request({
url: `/rs/overseas/application/${applicationId}`,
url: `/rs/overseas/application/detail/${applicationId}`,
method: 'get'
});
}
@@ -295,6 +376,18 @@ export function resubmitOverseasApplication(applicationId: string | number, data
});
}
// 校验出国申请前置条件
export function validateApplicationPrerequisites(politicalStatus?: string, duration?: number) {
return request({
url: '/rs/overseas/application/validatePrerequisites',
method: 'get',
params: {
politicalStatus,
duration
}
});
}
// 取消出国申请
export function cancelOverseasApplication(applicationId: string | number, reason?: string) {
return request({
@@ -520,3 +613,153 @@ export function fixApprovedOverseasRecords() {
method: 'post'
});
}
// ==================== PDF生成相关接口 ====================
// 生成登记表请求参数类型
export interface GenerateRegistrationFormRequest {
applicationId: number;
documentNumber?: string;
format?: string;
}
// 登记表生成响应类型
export interface RegistrationFormResponse {
documentId: string;
fileName: string;
downloadUrl: string;
previewUrl: string;
fileSize: number;
generateTime: string;
documentNumber: string;
applicationId: number;
}
// 生成出国申请登记表PDF
export function generateRegistrationForm(data: GenerateRegistrationFormRequest) {
return request({
url: '/rs/overseas/application/generateRegistrationForm',
method: 'post',
data: data
});
}
// 下载生成的PDF文档
export function downloadRegistrationFormPdf(documentId: string) {
return request({
url: `/rs/overseas/application/downloadPdf/${documentId}`,
method: 'get',
responseType: 'blob'
});
}
// 预览生成的PDF文档
export function previewRegistrationFormPdf(documentId: string) {
return request({
url: `/rs/overseas/application/previewPdf/${documentId}`,
method: 'get',
responseType: 'blob'
});
}
// 下载登记备案附件模板
export function downloadRegistrationTemplate() {
return request({
url: '/rs/overseas/application/downloadRegistrationTemplate',
method: 'get',
responseType: 'blob'
});
}
// 下载保留党籍申请模板
export function downloadPartyMembershipTemplate() {
return request({
url: '/rs/overseas/application/downloadPartyMembershipTemplate',
method: 'get',
responseType: 'blob'
});
}
// ==================== 出国申请附件相关API ====================
// 附件数据类型
export interface OverseasAttachmentVO {
attachmentId: number | string;
applicationId: number;
attachmentTitle: string;
attachmentContent?: string;
fileName: string;
fileOriginalName: string;
filePath: string;
fileSize: number;
fileSizeFormatted?: string;
fileType?: string;
mimeType?: string;
uploadTime?: string;
uploadUserId?: number;
uploadUserName?: string;
createTime?: string;
updateTime?: string;
}
// 附件BO
export interface OverseasAttachmentBo {
attachmentId?: number | string;
applicationId: number;
attachmentTitle: string;
attachmentContent?: string;
}
// 查询出国申请的附件列表
export function listOverseasAttachments(applicationId: string | number) {
return request({
url: `/rs/overseas/attachment/list/${applicationId}`,
method: 'get'
});
}
// 查询附件详情
export function getOverseasAttachment(attachmentId: string | number) {
return request({
url: `/rs/overseas/attachment/${attachmentId}`,
method: 'get'
});
}
// 上传附件
export function uploadOverseasAttachment(data: FormData) {
return request({
url: '/rs/overseas/attachment/upload',
method: 'post',
headers: {
'Content-Type': 'multipart/form-data'
},
data: data
});
}
// 更新附件信息(标题和内容)
export function updateOverseasAttachment(data: OverseasAttachmentBo) {
return request({
url: '/rs/overseas/attachment',
method: 'put',
data: data
});
}
// 删除附件
export function deleteOverseasAttachment(attachmentId: string | number) {
return request({
url: `/rs/overseas/attachment/${attachmentId}`,
method: 'delete'
});
}
// 批量删除附件
export function deleteOverseasAttachments(attachmentIds: Array<string | number>) {
return request({
url: '/rs/overseas/attachment/batch',
method: 'delete',
data: attachmentIds
});
}