From aec6c1f36c62418b1366a666f400cf8fc3ee83d2 Mon Sep 17 00:00:00 2001 From: fuenmao <980740792@qq.com> Date: Tue, 25 Aug 2026 13:54:25 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/modules/biz/onboarding.ts | 11 +++++++ src/views/biz/onboarding/contract/index.vue | 16 ++++++++++ .../components/OnboardingTemplatePanel.vue | 4 ++- src/views/biz/onboarding/task/index.vue | 30 +++++++++++++++++++ 4 files changed, 60 insertions(+), 1 deletion(-) diff --git a/src/api/modules/biz/onboarding.ts b/src/api/modules/biz/onboarding.ts index ab4c00b..571dad8 100644 --- a/src/api/modules/biz/onboarding.ts +++ b/src/api/modules/biz/onboarding.ts @@ -217,6 +217,10 @@ export const onboardingTaskApi = { return taskHttp.post("revoke", params); }, + deleteTask(id: number) { + return taskHttp.post("delete", { id }); + }, + reviewMaterial(params: { taskMaterialId: number; reviewStatus: string; @@ -390,6 +394,13 @@ export const onboardingTaskApi = { ); }, + deleteVersion(id: number) { + return moduleRequest("/biz/onboarding/contract-template/").post( + "version/delete", + { id } + ); + }, + variablePage(params: { templateVersionId: number; pageNum: number; diff --git a/src/views/biz/onboarding/contract/index.vue b/src/views/biz/onboarding/contract/index.vue index 1a2e097..f99d21a 100644 --- a/src/views/biz/onboarding/contract/index.vue +++ b/src/views/biz/onboarding/contract/index.vue @@ -174,6 +174,15 @@ > 停用 + + + 删除 + @@ -565,6 +574,13 @@ async function changeVersionStatus(row: OnboardingContractVersion, status: strin ElMessage.success(`版本状态已更新为:${versionText(status)}`); } +async function removeVersion(row: OnboardingContractVersion) { + await ElMessageBox.confirm(`确认删除合同版本“${row.versionNo}”?此操作不可撤销。`, "删除确认", { type: "warning" }); + await onboardingTaskApi.deleteVersion(row.id); + await loadVersions(); + ElMessage.success("版本删除成功"); +} + function downloadDocx(fileId?: number) { if (!fileId) return ElMessage.warning("暂无 DOCX 源文件"); window.open(`/api/sys/dev/file/download?id=${fileId}`, "_blank"); diff --git a/src/views/biz/onboarding/entry-config/components/OnboardingTemplatePanel.vue b/src/views/biz/onboarding/entry-config/components/OnboardingTemplatePanel.vue index 9aa6b18..0bd79ea 100644 --- a/src/views/biz/onboarding/entry-config/components/OnboardingTemplatePanel.vue +++ b/src/views/biz/onboarding/entry-config/components/OnboardingTemplatePanel.vue @@ -356,13 +356,15 @@ function toggleMaterial(materialTypeId: number, selected: boolean) { } } -function openCreate() { +async function openCreate() { Object.assign(form, emptyForm()); positions.value = []; + await loadBaseData(); visible.value = true; } async function openEdit(row: OnboardingTemplate) { + await loadBaseData(); const { data } = await onboardingTaskApi.onboardingTemplateDetail({ id: row.id! }); Object.assign(form, emptyForm(), data); await loadPositions(form.companyId); diff --git a/src/views/biz/onboarding/task/index.vue b/src/views/biz/onboarding/task/index.vue index 4d64808..28f3106 100644 --- a/src/views/biz/onboarding/task/index.vue +++ b/src/views/biz/onboarding/task/index.vue @@ -106,6 +106,16 @@ > 撤销 + + + 删除 + @@ -495,6 +505,14 @@ > 归档该任务 + + 删除该任务 + 关闭 @@ -1012,6 +1030,18 @@ async function revoke(row: OnboardingTask) { proTable.value?.refresh(); } +async function removeTask(row: OnboardingTask) { + await ElMessageBox.confirm( + `确认永久删除已撤销的入职任务【${row.taskNo}】吗?此操作将清理该任务全部数据,且不可恢复。`, + "删除任务确认", + { type: "error", confirmButtonText: "确定删除", cancelButtonText: "取消" } + ); + await onboardingTaskApi.deleteTask(row.id); + ElMessage.success("入职任务已删除"); + detailVisible.value = false; + proTable.value?.refresh(); +} + onMounted(loadCompanies);