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
+4
View File
@@ -374,6 +374,10 @@
</main>
</div>
@if (request()->route()->getName() === 'penebusan')
@include('widgets.calculator')
@endif
@yield('footer')
</body>
{{-- JS Stack--}}
+1
View File
@@ -1,4 +1,5 @@
@extends('layouts.app')
@section('footer')
@endsection
+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) {
@@ -0,0 +1,119 @@
<style>
/* Button used to open the chat form - fixed at the bottom of the page */
.open-button {
background-color: #555;
color: white;
padding: 16px 20px;
border: none;
cursor: pointer;
opacity: 0.8;
position: fixed;
bottom: 23px;
right: 28px;
width: 100px;
}
/* The popup chat - hidden by default */
.chat-popup {
position: fixed;
bottom: -500px;
right: 15px;
border: 3px solid #f1f1f1;
z-index: 9;
transition: 1s;
}
/* Add styles to the form container */
.form-container {
/* max-width: 500px; */
padding: 10px;
background-color: white;
}
/* Full-width textarea */
.form-container textarea {
width: 100%;
padding: 15px;
margin: 5px 0 22px 0;
border: none;
background: #f1f1f1;
resize: none;
min-height: 200px;
}
/* When the textarea gets focus, do something */
.form-container textarea:focus {
background-color: #ddd;
outline: none;
}
/* Set a style for the submit/send button */
.form-container .btn {
background-color: #4CAF50;
color: white;
padding: 16px 20px;
border: none;
cursor: pointer;
width: 100%;
margin-bottom:10px;
opacity: 0.8;
}
/* Add a red background color to the cancel button */
.form-container .cancel {
background-color: red;
}
/* Add some hover effects to buttons */
.form-container .btn:hover, .open-button:hover {
opacity: 1;
}
</style>
<button class="open-button" onclick="openForm()">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6">
<path stroke-linecap="round" stroke-linejoin="round" d="M15.75 15.75V18m-7.5-6.75h.008v.008H8.25v-.008zm0 2.25h.008v.008H8.25V13.5zm0 2.25h.008v.008H8.25v-.008zm0 2.25h.008v.008H8.25V18zm2.498-6.75h.007v.008h-.007v-.008zm0 2.25h.007v.008h-.007V13.5zm0 2.25h.007v.008h-.007v-.008zm0 2.25h.007v.008h-.007V18zm2.504-6.75h.008v.008h-.008v-.008zm0 2.25h.008v.008h-.008V13.5zm0 2.25h.008v.008h-.008v-.008zm0 2.25h.008v.008h-.008V18zm2.498-6.75h.008v.008h-.008v-.008zm0 2.25h.008v.008h-.008V13.5zM8.25 6h7.5v2.25h-7.5V6zM12 2.25c-1.892 0-3.758.11-5.593.322C5.307 2.7 4.5 3.65 4.5 4.757V19.5a2.25 2.25 0 002.25 2.25h10.5a2.25 2.25 0 002.25-2.25V4.757c0-1.108-.806-2.057-1.907-2.185A48.507 48.507 0 0012 2.25z" />
</svg>
</button>
<div class="chat-popup" id="myForm">
<form class="form-container">
<h1>Calculator</h1>
<label for="calcamaun"><b>Amaun Pelanggan</b></label>
<input id="calcamaun" class="form-control" placeholder="Amaun" name="calcamaun" required/>
<label for="calcbayar"><b>Amaun Dibayar</b></label>
<input id="calcbayar" class="form-control" placeholder="Amaun" name="calcbayar" disabled value="0.00"/>
<label for="calcbaki"><b>Baki</b></label>
<input id="calcbaki" class="form-control" name="calcbaki" disabled value="0.00"/>
<button type="button" class="btn" onclick="kirafunc()">Kira</button>
<button type="button" class="btn cancel" onclick="closeForm()">Tutup</button>
</form>
</div>
<script>
function kirafunc(){
let amaun = $('#calcamaun').val();
let bayar = $('#calcbayar').val();
let total = 0;
total = amaun - bayar;
$('#calcbaki').val(formatter.format(total));
}
function openForm() {
document.getElementById("myForm").style.bottom = "0";
// document.getElementById("myForm").style.display = "block";
}
function closeForm() {
$('#calcamaun').val('');
$('#calcbaki').val('0.00');
document.getElementById("myForm").style.bottom = "-500px";
// document.getElementById("myForm").style.display = "none";
}
</script>