fix auto tawarruq > 80 layout

This commit is contained in:
Hafifie PKB
2023-11-29 14:10:58 +08:00
parent 30f718e7d4
commit c3d9fbe526
4 changed files with 330 additions and 31 deletions
+206 -31
View File
@@ -73,7 +73,7 @@
<option value="P">P = Tambah Pembiayaan</option>
@else
{{-- @if($gadai['tagbaru'] == 0) --}}
<option value="AT">A = Auto Tawarruq</option>
<option value="AT">AT = Auto Tawarruq</option>
@endif
</select>
</div>
@@ -245,6 +245,14 @@
</div>
<div class="col-6">
<div class="form-group row" id="divperludibayarAT">
<div class="col-4">
<b>PERLU DIBAYAR(RM)</b>
</div>
<div class="col-8">
<input type="text" id="perludibayarAT" class="form-control" onkeyup="bayaranATfunc(this)" onkeypress="return validateFloatKeyPress(this,event);" onchange="blockbayaranAT(this)" readonly/>
</div>
</div>
<div class="form-group row" id="divbayaran">
<div class="col-4">
<b>BAYARAN PELANGGAN(RM)</b>
@@ -253,6 +261,14 @@
<input type="text" id="bayaran" onkeyup="bayartambahan(this)" placeholder="0.00" class="form-control" disabled/>
</div>
</div>
<div class="form-group row" id="divbayaranAT">
<div class="col-4">
<span>DUIT PELANGGAN(RM)</span>
</div>
<div class="col-8">
<input type="text" id="bayaranAT" onkeyup="bayartambahan(this)" placeholder="0.00" class="form-control" disabled/>
</div>
</div>
<div class="form-group row" id="divtambahpinjaman">
<div class="col-4">
TAMBAH PEMBIAYAAN(RM)
@@ -272,6 +288,14 @@
<input type="text" id="perludibayartawarruq" class="form-control" readonly/>
</div>
</div>
<div class="form-group row" id="divbaki">
<div class="col-4">
<b>BAKI (RM)</b>
</div>
<div class="col-8">
<input type="text" id="baki" class="form-control" value="0.00" readonly/>
</div>
</div>
<div class="form-group row" id="divbayaranminima">
<div class="col-4">
BAYARAN MINIMA
@@ -312,7 +336,7 @@
<div class="form-group row">
<div class="col-4">
<b>PEMBIAYAAN BARU(RM)</b>
<span>PEMBIAYAAN BARU(RM)</span>
</div>
@php
if($gadai['bakipjm'] != 0){
@@ -321,38 +345,43 @@
$bakipjm = $gadai['pinjaman'];
}
$percent_hargaemassemasa = ($bakipjm / $nilaihargasemasa) * 100;
$percentage = 80 / 100;
$pembiayaanbaru = $nilaihargasemasa * (80/100);
$rounded_value = round($nilaihargasemasa * $percentage, 1, PHP_ROUND_HALF_UP);
$rounded_value = (($rounded_value-$pembiayaanbaru) > 0) ? $rounded_value - 0.1 : $rounded_value;
$pembiayaanbaru = min($pembiayaanbaru, $rounded_value);
$bayaranlebihan = $bakipjm - $pembiayaanbaru;
$pembiayaanbaru = ($percent_hargaemassemasa > 80) ? $pembiayaanbaru : $bakipjm;
@endphp
<div class="col-8 input-group mb-3">
<input type="text" id="pinjamanbaru" value="{{ number_format($bakipjm ,2) }}" class="form-control" aria-describedby="basic-addon2" readonly/>
<input type="text" id="pinjamanbaru" value="{{ number_format($pembiayaanbaru ,2) }}" class="form-control" aria-describedby="basic-addon2" readonly/>
<div class="input-group-append">
<span class="input-group-text" id="basic-addon2">{{ number_format($percent_hargaemassemasa,2) }}</span>
</div>
<span class="input-group-text" id="basic-addon2">{{ number_format($percent_hargaemassemasa,2) }}</span>
@if($percent_hargaemassemasa > 80)
<span class="input-group-text" id="basic-addon3">{{ number_format($percent_hargaemassemasa,2) }}</span>
@endif
</div>
</div>
</div>
</div>
@if($percent_hargaemassemasa > 80)
<div class="col-6 divlebihanmargin">
<div class="form-group row">
@if($percent_hargaemassemasa > 80)
<div class="form-group row divlebihanmargin">
<div class="col-4">
<b>BAYARAN LEBIHAN MARGIN</b>
<span>BAYARAN LEBIHAN MARGIN</span>
</div>
@php
$pembiayaanbaru = $nilaihargasemasa * (80/100);
$bayaranlebihan = $bakipjm - $pembiayaanbaru;
@endphp
<div class="col-8 input-group mb-3">
<input type="text" value="{{ number_format($bayaranlebihan,2)}}" class="form-control" aria-describedby="txtlebihanmargin" readonly/>
<input type="text" id="txtlebihanmargin" value="{{ number_format($bayaranlebihan,2)}}" class="form-control" aria-describedby="txtlebihanmargin" readonly/>
<div class="input-group-append">
<span class="input-group-text" id="txtlebihanmargin">{{ round($percent_hargaemassemasa - 80,2) }}</span>
</div>
</div>
</div>
@endif
</div>
<div class="col-6 justify-content-end divlebihanmargin">
<button type="button" class="btn btn-primary" onclick="funcexcuse()">Excuse</button>
</div>
@endif
<div class="col-6 mx-auto" id="divjenisAT">
<span class="text-warning h2">Harga Lama</span>
@@ -370,9 +399,22 @@
</div>
<div class="col-12">
<input type="button" class="float-right btn btn-danger mr-2" value="BATAL" onclick="pembatalanbalik();">
<input type="button" id="terima_transaksi" class="float-right btn btn-primary mr-2" value="TERIMA" onclick="bayaransemua()">
<div class="col-12 d-flex justify-content-between">
@if($percent_hargaemassemasa > 80)
<div class="col-6 divlebihanmargin">
<button type="button" class="btn btn-primary" onclick="funcexcuse()">EXCUSE</button>
</div>
<div class="col-1" id="divdummy">
</div>
@else
<div class="col-6">
</div>
@endif
<div class="justify-content-end">
<input type="button" class="float-right btn btn-danger mr-2" value="BATAL" onclick="pembatalanbalik();">
<input type="button" id="terima_transaksi" class="float-right btn btn-primary mr-2" value="TERIMA" onclick="bayaransemua()">
</div>
</div>
</div>
</form>
@@ -412,9 +454,12 @@
$('#divperludibayartawarruq').hide();
$('#divbayarantawarruq').hide();
$('#divbayaran').hide();
$('#divbayaranAT').hide();
$("#divbayaranminima").hide();
$('.divlebihanmargin').hide();
$('#divjenisAT').hide();
$('#divperludibayarAT').hide();
$('#divbaki').hide();
var array_recno = [];
@@ -792,7 +837,11 @@
$("#divbayaranminima").hide();
$('.divlebihanmargin').hide();
$('#divjenisAT').hide();
$('#divperludibayarAT').hide();
$('#divbaki').hide();
$('#divbayaranAT').hide();
$('#calcbayar').val($('#perludibayar').val().replace(/[^0-9.-]+/g,""));
$('#divtelahdibayar').show();
$('#divperludibayar').show();
@@ -930,20 +979,29 @@
$('#divbayaranditerima').hide();
$('#divhargaemassemasa').show();
$('#divbayarantawarruq').show();
$("#bayaran").prop("disabled", true);
$("#perludibayartawarruq").prop("readonly", true);
$("#bayaranAT").prop("disabled", true);
$("#bayarantawarruq").prop("readonly", false);
$("#bayaran").val(0);
$('#divperludibayartawarruq').show();
// $("#bayaran").val(0);
$('#divperludibayarAT').show();
$('.divlebihanmargin').show();
$('#divbaki').show();
// if(percenthargasemasa > 80){
$("#perludibayarAT").prop("readonly", false);
// }
$('#divbakipinjaman').hide();
$('#divtelahdibayar').hide();
$('#divbayaran').hide();
$('#divbayaranAT').show();
$("#bayaranAT").prop("disabled", false);
$('#divperludibayar').hide();
$('#basic-addon2').text(percenthargasemasa);
$('#perludibayartawarruq').val(formatter.format(totalbayaran));
$('#basic-addon2').text((percenthargasemasa > 80) ? '80.00' : percenthargasemasa);
$('#perludibayarAT').val(formatter.format(totalbayaran));
$('#calcbayar').val(totalbayaran);
break;
@@ -1047,6 +1105,15 @@
}
}
}else if($('#sltjenistebus').find(":selected").val() == 'AT'){
let total = 0;
let bayaran = $('#bayaranAT').val();
let perludibayar = $('#perludibayarAT').val();
total = bayaran - perludibayar;
$('#baki').val((total > 0) ? formatter.format(total.toFixed(2)) : '0.00');
}
}
@@ -2414,7 +2481,8 @@
var pinjaman = parseFloat("{{ $gadai['pinjaman']}}");
var kuantiti_marhun = Number("{{sizeof($marhun)}}");
var nowakil = nw;
var perludibayar = parseFloat($('#perludibayartawarruq').val().replace(/[^0-9.-]+/g,""));
var perludibayar = parseFloat($('#perludibayarAT').val().replace(/[^0-9.-]+/g,""));
var bayaranpelanggan = parseFloat($('#bayaranAT').val());
var kadarupahbaru = 0;
// if(nilai_marhun > 0 && nilai_marhun < 400.99){
@@ -2479,6 +2547,7 @@
"kuantiti_marhun" : kuantiti_marhun,
"jenisAT" : jenisAT,
"totalbayaran" : perludibayar,
"bayaran" : bayaranpelanggan,
},
success:function(success_data){
@@ -3099,7 +3168,11 @@ function funcexcuse(){
$('#basic-addon2').text(percentasal);
$('.divlebihanmargin').hide();
$('#divjenisAT').show();
$('#perludibayartawarruq').val(formatter.format(jumupah));
$('#perludibayarAT').val(formatter.format(jumupah));
$('#divbayaranAT').hide();
$('#calcbayar').val(jumupah);
$("#perludibayarAT").prop("readonly", true);
$('#divbaki').hide();
// gadaiautotawarruq(jenisAT);
return;
@@ -3215,6 +3288,108 @@ function funcexcuse(){
return false;
}
function validateFloatKeyPress(el, evt) {
let hargamarhun = parseFloat("{{ $nilaihargasemasa }}");
let tenpercent = hargamarhun * (10/100);
let pembiayaan = parseFloat($('#pinjamanbaru').val().replace(/[^0-9.-]+/g,""));
var charCode = (evt.which) ? evt.which : event.keyCode;
var number = el.value;
let pembiayaanbaru = 0;
let keypress = evt.key;
// let tot;
// if(!isNaN(evt.key))
// {
// console.log(number,keypress);
// tot = +number + +keypress;
// }
// console.log(tot);
pembiayaanbaru = pembiayaan - parseFloat(number);
var number = el.value.split('.');
if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57)) {
return false;
}
//just one dot
if(number.length>1 && charCode == 46){
return false;
}
//get the carat position
var caratPos = getSelectionStart(el);
var dotPos = el.value.indexOf(".");
if( caratPos > dotPos && dotPos>-1 && (number[1].length > 1)){
return false;
}
if(pembiayaanbaru <= tenpercent){
// console.log('ggwp');
return false;
}
// console.log(pembiayaanbaru,tenpercent,parseFloat(keypress),pembiayaan);
return true;
}
function getSelectionStart(o) {
if (o.createTextRange) {
var r = document.selection.createRange().duplicate()
r.moveEnd('character', o.value.length)
if (r.text == '') return o.value.length
return o.value.lastIndexOf(r.text)
} else return o.selectionStart
}
function bayaranATfunc(e){
let byr = $(e).val();
let total = 0;
let pdbyr = 0;
let pembiayaanbaru = 0;
let upah = parseFloat($('#jumlahupah').val());
let lebihanmargin = parseFloat($('#txtlebihanmargin').val());
total = upah + lebihanmargin;
let hargamarhun = parseFloat("{{ $nilaihargasemasa }}");
let pembiayaan = parseFloat("{{ $pembiayaanbaru }}");
let percenthargasemasa = parseFloat("{{ $percent_hargaemassemasa }}");
//algorithm untuk bayaran pelanggan dan baki
let baki = parseFloat($('#baki').val());
let bayaranpelanggan = parseFloat($('#bayaranAT').val());
let totalpercent = 0;
if(byr == ''){
// $('#perludibayarAT').val(total);
$('#pinjamanbaru').val(formatter.format(pembiayaan));
totalpercent = (pembiayaan / hargamarhun) * 100;
$('#basic-addon2').text(formatter.format(totalpercent.toFixed(2)));
}else{
// pdbyr = parseFloat(byr) + parseFloat(total);
// $('#perludibayarAT').val(pdbyr);
pembiayaanbaru = pembiayaan - parseFloat(byr);
totalpercent = (pembiayaanbaru / hargamarhun) * 100;
$('#pinjamanbaru').val(formatter.format(pembiayaanbaru));
$('#basic-addon2').text(formatter.format(totalpercent.toFixed(2)));
// $('#perludibayar').val(total);
// if(baki)
}
}
function blockbayaranAT(event){
let value = $(event).val();
let upah = parseFloat($('#jumlahupah').val());
let lebihanmargin = parseFloat($('#txtlebihanmargin').val());
total = upah + lebihanmargin;
if(value == '' || value <= 0 || value < total){
$('#perludibayarAT').val(total);
}
}
// Restricts input for the set of matched elements to the given inputFilter function.
(function($) {
$.fn.inputFilter = function(inputFilter) {