From 18a533de346524d1853b48800ceecdb855fe6f0e Mon Sep 17 00:00:00 2001 From: Thanaphon Frappet Date: Thu, 28 Nov 2024 16:03:34 +0700 Subject: [PATCH] feat: add all status display filter --- src/pages/08_request-list/MainPage.vue | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/pages/08_request-list/MainPage.vue b/src/pages/08_request-list/MainPage.vue index 6e8d0758..c2d5b9ae 100644 --- a/src/pages/08_request-list/MainPage.vue +++ b/src/pages/08_request-list/MainPage.vue @@ -25,7 +25,7 @@ const { data, stats, page, pageMax, pageSize } = storeToRefs(requestListStore); // NOTE: Variable const pageState = reactive({ hideStat: false, - statusFilter: RequestDataStatus.Pending, + statusFilter: 'None' as 'None' | RequestDataStatus.Pending, inputSearch: '', fieldSelected: [...column.map((v) => v.name)], gridView: false, @@ -45,7 +45,8 @@ async function fetchList(opts?: { rotateFlowId?: boolean }) { query: pageState.inputSearch, page: page.value, pageSize: pageSize.value, - requestDataStatus: pageState.statusFilter, + requestDataStatus: + pageState.statusFilter === 'None' ? undefined : pageState.statusFilter, }); if (ret) { @@ -95,7 +96,7 @@ watch([() => pageState.inputSearch, () => pageState.statusFilter], () => color: hsl(var(--info-bg)); " > - {{ 0 }} + {{ Object.values(stats).reduce((a, c) => a + c, 0) }} pageState.inputSearch, () => pageState.statusFilter], () => label: 'requestList.status.InProgress', color: 'blue', }, - { icon: 'mdi-check-decagram-outline', count: stats[RequestDataStatus.Completed], @@ -184,6 +184,10 @@ watch([() => pageState.inputSearch, () => pageState.statusFilter], () => :for="'field-select-status'" :hide-dropdown-icon="$q.screen.lt.sm" :options="[ + { + label: $t('general.all'), + value: 'None', + }, { label: $t('requestList.status.Pending'), value: RequestDataStatus.Pending,