From 24a491288a7c347480abf1b2b864cb9e54fc8d82 Mon Sep 17 00:00:00 2001 From: puriphatt Date: Thu, 13 Jun 2024 11:07:04 +0000 Subject: [PATCH] feat: employee gender filter --- src/pages/03_customer-management/MainPage.vue | 49 +++++++++++++++---- src/stores/employee/index.ts | 26 ++++++++++ 2 files changed, 66 insertions(+), 9 deletions(-) diff --git a/src/pages/03_customer-management/MainPage.vue b/src/pages/03_customer-management/MainPage.vue index ae84d5b0..837adea0 100644 --- a/src/pages/03_customer-management/MainPage.vue +++ b/src/pages/03_customer-management/MainPage.vue @@ -123,6 +123,7 @@ const infoDrawerEmployee = ref(false); const infoDrawerEmployeeEdit = ref(false); const infoEmployeePersonCard = ref(); const statsEmployee = ref(0); +const statsEmployeeGender = ref<{ male: number; female: number }>(); const formDataEmployeeOwner = ref<{ id: string; address: string; @@ -689,8 +690,8 @@ async function fetchListCustomer() { } } -async function fetchListEmployee() { - const resultListEmployee = await employeeStore.fetchList(); +async function fetchListEmployee(param?: { gender: string }) { + const resultListEmployee = await employeeStore.fetchList(param); if (resultListEmployee) { currentPageEmployee.value = resultListEmployee.page; maxPageEmployee.value = Math.ceil( @@ -1029,6 +1030,11 @@ onMounted(async () => { const resultStatsEmployee = await employeeStore.getStatsEmployee(); if (resultStatsEmployee) statsEmployee.value = resultStatsEmployee; + const resultStatsEmployeeGender = + await employeeStore.getStatsEmployeeGender(); + if (resultStatsEmployeeGender) + statsEmployeeGender.value = resultStatsEmployeeGender; + const resultListEmployee = await employeeStore.fetchList({ page: 1, pageSize: pageSizeEmployee.value, @@ -1121,6 +1127,10 @@ watch( formDataEmployee.value.customerBranchId = formDataEmployeeOwner.value.id; }, ); + +watch(genderselector, async (gender) => { + await fetchListEmployee({ gender: gender }); +});