[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 <noreply@anthropic.com>
This commit is contained in:
pqhuy1987
2026-07-28 09:32:33 +07:00
parent 877236f266
commit 6250f39c52
4 changed files with 32 additions and 0 deletions

View File

@ -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 && (
<p className="mt-1 text-[11px] text-amber-700">
Dự án này chưa Đ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.
</p>
)}
</div>
<div>

View File

@ -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 && (
<p className="mt-1 text-[11px] text-amber-700">
Dự án này chưa Đ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.
</p>
)}
</div>
<div>
<Label className="text-[11px]"> tả ngắn</Label>

View File

@ -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 && (
<p className="mt-1 text-[11px] text-amber-700">
Dự án này chưa Đ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.
</p>
)}
</div>
<div>

View File

@ -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 && (
<p className="mt-1 text-[11px] text-amber-700">
Dự án này chưa Đ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.
</p>
)}
</div>
<div>
<Label className="text-[11px]"> tả ngắn</Label>