diff --git a/fe-admin/src/components/pe/PeWorkflowPanel.tsx b/fe-admin/src/components/pe/PeWorkflowPanel.tsx index fc401eb..c11e298 100644 --- a/fe-admin/src/components/pe/PeWorkflowPanel.tsx +++ b/fe-admin/src/components/pe/PeWorkflowPanel.tsx @@ -204,26 +204,23 @@ export function PeWorkflowPanel({
{next.map(p => { - // Phân loại button theo hành động: - // - Trả lại = về DangSoanThao/TraLai (từ phase trung gian) — red - // - Hủy/Từ chối = TuChoi (chỉ ở phase DangSoanThao đầu) — red - // - Duyệt = forward phase tiếp theo — brand + // Phân loại button theo hành động (3 màu khác nhau, in đậm): + // - Duyệt = forward phase tiếp theo — emerald (xanh lá positive) + // - Trả lại = về DangSoanThao/TraLai (từ phase trung gian) — amber (request changes) + // - Từ chối = TuChoi — red (terminal negative) const isSendBack = (p === PurchaseEvaluationPhase.DangSoanThao || p === PurchaseEvaluationPhase.TraLai) && evaluation.phase !== PurchaseEvaluationPhase.DangSoanThao && evaluation.phase !== PurchaseEvaluationPhase.TraLai const isCancel = p === PurchaseEvaluationPhase.TuChoi - const isDanger = isSendBack || isCancel - const isForwardApprove = !isDanger + const isForwardApprove = !isSendBack && !isCancel // Mig 24 — disable Duyệt forward nếu V2 pin + actor không trong cấp hiện tại const isDisabled = isForwardApprove && blockedByV2Level - const label = isSendBack - ? '← Trả lại (về Drafter sửa)' - : isCancel - ? '✗ Hủy / Từ chối' - : `✓ Duyệt → ${PurchaseEvaluationPhaseLabel[p]}` + const label = isSendBack ? '← Trả lại' : isCancel ? '✗ Từ chối' : '✓ Duyệt' const title = isDisabled && evaluation.currentApproval ? `Cấp ${evaluation.currentApproval.levelOrder} chỉ ${evaluation.currentApproval.approvers.map(a => a.fullName).join(' / ')} mới duyệt được.` - : undefined + : isForwardApprove + ? `Duyệt → ${PurchaseEvaluationPhaseLabel[p]}` + : undefined return (