From 822452e52b9301074f13c8e62ccffe3425224282 Mon Sep 17 00:00:00 2001 From: R-Sourabh Date: Fri, 10 Jan 2025 16:51:45 +0530 Subject: [PATCH] Improved: added pagination on fetching data manager logs on the adjust inventory history page(#304) --- src/views/AdjustInventoryHistory.vue | 26 ++++++++++++++++-------- src/views/ScheduledIncomingInventory.vue | 6 +++--- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/src/views/AdjustInventoryHistory.vue b/src/views/AdjustInventoryHistory.vue index cffff55..8c14da0 100644 --- a/src/views/AdjustInventoryHistory.vue +++ b/src/views/AdjustInventoryHistory.vue @@ -181,19 +181,27 @@ export default defineComponent ({ }, "fieldList": ["statusId", "logId", "createdDate", "startDateTime", "finishDateTime", "logFileContentId", "errorRecordContentId", "contentName", "dataResourceId"], "noConditionFind": "Y", - "viewSize": 250, + "viewSize": 200, "entityName": "DataManagerLogAndContent", } + let fetchedLogs = [], viewIndex = 0, resp; + try { - const resp = await UtilService.fetchDataManagerLogs(payload); - if(resp.data.docs?.length > 0 && !hasError(resp)) { - this.dataManagerLogList = resp.data.docs; - this.filteredDataManagerLogList = [...this.dataManagerLogList]; - } else { - throw resp.data; - } - } catch(err) { + do { + const currentPayload = { ...payload, viewIndex }; + resp = await UtilService.fetchDataManagerLogs(currentPayload); + if(!hasError(resp) && resp.data.docs?.length > 0) { + fetchedLogs = fetchedLogs.concat(resp.data.docs) + viewIndex++ + } else { + throw resp.data + } + } while(resp.data.docs?.length >= 200) + // After fetching all logs, update the state + this.dataManagerLogList = fetchedLogs; + this.filteredDataManagerLogList = [...this.dataManagerLogList]; + } catch (err) { logger.error(err); } }, diff --git a/src/views/ScheduledIncomingInventory.vue b/src/views/ScheduledIncomingInventory.vue index 93cdfe0..77a0234 100644 --- a/src/views/ScheduledIncomingInventory.vue +++ b/src/views/ScheduledIncomingInventory.vue @@ -137,10 +137,10 @@ export default defineComponent({ }, async ionViewDidEnter() { await this.store.dispatch('stock/fetchJobs') - this.updateJobsByStatus(); + this.filterJobsByStatus(); }, methods: { - updateJobsByStatus() { + filterJobsByStatus() { this.pendingJobs = this.jobs.filter(job => job.statusId === "SERVICE_PENDING"); this.finishedJobs = this.jobs.filter(job => job.statusId === "SERVICE_FINISHED"); }, @@ -201,7 +201,7 @@ export default defineComponent({ if(!hasError(resp) && resp.data.successMessage) { await this.store.dispatch('stock/fetchJobs') showToast(translate('Service updated successfully')) - this.updateJobsByStatus(); + this.filterJobsByStatus(); } else { throw resp.data }