From 93b8ceac34e2fbd5c57fe5ab4f5bac32c85408aa Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期五, 22 五月 2026 15:37:09 +0800
Subject: [PATCH] fix(hr): 修正岗位字段映射

---
 src/views/officeProcessAutomation/ReimburseManage/travel-reimburse/useTravelReimburse.js |   21 ++++++++++++++++++---
 1 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/src/views/officeProcessAutomation/ReimburseManage/travel-reimburse/useTravelReimburse.js b/src/views/officeProcessAutomation/ReimburseManage/travel-reimburse/useTravelReimburse.js
index 9aa6294..4726117 100644
--- a/src/views/officeProcessAutomation/ReimburseManage/travel-reimburse/useTravelReimburse.js
+++ b/src/views/officeProcessAutomation/ReimburseManage/travel-reimburse/useTravelReimburse.js
@@ -14,6 +14,7 @@
   buildTravelReimbursementSaveDto,
   canDeleteReimbursementRow,
   canEditReimbursementRow,
+  enrichReimbursementListRowsWithApprovalFlow,
   filterRowsByReimbursementType,
   FIN_REIMBURSEMENT_TYPE,
   mapFinReimbursementDetailRow,
@@ -21,6 +22,7 @@
   resolveReimbursementDeleteId,
   unwrapFinReimbursementDetail,
   unwrapFinReimbursementPage,
+  validateReimbursementApprovalNodes,
   validateReimbursementPersistDto,
 } from "../shared/finReimbursementMappers.js";
 import { consumeReimburseEditFromApprove } from "../shared/reimburseApproveBridge.js";
@@ -89,11 +91,19 @@
         })
       );
       const { records, total } = unwrapFinReimbursementPage(res);
-      allRows.value = filterRowsByReimbursementType(
+      const filtered = filterRowsByReimbursementType(
         records,
         FIN_REIMBURSEMENT_TYPE.TRAVEL
-      ).map(mapTravelReimbursementRow);
-      page.total = total;
+      );
+      let mapped = filtered.map(mapTravelReimbursementRow);
+      mapped = await enrichReimbursementListRowsWithApprovalFlow(
+        mapped,
+        FIN_REIMBURSEMENT_TYPE.TRAVEL
+      );
+      allRows.value = mapped;
+      const dropped = records.length - filtered.length;
+      page.total =
+        dropped > 0 ? Math.max(0, Number(total) - dropped) : Number(total);
     } catch {
       allRows.value = [];
       page.total = 0;
@@ -517,6 +527,11 @@
       proxy?.$modal?.msgWarning?.(check.message);
       return;
     }
+    const nodeCheck = validateReimbursementApprovalNodes(dto);
+    if (!nodeCheck.ok) {
+      proxy?.$modal?.msgWarning?.(nodeCheck.message);
+      return;
+    }
     submitSaving.value = true;
     try {
       await persistFinReimbursement(dto, isEdit);

--
Gitblit v1.9.3