From aa908f0c3dd9131d14b5491c5b711b9c32527ca9 Mon Sep 17 00:00:00 2001 From: net Date: Thu, 18 Sep 2025 16:41:41 +0700 Subject: [PATCH] fix: show summary price --- src/pages/05_quotation/QuotationForm.vue | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/src/pages/05_quotation/QuotationForm.vue b/src/pages/05_quotation/QuotationForm.vue index 1846848a..7b293524 100644 --- a/src/pages/05_quotation/QuotationForm.vue +++ b/src/pages/05_quotation/QuotationForm.vue @@ -196,7 +196,7 @@ function getPrice( ) { if (filterHook) list = list.filter(filterHook); - return list.reduce( + const value = list.reduce( (a, c) => { if ( selectedInstallmentNo.value.length > 0 && @@ -236,6 +236,8 @@ function getPrice( finalPrice: 0, }, ); + + return value; } const summaryPrice = computed(() => getPrice(productServiceList.value)); @@ -1143,7 +1145,19 @@ watch(customerBranchOption, () => { // } function storeDataLocal() { - quotationFormData.value.productServiceList = productService.value; + const tempProductService = productService.value.map((v) => { + return { + ...v, + vat: v.product[agentPrice ? 'agentPriceCalcVat' : 'calcVat'] + ? precisionRound( + ((v.pricePerUnit * (1 + (config?.value.vat || 0.07)) * v.amount - + v.discount) / + (1 + (config?.value.vat || 0.07))) * + 0.07, + ) + : 0, + }; + }); localStorage.setItem( 'quotation-preview', @@ -1152,7 +1166,7 @@ function storeDataLocal() { codeInvoice: code.value, codePayment: firstCodePayment.value, ...quotationFormData.value, - productServiceList: productService.value, + productServiceList: tempProductService, }, meta: { source: {