From b0e4469ae81adeae3d61abff021a69d060c245f1 Mon Sep 17 00:00:00 2001 From: Mamalizz Date: Thu, 27 Feb 2025 20:50:28 +0330 Subject: [PATCH] connected ticket table to api --- frontend/pages/profile/tickets/index.vue | 130 +++++++++++++++++------ 1 file changed, 98 insertions(+), 32 deletions(-) diff --git a/frontend/pages/profile/tickets/index.vue b/frontend/pages/profile/tickets/index.vue index 363050c..13d71a6 100644 --- a/frontend/pages/profile/tickets/index.vue +++ b/frontend/pages/profile/tickets/index.vue @@ -14,12 +14,14 @@ definePageMeta({ // state -const params = useUrlSearchParams(); +const params: GetAllTicketsFilters = useUrlSearchParams("history"); -const filters = ref({ - sort: undefined, - filter: undefined, - page: params.page ?? 1, +const filters = computed(() => { + return { + sort: params.sort ?? "created_at", + status: params.status ?? "", + page: params.page ?? 1, + }; }); const tableHeads = ref([ @@ -30,9 +32,39 @@ const tableHeads = ref([ "عملیات", ]); +const sortFilters = ref([ + { + title: "جدید ترین", + value: "created_at", + }, + { + title: "قدیمی ترین", + value: "-created_at", + }, +]); + +const statusFilters = ref([ + { + title: "پاسخ داده شده", + value: "resolved", + }, + { + title: "در حال پردازش", + value: "in_progress", + }, + { + title: "بسته شده", + value: "closed", + }, +]); + +// provide / inject + +provide("params", params); + // queries -const { data, isLoading: ticketsIsLoading } = useGetAllTickets(filters); +const { data, isPending: ticketsIsPending } = useGetAllTickets(filters); // computed @@ -40,10 +72,10 @@ const tickets = computed(() => { return data.value?.results.flat(); }); -const hasTickets = computed(() => tickets.value?.length > 0); +const hasTickets = computed(() => data.value?.count > 0); const paginationData = computed(() => { - return tickets!.value?.results.map((_, i: number) => { + return data.value?.results.map((_, i: number) => { return { type: "page", value: i }; }); }); @@ -56,33 +88,67 @@ const paginationData = computed(() => {
-
+
ترتیب بر اساس
-
- وضعیت پرداخت +
+ وضعیت
@@ -96,7 +162,7 @@ const paginationData = computed(() => {
{