fix auto tawarruq > 80 layout
This commit is contained in:
@@ -374,6 +374,10 @@
|
||||
</main>
|
||||
</div>
|
||||
|
||||
@if (request()->route()->getName() === 'penebusan')
|
||||
@include('widgets.calculator')
|
||||
@endif
|
||||
|
||||
@yield('footer')
|
||||
</body>
|
||||
{{-- JS Stack--}}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
@extends('layouts.app')
|
||||
@section('footer')
|
||||
|
||||
|
||||
@endsection
|
||||
@@ -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>
|
||||
Reference in New Issue
Block a user