From dd7c9e2bb6d8e7338dc7fe5f8a22036307a85085 Mon Sep 17 00:00:00 2001 From: fuenmao <980740792@qq.com> Date: Wed, 26 Aug 2026 15:30:02 +0800 Subject: [PATCH] 11 --- src/api/modules/biz/onboarding.ts | 15 +- src/views/biz/onboarding/task/index.vue | 509 +++++++++++++++++++----- src/views/onboarding/fill/index.vue | 400 +++++++++++++++++-- 3 files changed, 771 insertions(+), 153 deletions(-) diff --git a/src/api/modules/biz/onboarding.ts b/src/api/modules/biz/onboarding.ts index 54a478d..cedf589 100644 --- a/src/api/modules/biz/onboarding.ts +++ b/src/api/modules/biz/onboarding.ts @@ -10,7 +10,12 @@ export interface OnboardingTask { taskNo: string; companyId: number; positionId: number; + onboardingTemplateId?: number; + companyName?: string; + positionName?: string; + onboardingTemplateName?: string; taskStatus: string; + rejectReason?: string; linkExpireAt?: string; submitCount: number; createTime: string; @@ -87,7 +92,7 @@ export interface OnboardingTaskContractVariableItem { variableName: string; variableType: string; dataType: string; - variableValue?: string; + variableValue?: string | number; required: boolean; hrEditable: boolean; editable: boolean; @@ -179,6 +184,10 @@ export const onboardingTaskApi = { return taskHttp.get("detail", params); }, + getTaskLink(params: ReqId) { + return taskHttp.get("get-link", params); + }, + /** 使用后台登录令牌读取文件流,供入职材料下载和图片预览使用。 */ downloadFile(fileId: number) { return fileHttp.get( @@ -550,6 +559,10 @@ export const onboardingPublicApi = { contractSourceUrl(params: { token: string; taskContractId: number }) { return `/api/open/onboarding/contract-source?token=${encodeURIComponent(params.token)}&taskContractId=${params.taskContractId}`; }, + materialSourceUrl(params: { token: string; taskMaterialId: number; fileId?: number }) { + const version = params.fileId ? `&v=${params.fileId}` : ""; + return `/api/open/onboarding/material-source?token=${encodeURIComponent(params.token)}&taskMaterialId=${params.taskMaterialId}${version}`; + }, deleteMaterial(params: { token: string; taskMaterialId: number }) { return publicHttp.post("delete-material", params); } diff --git a/src/views/biz/onboarding/task/index.vue b/src/views/biz/onboarding/task/index.vue index b9d556f..559cba3 100644 --- a/src/views/biz/onboarding/task/index.vue +++ b/src/views/biz/onboarding/task/index.vue @@ -67,6 +67,16 @@ 合同参数 + + 复制链接 + +
- -
- @@ -533,6 +598,8 @@ type="primary" plain icon="Download" + :loading="isContractOpening(c.id)" + :disabled="isContractOpening(c.id)" @click="previewAndDownloadContract(c)" > 下载 / 查阅合同原文 @@ -579,7 +646,7 @@