@@ -191,6 +243,16 @@ function InfoTab({ ev, readOnly = false }: { ev: PeDetailBundle; readOnly?: bool
)
}
+// Form row: label cố định 176px (w-44) bên trái + value bên phải (giống spec).
+function FormRow({ label, value }: { label: string; value: React.ReactNode }) {
+ return (
+
+
{label}
+ {value}
+
+ )
+}
+
function CreateContractDialog({ evaluation, onClose }: { evaluation: PeDetailBundle; onClose: () => void }) {
const navigate = useNavigate()
const [form, setForm] = useState({
@@ -253,15 +315,6 @@ function CreateContractDialog({ evaluation, onClose }: { evaluation: PeDetailBun
)
}
-function Field({ label, value }: { label: string; value: React.ReactNode }) {
- return (
-
-
{label}
- {value}
-
- )
-}
-
// ===== Tab: NCC =====
function SuppliersTab({ ev, readOnly = false }: { ev: PeDetailBundle; readOnly?: boolean }) {
const qc = useQueryClient()
diff --git a/fe-user/src/components/pe/PeDetailTabs.tsx b/fe-user/src/components/pe/PeDetailTabs.tsx
index 9277017..aac435d 100644
--- a/fe-user/src/components/pe/PeDetailTabs.tsx
+++ b/fe-user/src/components/pe/PeDetailTabs.tsx
@@ -95,22 +95,19 @@ export function PeDetailTabs({