This commit is contained in:
fuenmao
2026-08-27 16:27:17 +08:00
parent 6d4ad7236f
commit d0d7ca8e69
7 changed files with 150 additions and 48 deletions
+13 -4
View File
@@ -1320,6 +1320,10 @@ async function onOnboardingTemplateChange(templateId: number) {
const contractName = contractTemplates.value.find(item => item.id === contract.contractTemplateId)?.templateName || "合同";
return (variableResults[index].data?.list || [])
.filter(variable => variable.hrEditable && ["contract", "company"].includes(variable.variableType))
.sort((left, right) => {
const sortResult = (left.sortCode ?? 100) - (right.sortCode ?? 100);
return sortResult || left.variableCode.localeCompare(right.variableCode);
})
.map(variable => ({
contractTemplateVersionId: contract.contractTemplateVersionId,
variableCode: variable.variableCode,
@@ -1423,10 +1427,15 @@ async function copyOrShareTaskLink(row: OnboardingTask) {
}
}
async function showDetail(row: OnboardingTask) {
async function showDetail(row: OnboardingTask, preserveTab: boolean = false) {
const currentTab = activeDetailTab.value;
const { data }: any = await onboardingTaskApi.detail({ id: row.id });
detail.value = data;
activeDetailTab.value = "profile";
if (!preserveTab) {
activeDetailTab.value = "profile";
} else {
activeDetailTab.value = currentTab || "profile";
}
detailVisible.value = true;
void loadMaterialPreviews(data?.materials || []);
}
@@ -1539,7 +1548,7 @@ async function generate(taskContractId: number) {
await onboardingTaskApi.generateContract(taskContractId);
ElMessage.success("DOCX合同文件已生成");
if (detail.value?.task?.id) {
await showDetail(detail.value.task);
await showDetail(detail.value.task, true);
}
}
@@ -1580,7 +1589,7 @@ async function reviewMaterial(taskMaterialId: number, reviewStatus: string) {
ElMessage.success(reviewStatus === "passed" ? "该材料已标记为合格" : "已标记需补充");
if (detail.value?.task) {
await showDetail(detail.value.task);
await showDetail(detail.value.task, true);
}
}