Files
kaunter/resources/views/customers/v2/info.blade.php
T

3075 lines
137 KiB
PHP

@extends('layouts.app')
<style>
#daftar_gadai{
color:#fff !important;
}
</style>
@section('content')
@include('modal.historytebus')
@include('modal.wakil')
@include('errors.alert', ['errorapproval' => $getApprovalError ?? null])
<div class="container-fluid">
<div class="row justify-content-center">
<div class="col-md-12 col-lg-12">
<div class="card">
<nav aria-label="breadcrumb">
<ol class="breadcrumb pb-3">
<li class="breadcrumb-item"><a href="{{ route('home') }}">Home</a></li>
<li class="breadcrumb-item"><a href="{{ url('/pelanggan') }}">Pengenalan Diri</a></li>
<li class="breadcrumb-item active" aria-current="page">Pelanggan</li>
</ol>
</nav>
<div class="form-group row col-md-12">
<div class="col-md-6">
<div class="form-group row">
<div class="col-md-4">
<b>Nama</b>
</div>
<div class="col-md-8">
<input type="text" class="form-control" name="name" id="name" readonly value="{{ $customer_info['nama'] }}">
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group row">
<div class="col-md-4">
<b>No Kad Pengenalan</b>
</div>
<div class="col-md-8">
@php
if($customer_info['kpbaru'] != null){
$noic = $customer_info['kpbaru'];
}else{
$noic = $customer_info['kplama'];
}
@endphp
<input type="text" class="form-control" name="noic" id="noic" readonly value="{{ $noic }}">
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group row">
<div class="col-md-4">
<b>Pembiayaan </b>
</div>
<div class="col-md-8">
@php
if($customer_info['kpbaru'] != null){
$noic = $customer_info['kpbaru'];
}else{
$noic = $customer_info['kplama'];
}
$outstanding_semasa = Http::withOptions(['verify' => config('app.api_verify')])->get($api_url . '/api/gadai/customers/'. $noic .'/outstandingsemasa/'.$cawangan_info['kodcaw'])->json();
@endphp
<input type="text" class="form-control" name="outstanding_semasa" id="outstanding_semasa" readonly value="{{ number_format($outstanding_semasa,2) }}">
</div>
</div>
<div class="form-group row">
<div class="col-md-4">
<b>Baki Limit Pembiayaan </b>
</div>
<div class="col-md-8">
@php
$limit_pinjaman_semasa = 300000 - $outstanding_semasa;
@endphp
<input type="text" class="form-control" name="limit_pinjaman" id="limit_pinjaman" readonly value="{{ number_format($limit_pinjaman_semasa,2) }}">
</div>
</div>
<div class="form-group row">
<div class="col-md-4">
<b>Baki Lelong</b>
</div>
<div class="col-md-8">
<input type="text" class="form-control" name="bakilelong" id="bakilelong" readonly value="{{ number_format($bakilelong,2) }}">
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group row">
<div class="col-md-4">
<b>No Telefon</b>
</div>
<div class="col-md-8">
<input type="text" class="form-control" name="cust_telefon" id="cust_telefon" readonly value="{{ $customer_info['telefon'] ? $customer_info['telefon'] : '' }}">
</div>
</div>
<div class="form-group row">
<div class="col-md-4">
<b>Nota</b>
</div>
<div class="col-md-8">
<input type="text" class="form-control" name="nota_semasa" id="nota_semasa" readonly value="{{ $customer_info['nota'] }}">
</div>
</div>
<div class="form-group row">
<div class="col-md-4">
<b>Rugi Lelong</b>
</div>
<div class="col-md-8">
<input type="text" class="form-control" name="rugilelong" id="rugilelong" readonly value="{{ number_format($rugilelong,2) }}">
</div>
</div>
</div>
</div>
<!-- footer card -->
<div class="mr-4 form-group d-flex justify-content-end">
<button class="btn btn-primary button-spacing" data-toggle="modal" data-target="#customer_detail">Maklumat Pelanggan</button>
</div>
</div>
</div>
<!-- button -->
<div class="col-md-10 mt-md-2 justify-content-between form-group row">
<div class="btn-group btn-group-toggle d-flex flex-fill" data-toggle="buttons">
<label class="btn btn-secondary flex-fill">
<input type="radio" name="options" id="option1" value="belum_tebus" autocomplete="off" checked>
Pembiayaan Belum Selesai
</label>
<label class="btn btn-secondary flex-fill">
<input type="radio" name="options" id="option2" value="sudah_tebus" autocomplete="off">
Pembiayaan Sudah Selesai
</label>
<label class="btn btn-secondary flex-fill">
<input type="radio" name="options" id="option3" value="lelong" autocomplete="off">
Lelong
</label>
</div>
</div>
<!-- card -->
<div class="col-md-12 col-lg-12">
<div class="card">
<div class="card-body">
<nav class="mb-3">
<!-- button -->
<div class="mr-2 form-group d-flex justify-content-end">
@if(!in_array(Auth::user()->cawangan, config('redeemoption.cawangan_block', [])))
<a class="btn btn-primary button-spacing" id="daftar_gadai">Daftar Pembiayaan</a>
@endif
</div>
<div class="nav nav-tabs" id="nav-tab" role="tablist">
@php
$activate_tab = request()->session()->pull('activate_tab', 'SAG_lama');
$activate_tab_SAG_baru = $activate_tab === 'SAG_baru' ? 'active' : '';
$aria_selected_SAG_baru = $activate_tab === 'SAG_baru' ? 'true' : 'false';
$activate_pane_SAG_baru = $activate_tab === 'SAG_baru' ? 'active show' : '';
$activate_tab_SAG_lama = $activate_tab === 'SAG_lama' ? 'active' : '';
$aria_selected_SAG_lama = $activate_tab === 'SAG_lama' ? 'true' : 'false';
$activate_pane_SAG_lama = $activate_tab === 'SAG_lama' ? 'active show' : '';
@endphp
<a class="nav-item nav-link {{ $activate_tab_SAG_baru }}" id="nav-tawarruq-tab" data-toggle="tab" href="#nav-tawarruq" role="tab" aria-controls="nav-tawarruq" aria-selected="{{ $aria_selected_SAG_baru }}">SAG Baru</a>
<a class="nav-item nav-link {{ $activate_tab_SAG_lama }}" id="nav-xtawarruq-tab" data-toggle="tab" href="#nav-xtawarruq" role="tab" aria-controls="nav-xtawarruq" aria-selected="{{ $aria_selected_SAG_lama }}"><span id="textnavsag">SAG Lama</span></a>
</div>
</nav>
<div class="tab-content" id="navtawarruqdannottawarruq">
<div class="tab-pane fade {{ $activate_pane_SAG_baru }}" id="nav-tawarruq" role="tabpanel" aria-labelledby="nav-tawarruq-tab">
<table class="table table-striped table-hover" id="myTable">
<thead class="thead-dark">
<tr>
<th>Bil</th>
<th>No Rujukan</th>
<th>Tarikh Pembiayaan</th>
<th>Tarikh Matang</th>
<th>Baki Harga Jualan</th>
<th>Baki Pembiayaan</th>
<th>Margin</th>
<th>Tempoh</th>
<th>Keuntungan</th>
<th>Lelong</th>
<th>Pembayaran Terakhir</th>
</tr>
</thead>
</table>
</div>
<div class="tab-pane fade {{ $activate_pane_SAG_lama }}" id="nav-xtawarruq" role="tabpanel" aria-labelledby="nav-xtawarruq-tab">
<table id="xtawarruq" class="table table-striped table-hover">
<thead class="thead-dark">
<tr>
<th>Bil</th>
<th>No Rujukan</th>
<th>Tarikh Pembiayaan</th>
<th>Tarikh Matang</th>
<th>Baki Harga Jualan</th>
<th>Baki Pembiayaan</th>
<th>Margin</th>
<th>Tempoh</th>
<th>Keuntungan</th>
<th>Lelong</th>
<th>Pembayaran Terakhir</th>
</tr>
</thead>
</table>
</div>
</div>
{{-- Sudah Tebus --}}
<table id="dahtebusTable" class="table table-striped table-hover">
<thead class="thead-dark">
<tr>
<th>Bil</th>
<th>No Rujukan</th>
<th>Tarikh Penyelesaian Pembiayaan</th>
<th>Baki Pembiayaan</th>
<th>Margin</th>
<th>Tempoh</th>
</tr>
</thead>
</table>
{{-- Lelong --}}
<table id="lelongTable" class="table table-striped table-hover">
<thead class="thead-dark">
<tr>
<th>Bil</th>
<th>No Rujukan</th>
<th>Tarikh Lelong</th>
<th>Tarikh Tuntut</th>
<th>Pembiayaan</th>
<th>Harga Jual</th>
<th>Jum Tuntut/Bayar</th>
<th>Keuntungan</th>
<th>Caj Lelong</th>
<th>Status Tuntutan</th>
<th>Cetak</th>
</tr>
</thead>
</table>
<div class="text-center">
<button class="btn btn-primary" onclick="ubahfunc(this)" id="button-edit-gadaian">Ubah</button>
<button class="btn btn-primary" onclick="hapusfunc()">Hapus</button>
<button class="btn btn-primary" onclick="histfunc()">Rekod Pembiayaan</button>
<button class="btn btn-primary" onclick="removeansuran(this)" id="button-remove-ansuran">Hapus Ansuran</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Modal -->
<div class="modal fade" id="customer_detail" tabindex="-1" aria-labelledby="customer_detailLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered modal-xl">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="customer_detailLabel">Maklumat Pelanggan</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<form id="kemaskiniform">
<div class='row form-group'>
<div class='col-md-6'>
<div class='form-group row col-md-12'>
<div class='col-md-5'>
Nama
</div>
<div class='col-md-7'>
<input type="text" readonly name='nama' id='nama' value="{{ $customer_info['nama'] }}" class='form-control'>
</div>
</div>
<div class='form-group row col-md-12'>
<div class='col-md-5'>
No KP
</div>
<div class='col-md-7'>
<input type="text" readonly name='icno' id='icno' value="{{ $customer_info['kpbaru'] ? $customer_info['kpbaru'] : $customer_info['kplama'] }}" class='form-control'>
</div>
</div>
<div class='form-group row col-md-12'>
<div class='col-md-5'>
No Pelanggan
</div>
<div class='col-md-7'>
<input type="text" readonly name='nopelanggan' id='nopelanggan' value="{{ $customer_info['nopelanggan'] }}" class='form-control'>
</div>
</div>
<div class='form-group row col-md-12'>
<div class='col-md-5'>
No Telefon 1
</div>
<div class='col-md-7'>
<input type="text" readonly name='' id='telefon' value="{{ $customer_info['telefon'] ? $customer_info['telefon'] : '' }}" class='form-control'>
<span id="errortelefon" style="color:red;"></span>
</div>
</div>
<div class='form-group row col-md-12'>
<div class='col-md-5'>
No Telefon 2
</div>
<div class='col-md-7'>
<input type="text" readonly name='telefon2' id='telefon2' value="{{ $customer_info['telefon2'] ? $customer_info['telefon2'] : '' }}" class='form-control'>
<span id="errortelefon2" style="color:red;"></span>
</div>
</div>
<div class='form-group row col-md-12'>
<div class='col-md-5'>
Bank
</div>
<div class='col-md-7'>
@php
$bank = Http::withOptions(['verify' => config('app.api_verify')])->get($api_url . '/api/bank')->json();
@endphp
<select class="form-control" name="kodbank" data-placeholder="Pilih Bank" id="kodbank" disabled="true">
<option value="-" selected disabled>-</option>
@foreach($bank as $banks)
<option value="{{ $banks['abbreviation'] }}" {{ $banks['abbreviation'] == $customer_info['kodbank'] ? 'selected' : ''}}>{{ $banks['name'] }}</option>
@endforeach
</select>
<span id="errorkodbank" style="color:red;"></span>
</div>
</div>
<div class='form-group row col-md-12'>
<div class='col-md-5'>
Pekerjaan
</div>
<div class='col-md-7'>
@php
$pekerjaan = Http::withOptions(['verify' => config('app.api_verify')])->get($api_url . '/api/pekerjaan')->json();
@endphp
<select class="form-control" name="kodkerja" data-placeholder="Pilih Pekerjaan" id="kodkerja" disabled="true">
<option value="-" selected disabled>-</option>
@foreach($pekerjaan as $kerja)
<option value="{{ $kerja['kodkerja'] }}" {{ $kerja['kodkerja'] == $customer_info['kodkerja'] ? 'selected' : '' }}>
{{ $kerja['keterangan'] }}
</option>
@endforeach
</select>
<div id="pekerjaan-lain-container" style="display: {{ $customer_info['kodkerja'] == '6' ? 'block' : 'none' }}; margin-top: 10px;" >
<input type="text" class="form-control" id="nota_pekerjaan" name="nota_pekerjaan" placeholder="Sila Nyatakan" value="{{ $customer_info['nota_pekerjaan'] ?? '' }}" disabled="true"
oninput="this.value = this.value.replace(/[^a-zA-Z ]/g, '');">
</div>
</div>
</div>
<div class='form-group row col-md-12'>
<div class='col-md-5'>
No Akaun
</div>
<div class='col-md-7'>
<input type="text" readonly name='noakaun' id='noakaun' value="{{ $customer_info['noakaun'] }}" class='form-control'>
<span id="errornoakaun" style="color:red;"></span>
</div>
</div>
</div>
<div class='col-md-6'>
<div class='form-group row col-md-12'>
<div class='col-md-4'>
Alamat
</div>
<div class='col-md-8'>
<textarea style="resize:none" name="alamat" id="alamat" cols="30" rows="3" readonly class='form-control'>{{ $customer_info['alamat1'] ? $customer_info['alamat1'] : 'NIL' }}</textarea>
</div>
</div>
<div class='form-group row col-md-12'>
<div class='col-md-4'>
Poskod
</div>
<div class='col-md-8'>
<input type="text" readonly name='poskod' id='poskod' value="{{ $customer_info['poskod'] ? $customer_info['poskod'] : 'NIL' }}" class='form-control'>
</div>
</div>
<div class='form-group row col-md-12'>
<div class='col-md-4'>
Daerah
</div>
<div class='col-md-8'>
@php
$poskod = Http::withOptions(['verify' => config('app.api_verify')])->get($api_url . '/api/poskod/'. $customer_info['poskod'])->json();
// $data = $poskod;
// $poskod2 = array('koddaerah'=>'NIL','kodnegeri' => 'NIL');
// dd($poskod,$poskod2,$data,$customer_info);
if(empty($poskod)){
$poskod = array('koddaerah'=>'NIL','kodnegeri' => 'NIL');
}
$daerah = Http::withOptions(['verify' => config('app.api_verify')])->get($api_url . '/api/daerah/' . $poskod['koddaerah'])->json();
@endphp
<input type="text" readonly name='koddaerah' id='koddaerah' value="{{ $daerah ? $daerah['namadaerah'] : 'NIL' }}" class='form-control'>
</div>
</div>
<div class='form-group row col-md-12'>
<div class='col-md-4'>
Negeri
</div>
<div class='col-md-8'>
@php
$negeri = Http::withOptions(['verify' => config('app.api_verify')])->get($api_url . '/api/negeri/' . $poskod['kodnegeri'])->json();
@endphp
<input type="text" readonly name='kodnegeri' id='kodnegeri' value="{{ $negeri ? $negeri['negeri'] : 'NIL' }}" class='form-control'>
</div>
</div>
<div class='form-group row col-md-12'>
<div class='col-md-4'>
Nota
</div>
<div class='col-md-8'>
<textarea style="resize:none" name="nota" id="nota" cols="30" rows="3" readonly class='form-control'>{{ $customer_info['nota'] }}</textarea>
</div>
</div>
{{-- <div class='form-group row col-md-12'>
<div class='col-md-4'>
Nota Arcc
</div>
<div class='col-md-8'>
<textarea style="resize:none" name="nota_arcc" id="nota_arcc" cols="30" rows="3" readonly class='form-control'>{{ $customer_info['nota_arcc'] }}</textarea>
</div>
</div> --}}
</div>
</div>
</form>
<div class="mr-5 form-group float-right">
<button type="button" class="btn btn-primary" onclick="kemaskinifunc()" id="btnkemaskini">Ubah</button>
<button type="button" class="btn btn-primary" onclick="kemaskinipelanggan()" id="btnsave">Terima</button>
{{-- <button type="button" class="btn btn-primary" id="btnotp">Daftar Akaun Online</button> --}}
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Tutup</button>
</div>
</div>
</div>
</div>
<div class="modal fade" id="opt_modal" tabindex="-1" aria-labelledby="opt_modalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered modal-lg">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="opt_modalLabel">Daftar Akaun Online</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<div class="text-center">
<div class="row justify-content-center">
<div class="col-md-7">
<div class="input-group my-3" id="otp_form">
<input type="text" class="form-control" name="noic_otp" readonly placeholder="No Kad Pengenalan Pelanggan" id="noic_otp" aria-label="No Kad Pengenalan Pelanggan" autocomplete="off" value="" aria-describedby="button-addon2">
<div class="input-group-append">
<button class="btn btn-outline-primary" type="button" id="jana_otp">Jana OTP</button>
</div>
</div>
<div id="otp_generate" style="display:none;">
<div class="row form-group">
<div class="col-md-4">
OTP Token :
</div>
<div class="col-md-4">
<span id="otp_number"></span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Tutup</button>
</div>
</div>
</div>
</div>
<script>
var api_arrahnbid = "<?php echo config('app.api_arrahnbid') ?>";
var api_url = "<?php echo $api_url ?>";
var kodcaw = "{{ $cawangan_info['kodcaw'] }}";
var tagarrahnbid = "{{ $cawangan_info['tagarrahnbid'] }}";
var min_komoditi = "{{ $min_komoditi }}";
$('#daftar_gadai').on('click',function(){
$("#daftar_gadai").prop('disabled', true);
var noic = $('#noic').val();
var iclama = "{{ $customer_info['kplama'] }}";
var icbaru = "{{ $customer_info['kpbaru'] }}";
var outstanding_semasa = "{{ $outstanding_semasa }}";
event.preventDefault();
if(outstanding_semasa >= 300000){
Swal.fire({
icon: 'error',
title: 'Had Pembiayaan',
text: 'Outstanding Pembiayaan Pelanggan Telah Melebihi Had'
});
$("#daftar_gadai").prop('disabled', false);
event.preventDefault();
return false;
}else{
$.ajax({
method:'get',
url: api_url + '/api/komuditi/check',
success:function(data){
var check_komuditi = Object.keys(data).length;
if(check_komuditi == 0){
Swal.fire({
icon: 'error',
title: 'Unit Komoditi Berbaki Minima',
text: 'Sila Hubungi Operasi Untuk Membuat Pembelian Komoditi'
});
$("#daftar_gadai").prop('disabled', false);
event.preventDefault();
return false;
}else{
if(Number(data['unit_komuditi']) <= min_komoditi){
$("#daftar_gadai").prop('disabled', false);
Swal.fire({
icon: 'error',
title: 'Unit Komoditi Berbaki Minima',
text: 'Sila Hubungi Operasi Untuk Membuat Pembelian Komoditi'
});
event.preventDefault();
return false;
}
else{
if(icbaru.length > 0){
window.location.href = "{{ route('gadaian',['noic'=>$customer_info['kpbaru'] ]) }}";
}else{
window.location.href = "{{ route('gadaian',['noic'=>$customer_info['kplama'] ]) }}";
}
}
}
}
});
}
});
$('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
// here is the new selected tab id
var selectedTabId = e.target.id;
});
var tablegadai = $('#myTable').DataTable({
"scrollX": false,
order: [[1,'desc']]
});
var xtawarruq = $('#xtawarruq').DataTable({
"scrollX": false
});
var tabledahtebus = $('#dahtebusTable').DataTable({
});
var tablelelong = $('#lelongTable').DataTable({
"scrollX": false
});
var historybayarandatatable = $('#tablehistorybayaran').DataTable({
"ordering": false
});
var bayaranupah = $('#tablehistoryupah').DataTable({
"ordering": false
});
const formatter = new Intl.NumberFormat('en-US', {
minimumFractionDigits: 2
});
function getGadaiByNorujukan(norujukan){
console.log(norujukan);
let gadai_tawarruq = fetch(api_url + '/api/gadai/norujukan/' + norujukan );
return gadai_tawarruq
.then(response => response.json())
.then(response => response[0][0]);
}
async function checkPS(norujukan){
let gadai_tawarruq = fetch(api_url + '/api/gadai/norujukan/' + norujukan );
return response = await gadai_tawarruq
.then(response => response.json())
.then(response => response[0][0])
.then(gadaian => {
return { historygadaian: gadaian.historygadaian, tag_tebus: gadaian.tag_tebus };
})
.then(data => {
if(data.historygadaian == '0' || data.historygadaian === null || data.historygadaian.length === 0) {
return false;
}else{
if(data.tag_tebus == 'AT'){
return true;
}else{
return false;
}
}
return true;
})
}
function checkserah(data){
var urlpenebusan = $(data).data("url");
var norujukan = $(data).data("norujukan");
var pinjaman = $(data).data("pinjaman");
var hargajualan = $(data).data("hargajualan");
var isBlocked = $(data).data("blocked");
if(isBlocked === true || isBlocked === "true"){
Swal.fire({
icon: 'error',
title: 'Amaran',
text: 'Pembiayaan Sedang Dilelong'
});
return false;
}
Swal.fire({
title: 'Memuatkan...',
allowEscapeKey : false,
allowOutsideClick: false,
didOpen: function () {
Swal.showLoading()
}
});
if(hargajualan == pinjaman){
Swal.fire({
icon: 'error',
title: 'Amaran',
text: 'Pembiayaan Mengalami Masalah Sila Hubungi IT'
});
return false;
}
$.ajax({
method:'get',
url: api_url + '/api/check/serah/lelong',
datatype:'json',
data:{
'kodcaw': "{{ $cawangan_info['kodcaw'] }}",
'norujukan': norujukan
},
success:function(data){
if(data == 0){
$.ajax({
method:'get',
url: api_url + '/api/polis/get',
datatype:'json',
data:{
'kodcaw': "{{ $cawangan_info['kodcaw'] }}",
'norujukan': norujukan
},
success:function(data){
var count = Object.keys(data).length;
if(count > 0)
{
if(data[0].tebus === 0)
{
const swalWithBootstrapButtons = Swal.mixin({
customClass: {
confirmButton: 'btn btn-success',
cancelButton: 'btn btn-danger mr-1'
},
buttonsStyling: false
});
swalWithBootstrapButtons.fire({
title: 'Dapatkan Pengesahan Khazanah',
text: "Surat Akuan Gadai Hilang!",
icon: 'info',
showCancelButton: true,
confirmButtonText: 'Hantar',
cancelButtonText: 'Batal',
reverseButtons: true
}).then((result) => {
if (result.isConfirmed) {
// let komen = "Surat Akuan Gadaian Hilang|" + '-' + "|" + '-' + "|" + '-';
let status = "Surat Akuan Gadai Hilang";
let marg = 0;
let ber = 0;
let nm = 0;
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" : '0.00',
"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'
}).then(function(){
$.ajax({
method:'put',
url: api_url + '/api/polis/put/',
data: {
'kodcaw': "{{ $cawangan_info['kodcaw'] }}",
'norujukan': norujukan,
'tebus' : 1
},
success:function(data){
location.reload();
},
error: function(xhr, status, error) {
var err = eval("(" + xhr.responseText + ")");
alert(xhr.responseText);
}
});
});
}
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) {
swalWithBootstrapButtons.fire(
'Gagal',
'Gagal mendapatkan kelulusan khazanah',
'error'
)
}
});
}
else
{
$.ajax({
method:'get',
url: api_url + '/api/check/serah/gadai',
datatype:'json',
data:{
'kodcaw': "{{ $cawangan_info['kodcaw'] }}",
'norujukan': norujukan
},
success:function(data){
if(data == 'true'){
window.location = urlpenebusan;
}else if(data == 'false'){
Swal.fire({
icon: 'error',
title: 'Amaran',
text: 'Pembiayaan Belum Scan Barcode'
});
}
}
});
}
}else{
$.ajax({
method:'get',
url: api_url + '/api/check/serah/gadai',
datatype:'json',
data:{
'kodcaw': "{{ $cawangan_info['kodcaw'] }}",
'norujukan': norujukan
},
success:function(data){
if(data == 'true'){
window.location = urlpenebusan;
}else if(data == 'false'){
Swal.fire({
icon: 'error',
title: 'Amaran',
text: 'Pembiayaan Belum Scan Barcode'
});
}
}
});
}
}
});
}else if(data == 1){
Swal.fire({
icon: 'error',
title: 'Amaran',
text: 'Pembiayaan Sedang Dilelong..'
});
}
}
});
}
function getPembayaranTerakhir(tarikhLelong)
{
if (!tarikhLelong || tarikhLelong === '') {
return { tarikh: '', blocked: false };
}
let lelongDate;
if (tarikhLelong.includes('-')) {
const parts = tarikhLelong.split('-');
if (parts[0].length === 4) {
lelongDate = new Date(tarikhLelong);
} else {
lelongDate = new Date(parts[2], parts[1] - 1, parts[0]);
}
}
let pembayaranTerakhir = new Date(lelongDate);
pembayaranTerakhir.setDate(pembayaranTerakhir.getDate() - 3);
let today = new Date();
today.setHours(0, 0, 0, 0);
pembayaranTerakhir.setHours(0, 0, 0, 0);
let isBlocked = today > pembayaranTerakhir;
let day = String(pembayaranTerakhir.getDate()).padStart(2, '0');
let month = String(pembayaranTerakhir.getMonth() + 1).padStart(2, '0');
let year = pembayaranTerakhir.getFullYear();
return {
tarikh: `${year}-${month}-${day}`,
blocked: isBlocked
};
}
function gadaiTable(data,jenistebus){
var counter = 1;
tablegadai.clear().draw();
tabledahtebus.clear().draw();
tablelelong.clear().draw();
xtawarruq.clear().draw();
$.each(data,function(index,gadai_detail){
let jeniskeuntungan = (gadai_detail['tagbaru'] == 1) ? 'onepercent' : 'asal';
$.ajax({
method:'get',
url:api_url + '/api/upahtawarruq/'+ gadai_detail['kodcaw'] +'/' + gadai_detail['norujukan'],
data: {
'jeniskeuntungan' : jeniskeuntungan
},
success:function(upahsemasa){
if(jenistebus == "belum_tebus"){
var urlroute = '{{ route("penebusan", ":id") }}';
urlroute = urlroute.replace(':id', gadai_detail["norujukan"]);
if(gadai_detail['lelong_tawarruq'] == 0){
var tarikh_matang = gadai_detail['t_matang1'];
}else{
var tarikh_matang = gadai_detail['t_matang'];
}
if(gadai_detail["tagbaru"] == 0){
var taglel = '';
if(gadai_detail['taglel'] == 1){
if(tagarrahnbid == 1){
taglel = gadai_detail['t_lelong'];
} else {
$.ajax({
method:"GET",
async:false,
url:api_url + '/api/check/taglelong',
data: {
'kodcaw': "{{ $cawangan_info['kodcaw'] }}",
'norujukan': gadai_detail['norujukan'],
},
success: function(v){
taglel = v.t_lelong;
}
});
}
}
let table_norujukan = gadai_detail["norujukan"];
if(gadai_detail["percentpinj"] != 0)
xtawarruq.row.add([
'<input type="radio" value='+ gadai_detail["norujukan"] +' name="belum"/>',
(function() {
let bayaranInfo = getPembayaranTerakhir(taglel);
let blockedAttr = bayaranInfo.blocked ? 'data-blocked="true"' : '';
return '<a href="#" onclick="checkserah(this)" ' +
'data-pinjaman='+ gadai_detail['pinjaman'] +' ' +
'data-hargajualan='+ gadai_detail['hargajualan'] +' ' +
'data-norujukan='+ gadai_detail['norujukan'] +' ' +
'data-url=' + urlroute + ' ' +
blockedAttr + '>' +
gadai_detail['norujukan'] + '</a>';
})(),
gadai_detail['t_gadai'],
tarikh_matang,
'RM '+ formatter.format(gadai_detail['bakihargajualan']),
'RM '+formatter.format(gadai_detail['bakipjm']),
(((Number(gadai_detail['pinjaman'])/Number(gadai_detail['nilaimarhun']))*100).toFixed(2)).toLocaleString("en-GB") + '%',
gadai_detail['tempoh'],
'RM '+ formatter.format(upahsemasa),
'<div style="white-space: nowrap; color:red; font-weight: bolder">' + taglel + '</div>',
(function() {
let bayaranInfo = getPembayaranTerakhir(taglel);
if (!bayaranInfo.tarikh) {
return '';
}
let color = bayaranInfo.blocked ? 'red' : 'green';
return '<div style="white-space: nowrap; color: ' + color + '; font-weight: bold;">' +
bayaranInfo.tarikh + '</div>';
})()
]).draw();
}else{
var taglel = '';
if(gadai_detail['taglel'] == 1){
if(tagarrahnbid == 1){
if(gadai_detail['t_lelong'] != null){
taglel = gadai_detail['t_lelong'];
}
} else {
$.ajax({
method:"GET",
async:false,
url:api_url + '/api/check/taglelong',
data: {
'kodcaw': "{{ $cawangan_info['kodcaw'] }}",
'norujukan': gadai_detail['norujukan'],
},
success: function(v){
taglel = v.t_lelong;
}
});
}
}
let table_norujukan = gadai_detail["norujukan"];
tablegadai.row.add([
'<input type="radio" value='+ gadai_detail["norujukan"] +' name="belum"/>',
(function() {
let bayaranInfo = getPembayaranTerakhir(taglel);
let blockedAttr = bayaranInfo.blocked ? 'data-blocked="true"' : '';
return '<a href="#" onclick="checkserah(this)" ' +
'data-pinjaman='+ gadai_detail['pinjaman'] +' ' +
'data-hargajualan='+ gadai_detail['hargajualan'] +' ' +
'data-norujukan='+ gadai_detail['norujukan'] +' ' +
'data-url=' + urlroute + ' ' +
blockedAttr + '>' +
gadai_detail['norujukan'] + '</a>';
})(),
gadai_detail['t_gadai'],
tarikh_matang,
'RM '+ formatter.format(gadai_detail['bakihargajualan']),
'RM '+formatter.format(gadai_detail['bakipjm']),
(((Number(gadai_detail['pinjaman'])/Number(gadai_detail['nilaimarhun']))*100).toFixed(2)).toLocaleString("en-GB") + '%',
gadai_detail['tempoh'],
'RM '+ formatter.format(upahsemasa['pendapatan']),
'<div style="white-space: nowrap; color:red; font-weight: bolder">' + taglel + '</div>',
(function() {
let bayaranInfo = getPembayaranTerakhir(taglel);
if (!bayaranInfo.tarikh) {
return '';
}
let color = bayaranInfo.blocked ? 'red' : 'green';
return '<div style="white-space: nowrap; color: ' + color + '; font-weight: bold;">' +
bayaranInfo.tarikh + '</div>';
})()
]).draw();
}
}else if(jenistebus == "sudah_tebus"){
tabledahtebus.row.add([
'<input type="radio" value='+ gadai_detail["norujukan"] +' name="sudahtebus"/>',
gadai_detail['norujukan'],
gadai_detail['t_update'],
'RM '+formatter.format(gadai_detail['bakipjm']),
(((Number(gadai_detail['pinjaman'])/Number(gadai_detail['nilaimarhun']))*100).toFixed(2)).toLocaleString("en-GB") + '%',
gadai_detail['tempoh']
]).draw();
}else if(jenistebus == "lelong"){
var urlroute = '{{ route("lelongan", ":id") }}';
urlroute = urlroute.replace(':id', gadai_detail["norujukan"]);
var tuntutan = 'Pelanggan';
console.log(gadai_detail['norujukan'],kodcaw,api_url);
$.ajax({
method:"GET",
async:false,
url: api_url + "/api/check/customer/",
data:{
"norujukan" : gadai_detail['norujukan'],
"kodcaw" : kodcaw
},
success: function(response){
console.log(response);
if(response[0].teller == 'DM')
{
tuntutan = 'WTD';
}
}
});
if(gadai_detail['trkhtuntut'] == null){
tablelelong.row.add([
counter,
'<a href="#" onclick="checktuntutbaki(this)" data-norujukan=' + gadai_detail['norujukan'] + ' data-tarikhtuntut=' + gadai_detail['trkhtuntut'] + '>' + gadai_detail['norujukan'] + '</a>',
gadai_detail['t_lelong'],
gadai_detail['trkhtuntut'],
'RM '+ formatter.format(gadai_detail['pinjaman']),
'RM '+formatter.format(gadai_detail['hargajual']),
'RM '+formatter.format(gadai_detail['baki']),
'RM '+formatter.format(gadai_detail['bakiupah']),
'RM '+formatter.format(gadai_detail['cajlelong']),
'',
'<button class="btn btn-info" disabled>Cetak</button>'
]).draw();
}else{
tablelelong.row.add([
counter,
'<a href="#" onclick="checktuntutbaki(this)" data-norujukan=' + gadai_detail['norujukan'] + ' data-tarikhtuntut=' + gadai_detail['trkhtuntut'] + '>' + gadai_detail['norujukan'] + '</a>',
gadai_detail['t_lelong'],
gadai_detail['trkhtuntut'],
'RM '+ formatter.format(gadai_detail['pinjaman']),
'RM '+formatter.format(gadai_detail['hargajual']),
'RM '+formatter.format(gadai_detail['baki']),
'RM '+formatter.format(gadai_detail['bakiupah']),
'RM '+formatter.format(gadai_detail['cajlelong']),
tuntutan,
'<button class="btn btn-info" onclick="cetaktuntutbaki(this)" data-norujukan=' + gadai_detail['norujukan'] +'>Cetak</button>'
]).draw();
}
}
counter = counter + 1;
}
});
});
}
function cetaktuntutbaki(e)
{
let norujukan = $(e).data('norujukan');
const swalWithBootstrapButtons = Swal.mixin({
customClass: {
confirmButton: 'btn btn-success ml-1',
cancelButton: 'btn btn-danger'
},
buttonsStyling: false
});
swalWithBootstrapButtons.fire({
title: 'Dapatkan Pengesahan PC/PPC',
text: "Kelulusan Ulang Cetak Tuntut Baki Lelong",
icon: 'info',
showCancelButton: true,
confirmButtonText: 'Hantar',
cancelButtonText: 'Batal',
reverseButtons: true
}).then((result) => {
if(result.isConfirmed) {
Swal.fire({
title: 'Tunggu Pengesahan Daripada PC/PPC.',
icon: 'info',
width: 600,
padding: '3em',
background: '#fffff',
showCancelButton: false,
showConfirmButton: false,
allowOutsideClick: false,
allowEscapeKey: false,
allowEnterKey: false
})
let mohon = "Ulang Cetak Tuntut Baki";
$.ajax({
method:'post',
url: '{{ route("teller.createkelulusan") }}',
data: {
"_token": "{{ csrf_token() }}",
"norujukan" : norujukan,
"mohon" : mohon
},
success:function(data){
},error: function(xhr, status, error) {
var err = eval("(" + xhr.responseText + ")");
alert(xhr.responseText);
}
});
let teller = "{{ Auth::user()->name }}";
var pusher = new Pusher("{{ env('PUSHER_APP_KEY') }}", {
cluster: 'ap1',
encrypted: true
});
var channel = pusher.subscribe('notice-ubahhapus');
channel.bind('my-ubahhapus', function(data) {
if(data.norujukan == norujukan && data.teller == teller)
{
if(data.kelulusan == 'lulus')
{
Swal.fire({
icon: 'success',
title: 'Telah Disahkan'
}).then(function(){
let urlroute = '{{ route("resit.tuntutbaki", ":id") }}';
urlroute = urlroute.replace(':id', norujukan);
window.open(urlroute, '_blank');
});
}
else if(data.kelulusan == 'batal')
{
Swal.fire({
icon: 'warning',
title: 'Telah Dibatalkan',
text: `Komen : ${data.komen}`
}).then(function(){
location.reload();
return false;
});
}
}
});
}else if (result.dismiss === Swal.DismissReason.cancel){
swalWithBootstrapButtons.fire(
'Batal',
'Tidak Berjaya Mendapatkan Pengesahan Khazanah',
'error'
)
}
});
return;
}
function checktuntutbaki(e)
{
let tarikhtuntut = $(e).data('tarikhtuntut');
let norujukan = $(e).data('norujukan');
var urlroute = '{{ route("lelongan", ":id") }}';
urlroute = urlroute.replace(':id', norujukan);
if (tarikhtuntut == null)
{
$.ajax({
method: 'GET',
url : api_url + '/api/check/wtd',
data:{
'norujukan' : norujukan
},
success:function(data){
if(data == 'yes'){
Swal.fire({
icon: 'error',
title: 'Amaran',
text: 'Lelongan dalam process WTD'
});
}else{
const swalWithBootstrapButtons = Swal.mixin({
customClass: {
confirmButton: 'btn btn-success ml-1',
cancelButton: 'btn btn-danger'
},
buttonsStyling: false
});
swalWithBootstrapButtons.fire({
title: 'Dapatkan Pengesahan PC/PPC',
text: "Kelulusan Tuntut Baki Lelong",
icon: 'info',
showCancelButton: true,
confirmButtonText: 'Hantar',
cancelButtonText: 'Batal',
reverseButtons: true
}).then((result) => {
if(result.isConfirmed) {
Swal.fire({
title: 'Tunggu Pengesahan Daripada PC/PPC.',
icon: 'info',
width: 600,
padding: '3em',
background: '#fffff',
showCancelButton: false,
showConfirmButton: false,
allowOutsideClick: false,
allowEscapeKey: false,
allowEnterKey: false
})
let mohon = "Tuntut Baki";
$.ajax({
method:'post',
url: '{{ route("teller.createkelulusan") }}',
data: {
"_token": "{{ csrf_token() }}",
"norujukan" : norujukan,
"mohon" : mohon
},
success:function(data){
},error: function(xhr, status, error) {
var err = eval("(" + xhr.responseText + ")");
alert(xhr.responseText);
}
});
let teller = "{{ Auth::user()->name }}";
var pusher = new Pusher("{{ env('PUSHER_APP_KEY') }}", {
cluster: 'ap1',
encrypted: true
});
var channel = pusher.subscribe('notice-ubahhapus');
channel.bind('my-ubahhapus', function(data) {
if(data.norujukan == norujukan && data.teller == teller)
{
if(data.kelulusan == 'lulus')
{
Swal.fire({
icon: 'success',
title: 'Telah Disahkan'
}).then(function(){
window.location.href = urlroute;
});
}
else if(data.kelulusan == 'batal')
{
Swal.fire({
icon: 'warning',
title: 'Telah Dibatalkan',
text: `Komen : ${data.komen}`
}).then(function(){
location.reload();
return false;
});
}
}
});
}else if (result.dismiss === Swal.DismissReason.cancel){
swalWithBootstrapButtons.fire(
'Batal',
'Tidak Berjaya Mendapatkan Pengesahan Khazanah',
'error'
)
}
});
}
}
});
}else{
Swal.fire({
icon: 'error',
title: 'Amaran',
text: 'Lelongan telah Dituntut!'
});
}
return false;
}
$(document).ready( function () {
$('#myTable').parents('div.dataTables_wrapper').first().hide();
$('#dahtebusTable').parents('div.dataTables_wrapper').first().hide();
$('#lelongTable').parents('div.dataTables_wrapper').first().hide();
$('#btnsave').css('display','none');
var noic = $("#noic").val();
$.ajax({
method:"GET",
url: api_url + "/api/customers/"+noic+"/gadai/belum_tebus/"+kodcaw,
success: function(data){
$('#myTable').parents('div.dataTables_wrapper').first().show();
gadaiTable(data,"belum_tebus");
}
});
$('#myTable td').click( function () {
// alert('dasdsa');
});
$("input[name='options']").click(function(){
gadaiOptionButton(noic);
});
});
async function histfunc(){
if($("input[name='options']:checked").val() == 'belum_tebus'){
let histid = $('input[name="belum"]:checked').val();
if(histid == null){
Swal.fire({
icon: 'error',
title: 'Amaran',
text: 'Sila pilih salah satu SAG'
});
}else{
Swal.fire({
title: 'Memuatkan...',
allowEscapeKey : false,
allowOutsideClick: false,
didOpen: function () {
Swal.showLoading()
}
});
let checkps = await checkPS(histid);
$.ajax({
method:'get',
url:'{{ route("gadai.history") }}',
data:{ "norujukan" : histid},
success:function(data)
{
historytebustable(data,checkps);
$.ajax({
method: 'get',
url: api_url + '/api/transaction/' + histid,
success: function(data){
historybayarantable(data,checkps);
$.ajax({
method:'get',
url: api_url + '/api/gadai/norujukan/'+histid,
success:function(gadai){
rekodasal(gadai);
$.ajax({
method:'get',
url: api_url + '/api/ansuran/' + "{{ $cawangan_info['kodcaw'] }}" + '/' + histid,
success:function(ansuran){
rekodansuran(ansuran);
Swal.close();
$('#historytebusModal').modal();
}
});
}
});
}
});
},error: function(xhr, status, error) {
var err = eval("(" + xhr.responseText + ")");
alert(xhr.responseText);
}
});
}
}else if($("input[name='options']:checked").val() == 'sudah_tebus'){
let histid = $('input[name="sudahtebus"]:checked').val();
if(histid == null){
Swal.fire({
icon: 'error',
title: 'Amaran',
text: 'Sila pilih salah satu SAG'
});
}else{
Swal.fire({
title: 'Memuatkan...',
allowEscapeKey : false,
allowOutsideClick: false,
didOpen: function () {
Swal.showLoading()
}
});
let checkps = await checkPS(histid);
$.ajax({
method:'get',
url:'{{ route("gadai.history") }}',
data:{ "norujukan" : histid},
success:function(data){
historytebustable(data,checkps);
$.ajax({
method: 'get',
url: api_url + '/api/transaction/' + histid,
success: function(data){
historybayarantable(data);
}
});
$.ajax({
method:'get',
url:api_url + '/api/gadai/norujukan/'+histid,
success:function(gadai){
rekodasal(gadai);
}
});
$.ajax({
method:'get',
url: api_url + '/api/ansuran/' + "{{ $cawangan_info['kodcaw'] }}" + '/' + histid,
success:function(ansuran){
rekodansuran(ansuran);
}
});
$('#historytebusModal').modal();
Swal.close();
},error: function(xhr, status, error) {
var err = eval("(" + xhr.responseText + ")");
alert(xhr.responseText);
}
});
}
}
}
function rekodasal(gadaian){
$('#hargajualanmodal').text('RM ' + formatter.format(gadaian[0][0]['hargajualan']));
$('#pembiayaanmodal').text('RM ' + formatter.format(gadaian[0][0]['pinjaman']));
$('#nilaimarhunmodal').text('RM ' + formatter.format(gadaian[0][0]['nilaimarhun']));
$('#marhunmodal').text(gadaian[0][0]['marhun']);
}
function rekodansuran(data){
var counter = 1;
bayaranupah.clear().draw();
$.each(data,function(index,bayaran){
var urlroute = '{{ route("resit.advansur", ":id") }}';
urlroute = urlroute.replace(':id', bayaran['norujukan']);
bayaranupah.row.add([
counter,
bayaran['tarikh'],
"RM " + bayaran['upahDibayar'],
'<a class="btn btn-info" target="_blank" href='+ urlroute +'>Cetak</a>'
]).draw();
counter = counter + 1;
});
}
function historybayarantable(data){
var counter = 1;
historybayarandatatable.clear().draw();
$.each(data,function(index,bayaran){
var urlroute = '{{ route("resit.ansuran", ":id") }}';
var bayaranteller;
if(bayaran['teller'] != 'Online')
bayaranteller = 'KT';
if(bayaran['teller'] == 'Online')
bayaranteller = 'ON';
urlroute = urlroute.replace(':id', bayaran['id']);
historybayarandatatable.row.add([
counter,
bayaran['created_at'],
"RM " + bayaran['duit_masuk'],
bayaranteller,
'<a class="btn btn-info" target="_blank" href='+ urlroute +'>Cetak</a>'
]).draw();
counter = counter + 1;
});
}
var historytebusbayaran = $('#tablehistorytebus').DataTable({
"ordering": false
});
function historytebustable(data,checkps = false){
var counter = 1;
historytebusbayaran.clear().draw();
$.each(data,function(index,tebusaz){
switch(tebusaz['jenistebus']) {
case 'P':
var urlroute = '{{ route("resit.tambahpinjam", ":id") }}';
urlroute = urlroute.replace(':id', tebusaz['norujukan']);
break;
case 'T':
if(tebusaz['hargajualan'] === '')
{
var urlroute = '{{ route("resit.belumtebus", ":id") }}';
urlroute = urlroute.replace(':id', tebusaz['norujukan']);
}else{
if(checkps){
var urlroute = '{{ route("resit.autotawarruq", ":id") }}';
urlroute = urlroute.replace(':id', tebusaz['norujukan']);
}else{
var urlroute = '{{ route("resit.tebus", ":id") }}';
urlroute = urlroute.replace(':id', tebusaz['norujukan']);
}
}
break;
case 'A':
// if(tebusaz['tagbaru'] == 1){
// var urlroute = '{{ route("resit.ansuran", ":id") }}';
// urlroute = urlroute.replace(':id', tebusaz['norujukan']);
// }else{
// var urlroute = '{{ route("resit.belumansurans", ":id") }}';
// urlroute = urlroute.replace(':id', tebusaz['norujukan']);
// }
var urlroute = '{{ route("resit.autotawarruq", ":id") }}';
urlroute = urlroute.replace(':id', tebusaz['norujukan']);
break;
case 'S':
var urlroute = '{{ route("resit.tebusseparuh", ":id") }}';
urlroute = urlroute.replace(':id', tebusaz['norujukan']);
break;
}
historytebusbayaran.row.add([
counter,
tebusaz['norujukan'],
(checkps && tebusaz['jenistebus'] == 'A') ? 'PS' : (tebusaz['jenistebus'] == 'A') ? 'PS' : tebusaz['jenistebus'],
tebusaz['pinjaman'],
tebusaz['jbg'],
tebusaz['t_tebus'],
'<a class="btn btn-info" target="_blank" href='+ urlroute +'>Cetak</a>'
]).draw();
counter = counter + 1;
});
}
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 norujukan = $('#norujukanwakil').val();
let teller = "{{ Auth::user()->name }}";
$.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,
"teller" : teller
},
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(){
$.ajax({
method:'put',
url: api_url + '/api/ubahwakil/' + kodcaw,
data:{ 'nowakil' : nw,
'norujukan' : norujukan},
success:function(data){
if(data === 1)
{
Swal.fire({
icon: 'success',
title: 'Berjaya!',
text: 'Penukaran Wakil berjaya'
}).then(async function(){
return true;
location.reload();
});
}else{
Swal.fire({
icon: 'info',
title: 'Pemberitahuan!',
text: 'Wakil telah didaftarkan dengan IC tersebut!'
}).then(async function(){
return true;
location.reload();
});
}
}
});
});
}
},error: function (request, status, error) {
console.log(request.responseText);
}
});
}
function daftarwakilfunction(nokp,norujukan)
{
$('#nokpwakil').val(nokp);
$('#norujukanwakil').val(norujukan);
$.ajax({
method:'GET',
url: "{{ route('wakil.caricustomer') }}",
data:{ "icno" : nokp },
success:function(data){
$('#WakilModal').modal();
$('#namawakil').val('');
$('#alamatwakil').val(data['']);
$('#notelwakil').val(data['']);
//get first wakil
$.ajax({
method:'GET',
url: "{{ route('wakil.first') }}",
success:function(getfirstwakil)
{
let firstwakil = parseInt(getfirstwakil);
$('#nowakil').val(firstwakil+1);
}
});
if(data != 'no-data')
{
$('#namawakil').val(data['nama']);
$('#alamatwakil').val(data['alamat1']);
$('#notelwakil').val(data['telefon']);
$('#nopelangganwakil').val(data['nopelanggan']);
}
},error: function (request, status, error) {
console.log(request.responseText);
}
});
}
async function ubahPembiayaanSemulaErrorHandling()
{
let selected = document.querySelector('#navtawarruqdannottawarruq input[type="radio"][name="belum"]:checked')
let navTawarruq = document.querySelector('#nav-tawarruq');
// check if selected radio button in SAG Baru tab. If not SAG Baru tab. Execution will bypass the validation here and continue to next validation flow
if( ! navTawarruq.contains(selected)){
return false;
}
if(selected === null){
Swal.fire({
icon: 'error',
title: 'Amaran',
text: 'Sila pilih salah satu SAG!'
});
return true;
}
let isPS = await checkPS(selected.value)
if(isPS === true){
Swal.fire({
icon: 'error',
title: 'Amaran',
text: 'Ubah Pembiayaan Tidak Dibenarkan Untuk Pembiayaan Semula'
});
return true;
}
return false;
}
async function ubahfunc(e){
let isError = await ubahPembiayaanSemulaErrorHandling()
if(isError){
return;
}
let ubahid = $('input[name="belum"]:checked').val();
let harini = new Date();harini.setHours(0, 0, 0, 0);
if($("input[name='options']:checked").val() == 'belum_tebus'){
let test1 = $('input[name="belum"]:checked').closest('tr').children('td:eq(2)').text();
let tarikhgadai2 = new Date(test1);tarikhgadai2.setHours(0, 0, 0, 0);
if(+harini !== +tarikhgadai2){
Swal.fire({
icon: 'error',
title: 'Amaran',
text: 'Ubah Pembiayaan Tidak Dibenarkan'
});
return false;
}
}else if($("input[name='options']:checked").val() == 'sudah_tebus'){
let test = $('input[name="sudahtebus"]:checked').closest('tr').children('td:eq(2)').text();
let tarikhgadai1 = new Date(test);tarikhgadai1.setHours(0, 0, 0, 0);
if(+harini !== +tarikhgadai1){
Swal.fire({
icon: 'error',
title: 'Amaran',
text: 'Ubah Pembiayaan Tidak Dibenarkan'
});
return false;
}
}
if(ubahid == null && $("input[name='options']:checked").val() == 'belum_tebus'){
Swal.fire({
icon: 'error',
title: 'Amaran',
text: 'Sila pilih salah satu SAG!'
});
return false;
}
if($("input[name='options']:checked").val() == 'sudah_tebus'){
const swalWithBootstrapButtons = Swal.mixin({
customClass: {
confirmButton: 'btn btn-success ml-1',
cancelButton: 'btn btn-danger'
},
buttonsStyling: false
});
swalWithBootstrapButtons.fire({
title: 'Dapatkan Pengesahan Khazanah',
text: "Ubah Maklumat Wakil",
icon: 'info',
showCancelButton: true,
confirmButtonText: 'Hantar',
cancelButtonText: 'Batal',
reverseButtons: true
}).then((result) => {
if (result.isConfirmed) {
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 mohon = "Ubah Wakil";
let norujukan = $('input[name="sudahtebus"]:checked').val();
$.ajax({
method:'post',
url: '{{ route("teller.createkelulusan") }}',
data: {
"_token": "{{ csrf_token() }}",
"norujukan" : norujukan,
"mohon" : mohon
},
success:function(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
});
let teller = "{{ Auth::user()->name }}";
var channel = pusher.subscribe('notice-ubahhapus');
channel.bind('my-ubahhapus', function(data) {
if(data.norujukan == norujukan && data.teller == teller)
{
if(data.kelulusan == 'lulus')
{
Swal.fire({
icon: 'success',
title: 'Telah Disahkan'
}).then(async function(){
const { value: amaun } = await Swal.fire({
title: 'Kad Pengenalan Wakil',
input: 'text',
inputPlaceholder: 'Kad Pengenalan',
confirmButtonText: 'Terima',
showCancelButton:true,
cancelButtonText:'Batal',
allowOutsideClick: true,
inputValidator: (value) => {
if (!value) {
return 'Isikan tempat kosong diatas!'
}
if(value <= 0){
return 'Masukkan No Kad Pengenalan yang betul!';
}
// if(isNaN(value))
// {
// return 'Kad Pengenalan hendaklah dalam bentuk nombor!'
// }
}
});
if(amaun)
{
$.ajax({
method:'get',
url: api_url + '/api/getwakil/' + kodcaw + '/' + amaun,
success:function(data){
if(data.length > 0)
{
let namawakilsedia = data[0]['nama'];
let nokpwakilsedia = data[0]['nokp'];
let nowakilsedia = data[0]['nowakil'];
const PengesahanAkhirWakil = Swal.mixin({
customClass: {
confirmButton: 'btn btn-success ml-1',
cancelButton: 'btn btn-danger'
},
buttonsStyling: false
});
PengesahanAkhirWakil.fire({
title: 'Pengesahan Akhir Wakil!',
html: '<b class="text-danger">' + namawakilsedia + '</b><br><b class="text-danger">' + nokpwakilsedia + '</b>',
icon: 'info',
showCancelButton: true,
confirmButtonText: 'Benar',
cancelButtonText: 'Salah',
reverseButtons: true
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
method:'put',
async:false,
url: api_url + '/api/ubahwakil/' + kodcaw,
data:{ 'nowakil' : nowakilsedia,
'norujukan' : norujukan},
success:function(data){
if(data === 1)
{
Swal.fire({
icon: 'success',
title: 'Berjaya!',
text: 'Penukaran Wakil berjaya'
}).then(async function(){
return true;
location.reload();
});
}else{
Swal.fire({
icon: 'info',
title: 'Pemberitahuan!',
text: 'Wakil telah didaftarkan dengan IC tersebut!'
}).then(async function(){
return true;
location.reload();
});
}
}
});
}else if (result.dismiss === Swal.DismissReason.cancel){
PengesahanAkhirWakil.fire(
'Batal',
'Tidak Berjaya Mengesahkan Wakil!',
'error'
)
}
});
}else{
Swal.fire({
allowOutsideClick: false,
allowEscapeKey: false,
allowEnterKey: false,
confirmButtonText: '<i class="fa fa-thumbs-up"></i> Daftar Wakil!',
icon: 'info',
title: 'Maklumat anda tiada dalam senarai wakil! Tekan button Daftar untuk mendaftar!'
}).then(function(){
daftarwakilfunction(amaun,norujukan);
});
}
},error: function(xhr, status, error) {
var err = eval("(" + xhr.responseText + ")");
alert(xhr.responseText);
}
});
}
});
}
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){
swalWithBootstrapButtons.fire(
'Batal',
'Tidak Berjaya Mendapatkan Pengesahan Khazanah',
'error'
)
}
});
return false;
}
const swalWithBootstrapButtons = Swal.mixin({
customClass: {
confirmButton: 'btn btn-success',
cancelButton: 'btn btn-danger'
},
buttonsStyling: false
});
swalWithBootstrapButtons.fire({
title: 'Dapatkan Pengesahan Khazanah',
text: "Ubah Maklumat Pembiayaan",
icon: 'info',
showCancelButton: true,
confirmButtonText: 'Hantar',
cancelButtonText: 'Batal',
reverseButtons: true
}).then((result) => {
if (result.isConfirmed) {
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 mohon = "Ubah Gadai";
$.ajax({
method:'post',
url: '{{ route("teller.createkelulusan") }}',
data: {
"_token": "{{ csrf_token() }}",
"norujukan" : ubahid,
"mohon" : mohon
},
success:function(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
});
let teller = "{{ Auth::user()->name }}";
var channel = pusher.subscribe('notice-ubahhapus');
channel.bind('my-ubahhapus', function(data) {
if(data.norujukan == ubahid && data.teller == teller)
{
if(data.kelulusan == 'lulus')
{
Swal.fire({
icon: 'success',
title: 'Telah Disahkan'
}).then(function(){
var urlroute = '{{ route("gadaian.edit", ":id") }}';
urlroute = urlroute.replace(':id', ubahid);
window.location.replace(urlroute);
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){
swalWithBootstrapButtons.fire(
'Batal',
'Tidak Berjaya Mendapatkan Pengesahan Khazanah',
'error'
)
}
});
}
function hapusfunc(){
let kodcaw = "{{ $cawangan_info['kodcaw'] }}";
let hapusid = $('input[name="belum"]:checked').val();
let hapusidsudah = $('input[name="sudahtebus"]:checked').val();
let harini = new Date();harini.setHours(0, 0, 0, 0);
if(hapusid == null && $("input[name='options']:checked").val() == 'belum_tebus'){
Swal.fire({
icon: 'error',
title: 'Amaran',
text: 'Sila pilih salah satu SAG!'
});
return false;
}else if(hapusidsudah == null && $("input[name='options']:checked").val() == 'sudah_tebus'){
Swal.fire({
icon: 'error',
title: 'Amaran',
text: 'Sila pilih salah satu SAG!'
});
return false;
}
if($("input[name='options']:checked").val() == 'belum_tebus'){
let test1 = $('input[name="belum"]:checked').closest('tr').children('td:eq(2)').text();
let tarikhgadai2 = new Date(test1);tarikhgadai2.setHours(0, 0, 0, 0);
// var id = $('.tab-content .active').attr('id');
var activeTab = $("#navtawarruqdannottawarruq.tab-content").find(".active");
var id = activeTab.attr('id');
if(id == "nav-tawarruq") {
if(+harini !== +tarikhgadai2){
Swal.fire({
icon: 'error',
title: 'Amaran',
text: 'Hapus Gadai Tidak Dibenarkan'
});
return false;
}
}
else {
$.ajax({
method:'get',
url: api_url + '/api/upahlamatoday/' + kodcaw + '/' + hapusid,
success:function(data){
if(data == 1){
const swalWithBootstrapButtons = Swal.mixin({
customClass: {
confirmButton: 'btn btn-success',
cancelButton: 'btn btn-danger'
},
buttonsStyling: false
});
swalWithBootstrapButtons.fire({
title: 'Dapatkan Pengesahan Khazanah',
text: "Hapus Upah Lama!",
icon: 'info',
showCancelButton: true,
confirmButtonText: 'Hantar',
cancelButtonText: 'Batal',
reverseButtons: true
}).then((result) => {
if(result.isConfirmed) {
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 mohon = "Hapus Upah Lama";
let id = hapusid;
$.ajax({
method:'post',
url: '{{ route("teller.createkelulusan") }}',
data: {
"_token": "{{ csrf_token() }}",
"norujukan" : id,
"mohon" : mohon
},
success:function(data){
},error: function(xhr, status, error) {
var err = eval("(" + xhr.responseText + ")");
alert(xhr.responseText);
}
});
let teller = "{{ Auth::user()->name }}";
var pusher = new Pusher("{{ env('PUSHER_APP_KEY') }}", {
cluster: 'ap1',
encrypted: true
});
var channel = pusher.subscribe('notice-ubahhapus');
channel.bind('my-ubahhapus', function(data) {
if(data.norujukan == id && data.teller == teller)
{
if(data.kelulusan == 'lulus')
{
Swal.fire({
icon: 'success',
title: 'Telah Disahkan'
}).then(function(){
$.ajax({
method:'post',
url: api_url + '/api/removeupahlamatoday/' + kodcaw + '/' + id,
data:{
"teller" : "{{ Auth::user()->name }}"
},
success:function(data){
if(data == 1)
{
swalWithBootstrapButtons.fire(
'Hapus!',
'Maklumat upah lama telah dihapuskan.',
'success'
).then(function(){
location.reload();
});
}else{
swalWithBootstrapButtons.fire(
'Hapus!',
'Maklumat Upah lama tidak berjaya untuk dihapuskan.',
'error'
).then(function(){
location.reload();
});
}
},error: function(xhr, status, error) {
var err = eval("(" + xhr.responseText + ")");
alert(xhr.responseText);
}
});
return true;
});
}
}
});
}
});
return false;
}
else{
Swal.fire({
icon: 'error',
title: 'Amaran',
text: 'Hapus Upah Tidak Dibenarkan'
});
return false;
}
},error: function(xhr, status, error) {
var err = eval("(" + xhr.responseText + ")");
alert(xhr.responseText);
}
});
return false;
}
// return false;
}else if($("input[name='options']:checked").val() == 'sudah_tebus'){
let test = $('input[name="sudahtebus"]:checked').closest('tr').children('td:eq(2)').text();
let tarikhgadai1 = new Date(test);tarikhgadai1.setHours(0, 0, 0, 0);
if(+harini !== +tarikhgadai1){
Swal.fire({
icon: 'error',
title: 'Amaran',
text: 'Hapus Tebus Tidak Dibenarkan'
});
return false;
}
}
const swalWithBootstrapButtons = Swal.mixin({
customClass: {
confirmButton: 'btn btn-success',
cancelButton: 'btn btn-danger'
},
buttonsStyling: false
});
swalWithBootstrapButtons.fire({
title: 'Dapatkan Pengesahan Khazanah',
text: "Hapus Rekod!",
icon: 'info',
showCancelButton: true,
confirmButtonText: 'Hantar',
cancelButtonText: 'Batal',
reverseButtons: true
}).then((result) => {
if(result.isConfirmed) {
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 mohon = "";
let id = 0;
if($("input[name='options']:checked").val() == 'belum_tebus'){
id = hapusid;
mohon = "Hapus Gadai";
}
else if($("input[name='options']:checked").val() == 'sudah_tebus'){
id = hapusidsudah;
mohon = "Hapus Tebus";
}
$.ajax({
method:'post',
url: '{{ route("teller.createkelulusan") }}',
data: {
"_token": "{{ csrf_token() }}",
"norujukan" : id,
"mohon" : mohon
},
success:function(data){
},error: function(xhr, status, error) {
var err = eval("(" + xhr.responseText + ")");
alert(xhr.responseText);
}
});
let teller = "{{ Auth::user()->name }}";
var pusher = new Pusher("{{ env('PUSHER_APP_KEY') }}", {
cluster: 'ap1',
encrypted: true
});
var channel = pusher.subscribe('notice-ubahhapus');
channel.bind('my-ubahhapus', function(data) {
if(data.norujukan == id && data.teller == teller)
{
if(data.kelulusan == 'lulus')
{
Swal.fire({
icon: 'success',
title: 'Telah Disahkan'
}).then(function(){
if($("input[name='options']:checked").val() == 'belum_tebus'){
$.ajax({
method:'put',
url: api_url + '/api/gadai/hapus/' + kodcaw + '/' + id,
data: { 'kodlaluan' : teller },
success:function(data){
swalWithBootstrapButtons.fire(
'Hapus!',
'Maklumat Pembiayaan telah dihapuskan.',
'success'
).then(function(){
location.reload();
});
$.ajax({
method:'put',
url: api_url + '/api/komuditi/batal',
dataType:'json',
data:{
norujukan: hapusid
},
success:function(batalkomuditi){
swalWithBootstrapButtons.fire(
'Hapus!',
'Maklumat Pembiayaan telah dihapuskan.',
'success'
).then(function(){
location.reload();
});
}
})
},error: function(xhr, status, error) {
var err = eval("(" + xhr.responseText + ")");
alert(xhr.responseText);
}
});
}else if($("input[name='options']:checked").val() == 'sudah_tebus'){
$.ajax({
method:'put',
url:api_url + '/api/tebus/hapus/' + kodcaw + '/' + id,
data: { 'kodlaluan' : teller },
success:function(data){
if(data != "Bukan-Tebus"){
swalWithBootstrapButtons.fire(
'Hapus!',
'Maklumat tebus telah dihapuskan.',
'success'
).then(function () {
location.reload();
});
}else{
swalWithBootstrapButtons.fire(
'Amaran!',
'Hapus Tebus Tidak Dibenarkan, Hanya untuk tebus sahaja!',
'error'
)
}
},error: function(xhr, status, error) {
var err = eval("(" + xhr.responseText + ")");
console.log(xhr.responseText);
}
});
}
return true;
});
}
else if(data.kelulusan == 'batal')
{
Swal.fire({
icon: 'warning',
title: 'Telah Dibatalkan',
text: `Komen : ${data.komen}`
}).then(function(){
location.reload();
return false;
});
}
}
});
}else if (result.dismiss === Swal.DismissReason.cancel) {
swalWithBootstrapButtons.fire(
'Batal',
'Maklumat Pembiayaan Tidak Berjaya Dihapuskan',
'error'
)
}
});
}
function gadaiOptionButton(noic){
tablegadai.clear().draw();
if($("input[name='options']:checked").val() == 'belum_tebus'){
$('#nav-tab').show();
$('#myTable').parents('div.dataTables_wrapper').first().show();
$('#xtawarruq').parents('div.dataTables_wrapper').first().show();
$('#dahtebusTable').parents('div.dataTables_wrapper').first().hide();
$('#lelongTable').parents('div.dataTables_wrapper').first().hide();
$.ajax({
method:"GET",
url: api_url + "/api/customers/"+noic+"/gadai/belum_tebus/"+kodcaw,
success: function(data){
gadaiTable(data,"belum_tebus");
}
});
}
if($("input[name='options']:checked").val() == 'sudah_tebus'){
$('#nav-tab').hide();
$('#myTable').parents('div.dataTables_wrapper').first().hide();
$('#xtawarruq').parents('div.dataTables_wrapper').first().hide();
$('#dahtebusTable').parents('div.dataTables_wrapper').first().show();
$('#lelongTable').parents('div.dataTables_wrapper').first().hide();
$.ajax({
method:"GET",
url: api_url + "/api/customers/"+noic+"/gadai/sudah_tebus/"+kodcaw,
success: function(data){
sorted_data = [...data];
sorted_data.sort((a, b) => new Date(b.date) - new Date(a.date));
gadaiTable(data,"sudah_tebus");
}
});
}
if($("input[name='options']:checked").val() == 'lelong'){
$('#nav-tab').hide();
$('#myTable').parents('div.dataTables_wrapper').first().hide();
$('#xtawarruq').parents('div.dataTables_wrapper').first().hide();
$('#dahtebusTable').parents('div.dataTables_wrapper').first().hide();
$('#lelongTable').parents('div.dataTables_wrapper').first().show();
$.ajax({
method:"GET",
url: api_url + "/api/customers/"+noic+"/gadai/lelong/"+kodcaw,
success: function(data){
gadaiTable(data,"lelong");
}
});
}
}
$('#poskod').change(function(){
var poskod = this.value;
$.ajax({
method:'GET',
url:api_url+'/api/poskod/'+poskod,
success:function(poskod_detail){
var koddaerah = poskod_detail['koddaerah'];
var kodnegeri = poskod_detail['kodnegeri'];
$.ajax({
url:api_url+'/api/negeri/'+kodnegeri,
method:'GET',
success:function(negeri){
$('#kodnegeri').val(negeri['negeri']);
}
});
$.ajax({
url:api_url+'/api/daerah/'+koddaerah,
method:'GET',
success:function(daerah){
$('#koddaerah').val(daerah['namadaerah']);
}
});
}
});
});
function kemaskinifunc()
{
$('#btnkemaskini').addClass('btn-danger');
$('#btnkemaskini').removeClass('btn-primary');
$('#btnkemaskini').text('Batal');
$('#btnkemaskini').attr('onclick','cancelbutton()');
$('#btnsave').show();
$('#btnotp').css('display','none');
//attribute nak readonly false
$('#telefon').attr('readonly', false);
$('#telefon2').attr('readonly', false);
$('#kodbank').attr('disabled', false);
$('#kodkerja').attr('disabled', false);
$('#nota_pekerjaan').attr('disabled', false);
$('#noakaun').attr('readonly', false);
$('#nota').attr('readonly', false);
// $('#nota_arcc').attr('readonly', false);
$('#alamat').attr('readonly', false);
$('#poskod').attr('readonly', false);
}
function cancelbutton(){
$('#btnkemaskini').removeClass('btn-danger');
$('#btnkemaskini').addClass('btn-primary');
$('#btnkemaskini').text('Ubah');
$('#btnkemaskini').attr('onclick','kemaskinifunc()');
$('#btnsave').css('display','none');
$('#btnotp').show();
document.getElementById("kemaskiniform").reset();
//attribute nak readonly false
$('#telefon').attr('readonly', true);
$('#telefon2').attr('readonly', true);
$('#kodbank').attr('disabled', true);
$('#kodkerja').attr('disabled', true);
$('#nota_pekerjaan').attr('disabled', true);
$('#noakaun').attr('readonly', true);
$('#nota').attr('readonly', true);
// $('#nota_arcc').attr('readonly', true);
$('#alamat').attr('readonly', true);
$('#poskod').attr('readonly', true);
}
$("#kemaskiniform").submit(function(event) {
event.preventDefault();
var nokp = $('#icno').val();
var telefon1 = $('#telefon').val();
var telefon2 = $('#telefon2').val();
var kodbank = $('#kodbank').val();
var kodkerja = $('#kodkerja').val();
var nota_pekerjaan = $('#nota_pekerjaan').val();
var noakaun = $('#noakaun').val();
var nota = $('#nota').val();
// var nota_arcc = $('#nota_arcc').val();
var alamat = $('#alamat').val();
var poskod = $('#poskod').val();
$.ajax({
method:"put",
url: api_url + "/api/customers/update/kaunter/" + nokp+ "/" + kodcaw,
data:{
"namateller" : "{{ Auth::user()->name }}",
"telefon1": telefon1,
"telefon2": telefon2,
"kodbank":kodbank,
"kodkerja":kodkerja,
"nota_pekerjaan":nota_pekerjaan,
"noakaun":noakaun,
'nota':nota,
// 'nota_arcc':nota_arcc,
'alamat':alamat,
'poskod':poskod
},
success: function(success){
$('#btnsave').css('display','none');
$('#btnotp').show();
if(success == 1){
Swal.fire({
icon: 'success',
title: 'Berjaya',
text: 'Berjaya mengemaskini maklumat pelanggan',
allowEscapeKey : false,
allowOutsideClick: false,
}).then((result) => {
if (result.isConfirmed) {
location.reload();
}
});
}else{
Swal.fire({
icon: 'error',
title: 'Tidak Berjaya',
text: 'Tidak berjaya mengemaskini maklumat pelanggan',
allowEscapeKey : false,
allowOutsideClick: false,
});
}
},
error: function (request, status, error) {
alert(request.responseText);
}
});
});
function kemaskinipelanggan(){
var errortelefon1 = 0;
var errortelefon2 = 0;
if(!($('#telefon').val().length >= 9 && $('#telefon').val().length < 12)){
$('#errortelefon').show();
$('#errortelefon').text("*lebih kecil dari 10 dan lebih besar dari 12");
$('#telefon').addClass('is-invalid');
errortelefon1++;
}else{
$('#errortelefon').hide();
$('#telefon').removeClass('is-invalid');
errortelefon1--;
}
if($('#telefon2').val() != ''){
if(!($('#telefon2').val().length >= 9 && $('#telefon2').val().length < 12)){
$('#errortelefon2').show();
$('#errortelefon2').text("*lebih kecil dari 10 dan lebih besar dari 12");
$('#telefon2').addClass('is-invalid');
errortelefon2++;
}else{
$('#errortelefon2').hide();
$('#telefon2').removeClass('is-invalid');
errortelefon2--;
}
}else{
$('#errortelefon2').hide();
$('#telefon2').removeClass('is-invalid');
errortelefon2--;
}
if(errortelefon1 <= 0 && errortelefon2 <= 0){
$('#btnkemaskini').removeClass('btn-danger');
$('#btnkemaskini').addClass('btn-primary');
$('#btnkemaskini').text('Ubah');
$('#btnkemaskini').attr('onclick','kemaskinifunc()');
$('#btnotp').text('Daftar Akuan Online');
$('#btnotp').attr('onclick','#');
//attribute nak readonly false
$('#telefon').attr('readonly', true);
$('#telefon2').attr('readonly', true);
$('#noakaun').attr('readonly', true);
$('#kodbank').attr('disabled', true);
$('#kodkerja').attr('disabled', true);
$('#nota_pekerjaan').attr('disabled', true);
$('#nota').attr('readonly', true);
// $('#nota_arcc').attr('readonly', true);
$('#alamat').attr('readonly', true);
$('#poskod').attr('readonly', true);
$('#kemaskiniform').trigger('submit');
}
}
$('#btnotp').click(function(){
$('#customer_detail').modal('hide');
var noic = $('#noic').val();
$('#noic_otp').val(noic);
$('#opt_modal').modal('show');
});
$('#jana_otp').click(function(){
var noic = $('#noic_otp').val();
$.ajax({
method:'get',
url: "{{ route('customer.otp') }}",
data:{
'noic_otp' : noic
},
dataType:'json',
success: function(otp_token){
if(otp_token['error']){
Swal.fire({
icon: 'error',
title: 'Amaran!',
text: otp_token['error']
});
}else if(otp_token['otp']){
$('#otp_form').hide();
$('#otp_generate').show();
$('#otp_number').text(otp_token['otp']);
}
},
error: function(xhRequest, ErrorText, thrownError){
console.log(xhRequest);
}
});
});
async function removeansuran(event){
let ansid = $('input[name="belum"]:checked').val();
let harini = new Date();harini.setHours(0, 0, 0, 0);
if($("input[name='options']:checked").val() != 'belum_tebus'){
Swal.fire({
icon: 'error',
title: 'Amaran',
text: 'Ansuran untuk Pembiayaan Belum Selesai Sahaja!'
});
return false;
}
if(ansid == null && $("input[name='options']:checked").val() == 'belum_tebus'){
Swal.fire({
icon: 'error',
title: 'Amaran',
text: 'Sila pilih salah satu SAG!'
});
return false;
}
const jsonData = {
norujukan: ansid,
kodcaw: "{{ Auth::user()->cawangan }}",
};
const queryString = new URLSearchParams(jsonData).toString();
let ansuranlatest = await fetch(api_url + '/admin/ansuran/getLatest?' + queryString)
.then(response => response.json())
.then(response => {return response});
if(Object.keys(ansuranlatest).length == 0){
Swal.fire({
icon: 'error',
title: 'Amaran',
text: 'Tiada Ansuran Pembiayaan Hari Ini'
});
return false;
}
try{
let response = await getKelulusanKhazanahOperasi('Hapus Ansuran',ansid,ansuranlatest);
let pusherresponse = await PusherResponse(ansid,response,ansuranlatest['created_at'],ansuranlatest['id']);
}catch(error){
console.error("Error:", error);
}
}
function getGadaiByNorujukan(norujukan){
let gadai_tawarruq = fetch(api_url + '/api/gadai/norujukan/' + norujukan );
return gadai_tawarruq
.then(response => response.json())
.then(response => response[0][0]);
}
async function getKelulusanKhazanahOperasi(textstatus = 'none',norujukan,ansuranlatest = null){
const swalWithBootstrapButtons = Swal.mixin({
customClass: {
confirmButton: 'btn btn-success',
cancelButton: 'btn btn-danger'
},
buttonsStyling: false
});
try{
let gadai = await getGadaiByNorujukan(norujukan);
let response = await swalWithBootstrapButtons.fire({
title: 'Dapatkan Pengesahan Operasi',
text: textstatus,
icon: 'info',
showCancelButton: true,
confirmButtonText: 'Hantar',
cancelButtonText: 'Batal',
reverseButtons: true
}).then(async (result) => {
if (result.isConfirmed) {
let norujukan = gadai.norujukan;
let nm = gadai.nilaimarhun;
let ber = gadai.berat;
let marg = gadai.percentpinj;
let status = textstatus;
let jumpinjam = gadai.pinjaman;
let ansuran = ansuranlatest ? ansuranlatest['bakihargajualan'] - gadai.bakihargajualan : 0;
let teller = "{{ Auth::user()->name }}";
let comment = Swal.fire({
title: 'Sila Masukkan Komen',
input: 'text',
inputPlaceholder: 'Komen',
showCancelButton: true,
confirmButtonText: 'Hantar',
cancelButtonText: 'Batal',
allowOutsideClick: false,
allowEscapeKey: false,
inputValidator: (value) => {
if (!value) {
return 'Sila masukkan komen!';
}
}
});
let komen = await comment.then((result) => {
if (result.isConfirmed) {
return result.value;
}
});
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;
let requestdata = {
"_token": "{{ csrf_token() }}",
"mohon" : "Hapus Ansuran",
"norujukan" : norujukan,
"komen" : komen,
"margin" : marg,
"berat" : ber,
"nilaimarhun" : nm,
"status" : status,
"jumpinjam" : jumpinjam,
"teller" : teller,
"ansuran" : ansuran,
"tagoperasi" : 1
};
siricreated = await fetch("{{ route('teller.createkelulusan') }}",{
method: 'POST',
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(requestdata)
})
.then(response => response.json())
.then(response => {return response});
return siricreated;
}else if (result.dismiss === Swal.DismissReason.cancel){
console.log('gagal');
swalWithBootstrapButtons.fire(
'Batal',
'Maklumat Ansuran Pembiayaan Tidak Berjaya',
'error'
)
}
// return false;
});
return response;
}catch(error){
console.error(error);
}
}
function PusherResponse(norujukan,siricreated,tarikh,tg_id){
var pusher = new Pusher("{{ env('PUSHER_APP_KEY') }}", {
cluster: 'ap1',
encrypted: true
});
let recno = (siricreated && typeof siricreated === 'object' && 'id' in siricreated) ? siricreated['id'] : siricreated;
let teller = "{{ Auth::user()->name }}";
let kodcaw = "{{ Auth::user()->cawangan }}";
var channel = pusher.subscribe('notice-kelulusan');
channel.bind('my-kelulusan', function(data) {
console.log(data,siricreated,teller,norujukan);
if(data.norujukan == norujukan && data.siri == recno && data.teller == teller && data.tagoperasi == null)
{
if(data.kelulusan == 'lulus')
{
Swal.fire({
icon: 'success',
title: 'Telah Disahkan',
text: `Komen : ${data.komen}`
}).then(function(){
console.log("delete ansuran",tarikh,kodcaw,norujukan,tg_id);
deleteFuncAnsuran(tarikh,kodcaw,norujukan,tg_id);
return true;
});
}
else if(data.kelulusan == 'batal')
{
Swal.fire({
icon: 'warning',
title: 'Telah Dibatalkan',
text: `Komen : ${data.komen}`
}).then(function(){
Swal.fire({
icon: 'error',
title: 'Amaran',
text: 'Kelulusan Dibatalkan'
});
return false;
});
}
}
});
}
function deleteFuncAnsuran(tarikh,kodcaw,norujukan,tg_id){
let jsondata = {
tarikh: tarikh,
kodcaw: kodcaw,
norujukan: norujukan,
tg_id: tg_id,
teller: "{{ Auth::user()->name }}"
};
try{
let updated = fetch(api_url + '/admin/ansuran/delete',{
method: 'POST',
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(jsondata)
})
.then(response => response.json())
.then(response => {
return response
});
Swal.fire({
icon: 'success',
title: 'Berjaya!',
text: `Hapus Ansuran Pembiayaan Berjaya`
}).then(()=>{
location.reload();
});
}catch(error){
Swal.fire({
icon: 'error',
title: 'Amaran!',
text: `Hapus Ansuran Pembiayaan `
});
}
}
</script>
<script>
$('#kodkerja').on('change', function() {
var lainContainer = $('#pekerjaan-lain-container');
if ($(this).val() === '6') {
lainContainer.show();
} else {
$('#pekerjaan-lain').val('');
lainContainer.hide();
}
});
</script>
@endsection