From d986e37efc19c16bee7967a91b47e640dd695c3a Mon Sep 17 00:00:00 2001 From: quu Date: Sat, 10 May 2025 14:33:34 +0900 Subject: [PATCH] =?UTF-8?q?HRM=20=E5=91=98=E5=B7=A5=E6=A1=A3=E6=A1=88?= =?UTF-8?q?=E3=80=82=E5=85=A5=E8=81=8C=E7=94=B3=E8=AF=B7=20=E5=92=8C?= =?UTF-8?q?=E8=BD=AC=E6=AD=A3=E7=94=B3=E8=AF=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/hrm/fullmemberapply/index.ts | 51 + src/api/hrm/user/index.ts | 106 ++ src/api/hrm/usereducationinfo/index.ts | 45 + src/api/hrm/useronboarding/index.ts | 46 + src/api/hrm/userworkinfo/index.ts | 46 + .../fullmemberapply/FullMemberApplyForm.vue | 175 ++++ src/views/hrm/fullmemberapply/index.vue | 324 +++++++ src/views/hrm/user/UserForm.vue | 540 +++++++++++ .../user/components/UserEducationInfoForm.vue | 136 +++ .../hrm/user/components/UserWorkInfoForm.vue | 146 +++ src/views/hrm/user/index.vue | 905 ++++++++++++++++++ .../UserEducationInfoForm.vue | 131 +++ src/views/hrm/usereducationinfo/index.vue | 226 +++++ .../hrm/useronboarding/UserOnboardingForm.vue | 140 +++ src/views/hrm/useronboarding/index.vue | 267 ++++++ .../hrm/userworkinfo/UserWorkInfoForm.vue | 138 +++ src/views/hrm/userworkinfo/index.vue | 237 +++++ 17 files changed, 3659 insertions(+) create mode 100644 src/api/hrm/fullmemberapply/index.ts create mode 100644 src/api/hrm/user/index.ts create mode 100644 src/api/hrm/usereducationinfo/index.ts create mode 100644 src/api/hrm/useronboarding/index.ts create mode 100644 src/api/hrm/userworkinfo/index.ts create mode 100644 src/views/hrm/fullmemberapply/FullMemberApplyForm.vue create mode 100644 src/views/hrm/fullmemberapply/index.vue create mode 100644 src/views/hrm/user/UserForm.vue create mode 100644 src/views/hrm/user/components/UserEducationInfoForm.vue create mode 100644 src/views/hrm/user/components/UserWorkInfoForm.vue create mode 100644 src/views/hrm/user/index.vue create mode 100644 src/views/hrm/usereducationinfo/UserEducationInfoForm.vue create mode 100644 src/views/hrm/usereducationinfo/index.vue create mode 100644 src/views/hrm/useronboarding/UserOnboardingForm.vue create mode 100644 src/views/hrm/useronboarding/index.vue create mode 100644 src/views/hrm/userworkinfo/UserWorkInfoForm.vue create mode 100644 src/views/hrm/userworkinfo/index.vue 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