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
+ );
}}
- />
+ />
+
+
+
+
+
+
+
-
+
+