diff --git a/src/app/dashboard/financial/purchase-orders/page.tsx b/src/app/dashboard/financial/purchase-orders/page.tsx index aa989ec..9b604b5 100644 --- a/src/app/dashboard/financial/purchase-orders/page.tsx +++ b/src/app/dashboard/financial/purchase-orders/page.tsx @@ -9,7 +9,7 @@ export default async function PurchasingPage() { const pb = await pbAdmin(); const [pos, items, dns, sites, receivedAll] = await Promise.all([ - pb.collection("purchase_orders").getFullList({ expand: "site" }), + pb.collection("purchase_orders").getFullList({ expand: "site,supplier_ref" }), pb.collection("purchase_order_items").getFullList(), // Only used here to compute each PO's own delivery-note count and // pending-DN badge. The needs-review queue itself (the DN triage @@ -98,11 +98,16 @@ export default async function PurchasingPage() { p.expand as { site?: { name?: string; project_code?: string } } | undefined )?.site; const projectCode = site?.project_code ?? ""; + const supplierRef = ( + p.expand as { supplier_ref?: { name?: string } } | undefined + )?.supplier_ref; return { id: p.id, poNumber: p.purchase_order_number, supplier: p.supplier, + supplierRefId: p.supplier_ref ?? null, + supplierRefName: supplierRef?.name ?? null, projectCode, projectName: site?.name ?? projectCode, requiredByDate: p.required_by_date, diff --git a/src/app/dashboard/financial/purchase-orders/purchasing-view.tsx b/src/app/dashboard/financial/purchase-orders/purchasing-view.tsx index 199f591..ba56d32 100644 --- a/src/app/dashboard/financial/purchase-orders/purchasing-view.tsx +++ b/src/app/dashboard/financial/purchase-orders/purchasing-view.tsx @@ -26,7 +26,7 @@ import { SelectValue, } from "@/components/ui/select"; import { Pagination } from "@/components/ui/pagination"; -import { cn, formatCurrency, formatNumber, isUnknownSupplier } from "@/lib/utils"; +import { cn, formatCurrency, formatNumber } from "@/lib/utils"; const PAGE_SIZE = 25; const PO_BASE = "/dashboard/financial/purchase-orders"; @@ -37,6 +37,10 @@ export interface PoRow { projectCode: string; projectName: string; supplier: string; + /** Resolved supplier record id, if a match was made at upload or later. */ + supplierRefId: string | null; + /** Display name of the linked supplier (mirrors supplierRefId's record). */ + supplierRefName: string | null; requiredByDate: string; orderedBy: string; totalValue: number; @@ -323,7 +327,7 @@ function PoListItem({ po }: { po: PoRow }) {