From 6250f39c52905579f873034c0dc04dfc3ada0287 Mon Sep 17 00:00:00 2001 From: pqhuy1987 Date: Tue, 28 Jul 2026 09:32:33 +0700 Subject: [PATCH] [CLAUDE] PurchaseEvaluation: hien ly do o Dia diem trong khi du an chua co Location UAT anh Kiet FDC 07-28 "cho nay lay dia chi len luon giup anh". Do lai: co-che auto-fill Dia diem tu Project.Location DA WIRE tu S59 va van chay dung (BE ProjectFeatures.cs:51 project Location -> FE types master.ts:97 -> onChange SearchableSelect). O trong vi DU AN THIEU DU LIEU: prod 57/62 du an co Location NULL, gom ca BVN01 trong anh chup. Chi 5 du an co dia chi (CAL01, MIDEA01, SAM01, TLB01, ZOTE01) - dung 5 dong co dia chi trong Excel S55. => Khong sua co-che (khong hong). Them dong canh bao amber khi da chon du an ma du an do khong co Location: noi thang ly do + tro cho bo sung (Danh muc Du an -> Dia diem), thay vi de o trong im lang trong nhu he thong hong. 4 file, SHA256 mirror fe-user/fe-admin giu IDENTICAL. npm build 2/2 PASS. Backfill 57 dia chi con lai = can du lieu tu anh/FDC. Co-Authored-By: Claude Fable 5 --- fe-admin/src/components/pe/PeHeaderForm.tsx | 7 +++++++ fe-admin/src/components/pe/PeWorkspaceCreateView.tsx | 9 +++++++++ fe-user/src/components/pe/PeHeaderForm.tsx | 7 +++++++ fe-user/src/components/pe/PeWorkspaceCreateView.tsx | 9 +++++++++ 4 files changed, 32 insertions(+) diff --git a/fe-admin/src/components/pe/PeHeaderForm.tsx b/fe-admin/src/components/pe/PeHeaderForm.tsx index 9be42fb..2e839a6 100644 --- a/fe-admin/src/components/pe/PeHeaderForm.tsx +++ b/fe-admin/src/components/pe/PeHeaderForm.tsx @@ -237,6 +237,13 @@ export function PeHeaderForm({ onChange={e => setForm({ ...form, diaDiem: e.target.value })} placeholder="Lô K, KCN Lộc An - Bình Sơn..." /> + {/* [S157 UAT anh Kiệt] mirror CreateView — lộ lý do ô trống khi dự án chưa có Location trong Danh mục. */} + {!!form.projectId && !form.diaDiem + && !projects.data?.find(p => p.id === form.projectId)?.location && ( +

+ ⚠ Dự án này chưa có Địa điểm trong Danh mục Dự án — nhập tay ở đây, hoặc bổ sung vào Danh mục (Dự án → Địa điểm) để các phiếu sau tự điền. +

+ )}
diff --git a/fe-admin/src/components/pe/PeWorkspaceCreateView.tsx b/fe-admin/src/components/pe/PeWorkspaceCreateView.tsx index 48e3d0f..0cfe23b 100644 --- a/fe-admin/src/components/pe/PeWorkspaceCreateView.tsx +++ b/fe-admin/src/components/pe/PeWorkspaceCreateView.tsx @@ -243,6 +243,15 @@ export function PeWorkspaceCreateView({ onChange={e => setForm({ ...form, diaDiem: e.target.value })} placeholder="Lô K, KCN Lộc An..." /> + {/* [S157 UAT anh Kiệt 07-28 "lấy địa chỉ lên luôn"] auto-fill S59 vẫn chạy — + ô trống là do dự án CHƯA có Location trong Danh mục (đo prod: 57/62 thiếu). + Nói thẳng lý do + chỗ bổ sung, thay vì im lặng như hệ thống hỏng. */} + {!!form.projectId && !form.diaDiem + && !projects.data?.find(p => p.id === form.projectId)?.location && ( +

+ ⚠ Dự án này chưa có Địa điểm trong Danh mục Dự án — nhập tay ở đây, hoặc bổ sung vào Danh mục (Dự án → Địa điểm) để các phiếu sau tự điền. +

+ )}
diff --git a/fe-user/src/components/pe/PeHeaderForm.tsx b/fe-user/src/components/pe/PeHeaderForm.tsx index 9be42fb..2e839a6 100644 --- a/fe-user/src/components/pe/PeHeaderForm.tsx +++ b/fe-user/src/components/pe/PeHeaderForm.tsx @@ -237,6 +237,13 @@ export function PeHeaderForm({ onChange={e => setForm({ ...form, diaDiem: e.target.value })} placeholder="Lô K, KCN Lộc An - Bình Sơn..." /> + {/* [S157 UAT anh Kiệt] mirror CreateView — lộ lý do ô trống khi dự án chưa có Location trong Danh mục. */} + {!!form.projectId && !form.diaDiem + && !projects.data?.find(p => p.id === form.projectId)?.location && ( +

+ ⚠ Dự án này chưa có Địa điểm trong Danh mục Dự án — nhập tay ở đây, hoặc bổ sung vào Danh mục (Dự án → Địa điểm) để các phiếu sau tự điền. +

+ )}
diff --git a/fe-user/src/components/pe/PeWorkspaceCreateView.tsx b/fe-user/src/components/pe/PeWorkspaceCreateView.tsx index 48e3d0f..0cfe23b 100644 --- a/fe-user/src/components/pe/PeWorkspaceCreateView.tsx +++ b/fe-user/src/components/pe/PeWorkspaceCreateView.tsx @@ -243,6 +243,15 @@ export function PeWorkspaceCreateView({ onChange={e => setForm({ ...form, diaDiem: e.target.value })} placeholder="Lô K, KCN Lộc An..." /> + {/* [S157 UAT anh Kiệt 07-28 "lấy địa chỉ lên luôn"] auto-fill S59 vẫn chạy — + ô trống là do dự án CHƯA có Location trong Danh mục (đo prod: 57/62 thiếu). + Nói thẳng lý do + chỗ bổ sung, thay vì im lặng như hệ thống hỏng. */} + {!!form.projectId && !form.diaDiem + && !projects.data?.find(p => p.id === form.projectId)?.location && ( +

+ ⚠ Dự án này chưa có Địa điểm trong Danh mục Dự án — nhập tay ở đây, hoặc bổ sung vào Danh mục (Dự án → Địa điểm) để các phiếu sau tự điền. +

+ )}