4645 lines
193 KiB
PHP
4645 lines
193 KiB
PHP
@extends('layouts.app')
|
|
@section('content')
|
|
@include('modal.historybayaran')
|
|
@include('modal.wakil')
|
|
|
|
|
|
<div class="container col-lg-12">
|
|
<div class="row justify-content-center">
|
|
<div class="col-lg-12">
|
|
|
|
<nav aria-label="breadcrumb" id="breadcrumb">
|
|
<ol class="breadcrumb pb-3">
|
|
<li class="breadcrumb-item"><a href="#" style="cursor:not-allowed;">Home</a></li>
|
|
<li class="breadcrumb-item"><a href="#" style="cursor:not-allowed;">Pengenalan Diri</a></li>
|
|
<li class="breadcrumb-item"><a href="#" style="cursor:not-allowed;">Pelanggan</a></li>
|
|
<li class="breadcrumb-item active" aria-current="page">Penyelesaian Pem.</li>
|
|
</ol>
|
|
</nav>
|
|
|
|
<div class="form-group row col-12" id="infopelanggan">
|
|
<div class="col-6">
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
<b>NAMA</b>
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" value="{{ $nama }}" class="form-control" readonly/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-6">
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
<b> NO PELANGGGAN</b>
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" value="{{ $gadai['nopelanggan'] }}" class="form-control" readonly/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-6">
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
<b>NO RUJUKAN</b>
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" value="{{ $gadai['norujukan'] }}" class="form-control" readonly/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-6">
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
<b>NO KAD PENGENALAN</b>
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" value="{{ $gadai['nokp'] }}" class="form-control" readonly/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-6">
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
<b>TEMPOH</b>
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" value="{{ $gadai['tempoh'] }}" class="form-control" readonly/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{{-- <div class="col-6">
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
<button class="btn btn-primary" onclick="funcTU()">Maklumat Keuntungan</button>
|
|
</div>
|
|
</div>
|
|
|
|
</div> --}}
|
|
|
|
</div>
|
|
|
|
<div class="form-group row col-12" id="jenistebus">
|
|
<div class="col-6">
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
<b>JENIS PENYELESAIAN PEMBIAYAAN</b>
|
|
</div>
|
|
<div class="col-8">
|
|
<select class="form-control" id="sltjenistebus">
|
|
<option value="T">T = Penyelesaian Pembiayaan</option>
|
|
@if(!in_array(Auth::user()->cawangan, config('redeemoption.ansuran_block', [])))
|
|
<option value="A" {{ $gadai['tempoh'] >= 12 ? 'disabled' : '' }}>A = Ansuran Pembiayaan</option>
|
|
@endif
|
|
@if($gadai['tagbaru'] == 1)
|
|
@if(config('redeemoption.enable_separuh') == 1)
|
|
@if(!in_array(Auth::user()->cawangan, config('redeemoption.cawangan_block', [])))
|
|
<option value="S">S = Sebahagian</option>
|
|
@endif
|
|
@endif
|
|
@if(config('redeemoption.enable_tambahpinjam') == 1)
|
|
@if(!in_array(Auth::user()->cawangan, config('redeemoption.cawangan_block', [])))
|
|
<option value="P">P = Tambah Pembiayaan</option>
|
|
@endif
|
|
@endif
|
|
@endif
|
|
@if(config('redeemoption.enable_pembiayaansemula') == 1)
|
|
@if(!in_array(Auth::user()->cawangan, config('redeemoption.cawangan_block', [])))
|
|
<option value="AT">PS = Pembiayaan Semula</option>
|
|
@endif
|
|
@endif
|
|
<option value="" disabled hidden>Pilih Jenis Penyelesaian Pembiayaan</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-6">
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
<b>WAKIL</b>
|
|
</div>
|
|
<div class="col-6">
|
|
<input type="text" class="form-control" name="wakil" id="wakiltxt" />
|
|
</div>
|
|
<div class="col-2">
|
|
<button class="btn btn-primary" id="caribtn" onclick="wakilfunction(this)">Cari</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
@if($pampasan)
|
|
<div class="bg-white p-3 my-3">
|
|
<div class="border text-center p-2 mx-auto" style="border: 2px solid red !important; width: 209px;">
|
|
<span class="text-danger font-weight-bold">PAMPASAN</span>
|
|
</div>
|
|
<div class="text-center mt-2">
|
|
<a href="{{ route('pampasan.surat', $gadai['norujukan']) }}" target="_blank"
|
|
class="btn surat-perjanjian-btn" data-norujukan="{{ $gadai['norujukan'] }}" title="Lihat Surat" style="background-color: red; color: white; border: 2px solid red;">
|
|
<i class="fas fa-file-alt fa-lg"></i> Cetak Surat Perjanjian
|
|
</a>
|
|
</div>
|
|
</div>
|
|
@endif
|
|
|
|
<div class="card" id="infomarhun">
|
|
<div class="card-body">
|
|
<table id="tablemarhun" class="table table-striped table-hover table-bordered text-center">
|
|
<thead class="thead-dark">
|
|
<tr>
|
|
<th>Bil</th>
|
|
<th>Marhun</th>
|
|
<th>N. Marhun</th>
|
|
<th>N. Marhun Semasa</th>
|
|
<th>Berat/gram</th>
|
|
<th>Karat</th>
|
|
<th>Nota</th>
|
|
<th>Harga</th>
|
|
<th>Harga Semasa</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@php $count = 0; @endphp
|
|
@foreach ($marhun as $index=>$m)
|
|
<tr>
|
|
@php
|
|
$karatbaru = str_replace('.','-',$m['karat']);
|
|
$hargabaru = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/harga_emas/'. $karatbaru)->json();
|
|
|
|
$hargaemassemasa = floatval($hargabaru['harga']) * floatval($m['berat']);
|
|
@endphp
|
|
<td><input type="checkbox" id="checkmarhun" data-nmhs="{{ $hargaemassemasa }}" data-recno="{{ $m['recno'] }}" data-nm="{{ $m['n_marhun'] }}" data-marhun="{{ $m['marhun'] }}" data-berat="{{ $m['berat'] }}" style="display:none;"/><span class="spannar">{{ $index+1 }}</span></td>
|
|
@php
|
|
$marhunperibadi = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') .'/api/jemas/nama_marhun/',["marhun" => $m['marhun']])->json();
|
|
@endphp
|
|
<td>{{ $marhunperibadi['descpt'] }}</td>
|
|
<td>RM {{ number_format($m['n_marhun'],2) }}</td>
|
|
<td>@php
|
|
echo "RM " . number_format($hargaemassemasa,2);
|
|
@endphp</td>
|
|
<td>{{ $m['berat'] }}</td>
|
|
<td>{{ $m['karat'] }}</td>
|
|
<td>@if($m['tag_permata']) (P) @endif{{ $m['nota'] }}</td>
|
|
<td>RM {{ $m['harga'] }}</td>
|
|
<td>RM {{ number_format(floatval($hargabaru['harga']),2) }} @php if($m['harga'] > $hargabaru['harga']) echo '<span class="fas fa-arrow-down text-danger"></span>'; if($m['harga'] < $hargabaru['harga']) echo '<span class="fas fa-arrow-up text-success"></span>';
|
|
if($m['harga'] === $hargabaru['harga']) echo '<span class="fas fa-minus text-info"></span>';
|
|
|
|
@endphp</td>
|
|
</tr>
|
|
@php $count++; @endphp
|
|
@endforeach
|
|
</tbody>
|
|
<tr>
|
|
<td colspan="2"><b>JUMLAH</b></td>
|
|
<td id="nilai_marhun_total_fix">RM {{ number_format($gadai['nilaimarhun'],2) }}</td>
|
|
<td id="nilai_marhun_total">RM {{ number_format($nilaihargasemasa,2) }}</td>
|
|
<td id="berat_marhun_total">{{ number_format($gadai['berat'],2) }}</td>
|
|
<td colspan="4"></td>
|
|
</tr>
|
|
</tfoot>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="card" id="infotransaksi">
|
|
<div class="card-body infotransaksi">
|
|
|
|
|
|
<div id="jenisT" class="col-12 form-group row">
|
|
<div class="col-6">
|
|
|
|
<div id="divperludibayar">
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
<b>PERLU DIBAYAR (RM)</b>
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" id="perludibayar" style="font-weight:bold;" onkeyup="bayarkey(this)" class="form-control" readonly/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div>
|
|
<fieldset class="scheduler-border">
|
|
<div class="form-group row" id="divduitPelanggan">
|
|
<div class="col-4">
|
|
<span>DUIT PELANGGAN (RM)</span>
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" id="duitPelanggan" onkeyup="bayaranPelanggan(this)" onpaste="return false;" ondrop="return false;" onkeypress="return validateKeyPress(this,event);" placeholder="0.00" class="form-control"/>
|
|
</div>
|
|
</div>
|
|
<div class="form-group row" id="divbakiPelanggan">
|
|
<div class="col-4">
|
|
<b>BAKI (RM)</b>
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" id="bakiPelanggan" class="form-control" value="0.00" readonly/>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
<div class="col-6" id="divbakihargajualan">
|
|
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
BAKI PEMBIAYAAN (RM)
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" id="pinjaman" value="{{ number_format($gadai['bakipjm'],2) }}" class="form-control" readonly/>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
BAKI HARGA JUALAN (RM)
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" id="bakihargajualan" value="{{ number_format($gadai['bakihargajualan'],2) }}" class="form-control" readonly/>
|
|
</div>
|
|
</div>
|
|
|
|
@if($gadai['tagbaru'] == 1)
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
</div>
|
|
<div class="col-4">
|
|
<span>LAIN-LAIN CAJ</span>
|
|
</div>
|
|
<div class="col-4">
|
|
<span>KEUNTUNGAN</span>
|
|
</div>
|
|
|
|
<div class="col-4">
|
|
SEBENAR
|
|
</div>
|
|
|
|
<div class="col-4">
|
|
<input type="text" id="jumujrah" class="form-control" readonly/>
|
|
</div>
|
|
<div class="col-4">
|
|
<input type="text" id="jumonepercent" class="form-control" readonly/>
|
|
</div>
|
|
</div>
|
|
@endif
|
|
@if($gadai['tagbaru'] == 1)
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
</div>
|
|
<div class="col-4">
|
|
<span>LAIN-LAIN CAJ</span>
|
|
</div>
|
|
<div class="col-4">
|
|
<span>KEUNTUNGAN</span>
|
|
</div>
|
|
|
|
<div class="col-4">
|
|
REBAT
|
|
</div>
|
|
|
|
<div class="col-4">
|
|
<input type="text" id="jumujrahrebet" class="form-control" readonly/>
|
|
</div>
|
|
<div class="col-4">
|
|
<input type="text" id="jumonepercentrebet" class="form-control" readonly/>
|
|
</div>
|
|
</div>
|
|
@endif
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
@if($gadai['tagbaru'] == 1) JUM UNTUNG DAN LAIN-LAIN CAJ @else JUMLAH KEUNTUNGAN @endif
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" id="jumlahupah" class="form-control" readonly/>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group row" id="divtelahdibayar">
|
|
<div class="col-4">
|
|
TELAH DIBAYAR (RM)
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" id="jumlahtelahdibayar" class="form-control" readonly/>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<div id="jenisS" class="col-12 form-group row">
|
|
<div class="col-6">
|
|
<div id="divperludibayar">
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
<b>PERLU DIBAYAR (RM)</b>
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" id="perludibayar" style="font-weight:bold;" onchange="bayarkey(this)" onpaste="return false;" ondrop="return false;" onkeypress="return validateKeyPress(this,event);" class="form-control" readonly/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div>
|
|
<fieldset class="scheduler-border">
|
|
<div class="form-group row" id="divduitPelanggan">
|
|
<div class="col-4">
|
|
<span>DUIT PELANGGAN (RM)</span>
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" id="duitPelanggan" onkeyup="bayaranPelanggan(this)" onpaste="return false;" ondrop="return false;" onkeypress="return validateKeyPress(this,event);" placeholder="0.00" class="form-control"/>
|
|
</div>
|
|
</div>
|
|
<div class="form-group row" id="divbakiPelanggan">
|
|
<div class="col-4">
|
|
<b>BAKI (RM)</b>
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" id="bakiPelanggan" class="form-control" value="0.00" readonly/>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="col-6">
|
|
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
BAKI PEMBIAYAAN (RM)
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" id="pinjaman" value="{{ number_format($gadai['bakipjm'],2) }}" class="form-control" readonly/>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
BAKI HARGA JUALAN (RM)
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" id="bakihargajualan" value="{{ number_format($gadai['bakihargajualan'],2) }}" class="form-control" readonly/>
|
|
</div>
|
|
</div>
|
|
|
|
@if($gadai['tagbaru'] == 1)
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
</div>
|
|
<div class="col-4">
|
|
<span>LAIN-LAIN CAJ</span>
|
|
</div>
|
|
<div class="col-4">
|
|
<span>KEUNTUNGAN</span>
|
|
</div>
|
|
|
|
<div class="col-4">
|
|
SEBENAR
|
|
</div>
|
|
|
|
<div class="col-4">
|
|
<input type="text" id="jumujrah" class="form-control" readonly/>
|
|
</div>
|
|
<div class="col-4">
|
|
<input type="text" id="jumonepercent" class="form-control" readonly/>
|
|
</div>
|
|
</div>
|
|
@endif
|
|
@if($gadai['tagbaru'] == 1)
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
</div>
|
|
<div class="col-4">
|
|
<span>LAIN-LAIN CAJ</span>
|
|
</div>
|
|
<div class="col-4">
|
|
<span>KEUNTUNGAN</span>
|
|
</div>
|
|
|
|
<div class="col-4">
|
|
REBAT
|
|
</div>
|
|
|
|
<div class="col-4">
|
|
<input type="text" id="jumujrahrebet" class="form-control" readonly/>
|
|
</div>
|
|
<div class="col-4">
|
|
<input type="text" id="jumonepercentrebet" class="form-control" readonly/>
|
|
</div>
|
|
</div>
|
|
@endif
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
@if($gadai['tagbaru'] == 1) JUM UNTUNG DAN LAIN-LAIN CAJ @else JUMLAH KEUNTUNGAN @endif
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" id="jumlahupah" class="form-control" readonly/>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="divbakipinjaman">
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
<b>PEMBIAYAAN BARU (RM)</b>
|
|
</div>
|
|
<div class="col-8 input-group mb-2">
|
|
<input type="text" placeholder="0.00" id="bakipinjaman" class="form-control" readonly/>
|
|
<div class="input-group-append">
|
|
<span class="input-group-text" id="basic-separuh"></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="jenisA" class="col-12 form-group row">
|
|
<div class="col-6">
|
|
<div class="form-group row" id="divtelahdibayar">
|
|
<div class="col-4">
|
|
TELAH DIBAYAR (RM)
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" id="jumlahtelahdibayar" class="form-control" readonly/>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="form-group row" id="divbayaran">
|
|
<div class="col-4">
|
|
<b>BAYARAN PELANGGAN (RM)</b>
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" id="bayaran" onkeyup="bayartambahan(this)" onkeypress="return validateFloatKeyPressAnsuran(this,event);" placeholder="0.00" class="form-control" disabled/>
|
|
</div>
|
|
</div>
|
|
|
|
<div>
|
|
<fieldset class="scheduler-border">
|
|
<div class="form-group row" id="divduitPelanggan">
|
|
<div class="col-4">
|
|
<span>DUIT PELANGGAN (RM)</span>
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" id="duitPelanggan" onkeyup="bayaranPelanggan(this)" onpaste="return false;" ondrop="return false;" onkeypress="return validateKeyPress(this,event);" placeholder="0.00" class="form-control"/>
|
|
</div>
|
|
</div>
|
|
<div class="form-group row" id="divbakiPelanggan">
|
|
<div class="col-4">
|
|
<b>BAKI (RM)</b>
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" id="bakiPelanggan" class="form-control" value="0.00" readonly/>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="col-6" id="divbakihargajualan">
|
|
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
BAKI PEMBIAYAAN (RM)
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" id="pinjaman" value="{{ number_format($gadai['bakipjm'],2) }}" class="form-control" readonly/>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
BAKI HARGA JUALAN (RM)
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" id="bakihargajualan" value="{{ number_format($gadai['bakihargajualan'],2) }}" class="form-control" readonly/>
|
|
</div>
|
|
</div>
|
|
|
|
@if($gadai['tagbaru'] == 1)
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
</div>
|
|
<div class="col-4">
|
|
<span>LAIN-LAIN CAJ</span>
|
|
</div>
|
|
<div class="col-4">
|
|
<span>KEUNTUNGAN</span>
|
|
</div>
|
|
|
|
<div class="col-4">
|
|
SEBENAR
|
|
</div>
|
|
|
|
<div class="col-4">
|
|
<input type="text" id="jumujrah" class="form-control" readonly/>
|
|
</div>
|
|
<div class="col-4">
|
|
<input type="text" id="jumonepercent" class="form-control" readonly/>
|
|
</div>
|
|
</div>
|
|
@endif
|
|
@if($gadai['tagbaru'] == 1)
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
</div>
|
|
<div class="col-4">
|
|
<span>LAIN-LAIN CAJ</span>
|
|
</div>
|
|
<div class="col-4">
|
|
<span>KEUNTUNGAN</span>
|
|
</div>
|
|
|
|
<div class="col-4">
|
|
REBAT
|
|
</div>
|
|
|
|
<div class="col-4">
|
|
<input type="text" id="jumujrahrebet" class="form-control" readonly/>
|
|
</div>
|
|
<div class="col-4">
|
|
<input type="text" id="jumonepercentrebet" class="form-control" readonly/>
|
|
</div>
|
|
</div>
|
|
@endif
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
@if($gadai['tagbaru'] == 1) JUM UNTUNG DAN LAIN-LAIN CAJ @else JUMLAH KEUNTUNGAN @endif
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" id="jumlahupah" class="form-control" readonly/>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div id="jenisP" class="col-12 form-group row">
|
|
|
|
|
|
<!-- baki hargajualan -->
|
|
|
|
<div class="col-6" id="divbayaranditerima">
|
|
|
|
<div class="form-group row" id="divtambahpinjaman">
|
|
<div class="col-4">
|
|
TAMBAH PEMBIAYAAN (RM)
|
|
</div>
|
|
<div class="col-4">
|
|
<input type="text" id="tambahpinjam" onkeyup="bayarpinjam(this)" onpaste="return false;" ondrop="return false;" onkeypress="return validateKeyPress(this,event);" placeholder="0.00" class="form-control"/>
|
|
</div>
|
|
<div class="col-4">
|
|
<input type="text" id="tambahpinjamsebenar" placeholder="0.00" class="form-control" disabled/>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
<b>BAYARAN DITERIMA (RM)</b>
|
|
</div>
|
|
<div class="col-4">
|
|
<input type="text" id="bayaranditerima" class="form-control" readonly/>
|
|
</div>
|
|
</div>
|
|
|
|
<div>
|
|
<fieldset class="scheduler-border">
|
|
<div class="form-group row" id="divduitPelanggan">
|
|
<div class="col-4">
|
|
<span>DUIT PELANGGAN (RM)</span>
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" id="duitPelanggan" onkeyup="bayaranPelanggan(this)" onpaste="return false;" ondrop="return false;" onkeypress="return validateKeyPress(this,event);" placeholder="0.00" class="form-control"/>
|
|
</div>
|
|
</div>
|
|
<div class="form-group row" id="divbakiPelanggan">
|
|
<div class="col-4">
|
|
<b>BAKI (RM)</b>
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" id="bakiPelanggan" class="form-control" value="0.00" readonly/>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-6">
|
|
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
BAKI PEMBIAYAAN (RM)
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" id="pinjaman" value="{{ number_format($gadai['bakipjm'],2) }}" class="form-control" readonly/>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
BAKI HARGA JUALAN (RM)
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" id="bakihargajualan" value="{{ number_format($gadai['bakihargajualan'],2) }}" class="form-control" readonly/>
|
|
</div>
|
|
</div>
|
|
|
|
@if($gadai['tagbaru'] == 1)
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
</div>
|
|
<div class="col-4">
|
|
<span>LAIN-LAIN CAJ</span>
|
|
</div>
|
|
<div class="col-4">
|
|
<span>KEUNTUNGAN</span>
|
|
</div>
|
|
|
|
<div class="col-4">
|
|
SEBENAR
|
|
</div>
|
|
|
|
<div class="col-4">
|
|
<input type="text" id="jumujrah" class="form-control" readonly/>
|
|
</div>
|
|
<div class="col-4">
|
|
<input type="text" id="jumonepercent" class="form-control" readonly/>
|
|
</div>
|
|
</div>
|
|
@endif
|
|
@if($gadai['tagbaru'] == 1)
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
</div>
|
|
<div class="col-4">
|
|
<span>LAIN-LAIN CAJ</span>
|
|
</div>
|
|
<div class="col-4">
|
|
<span>KEUNTUNGAN</span>
|
|
</div>
|
|
|
|
<div class="col-4">
|
|
REBAT
|
|
</div>
|
|
|
|
<div class="col-4">
|
|
<input type="text" id="jumujrahrebet" class="form-control" readonly/>
|
|
</div>
|
|
<div class="col-4">
|
|
<input type="text" id="jumonepercentrebet" class="form-control" readonly/>
|
|
</div>
|
|
</div>
|
|
@endif
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
@if($gadai['tagbaru'] == 1) JUM UNTUNG DAN LAIN-LAIN CAJ @else JUMLAH KEUNTUNGAN @endif
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" id="jumlahupah" class="form-control" readonly/>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group row" id="divhargaemassemasa">
|
|
<div class="col-4">
|
|
PEMBIAYAAN H. ASAL (RM)
|
|
</div>
|
|
@php
|
|
if($gadai['bakipjm'] != 0){
|
|
$bakipjm = $gadai['bakipjm'];
|
|
}else{
|
|
$bakipjm = $gadai['pinjaman'];
|
|
}
|
|
$percent_asal = ($bakipjm / $gadai['nilaimarhun']) * 100;
|
|
@endphp
|
|
<div class="col-8 input-group mb-2">
|
|
<input type="text" id="hargapembiayaansemasa" class="form-control" value="{{ number_format($bakipjm,2) }}" aria-describedby="basic-hargaemas" readonly/>
|
|
<div class="input-group-append">
|
|
<span class="input-group-text" id="basic-hargaemas">{{ number_format($percent_asal,2) }}</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="form-group row" id="divpinjamanbaru">
|
|
|
|
<div class="col-4">
|
|
<span>PEMBIAYAAN BARU (RM)</span>
|
|
</div>
|
|
@php
|
|
if($gadai['bakipjm'] != 0){
|
|
$bakipjm = $gadai['bakipjm'];
|
|
}else{
|
|
$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($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>
|
|
@if($percent_hargaemassemasa > 80)
|
|
<span class="input-group-text" id="basic-addon3">{{ number_format($percent_hargaemassemasa,2) }}</span>
|
|
@endif
|
|
</div>
|
|
</div>
|
|
|
|
@if($percent_hargaemassemasa > 80)
|
|
<div class="divlebihanmargin">
|
|
<div class="col-4">
|
|
<span>BAYARAN LEBIHAN MARGIN</span>
|
|
</div>
|
|
<div class="col-8 input-group mb-3">
|
|
<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>
|
|
|
|
|
|
|
|
</div>
|
|
<div id="jenisAT" class="col-12 form-group row">
|
|
<div class="col-6">
|
|
<div class="form-group row" id="divhargaemassemasa">
|
|
<div class="col-4">
|
|
PEMBIAYAAN H. ASAL (RM)
|
|
</div>
|
|
@php
|
|
if($gadai['bakipjm'] != 0){
|
|
$bakipjm = $gadai['bakipjm'];
|
|
}else{
|
|
$bakipjm = $gadai['pinjaman'];
|
|
}
|
|
$percent_asal = ($bakipjm / $gadai['nilaimarhun']) * 100;
|
|
@endphp
|
|
<div class="col-8 input-group mb-2">
|
|
<input type="text" id="hargapembiayaansemasa" class="form-control" value="{{ number_format($bakipjm,2) }}" aria-describedby="basic-hargaemas" readonly/>
|
|
<div class="input-group-append">
|
|
<span class="input-group-text" id="basic-hargaemas">{{ number_format($percent_asal,2) }}</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="form-group row" id="divpinjamanbaru">
|
|
|
|
<div class="col-4">
|
|
<span>PEMBIAYAAN BARU (RM)</span>
|
|
</div>
|
|
@php
|
|
if($gadai['bakipjm'] != 0){
|
|
$bakipjm = $gadai['bakipjm'];
|
|
}else{
|
|
$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($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>
|
|
@if($percent_hargaemassemasa > 80)
|
|
<span class="input-group-text" id="basic-addon3">{{ number_format($percent_hargaemassemasa,2) }}</span>
|
|
@endif
|
|
</div>
|
|
</div>
|
|
|
|
@if($percent_hargaemassemasa > 80)
|
|
<div class="divlebihanmargin">
|
|
<div class="col-4">
|
|
<span>BAYARAN LEBIHAN MARGIN</span>
|
|
</div>
|
|
<div class="col-8 input-group mb-3">
|
|
<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="form-group row" id="divperludibayarAT">
|
|
<div class="col-4">
|
|
<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;" onpaste="return false;" ondrop="return false;" onkeyup="bayaranATfunc(this)" onkeypress="return validateFloatKeyPressAT(this,event);" onchange="blockbayaranAT(this)" readonly/>
|
|
</div>
|
|
</div>
|
|
|
|
<div>
|
|
<fieldset class="scheduler-border">
|
|
<div class="form-group row" id="divduitPelanggan">
|
|
<div class="col-4">
|
|
<span>DUIT PELANGGAN (RM)</span>
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" id="duitPelanggan" onkeyup="bayaranPelanggan(this)" onpaste="return false;" ondrop="return false;" onkeypress="return validateKeyPress(this,event);" placeholder="0.00" class="form-control"/>
|
|
</div>
|
|
</div>
|
|
<div class="form-group row" id="divbakiPelanggan">
|
|
<div class="col-4">
|
|
<b>BAKI (RM)</b>
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" id="bakiPelanggan" class="form-control" value="0.00" readonly/>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-6" id="divbakihargajualan">
|
|
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
BAKI PEMBIAYAAN (RM)
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" id="pinjaman" value="{{ number_format($gadai['bakipjm'],2) }}" class="form-control" readonly/>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
BAKI HARGA JUALAN (RM)
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" id="bakihargajualan" value="{{ number_format($gadai['bakihargajualan'],2) }}" class="form-control" readonly/>
|
|
</div>
|
|
</div>
|
|
|
|
@if($gadai['tagbaru'] == 1)
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
</div>
|
|
<div class="col-4">
|
|
<span>LAIN-LAIN CAJ</span>
|
|
</div>
|
|
<div class="col-4">
|
|
<span>KEUNTUNGAN</span>
|
|
</div>
|
|
|
|
<div class="col-4">
|
|
SEBENAR
|
|
</div>
|
|
|
|
<div class="col-4">
|
|
<input type="text" id="jumujrah" class="form-control" readonly/>
|
|
</div>
|
|
<div class="col-4">
|
|
<input type="text" id="jumonepercent" class="form-control" readonly/>
|
|
</div>
|
|
</div>
|
|
@endif
|
|
@if($gadai['tagbaru'] == 1)
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
</div>
|
|
<div class="col-4">
|
|
<span>LAIN-LAIN CAJ</span>
|
|
</div>
|
|
<div class="col-4">
|
|
<span>KEUNTUNGAN</span>
|
|
</div>
|
|
|
|
<div class="col-4">
|
|
REBAT
|
|
</div>
|
|
|
|
<div class="col-4">
|
|
<input type="text" id="jumujrahrebet" class="form-control" readonly/>
|
|
</div>
|
|
<div class="col-4">
|
|
<input type="text" id="jumonepercentrebet" class="form-control" readonly/>
|
|
</div>
|
|
</div>
|
|
@endif
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
@if($gadai['tagbaru'] == 1) JUM UNTUNG DAN LAIN-LAIN CAJ @else JUMLAH KEUNTUNGAN @endif
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" id="jumlahupah" class="form-control" readonly/>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
<div id="jenisTU" class="col-12 form-group row">
|
|
<div class="col-12 mb-4"> <h2 class="center m-auto text-center text-primary">MAKLUMAT KEUNTUNGAN</h2></div>
|
|
<div class="col-6" id="date">
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
TARIKH
|
|
</div>
|
|
<div class="col-8">
|
|
<input class="form-control" type="text" onchange="getUpahByDate(this)" name="datetarikh" id="datetarikh" placeholder="Tekan Untuk Pilih Tarikh"/>
|
|
</div>
|
|
</div>
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
TEMPOH PEMBIAYAAN
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" id="tempohjanaan" name="tempohjanaan" class="form-control" readonly/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-6">
|
|
|
|
@if($gadai['tagbaru'] == 1)
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
</div>
|
|
<div class="col-4">
|
|
<span>LAIN-LAIN CAJ</span>
|
|
</div>
|
|
<div class="col-4">
|
|
<span>KEUNTUNGAN</span>
|
|
</div>
|
|
|
|
<div class="col-4">
|
|
SEBENAR
|
|
</div>
|
|
|
|
<div class="col-4">
|
|
<input type="text" id="jumujrahTU" class="form-control" readonly/>
|
|
</div>
|
|
<div class="col-4">
|
|
<input type="text" id="jumonepercentTU" class="form-control" readonly/>
|
|
</div>
|
|
</div>
|
|
@endif
|
|
@if($gadai['tagbaru'] == 1)
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
</div>
|
|
<div class="col-4">
|
|
<span>LAIN-LAIN CAJ</span>
|
|
</div>
|
|
<div class="col-4">
|
|
<span>KEUNTUNGAN</span>
|
|
</div>
|
|
|
|
<div class="col-4">
|
|
REBAT
|
|
</div>
|
|
|
|
<div class="col-4">
|
|
<input type="text" id="jumujrahrebetTU" class="form-control" readonly/>
|
|
</div>
|
|
<div class="col-4">
|
|
<input type="text" id="jumonepercentrebetTU" class="form-control" readonly/>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
@endif
|
|
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
@if($gadai['tagbaru'] == 1) JUM UNTUNG DAN LAIN-LAIN CAJ @else JUMLAH KEUNTUNGAN @endif
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" id="jumlahupahTU" class="form-control" readonly/>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group row">
|
|
<div class="col-4">
|
|
HARGA TEBUS
|
|
</div>
|
|
<div class="col-8">
|
|
<input type="text" id="hargatebus" name="hargatebus" class="form-control" readonly/>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-12 form-group row">
|
|
|
|
<div class="col-12 d-flex justify-content-between">
|
|
@if($gadai['tagbaru'] == 0)
|
|
<div class="col-6" id="divjenisAT">
|
|
<button type="button" class="btn btn-danger" onclick="funcexcuse(false)">Batal</button>
|
|
</div>
|
|
@if($percent_hargaemassemasa > 80 && $gadai['taglel'] == 1)
|
|
<div class="col-6 divlebihanmargin">
|
|
<button type="button" class="btn btn-primary" onclick="funcexcuse(true)">EXCUSE</button>
|
|
</div>
|
|
<div class="col-1" id="divdummy">
|
|
</div>
|
|
@else
|
|
<div class="col-6">
|
|
|
|
</div>
|
|
@endif
|
|
@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();">
|
|
@if(Auth::user()->roles == 'teller') <input type="button" id="terima_transaksi" class="float-right btn btn-primary mr-2" value="TERIMA" onclick="bayaransemua()"> @endif
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<!-- Modal Surat Agreement -->
|
|
<div class="modal fade" id="suratModal" tabindex="-1" role="dialog" aria-labelledby="suratModalLabel" aria-hidden="true">
|
|
<div class="modal-dialog modal-lg" role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h5 class="modal-title" id="suratModalLabel">Surat Agreement</h5>
|
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
|
<span aria-hidden="true">×</span>
|
|
</button>
|
|
</div>
|
|
<div class="modal-body" id="surat-content" style="font-family: 'Times New Roman', Times, serif;">
|
|
<!-- Surat content will be injected here -->
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">Batal</button>
|
|
<button type="button" class="btn btn-primary" id="btnPrintSurat">Cetak & Teruskan</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script>
|
|
|
|
let elem_jenisAT = $('#jenisAT').remove();
|
|
let elem_jenisA = $('#jenisA').remove();
|
|
let elem_jenisT = $('#jenisT').remove();
|
|
let elem_jenisS = $('#jenisS').remove();
|
|
let elem_jenisP = $('#jenisP').remove();
|
|
let elem_jenisTU = $('#jenisTU').remove();
|
|
$('#divjenisAT').hide();
|
|
|
|
|
|
let pertambahpinjaman = "{{ $pertambahpinjaman }}";
|
|
var api = '<?php echo $api_url ?>';
|
|
let nw = 0;
|
|
let jenisAT = 'none';
|
|
|
|
const formatter = new Intl.NumberFormat('en-US', {
|
|
minimumFractionDigits: 2
|
|
});
|
|
|
|
$('form input').keydown(function (e) {
|
|
if (e.keyCode == 13) {
|
|
e.preventDefault();
|
|
return false;
|
|
}
|
|
});
|
|
|
|
var historybayarandatatable = $('#tablehistorybayaran').DataTable({
|
|
"ordering": false
|
|
});
|
|
|
|
|
|
var array_recno = [];
|
|
var array_nm = [];
|
|
var array_marhun = [];
|
|
var array_berat = [];
|
|
// var array_nmhs = [];
|
|
|
|
//max bayaran
|
|
let jumlahasalmarhun = parseFloat("{{ $gadai['nilaimarhun'] }}");
|
|
let totalmarhun = jumlahasalmarhun;
|
|
let totalmarhunhargasemasa = jumlahasalmarhun;
|
|
|
|
let bayaranseparuhasal = 0;
|
|
|
|
let bilangan_marhun = Number("{{ $count }}");
|
|
|
|
bilmarhun = () => {
|
|
if(bilangan_marhun == 1){
|
|
$('option[value="S"]').attr("disabled", true);
|
|
}else{
|
|
$('option[value="S"]').attr("disabled", false);
|
|
}
|
|
}
|
|
|
|
bilmarhun();
|
|
|
|
|
|
var hargajualan = "{{ $gadai['hargajualan'] }}";
|
|
var tagbaru = "{{ $gadai['tagbaru'] }}";
|
|
|
|
|
|
var kodcaw = "{{ $gadai['kodcaw'] }}";
|
|
var norujukan = "{{ $gadai['norujukan'] }}";
|
|
|
|
var jumlahperlu = 0;
|
|
var jumlahminima = 0;
|
|
var percent_mora = 0;
|
|
var pinjaman_teller = 0;
|
|
var pinjaman_pelulus = 0;
|
|
var pampasan = @json($pampasan);
|
|
|
|
|
|
|
|
$( document ).ready(function() {
|
|
|
|
|
|
|
|
$.ajax({
|
|
method:'get',
|
|
datatype:'json',
|
|
url:api + '/api/moratorium/details',
|
|
success:function(data){
|
|
percent_mora = data['percent_mora'];
|
|
}
|
|
});
|
|
|
|
$.ajax({
|
|
method:'GET',
|
|
url: api + '/api/maxpinjaman',
|
|
success:function(data){
|
|
$.each(data,function(index,pinjaman){
|
|
if(pinjaman['user_type'] == 'teller'){
|
|
pinjaman_teller = Number(pinjaman['max']);
|
|
}
|
|
if(pinjaman['user_type'] == 'khazanah'){
|
|
pinjaman_pelulus = Number(pinjaman['max']);
|
|
}
|
|
});
|
|
}
|
|
});
|
|
|
|
|
|
elem_jenisT.prependTo(".infotransaksi");
|
|
|
|
tebusan();
|
|
|
|
|
|
});
|
|
|
|
$("#sltjenistebus").change(function(){
|
|
|
|
|
|
switch($(this).val()){
|
|
case "T":
|
|
elem_jenisT.prependTo(".infotransaksi");
|
|
$('#jenisAT').remove();
|
|
$('#jenisA').remove();
|
|
$('#jenisS').remove();
|
|
$('#jenisP').remove();
|
|
$('#jenisTU').remove();
|
|
|
|
$("#terima_transaksi").prop('disabled', false);
|
|
$('input[type="checkbox"]').hide();
|
|
$('span.spannar').show();
|
|
|
|
$("#bayaran").prop("disabled", true);
|
|
$("#perludibayar").prop("readonly", true);
|
|
$("#bayaran").val(0);
|
|
|
|
$('#calcbayar').val($('#perludibayar').val().replace(/[^0-9.-]+/g,""));
|
|
|
|
tebusan();
|
|
break;
|
|
case "A":
|
|
var jumupah = parseFloat($('#jumlahupah').val().replace(/[^0-9.-]+/g,""));
|
|
// var jumupahrebet = parseFloat($('#bayaranditerima').val().replace(/[^0-9.-]+/g,""));
|
|
|
|
elem_jenisA.prependTo(".infotransaksi");
|
|
$('#jenisAT').remove();
|
|
$('#jenisT').remove();
|
|
$('#jenisS').remove();
|
|
$('#jenisP').remove();
|
|
$('#jenisTU').remove();
|
|
|
|
$("#bayaran").inputFilter(function(value) {
|
|
return /^\d*\.?(?:\d{1,2})?$/.test(value); // Allow digits only, using a RegExp
|
|
});
|
|
|
|
$("#terima_transaksi").prop('disabled', false);
|
|
|
|
$('input[type="checkbox"]').hide();
|
|
$('span.spannar').show();
|
|
|
|
$("#bayaran").prop("disabled", false);
|
|
$("#perludibayar").prop("readonly", true);
|
|
$("#bayaran").val(0);
|
|
|
|
$('#bayaran').val(formatter.format(jumupah));
|
|
tebusan();
|
|
|
|
break;
|
|
case "S":
|
|
elem_jenisS.prependTo(".infotransaksi");
|
|
$('#jenisAT').remove();
|
|
$('#jenisA').remove();
|
|
$('#jenisT').remove();
|
|
$('#jenisP').remove();
|
|
$('#jenisTU').remove();
|
|
|
|
$("#terima_transaksi").prop('disabled', true);
|
|
|
|
$('input[type="checkbox"]').show();
|
|
$('span.spannar').hide();
|
|
|
|
$("#bayaran").prop("disabled", true);
|
|
$("#perludibayar").prop("readonly", false);
|
|
$("#bayaran").val(0);
|
|
|
|
$('.button input').prop('checked', false);
|
|
|
|
tebusan();
|
|
$("#perludibayar").val(0);
|
|
$("#basic-separuh").text('0.00');
|
|
$("#bakipinjaman").val('0.00');
|
|
$('input[type="checkbox"]').prop("checked", false);
|
|
|
|
break;
|
|
case "P":
|
|
|
|
$('input[type="checkbox"]').hide();
|
|
$('span.spannar').show();
|
|
|
|
elem_jenisP.prependTo(".infotransaksi");
|
|
$('#jenisAT').remove();
|
|
$('#jenisA').remove();
|
|
$('#jenisT').remove();
|
|
$('#jenisS').remove();
|
|
$('#jenisTU').remove();
|
|
|
|
$("#terima_transaksi").prop('disabled', false);
|
|
|
|
|
|
$("#tambahpinjam").inputFilter(function(value) {
|
|
return /^\d*\.?(?:\d{1,2})?$/.test(value); // Allow digits only, using a RegExp
|
|
});
|
|
|
|
tebusan();
|
|
|
|
var jumupah = parseFloat($('#jumlahupah').val().replace(/[^0-9.-]+/g,""));
|
|
|
|
$('#bayaranditerima').val(jumupah);
|
|
|
|
var pij = Number($('#tambahpinjamsebenar').val());
|
|
if(pij < 0)
|
|
$("#terima_transaksi").prop('disabled', true);
|
|
|
|
break;
|
|
case "AT":
|
|
elem_jenisAT.prependTo(".infotransaksi");
|
|
$('#jenisA').remove();
|
|
$('#jenisT').remove();
|
|
$('#jenisS').remove();
|
|
$('#jenisP').remove();
|
|
|
|
tebusan();
|
|
|
|
var jumupah = parseFloat($('#jumlahupah').val().replace(/[^0-9.-]+/g,""));
|
|
let percenthargasemasa = parseFloat('{{ number_format($percent_hargaemassemasa,2) }}');
|
|
let jumlebmargin = parseFloat('{{ ($percent_hargaemassemasa > 80) ? $bayaranlebihan : 0 }}');
|
|
let totalbayaran = (percenthargasemasa > 80) ? (jumlebmargin + jumupah) : jumupah;
|
|
$("#terima_transaksi").prop('disabled', false);
|
|
|
|
/* this one is for show the numbering */
|
|
$('input[type="checkbox"]').hide();
|
|
$('span.spannar').show();
|
|
|
|
$("#perludibayarAT").prop("readonly", false);
|
|
|
|
$('#divbayaran').hide();
|
|
$('#basic-addon2').text((percenthargasemasa > 80) ? '80.00' : percenthargasemasa);
|
|
$('#perludibayarAT').val(formatter.format(totalbayaran));
|
|
$('#calcbayar').val(totalbayaran);
|
|
|
|
|
|
break;
|
|
}
|
|
});
|
|
|
|
function tebusan(){
|
|
if(hargajualan != '' ){
|
|
let maxgadaila = "{{ $maxgadai = ($gadai['nilaimarhun'] * 0.7) - $gadai['bakipjm'] }}";
|
|
let maxgadaipembiayaanbaru = "{{ $maxgadaipemb = ($nilaihargasemasa * $pertambahpinjaman) - $gadai['bakipjm'] }}";
|
|
|
|
$('#tambahpinjamsebenar').val(getRoundedMethod(Number(maxgadaipembiayaanbaru).toFixed(2)));
|
|
|
|
$('#divpembiayaanasal').hide();
|
|
$('#divbakihargajualan').show();
|
|
$('#divtelahdibayar').show();
|
|
$('#histbtn').show();
|
|
|
|
//Upah Tawarruq
|
|
let jeniskeuntungan = (tagbaru == 1) ? 'onepercent' : 'asal';
|
|
$.ajax({
|
|
method:'GET',
|
|
url: api + '/api/upahtawarruq/' + kodcaw + '/' + norujukan,
|
|
async:false,
|
|
data: {
|
|
'jeniskeuntungan' : jeniskeuntungan
|
|
},
|
|
dataType: 'json',
|
|
success:function(data){
|
|
if(jeniskeuntungan == 'asal')
|
|
{
|
|
$('#jumlahupah').val(data);
|
|
}else{
|
|
$('#jumlahupah').val(data['pendapatan']);
|
|
$('#jumujrah').val(data['ujrah']);
|
|
$('#jumonepercent').val(data['keuntungan']);
|
|
}
|
|
|
|
}
|
|
});
|
|
|
|
if(pampasan != null){
|
|
$('#jumlahupah').val(pampasan.untung);
|
|
}
|
|
|
|
$.ajax({
|
|
method:'GET',
|
|
url: api + '/api/upahrebettawarruq/' + kodcaw + '/' + norujukan,
|
|
async:false,
|
|
data: {
|
|
'jeniskeuntungan' : jeniskeuntungan
|
|
},
|
|
dataType: 'json',
|
|
success:function(data){
|
|
if(jeniskeuntungan == 'asal'){
|
|
$('#bayaranditerima').val(data);
|
|
}else{
|
|
let ujrah = Number($('#jumujrah').val());
|
|
let onepercent = Number($('#jumonepercent').val());
|
|
|
|
let total = ujrah - data['ujrah'];
|
|
let keuntotal = onepercent - data['keuntungan'];
|
|
$('#jumujrahrebet').val(formatter.format(total.toFixed(2)));
|
|
$('#jumonepercentrebet').val(keuntotal.toFixed(2));
|
|
}
|
|
}
|
|
});
|
|
|
|
//Tebus Tawarruq
|
|
$.ajax({
|
|
method:'GET',
|
|
url: api + '/api/tebustawarruq/' + kodcaw + '/' + norujukan,
|
|
dataType: 'json',
|
|
async:false,
|
|
success:function(harga_tebus){
|
|
if(pampasan != null){
|
|
let pembiayaan = safeMoneyParse(pampasan.pembiayaan);
|
|
let untung = safeMoneyParse(pampasan.untung);
|
|
|
|
$('#perludibayar').val(formatter.format(pembiayaan + untung));
|
|
|
|
$('#duitPelanggan').val(formatter.format(pembiayaan + untung));
|
|
|
|
$('#duitPelanggan').prop('readonly', true);
|
|
}else {
|
|
$('#perludibayar').val(formatter.format(harga_tebus));
|
|
}
|
|
}
|
|
});
|
|
|
|
// Telah dibayar
|
|
$.ajax({
|
|
method:'GET',
|
|
url: api + '/api/transaction/' + norujukan,
|
|
dataType: 'json',
|
|
async:false,
|
|
success:function(data){
|
|
var totaltelahdibayar = 0;
|
|
|
|
if(data == '')
|
|
{
|
|
$('#jumlahtelahdibayar').val(0);
|
|
}
|
|
else
|
|
{
|
|
$.each(data,function(index,transaksi){
|
|
|
|
totaltelahdibayar += parseFloat(transaksi.duit_masuk);
|
|
});
|
|
|
|
$('#jumlahtelahdibayar').val(formatter.format(totaltelahdibayar));
|
|
}
|
|
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
if(hargajualan != ''){
|
|
|
|
//checked box
|
|
// var checkboxes = document.querySelectorAll('input[type="checkbox"]');
|
|
// var checkedOne = Array.prototype.slice.call(checkboxes).some(x => x.checked);
|
|
|
|
//Separuh Bayar Tawarruq
|
|
$(document).on('click', '#checkmarhun', function(e) {
|
|
|
|
var totalCheckboxes = $('input[type="checkbox"]').length;
|
|
let numbernotchecked = $("input:checkbox:not(:checked)").length;
|
|
|
|
var recno = $(this).data('recno');
|
|
var nilaimarhun = $(this).data('nm');
|
|
var marhun = $(this).data('marhun');
|
|
var berat = $(this).data('berat');
|
|
var nilaimarhunhargasemasa = $(this).data('nmhs');
|
|
var nmsemasa = parseFloat("{{ $nilaihargasemasa }}");
|
|
let totalnilaimarhunseparuh = 0;
|
|
|
|
if(totalCheckboxes == (totalCheckboxes - numbernotchecked)){
|
|
return false;
|
|
}
|
|
|
|
|
|
if ($(this).is(':checked')) {
|
|
array_recno.push(recno);
|
|
// array_nm.push(nilaimarhun); //nilai harga lama
|
|
array_marhun.push(marhun);
|
|
array_berat.push(berat);
|
|
array_nm.push(nilaimarhunhargasemasa); //nilai harga semasa
|
|
|
|
|
|
totalmarhun = totalmarhun - parseFloat(nilaimarhun);
|
|
totalmarhunhargasemasa = totalmarhunhargasemasa - parseFloat(nilaimarhunhargasemasa);
|
|
|
|
}else{
|
|
var rm = array_recno.findIndex(x => x === recno);
|
|
// var rmnilai = array_nm.findIndex(y => y == nilaimarhun); // harga lama
|
|
var rmnilai = array_nm.findIndex(y => y == nilaimarhunhargasemasa); // harga lama
|
|
// var rmhargasemasa = array_nmhs.findIndex(y => y == nilaimarhunhargasemasa);
|
|
var rmmarhun = array_marhun.findIndex(z => z == marhun);
|
|
var rmberat = array_berat.findIndex(a => a == berat);
|
|
|
|
array_recno.splice(rm,1);
|
|
// array_nm.splice(rmnilai,1); // yang lama
|
|
array_marhun.splice(rmmarhun,1);
|
|
array_berat.splice(rmberat,1);
|
|
array_nm.splice(rmnilai,1); //yang harga semasa
|
|
|
|
totalmarhun = totalmarhun + parseFloat(nilaimarhun);
|
|
totalmarhunhargasemasa = totalmarhunhargasemasa + parseFloat(nilaimarhunhargasemasa);
|
|
}
|
|
|
|
$.each( array_nm, function( index, value ) {
|
|
totalnilaimarhunseparuh += parseFloat(value);
|
|
});
|
|
|
|
let jenisuntung = (tagbaru == 1) ? 'onepercent' : 'asal';
|
|
|
|
if(numbernotchecked != totalCheckboxes){
|
|
|
|
// console.log(nmsemasa);
|
|
let upah = parseFloat($('#jumlahupah').val());
|
|
let upahujrah = parseFloat($('#jumujrahrebet').val());
|
|
let upahonepercent = parseFloat($('#jumonepercentrebet').val());
|
|
|
|
$.ajax({
|
|
method:'GET',
|
|
url: api + '/api/tebusseparuhtawarruq/' + kodcaw + '/' + norujukan,
|
|
dataType: 'json',
|
|
data:{
|
|
"array_recno" : array_recno,
|
|
"hargasemasa" : nmsemasa,
|
|
"jeniskeuntungan" : jenisuntung
|
|
},
|
|
success:function(success){
|
|
// let bayarz = $('#bayaran').val(formatter.format(success));
|
|
|
|
bayaranseparuhasal = Number(success);
|
|
let bakihargajual = $('#bakihargajualan').val().replace(/[^0-9.-]+/g,"");
|
|
|
|
let totalbakipinjam = parseFloat($('#pinjaman').val().replace(/[^0-9.-]+/g,"")) - success;
|
|
|
|
let bakinm = nmsemasa - totalnilaimarhunseparuh;
|
|
var totalcalculate = ((totalbakipinjam/bakinm)*100);
|
|
|
|
if(totalcalculate > (pertambahpinjaman * 100)){
|
|
var max = bakinm * pertambahpinjaman;
|
|
var maxpjm = totalbakipinjam - max;
|
|
|
|
totalbakipinjam -= maxpjm;
|
|
bayaranseparuhasal += maxpjm;
|
|
totalcalculate = ((totalbakipinjam)/bakinm)*100;
|
|
}
|
|
|
|
let total = bayaranseparuhasal + upah - (upahujrah + upahonepercent);
|
|
total = getRoundedMethod(total);
|
|
totalbakipinjam = getRoundedMethod(totalbakipinjam);
|
|
|
|
$('#perludibayar').val(formatter.format(total.toFixed(2)));
|
|
$('#basic-separuh').text(formatter.format(Number(totalcalculate.toFixed(2))));
|
|
$('#bakipinjaman').val(formatter.format(totalbakipinjam.toFixed(2)));
|
|
|
|
$("#terima_transaksi").prop('disabled', false);
|
|
|
|
},error:function(xhr, textStatus, errorThrown){
|
|
console.log(xhr.responseText);
|
|
console.log(textStatus);
|
|
}
|
|
});
|
|
|
|
}else{
|
|
$("#terima_transaksi").prop('disabled', true);
|
|
$('#perludibayar').val(0);
|
|
$('#bakipinjaman').val(0);
|
|
$('#basic-separuh').text(0)
|
|
$('#bayaran').val(0);
|
|
|
|
}
|
|
});
|
|
|
|
|
|
}
|
|
|
|
function bayarkey(e){
|
|
|
|
$('#bakiPelanggan').val('0.00');
|
|
$('#duitPelanggan').val('');
|
|
|
|
if($('#sltjenistebus').find(":selected").val() == 'S'){
|
|
let byr = $(e).val().replace(/[^0-9.-]+/g,"");
|
|
let total = 0;
|
|
let pdbyr = 0;
|
|
let totalseparuh = 0;
|
|
let totalnilaimarhunseparuh = 0;
|
|
var nmsemasa = parseFloat("{{ $nilaihargasemasa }}");
|
|
let upah = parseFloat($('#jumlahupah').val());
|
|
let ujrahrebet = parseFloat($('#jumujrahrebet').val().replace(/[^0-9.-]+/g,""));
|
|
let onepercentrebet = parseFloat($('#jumonepercentrebet').val().replace(/[^0-9.-]+/g,""));
|
|
|
|
let rebet = ujrahrebet + onepercentrebet;
|
|
|
|
$.each( array_nm, function( index, value ) {
|
|
totalnilaimarhunseparuh += parseFloat(value);
|
|
});
|
|
|
|
pdbyr = parseFloat(byr);
|
|
total = $('#pinjaman').val().replace(/[^0-9.-]+/g,"") - (pdbyr - upah + rebet);
|
|
let totaldibayar = parseFloat($('#pinjaman').val().replace(/[^0-9.-]+/g,"")) + (upah - rebet);
|
|
|
|
let bakinm = nmsemasa - totalnilaimarhunseparuh;
|
|
|
|
let totalkurang = bayaranseparuhasal + (upah - rebet);
|
|
let tenpercentmarhun = bakinm * 0.1;
|
|
let tenpercentblock = getRoundedMethod(tenpercentmarhun);
|
|
|
|
|
|
var totalcalculate = ((total/bakinm)*100);
|
|
|
|
if(byr < totalkurang){
|
|
let test = totalkurang - (upah + rebet);
|
|
|
|
let bakipjm = parseFloat($('#pinjaman').val().replace(/[^0-9.-]+/g,"")) - (bayaranseparuhasal);
|
|
totalcalculate = ((bakipjm/bakinm) * 100);
|
|
|
|
$(e).val(formatter.format(totalkurang.toFixed(2)));
|
|
$('#bakipinjaman').val(formatter.format(bakipjm.toFixed(2)));
|
|
$('#basic-separuh').text(formatter.format(Number(totalcalculate.toFixed(2))));
|
|
return false;
|
|
}
|
|
|
|
if(total < tenpercentblock){
|
|
let temptotal = totaldibayar - tenpercentblock;
|
|
let tempbakipjm = $('#pinjaman').val().replace(/[^0-9.-]+/g,"") - (temptotal - upah + rebet);
|
|
|
|
totalcalculate = ((tempbakipjm/bakinm) * 100);
|
|
$(e).val(formatter.format(temptotal.toFixed(2)));
|
|
$('#bakipinjaman').val(formatter.format(tempbakipjm.toFixed(2)));
|
|
$('#basic-separuh').text(formatter.format(Number(totalcalculate.toFixed(2))));
|
|
return false;
|
|
}
|
|
|
|
|
|
|
|
$('#bakipinjaman').val(total.toFixed(2));
|
|
$('#basic-separuh').text(Number(totalcalculate.toFixed(2)));
|
|
}
|
|
}
|
|
|
|
function bayartawarruq(e){
|
|
var keuntungan = parseFloat($('#jumlahupah').val().replace(/[^0-9.-]+/g,""));
|
|
var bayaran = parseFloat(e.value);
|
|
var pinjamasal = parseFloat($('#pinjamanasal').val().replace(/[^0-9.-]+/g,""));
|
|
|
|
|
|
var nm = parseFloat("{{ $gadai['nilaimarhun'] }}");
|
|
var nmsemasa = parseFloat("{{ $nilaihargasemasa }}");
|
|
|
|
// console.log(nm+' '+nmsemasa);
|
|
|
|
const percentpinj = parseFloat("{{ $percent_asal }}");
|
|
const percentpemb = parseFloat("{{ $percent_hargaemassemasa }}"); //pembiayaan yang baru
|
|
|
|
if(e.value != ''){
|
|
var bayaran = parseFloat(e.value);
|
|
}else{
|
|
var bayaran = 0;
|
|
}
|
|
|
|
var totalbayaran = keuntungan + bayaran;
|
|
|
|
var pinjaman_baru = pinjamasal - bayaran;
|
|
|
|
var totalsemasa = pinjaman_baru/nmsemasa * 100;
|
|
var total= pinjaman_baru/nm * 100;
|
|
|
|
$('#perludibayartawarruq').val(totalbayaran.toFixed(2));
|
|
$('#hargapembiayaansemasa').val(pinjaman_baru.toFixed(2));
|
|
$('#pinjamanbaru').val(pinjaman_baru.toFixed(2));
|
|
$('#basic-addon2').text(totalsemasa.toFixed(2));
|
|
$('#basic-hargaemas').text(total.toFixed(2));
|
|
}
|
|
|
|
function bayartambahan(e){
|
|
if($('#sltjenistebus').find(":selected").val() == 'A'){
|
|
if(hargajualan == ''){
|
|
|
|
let byr = $(e).val();
|
|
let total = 0;
|
|
let pdbyr = 0;
|
|
|
|
if(byr == ''){
|
|
$('#perludibayar').val($('#jumlahupah').val());
|
|
}else{
|
|
pdbyr = parseFloat(byr) + parseFloat($('#jumlahupah').val());
|
|
|
|
$('#perludibayar').val(pdbyr);
|
|
// $('#perludibayar').val(total);
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
$('#bakiPelanggan').val('0.00');
|
|
$('#duitPelanggan').val('');
|
|
|
|
}
|
|
|
|
function bayaranPelanggan(e){
|
|
let total = 0;
|
|
let bayaran = $('#duitPelanggan').val();
|
|
let perludibayar = 0;
|
|
if ($('#sltjenistebus').find(":selected").val() == 'T'){
|
|
perludibayar = parseFloat($('#perludibayar').val().replace(/[^0-9.-]+/g,""));
|
|
}else if($('#sltjenistebus').find(":selected").val() == 'A'){
|
|
perludibayar = parseFloat($('#bayaran').val().replace(/[^0-9.-]+/g,""));
|
|
}else if($('#sltjenistebus').find(":selected").val() == 'AT'){
|
|
perludibayar = parseFloat($('#perludibayarAT').val().replace(/[^0-9.-]+/g,""));
|
|
}else if($('#sltjenistebus').find(":selected").val() == 'P'){
|
|
perludibayar = parseFloat($('#bayaranditerima').val().replace(/[^0-9.-]+/g,""));
|
|
}else if($('#sltjenistebus').find(":selected").val() == 'S'){
|
|
perludibayar = parseFloat($('#perludibayar').val().replace(/[^0-9.-]+/g,""));
|
|
}
|
|
|
|
total = bayaran - perludibayar;
|
|
$('#bakiPelanggan').val((total > 0) ? formatter.format(total.toFixed(2)) : '0.00');
|
|
|
|
}
|
|
|
|
|
|
function bayarpinjam(e){
|
|
let maxgadaipembiayaanbaru = "{{ $maxgadaipemb = ($nilaihargasemasa * $pertambahpinjaman) - $gadai['bakipjm'] }}";
|
|
|
|
var maxpinjam = getRoundedMethod(Number(maxgadaipembiayaanbaru).toFixed(2));
|
|
var pinjambaru = parseFloat($('#pinjamanbaru').val().replace(/[^0-9.-]+/g,""));
|
|
var pinjam = parseFloat($('#pinjaman').val().replace(/[^0-9.-]+/g,""));
|
|
var pembiayaanbaru = parseFloat($('#hargapembiayaansemasa').val().replace(/[^0-9.-]+/g,"")); //pembiayaan yang baru
|
|
|
|
var nm = parseFloat("{{ $gadai['nilaimarhun'] }}");
|
|
var nmsemasa = parseFloat("{{ $nilaihargasemasa }}");
|
|
|
|
const percentpinj = parseFloat("{{ $percent_asal }}");
|
|
const percentpemb = parseFloat("{{ $percent_hargaemassemasa }}"); //pembiayaan yang baru
|
|
|
|
var totalpinjbaru=0;
|
|
|
|
totalpinjbaru = pinjam + parseFloat(e.value);
|
|
|
|
var maxpinjaman = nmsemasa * pertambahpinjaman;
|
|
|
|
var bakimaxpinjaman = maxpinjaman - totalpinjbaru;
|
|
|
|
$(e).val() == '' ? $('#pinjamanbaru').val(pinjam.toFixed(2)) : $('#pinjamanbaru').val(totalpinjbaru.toFixed(2));
|
|
// $(e).val() == '' ? $('#hargapembiayaansemasa').val(pinjam.toFixed(2)) : $('#hargapembiayaansemasa').val(totalpinjbaru.toFixed(2));
|
|
|
|
if(parseFloat($(e).val()) > maxpinjam){
|
|
$(e).val(maxpinjam);
|
|
|
|
let tot = parseFloat($(e).val()) - parseFloat(maxpinjam);
|
|
let pinjbaru = parseFloat(pinjam) + parseFloat(maxpinjam);
|
|
$('#tambahpinjamsebenar').val(tot.toFixed(2));
|
|
$('#pinjamanbaru').val(pinjbaru.toFixed(2));
|
|
|
|
let percpinjtmbh = pinjbaru / nmsemasa * 100;
|
|
|
|
$('#basic-addon2').text(percpinjtmbh.toFixed(2));
|
|
|
|
Swal.fire('Amaran!',`Tambah Pembiayaan tidak boleh melebihi ${formatter.format(pertambahpinjaman * 100)}% !`,'error');
|
|
|
|
|
|
return false;
|
|
event.preventDefault();
|
|
}
|
|
|
|
var total = totalpinjbaru/nmsemasa * 100;
|
|
var totalsemasa = totalpinjbaru/nm * 100;
|
|
|
|
$(e).val() == '' ? $('#tambahpinjamsebenar').val(maxpinjam.toFixed(2)) : $('#tambahpinjamsebenar').val(bakimaxpinjaman.toFixed(2));
|
|
$(e).val() == '' ? $('#basic-addon2').text(percentpemb.toFixed(2)) : $('#basic-addon2').text(total.toFixed(2));
|
|
// $(e).val() == '' ? $('#basic-hargaemas').text(percentpinj.toFixed(2)) : $('#basic-hargaemas').text(totalsemasa.toFixed(2));
|
|
|
|
}
|
|
|
|
let teller = "{{ Auth::user()->name }}";
|
|
|
|
async function getPampasanByNorujukan(norujukan) {
|
|
|
|
const params = new URLSearchParams({
|
|
kodcaw: kodcaw,
|
|
status: 'all'
|
|
});
|
|
|
|
try {
|
|
const pampasanListResponse = await fetch(`{{ config('api.url') }}/api/palsu/laporan?${params}`, {
|
|
method: 'GET',
|
|
headers: {
|
|
'Content-Type': 'application/json',
|
|
'Accept': 'application/json'
|
|
}
|
|
});
|
|
|
|
if (!pampasanListResponse.ok) {
|
|
throw new Error(`HTTP error! status: ${pampasanListResponse.status}`);
|
|
}
|
|
|
|
const pampasanListData = await pampasanListResponse.json();
|
|
const pampasanList = pampasanListData.filter(pampasan => pampasan.norujukan === norujukan);
|
|
const pampasan = pampasanList.length === 0 ? null : pampasanList.pop();
|
|
|
|
return pampasan;
|
|
|
|
} catch (error) {
|
|
console.error('Failed to fetch pampasan data:', error);
|
|
throw new Error("Something wrong with API");
|
|
}
|
|
}
|
|
|
|
// Helper function for safe money parsing
|
|
const safeMoneyParse = (value) => {
|
|
const parsed = parseFloat(value);
|
|
return isNaN(parsed) ? 0 : Math.round(parsed * 100) / 100; // Round to 2 decimal places
|
|
};
|
|
|
|
async function checkWangPetiBesiEnoughForTuntutanPampasan(pampasan) {
|
|
const currentDate = new Date().toISOString().split('T')[0];
|
|
let wangpetibesi = await fetch(api + '/api/TunaiDiTangan/' + kodcaw + '?tarikh=' + currentDate).then(response => response.json());
|
|
|
|
const nilaimarhun = safeMoneyParse(pampasan.nilaimarhun);
|
|
const pembiayaan = safeMoneyParse(pampasan.pembiayaan);
|
|
const untung = safeMoneyParse(pampasan.untung);
|
|
|
|
const jumlahpampasan = safeMoneyParse(nilaimarhun - pembiayaan - untung);
|
|
|
|
const balancewangpetibesiafterdeduct = wangpetibesi - jumlahpampasan < 0 ? false : true;
|
|
|
|
if(! balancewangpetibesiafterdeduct){
|
|
Swal.fire({
|
|
title: 'Peringatan',
|
|
html: `
|
|
<p>Wang peti besi tidak mencukupi untuk proses tuntutan pampasan</p>
|
|
<br>
|
|
<div style="text-align: left; margin: 0 auto; display: inline-block;">
|
|
<strong>Wang Peti Besi:</strong> RM ${formatter.format(wangpetibesi)}<br><br>
|
|
<strong>Jumlah Diperlukan:</strong> RM ${formatter.format(jumlahpampasan)}<br><br>
|
|
<strong>Kekurangan:</strong> <span style="color: red;">RM ${formatter.format(jumlahpampasan - wangpetibesi)}</span>
|
|
</div>
|
|
`,
|
|
icon: 'warning'
|
|
});
|
|
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
async function bayaransemua()
|
|
{
|
|
// Instantiate pampasan using the JavaScript function
|
|
const pampasan = await getPampasanByNorujukan(norujukan);
|
|
|
|
if(pampasan != null){
|
|
if(pampasan && !pampasan.hasOwnProperty('agreement_printed_at')){
|
|
Swal.fire({
|
|
title: 'Peringatan',
|
|
text: 'Sila print surat perjanjian',
|
|
icon: 'warning'
|
|
});
|
|
return; // Exit early if agreement not printed
|
|
}
|
|
|
|
const isEnough = await checkWangPetiBesiEnoughForTuntutanPampasan(pampasan);
|
|
|
|
if(! isEnough){
|
|
return;
|
|
}
|
|
|
|
}
|
|
|
|
if(pampasan != null){
|
|
const result = await Swal.fire({
|
|
title: 'Pengesahan Proses Tuntutan Pampasan',
|
|
html: `
|
|
<div style="text-align: left; margin: 20px 0; min-width: 500px;">
|
|
<p><strong>Sila pastikan wang untuk proses tuntutan pampasan adalah mencukupi.</strong></p>
|
|
<br>
|
|
<p style="color: #d33; font-weight: bold;">⚠️ Proses tidak dapat diundur</p>
|
|
<p style="color: #d33;">⚠️ Short wang teller atau peti besi akan ditanggung oleh anda</p>
|
|
<br>
|
|
<p>Adakah anda ingin meneruskan proses ini?</p>
|
|
</div>
|
|
`,
|
|
icon: 'question',
|
|
showCancelButton: true,
|
|
confirmButtonColor: '#3085d6',
|
|
cancelButtonColor: '#d33',
|
|
confirmButtonText: 'Ya, Teruskan',
|
|
cancelButtonText: 'Batal',
|
|
allowOutsideClick: false,
|
|
allowEscapeKey: false,
|
|
width: '600px'
|
|
});
|
|
|
|
if (!result.isConfirmed) {
|
|
return; // Exit if user cancels
|
|
}
|
|
}
|
|
|
|
$("#terima_transaksi").prop('disabled', true);
|
|
// Swal.fire({
|
|
// title: 'Memuatkan...',
|
|
// allowEscapeKey : false,
|
|
// allowOutsideClick: false,
|
|
// didOpen: function () {
|
|
// Swal.showLoading();
|
|
// }
|
|
// });
|
|
|
|
var jumupah = parseFloat($('#jumlahupah').val().replace(/[^0-9.-]+/g,""));
|
|
|
|
if($('#sltjenistebus').find(":selected").val() == 'T'){
|
|
|
|
var adadah = false;
|
|
var adaonline = false;
|
|
|
|
$.ajax({
|
|
method:'get',
|
|
datatype: 'json',
|
|
url: api + '/api/listpenebusanhistory/' + kodcaw,
|
|
async:false,
|
|
data: { 'norujukan' : norujukan },
|
|
success:function(success_data){
|
|
var count = Object.keys(success_data).length;
|
|
|
|
if(count > 0)
|
|
{
|
|
Swal.close();
|
|
Swal.fire('Amaran!','Tebus sudah dibuat sila tekan butang batal!','error');
|
|
$("#terima_transaksi").prop('disabled', false);
|
|
adadah = true;
|
|
}
|
|
}
|
|
});
|
|
|
|
$.ajax({
|
|
method:'get',
|
|
datatype: 'json',
|
|
url: api + '/portal/searchsagonline/',
|
|
async:false,
|
|
data: { 'norujukan' : norujukan },
|
|
success:function(success_data){
|
|
|
|
if(success_data == true)
|
|
{
|
|
Swal.close();
|
|
Swal.fire('Amaran!','Bayaran online dalam proses!','error');
|
|
$("#terima_transaksi").prop('disabled', false);
|
|
adaonline = true;
|
|
}
|
|
|
|
}
|
|
});
|
|
|
|
if(adadah === true || adaonline === true)
|
|
{
|
|
return false;
|
|
event.preventDefault();
|
|
}
|
|
|
|
let jenisbayarantebus = '';
|
|
|
|
if(hargajualan == '')
|
|
{
|
|
jenisbayarantebus = "nottawarruq";
|
|
}
|
|
else if (hargajualan != ''){
|
|
jenisbayarantebus = "tawarruq";
|
|
}
|
|
|
|
//tambahan untuk one percent
|
|
let jeniskeuntungan = '';
|
|
if(tagbaru == 1){
|
|
jeniskeuntungan = "onepercent";
|
|
}
|
|
else{
|
|
jeniskeuntungan = "asal";
|
|
}
|
|
|
|
var nopelanggan = "{{ $gadai['nopelanggan'] }}";
|
|
var jenistebus = $('#sltjenistebus').find(":selected").val();
|
|
var jbg = "{{ $gadai['tempoh'] }}";
|
|
var kadarupah = "{{ $gadai['kadarupah'] }}";
|
|
var nilai_marhun = "{{ $gadai['nilaimarhun']}}";
|
|
var pinjaman = "{{ $gadai['pinjaman']}}";
|
|
var ansuran = 0;
|
|
var addpinjaman = 0;
|
|
var bakipinjaman = $('#perludibayar').val().replace(/[^0-9.-]+/g,"");
|
|
var bakiupah = $('#jumlahupah').val().replace(/[^0-9.-]+/g,"");
|
|
var historygadaian = 0;
|
|
var marhun = "{{ $gadai['marhun'] }}";
|
|
var nowakil = nw;
|
|
var duitpelanggan = $('#duitPelanggan').val().replace(/[^0-9.-]+/g,"");
|
|
var bakipelanggan = $('#bakiPelanggan').val().replace(/[^0-9.-]+/g,"");
|
|
|
|
|
|
if(Number(duitpelanggan) < Number(bakipinjaman)){
|
|
Swal.close();
|
|
Swal.fire('Amaran!','Duit Pelanggan haruslah diisi melebihi perlu dibayar!','error');
|
|
$("#terima_transaksi").prop('disabled', false);
|
|
|
|
event.preventDefault();
|
|
return false;
|
|
}
|
|
|
|
$.ajax({
|
|
method:'get',
|
|
datatype: 'json',
|
|
url: "{{ route('tebus.penuh') }}",
|
|
data:{
|
|
"kodcaw" : kodcaw,
|
|
"norujukan" : norujukan,
|
|
"nopelanggan" : nopelanggan,
|
|
"jenistebus" : jenistebus,
|
|
"jbg" : jbg,
|
|
"kadarupah" : kadarupah,
|
|
"nilai_marhun" : nilai_marhun,
|
|
"pinjaman" : pinjaman,
|
|
"ansuran" : ansuran,
|
|
"addpinjaman" : addpinjaman,
|
|
"bakipinjaman" : bakipinjaman,
|
|
"bakiupah" : bakiupah,
|
|
"historygadaian" : historygadaian,
|
|
"marhun" : marhun,
|
|
"nowakil" : nowakil,
|
|
"jenisbayarantebus" : jenisbayarantebus,
|
|
"jeniskeuntungan" : jeniskeuntungan,
|
|
"teller" : teller,
|
|
"duitpelanggan" : duitpelanggan,
|
|
"bakipelanggan" : bakipelanggan,
|
|
},
|
|
success:function(success_data){
|
|
|
|
|
|
if(success_data == 'success')
|
|
{
|
|
if(jenisbayarantebus == "tawarruq")
|
|
{
|
|
var urlroute = '{{ route("resit.tebus", ":id") }}';
|
|
urlroute = urlroute.replace(':id', norujukan);
|
|
|
|
}else{
|
|
var urlroute = '{{ route("resit.belumtebus", ":id") }}';
|
|
urlroute = urlroute.replace(':id', norujukan);
|
|
}
|
|
|
|
$.ajax({
|
|
method: 'put',
|
|
url: "{{ route('alirantunai.tebus') }}",
|
|
async:false,
|
|
data:{
|
|
'norujukan' : norujukan,
|
|
"_token": "{{ csrf_token() }}"
|
|
},
|
|
success:function(data){
|
|
console.log(data);
|
|
}, error: function(xhr, status, error) {
|
|
var err = eval("(" + xhr.responseText + ")");
|
|
alert(xhr.responseText);
|
|
}
|
|
});
|
|
|
|
Swal.close();
|
|
Swal.fire({
|
|
icon: 'success',
|
|
title: 'Berjaya!',
|
|
text: 'Penebusan Berjaya',
|
|
}).then(function() {
|
|
window.open(urlroute, '_blank');
|
|
window.location.replace("{{ route('customer_info') }}");
|
|
})
|
|
}
|
|
else{
|
|
Swal.close();
|
|
Swal.fire({
|
|
icon: 'error',
|
|
title: 'Amaran!',
|
|
text: 'norujukan Sudah ditebus di dalam table gadai!',
|
|
});
|
|
}
|
|
}
|
|
});
|
|
|
|
|
|
/////////////
|
|
//End File//
|
|
///////////
|
|
|
|
}else if($('#sltjenistebus').find(":selected").val() == 'A'){
|
|
let adadah = false;
|
|
|
|
$.ajax({
|
|
method:'get',
|
|
datatype: 'json',
|
|
url: api + '/api/listpenebusanhistory/' + kodcaw,
|
|
async:false,
|
|
data: { 'norujukan' : norujukan },
|
|
success:function(success_data){
|
|
var count = Object.keys(success_data).length;
|
|
|
|
if(count > 0)
|
|
{
|
|
Swal.close();
|
|
Swal.fire('Amaran!','Tebus sudah dibuat sila tekan butang batal!','error');
|
|
$("#terima_transaksi").prop('disabled', false);
|
|
|
|
adadah = true;
|
|
}
|
|
}
|
|
});
|
|
|
|
if(adadah == true)
|
|
{
|
|
return false;
|
|
event.preventDefault();
|
|
}
|
|
|
|
|
|
let jenisbayarantebus = '';
|
|
let jeniskeuntungan = (tagbaru == 1) ? 'onepercent' : 'asal';
|
|
|
|
let hadbayaransuran = (parseFloat("{{ $gadai['nilaimarhun']}}") * 0.1);
|
|
|
|
var bayar = Number(parseFloat($('#bayaran').val().replace(/[^0-9.-]+/g,"")).toFixed(2));
|
|
var bakipinjam = parseFloat("{{ $gadai['bakipjm'] }}") - hadbayaransuran + jumupah;
|
|
var duitpelanggan = parseFloat($('#duitPelanggan').val().replace(/[^0-9.-]+/g,""));
|
|
var bakipelanggan = parseFloat($('#bakiPelanggan').val().replace(/[^0-9.-]+/g,""));
|
|
|
|
if(isNaN(duitpelanggan)) duitpelanggan = 0;
|
|
|
|
if(Number(duitpelanggan) < Number(bayar)){
|
|
Swal.close();
|
|
Swal.fire('Amaran!','Duit Pelanggan haruslah diisi melebihi perlu dibayar!','error');
|
|
$("#terima_transaksi").prop('disabled', false);
|
|
|
|
event.preventDefault();
|
|
return false;
|
|
}
|
|
|
|
if(bayar < jumupah){
|
|
$("#terima_transaksi").prop('disabled', false);
|
|
Swal.fire(
|
|
'Amaran!',
|
|
'Bayaran tidak boleh kurang dari kos keuntungan semasa',
|
|
'error'
|
|
)
|
|
return false;
|
|
}
|
|
|
|
if(bayar > bakipinjam){
|
|
$("#terima_transaksi").prop('disabled', false);
|
|
Swal.fire(
|
|
'Amaran!',
|
|
'Bayaran tidak boleh melebihi 10% nilai marhun!',
|
|
'error'
|
|
)
|
|
return false;
|
|
}
|
|
|
|
$.ajax({
|
|
method:'get',
|
|
url: "{{ route('bayaran.ansuranstawarruq') }}",
|
|
data:{
|
|
"bayaran" : bayar,
|
|
"kodcaw" : kodcaw,
|
|
"norujukan" : norujukan,
|
|
"teller" : teller,
|
|
"nowakil" : nw,
|
|
"duitpelanggan" : duitpelanggan,
|
|
"bakipelanggan" : bakipelanggan,
|
|
"jeniskeuntungan" : jeniskeuntungan
|
|
},
|
|
success:function(success_data){
|
|
|
|
if(success_data == 'success'){
|
|
var urlroute = '{{ route("resit.ansurans", ":id") }}';
|
|
urlroute = urlroute.replace(':id', norujukan);
|
|
|
|
Swal.fire(
|
|
'Berjaya!',
|
|
'Bayaran Ansuran Berjaya',
|
|
'success'
|
|
).then(function() {
|
|
window.open(urlroute, '_blank');
|
|
window.location.replace("{{ route('customer_info') }}");
|
|
})
|
|
}else{
|
|
Swal.fire(
|
|
'Tidak Berjaya!',
|
|
'Bayaran ansuran tidak berjaya!',
|
|
'error'
|
|
);
|
|
}
|
|
|
|
}
|
|
});
|
|
|
|
}else if($('#sltjenistebus').find(":selected").val() == 'S'){
|
|
|
|
let adadah = false;
|
|
|
|
let komuditiblock = false;
|
|
$.ajax({
|
|
method:'get',
|
|
url: api + '/api/komuditi/check',
|
|
async:false,
|
|
success:function(komoditi){
|
|
var check_komuditi = Object.keys(komoditi).length;
|
|
if(check_komuditi == 0){
|
|
$("#terima_transaksi").prop('disabled', false);
|
|
Swal.fire({
|
|
icon: 'error',
|
|
title: 'Unit Komuditi Berbaki Minumum',
|
|
text: 'Sila Hubungi Operasi Untuk Membuat Pembelian Komuditi'
|
|
});
|
|
komuditiblock = true;
|
|
event.preventDefault();
|
|
return false;
|
|
}else{
|
|
if(Number(komoditi['unit_komuditi']) < pinjaman_baru){
|
|
$("#terima_transaksi").prop('disabled', false);
|
|
Swal.fire({
|
|
icon: 'error',
|
|
title: 'Baki Unit Komuditi Tidak Mencukupi',
|
|
text: 'Sila Hubungi Operasi Untuk Membuat Pembelian Komuditi'
|
|
});
|
|
komuditiblock = true;
|
|
event.preventDefault();
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
});
|
|
if(komuditiblock){
|
|
event.preventDefault();
|
|
return false;
|
|
}
|
|
|
|
$.ajax({
|
|
method:'get',
|
|
datatype: 'json',
|
|
url: api + '/api/listpenebusanhistory/' + kodcaw,
|
|
async:false,
|
|
data: { 'norujukan' : norujukan },
|
|
success:function(success_data){
|
|
var count = Object.keys(success_data).length;
|
|
|
|
if(count > 0)
|
|
{
|
|
Swal.fire('Amaran!','Tebus sudah dibuat sila tekan butang batal!','error');
|
|
$("#terima_transaksi").prop('disabled', false);
|
|
|
|
adadah = true;
|
|
}
|
|
}
|
|
});
|
|
|
|
if(adadah == true)
|
|
{
|
|
return false;
|
|
event.preventDefault();
|
|
}
|
|
|
|
let separuhla = parseFloat($('#basic-separuh').text());
|
|
let pinjamanbaru = $('#bakipinjaman').val();
|
|
|
|
if(separuhla <= 10)
|
|
{
|
|
$("#terima_transaksi").prop('disabled', false);
|
|
Swal.fire('Amaran!','Margin Pembiayaan kurang daripada 10%!','error');
|
|
return false;
|
|
}
|
|
|
|
if(separuhla >= 80)
|
|
{
|
|
$("#terima_transaksi").prop('disabled', false);
|
|
Swal.fire('Amaran!','Margin Pembiayaan lebih daripada 80%!','error');
|
|
return false;
|
|
}
|
|
|
|
if($('#perludibayar').val() < (parseFloat($('#bayaran').val()) + parseFloat($('#jumlahupah').val())))
|
|
{
|
|
$("#terima_transaksi").prop('disabled', false);
|
|
Swal.fire('Amaran!','Jumlah bayaran kurang daripada jumlah yang perlu dibayar!','error');
|
|
return false;
|
|
}
|
|
|
|
|
|
let maxbayaran = totalmarhun * 0.1;
|
|
|
|
if($('#bakipinjaman').val() < maxbayaran || $('#bakipinjaman').val() < 50){
|
|
$("#terima_transaksi").prop('disabled', false);
|
|
Swal.fire(
|
|
'Amaran!',
|
|
`Baki margin pinjaman tidak boleh kurang 10% daripada nilai marhun \n [ RM ${totalmarhun.toFixed(2)} x 10% = RM ${maxbayaran.toFixed(2)} ]`,
|
|
'error'
|
|
)
|
|
return false;
|
|
}
|
|
|
|
//checked box
|
|
var checkboxes = document.querySelectorAll('input[type="checkbox"]');
|
|
var checkedOne = Array.prototype.slice.call(checkboxes).some(x => x.checked);
|
|
if (checkedOne == false) {
|
|
$("#terima_transaksi").prop('disabled', false);
|
|
Swal.fire(
|
|
'Amaran!',
|
|
'Sila tick salah satu marhun!',
|
|
'error'
|
|
)
|
|
return false;
|
|
}
|
|
|
|
if(separuhla > 75 && separuhla <= 80){
|
|
|
|
const swalWithBootstrapButtons = Swal.mixin({
|
|
customClass: {
|
|
confirmButton: 'btn btn-success',
|
|
cancelButton: 'btn btn-danger'
|
|
},
|
|
buttonsStyling: false
|
|
});
|
|
|
|
swalWithBootstrapButtons.fire({
|
|
title: 'Dapatkan Pengesahan Khazanah',
|
|
text: "Tetapan margin melebihi 75% untuk Khazanah!",
|
|
icon: 'info',
|
|
showCancelButton: true,
|
|
confirmButtonText: 'Hantar',
|
|
cancelButtonText: 'Batal',
|
|
reverseButtons: true
|
|
}).then((result) => {
|
|
if (result.isConfirmed) {
|
|
|
|
let nm = parseFloat($('#nilai_marhun_total_fix').text().replace(/[^0-9.-]+/g,""));let ber = $('#berat_marhun_total').text();let marg = separuhla;
|
|
// let komen = "Pembiayaan Melebihi Margin 70%|" + nm + "|" + ber + "|" + marg + "| Tebus Separuh";
|
|
let status = "[Tebus Separuh] Pembiayaan Melebihi Margin " + pinjaman_teller + "%";
|
|
let jumpinjam = $('#bakipinjaman').val();
|
|
let teller = "{{ Auth::user()->name }}";
|
|
|
|
Swal.fire({
|
|
title: 'Tunggu Pengesahan Daripada Khazanah.',
|
|
icon: 'info',
|
|
width: 600,
|
|
padding: '3em',
|
|
background: '#fffff',
|
|
showCancelButton: false,
|
|
showConfirmButton: false,
|
|
allowOutsideClick: false,
|
|
allowEscapeKey: false,
|
|
allowEnterKey: false
|
|
})
|
|
let siricreated = 0;
|
|
$.ajax({
|
|
method:'post',
|
|
url: "{{ route('khazanah.createkelulusan') }}",
|
|
data: {
|
|
"_token": "{{ csrf_token() }}",
|
|
"norujukan" : norujukan,
|
|
"komen" : '',
|
|
"margin" : marg,
|
|
"berat" : ber,
|
|
"nilaimarhun" : nm,
|
|
"status" : status,
|
|
"jumpinjam" : jumpinjam,
|
|
"teller" : teller
|
|
},
|
|
success:function(data){
|
|
siricreated = data;
|
|
},
|
|
error: function(xhr, status, error) {
|
|
var err = eval("(" + xhr.responseText + ")");
|
|
alert(xhr.responseText);
|
|
}
|
|
});
|
|
|
|
var pusher = new Pusher("{{ env('PUSHER_APP_KEY') }}", {
|
|
cluster: 'ap1',
|
|
encrypted: true
|
|
});
|
|
|
|
var channel = pusher.subscribe('notice-kelulusan');
|
|
channel.bind('my-kelulusan', function(data) {
|
|
console.log(data);
|
|
|
|
if(data.norujukan == norujukan && data.siri == siricreated && data.teller == teller)
|
|
{
|
|
if(data.kelulusan == 'lulus')
|
|
{
|
|
Swal.fire({
|
|
icon: 'success',
|
|
title: 'Telah Disahkan',
|
|
text: `Komen : ${data.komen}`
|
|
}).then(function(){
|
|
gadaiseparuhfunc();
|
|
});
|
|
|
|
}
|
|
else if(data.kelulusan == 'batal')
|
|
{
|
|
Swal.fire({
|
|
icon: 'warning',
|
|
title: 'Telah Dibatalkan',
|
|
text: `Komen : ${data.komen}`
|
|
}).then(function(){
|
|
return false;
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
} else if (result.dismiss === Swal.DismissReason.cancel) {
|
|
$("#terima_transaksi").prop('disabled', false);
|
|
swalWithBootstrapButtons.fire(
|
|
'Gagal',
|
|
'Gagal mendapatkan kelulusan khazanah',
|
|
'error'
|
|
)
|
|
}
|
|
});
|
|
event.preventDefault();
|
|
return false;
|
|
|
|
}else if(pinjamanbaru >= 10000){
|
|
|
|
const swalWithBootstrapButtons = Swal.mixin({
|
|
customClass: {
|
|
confirmButton: 'btn btn-success',
|
|
cancelButton: 'btn btn-danger'
|
|
},
|
|
buttonsStyling: false
|
|
});
|
|
|
|
let text = '';
|
|
if(pinjamanbaru >= 10000)
|
|
{
|
|
text = 'Pembiayaan melebihi RM 10,000!';
|
|
}
|
|
|
|
|
|
swalWithBootstrapButtons.fire({
|
|
title: 'Dapatkan Pengesahan Operasi',
|
|
text: text,
|
|
icon: 'info',
|
|
showCancelButton: true,
|
|
confirmButtonText: 'Hantar',
|
|
cancelButtonText: 'Batal',
|
|
reverseButtons: true
|
|
}).then((result) => {
|
|
if (result.isConfirmed) {
|
|
|
|
let nm = parseFloat($('#nilai_marhun_total_fix').text().replace(/[^0-9.-]+/g,""));let ber = $('#berat_marhun_total').text();let marg = separuhla;
|
|
let komen = '';
|
|
if(pinjamanbaru >= 10000)
|
|
{
|
|
komen = "[Tebus Separuh] Pembiayaan Melebihi RM 10,000";
|
|
}
|
|
|
|
let jumpinjam = $('#bakipinjaman').val();
|
|
let status = komen;
|
|
let teller = "{{ Auth::user()->name }}";
|
|
|
|
Swal.fire({
|
|
title: 'Tunggu Pengesahan Daripada Khazanah-Operasi.',
|
|
icon: 'info',
|
|
width: 600,
|
|
padding: '3em',
|
|
background: '#fffff',
|
|
showCancelButton: false,
|
|
showConfirmButton: false,
|
|
allowOutsideClick: false,
|
|
allowEscapeKey: false,
|
|
allowEnterKey: false
|
|
})
|
|
let siricreated = 0;
|
|
$.ajax({
|
|
method:'post',
|
|
url: "{{ route('operasi.createkelulusan') }}",
|
|
data: {
|
|
"_token": "{{ csrf_token() }}",
|
|
"norujukan" : norujukan,
|
|
"komen" : '',
|
|
"margin" : marg,
|
|
"berat" : ber,
|
|
"nilaimarhun" : nm,
|
|
"status" : status,
|
|
"jumpinjam" : jumpinjam,
|
|
"teller" : teller
|
|
},
|
|
success:function(data){
|
|
siricreated = data;
|
|
},
|
|
error: function(xhr, status, error) {
|
|
var err = eval("(" + xhr.responseText + ")");
|
|
alert(xhr.responseText);
|
|
}
|
|
});
|
|
|
|
|
|
var pusher = new Pusher("{{ env('PUSHER_APP_KEY') }}", {
|
|
cluster: 'ap1',
|
|
encrypted: true
|
|
});
|
|
|
|
var channel = pusher.subscribe('notice-kelulusan');
|
|
channel.bind('my-kelulusan', function(data) {
|
|
|
|
|
|
if(data.norujukan == norujukan && data.siri == siricreated && data.teller == teller)
|
|
{
|
|
if(data.kelulusan == 'lulus')
|
|
{
|
|
Swal.fire({
|
|
icon: 'success',
|
|
title: 'Telah Disahkan',
|
|
text: `Komen : ${data.komen}`
|
|
}).then(function(){
|
|
gadaiseparuhfunc();
|
|
return true;
|
|
});
|
|
|
|
}
|
|
else if(data.kelulusan == 'batal')
|
|
{
|
|
Swal.fire({
|
|
icon: 'warning',
|
|
title: 'Telah Dibatalkan',
|
|
text: `Komen : ${data.komen}`
|
|
}).then(function(){
|
|
$("#terima_gadai").prop('disabled', false);
|
|
return false;
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
}else if (result.dismiss === Swal.DismissReason.cancel){
|
|
$("#terima_transaksi").prop('disabled', false);
|
|
swalWithBootstrapButtons.fire(
|
|
'Gagal',
|
|
'Gagal mendapatkan kelulusan operasi',
|
|
'error'
|
|
)
|
|
}
|
|
});
|
|
event.preventDefault();
|
|
return false;
|
|
|
|
}else if(separuhla > 80){
|
|
$("#terima_transaksi").prop('disabled', false);
|
|
Swal.fire(
|
|
'Amaran!',
|
|
'Pinjaman Haruslah Dalam Lingkungan 80%!',
|
|
'error'
|
|
)
|
|
return false;
|
|
}
|
|
|
|
|
|
gadaiseparuhfunc();
|
|
|
|
/////////////
|
|
//End File//
|
|
///////////
|
|
|
|
}else if($('#sltjenistebus').find(":selected").val() == 'P'){
|
|
let pinjamanbaru = $('#hargapembiayaansemasa').val();
|
|
let jenisbayarantebus = '';
|
|
if(hargajualan == ''){
|
|
jenisbayarantebus = "nottawarruq";
|
|
}else if (hargajualan != ''){
|
|
jenisbayarantebus = "tawarruq";
|
|
}
|
|
|
|
let adadah = false;
|
|
let komuditiblock = false;
|
|
$.ajax({
|
|
method:'get',
|
|
url: api + '/api/komuditi/check',
|
|
async:false,
|
|
success:function(komoditi){
|
|
var check_komuditi = Object.keys(komoditi).length;
|
|
if(check_komuditi == 0){
|
|
$("#terima_transaksi").prop('disabled', false);
|
|
Swal.close();
|
|
Swal.fire({
|
|
icon: 'error',
|
|
title: 'Unit Komuditi Berbaki Minumum',
|
|
text: 'Sila Hubungi Operasi Untuk Membuat Pembelian Komuditi'
|
|
});
|
|
komuditiblock = true;
|
|
event.preventDefault();
|
|
return false;
|
|
}else{
|
|
if(Number(komoditi['unit_komuditi']) < pinjaman_baru){
|
|
$("#terima_transaksi").prop('disabled', false);
|
|
Swal.close();
|
|
Swal.fire({
|
|
icon: 'error',
|
|
title: 'Baki Unit Komuditi Tidak Mencukupi',
|
|
text: 'Sila Hubungi Operasi Untuk Membuat Pembelian Komuditi'
|
|
});
|
|
komuditiblock = true;
|
|
event.preventDefault();
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
});
|
|
if(komuditiblock){
|
|
event.preventDefault();
|
|
return false;
|
|
}
|
|
|
|
$.ajax({
|
|
method:'get',
|
|
datatype: 'json',
|
|
url: api + '/api/listpenebusanhistory/' + kodcaw,
|
|
async:false,
|
|
data: { 'norujukan' : norujukan },
|
|
success:function(success_data){
|
|
var count = Object.keys(success_data).length;
|
|
|
|
if(count > 0)
|
|
{
|
|
Swal.fire('Amaran!','Tebus sudah dibuat sila tekan butang batal!','error');
|
|
$("#terima_transaksi").prop('disabled', false);
|
|
|
|
adadah = true;
|
|
}
|
|
}
|
|
});
|
|
|
|
if(adadah == true)
|
|
{
|
|
return false;
|
|
event.preventDefault();
|
|
}
|
|
|
|
|
|
if( $('#tambahpinjam').val() <= 0 || $('#tambahpinjam').val() === ''){
|
|
$("#terima_transaksi").prop('disabled', false);
|
|
Swal.fire(
|
|
'Amaran!',
|
|
'Amaun hendaklah melebihi daripada 0',
|
|
'error'
|
|
)
|
|
return false;
|
|
}
|
|
|
|
|
|
if(parseFloat($('#basic-addon2').text()) > 75 && parseFloat($('#basic-addon2').text()) <= 80){
|
|
const swalWithBootstrapButtons = Swal.mixin({
|
|
customClass: {
|
|
confirmButton: 'btn btn-success',
|
|
cancelButton: 'btn btn-danger'
|
|
},
|
|
buttonsStyling: false,
|
|
});
|
|
|
|
swalWithBootstrapButtons.fire({
|
|
title: 'Dapatkan Pengesahan Khazanah',
|
|
text: "Tetapan margin melebihi 75% untuk Khazanah!",
|
|
icon: 'info',
|
|
showCancelButton: true,
|
|
confirmButtonText: 'Hantar',
|
|
cancelButtonText: 'Batal',
|
|
reverseButtons: true
|
|
}).then((result) => {
|
|
if (result.isConfirmed) {
|
|
|
|
let nm = parseFloat($('#nilai_marhun_total_fix').text().replace(/[^0-9.-]+/g,""));let ber = $('#berat_marhun_total').text();let marg = $('#basic-hargaemas').text();
|
|
// let komen = "Pembiayaan Melebihi Margin 70%|" + nm + "|" + ber + "|" + marg + "| Tambah Pinjaman";
|
|
let status = "[Tambah Pinjaman] Pembiayaan Melebihi Margin " + pinjaman_teller + "%";
|
|
let jumpinjam = $('#hargapembiayaansemasa').val();
|
|
let teller = "{{ Auth::user()->name }}";
|
|
|
|
Swal.fire({
|
|
title: 'Tunggu Pengesahan Daripada Khazanah.',
|
|
icon: 'info',
|
|
width: 600,
|
|
padding: '3em',
|
|
background: '#fffff',
|
|
showCancelButton: false,
|
|
showConfirmButton: false,
|
|
allowOutsideClick: false,
|
|
allowEscapeKey: false,
|
|
allowEnterKey: false
|
|
})
|
|
let siricreated = 0;
|
|
$.ajax({
|
|
method:'post',
|
|
url: "{{ route('khazanah.createkelulusan') }}",
|
|
data: {
|
|
"_token": "{{ csrf_token() }}",
|
|
"norujukan" : norujukan,
|
|
"komen" : '',
|
|
"margin" : marg,
|
|
"berat" : ber,
|
|
"nilaimarhun" : nm,
|
|
"status" : status,
|
|
"jumpinjam" : jumpinjam,
|
|
"teller" : teller
|
|
},
|
|
success:function(data){
|
|
siricreated = data;
|
|
},
|
|
error: function(xhr, status, error) {
|
|
var err = eval("(" + xhr.responseText + ")");
|
|
alert(xhr.responseText);
|
|
}
|
|
});
|
|
|
|
var pusher = new Pusher("{{ env('PUSHER_APP_KEY') }}", {
|
|
cluster: 'ap1',
|
|
encrypted: true
|
|
});
|
|
|
|
var channel = pusher.subscribe('notice-kelulusan');
|
|
channel.bind('my-kelulusan', function(data) {
|
|
|
|
console.log(data);
|
|
if(data.norujukan == norujukan && data.siri == siricreated && data.teller == teller)
|
|
{
|
|
if(data.kelulusan == 'lulus')
|
|
{
|
|
Swal.fire({
|
|
icon: 'success',
|
|
title: 'Telah Disahkan',
|
|
text: `Komen : ${data.komen}`
|
|
}).then(function(){
|
|
tambahpinjamanfunc();
|
|
});
|
|
|
|
}
|
|
else if(data.kelulusan == 'batal')
|
|
{
|
|
Swal.fire({
|
|
icon: 'warning',
|
|
title: 'Telah Dibatalkan',
|
|
text: `Komen : ${data.komen}`
|
|
}).then(function(){
|
|
return false;
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
} else if (result.dismiss === Swal.DismissReason.cancel) {
|
|
$("#terima_transaksi").prop('disabled', false);
|
|
swalWithBootstrapButtons.fire(
|
|
'Gagal',
|
|
'Gagal mendapatkan kelulusan khazanah',
|
|
'error'
|
|
)
|
|
}
|
|
});
|
|
event.preventDefault();
|
|
return false;
|
|
|
|
}else if( pinjamanbaru >= 10000){
|
|
|
|
const swalWithBootstrapButtons = Swal.mixin({
|
|
customClass: {
|
|
confirmButton: 'btn btn-success',
|
|
cancelButton: 'btn btn-danger'
|
|
},
|
|
buttonsStyling: false
|
|
});
|
|
|
|
let text = '';
|
|
if(pinjamanbaru >= 10000)
|
|
{
|
|
text = 'Pembiayaan melebihi RM 10,000!';
|
|
}
|
|
|
|
|
|
swalWithBootstrapButtons.fire({
|
|
title: 'Dapatkan Pengesahan Operasi',
|
|
text: text,
|
|
icon: 'info',
|
|
showCancelButton: true,
|
|
confirmButtonText: 'Hantar',
|
|
cancelButtonText: 'Batal',
|
|
reverseButtons: true
|
|
}).then((result) => {
|
|
if (result.isConfirmed) {
|
|
|
|
let nm = parseFloat($('#nilai_marhun_total_fix').text().replace(/[^0-9.-]+/g,""));let ber = $('#berat_marhun_total').text();let marg = $('#basic-hargaemas').text();
|
|
let komen = '';
|
|
if(pinjamanbaru >= 10000)
|
|
{
|
|
komen = "[Tambah Pinjaman] Pembiayaan Melebihi RM 10,000";
|
|
}
|
|
|
|
let status = komen;
|
|
let jumpinjam = $('#hargapembiayaansemasa').val().replace(/[^0-9.-]+/g,"");
|
|
let teller = "{{ Auth::user()->name }}";
|
|
|
|
Swal.fire({
|
|
title: 'Tunggu Pengesahan Daripada Khazanah-Operasi.',
|
|
icon: 'info',
|
|
width: 600,
|
|
padding: '3em',
|
|
background: '#fffff',
|
|
showCancelButton: false,
|
|
showConfirmButton: false,
|
|
allowOutsideClick: false,
|
|
allowEscapeKey: false,
|
|
allowEnterKey: false
|
|
})
|
|
let siricreated = 0;
|
|
$.ajax({
|
|
method:'post',
|
|
url: "{{ route('operasi.createkelulusan') }}",
|
|
data: {
|
|
"_token": "{{ csrf_token() }}",
|
|
"norujukan" : norujukan,
|
|
"komen" : '',
|
|
"margin" : marg,
|
|
"berat" : ber,
|
|
"nilaimarhun" : nm,
|
|
"status" : status,
|
|
"jumpinjam" : jumpinjam,
|
|
"teller" : teller
|
|
},
|
|
success:function(data){
|
|
siricreated = data;
|
|
},
|
|
error: function(xhr, status, error) {
|
|
var err = eval("(" + xhr.responseText + ")");
|
|
alert(xhr.responseText);
|
|
}
|
|
});
|
|
|
|
|
|
var pusher = new Pusher("{{ env('PUSHER_APP_KEY') }}", {
|
|
cluster: 'ap1',
|
|
encrypted: true
|
|
});
|
|
|
|
var channel = pusher.subscribe('notice-kelulusan');
|
|
channel.bind('my-kelulusan', function(data) {
|
|
|
|
|
|
if(data.norujukan == norujukan && data.siri == siricreated && data.teller == teller)
|
|
{
|
|
if(data.kelulusan == 'lulus')
|
|
{
|
|
Swal.fire({
|
|
icon: 'success',
|
|
title: 'Telah Disahkan',
|
|
text: `Komen : ${data.komen}`
|
|
}).then(function(){
|
|
tambahpinjamanfunc();
|
|
return true;
|
|
});
|
|
|
|
}
|
|
else if(data.kelulusan == 'batal')
|
|
{
|
|
Swal.fire({
|
|
icon: 'warning',
|
|
title: 'Telah Dibatalkan',
|
|
text: `Komen : ${data.komen}`
|
|
}).then(function(){
|
|
$("#terima_gadai").prop('disabled', false);
|
|
return false;
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
}else if (result.dismiss === Swal.DismissReason.cancel){
|
|
$("#terima_transaksi").prop('disabled', false);
|
|
swalWithBootstrapButtons.fire(
|
|
'Gagal',
|
|
'Gagal mendapatkan kelulusan operasi',
|
|
'error'
|
|
)
|
|
}
|
|
});
|
|
event.preventDefault();
|
|
return false;
|
|
|
|
}else if(parseFloat($('#basic-addon2').text()) > 80){
|
|
$("#terima_transaksi").prop('disabled', false);
|
|
Swal.fire(
|
|
'Amaran!',
|
|
'Pinjaman Haruslah Dalam Lingkungan 80%!',
|
|
'error'
|
|
)
|
|
return false;
|
|
|
|
}
|
|
|
|
tambahpinjamanfunc();
|
|
}else if($('#sltjenistebus').find(":selected").val() == 'U'){
|
|
|
|
var urlroute = '{{ route("resit.advansur", ":id") }}';
|
|
urlroute = urlroute.replace(':id', norujukan);
|
|
|
|
var nopelanggan = "{{ $gadai['nopelanggan'] }}";
|
|
var prkod = "{{ $gadai['prkod'] }}";
|
|
var jenistebus = $('#sltjenistebus').find(":selected").val();
|
|
var jbg = "{{ $gadai['tempoh'] }}";
|
|
var kadarupah = "{{ $gadai['kadarupah'] }}";
|
|
var nilai_marhun = "{{ $gadai['nilaimarhun']}}";
|
|
var pinjaman = "{{ $gadai['pinjaman']}}";
|
|
var ansuran = 0;
|
|
var addpinjaman = 0;
|
|
var bakipinjaman = Number(parseFloat($('#perludibayar').val().replace(/[^0-9.-]+/g,"")).toFixed(2));
|
|
var bakiupah = Number(parseFloat($('#jumlahupah').val().replace(/[^0-9.-]+/g,"")).toFixed(2));
|
|
var historygadaian = 0;
|
|
var marhun = "{{ $gadai['marhun'] }}";
|
|
var nowakil = nw;
|
|
|
|
var minimum_bayaran = (percent_mora/100)*bakiupah;
|
|
if(bakipinjaman >= minimum_bayaran){
|
|
if(bakipinjaman > bakiupah){
|
|
$("#terima_transaksi").prop('disabled', false);
|
|
Swal.fire({
|
|
icon: 'error',
|
|
title: 'Bayaran Melebihi Dari Maksima',
|
|
text: 'Bayaran Maksima Adalah Upah Semasa'
|
|
});
|
|
event.preventDefault();
|
|
return false;
|
|
}else{
|
|
$.ajax({
|
|
method:'post',
|
|
url: api + '/api/ansuran/create/' + kodcaw,
|
|
datatype: 'json',
|
|
data:{
|
|
'norujukan' : norujukan,
|
|
'nopelanggan' : nopelanggan,
|
|
'nilaimarhun' : nilai_marhun,
|
|
'pinjaman' : pinjaman,
|
|
'kadarupah' : kadarupah,
|
|
'glcode' : "1000/010",
|
|
'upahsebenar' : bakiupah,
|
|
'upahdibayar' : bakipinjaman,
|
|
'teller' : teller,
|
|
'prkod' : prkod,
|
|
'jbg' : jbg,
|
|
'nowakil' : 0,
|
|
'hubungan' : 0,
|
|
'historygadaian' : norujukan
|
|
},
|
|
success:function(data){
|
|
$.ajax({
|
|
method: 'put',
|
|
url: "{{ route('alirantunai.advansur') }}",
|
|
async:false,
|
|
data:{
|
|
'norujukan' : norujukan,
|
|
"_token": "{{ csrf_token() }}"
|
|
},
|
|
success:function(data){
|
|
console.log(data);
|
|
}, error: function(xhr, status, error) {
|
|
var err = eval("(" + xhr.responseText + ")");
|
|
alert(xhr.responseText);
|
|
}
|
|
});
|
|
|
|
Swal.fire({
|
|
icon: 'success',
|
|
title: 'Berjaya!',
|
|
text: 'Pembayaran Upah Berjaya',
|
|
}).then(function() {
|
|
window.open(urlroute, '_blank');
|
|
window.location.replace("{{ route('customer_info') }}");
|
|
})
|
|
}
|
|
})
|
|
}
|
|
}else{
|
|
$("#terima_transaksi").prop('disabled', false);
|
|
Swal.fire({
|
|
icon: 'error',
|
|
title: 'Bayaran Kurang Dari Minimum',
|
|
text: 'Bayaran minimum adalah '+percent_mora+' %'
|
|
});
|
|
event.preventDefault();
|
|
return false;
|
|
}
|
|
|
|
|
|
}else if($('#sltjenistebus').find(":selected").val() == 'AT'){
|
|
|
|
let nilaimargin = $('#txtlebihanmargin').val();
|
|
var keuntungan = parseFloat($('#jumlahupah').val().replace(/[^0-9.-]+/g,""));
|
|
// var pinjamasal = parseFloat($('#pinjamanasal').val().replace(/[^0-9.-]+/g,""));
|
|
|
|
var nm = parseFloat("{{ $gadai['nilaimarhun'] }}");
|
|
var nmsemasa = parseFloat("{{ $nilaihargasemasa }}");
|
|
|
|
var pinjaman_baru = parseFloat($('#pinjamanbaru').val().replace(/[^0-9.-]+/g,""));
|
|
|
|
let lebihanmargin = parseFloat((nilaimargin) ? nilaimargin : 0);
|
|
total = (jenisAT != 'hargalama') ? (keuntungan + lebihanmargin) : keuntungan;
|
|
|
|
var marginsemasa = (jenisAT == 'hargalama') ? pinjaman_baru/nm * 100 : pinjaman_baru/nmsemasa * 100;
|
|
|
|
let texting = (jenisAT != 'hargalama') ? 'Bayaran harus melebihi keuntungan dan jumlah lebihan margin' : 'Bayaran harus melebihi keuntungan';
|
|
|
|
if(parseFloat($('#perludibayarAT').val().replace(/[^0-9.-]+/g,"")) < parseFloat(total.toFixed(2))){
|
|
Swal.fire({
|
|
icon: 'error',
|
|
title: 'Ralat Bayaran!',
|
|
text: texting
|
|
});
|
|
event.preventDefault();
|
|
return false;
|
|
}
|
|
|
|
var duitpelanggan = parseFloat($('#duitPelanggan').val().replace(/[^0-9.-]+/g,""));
|
|
if(isNaN(duitpelanggan)) duitpelanggan = 0;
|
|
|
|
if(Number(duitpelanggan) < parseFloat($('#perludibayarAT').val())){
|
|
Swal.fire('Amaran!','Duit Pelanggan haruslah diisi melebihi perlu dibayar!','error');
|
|
$("#terima_transaksi").prop('disabled', false);
|
|
|
|
event.preventDefault();
|
|
return false;
|
|
}
|
|
|
|
$.ajax({
|
|
method:'get',
|
|
url: api + '/api/komuditi/check',
|
|
success:function(komoditi){
|
|
var check_komuditi = Object.keys(komoditi).length;
|
|
if(check_komuditi == 0){
|
|
$("#terima_transaksi").prop('disabled', false);
|
|
Swal.fire({
|
|
icon: 'error',
|
|
title: 'Unit Komuditi Berbaki Minumum',
|
|
text: 'Sila Hubungi Operasi Untuk Membuat Pembelian Komuditi'
|
|
});
|
|
event.preventDefault();
|
|
return false;
|
|
}else{
|
|
if(Number(komoditi['unit_komuditi']) < pinjaman_baru){
|
|
$("#terima_transaksi").prop('disabled', false);
|
|
Swal.fire({
|
|
icon: 'error',
|
|
title: 'Baki Unit Komuditi Tidak Mencukupi',
|
|
text: 'Sila Hubungi Operasi Untuk Membuat Pembelian Komuditi'
|
|
});
|
|
event.preventDefault();
|
|
return false;
|
|
}else{
|
|
if(marginsemasa < 10)
|
|
{
|
|
$("#terima_transaksi").prop('disabled', false);
|
|
Swal.fire('Amaran!','Margin Pembiayaan kurang daripada 10%!','error');
|
|
return false;
|
|
}
|
|
|
|
// if(marginsemasa > 80)
|
|
// {
|
|
// $("#terima_transaksi").prop('disabled', false);
|
|
// Swal.fire('Amaran!','Margin Pembiayaan lebih daripada 80%!','error');
|
|
// return false;
|
|
// }
|
|
|
|
if((marginsemasa > 75 && marginsemasa <= 80) && jenisAT != 'hargalama'){
|
|
|
|
const swalWithBootstrapButtons = Swal.mixin({
|
|
customClass: {
|
|
confirmButton: 'btn btn-success',
|
|
cancelButton: 'btn btn-danger'
|
|
},
|
|
buttonsStyling: false
|
|
});
|
|
|
|
swalWithBootstrapButtons.fire({
|
|
title: 'Dapatkan Pengesahan Khazanah',
|
|
text: "Tetapan margin melebihi 75% untuk Khazanah!",
|
|
icon: 'info',
|
|
showCancelButton: true,
|
|
confirmButtonText: 'Hantar',
|
|
cancelButtonText: 'Batal',
|
|
reverseButtons: true
|
|
}).then((result) => {
|
|
if (result.isConfirmed) {
|
|
|
|
let nm = nmsemasa;let ber = $('#berat_marhun_total').text();let marg = marginsemasa;
|
|
// let komen = "Pembiayaan Melebihi Margin 70%|" + nmsemasa + "|" + ber + "|" + marg + "| Pembiayaan Semula";
|
|
let status = "[Pembiayaan Semula] Pembiayaan Melebihi Margin " + pinjaman_teller + "%";
|
|
let teller = "{{ Auth::user()->name }}";
|
|
|
|
Swal.fire({
|
|
title: 'Tunggu Pengesahan Daripada Khazanah.',
|
|
icon: 'info',
|
|
width: 600,
|
|
padding: '3em',
|
|
background: '#fffff',
|
|
showCancelButton: false,
|
|
showConfirmButton: false,
|
|
allowOutsideClick: false,
|
|
allowEscapeKey: false,
|
|
allowEnterKey: false
|
|
})
|
|
let siricreated = 0;
|
|
$.ajax({
|
|
method:'post',
|
|
url: "{{ route('khazanah.createkelulusan') }}",
|
|
data: {
|
|
"_token": "{{ csrf_token() }}",
|
|
"norujukan" : norujukan,
|
|
"komen" : '',
|
|
"margin" : marg,
|
|
"berat" : ber,
|
|
"nilaimarhun" : nm,
|
|
"status" : status,
|
|
"jumpinjam" : pinjaman_baru,
|
|
"teller" : teller
|
|
},
|
|
success:function(data){
|
|
siricreated = data;
|
|
},
|
|
error: function(xhr, status, error) {
|
|
var err = eval("(" + xhr.responseText + ")");
|
|
alert(xhr.responseText);
|
|
}
|
|
});
|
|
|
|
var pusher = new Pusher("{{ env('PUSHER_APP_KEY') }}", {
|
|
cluster: 'ap1',
|
|
encrypted: true
|
|
});
|
|
|
|
var channel = pusher.subscribe('notice-kelulusan');
|
|
channel.bind('my-kelulusan', function(data) {
|
|
|
|
|
|
if(data.norujukan == norujukan && data.siri == siricreated && data.teller == teller)
|
|
{
|
|
if(data.kelulusan == 'lulus')
|
|
{
|
|
Swal.fire({
|
|
icon: 'success',
|
|
title: 'Telah Disahkan',
|
|
text: `Komen : ${data.komen}`
|
|
}).then(function(){
|
|
gadaiautotawarruq();
|
|
});
|
|
|
|
}
|
|
else if(data.kelulusan == 'batal')
|
|
{
|
|
Swal.fire({
|
|
icon: 'warning',
|
|
title: 'Telah Dibatalkan',
|
|
text: `Komen : ${data.komen}`
|
|
}).then(function(){
|
|
return false;
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
} else if (result.dismiss === Swal.DismissReason.cancel) {
|
|
$("#terima_transaksi").prop('disabled', false);
|
|
swalWithBootstrapButtons.fire(
|
|
'Gagal',
|
|
'Gagal mendapatkan kelulusan khazanah',
|
|
'error'
|
|
)
|
|
}
|
|
});
|
|
event.preventDefault();
|
|
return false;
|
|
|
|
}else if(pinjaman_baru >= 10000){
|
|
|
|
const swalWithBootstrapButtons = Swal.mixin({
|
|
customClass: {
|
|
confirmButton: 'btn btn-success',
|
|
cancelButton: 'btn btn-danger'
|
|
},
|
|
buttonsStyling: false
|
|
});
|
|
|
|
let text = '';
|
|
if(pinjaman_baru >= 10000)
|
|
{
|
|
text = 'Pembiayaan melebihi RM 10,000!';
|
|
}
|
|
|
|
|
|
swalWithBootstrapButtons.fire({
|
|
title: 'Dapatkan Pengesahan Operasi',
|
|
text: text,
|
|
icon: 'info',
|
|
showCancelButton: true,
|
|
confirmButtonText: 'Hantar',
|
|
cancelButtonText: 'Batal',
|
|
reverseButtons: true
|
|
}).then((result) => {
|
|
if (result.isConfirmed) {
|
|
|
|
let nm = parseFloat($('#nilai_marhun_total_fix').text().replace(/[^0-9.-]+/g,""));let ber = $('#berat_marhun_total').text();let marg = marginsemasa;
|
|
let komen = '';
|
|
if(pinjaman_baru >= 10000)
|
|
{
|
|
komen = "[Pembiayaan Semula] Pembiayaan Melebihi RM 10,000";
|
|
}
|
|
let status = komen;
|
|
|
|
let jumpinjam = $('#bakipinjaman').val();
|
|
let teller = "{{ Auth::user()->name }}";
|
|
|
|
Swal.fire({
|
|
title: 'Tunggu Pengesahan Daripada Khazanah-Operasi.',
|
|
icon: 'info',
|
|
width: 600,
|
|
padding: '3em',
|
|
background: '#fffff',
|
|
showCancelButton: false,
|
|
showConfirmButton: false,
|
|
allowOutsideClick: false,
|
|
allowEscapeKey: false,
|
|
allowEnterKey: false
|
|
})
|
|
let siricreated = 0;
|
|
$.ajax({
|
|
method:'post',
|
|
url: "{{ route('operasi.createkelulusan') }}",
|
|
data: {
|
|
"_token": "{{ csrf_token() }}",
|
|
"norujukan" : norujukan,
|
|
"komen" : '',
|
|
"margin" : marg,
|
|
"berat" : ber,
|
|
"nilaimarhun" : nm,
|
|
"status" : status,
|
|
"jumpinjam" : pinjaman_baru,
|
|
"teller" : teller
|
|
},
|
|
success:function(data){
|
|
siricreated = data;
|
|
},
|
|
error: function(xhr, status, error) {
|
|
var err = eval("(" + xhr.responseText + ")");
|
|
alert(xhr.responseText);
|
|
}
|
|
});
|
|
|
|
|
|
var pusher = new Pusher("{{ env('PUSHER_APP_KEY') }}", {
|
|
cluster: 'ap1',
|
|
encrypted: true
|
|
});
|
|
|
|
var channel = pusher.subscribe('notice-kelulusan');
|
|
channel.bind('my-kelulusan', function(data) {
|
|
|
|
|
|
if(data.norujukan == norujukan && data.siri == siricreated && data.teller == teller)
|
|
{
|
|
if(data.kelulusan == 'lulus')
|
|
{
|
|
Swal.fire({
|
|
icon: 'success',
|
|
title: 'Telah Disahkan',
|
|
text: `Komen : ${data.komen}`
|
|
}).then(function(){
|
|
gadaiautotawarruq();
|
|
return true;
|
|
});
|
|
|
|
}
|
|
else if(data.kelulusan == 'batal')
|
|
{
|
|
Swal.fire({
|
|
icon: 'warning',
|
|
title: 'Telah Dibatalkan',
|
|
text: `Komen : ${data.komen}`
|
|
}).then(function(){
|
|
$("#terima_gadai").prop('disabled', false);
|
|
return false;
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
}else if (result.dismiss === Swal.DismissReason.cancel){
|
|
$("#terima_transaksi").prop('disabled', false);
|
|
swalWithBootstrapButtons.fire(
|
|
'Gagal',
|
|
'Gagal mendapatkan kelulusan operasi',
|
|
'error'
|
|
)
|
|
}
|
|
});
|
|
event.preventDefault();
|
|
return false;
|
|
|
|
}else if(marginsemasa > 80){
|
|
|
|
|
|
// $("#terima_transaksi").prop('disabled', false);
|
|
// Swal.fire(
|
|
// 'Amaran!',
|
|
// 'Pinjaman Haruslah Dalam Lingkungan 80%!',
|
|
// 'error'
|
|
// )
|
|
// return false;
|
|
}
|
|
|
|
gadaiautotawarruq(jenisAT);
|
|
}
|
|
}
|
|
}
|
|
});
|
|
|
|
/////////////
|
|
//End File//
|
|
///////////
|
|
}
|
|
|
|
|
|
}
|
|
|
|
function gadaiautotawarruq()
|
|
{
|
|
var jenisbayarantebus = '';
|
|
if(hargajualan == '')
|
|
{
|
|
jenisbayarantebus = "nottawarruq";
|
|
}
|
|
else if (hargajualan != ''){
|
|
jenisbayarantebus = "tawarruq";
|
|
}
|
|
|
|
let jeniskeuntungan = (tagbaru == 1) ? 'onepercent' : 'asal';
|
|
var nopelanggan = "{{ $gadai['nopelanggan'] }}";
|
|
var jenistebus = 'AT';
|
|
var jbg = "{{ $gadai['tempoh'] }}";
|
|
var kadarupah = "{{ $gadai['kadarupah'] }}";
|
|
var nilai_marhun_lama = parseFloat("{{ $gadai['nilaimarhun'] }}");
|
|
var nilai_marhun = parseFloat("{{ $nilaihargasemasa }}");
|
|
var pinjamanbaru = $('#pinjamanbaru').val().replace(/[^0-9.-]+/g,"");
|
|
var ansuran = 0;
|
|
var addpinjaman = 0;
|
|
var bakiupah = parseFloat($('#jumlahupah').val().replace(/[^0-9.-]+/g,""));
|
|
var bakipinjaman = parseFloat($('#hargapembiayaansemasa').val().replace(/[^0-9.-]+/g,"")) + bakiupah;
|
|
|
|
var historygadaian = "{{ $gadai['norujukan'] }}";
|
|
var marhun = "{{ $gadai['marhun'] }}";
|
|
var noic = "{{ $gadai['nokp'] }}";
|
|
var total_berat = parseFloat("{{ $gadai['berat'] }}");
|
|
var pinjaman = parseFloat("{{ $gadai['pinjaman']}}");
|
|
var kuantiti_marhun = Number("{{sizeof($marhun)}}");
|
|
var nowakil = nw;
|
|
var perludibayar = parseFloat($('#perludibayarAT').val().replace(/[^0-9.-]+/g,""));
|
|
var bayaranpelanggan = parseFloat($('#duitPelanggan').val());
|
|
var bakipelanggan = parseFloat($('#bakiPelanggan').val().replace(/[^0-9.-]+/g,""));
|
|
|
|
var kadarupahbaru = 0;
|
|
// if(nilai_marhun > 0 && nilai_marhun < 400.99){
|
|
// kadarupahbaru = 1.20/100;
|
|
// }else if(nilai_marhun >= 401 && nilai_marhun < 2000.99){
|
|
// kadarupahbaru = 1.50/100;
|
|
// }else if(nilai_marhun >= 2001 ){
|
|
// kadarupahbaru = 1.70/100;
|
|
// }
|
|
|
|
let nilaibaru = (jenisAT == 'hargalama') ? nilai_marhun_lama : nilai_marhun;
|
|
|
|
$.ajax({
|
|
method:'GET',
|
|
url: api + '/api/kadarujrah',
|
|
async:false,
|
|
data:{
|
|
'nilaimarhun' : nilaibaru,
|
|
'kodcaw': "{{ $cawangan_info['kodcaw'] }}",
|
|
},
|
|
success:function(data){
|
|
kadarupahbaru = data;
|
|
}
|
|
});
|
|
|
|
|
|
// var keuntungan_sebulan = pinjamanbaru * kadarupahbaru;
|
|
// var keuntungan_6bln = keuntungan_sebulan * 6;
|
|
// console.log('pelangagan:', bayaranpelanggan,bakipelanggan);
|
|
// console.log(nilaibaru,noic,pinjamanbaru,kadarupahbaru,total_berat,marhun,kuantiti_marhun,perludibayar,jenisAT);
|
|
// return;
|
|
$.ajax({
|
|
method:"GET",
|
|
url: "{{ route('tebus.autotawarruq') }}",
|
|
data:{
|
|
//yang lama
|
|
"norujukan" : norujukan,
|
|
"nopelanggan" : nopelanggan,
|
|
"jenistebus" : jenistebus,
|
|
"jbg" : jbg,
|
|
"kadarupah" : kadarupah,
|
|
"nilai_marhun" : nilai_marhun_lama,
|
|
"pinjaman_lama" : pinjaman,
|
|
"ansuran" : ansuran,
|
|
"addpinjaman" : addpinjaman,
|
|
"bakipinjaman" : bakipinjaman,
|
|
"bakiupah" : bakiupah,
|
|
"historygadaian" : historygadaian,
|
|
"marhun" : marhun,
|
|
"nowakil" : nowakil,
|
|
"jenisbayarantebus" : jenisbayarantebus,
|
|
"teller" : teller,
|
|
"jeniskeuntungan" : jeniskeuntungan,
|
|
|
|
//yang baru
|
|
"noic" : noic,
|
|
"total_nilai_marhun" : nilaibaru,
|
|
"pinjaman" : pinjamanbaru,
|
|
"kadarkeuntungan" : kadarupahbaru,
|
|
// "keuntungan_6bln" : keuntungan_6bln,
|
|
// "keuntungan_sebulan" : keuntungan_sebulan,
|
|
"total_berat" : total_berat,
|
|
"marhun_detail" : marhun,
|
|
"kuantiti_marhun" : kuantiti_marhun,
|
|
"jenisAT" : jenisAT,
|
|
"totalbayaran" : perludibayar,
|
|
"bayaran" : bayaranpelanggan,
|
|
"bakipelanggan" : bakipelanggan,
|
|
|
|
},
|
|
success:function(success_data){
|
|
|
|
var urlroute = '{{ route("resit.autotawarruq", ":id") }}';
|
|
urlroute = urlroute.replace(':id', norujukan);
|
|
if(success_data == 'success'){
|
|
Swal.fire(
|
|
'Berjaya!',
|
|
'Penyelesaian Pembiayaan Semula Berjaya',
|
|
'success'
|
|
) .then(function() {
|
|
window.open(urlroute, '_blank');
|
|
window.location.replace("{{ route('customer_info') }}");
|
|
})
|
|
}else{
|
|
Swal.fire(
|
|
'Tidak Berjaya!',
|
|
'Penyelesaian Pembiayaan Semula Tidak Berjaya!',
|
|
'error'
|
|
).then(function(){
|
|
window.location.replace("{{ route('customer_info') }}");
|
|
});
|
|
}
|
|
|
|
},error: function (request, status, error) {
|
|
console.log(request.responseText);
|
|
}
|
|
});
|
|
}
|
|
|
|
function gadaiseparuhfunc()
|
|
{
|
|
let jenisbayarantebus = '';
|
|
|
|
if(hargajualan == '')
|
|
{
|
|
jenisbayarantebus = "nottawarruq";
|
|
}
|
|
else if (hargajualan != ''){
|
|
jenisbayarantebus = "tawarruq";
|
|
}
|
|
|
|
|
|
var sumnilaimarhun = 0;
|
|
var sumberat = 0;
|
|
var marhun = "{{ $gadai['marhun'] }}";
|
|
|
|
var test = marhun.split(",");
|
|
|
|
$.each( array_nm, function( index, value ) {
|
|
sumnilaimarhun += parseFloat(value);
|
|
});
|
|
|
|
let countArrayError = 0;
|
|
|
|
for (let i = test.length - 1; i >= 0; i--) {
|
|
let shouldRemove = false;
|
|
|
|
for (let j = 0; j < array_marhun.length; j++) {
|
|
if (test[i].includes(array_marhun[j])) {
|
|
shouldRemove = true;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (shouldRemove) {
|
|
test.splice(i, 1);
|
|
countArrayError++;
|
|
|
|
if (countArrayError === array_marhun.length) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
var marhun_baru = test.join(", ");
|
|
|
|
$.each( array_berat, function( index, value ) {
|
|
sumberat += parseFloat(value);
|
|
});
|
|
|
|
var jenistebus = $('#sltjenistebus').find(":selected").val();
|
|
var nopelanggan = "{{ $gadai['nopelanggan'] }}";
|
|
var jbg = "{{ $gadai['tempoh'] }}";
|
|
var kadarupah = "{{ $gadai['kadarupah'] }}";
|
|
var nilai_marhun_lama = parseFloat("{{ $gadai['nilaimarhun'] }}");
|
|
var nilai_marhun = parseFloat("{{ $nilaihargasemasa }}") - sumnilaimarhun;
|
|
var pinjamanbaru = $('#bakipinjaman').val().replace(/[^0-9.-]+/g,"");
|
|
var ansuran = 0;
|
|
var addpinjaman = 0;
|
|
var bakipinjaman = $('#perludibayar').val().replace(/[^0-9.-]+/g,"");
|
|
var bakiupah = $('#jumlahupah').val().replace(/[^0-9.-]+/g,"");
|
|
var historygadaian = "{{ $gadai['norujukan'] }}";
|
|
var marhun = "{{ $gadai['marhun'] }}";
|
|
var noic = "{{ $gadai['nokp'] }}";
|
|
var total_berat = parseFloat("{{ $gadai['berat'] }}") - sumberat;
|
|
var pinjaman = parseFloat("{{ $gadai['pinjaman']}}");
|
|
var marhun_detail = marhun_baru;
|
|
var kuantiti_marhun = Number("{{sizeof($marhun)}}") - array_recno.length;
|
|
var nowakil = nw;
|
|
|
|
|
|
var duitpelanggan = $('#duitPelanggan').val().replace(/[^0-9.-]+/g,"");
|
|
var bakipelanggan = $('#bakiPelanggan').val().replace(/[^0-9.-]+/g,"");
|
|
|
|
|
|
if(Number(duitpelanggan) < Number(bakipinjaman)){
|
|
Swal.fire('Amaran!','Duit Pelanggan haruslah diisi melebihi perlu dibayar!','error');
|
|
$("#terima_transaksi").prop('disabled', false);
|
|
|
|
event.preventDefault();
|
|
return false;
|
|
}
|
|
|
|
var kadarupahbaru = 0;
|
|
|
|
// if(nilai_marhun > 0 && nilai_marhun < 400.99){
|
|
// kadarupahbaru = 1.2/100;
|
|
// }else if(nilai_marhun >= 401 && nilai_marhun < 2000.99){
|
|
// kadarupahbaru = 1.50/100;
|
|
// }else if(nilai_marhun >= 2001 ){
|
|
// kadarupahbaru = 1.70/100;
|
|
// }
|
|
|
|
let nilaibaru = (jenisAT == 'hargalama') ? nilai_marhun_lama : nilai_marhun;
|
|
|
|
$.ajax({
|
|
method:'GET',
|
|
url: api + '/api/kadarujrah',
|
|
async:false,
|
|
data:{
|
|
'nilaimarhun' : nilaibaru,
|
|
'kodcaw': "{{ $cawangan_info['kodcaw'] }}",
|
|
},
|
|
success:function(data){
|
|
kadarupahbaru = data;
|
|
}
|
|
});
|
|
|
|
|
|
$.ajax({
|
|
method:"GET",
|
|
url: "{{ route('tebus.separuh') }}",
|
|
data:{
|
|
//yang lama
|
|
"norujukan" : norujukan,
|
|
"nopelanggan" : nopelanggan,
|
|
"jenistebus" : jenistebus,
|
|
"jbg" : jbg,
|
|
"kadarupah" : kadarupah,
|
|
"nilai_marhun" : nilai_marhun_lama,
|
|
"pinjaman_lama" : pinjaman,
|
|
"ansuran" : ansuran,
|
|
"addpinjaman" : addpinjaman,
|
|
"bakipinjaman" : bakipinjaman,
|
|
"bakiupah" : bakiupah,
|
|
"historygadaian" : historygadaian,
|
|
"marhun" : marhun,
|
|
"nowakil" : nowakil,
|
|
"arrayrecno" : array_recno,
|
|
"jenisbayarantebus" : jenisbayarantebus,
|
|
"jeniskeuntungan" : 'onepercent',
|
|
"teller" : teller,
|
|
"bayaran" : duitpelanggan,
|
|
"bakipelanggan" : bakipelanggan,
|
|
|
|
|
|
//yang baru
|
|
"noic" : noic,
|
|
"total_nilai_marhun" : nilai_marhun,
|
|
"pinjaman" : pinjamanbaru,
|
|
"kadarkeuntungan" : kadarupahbaru,
|
|
"total_berat" : total_berat,
|
|
"marhun_detail" : marhun_detail,
|
|
"kuantiti_marhun" : kuantiti_marhun
|
|
|
|
},
|
|
success:function(success_data){
|
|
|
|
var urlroute = '{{ route("resit.tebusseparuh", ":id") }}';
|
|
urlroute = urlroute.replace(':id', norujukan);
|
|
Swal.fire(
|
|
'Berjaya!',
|
|
'Tebus Sebahagian Berjaya',
|
|
'success'
|
|
) .then(function() {
|
|
window.open(urlroute, '_blank');
|
|
window.location.replace("{{ route('customer_info') }}");
|
|
})
|
|
},error: function (request, status, error) {
|
|
console.log(request.responseText);
|
|
}
|
|
});
|
|
}
|
|
|
|
function tambahpinjamanfunc()
|
|
{
|
|
let jenisbayarantebus = '';
|
|
if(hargajualan == ''){
|
|
jenisbayarantebus = "nottawarruq";
|
|
}else if (hargajualan != ''){
|
|
jenisbayarantebus = "tawarruq";
|
|
}
|
|
|
|
var nopelanggan = "{{ $gadai['nopelanggan'] }}";
|
|
var jenistebus = $('#sltjenistebus').find(":selected").val();
|
|
var jbg = "{{ $gadai['tempoh'] }}";
|
|
var kadarupah = "{{ $gadai['kadarupah'] }}";
|
|
var nilai_marhun = "{{ $nilaihargasemasa }}";
|
|
var pinjaman_lama = "{{ $gadai['bakipjm'] }}";
|
|
var pinjaman = parseFloat($('#pinjamanbaru').val().replace(/[^0-9.-]+/g,""));
|
|
var ansuran = 0;
|
|
var addpinjaman = $('#tambahpinjam').val() == '' ? 0 : parseFloat($('#tambahpinjam').val().replace(/[^0-9.-]+/g,""));
|
|
var maxpinjaman = parseFloat($('#tambahpinjamsebenar').val().replace(/[^0-9.-]+/g,""));
|
|
// var bakipinjaman = maxpinjaman - parseFloat($('#tambahpinjam').val());
|
|
var bakiupah = $('#bayaranditerima').val().replace(/[^0-9.-]+/g,"");
|
|
var bakipinjaman = parseFloat(pinjaman_lama) + parseFloat(bakiupah);
|
|
var historygadaian = "{{ $gadai['norujukan'] }}";
|
|
var marhun = "{{ $gadai['marhun'] }}";
|
|
var total_berat = parseFloat("{{ $gadai['berat'] }}");
|
|
var kuantiti_marhun = Number("{{sizeof($marhun)}}");
|
|
var noic = "{{ $gadai['nokp'] }}";
|
|
var nowakil = nw;
|
|
|
|
var duitpelanggan = $('#duitPelanggan').val().replace(/[^0-9.-]+/g,"");
|
|
var bakipelanggan = $('#bakiPelanggan').val().replace(/[^0-9.-]+/g,"");
|
|
|
|
|
|
if(Number(duitpelanggan) < Number(bakiupah)){
|
|
Swal.fire('Amaran!','Duit Pelanggan haruslah diisi melebihi perlu dibayar!','error');
|
|
$("#terima_transaksi").prop('disabled', false);
|
|
|
|
event.preventDefault();
|
|
return false;
|
|
}
|
|
|
|
var kadarupahbaru = 0;
|
|
|
|
let nilaibaru = (jenisAT == 'hargalama') ? nilai_marhun_lama : nilai_marhun;
|
|
|
|
$.ajax({
|
|
method:'GET',
|
|
url: api + '/api/kadarujrah',
|
|
async:false,
|
|
data:{
|
|
'nilaimarhun' : nilaibaru,
|
|
'kodcaw': "{{ $cawangan_info['kodcaw'] }}",
|
|
},
|
|
success:function(data){
|
|
kadarupahbaru = data;
|
|
}
|
|
});
|
|
|
|
var keuntungan_sebulan = pinjaman * kadarupahbaru;
|
|
var keuntungan_6bln = keuntungan_sebulan * 6;
|
|
|
|
$.ajax({
|
|
method:'GET',
|
|
url: "{{ route('tambah.pinjaman') }}",
|
|
data:{
|
|
"nopelanggan" : nopelanggan,
|
|
"jenistebus" : jenistebus,
|
|
"jbg" : jbg,
|
|
"kadarupah" : kadarupah,
|
|
"nilai_marhun" : nilai_marhun,
|
|
"pinjaman" : pinjaman,
|
|
"pinjaman_lama" : pinjaman_lama,
|
|
"ansuran" : ansuran,
|
|
"addpinjaman" : addpinjaman,
|
|
"bakipinjaman" : bakipinjaman,
|
|
"bakiupah" : bakiupah,
|
|
"historygadaian" : historygadaian,
|
|
"marhun" : marhun,
|
|
"kuantiti_marhun" : kuantiti_marhun,
|
|
"total_berat" : total_berat,
|
|
"kadarkeuntungan" : kadarupahbaru,
|
|
"keuntungan_6bln" : keuntungan_6bln,
|
|
"keuntungan_sebulan" : keuntungan_sebulan,
|
|
"noic" : noic,
|
|
"norujukan" : norujukan,
|
|
"jenisbayarantebus" : jenisbayarantebus,
|
|
"jeniskeuntungan" : 'onepercent',
|
|
"teller" : teller,
|
|
"bayaran" : duitpelanggan,
|
|
"bakipelanggan" : bakipelanggan,
|
|
"nowakil" : nowakil,
|
|
|
|
},
|
|
success:function(success_data){
|
|
|
|
var urlroute = '{{ route("resit.tambahpinjam", ":id") }}';
|
|
urlroute = urlroute.replace(':id', norujukan);
|
|
|
|
Swal.fire(
|
|
'Berjaya!',
|
|
'Tambah Pinjaman Berjaya!',
|
|
'success'
|
|
).then(function() {
|
|
window.open(urlroute, '_blank');
|
|
window.location.replace("{{ route('customer_info') }}");
|
|
})
|
|
},error: function (request, status, error) {
|
|
console.log(request.responseText);
|
|
}
|
|
});
|
|
|
|
/////////////
|
|
//End File//
|
|
///////////
|
|
}
|
|
|
|
function wakilfunction(e)
|
|
{
|
|
let wakil = $('#wakiltxt').val();
|
|
|
|
if(wakil === null || wakil === '')
|
|
{
|
|
Swal.fire(
|
|
'Amaran!',
|
|
'Sila masukkan nilai di dalam kotak wakil!',
|
|
'error'
|
|
)
|
|
|
|
return false;
|
|
}
|
|
|
|
var patternregex = /\s+|[-,\/]/g;
|
|
|
|
wakil = wakil.replace(patternregex,"").toUpperCase();
|
|
|
|
if(wakil.length <= 12 || (wakil.substr(-1) == '*' && wakil.length == 13))
|
|
{
|
|
$.ajax({
|
|
method:'GET',
|
|
url: "{{ route('wakil.search') }}",
|
|
data:{
|
|
'wakil' : wakil
|
|
},
|
|
success:function(data){
|
|
|
|
if(data == 'no-data')
|
|
{
|
|
Swal.fire({
|
|
allowOutsideClick: false,
|
|
allowEscapeKey: false,
|
|
allowEnterKey: false,
|
|
confirmButtonText: 'Daftar',
|
|
icon: 'info',
|
|
title: 'Maklumat anda tiada dalam senarai wakil! Tekan button okay untuk mendaftar!'
|
|
}).then(function(){
|
|
daftarfunction(wakil);
|
|
});
|
|
}else{
|
|
Swal.fire({
|
|
allowOutsideClick: false,
|
|
allowEscapeKey: false,
|
|
allowEnterKey: false,
|
|
confirmButtonText: '<i class="fa fa-thumbs-up"></i> OK!!',
|
|
icon: 'success',
|
|
title: 'Maklumat Anda Berjaya Direkodkan!',
|
|
html: '<b class="text-danger">' + data.nama + '</b><br><b class="text-danger">' + data.nokp + '</b>'
|
|
});
|
|
nw = data.nowakil;
|
|
|
|
$('#wakiltxt').prop( "disabled", true );
|
|
$(e).html("Ubah");
|
|
$(e).attr("onclick","ubahwakil(this)");
|
|
}
|
|
|
|
},error: function (request, status, error) {
|
|
console.log(request.responseText);
|
|
}
|
|
});
|
|
}
|
|
else
|
|
{
|
|
Swal.fire({
|
|
icon: 'error',
|
|
titleText: 'Kad Pengenalan dan Passport',
|
|
text: 'mestilah tidak melebihi dan kurang daripada 13 patah perkataan termasuk (*)'
|
|
});
|
|
}
|
|
|
|
}
|
|
|
|
function daftarwakil()
|
|
{
|
|
let nopelanggan = $('#nopelangganwakil').val();
|
|
let nowakil = $('#nowakil').val();
|
|
let nama = $('#namawakil').val();
|
|
let hubungan = $('#slthubungan').val();
|
|
let alamat = $('#alamatwakil').val();
|
|
let telefon = $('#notelwakil').val();
|
|
let nota = $('#notawakil').val();
|
|
let nokp = $('#nokpwakil').val();
|
|
|
|
let boolnowakil = false;let boolnama = false;let boolalamat = false;let booltelefon = false;let boolnota = false;let boolnokp = false;
|
|
|
|
if(nowakil === null || nowakil === '')
|
|
{
|
|
$("[name='errornowakil']").show();
|
|
$("[name='errornowakil']").text("*No wakil tidak dijana lagi!");
|
|
$("[name='nowakil']").addClass('is-invalid');
|
|
|
|
boolnowakil = true;
|
|
}else{
|
|
$("[name='errornowakil']").hide();
|
|
$("[name='nowakil']").removeClass('is-invalid');
|
|
|
|
boolnowakil = false;
|
|
}
|
|
|
|
if(nama === null || nama === '')
|
|
{
|
|
$("[name='errornamawakil']").show();
|
|
$("[name='errornamawakil']").text("*Isikan nama dalam kotak!");
|
|
$("[name='namawakil']").addClass('is-invalid');
|
|
|
|
boolnama = true;
|
|
}else{
|
|
$("[name='errornamawakil']").hide();
|
|
$("[name='namawakil']").removeClass('is-invalid');
|
|
|
|
boolnama = false;
|
|
}
|
|
|
|
if(alamat === null || alamat === '')
|
|
{
|
|
$("[name='erroralamatwakil']").show();
|
|
$("[name='erroralamatwakil']").text("*Isikan alamat dalam kotak!");
|
|
$("[name='alamatwakil']").addClass('is-invalid');
|
|
|
|
boolalamat = true;
|
|
}else{
|
|
$("[name='erroralamatwakil']").hide();
|
|
$("[name='alamatwakil']").removeClass('is-invalid');
|
|
|
|
boolalamat = false;
|
|
}
|
|
|
|
if(telefon === null || telefon === '')
|
|
{
|
|
$("[name='errornotelwakil']").show();
|
|
$("[name='errornotelwakil']").text("*Isikan telefon dalam kotak!");
|
|
$("[name='notelwakil']").addClass('is-invalid');
|
|
|
|
booltelefon = true;
|
|
}else{
|
|
$("[name='errornotelwakil']").hide();
|
|
$("[name='notelwakil']").removeClass('is-invalid');
|
|
|
|
booltelefon = false;
|
|
}
|
|
|
|
if(nota === null || nota === '')
|
|
{
|
|
$("[name='errornotawakil']").show();
|
|
$("[name='errornotawakil']").text("*Isikan nota dalam kotak!");
|
|
$("[name='notawakil']").addClass('is-invalid');
|
|
|
|
boolnota = true;
|
|
}else{
|
|
$("[name='errornotawakil']").hide();
|
|
$("[name='notawakil']").removeClass('is-invalid');
|
|
|
|
boolnota = false;
|
|
}
|
|
|
|
if(nokp === null || nokp === '')
|
|
{
|
|
$("[name='errornokpwakil']").show();
|
|
$("[name='errornokpwakil']").text("*Isikan nokp dalam kotak!");
|
|
$("[name='nokpwakil']").addClass('is-invalid');
|
|
|
|
boolnokp = true;
|
|
}else{
|
|
$("[name='errornokpwakil']").hide();
|
|
$("[name='nokpwakil']").removeClass('is-invalid');
|
|
|
|
boolnokp = false;
|
|
}
|
|
|
|
|
|
if(boolnowakil == false && boolnama == false && boolalamat == false && booltelefon == false && boolnota == false && boolnokp == false)
|
|
{
|
|
$.ajax({
|
|
method:'POST',
|
|
url: "{{ route('wakil.create') }}",
|
|
data:{
|
|
"_token": "{{ csrf_token() }}",
|
|
"nopelanggan" : nopelanggan,
|
|
"nowakil" : nowakil,
|
|
"nama" : nama,
|
|
"hubungan" : hubungan,
|
|
"alamat" : alamat,
|
|
"telefon" : telefon,
|
|
"nota" : nota,
|
|
"icno" : nokp
|
|
},
|
|
success:function(data){
|
|
|
|
if(data == 1)
|
|
{
|
|
$('#WakilModal').hide();
|
|
$('#WakilModal').modal('hide');
|
|
nw = nowakil;
|
|
Swal.fire({
|
|
allowOutsideClick: false,
|
|
allowEscapeKey: false,
|
|
allowEnterKey: false,
|
|
confirmButtonText: '<i class="fa fa-thumbs-up"></i> OK!!',
|
|
icon: 'success',
|
|
title: 'Berjaya Mendaftar Wakil Pelanggan!'
|
|
}).then(function(){
|
|
$('#wakiltxt').prop( "disabled", true );
|
|
$('#caribtn').html("Ubah");
|
|
$('#caribtn').attr("onclick","ubahwakil(this)");
|
|
|
|
|
|
});
|
|
}
|
|
|
|
},error: function (request, status, error) {
|
|
console.log(request.responseText);
|
|
}
|
|
});
|
|
|
|
return true;
|
|
|
|
}else{
|
|
return false;
|
|
}
|
|
|
|
|
|
}
|
|
|
|
$('#WakilModal').on('hidden.bs.modal', function (e) {
|
|
|
|
$("[name='errornowakil']").hide();
|
|
$("[name='nowakil']").removeClass('is-invalid');
|
|
|
|
$("[name='errornamawakil']").hide();
|
|
$("[name='namawakil']").removeClass('is-invalid');
|
|
|
|
$("[name='erroralamatwakil']").hide();
|
|
$("[name='alamatwakil']").removeClass('is-invalid');
|
|
|
|
$("[name='errornotelwakil']").hide();
|
|
$("[name='notelwakil']").removeClass('is-invalid');
|
|
|
|
$("[name='errornotawakil']").hide();
|
|
$("[name='notawakil']").removeClass('is-invalid');
|
|
|
|
$("[name='errornokpwakil']").hide();
|
|
$("[name='nokpwakil']").removeClass('is-invalid');
|
|
|
|
$(this).find(".invalid-feedback").hide();
|
|
|
|
});
|
|
|
|
|
|
function daftarfunction(id)
|
|
{
|
|
let kodcaw = "{{ Auth::user()->cawangan }}";
|
|
|
|
$('#nokpwakil').val(id);
|
|
|
|
$.ajax({
|
|
method:'GET',
|
|
// url: "{{ route('wakil.caricustomer') }}",
|
|
url: api + '/api/customers/' + id,
|
|
// data:{ "icno" : id },
|
|
success:function(data){
|
|
|
|
$('#namawakil').val('');
|
|
$('#alamatwakil').val('');
|
|
$('#notelwakil').val('');
|
|
|
|
var size = Object.keys(data).length;
|
|
|
|
if(size > 0)
|
|
{
|
|
$('#namawakil').val(data['nama']);
|
|
$('#alamatwakil').val(data['alamat1']);
|
|
$('#notelwakil').val(data['telefon']);
|
|
$('#nopelangganwakil').val(data['nopelanggan']);
|
|
}
|
|
|
|
//get first wakil
|
|
$.ajax({
|
|
method:'GET',
|
|
// url: "{{ route('wakil.first') }}",
|
|
url: api + '/api/firstwakil/' + kodcaw,
|
|
success:function(getfirstwakil)
|
|
{
|
|
let firstwakil = parseInt(getfirstwakil);
|
|
|
|
$('#nowakil').val(firstwakil+1);
|
|
|
|
Swal.close();
|
|
$('#WakilModal').modal();
|
|
|
|
},error: function (request, status, error) {
|
|
console.log(request.responseText);
|
|
Swal.close();
|
|
|
|
Swal.fire({
|
|
title: 'Punyai Ralat dalam API wakil...',
|
|
icon: 'error'
|
|
});
|
|
|
|
}
|
|
})
|
|
|
|
},error: function (request, status, error) {
|
|
console.log(request.responseText);
|
|
}
|
|
});
|
|
|
|
Swal.fire({
|
|
title: 'Memuatkan...',
|
|
allowEscapeKey : false,
|
|
allowOutsideClick: false,
|
|
didOpen: function () {
|
|
Swal.showLoading()
|
|
}
|
|
});
|
|
}
|
|
|
|
function ubahwakil(e)
|
|
{
|
|
$('#wakiltxt').prop( "disabled", false);
|
|
$(e).html("Cari");
|
|
$(e).attr( "onclick", "wakilfunction(this)");
|
|
}
|
|
|
|
function pembatalanbalik()
|
|
{
|
|
$.ajax({
|
|
method:'get',
|
|
url: api + '/api/polis/get',
|
|
datatype:'json',
|
|
data:{
|
|
'kodcaw': "{{ $cawangan_info['kodcaw'] }}",
|
|
'norujukan': norujukan
|
|
},
|
|
success:function(data){
|
|
|
|
var count = Object.keys(data).length;
|
|
|
|
if(count > 0 && data[0].tebus === 1)
|
|
{
|
|
$.ajax({
|
|
method:'put',
|
|
url: api + '/api/polis/put/',
|
|
data: {
|
|
'kodcaw': "{{ $cawangan_info['kodcaw'] }}",
|
|
'norujukan': norujukan,
|
|
'tebus' : 0
|
|
},
|
|
success:function(data){
|
|
window.location.replace("{{ (Auth::user()->roles == 'pc' || Auth::user()->roles == 'ppc') ? route('khazanah.customer_info') : route('customer_info') }}");
|
|
|
|
},
|
|
error: function(xhr, status, error) {
|
|
var err = eval("(" + xhr.responseText + ")");
|
|
alert(xhr.responseText);
|
|
}
|
|
});
|
|
}else{
|
|
window.location.replace("{{ (Auth::user()->roles == 'pc' || Auth::user()->roles == 'ppc') ? route('khazanah.customer_info') : route('customer_info') }}");
|
|
}
|
|
|
|
}
|
|
});
|
|
}
|
|
|
|
function funcexcuse(toggle){
|
|
|
|
if(toggle){
|
|
let pembiayaan = parseFloat($('#hargapembiayaansemasa').val().replace(/[^0-9.-]+/g,""));
|
|
var jumupah = parseFloat($('#jumlahupah').val().replace(/[^0-9.-]+/g,""));
|
|
let percentasal = parseFloat('{{ number_format($percent_asal,2) }}');
|
|
var nilai_marhun_lama = parseFloat("{{ $gadai['nilaimarhun'] }}");
|
|
var bakipjm = parseFloat("{{ $gadai['bakipjm'] }}");
|
|
|
|
const swalWithBootstrapButtons = Swal.mixin({
|
|
customClass: {
|
|
confirmButton: 'btn btn-success',
|
|
cancelButton: 'btn btn-danger'
|
|
},
|
|
buttonsStyling: false
|
|
});
|
|
|
|
var errortext = "[Pembiayaan Semula] Menggunakan Harga Lama & Margin Lama";
|
|
|
|
swalWithBootstrapButtons.fire({
|
|
title: 'Dapatkan Pengesahan Operasi',
|
|
text: errortext,
|
|
icon: 'info',
|
|
showCancelButton: true,
|
|
confirmButtonText: 'Hantar',
|
|
cancelButtonText: 'Batal',
|
|
reverseButtons: true
|
|
}).then((result) => {
|
|
if (result.isConfirmed) {
|
|
|
|
let norujukan = '{{ $gadai["norujukan"] }}';
|
|
let nm = parseFloat($('#nilai_marhun_total').text().replace(/[^0-9.-]+/g,""));
|
|
let ber = parseFloat($('#berat_marhun_total').text());
|
|
let marg = parseFloat($('#basic-addon2').text());
|
|
let status = errortext;
|
|
let jumpinjam = parseFloat($('#pinjamanbaru').val().replace(/[^0-9.-]+/g,""));
|
|
let teller = "{{ Auth::user()->name }}";
|
|
|
|
Swal.fire({
|
|
title: 'Tunggu Pengesahan Daripada Khazanah-Operasi.',
|
|
icon: 'info',
|
|
width: 600,
|
|
padding: '3em',
|
|
background: '#fffff',
|
|
showCancelButton: false,
|
|
showConfirmButton: false,
|
|
allowOutsideClick: false,
|
|
allowEscapeKey: false,
|
|
allowEnterKey: false
|
|
})
|
|
let siricreated = 0;
|
|
$.ajax({
|
|
method:'post',
|
|
url: "{{ route('operasi.createkelulusan') }}",
|
|
data: {
|
|
"_token": "{{ csrf_token() }}",
|
|
"norujukan" : norujukan,
|
|
"komen" : '',
|
|
"margin" : marg,
|
|
"berat" : ber,
|
|
"nilaimarhun" : nilai_marhun_lama,
|
|
"status" : status,
|
|
"jumpinjam" : bakipjm,
|
|
"teller" : teller
|
|
},
|
|
success:function(data){
|
|
siricreated = data;
|
|
},
|
|
error: function(xhr, status, error) {
|
|
var err = eval("(" + xhr.responseText + ")");
|
|
alert(xhr.responseText);
|
|
}
|
|
});
|
|
|
|
var pusher = new Pusher("{{ env('PUSHER_APP_KEY') }}", {
|
|
cluster: 'ap1',
|
|
encrypted: true
|
|
});
|
|
|
|
var channel = pusher.subscribe('notice-kelulusan');
|
|
channel.bind('my-kelulusan', function(data) {
|
|
|
|
if(data.norujukan == norujukan && data.siri == siricreated && data.teller == teller)
|
|
{
|
|
if(data.kelulusan == 'lulus')
|
|
{
|
|
Swal.fire({
|
|
icon: 'success',
|
|
title: 'Telah Disahkan',
|
|
text: `Komen : ${data.komen}`
|
|
}).then(function(){
|
|
|
|
jenisAT = 'hargalama';
|
|
$('#basic-addon2').text(percentasal);
|
|
$('.divlebihanmargin').hide();
|
|
$('#divjenisAT').show();
|
|
$('#perludibayarAT').val(formatter.format(jumupah));
|
|
// $('#divbayaranAT').hide();
|
|
$('#calcbayar').val(jumupah);
|
|
$("#perludibayarAT").prop("readonly", true);
|
|
$('#pinjamanbaru').val(formatter.format(pembiayaan));
|
|
|
|
// $(func).attr("onSubmit","return true;");
|
|
// $(func).submit();
|
|
// return true;
|
|
});
|
|
|
|
}
|
|
else if(data.kelulusan == 'batal')
|
|
{
|
|
Swal.fire({
|
|
icon: 'warning',
|
|
title: 'Telah Dibatalkan',
|
|
text: `Komen : ${data.komen}`
|
|
}).then(function(){
|
|
$("#terima_gadai").prop('disabled', false);
|
|
return false;
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
}
|
|
});
|
|
}else{
|
|
let pembiayaan = parseFloat("{{ $pembiayaanbaru }}");
|
|
let percenthargasemasa = parseFloat('{{ number_format($percent_hargaemassemasa,2) }}');
|
|
var jumupah = parseFloat($('#jumlahupah').val().replace(/[^0-9.-]+/g,""));
|
|
let jumlebmargin = parseFloat('{{ ($percent_hargaemassemasa > 80) ? $bayaranlebihan : 0 }}');
|
|
let totalbayaran = jumlebmargin + jumupah;
|
|
$('#basic-addon2').text((percenthargasemasa > 80) ? '80.00' : percenthargasemasa);
|
|
$('#pinjamanbaru').val(formatter.format(pembiayaan));
|
|
|
|
jenisAT = 'none';
|
|
$('.divlebihanmargin').show();
|
|
$('#divjenisAT').hide();
|
|
$('#perludibayarAT').val(formatter.format(totalbayaran));
|
|
$('#calcbayar').val(totalbayaran);
|
|
$("#perludibayarAT").prop("readonly", false);
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
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($('#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;
|
|
let keypress = evt.key;
|
|
let tot;
|
|
|
|
|
|
if(!isNaN(keypress)){
|
|
tot = number.toString().replace(/[^0-9.-]+/g,"") + keypress.toString();
|
|
}
|
|
|
|
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;
|
|
}
|
|
|
|
let ansuranbaru = parseFloat(tot) - parseFloat(bakiupah);
|
|
|
|
//total pembiayaan baru
|
|
pembiayaanbaru = pembiayaan - ansuranbaru;
|
|
|
|
//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(parseFloat(pembiayaanbaru) <= tenpercent){
|
|
Swal.fire('Amaran!','Pembiayaan baru < 10%','error');
|
|
return false;
|
|
}
|
|
|
|
// If the last digit is not 5 or 0, disallow the input
|
|
if (number[1] && number[1].length === 1 && !['0', '5'].includes(keypress)) {
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
function validateKeyPress(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 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().replace(/[^0-9.-]+/g,"");
|
|
let total = 0;
|
|
let pdbyr = 0;
|
|
let pembiayaanbaru = 0;
|
|
let upah = parseFloat($('#jumlahupah').val());
|
|
let lebihanmargin = parseFloat(($('#txtlebihanmargin').val()) ? $('#txtlebihanmargin').val() : 0);
|
|
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($('#bakiPelanggan').val());
|
|
let bayaranpelanggan = parseFloat($('#duitPelanggan').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)));
|
|
|
|
//baki pelanggan
|
|
// $('#bakiPelanggan').val((0.00) );
|
|
}else{
|
|
// pdbyr = parseFloat(byr) + parseFloat(total);
|
|
// $('#perludibayarAT').val(pdbyr);
|
|
let kumpul = parseFloat(byr) - total;
|
|
pembiayaanbaru = pembiayaan - kumpul;
|
|
totalpercent = (pembiayaanbaru / hargamarhun) * 100;
|
|
|
|
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').val('0.00');
|
|
$('#duitPelanggan').val('');
|
|
}
|
|
|
|
}
|
|
|
|
function blockbayaranAT(event){
|
|
let value = $(event).val().replace(/[^0-9.-]+/g,"");
|
|
let upah = parseFloat($('#jumlahupah').val());
|
|
let pembiayaan = parseFloat("{{ $pembiayaanbaru }}");
|
|
let pembiayaanlama = parseFloat("{{ $bakipjm }}");
|
|
let hargamarhun = parseFloat("{{ $nilaihargasemasa }}");
|
|
let percentlama = parseFloat(" {{ $percent_asal }} ");
|
|
|
|
totalpercent = (pembiayaan / hargamarhun) * 100;
|
|
|
|
let nilaimargin = $('#txtlebihanmargin').val();
|
|
let lebihanmargin = parseFloat((nilaimargin) ? nilaimargin : 0);
|
|
total = (jenisAT != 'hargalama') ? (upah + lebihanmargin) : upah;
|
|
|
|
if(value == '' || value <= 0 || value < total){
|
|
if(value == '' || value <= 0){
|
|
Swal.fire(
|
|
'Tidak Berjaya!',
|
|
'Bayaran Tidak boleh ditinggalkan Kosong!',
|
|
'error'
|
|
);
|
|
}else if(value < total){
|
|
Swal.fire(
|
|
'Tidak Berjaya!',
|
|
'Bayaran Tidak boleh kurang daripada RM' + formatter.format(total) + '!',
|
|
'error'
|
|
);
|
|
}
|
|
|
|
if(jenisAT != 'hargalama'){
|
|
$('#perludibayarAT').val(formatter.format(total));
|
|
$('#pinjamanbaru').val(formatter.format(pembiayaan));
|
|
$('#basic-addon2').text(formatter.format(totalpercent.toFixed(2)));
|
|
}else{
|
|
$('#perludibayarAT').val(formatter.format(total));
|
|
$('#pinjamanbaru').val(formatter.format(pembiayaanlama));
|
|
$('#basic-addon2').text(formatter.format(percentlama.toFixed(2)));
|
|
}
|
|
}
|
|
}
|
|
|
|
function funcTU(){
|
|
elem_jenisTU.prependTo(".infotransaksi");
|
|
$('#jenisAT').remove();
|
|
$('#jenisA').remove();
|
|
$('#jenisT').remove();
|
|
$('#jenisS').remove();
|
|
$('#jenisP').remove();
|
|
|
|
$('input[type="checkbox"]').hide();
|
|
$('span.spannar').show();
|
|
|
|
$("#sltjenistebus").val('');
|
|
|
|
$("#terima_transaksi").prop('disabled', true);
|
|
|
|
|
|
|
|
$('#datetarikh').datepicker({
|
|
format: 'dd-mm-yyyy',
|
|
startDate: '0d',
|
|
});
|
|
|
|
tebusan();
|
|
|
|
}
|
|
|
|
function getUpahByDate(e){
|
|
|
|
let jeniskeuntungan = (tagbaru == 1) ? 'onepercent' : 'asal';
|
|
let tarikh = $('#datetarikh').val();
|
|
|
|
$.ajax({
|
|
method:'get',
|
|
datatype:'json',
|
|
url:api + '/api/upahtawarruqbytarikh',
|
|
async:false,
|
|
data:{
|
|
'kodcaw' : kodcaw,
|
|
'norujukan' : norujukan,
|
|
'tarikh' : tarikh,
|
|
'jeniskeuntungan' : jeniskeuntungan,
|
|
},
|
|
success:function(data){
|
|
|
|
if(jeniskeuntungan == 'asal'){
|
|
$('#jumlahupahTU').val(formatter.format(data['upahsemasa']));
|
|
$('#hargatebus').val(formatter.format(data['harga_tebus']));
|
|
}else{
|
|
$('#jumlahupahTU').val(formatter.format(data['pendapatan']));
|
|
$('#jumujrahTU').val(formatter.format(data['ujrah']));
|
|
$('#jumonepercentTU').val(formatter.format(data['keuntungan']));
|
|
|
|
let rebetujrh = data['ujrah'] - data['ujrah_rebet'];
|
|
let rebetonep = data['keuntungan'] - data['keuntungan_rebet'];
|
|
$('#jumujrahrebetTU').val(formatter.format(rebetujrh));
|
|
$('#jumonepercentrebetTU').val(formatter.format(rebetonep));
|
|
$('#hargatebus').val(formatter.format(data['harga_tebus']));
|
|
}
|
|
$('#tempohjanaan').val(data['tempoh']);
|
|
}
|
|
});
|
|
|
|
|
|
}
|
|
|
|
function getRoundedMethod(number = 0.0) {
|
|
const numberString = (Math.floor(number * 100) / 100).toFixed(2);
|
|
let rounded = numberString.slice(0, -1);
|
|
const lastDigit = parseInt(numberString.slice(-1), 10);
|
|
|
|
if (lastDigit >= 0 && lastDigit <= 2) {
|
|
rounded = rounded.replace(',', ''); // Remove commas
|
|
return parseFloat(rounded);
|
|
} else if (lastDigit >= 3 && lastDigit <= 7) {
|
|
rounded += '5';
|
|
rounded = rounded.replace(',', ''); // Remove commas
|
|
return parseFloat(rounded);
|
|
} else {
|
|
return customRound(number);
|
|
}
|
|
}
|
|
|
|
function customRound(number) {
|
|
const precision = 1; // Round to one decimal place
|
|
const factor = Math.pow(10, precision);
|
|
return Math.ceil(number * factor) / factor;
|
|
}
|
|
|
|
// Restricts input for the set of matched elements to the given inputFilter function.
|
|
(function($) {
|
|
$.fn.inputFilter = function(inputFilter) {
|
|
return this.on("input keydown keyup mousedown mouseup select contextmenu drop", function() {
|
|
if (inputFilter(this.value)) {
|
|
this.oldValue = this.value;
|
|
this.oldSelectionStart = this.selectionStart;
|
|
this.oldSelectionEnd = this.selectionEnd;
|
|
} else if (this.hasOwnProperty("oldValue")) {
|
|
this.value = this.oldValue;
|
|
this.setSelectionRange(this.oldSelectionStart, this.oldSelectionEnd);
|
|
} else {
|
|
this.value = "";
|
|
}
|
|
});
|
|
};
|
|
}(jQuery));
|
|
|
|
</script>
|
|
|
|
@endsection
|