diff --git a/src/api/hrm/certificaterequest/index.ts b/src/api/hrm/certificaterequest/index.ts
new file mode 100644
index 000000000..c6973d3c9
--- /dev/null
+++ b/src/api/hrm/certificaterequest/index.ts
@@ -0,0 +1,45 @@
+import request from '@/config/axios'
+
+// 人事证明申请 VO
+export interface CertificateRequestVO {
+ id: number // 主键ID
+ userId: number // 申请人ID
+ processInstanceId: string // 工作流编号
+ auditStatus: number // 审批状态
+ certificateType: number // 证明类型(在职证明、实习证明)
+ applicationDate: Date // 申请日期
+ reason: string // 申请事由
+}
+
+// 人事证明申请 API
+export const CertificateRequestApi = {
+ // 查询人事证明申请分页
+ getCertificateRequestPage: async (params: any) => {
+ return await request.get({ url: `/hrm/certificate-request/page`, params })
+ },
+
+ // 查询人事证明申请详情
+ getCertificateRequest: async (id: number) => {
+ return await request.get({ url: `/hrm/certificate-request/get?id=` + id })
+ },
+
+ // 新增人事证明申请
+ createCertificateRequest: async (data: CertificateRequestVO) => {
+ return await request.post({ url: `/hrm/certificate-request/create`, data })
+ },
+
+ // 修改人事证明申请
+ updateCertificateRequest: async (data: CertificateRequestVO) => {
+ return await request.put({ url: `/hrm/certificate-request/update`, data })
+ },
+
+ // 删除人事证明申请
+ deleteCertificateRequest: async (id: number) => {
+ return await request.delete({ url: `/hrm/certificate-request/delete?id=` + id })
+ },
+
+ // 导出人事证明申请 Excel
+ exportCertificateRequest: async (params) => {
+ return await request.download({ url: `/hrm/certificate-request/export-excel`, params })
+ }
+}
\ No newline at end of file
diff --git a/src/api/hrm/jobtransferapply/index.ts b/src/api/hrm/jobtransferapply/index.ts
new file mode 100644
index 000000000..fc81c3f53
--- /dev/null
+++ b/src/api/hrm/jobtransferapply/index.ts
@@ -0,0 +1,58 @@
+import request from '@/config/axios'
+
+// 调岗申请 VO
+export interface JobTransferApplyVO {
+ id: number // 主键,自动递增
+ userId: number // 员工档案ID
+ processInstanceId: string // 工作流编号
+ auditStatus: number // 审批状态
+ applyType: number // 调岗类型
+ applyReason: number // 调岗原因
+ beforeDeptId: number // 调动前部门
+ beforePostLevel: number // 调动前职级
+ beforeGradeLevel: number // 调动前档级
+ beforeSalary: string // 调动前薪资
+ beforePostId: number // 调动前岗位
+ applyInfo: string // 申请说明
+ afterDeptId: number // 调动后部门
+ afterSalary: number // 调动后薪资
+ afterPostLevel: number // 调动后职级
+ afterGradeLevel: number // 调动前档级
+ afterPostId: number // 调动后岗位
+ afterPostName: string // 调动后岗位名称
+ effectiverDate: Date // 生效日期
+ attachment: string // 附件
+}
+
+// 调岗申请 API
+export const JobTransferApplyApi = {
+ // 查询调岗申请分页
+ getJobTransferApplyPage: async (params: any) => {
+ return await request.get({ url: `/hrm/job-transfer-apply/page`, params })
+ },
+
+ // 查询调岗申请详情
+ getJobTransferApply: async (id: number) => {
+ return await request.get({ url: `/hrm/job-transfer-apply/get?id=` + id })
+ },
+
+ // 新增调岗申请
+ createJobTransferApply: async (data: JobTransferApplyVO) => {
+ return await request.post({ url: `/hrm/job-transfer-apply/create`, data })
+ },
+
+ // 修改调岗申请
+ updateJobTransferApply: async (data: JobTransferApplyVO) => {
+ return await request.put({ url: `/hrm/job-transfer-apply/update`, data })
+ },
+
+ // 删除调岗申请
+ deleteJobTransferApply: async (id: number) => {
+ return await request.delete({ url: `/hrm/job-transfer-apply/delete?id=` + id })
+ },
+
+ // 导出调岗申请 Excel
+ exportJobTransferApply: async (params) => {
+ return await request.download({ url: `/hrm/job-transfer-apply/export-excel`, params })
+ }
+}
\ No newline at end of file
diff --git a/src/api/hrm/mentorsapply/index.ts b/src/api/hrm/mentorsapply/index.ts
new file mode 100644
index 000000000..7adb47ede
--- /dev/null
+++ b/src/api/hrm/mentorsapply/index.ts
@@ -0,0 +1,45 @@
+import request from '@/config/axios'
+
+// 师徒申请 VO
+export interface MentorsApplyVO {
+ id: number // 主键,自动递增
+ userId: number // 员工档案ID
+ processInstanceId: string // 工作流编号
+ auditStatus: number // 审批状态
+ mentorsType: number // 师徒类型. 0拜师 1收徒
+ acceptUserId: number // 接受员工Id
+ effectiverDate: Date // 生效日期
+}
+
+// 师徒申请 API
+export const MentorsApplyApi = {
+ // 查询师徒申请分页
+ getMentorsApplyPage: async (params: any) => {
+ return await request.get({ url: `/hrm/mentors-apply/page`, params })
+ },
+
+ // 查询师徒申请详情
+ getMentorsApply: async (id: number) => {
+ return await request.get({ url: `/hrm/mentors-apply/get?id=` + id })
+ },
+
+ // 新增师徒申请
+ createMentorsApply: async (data: MentorsApplyVO) => {
+ return await request.post({ url: `/hrm/mentors-apply/create`, data })
+ },
+
+ // 修改师徒申请
+ updateMentorsApply: async (data: MentorsApplyVO) => {
+ return await request.put({ url: `/hrm/mentors-apply/update`, data })
+ },
+
+ // 删除师徒申请
+ deleteMentorsApply: async (id: number) => {
+ return await request.delete({ url: `/hrm/mentors-apply/delete?id=` + id })
+ },
+
+ // 导出师徒申请 Excel
+ exportMentorsApply: async (params) => {
+ return await request.download({ url: `/hrm/mentors-apply/export-excel`, params })
+ }
+}
\ No newline at end of file
diff --git a/src/api/hrm/resignationapply/index.ts b/src/api/hrm/resignationapply/index.ts
new file mode 100644
index 000000000..59f79a110
--- /dev/null
+++ b/src/api/hrm/resignationapply/index.ts
@@ -0,0 +1,48 @@
+import request from '@/config/axios'
+
+// 离职申请 VO
+export interface ResignationApplyVO {
+ id: number // 主键,自动递增
+ userId: number // 员工档案ID
+ processInstanceId: string // 工作流编号
+ auditStatus: number // 审批状态
+ expectedResignDate: Date // 预计离职日期
+ resignationReason: number // 离职原因:个人原因、发展原因、薪酬原因、工作压力大、不接受组织调整、其他
+ reasonDescription: string // 离职原因说明
+ feedbackOnWorkEnv: string // 对工作等环境和公司文化的反馈
+ suggestions: string // 对公司的意见和建议
+ suggestionsForImprovement: string // 希望公司在未来的发展中能够做到的改进
+}
+
+// 离职申请 API
+export const ResignationApplyApi = {
+ // 查询离职申请分页
+ getResignationApplyPage: async (params: any) => {
+ return await request.get({ url: `/hrm/resignation-apply/page`, params })
+ },
+
+ // 查询离职申请详情
+ getResignationApply: async (id: number) => {
+ return await request.get({ url: `/hrm/resignation-apply/get?id=` + id })
+ },
+
+ // 新增离职申请
+ createResignationApply: async (data: ResignationApplyVO) => {
+ return await request.post({ url: `/hrm/resignation-apply/create`, data })
+ },
+
+ // 修改离职申请
+ updateResignationApply: async (data: ResignationApplyVO) => {
+ return await request.put({ url: `/hrm/resignation-apply/update`, data })
+ },
+
+ // 删除离职申请
+ deleteResignationApply: async (id: number) => {
+ return await request.delete({ url: `/hrm/resignation-apply/delete?id=` + id })
+ },
+
+ // 导出离职申请 Excel
+ exportResignationApply: async (params) => {
+ return await request.download({ url: `/hrm/resignation-apply/export-excel`, params })
+ }
+}
\ No newline at end of file
diff --git a/src/views/hrm/certificaterequest/CertificateRequestForm.vue b/src/views/hrm/certificaterequest/CertificateRequestForm.vue
new file mode 100644
index 000000000..2873751bf
--- /dev/null
+++ b/src/views/hrm/certificaterequest/CertificateRequestForm.vue
@@ -0,0 +1,136 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/views/hrm/certificaterequest/index.vue b/src/views/hrm/certificaterequest/index.vue
new file mode 100644
index 000000000..3244ce15a
--- /dev/null
+++ b/src/views/hrm/certificaterequest/index.vue
@@ -0,0 +1,256 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/hrm/interviewinitiation/InterviewInitiationForm.vue b/src/views/hrm/interviewinitiation/InterviewInitiationForm.vue
index 886927882..8b90cf6ae 100644
--- a/src/views/hrm/interviewinitiation/InterviewInitiationForm.vue
+++ b/src/views/hrm/interviewinitiation/InterviewInitiationForm.vue
@@ -146,4 +146,4 @@ const resetForm = () => {
}
formRef.value?.resetFields()
}
-
\ No newline at end of file
+
diff --git a/src/views/hrm/jobtransferapply/JobTransferApplyForm.vue b/src/views/hrm/jobtransferapply/JobTransferApplyForm.vue
new file mode 100644
index 000000000..099cbae63
--- /dev/null
+++ b/src/views/hrm/jobtransferapply/JobTransferApplyForm.vue
@@ -0,0 +1,210 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/views/hrm/jobtransferapply/index.vue b/src/views/hrm/jobtransferapply/index.vue
new file mode 100644
index 000000000..a135313d0
--- /dev/null
+++ b/src/views/hrm/jobtransferapply/index.vue
@@ -0,0 +1,409 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/hrm/mentorsapply/MentorsApplyForm.vue b/src/views/hrm/mentorsapply/MentorsApplyForm.vue
new file mode 100644
index 000000000..e0aa80c17
--- /dev/null
+++ b/src/views/hrm/mentorsapply/MentorsApplyForm.vue
@@ -0,0 +1,136 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/views/hrm/mentorsapply/index.vue b/src/views/hrm/mentorsapply/index.vue
new file mode 100644
index 000000000..09c94bb4d
--- /dev/null
+++ b/src/views/hrm/mentorsapply/index.vue
@@ -0,0 +1,256 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/hrm/resignationapply/ResignationApplyForm.vue b/src/views/hrm/resignationapply/ResignationApplyForm.vue
new file mode 100644
index 000000000..ea8db51b4
--- /dev/null
+++ b/src/views/hrm/resignationapply/ResignationApplyForm.vue
@@ -0,0 +1,142 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/views/hrm/resignationapply/index.vue b/src/views/hrm/resignationapply/index.vue
new file mode 100644
index 000000000..03f408fc4
--- /dev/null
+++ b/src/views/hrm/resignationapply/index.vue
@@ -0,0 +1,269 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file