Add cent validation and corrections
This commit is contained in:
@@ -39,7 +39,7 @@
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="form" >
|
||||
<div class="form">
|
||||
<div style="overflow-x: auto;">
|
||||
<table class="table align-items-left" id="selepas_tawarruq" style="width: 100%;">
|
||||
<thead class="thead-light">
|
||||
@@ -48,55 +48,55 @@
|
||||
<i class="text-danger" style="font-size:12px;">Amaun Semasa -> Amaun Keuntungan Semasa Sahaja.</i><br>
|
||||
<i class="text-danger" style="font-size:12px;">Amaun Lain -> Amaun Ansuran Pembiayaan & Amaun Keuntungan Semasa, Sila Masukkan Amaun</i>
|
||||
</div> -->
|
||||
<tr style="text-align: center;">
|
||||
<!-- <th width="10%">No</th> -->
|
||||
<th width="10%">No <br>Rujukan</th>
|
||||
<th width="10%">Tarikh Akhir</th>
|
||||
<th width="10%">Bayaran</th>
|
||||
<th width="10%">Baki <br>Pembiayaan</th>
|
||||
<!-- <th width="10%">Pembiayaan Asal</th>
|
||||
<tr style="text-align: center;">
|
||||
<!-- <th width="10%">No</th> -->
|
||||
<th width="10%">No <br>Rujukan</th>
|
||||
<th width="10%">Tarikh Akhir</th>
|
||||
<th width="10%">Bayaran</th>
|
||||
<th width="10%">Baki <br>Pembiayaan</th>
|
||||
<!-- <th width="10%">Pembiayaan Asal</th>
|
||||
<th width="10%">Tempoh</th> -->
|
||||
|
||||
</tr>
|
||||
</tr>
|
||||
</thead>
|
||||
@php $counter = 1;$jenisbayaran = 'tawarruq'; $totalupahasal = 1; $errorcount = 0; @endphp
|
||||
@foreach($arraybayar as $index=>$bayar)
|
||||
@if($bayar['hargajualan'] != '')
|
||||
@foreach($arraybayar as $index=>$bayar)
|
||||
@if($bayar['hargajualan'] != '')
|
||||
<tbody class="list" style="text-align: center;">
|
||||
<tr>
|
||||
<!-- <td>
|
||||
<tr>
|
||||
<!-- <td>
|
||||
{{ $counter }}
|
||||
</td> -->
|
||||
<td>
|
||||
{{ $bayar['norujukan'] }}
|
||||
</td>
|
||||
@php
|
||||
<td>
|
||||
{{ $bayar['norujukan'] }}
|
||||
</td>
|
||||
@php
|
||||
|
||||
$t_matang = strtotime($bayar['t_matang']);
|
||||
$t_akhir = date("d/m/Y", $t_matang);
|
||||
$t_matang = strtotime($bayar['t_matang']);
|
||||
$t_akhir = date("d/m/Y", $t_matang);
|
||||
|
||||
if($bayar['lelong_tawarruq'] == 0)
|
||||
{
|
||||
$t_matang = strtotime($bayar['t_matang1']);
|
||||
$t_akhir = date("d/m/Y", $t_matang);
|
||||
}
|
||||
@endphp
|
||||
<td>
|
||||
{{ $t_akhir }}
|
||||
</td>
|
||||
@php
|
||||
$upahtawarruq = $bayar['upah_tawarruq'];
|
||||
$upahtawarruq = floatval(str_replace(',','',$upahtawarruq));
|
||||
if($bayar['lelong_tawarruq'] == 0)
|
||||
{
|
||||
$t_matang = strtotime($bayar['t_matang1']);
|
||||
$t_akhir = date("d/m/Y", $t_matang);
|
||||
}
|
||||
@endphp
|
||||
<td>
|
||||
{{ $t_akhir }}
|
||||
</td>
|
||||
@php
|
||||
$upahtawarruq = $bayar['upah_tawarruq'];
|
||||
$upahtawarruq = floatval(str_replace(',','',$upahtawarruq));
|
||||
|
||||
$totalupahasal = $totalupahasal + $upahtawarruq;
|
||||
$totalupahasal = $totalupahasal + $upahtawarruq;
|
||||
|
||||
|
||||
if(floatval($upahtawarruq) == 0){
|
||||
$errorcount++;
|
||||
}
|
||||
|
||||
@endphp
|
||||
<!-- <td>
|
||||
|
||||
if(floatval($upahtawarruq) == 0){
|
||||
$errorcount++;
|
||||
}
|
||||
|
||||
@endphp
|
||||
<!-- <td>
|
||||
|
||||
<select name="sltbayaran" value="{{ old('sltbayaran') ? old('sltbayaran') : '' }}" class="form-control mb-2" data-upah="{{ $upahtawarruq }}" data-jenis="tawarruq" style="text-align: center; border: revert;">
|
||||
<option selected disabled></option>
|
||||
@@ -110,52 +110,52 @@
|
||||
<input type="hidden" name="txtnorujukanhidden[]" value="{{ $bayar['norujukan'] }}" style="text-align: center;" />
|
||||
<input type="hidden" name="txtkodcawhidden[]" value="{{ $bayar['kodcaw'] }}" style="text-align: center;" />
|
||||
</td>-->
|
||||
<td><input name="txtbayarantawarruq" type="number" step="0.01" value="{{ sprintf('%0.2f', $upahtawarruq) }}" class="form-control" style="text-align: center; border: outset;" data-bakipjm="{{ $bayar['bakipjm'] }}" data-upah="{{ $upahtawarruq }}" data-nm="{{ $bayar['nilaimarhun'] }}" data-taglel="{{ $bayar['taglel'] }}">
|
||||
<input type="hidden" name="txtbayaranhidden[]" value="{{ $upahtawarruq }}" class="bayaran" style="text-align: center;" />
|
||||
<input type="hidden" name="txtjenisbayaran[]" value="{{ $jenisbayaran }}" style="text-align: center;" />
|
||||
<input type="hidden" name="txtnorujukanhidden[]" value="{{ $bayar['norujukan'] }}" style="text-align: center;" />
|
||||
<input type="hidden" name="txtkodcawhidden[]" value="{{ $bayar['kodcaw'] }}" style="text-align: center;" />
|
||||
</td>
|
||||
<td><input name="txtbayarantawarruq" type="number" step="0.01" value="{{ sprintf('%0.2f', $upahtawarruq) }}" class="form-control" style="text-align: center; border: outset;" data-bakipjm="{{ $bayar['bakipjm'] }}" data-upah="{{ $upahtawarruq }}" data-nm="{{ $bayar['nilaimarhun'] }}" data-taglel="{{ $bayar['taglel'] }}">
|
||||
<input type="hidden" name="txtbayaranhidden[]" value="{{ $upahtawarruq }}" class="bayaran" style="text-align: center;" />
|
||||
<input type="hidden" name="txtjenisbayaran[]" value="{{ $jenisbayaran }}" style="text-align: center;" />
|
||||
<input type="hidden" name="txtnorujukanhidden[]" value="{{ $bayar['norujukan'] }}" style="text-align: center;" />
|
||||
<input type="hidden" name="txtkodcawhidden[]" value="{{ $bayar['kodcaw'] }}" style="text-align: center;" />
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<input style="border: none; text-align: center;" type="text" value="{{ number_format($bayar['bakipjm'],2) }}" class="bakibaru" readonly>
|
||||
</td>
|
||||
<td>
|
||||
<input style="border: none; text-align: center;" type="text" value="{{ number_format($bayar['bakipjm'],2) }}" class="bakibaru" readonly>
|
||||
</td>
|
||||
|
||||
<!-- <td>
|
||||
<!-- <td>
|
||||
{{ number_format($bayar['pinjaman'],2) }}
|
||||
</td>
|
||||
<td>
|
||||
{{ $bayar['tempoh'] }}
|
||||
</td> -->
|
||||
|
||||
</tr>
|
||||
</tr>
|
||||
</tbody>
|
||||
@php $counter++; @endphp
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
@endforeach
|
||||
</table>
|
||||
<hr>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="row pb-4 font-weight-light">
|
||||
<div class="col-6">
|
||||
<label style="text-transform: uppercase; text-align: center;"><strong>Fi Pengurusan</strong></label>
|
||||
</div>
|
||||
|
||||
<div class="col-6">
|
||||
<span class="text-primary"><strong>RM<span>1.00</span></strong></span>
|
||||
</div>
|
||||
<div class="row pb-4 font-weight-light">
|
||||
<div class="col-6">
|
||||
<label style="text-transform: uppercase; text-align: center;"><strong>Fi Pengurusan</strong></label>
|
||||
</div>
|
||||
<div class="row pb-4 font-weight-light">
|
||||
<div class="col-6">
|
||||
<label style="text-transform: uppercase; text-align: center;"><strong>Jumlah Keseluruhan</strong></label>
|
||||
</div>
|
||||
|
||||
<div class="col-6">
|
||||
<span class="text-primary"><strong>RM<span id="spanjumlah">{{ number_format($totalupahasal,2) }}</span></strong></span>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<span class="text-primary"><strong>RM<span>1.00</span></strong></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row pb-4 font-weight-light">
|
||||
<div class="col-6">
|
||||
<label style="text-transform: uppercase; text-align: center;"><strong>Jumlah Keseluruhan</strong></label>
|
||||
</div>
|
||||
|
||||
<div class="col-6">
|
||||
<span class="text-primary"><strong>RM<span id="spanjumlah">{{ number_format($totalupahasal,2) }}</span></strong></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<span class="text-danger d-none" id="spanamarankosong">*Jangan biarkan kotak bayaran ditinggalkan kosong, Sila masukkan amaun!</span>
|
||||
</div>
|
||||
@@ -174,9 +174,9 @@
|
||||
<a href="{{ route('home') }}" type="button" class="btn btn-danger">Batal</a>
|
||||
<!-- <button type="submit" id="bayarsbmt" class="btn btn-primary" disabled onclick="loadingbtn();">Bayar</button> -->
|
||||
@if($totalupahasal == 1.00 || $errorcount > 0)
|
||||
<button type="submit" id="bayarsbmt" class="btn btn-primary" disabled onclick="loadingbtn();">Bayar</button>
|
||||
<button type="submit" id="bayarsbmt" class="btn btn-primary" disabled onclick="loadingbtn();">Bayar</button>
|
||||
@else
|
||||
<button type="submit" id="bayarsbmt" class="btn btn-primary" onclick="loadingbtn();">Bayar</button>
|
||||
<button type="submit" id="bayarsbmt" class="btn btn-primary" onclick="loadingbtn();">Bayar</button>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
@@ -185,22 +185,21 @@
|
||||
</div>
|
||||
|
||||
<script>
|
||||
|
||||
$(document).ready(function() {
|
||||
$(window).keydown(function(event){
|
||||
if(event.keyCode == 13) {
|
||||
event.preventDefault();
|
||||
return false;
|
||||
}
|
||||
});
|
||||
$(window).keydown(function(event) {
|
||||
if (event.keyCode == 13) {
|
||||
event.preventDefault();
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
$('#selepas_tawarruq > tbody > tr').each(function() {
|
||||
$(this).find("td:gt(0)").each(function(){
|
||||
// console.log($(this).html());
|
||||
console.log($("input[name=txtbayarantawarruq]").val());
|
||||
});
|
||||
});
|
||||
$('#selepas_tawarruq > tbody > tr').each(function() {
|
||||
$(this).find("td:gt(0)").each(function() {
|
||||
// console.log($(this).html());
|
||||
console.log($("input[name=txtbayarantawarruq]").val());
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
const formatter = new Intl.NumberFormat('en-US', {
|
||||
@@ -304,7 +303,7 @@
|
||||
|
||||
|
||||
$("input[name=txtbayarantawarruq]").change(function(e) {
|
||||
// $("input[name=txtbayarantawarruq]").click(function(e) {
|
||||
// $("input[name=txtbayarantawarruq]").click(function(e) {
|
||||
|
||||
let upah = $(this).data('upah');
|
||||
let bakipinjam = $(this).data('bakipjm');
|
||||
@@ -319,22 +318,22 @@
|
||||
let upahasal = Number($(this).data('upah'));
|
||||
let inputvalue = Number(this.value);
|
||||
|
||||
// if (inputvalue > upahasal) {
|
||||
// if (inputvalue > upahasal) {
|
||||
|
||||
inputvalue = (inputvalue * 100) / 10;
|
||||
inputvalue = Math.round(inputvalue);
|
||||
inputvalue = inputvalue / 10;
|
||||
inputvalue = (inputvalue * 100) / 10;
|
||||
inputvalue = Math.round(inputvalue);
|
||||
inputvalue = inputvalue / 10;
|
||||
|
||||
var lebihbyr = inputvalue.toFixed(2) - upahasal.toFixed(2);
|
||||
let bakipinjambaru = parseFloat(bakipinjam - lebihbyr);
|
||||
var lebihbyr = inputvalue.toFixed(2) - upahasal.toFixed(2);
|
||||
let bakipinjambaru = parseFloat(bakipinjam - lebihbyr);
|
||||
|
||||
bakipinjambaru = (bakipinjambaru * 100) / 10;
|
||||
bakipinjambaru = Math.round(bakipinjambaru);
|
||||
bakipinjambaru = bakipinjambaru / 10;
|
||||
bakipinjambaru = (bakipinjambaru * 100) / 10;
|
||||
bakipinjambaru = Math.round(bakipinjambaru);
|
||||
bakipinjambaru = bakipinjambaru / 10;
|
||||
|
||||
$(this).closest('tr').find('.bakibaru').val(formatter.format(bakipinjambaru.toFixed(2)));
|
||||
$(this).closest('tr').find('.bayaran').val(inputvalue.toFixed(2));
|
||||
// }
|
||||
$(this).closest('tr').find('.bakibaru').val(formatter.format(bakipinjambaru.toFixed(2)));
|
||||
$(this).closest('tr').find('.bayaran').val(inputvalue.toFixed(2));
|
||||
// }
|
||||
|
||||
if (bayar > parseFloat(errorlebih)) {
|
||||
$("#bayarsbmt").prop('disabled', false);
|
||||
@@ -354,8 +353,7 @@
|
||||
$(this).closest('tr').find('.bakibaru').val(formatter.format(bakipinjambaru.toFixed(2)));
|
||||
calculateall(jenis, taglel);
|
||||
return false;
|
||||
}else if(bayar < parseFloat(upah) && parseFloat(upah) !== 0.00)
|
||||
{
|
||||
} else if (bayar < parseFloat(upah) && parseFloat(upah) !== 0.00) {
|
||||
$("#bayarsbmt").prop('disabled', false);
|
||||
Swal.fire(
|
||||
'Amaran!',
|
||||
@@ -368,8 +366,7 @@
|
||||
$(this).closest('tr').find('.bakibaru').val(formatter.format(bakipinjambaru.toFixed(2)));
|
||||
calculateall(jenis, taglel);
|
||||
return false;
|
||||
}else if(bayar == 0.00 && parseFloat(upah) == 0.00)
|
||||
{
|
||||
} else if (bayar == 0.00 && parseFloat(upah) == 0.00) {
|
||||
$("#bayarsbmt").prop('disabled', false);
|
||||
Swal.fire(
|
||||
'Amaran!',
|
||||
@@ -411,7 +408,7 @@
|
||||
bayaranselepas = Math.round(bayaranselepas);
|
||||
bayaranselepas = bayaranselepas / 10;
|
||||
|
||||
$('#spantransaksi' + (index+1)).text(formatter.format(bayaranselepas));
|
||||
$('#spantransaksi' + (index + 1)).text(formatter.format(bayaranselepas));
|
||||
|
||||
sumtawarruq += parseFloat(bayaranselepas) || 0;
|
||||
|
||||
@@ -452,27 +449,8 @@
|
||||
</script>
|
||||
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
var input = document.getElementById('txtbayarantawarruq');
|
||||
var timer;
|
||||
|
||||
input.addEventListener('input', function() {
|
||||
clearTimeout(timer);
|
||||
timer = setTimeout(function() {
|
||||
var value = parseFloat(input.value);
|
||||
if (!isNaN(value)) {
|
||||
input.value = value.toFixed(2);
|
||||
}
|
||||
}, 500); // 500ms delay
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
var inputs = document.querySelectorAll('input[name="txtbayarantawarruq"]');
|
||||
|
||||
Array.from(inputs).forEach(function(input) {
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
var input = document.getElementById('txtbayarantawarruq');
|
||||
var timer;
|
||||
|
||||
input.addEventListener('input', function() {
|
||||
@@ -480,15 +458,50 @@ document.addEventListener('DOMContentLoaded', function() {
|
||||
timer = setTimeout(function() {
|
||||
var value = parseFloat(input.value);
|
||||
if (!isNaN(value)) {
|
||||
roundedValue = (value * 100) / 10;
|
||||
roundedValue = Math.round(roundedValue);
|
||||
roundedValue = roundedValue / 10;
|
||||
input.value = roundedValue.toFixed(2);
|
||||
input.value = value.toFixed(2);
|
||||
}
|
||||
}, 1500); // 1500ms delay
|
||||
}, 500); // 500ms delay
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
var inputs = document.querySelectorAll('input[name="txtbayarantawarruq"]');
|
||||
|
||||
Array.from(inputs).forEach(function(input) {
|
||||
var timer;
|
||||
|
||||
input.addEventListener('input', function() {
|
||||
|
||||
const stringHasPoint = input.value.indexOf('.') !== -1;
|
||||
const stringHasMoreThanTwoDecimal = input.value.split('.')[1].length > 2;
|
||||
const lastDecimalIsNotZeroOrFive = input.value.split('.')[1].slice(-1) !== '0' && input.value.split('.')[1].slice(-1) !== '5';
|
||||
const stringHasTwoDecimalNumber = input.value.split('.')[1].length === 2;
|
||||
|
||||
if (stringHasPoint && stringHasMoreThanTwoDecimal) {
|
||||
input.value = input.value.split('.')[0] + '.' + input.value.split('.')[1].substring(0, 2);
|
||||
}
|
||||
|
||||
if (stringHasTwoDecimalNumber && lastDecimalIsNotZeroOrFive) {
|
||||
alert('Nilai untuk sen terakhir adalah 0 dan 5 sahaja');
|
||||
input.value = input.value.split('.')[0] + '.' + input.value.split('.')[1].substring(0, 1) + '0';
|
||||
}
|
||||
|
||||
clearTimeout(timer);
|
||||
timer = setTimeout(function() {
|
||||
|
||||
var value = parseFloat(input.value);
|
||||
if (!isNaN(value)) {
|
||||
roundedValue = (value * 100) / 10;
|
||||
roundedValue = Math.round(roundedValue);
|
||||
roundedValue = roundedValue / 10;
|
||||
input.value = roundedValue.toFixed(2);
|
||||
}
|
||||
}, 1500); // 1500ms delay
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
@endsection
|
||||
|
||||
Reference in New Issue
Block a user