From 4a088c1aab8ef78ce207f380ec8e20ab510e2e15 Mon Sep 17 00:00:00 2001 From: puriphatt Date: Wed, 29 Jan 2025 14:02:10 +0700 Subject: [PATCH] refactor: 02, 08 => screen.xs fetch scroll --- .../02_personnel-management/MainPage.vue | 599 +++++++++--------- src/pages/08_request-list/MainPage.vue | 41 +- src/stores/user/index.ts | 5 +- 3 files changed, 347 insertions(+), 298 deletions(-) diff --git a/src/pages/02_personnel-management/MainPage.vue b/src/pages/02_personnel-management/MainPage.vue index 66d90986..4d3f8553 100644 --- a/src/pages/02_personnel-management/MainPage.vue +++ b/src/pages/02_personnel-management/MainPage.vue @@ -639,7 +639,7 @@ async function fetchImageList(id: string, selectedName?: string) { } async function fetchUserList() { - await userStore.fetchList({ + const ret = await userStore.fetchList({ includeBranch: true, pageSize: pageSize.value, page: currentPage.value, @@ -652,6 +652,18 @@ async function fetchUserList() { ? 'ACTIVE' : 'INACTIVE', }); + + if (ret) { + if ($q.screen.xs) { + if (!userData.value) { + userData.value = ret; + } else { + userData.value?.result.push(...ret.result); + } + } else { + userData.value = ret; + } + } } function noPersonnel() { @@ -1066,64 +1078,79 @@ watch( -
- +
+ {{ props.row.code || '-' }} +
+
+ + + + + {{ props.row.telephoneNo || '-' }} + + + + {{ calculateAge(props.row.birthDate) || '-' }} + + + + {{ props.row.email || '-' }} + + + + + {{ mapRole(props.row.userRole) }} + + + + + + + + + + + + + +
- + -
@@ -1445,7 +1474,7 @@ watch( :fetch-data="async () => await fetchUserList()" />
-
+
diff --git a/src/pages/08_request-list/MainPage.vue b/src/pages/08_request-list/MainPage.vue index 9097c43d..7d37ac74 100644 --- a/src/pages/08_request-list/MainPage.vue +++ b/src/pages/08_request-list/MainPage.vue @@ -58,7 +58,8 @@ async function fetchList(opts?: { rotateFlowId?: boolean }) { }); if (ret) { - data.value = ret.result; + $q.screen.xs ? data.value.push(...ret.result) : (data.value = ret.result); + pageState.total = ret.total; pageMax.value = Math.ceil(ret.total / pageSize.value); } @@ -332,20 +333,40 @@ watch([() => pageState.inputSearch, () => pageState.statusFilter], () =>
- + + + +