From 7dbbfc0c2eac7000bf208ce068e887b4db14ea5f Mon Sep 17 00:00:00 2001 From: MikunoNaka Date: Mon, 26 Apr 2021 19:46:35 +0530 Subject: Minor styling + fixed the calculation of discount and taxes and added new calculations --- src/components/Display/SummaryDisplay.js | 59 ++++++++++++++++++++++++-------- 1 file changed, 45 insertions(+), 14 deletions(-) (limited to 'src/components/Display/SummaryDisplay.js') diff --git a/src/components/Display/SummaryDisplay.js b/src/components/Display/SummaryDisplay.js index 97c24b5..d823713 100644 --- a/src/components/Display/SummaryDisplay.js +++ b/src/components/Display/SummaryDisplay.js @@ -25,22 +25,24 @@ const getFullSummary = (items) => { for (let i = 0; i < items.length; i++) { const itemTotalPrice = items[i].TotalPrice; - const itemDiscount = items[i].Discount; + const itemDiscount = (items[i].Discount / 100) * itemTotalPrice; totalRawPrice += itemTotalPrice; - totalDiscount += (itemDiscount / 100) * itemTotalPrice; - totalTax += (items[i].GST / 100) * itemTotalPrice; + totalDiscount += itemDiscount; + totalTax += (items[i].GST / 100) * (itemTotalPrice - itemDiscount); } - // TODO: add support for calculating gst from TotalPriceAfterDiscount - + const totalPriceAfterTax = (totalRawPrice - totalDiscount) + totalTax; + const totalRoundedOff = Math.abs(totalPriceAfterTax - Math.round(totalPriceAfterTax)); return ( { - "TotalRawPrice": totalRawPrice, - "TotalDiscountPrice": totalDiscount, - "TotalPriceAfterDiscount": totalRawPrice - totalDiscount, - "TotalTaxAmount": totalTax, - "TotalPrice": (totalRawPrice - totalDiscount) + totalTax, + "TotalRawPrice": totalRawPrice.toFixed(2), + "TotalDiscountPrice": totalDiscount.toFixed(2), + "TotalPriceAfterDiscount": (totalRawPrice - totalDiscount).toFixed(2), + "TotalTaxAmount": totalTax.toFixed(2), + "TotalPriceAfterTax": totalPriceAfterTax.toFixed(2), + "RoundedOff": totalRoundedOff.toFixed(2), + "TotalPrice": Math.round(totalPriceAfterTax) } ); } @@ -67,10 +69,39 @@ const SummaryDisplay = (props) => { return (
-

Total raw: {summary.TotalRawPrice}

-

Total after discount: {summary.TotalRawPrice} - {summary.TotalDiscountPrice} = {summary.TotalPriceAfterDiscount}

-

Total tax: {summary.TotalTaxAmount}

-

Total: {summary.TotalPriceAfterDiscount} + {summary.TotalTaxAmount} = {summary.TotalPrice}

+

Summary

+ + + + + + + {true &&// summary.TotalDiscountPrice !== 0 && + + + + + + } + + + + + + + + {true && //summary.RoundedOff !== 0 && + + + + + } + + + + + +
Base Total{summary.TotalRawPrice}
After Discount{summary.TotalPriceAfterDiscount}(-{summary.TotalDiscountPrice})
After Tax{summary.TotalPriceAfterTax}(+{summary.TotalTaxAmount})
Rounded Off{summary.RoundedOff}
Grand Total{summary.TotalPrice}
); } -- cgit v1.2.3