From bfdfdfc77149b8a2f2a255f2adae0b6e943160f3 Mon Sep 17 00:00:00 2001 From: arteons Date: Wed, 23 Jul 2025 11:12:20 +0800 Subject: [PATCH] add status filter --- .../backoffice/purchaseorder/+page.svelte | 78 ++++++++++++++----- 1 file changed, 60 insertions(+), 18 deletions(-) diff --git a/src/routes/backoffice/purchaseorder/+page.svelte b/src/routes/backoffice/purchaseorder/+page.svelte index 0ce9828..0da73fa 100644 --- a/src/routes/backoffice/purchaseorder/+page.svelte +++ b/src/routes/backoffice/purchaseorder/+page.svelte @@ -237,7 +237,8 @@ let selectedVillaId: string | null = null; let searchTerm: string = ""; let showPreparedModal = false; - let selectedPO = null; + let selectedStatus: string | null = null; + let selectedPO: string | null = null; let preparedByOptions: any[] = []; let vendorOptions: any[] = []; let preparedForm = { @@ -301,6 +302,7 @@ } fetchPurchaseOrder( selectedVillaId, + selectedStatus, searchTerm, sortColumn, sortOrder, @@ -718,6 +720,7 @@ order: "asc" | "desc" = "desc", offset: number = 0, limit: number = 1000, + poStatus: string | null = null, ) { let query = supabase .from("vb_purchaseorder_data") @@ -736,6 +739,9 @@ `po_item.ilike.%${search}%` ); } + if (poStatus) { + query = query.eq("po_status", poStatus); + } const { data, error } = await query; @@ -1069,36 +1075,72 @@

- { - const searchTerm = ( - e.target as HTMLInputElement - ).value.toLowerCase(); - fetchPurchaseOrder(null, searchTerm, "created_at", "desc"); + searchTerm = (e.target as HTMLInputElement).value.toLowerCase(); + fetchPurchaseOrder( + selectedVillaId, + searchTerm, + sortColumn, + sortOrder, + 0, + 1000, + selectedStatus + ); }} - /> + /> + + + + + + + -
+ +