From 68704a091b8dd7ec55fb0deb7b0d7206c1aa99c3 Mon Sep 17 00:00:00 2001 From: fuenmao <980740792@qq.com> Date: Wed, 9 Sep 2026 14:57:46 +0800 Subject: [PATCH] 111 --- src/api/modules/biz/onboarding.ts | 57 ++ src/views/biz/onboarding/employee/index.vue | 593 +++++++++++++++++- .../components/OnboardingTemplatePanel.vue | 11 +- src/views/biz/onboarding/task/index.vue | 39 +- 4 files changed, 685 insertions(+), 15 deletions(-) diff --git a/src/api/modules/biz/onboarding.ts b/src/api/modules/biz/onboarding.ts index 3c14d4b..3d26adf 100644 --- a/src/api/modules/biz/onboarding.ts +++ b/src/api/modules/biz/onboarding.ts @@ -66,6 +66,7 @@ export interface OnboardingTask { departmentName?: string; positionId: number; positionName?: string; + employmentType?: "full_time" | "part_time"; onboardingTemplateId?: number; onboardingTemplateName?: string; taskStatus: string; @@ -294,6 +295,12 @@ export interface OnboardingEmployee { departmentName?: string; positionId: number; positionName?: string; + employmentType?: "full_time" | "part_time"; + regularizationStatus?: "probation" | "regular" | "not_applicable"; + socialInsuranceStatus?: "unknown" | "not_purchased" | "purchased" | "stopped" | "not_applicable"; + regularizationDate?: string; + socialInsuranceCompany?: string; + contractNature?: string; phone: string; idCardNumber: string; entryDate?: string; @@ -813,6 +820,14 @@ export const onboardingTaskApi = { >("page", params); }, + employeeExport(params: Record) { + return moduleRequest("/biz/onboarding/employee/").download( + "export", + params, + { cancel: false } + ); + }, + employeeDetail(params: ReqId) { return moduleRequest("/biz/onboarding/employee/").get( "detail", @@ -820,6 +835,48 @@ export const onboardingTaskApi = { ); }, + updateEmployeeHrInfo(params: { + id: number; + employmentType: "full_time" | "part_time"; + contractNature?: string; + socialInsuranceStatus: "unknown" | "not_purchased" | "purchased" | "stopped" | "not_applicable"; + socialInsuranceCompany?: string; + }) { + return moduleRequest("/biz/onboarding/employee/").post( + "hr-info/update", + params + ); + }, + + uploadEmployeeAttachment(params: FormData) { + return moduleRequest("/biz/onboarding/employee/").post( + "attachment/upload", + params + ); + }, + + regularizeEmployee(params: { + id: number; + regularizationDate: string; + remark?: string; + fileIds: number[]; + }) { + return moduleRequest("/biz/onboarding/employee/").post( + "regularization/confirm", + params + ); + }, + + revokeEmployeeRegularization(params: { + id: number; + remark: string; + }) { + return moduleRequest("/biz/onboarding/employee/").post( + "regularization/revoke", + params + ); + }, + listFormFields() { return moduleRequest("/biz/onboarding/entry-config/").get< OnboardingFormField[] diff --git a/src/views/biz/onboarding/employee/index.vue b/src/views/biz/onboarding/employee/index.vue index 546a774..fc01c98 100644 --- a/src/views/biz/onboarding/employee/index.vue +++ b/src/views/biz/onboarding/employee/index.vue @@ -1,8 +1,37 @@