From 74f0764ae8254c6f6386f451555dfab689b65868 Mon Sep 17 00:00:00 2001 From: puriphatt Date: Mon, 3 Feb 2025 17:05:04 +0700 Subject: [PATCH] refactor: 07, 13 => remove console logs, improve infinite scroll handling, and enhance TableReceipt component --- src/pages/07_agencies-management/MainPage.vue | 1 - src/pages/13_receipt/MainPage.vue | 172 ++++++++++-------- src/pages/13_receipt/TableReceipt.vue | 8 +- 3 files changed, 103 insertions(+), 78 deletions(-) diff --git a/src/pages/07_agencies-management/MainPage.vue b/src/pages/07_agencies-management/MainPage.vue index de42c851..748353a8 100644 --- a/src/pages/07_agencies-management/MainPage.vue +++ b/src/pages/07_agencies-management/MainPage.vue @@ -460,7 +460,6 @@ watch( @load=" (_, done) => { if ($q.screen.gt.xs || page === pageMax) return; - console.log('load'); page = page + 1; fetchData().then(() => done(page >= pageMax)); } diff --git a/src/pages/13_receipt/MainPage.vue b/src/pages/13_receipt/MainPage.vue index 742a1394..8dede01c 100644 --- a/src/pages/13_receipt/MainPage.vue +++ b/src/pages/13_receipt/MainPage.vue @@ -15,10 +15,8 @@ import QuotationCard from 'src/components/05_quotation/QuotationCard.vue'; import { useNavigator } from 'src/stores/navigator'; import { columns, hslaColors } from './constants'; import useFlowStore from 'src/stores/flow'; -import { useRequestList } from 'src/stores/request-list'; import { usePayment, useReceipt } from 'src/stores/payment'; -import { Receipt, PaymentDataStatus } from 'src/stores/payment/types'; -import { Quotation } from 'src/stores/quotations'; +import { PaymentDataStatus } from 'src/stores/payment/types'; import { QSelect, useQuasar } from 'quasar'; const $q = useQuasar(); @@ -53,7 +51,7 @@ async function fetchList(opts?: { rotateFlowId?: boolean }) { query: pageState.inputSearch, }); if (ret) { - data.value = ret.result; + data.value = $q.screen.xs ? [...data.value, ...ret.result] : ret.result; pageState.total = ret.total; pageMax.value = Math.ceil(ret.total / pageSize.value); } @@ -89,7 +87,6 @@ onMounted(async () => { navigatorStore.current.title = 'receipt.title'; navigatorStore.current.path = [{ text: 'receipt.caption', i18n: true }]; - await fetchList({ rotateFlowId: true }); }); @@ -98,9 +95,12 @@ watch( () => pageState.inputSearch, () => pageState.statusFilter, () => pageSize.value, - () => page.value, ], - () => fetchList({ rotateFlowId: true }), + () => { + page.value = 1; + data.value = []; + fetchList({ rotateFlowId: true }); + }, );