From 02dd47cfca606661dbe2482c874dced71ea2da83 Mon Sep 17 00:00:00 2001 From: "afiq.hamzah" Date: Mon, 22 May 2023 13:49:32 +0800 Subject: [PATCH] Fix payment balance calculation --- .../includes/bayaran/pembayaransag.blade.php | 76 +++++++++++++------ 1 file changed, 54 insertions(+), 22 deletions(-) diff --git a/resources/views/includes/bayaran/pembayaransag.blade.php b/resources/views/includes/bayaran/pembayaransag.blade.php index dc55820..8017e83 100644 --- a/resources/views/includes/bayaran/pembayaransag.blade.php +++ b/resources/views/includes/bayaran/pembayaransag.blade.php @@ -53,10 +53,10 @@ No
Rujukan Tarikh Akhir Bayaran - Baki
Pembiayaan - - + @php $counter = 1;$jenisbayaran = 'tawarruq'; $totalupahasal = 1; @endphp @@ -81,9 +81,9 @@ $t_akhir = date("d/m/Y", $t_matang); } @endphp - + {{ $t_akhir }} - + @php $upahtawarruq = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/upahtawarruq/'. $bayar['kodcaw'] . '/' . $bayar['norujukan'])->json(); $totalupahasal = $totalupahasal + $upahtawarruq; @@ -101,25 +101,25 @@ - --> - + --> + - + - + - + @php $counter++; @endphp @@ -128,7 +128,7 @@
- +
@@ -153,11 +153,11 @@
- - + +
-
-
+
+
@@ -184,7 +184,7 @@ var test = document.getElementById('selepas_tawarruq'); console.log(test); - + $('#selepas_tawarruq > tbody > tr').each(function() { $(this).find("td:gt(0)").each(function(){ // console.log($(this).html()); @@ -292,20 +292,50 @@ }); + function cleanPaymentInput(paymentValue){ + let removeAllCommaFromPaymentValue = (paymentValue) => { + return paymentValue.replaceAll(',', ''); + } + + let removeAllDotExceptForLastFromPaymentValue = (paymentValue) => { + let lastIndexOfDot = paymentValue.lastIndexOf('.'); + let first_portion_value = paymentValue.slice(0, lastIndexOfDot); + let second_portion_value = paymentValue.slice(lastIndexOfDot); + + first_portion_value = first_portion_value.replaceAll('.', ''); + + paymentValue = String(first_portion_value) + String(second_portion_value); + + return paymentValue; + } + + let cleanedPaymentValue = removeAllCommaFromPaymentValue(paymentValue); + + cleanedPaymentValue = removeAllDotExceptForLastFromPaymentValue(cleanedPaymentValue); + + return cleanedPaymentValue; + + } + $("input[name=txtbayarantawarruq]").change(function(e) { // $("input[name=txtbayarantawarruq]").click(function(e) { - + let upah = parseFloat($(this).data('upah').replace(",","")); let bakipinjam = $(this).data('bakipjm'); let jenis = $(this).data('jenis'); let nm = $(this).data('nm'); - let taglel = $(this).data('taglel'); - let bayar = Number(this.value); + let taglel = $(this).data('taglel'); + + let bayar = cleanPaymentInput(this.value) + bayar = Number(bayar); + + $("input[name=txtbayarantawarruq]").val(bayar.toFixed(2)) + let errorlebih = (bakipinjam - (nm * 0.1) + upah); - + let upahasal = Number($(this).data('upah')); let inputvalue = Number(this.value); - + // if (inputvalue > upahasal) { var lebihbyr = inputvalue.toFixed(2) - upahasal.toFixed(2); let bakipinjambaru = parseFloat(bakipinjam - lebihbyr.toFixed(2)); @@ -322,6 +352,8 @@ ) $(this).val(errorlebih.toFixed(2)); $(this).closest('tr').find('.bayaran').val(errorlebih.toFixed(2)); + let bakipinjambaru = parseFloat(bakipinjam - errorlebih.toFixed(2)); + $(this).closest('tr').find('.bakibaru').val(bakipinjambaru.toFixed(2)); calculateall(jenis, taglel); return false; }else if(bayar < parseFloat(upah) && parseFloat(upah) !== 0.00)