diff --git a/fe-admin/src/components/pe/PeFinalizeChip.tsx b/fe-admin/src/components/pe/PeFinalizeChip.tsx index 9b4db25..8e43901 100644 --- a/fe-admin/src/components/pe/PeFinalizeChip.tsx +++ b/fe-admin/src/components/pe/PeFinalizeChip.tsx @@ -1,17 +1,34 @@ -// PE — chip "Quy trình kết thúc tại cấp này" (không trình CEO). Hiện khi quy -// trình của phiếu có cấp bật AllowApproverFinalize (Mig 58, anh Kiệt FDC S89). -// SINGLE SOURCE OF TRUTH cho pill này dùng ở MỌI danh sách phiếu (cây danh sách -// + picker workspace/chờ-duyệt + inbox) để mọi người NẮM ngay "phiếu này duyệt -// đến đây là xong, không lên CEO" mà KHÔNG cần mở phiếu. Shape khớp PeUrgentChips. +// PE — chip trạng thái cuối phiếu ở MỌI danh sách (cây danh sách + picker + inbox): +// [S89] "⚑ Kết thúc · X" khi quy trình có cấp AllowApproverFinalize (kết thúc, không lên CEO). +// [S97 anh Kiệt FDC] "✅ Đã được CEO duyệt" khi phiếu ĐÃ DUYỆT đi HẾT lên CEO (endsBeforeCeo=false). +// SINGLE SOURCE OF TRUTH — mọi người NẮM ngay trạng thái mà KHÔNG cần mở phiếu. + +import { PurchaseEvaluationPhase } from '@/types/purchaseEvaluation' export function PeFinalizeChip({ endsBeforeCeo, finalizeStepName, + phase, }: { endsBeforeCeo: boolean finalizeStepName: string | null + // PeListItem.phase là number (mirror BE) → prop nhận number, so khớp literal DaDuyet. + phase?: number }) { - if (!endsBeforeCeo) return null + // [S97 anh Kiệt FDC] Phiếu đã duyệt KHÔNG kết thúc sớm = đi hết lên CEO/Ban Giám đốc. + if (!endsBeforeCeo) { + if (phase === PurchaseEvaluationPhase.DaDuyet) { + return ( + + ✅ Đã được CEO duyệt + + ) + } + return null + } return (
- + {p.tenGoiThau}
diff --git a/fe-admin/src/pages/pe/PurchaseEvaluationsListPage.tsx b/fe-admin/src/pages/pe/PurchaseEvaluationsListPage.tsx index 694ddd2..c0599ba 100644 --- a/fe-admin/src/pages/pe/PurchaseEvaluationsListPage.tsx +++ b/fe-admin/src/pages/pe/PurchaseEvaluationsListPage.tsx @@ -489,7 +489,7 @@ export function PurchaseEvaluationsListPage() {
{/* S77 — cờ gấp PILL đồng bộ mọi danh sách: 🔴 GẤP (PRO) / 🟢 GẤP (CCM). */} - + {p.tenGoiThau}
+ ✅ Đã được CEO duyệt + + ) + } + return null + } return (
- + {p.tenGoiThau}
diff --git a/fe-user/src/pages/InboxPage.tsx b/fe-user/src/pages/InboxPage.tsx index 3337a07..6d747db 100644 --- a/fe-user/src/pages/InboxPage.tsx +++ b/fe-user/src/pages/InboxPage.tsx @@ -289,7 +289,7 @@ export function InboxPage() {
- + {p.tenGoiThau}
diff --git a/fe-user/src/pages/UserDashboardPage.tsx b/fe-user/src/pages/UserDashboardPage.tsx index 9cb3c0b..8b72838 100644 --- a/fe-user/src/pages/UserDashboardPage.tsx +++ b/fe-user/src/pages/UserDashboardPage.tsx @@ -283,7 +283,7 @@ export function UserDashboardPage() { {p.tenGoiThau} - + {/* S77 — cờ gấp PILL đồng bộ mọi danh sách: 🔴 GẤP (PRO) / 🟢 GẤP (CCM). */} - + {p.tenGoiThau}