From 20ec16c3d19482f0be1e37d8fa6eb901025b4845 Mon Sep 17 00:00:00 2001 From: florianfederspiel Date: Thu, 13 Feb 2025 17:44:29 +0100 Subject: [PATCH] Added Adblue Calculation --- pages/createDocument/edit/[[id]].vue | 30 +++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/pages/createDocument/edit/[[id]].vue b/pages/createDocument/edit/[[id]].vue index 785a52b..6b587c3 100644 --- a/pages/createDocument/edit/[[id]].vue +++ b/pages/createDocument/edit/[[id]].vue @@ -589,13 +589,18 @@ const documentTotal = computed(() => { const processDieselPosition = () => { let agricultureData = { dieselUsageTotal: 0, - dieselPriceTotal: 0 + dieselPriceTotal: 0, + adblueUsageTotal: 0, + adbluePriceTotal: 0 } itemInfo.value.rows.forEach(row => { if(row.agriculture && row.agriculture.dieselUsage) { agricultureData.dieselUsageTotal += Number(row.agriculture.dieselUsage) - agricultureData.dieselPriceTotal += Number(row.agriculture.dieselPrice) * Number(row.agriculture.dieselUsage) + agricultureData.dieselPriceTotal += Number(row.agriculture.dieselPrice || 0) * Number(row.agriculture.dieselUsage) + + agricultureData.adblueUsageTotal += Number(row.agriculture.dieselUsage * 0.04) + agricultureData.adbluePriceTotal += Number(row.agriculture.dieselPrice || 0) * Number(row.agriculture.dieselUsage * 0.04) } }) @@ -610,10 +615,18 @@ const processDieselPosition = () => { text: `${agricultureData.dieselUsageTotal} L Diesel`, } + let existingAdblueIndex = itemInfo.value.rows.findIndex(i => i.key === "adbluePos") + + itemInfo.value.rows[existingAdblueIndex] = { + ...itemInfo.value.rows[existingAdblueIndex], + price: agricultureData.adbluePriceTotal, + text: `${agricultureData.adblueUsageTotal} L Diesel`, + } + } else { itemInfo.value.rows.push({ mode: "free", - text: `${agricultureData.dieselUsageTotal} L Diesel`, + text: `${(agricultureData.dieselUsageTotal).toFixed(2).replace(".",",")} L Diesel`, quantity: 1, unit: 10, price: agricultureData.dieselPriceTotal, @@ -622,6 +635,17 @@ const processDieselPosition = () => { key: "dieselPos" }) + itemInfo.value.rows.push({ + mode: "free", + text: `${(agricultureData.adblueUsageTotal).toFixed(2).replace(".",",")} L AdBlue`, + quantity: 1, + unit: 10, + price: agricultureData.adbluePriceTotal, + taxPercent: 19, + discountPercent: 0, + key: "adbluePos" + }) + setPosNumbers() } }