diff --git a/src/api/hrm/fullmemberapply/index.ts b/src/api/hrm/fullmemberapply/index.ts
new file mode 100644
index 000000000..1c9e0ec53
--- /dev/null
+++ b/src/api/hrm/fullmemberapply/index.ts
@@ -0,0 +1,51 @@
+import request from '@/config/axios'
+
+// 转正申请 VO
+export interface FullMemberApplyVO {
+ id: number // 主键,自动递增
+ userId: number // 员工档案ID(关联hrm_user_infor)
+ processInstanceId: string // 工作流编号
+ auditStatus: number // 审批状态
+ confirmationDate: Date // 转正日期
+ isConfirmed: number // 是否转正(1:是,0:否)
+ applicationDate: Date // 申请日期
+ applicationNote: string // 转正申请说明
+ workPerformanceScore: number // 工作业绩评分
+ attendanceScore: number // 出勤情况评分
+ teamworkScore: number // 团队协作评分
+ abilityPerformanceScore: number // 能力表现评分
+ eSignature: string // 本人签字
+}
+
+// 转正申请 API
+export const FullMemberApplyApi = {
+ // 查询转正申请分页
+ getFullMemberApplyPage: async (params: any) => {
+ return await request.get({ url: `/hrm/full-member-apply/page`, params })
+ },
+
+ // 查询转正申请详情
+ getFullMemberApply: async (id: number) => {
+ return await request.get({ url: `/hrm/full-member-apply/get?id=` + id })
+ },
+
+ // 新增转正申请
+ createFullMemberApply: async (data: FullMemberApplyVO) => {
+ return await request.post({ url: `/hrm/full-member-apply/create`, data })
+ },
+
+ // 修改转正申请
+ updateFullMemberApply: async (data: FullMemberApplyVO) => {
+ return await request.put({ url: `/hrm/full-member-apply/update`, data })
+ },
+
+ // 删除转正申请
+ deleteFullMemberApply: async (id: number) => {
+ return await request.delete({ url: `/hrm/full-member-apply/delete?id=` + id })
+ },
+
+ // 导出转正申请 Excel
+ exportFullMemberApply: async (params) => {
+ return await request.download({ url: `/hrm/full-member-apply/export-excel`, params })
+ }
+}
\ No newline at end of file
diff --git a/src/api/hrm/user/index.ts b/src/api/hrm/user/index.ts
new file mode 100644
index 000000000..385539a72
--- /dev/null
+++ b/src/api/hrm/user/index.ts
@@ -0,0 +1,106 @@
+import request from '@/config/axios'
+
+// 员工档案信息 VO
+export interface UserVO {
+ id: number // 唯一主键
+ acctId: number // 用户登录账号IDsys_user表
+ userNo: string // 员工编号
+ realName: string // 员工姓名
+ phone: string // 手机号
+ email: string // 邮箱
+ employmentDate: Date // 入职日期
+ regularizationDate: Date // 转正日期
+ postId: number // 岗位Id
+ postLevel: number // 职级
+ gradeLevel: number // 档级
+ employType: number // 聘用形式(全职、见习、实习、劳务、联创、其他)
+ trialStartDate: Date // 试用开始日期
+ trialEndDate: Date // 试用结束日期
+ probationPeriod: number // 试用期限(月)
+ contractStartDate: Date // 合同开始日期
+ contractEndDate: Date // 合同结束日期
+ contractTerm: number // 合同期限(年)
+ gender: number // 性别(男、女、其他)
+ age: string // 年龄
+ resume: string // 简历附件
+ workPhoto: string // 形象照
+ idCardFaceSide: string // 身份证人像
+ idCardNationalEmblemSide: string // 身份证国徽
+ currentAddress: string // 现住址
+ idCardNumber: string // 身份证号
+ birthDate: Date // 出生日期
+ issuingAuthority: string // 发证机关
+ nation: number // 民族(56个民族)
+ householdRegistrationScan: string // 户口扫描件
+ householdType: number // 户籍类型(农村、城镇)
+ householdAddress: string // 户籍地
+ politicalStatus: number // 政治面貌(共青团员、中共预备党员、中共党员、群众、其他)
+ maritalStatus: number // 婚姻状况(未婚、已婚未育、已婚已育)
+ relationship1: number // 关系1(父母、夫妻、兄弟、姊妹、朋友、其他)
+ contactName1: string // 联系人姓名1
+ contactPhone1: string // 联系手机号1
+ relationship2: number // 关系2(父母、夫妻、兄弟、姊妹、朋友、其他)
+ contactName2: string // 联系人姓名2
+ contactPhone2: string // 联系手机号2
+ bankBranch: string // 工商银行开户支行
+ salaryCardNumber: string // 工资卡卡号
+ accountRelationship: number // 账户名与本人关系(父亲、母亲)
+ pensionCardHolder: string // 敬老费银行卡户名
+ pensionAccountNumber: string // 敬老费银行账号
+ pensionBankBranch: string // 敬老费开户行网点
+ insuranceStatus: number // 五险缴纳情况(未缴纳过、已缴纳过)
+ oneInchPhoto: string // 1寸白底照(当未缴纳五险一金,需要上传)
+ resignationCertScan: string // 离职证明扫描件
+ highestEducation: string // 最高学历
+ educationSystemType: number // 学制类型(全日制、非全日制)
+ educationCertificateScan: string // 学历扫描件
+ status: number // 状态
+ deptId: number // 部门ID
+}
+
+// 员工档案信息 API
+export const UserApi = {
+ // 查询员工档案信息分页
+ getUserPage: async (params: any) => {
+ return await request.get({ url: `/hrm/user/page`, params })
+ },
+
+ // 查询员工档案信息详情
+ getUser: async (id: number) => {
+ return await request.get({ url: `/hrm/user/get?id=` + id })
+ },
+
+ // 新增员工档案信息
+ createUser: async (data: UserVO) => {
+ return await request.post({ url: `/hrm/user/create`, data })
+ },
+
+ // 修改员工档案信息
+ updateUser: async (data: UserVO) => {
+ return await request.put({ url: `/hrm/user/update`, data })
+ },
+
+ // 删除员工档案信息
+ deleteUser: async (id: number) => {
+ return await request.delete({ url: `/hrm/user/delete?id=` + id })
+ },
+
+ // 导出员工档案信息 Excel
+ exportUser: async (params) => {
+ return await request.download({ url: `/hrm/user/export-excel`, params })
+ },
+
+// ==================== 子表(教育信息) ====================
+
+ // 获得教育信息列表
+ getUserEducationInfoListByUserId: async (userId) => {
+ return await request.get({ url: `/hrm/user/user-education-info/list-by-user-id?userId=` + userId })
+ },
+
+// ==================== 子表(工作经历信息) ====================
+
+ // 获得工作经历信息列表
+ getUserWorkInfoListByUserId: async (userId) => {
+ return await request.get({ url: `/hrm/user/user-work-info/list-by-user-id?userId=` + userId })
+ }
+}
\ No newline at end of file
diff --git a/src/api/hrm/usereducationinfo/index.ts b/src/api/hrm/usereducationinfo/index.ts
new file mode 100644
index 000000000..c1d706137
--- /dev/null
+++ b/src/api/hrm/usereducationinfo/index.ts
@@ -0,0 +1,45 @@
+import request from '@/config/axios'
+
+// 教育信息 VO
+export interface UserEducationInfoVO {
+ id: number // 唯一主键
+ userId: number // 员工档案ID(关联hrm_user_infor)
+ education: number // 学历
+ beginDate: Date // 入学日期
+ graduationDate: Date // 毕业日期
+ schoolName: string // 学校名称
+ major: string // 专业名称
+}
+
+// 教育信息 API
+export const UserEducationInfoApi = {
+ // 查询教育信息分页
+ getUserEducationInfoPage: async (params: any) => {
+ return await request.get({ url: `/hrm/user-education-info/page`, params })
+ },
+
+ // 查询教育信息详情
+ getUserEducationInfo: async (id: number) => {
+ return await request.get({ url: `/hrm/user-education-info/get?id=` + id })
+ },
+
+ // 新增教育信息
+ createUserEducationInfo: async (data: UserEducationInfoVO) => {
+ return await request.post({ url: `/hrm/user-education-info/create`, data })
+ },
+
+ // 修改教育信息
+ updateUserEducationInfo: async (data: UserEducationInfoVO) => {
+ return await request.put({ url: `/hrm/user-education-info/update`, data })
+ },
+
+ // 删除教育信息
+ deleteUserEducationInfo: async (id: number) => {
+ return await request.delete({ url: `/hrm/user-education-info/delete?id=` + id })
+ },
+
+ // 导出教育信息 Excel
+ exportUserEducationInfo: async (params) => {
+ return await request.download({ url: `/hrm/user-education-info/export-excel`, params })
+ }
+}
\ No newline at end of file
diff --git a/src/api/hrm/useronboarding/index.ts b/src/api/hrm/useronboarding/index.ts
new file mode 100644
index 000000000..021dfcec6
--- /dev/null
+++ b/src/api/hrm/useronboarding/index.ts
@@ -0,0 +1,46 @@
+import request from '@/config/axios'
+
+// 入职申请 VO
+export interface UserOnboardingVO {
+ id: number // 主键,自动递增
+ talentId: number // 人才库id
+ userId: number // 员工ID
+ processInstanceId: string // 工作流编号
+ auditStatus: number // 审批状态
+ employType: number // 聘用形式(全职、见习、实习、劳务、劳动、联创、其他)
+ eSignature: string // 员工签字
+ submissionDate: Date // 提交日期
+}
+
+// 入职申请 API
+export const UserOnboardingApi = {
+ // 查询入职申请分页
+ getUserOnboardingPage: async (params: any) => {
+ return await request.get({ url: `/hrm/user-onboarding/page`, params })
+ },
+
+ // 查询入职申请详情
+ getUserOnboarding: async (id: number) => {
+ return await request.get({ url: `/hrm/user-onboarding/get?id=` + id })
+ },
+
+ // 新增入职申请
+ createUserOnboarding: async (data: UserOnboardingVO) => {
+ return await request.post({ url: `/hrm/user-onboarding/create`, data })
+ },
+
+ // 修改入职申请
+ updateUserOnboarding: async (data: UserOnboardingVO) => {
+ return await request.put({ url: `/hrm/user-onboarding/update`, data })
+ },
+
+ // 删除入职申请
+ deleteUserOnboarding: async (id: number) => {
+ return await request.delete({ url: `/hrm/user-onboarding/delete?id=` + id })
+ },
+
+ // 导出入职申请 Excel
+ exportUserOnboarding: async (params) => {
+ return await request.download({ url: `/hrm/user-onboarding/export-excel`, params })
+ }
+}
\ No newline at end of file
diff --git a/src/api/hrm/userworkinfo/index.ts b/src/api/hrm/userworkinfo/index.ts
new file mode 100644
index 000000000..52d5dc0f1
--- /dev/null
+++ b/src/api/hrm/userworkinfo/index.ts
@@ -0,0 +1,46 @@
+import request from '@/config/axios'
+
+// 工作经历信息 VO
+export interface UserWorkInfoVO {
+ id: number // 唯一主键
+ userId: number // 员工档案ID(关联hrm_user_infor)
+ companyName: string // 单位名称
+ deptName: string // 部门名称
+ postName: string // 职位名称
+ startDate: Date // 开始日期
+ endDate: Date // 离职日期
+ monthlySalary: number // 待遇(元/月)
+}
+
+// 工作经历信息 API
+export const UserWorkInfoApi = {
+ // 查询工作经历信息分页
+ getUserWorkInfoPage: async (params: any) => {
+ return await request.get({ url: `/hrm/user-work-info/page`, params })
+ },
+
+ // 查询工作经历信息详情
+ getUserWorkInfo: async (id: number) => {
+ return await request.get({ url: `/hrm/user-work-info/get?id=` + id })
+ },
+
+ // 新增工作经历信息
+ createUserWorkInfo: async (data: UserWorkInfoVO) => {
+ return await request.post({ url: `/hrm/user-work-info/create`, data })
+ },
+
+ // 修改工作经历信息
+ updateUserWorkInfo: async (data: UserWorkInfoVO) => {
+ return await request.put({ url: `/hrm/user-work-info/update`, data })
+ },
+
+ // 删除工作经历信息
+ deleteUserWorkInfo: async (id: number) => {
+ return await request.delete({ url: `/hrm/user-work-info/delete?id=` + id })
+ },
+
+ // 导出工作经历信息 Excel
+ exportUserWorkInfo: async (params) => {
+ return await request.download({ url: `/hrm/user-work-info/export-excel`, params })
+ }
+}
\ No newline at end of file
diff --git a/src/views/hrm/fullmemberapply/FullMemberApplyForm.vue b/src/views/hrm/fullmemberapply/FullMemberApplyForm.vue
new file mode 100644
index 000000000..178760607
--- /dev/null
+++ b/src/views/hrm/fullmemberapply/FullMemberApplyForm.vue
@@ -0,0 +1,175 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/views/hrm/fullmemberapply/index.vue b/src/views/hrm/fullmemberapply/index.vue
new file mode 100644
index 000000000..f5a9f55c9
--- /dev/null
+++ b/src/views/hrm/fullmemberapply/index.vue
@@ -0,0 +1,324 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/hrm/user/UserForm.vue b/src/views/hrm/user/UserForm.vue
new file mode 100644
index 000000000..b163c425d
--- /dev/null
+++ b/src/views/hrm/user/UserForm.vue
@@ -0,0 +1,540 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/views/hrm/user/components/UserEducationInfoForm.vue b/src/views/hrm/user/components/UserEducationInfoForm.vue
new file mode 100644
index 000000000..81e5ea44d
--- /dev/null
+++ b/src/views/hrm/user/components/UserEducationInfoForm.vue
@@ -0,0 +1,136 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ —
+
+
+
+
+
+ + 添加教育信息
+
+
+
\ No newline at end of file
diff --git a/src/views/hrm/user/components/UserWorkInfoForm.vue b/src/views/hrm/user/components/UserWorkInfoForm.vue
new file mode 100644
index 000000000..06345a963
--- /dev/null
+++ b/src/views/hrm/user/components/UserWorkInfoForm.vue
@@ -0,0 +1,146 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ —
+
+
+
+
+
+ + 添加工作经历信息
+
+
+
\ No newline at end of file
diff --git a/src/views/hrm/user/index.vue b/src/views/hrm/user/index.vue
new file mode 100644
index 000000000..f68ee5385
--- /dev/null
+++ b/src/views/hrm/user/index.vue
@@ -0,0 +1,905 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/hrm/usereducationinfo/UserEducationInfoForm.vue b/src/views/hrm/usereducationinfo/UserEducationInfoForm.vue
new file mode 100644
index 000000000..d09eb76e4
--- /dev/null
+++ b/src/views/hrm/usereducationinfo/UserEducationInfoForm.vue
@@ -0,0 +1,131 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/views/hrm/usereducationinfo/index.vue b/src/views/hrm/usereducationinfo/index.vue
new file mode 100644
index 000000000..122a4a404
--- /dev/null
+++ b/src/views/hrm/usereducationinfo/index.vue
@@ -0,0 +1,226 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/hrm/useronboarding/UserOnboardingForm.vue b/src/views/hrm/useronboarding/UserOnboardingForm.vue
new file mode 100644
index 000000000..caa674357
--- /dev/null
+++ b/src/views/hrm/useronboarding/UserOnboardingForm.vue
@@ -0,0 +1,140 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/views/hrm/useronboarding/index.vue b/src/views/hrm/useronboarding/index.vue
new file mode 100644
index 000000000..6384da403
--- /dev/null
+++ b/src/views/hrm/useronboarding/index.vue
@@ -0,0 +1,267 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/hrm/userworkinfo/UserWorkInfoForm.vue b/src/views/hrm/userworkinfo/UserWorkInfoForm.vue
new file mode 100644
index 000000000..3060fc40d
--- /dev/null
+++ b/src/views/hrm/userworkinfo/UserWorkInfoForm.vue
@@ -0,0 +1,138 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/views/hrm/userworkinfo/index.vue b/src/views/hrm/userworkinfo/index.vue
new file mode 100644
index 000000000..aadd318b7
--- /dev/null
+++ b/src/views/hrm/userworkinfo/index.vue
@@ -0,0 +1,237 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file