+ {!readOnly && (
+
+ File Excel/PDF tổng hợp so sánh giá của tất cả NCC (không gắn với 1 NCC cụ thể).
+
+ )}
+ {attachments.length === 0 && readOnly && (
+
Chưa có bảng so sánh.
+ )}
+ {attachments.length > 0 && (
+
+ {attachments.map(a => (
+
+
+
+
{fmtSize(a.fileSize)}
+
+ {PeAttachmentPurposeLabel[a.purpose] ?? 'Khác'}
+
+
+ {new Date(a.createdAt).toLocaleDateString('vi-VN')}
+
+ {!readOnly && (
+
+ )}
+
+ ))}
+
+ )}
+ {!readOnly && (
+
+
+
+
+ )}
+
+ )
+}
diff --git a/fe-admin/src/types/purchaseEvaluation.ts b/fe-admin/src/types/purchaseEvaluation.ts
index 0db568b..76a5980 100644
--- a/fe-admin/src/types/purchaseEvaluation.ts
+++ b/fe-admin/src/types/purchaseEvaluation.ts
@@ -121,6 +121,7 @@ export const PeAttachmentPurpose = {
QuoteDocument: 1,
RequirementSpec: 2,
DecisionExport: 3,
+ ComparisonTable: 4,
Other: 99,
} as const
@@ -128,6 +129,7 @@ export const PeAttachmentPurposeLabel: Record