diff --git a/fe-user/src/pages/pe/WorkflowMatrixViewPage.tsx b/fe-user/src/pages/pe/WorkflowMatrixViewPage.tsx
index 4eb0338..261856b 100644
--- a/fe-user/src/pages/pe/WorkflowMatrixViewPage.tsx
+++ b/fe-user/src/pages/pe/WorkflowMatrixViewPage.tsx
@@ -8,7 +8,8 @@
// rowSpan cho Bước (Step) + Cấp (Level order). Color coding 2 layer:
// - Step bg + headerBg cycle 5 màu (blue/purple/emerald/amber/pink)
// - Cấp badge ring cycle 5 màu (violet/sky/teal/orange/rose)
-// Mỗi cell Quyền duyệt = 7 checkbox read-only label nguyên văn admin Designer.
+// Mỗi cell Quyền duyệt = 8 checkbox read-only label nguyên văn admin Designer
+// (7 cũ Mig 29/30/31 + flag thứ 8 "Duyệt là KẾT THÚC" Mig 58 — S89).
//
// URL: /purchase-evaluations/workflow-matrix?type=1|2
// Mirror layout admin `fe-admin/src/pages/system/ApprovalWorkflowsV2Page.tsx`
@@ -277,6 +278,8 @@ function WorkflowCard({ wf }: { wf: AwDefinitionDto }) {
+ {/* [Mig 58 — anh Kiệt FDC, S89] Flag thứ 8: cấp này Duyệt = KẾT THÚC (không trình CEO) — trước đây matrix thiếu nên "chưa hiển thị chính xác". */}
+
diff --git a/fe-user/src/types/approvalWorkflowV2.ts b/fe-user/src/types/approvalWorkflowV2.ts
index 4d137c8..0d0e153 100644
--- a/fe-user/src/types/approvalWorkflowV2.ts
+++ b/fe-user/src/types/approvalWorkflowV2.ts
@@ -2,7 +2,7 @@
// ApprovalWorkflowV2AdminFeatures.cs). Chỉ subset cần cho fe-user read-only
// matrix view (Plan AA Chunk B S24).
//
-// 7 Allow* flag per slot Level — Mig 29/30/31 cumulative.
+// 8 Allow* flag per slot Level — Mig 29/30/31 + Mig 58 (allowApproverFinalize).
export type AwLevelDto = {
id: string
@@ -18,6 +18,8 @@ export type AwLevelDto = {
allowApproverEditDetails: boolean
allowApproverEditBudget: boolean
allowApproverSkipToFinal: boolean
+ // [Mig 58 — anh Kiệt FDC, S89] Flag thứ 8: cấp này Duyệt = KẾT THÚC quy trình (không trình tiếp CEO).
+ allowApproverFinalize: boolean
}
export type AwStepDto = {