Merged in new-onepercent (pull request #66)

fix auto tawarruq thousand seperator
This commit is contained in:
Muhd hafifie
2024-01-04 01:21:42 +00:00
+61 -13
View File
@@ -293,7 +293,7 @@
<b>BAYARAN PELANGGAN (RM)</b>
</div>
<div class="col-8">
<input type="text" id="perludibayarAT" style="font-weight:bold;" class="form-control" onselectstart="return false;" onkeyup="bayaranATfunc(this)" onkeypress="return validateFloatKeyPress(this,event);" onchange="blockbayaranAT(this)" readonly/>
<input type="text" id="perludibayarAT" style="font-weight:bold;" class="form-control" onselectstart="return false;" onpaste="return false;" ondrop="return false;" onkeyup="bayaranATfunc(this)" onkeypress="return validateFloatKeyPressAT(this,event);" onchange="blockbayaranAT(this)" readonly/>
</div>
</div>
<div class="form-group row" id="divbayaran">
@@ -301,7 +301,7 @@
<b>BAYARAN PELANGGAN (RM)</b>
</div>
<div class="col-8">
<input type="text" id="bayaran" onkeyup="bayartambahan(this)" placeholder="0.00" class="form-control" disabled/>
<input type="text" id="bayaran" onkeyup="bayartambahan(this)" onkeypress="return validateFloatKeyPressAnsuran(this,event);" placeholder="0.00" class="form-control" disabled/>
</div>
</div>
<fieldset class="scheduler-border">
@@ -2627,7 +2627,7 @@
var nowakil = nw;
var perludibayar = parseFloat($('#perludibayarAT').val().replace(/[^0-9.-]+/g,""));
var bayaranpelanggan = parseFloat($('#duitPelanggan').val());
var bakipelanggan = parseFloat($('#bakiPelanggan').val());
var bakipelanggan = parseFloat($('#bakiPelanggan').val().replace(/[^0-9.-]+/g,""));
var kadarupahbaru = 0;
// if(nilai_marhun > 0 && nilai_marhun < 400.99){
@@ -3458,10 +3458,48 @@ function funcexcuse(toggle){
return false;
}
function validateFloatKeyPress(el, evt) {
function validateFloatKeyPressAnsuran(el, evt) {
var charCode = (evt.which) ? evt.which : event.keyCode;
var number = el.value;
let keypress = evt.key;
// Split the current value by dot to check the number of decimal places
var numberParts = number.split('.');
// Check if the pressed key is a valid character for a floating-point number
if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57)) {
return false;
}
// Check if there is already a dot, and the pressed key is another dot
if (numberParts.length > 1 && charCode == 46) {
return false;
}
// Get the caret position in the input field
var caratPos = getSelectionStart(el);
// Get the position of the existing dot
var dotPos = el.value.indexOf(".");
// Check if the caret is after the existing dot, and there are more than 2 digits after the dot
if (caratPos > dotPos && dotPos > -1 && (numberParts[1] && numberParts[1].length > 1)) {
return false;
}
// If the last digit is not 5 or 0, disallow the input
if (numberParts[1] && numberParts[1].length === 1 && !['0', '5'].includes(keypress)) {
return false;
}
return true;
}
function validateFloatKeyPressAT(el, evt) {
let hargamarhun = parseFloat("{{ $nilaihargasemasa }}");
let tenpercent = hargamarhun * (10/100);
let pembiayaan = parseFloat($('#pinjamanbaru').val().replace(/[^0-9.-]+/g,""));
let pembiayaan = parseFloat($('#hargapembiayaansemasa').val().replace(/[^0-9.-]+/g,""));
let bakiupah = parseFloat($('#jumlahupah').val().replace(/[^0-9.-]+/g,""));
var charCode = (evt.which) ? evt.which : event.keyCode;
var number = el.value;
let pembiayaanbaru = 0;
@@ -3470,7 +3508,7 @@ function validateFloatKeyPress(el, evt) {
if(!isNaN(keypress)){
tot = number.toString() + keypress.toString();
tot = number.toString().replace(/[^0-9.-]+/g,"") + keypress.toString();
}
var number = el.value.split('.');
@@ -3482,9 +3520,11 @@ function validateFloatKeyPress(el, evt) {
return false;
}
let ansuranbaru = parseFloat(tot) - parseFloat(bakiupah);
//total pembiayaan baru
pembiayaanbaru = pembiayaan - parseFloat(tot);
pembiayaanbaru = pembiayaan - ansuranbaru;
//get the carat position
var caratPos = getSelectionStart(el);
var dotPos = el.value.indexOf(".");
@@ -3492,7 +3532,8 @@ function validateFloatKeyPress(el, evt) {
return false;
}
if(pembiayaanbaru <= tenpercent){
if(parseFloat(pembiayaanbaru) <= tenpercent){
Swal.fire('Amaran!','Pembiayaan baru < 10%','error');
return false;
}
@@ -3515,7 +3556,7 @@ function getSelectionStart(o) {
function bayaranATfunc(e){
let byr = $(e).val();
let byr = $(e).val().replace(/[^0-9.-]+/g,"");
let total = 0;
let pdbyr = 0;
let pembiayaanbaru = 0;
@@ -3547,8 +3588,15 @@ function bayaranATfunc(e){
pembiayaanbaru = pembiayaan - kumpul;
totalpercent = (pembiayaanbaru / hargamarhun) * 100;
$('#pinjamanbaru').val(formatter.format(pembiayaanbaru));
$('#basic-addon2').text(formatter.format(totalpercent.toFixed(2)));
if(kumpul > 0){
$('#pinjamanbaru').val(formatter.format(pembiayaanbaru));
$('#basic-addon2').text(formatter.format(totalpercent.toFixed(2)));
}else{
$('#pinjamanbaru').val(formatter.format(pembiayaan));
totalpercent = (pembiayaan / hargamarhun) * 100;
$('#basic-addon2').text(formatter.format(totalpercent.toFixed(2)));
}
//bakipelanggan
// let totalbaki = byr - baki;
@@ -3560,7 +3608,7 @@ function bayaranATfunc(e){
}
function blockbayaranAT(event){
let value = $(event).val();
let value = $(event).val().replace(/[^0-9.-]+/g,"");
let upah = parseFloat($('#jumlahupah').val());
let pembiayaan = parseFloat("{{ $pembiayaanbaru }}");
let pembiayaanlama = parseFloat("{{ $bakipjm }}");