From 879373209ee2f878c0d2f61c4e7fb88ba1978de0 Mon Sep 17 00:00:00 2001 From: carlossa Date: Tue, 28 Jan 2025 10:54:59 +0100 Subject: [PATCH] refactor: entriesTotals --- src/pages/Travel/Card/TravelSummary.vue | 60 ++++++++++++------------- 1 file changed, 29 insertions(+), 31 deletions(-) diff --git a/src/pages/Travel/Card/TravelSummary.vue b/src/pages/Travel/Card/TravelSummary.vue index 689711a74..9c5ce8e74 100644 --- a/src/pages/Travel/Card/TravelSummary.vue +++ b/src/pages/Travel/Card/TravelSummary.vue @@ -179,33 +179,31 @@ const entriesTableRows = computed(() => { return entries.value; }); -const entriesTotalHb = computed(() => - entriesTableRows.value.reduce((acc, { hb }) => acc + hb, 0) -); +const entriesTotals = computed(() => { + const totals = { + hb: 0, + freightValue: 0, + packageValue: 0, + cc: 0, + pallet: 0, + m3: 0, + }; -const entriesTotalFreight = computed(() => - toCurrency( - entriesTableRows.value.reduce((acc, { freightValue }) => acc + freightValue, 0) - ) -); + entriesTableRows.value.forEach((row) => { + for (const key in totals) { + totals[key] += row[key] || 0; + } + }); -const entriesTotalPackageValue = computed(() => - toCurrency( - entriesTableRows.value.reduce((acc, { packageValue }) => acc + packageValue, 0) - ) -); - -const entriesTotalCc = computed(() => - entriesTableRows.value.reduce((acc, { cc }) => acc + cc, 0) -); - -const entriesTotalPallet = computed(() => - entriesTableRows.value.reduce((acc, { pallet }) => acc + pallet, 0) -); - -const entriesTotalM3 = computed(() => - entriesTableRows.value.reduce((acc, { m3 }) => acc + m3, 0) -); + return { + hb: totals.hb.toFixed(2), + freight: toCurrency(totals.freightValue), + packageValue: toCurrency(totals.packageValue), + cc: totals.cc.toFixed(2), + pallet: totals.pallet.toFixed(2), + m3: totals.m3.toFixed(2), + }; +}); const getTravelEntries = async (id) => { const { data } = await axios.get(`Travels/${id}/getEntries`); @@ -368,12 +366,12 @@ const getLink = (param) => `#/travel/${entityId.value}/${param}`; - {{ entriesTotalHb }} - {{ entriesTotalFreight }} - {{ entriesTotalPackageValue }} - {{ entriesTotalCc }} - {{ entriesTotalPallet }} - {{ entriesTotalM3 }} + {{ entriesTotals.hb }} + {{ entriesTotals.freight }} + {{ entriesTotals.packageValue }} + {{ entriesTotals.cc }} + {{ entriesTotals.pallet }} + {{ entriesTotals.m3 }}