Co-authored-by: ISMAIL MASSERAN <topaz@Mac.dlinkrouter.local> Co-authored-by: ISMAIL MASSERAN <topaz@ISMAILs-Macbook.local> Co-authored-by: nurafrinaalimi16 <nurafrinaalimi16@gmail.com> Reviewed-on: #15
This commit was merged in pull request #15.
This commit is contained in:
@@ -210,15 +210,17 @@
|
||||
<div class="modal fade" id="daftar_pelanggan_mykad_reader" tabindex="-1" data-backdrop="static" aria-labelledby="ModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-lg">
|
||||
<div class="modal-content">
|
||||
<form id="form-mykad-reader" action="{{ route('customer.store') }}" onsubmit="verifycustomerMyKadReader()" method="POST">
|
||||
@csrf
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="ModalLabel">Daftar Pelanggan</h5>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<form action="{{ route('customer.store') }}" onsubmit="verifycustomerMyKadReader()" method="POST">
|
||||
@csrf
|
||||
<div class="row form-group">
|
||||
<div class="col-md-12 d-flex justify-content-center pb-3 d-none" id="photo-mykad-container">
|
||||
<img src="{{ asset('img/spinner-loader.gif') }}" alt="" id="photo-mykad" width="150" height="200" object-fit="cover">
|
||||
<input type="hidden" name="photo_base64" id="photo_base64" value="">
|
||||
<input type="hidden" name="photo_mime" id="photo_mime" value="">
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="row form-group">
|
||||
@@ -473,7 +475,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
var api_url = "<?php echo $api_url ?>";
|
||||
var api_url = "{{ api_url_for_browser() }}";
|
||||
var search = "<?php echo $search ?>";
|
||||
var type_id = "<?php echo $idtype ?>";
|
||||
var blacklist_search = "<?php echo $blacklist_search ?>";
|
||||
@@ -811,6 +813,8 @@
|
||||
|
||||
function verifycustomerMyKadReader(){
|
||||
|
||||
copyMykadPhotoFromImage();
|
||||
|
||||
let myKadModal = $('#daftar_pelanggan_mykad_reader');
|
||||
|
||||
// Construct URLSearchParams object instance from current URL querystring.
|
||||
@@ -1277,8 +1281,7 @@
|
||||
let wakil_caricustomer_endpoint = "{{ route('wakil.caricustomer') }}";
|
||||
let mykad_reader_driver_endpoint = "{{ route('mykadreader.driver') }}";
|
||||
</script>
|
||||
<script src="{{ asset('js/iris-mykad-websocket-client-api.js') }}"></script>
|
||||
<script src="{{ asset('js/mykad-reader-customer.js') }}"></script>
|
||||
<script src="{{ asset('js/mykad-reader-customer.js') }}?v=4"></script>
|
||||
<script src="{{ asset('js/postcode-concerns.js') }}"></script>
|
||||
@endpush
|
||||
|
||||
|
||||
@@ -21,6 +21,22 @@
|
||||
</ol>
|
||||
</nav>
|
||||
|
||||
@if(session()->has('message'))
|
||||
<div class="alert alert-success">{{ session('message') }}</div>
|
||||
@endif
|
||||
|
||||
@if(!empty($customer_info['photo_base64']))
|
||||
<div class="form-group row col-md-12">
|
||||
<div class="col-md-12 d-flex justify-content-center pb-3">
|
||||
<img src="data:{{ $customer_info['photo_mime'] ?? 'image/jpeg' }};base64,{{ $customer_info['photo_base64'] }}"
|
||||
alt="Gambar MyKad"
|
||||
width="120"
|
||||
height="160"
|
||||
style="object-fit: cover;">
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="form-group row col-md-12">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group row">
|
||||
@@ -422,7 +438,7 @@
|
||||
|
||||
<script>
|
||||
var api_arrahnbid = "<?php echo config('app.api_arrahnbid') ?>";
|
||||
var api_url = "<?php echo $api_url ?>";
|
||||
var api_url = "{{ api_url_for_browser() }}";
|
||||
var kodcaw = "{{ $cawangan_info['kodcaw'] }}";
|
||||
var tagarrahnbid = "{{ $cawangan_info['tagarrahnbid'] }}";
|
||||
var min_komoditi = "{{ $min_komoditi }}";
|
||||
|
||||
@@ -229,15 +229,17 @@
|
||||
<div class="modal fade" id="daftar_pelanggan_mykad_reader" tabindex="-1" data-backdrop="static" aria-labelledby="ModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-lg">
|
||||
<div class="modal-content">
|
||||
<form id="form-mykad-reader" action="{{ route('customer.store') }}" onsubmit="verifycustomerMyKadReader()" method="POST">
|
||||
@csrf
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="ModalLabel">Daftar Pelanggan</h5>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<form action="{{ route('customer.store') }}" onsubmit="verifycustomerMyKadReader()" method="POST">
|
||||
@csrf
|
||||
<div class="row form-group">
|
||||
<div class="col-md-12 d-flex justify-content-center pb-3 d-none" id="photo-mykad-container">
|
||||
<img src="{{ asset('img/spinner-loader.gif') }}" alt="" id="photo-mykad" width="150" height="200" object-fit="cover">
|
||||
<input type="hidden" name="photo_base64" id="photo_base64" value="">
|
||||
<input type="hidden" name="photo_mime" id="photo_mime" value="">
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="row form-group">
|
||||
@@ -495,15 +497,14 @@
|
||||
</div>
|
||||
|
||||
<script>
|
||||
var api_url = @json($api_url ?? '');
|
||||
var search = @json($search ?? false);
|
||||
var type_id = @json($idtype ?? '');
|
||||
var isAnggota = @json($isAnggota ?? false);
|
||||
var isPelanggan = @json($isPelanggan ?? false);
|
||||
var blacklist_search = @json($blacklist_search ?? false);
|
||||
var showAssignAnggotaBtn = @json($showAssignAnggotaBtn ?? false);
|
||||
var showDaftarPelangganBtn = @json($showDaftarPelangganBtn ?? false);
|
||||
|
||||
var api_url = "{{ api_url_for_browser() }}";
|
||||
var search = "<?php echo $search ?>";
|
||||
var type_id = "<?php echo $idtype ?>";
|
||||
var blacklist_search = "<?php echo $blacklist_search ?>";
|
||||
$(document).ready(function(){
|
||||
// Datepicker
|
||||
$('#passport_tarikh_lahir').datepicker({
|
||||
@@ -525,38 +526,36 @@ var api_url = @json($api_url ?? '');
|
||||
});
|
||||
|
||||
// Logik amaran SweetAlert
|
||||
if("{{ auth()->user()->cawangan }}" == 'X0301'){
|
||||
if (search === true) {
|
||||
if (blacklist_search === true) {
|
||||
Swal.fire({
|
||||
icon: 'warning',
|
||||
title: 'Amaran!',
|
||||
text: 'Pelanggan telah disenarai hitamkan dari Pembiayaan.'
|
||||
});
|
||||
}
|
||||
else if (isAnggota && !isPelanggan) {
|
||||
Swal.fire({
|
||||
icon: 'info',
|
||||
title: 'Anggota Belum Didaftarkan!',
|
||||
text: 'Pelanggan ini adalah anggota koperasi tetapi belum berdaftar sebagai pelanggan.'
|
||||
});
|
||||
}
|
||||
else if (isPelanggan && !isAnggota) {
|
||||
Swal.fire({
|
||||
icon: 'info',
|
||||
title: 'Pelanggan Bukan Anggota!',
|
||||
text: 'Pelanggan ini berdaftar tetapi belum menjadi anggota koperasi.'
|
||||
});
|
||||
}
|
||||
else if (!isAnggota && !isPelanggan) {
|
||||
Swal.fire({
|
||||
icon: 'info',
|
||||
title: 'Pelanggan Tiada Dalam Rekod!',
|
||||
text: 'Sila Daftar Pelanggan.'
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
if (search === true) {
|
||||
if (blacklist_search === true) {
|
||||
Swal.fire({
|
||||
icon: 'warning',
|
||||
title: 'Amaran!',
|
||||
text: 'Pelanggan telah disenarai hitamkan dari Pembiayaan.'
|
||||
});
|
||||
}
|
||||
else if (isAnggota && !isPelanggan) {
|
||||
Swal.fire({
|
||||
icon: 'info',
|
||||
title: 'Anggota Belum Didaftarkan!',
|
||||
text: 'Pelanggan ini adalah anggota koperasi tetapi belum berdaftar sebagai pelanggan.'
|
||||
});
|
||||
}
|
||||
else if (isPelanggan && !isAnggota) {
|
||||
Swal.fire({
|
||||
icon: 'info',
|
||||
title: 'Pelanggan Bukan Anggota!',
|
||||
text: 'Pelanggan ini berdaftar tetapi belum menjadi anggota koperasi.'
|
||||
});
|
||||
}
|
||||
else if (!isAnggota && !isPelanggan) {
|
||||
Swal.fire({
|
||||
icon: 'info',
|
||||
title: 'Pelanggan Tiada Dalam Rekod!',
|
||||
text: 'Sila Daftar Pelanggan.'
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
@@ -893,6 +892,8 @@ var api_url = @json($api_url ?? '');
|
||||
|
||||
function verifycustomerMyKadReader(){
|
||||
|
||||
copyMykadPhotoFromImage();
|
||||
|
||||
let myKadModal = $('#daftar_pelanggan_mykad_reader');
|
||||
|
||||
// Construct URLSearchParams object instance from current URL querystring.
|
||||
@@ -1418,8 +1419,7 @@ document.getElementsByName('form-store')[0].addEventListener('keypress', functio
|
||||
let wakil_caricustomer_endpoint = "{{ route('wakil.caricustomer') }}";
|
||||
let mykad_reader_driver_endpoint = "{{ route('mykadreader.driver') }}";
|
||||
</script>
|
||||
<script src="{{ asset('js/iris-mykad-websocket-client-api.js') }}"></script>
|
||||
<script src="{{ asset('js/mykad-reader-customer.js') }}"></script>
|
||||
<script src="{{ asset('js/mykad-reader-customer.js') }}?v=4"></script>
|
||||
<script src="{{ asset('js/postcode-concerns.js') }}"></script>
|
||||
@endpush
|
||||
|
||||
|
||||
@@ -22,6 +22,22 @@
|
||||
</ol>
|
||||
</nav>
|
||||
|
||||
@if(session()->has('message'))
|
||||
<div class="alert alert-success">{{ session('message') }}</div>
|
||||
@endif
|
||||
|
||||
@if(!empty($customer_info['photo_base64']))
|
||||
<div class="form-group row col-md-12">
|
||||
<div class="col-md-12 d-flex justify-content-center pb-3">
|
||||
<img src="data:{{ $customer_info['photo_mime'] ?? 'image/jpeg' }};base64,{{ $customer_info['photo_base64'] }}"
|
||||
alt="Gambar MyKad"
|
||||
width="120"
|
||||
height="160"
|
||||
style="object-fit: cover;">
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="form-group row col-md-12">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group row">
|
||||
@@ -75,7 +91,8 @@
|
||||
->json();
|
||||
@endphp
|
||||
<input type="text" class="form-control" name="outstanding_semasa"
|
||||
id="outstanding_semasa" readonly value="{{ number_format($outstanding_semasa, 2) }}">
|
||||
id="outstanding_semasa" readonly
|
||||
value="{{ number_format($outstanding_semasa, 2) }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -154,10 +171,15 @@
|
||||
<i class="fas fa-info-circle me-1"></i> Maklumat Pelanggan
|
||||
</button>
|
||||
|
||||
<button class="btn btn-info d-flex align-items-center" data-toggle="modal"
|
||||
data-target="#export_maklumat_modal" style="margin-right: 12px;">
|
||||
<i class="fas fa-print me-1"></i> Cetak Maklumat Pelanggan
|
||||
</button>
|
||||
|
||||
|
||||
|
||||
<!-- Butang Assign Sebagai Anggota -->
|
||||
@if (isset($showAssignAnggotaBtn) && $showAssignAnggotaBtn && auth()->user()->cawangan == 'X0301')
|
||||
@if (isset($showAssignAnggotaBtn) && $showAssignAnggotaBtn)
|
||||
<div class="m-0 p-2">
|
||||
<button type="button" class="btn btn-success d-flex align-items-center"
|
||||
data-noic="{{ $noic }}" onclick="assignAnggota(this)">
|
||||
@@ -230,7 +252,6 @@
|
||||
|
||||
// 4️⃣ Hantar permohonan ke backend (Laravel)
|
||||
const response = await fetch("{{ route('operasi.createkelulusan-anggota') }}", {
|
||||
|
||||
method: 'POST',
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
@@ -238,15 +259,14 @@
|
||||
},
|
||||
body: JSON.stringify({
|
||||
mohon: "Assign Anggota",
|
||||
noic: noic,
|
||||
nokp: noic,
|
||||
norujukan: norujukan,
|
||||
komen: komen,
|
||||
teller: "{{ Auth::user()->name }}",
|
||||
tagoperasi: 1 // 1 = tunggu kelulusan operasi
|
||||
})
|
||||
|
||||
console.log(`Response: ${response}`);
|
||||
});
|
||||
console.log(`Response: ${response}`);
|
||||
|
||||
const result = await response.json();
|
||||
|
||||
@@ -348,7 +368,7 @@
|
||||
</div>
|
||||
<div class="nav nav-tabs" id="nav-tab" role="tablist">
|
||||
@php
|
||||
$activate_tab = request()->session()->pull('activate_tab', 'SAG_lama');
|
||||
$activate_tab = request()->session()->pull('activate_tab', 'SAG_baru');
|
||||
|
||||
$activate_tab_SAG_baru = $activate_tab === 'SAG_baru' ? 'active' : '';
|
||||
$aria_selected_SAG_baru = $activate_tab === 'SAG_baru' ? 'true' : 'false';
|
||||
@@ -363,173 +383,123 @@
|
||||
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">
|
||||
<x-datatable
|
||||
id="myTable"
|
||||
filename="SAG_Baru"
|
||||
:columns="['Bil', 'No Rujukan', 'Tarikh Pembiayaan', 'Tarikh Matang', 'Baki Harga Jualan', 'Baki Pembiayaan', 'Margin', 'Tempoh', 'Keuntungan', 'Lelong', 'Borang Online']"
|
||||
/>
|
||||
</div>
|
||||
<div class="tab-pane fade {{ $activate_pane_SAG_lama }}" id="nav-xtawarruq" role="tabpanel" aria-labelledby="nav-xtawarruq-tab">
|
||||
<x-datatable
|
||||
id="xtawarruq"
|
||||
filename="SAG_Lama"
|
||||
:columns="['Bil', 'No Rujukan', 'Tarikh Pembiayaan', 'Tarikh Matang', 'Baki Harga Jualan', 'Baki Pembiayaan', 'Margin', 'Tempoh', 'Keuntungan', 'Lelong', 'Borang Online']"
|
||||
/>
|
||||
</div>
|
||||
</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>
|
||||
</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 Gadai</th>
|
||||
<th>Tarikh Matang</th>
|
||||
<th>Pembiayaan</th>
|
||||
<th>Margin</th>
|
||||
<th>Tempoh</th>
|
||||
<th>Lelong</th>
|
||||
</tr> --}}
|
||||
<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>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
|
||||
{{-- Sudah Tebus --}}
|
||||
|
||||
<x-datatable
|
||||
id="dahtebusTable"
|
||||
filename="SAG_Sudah_Tebus"
|
||||
:columns="['Bil', 'No Rujukan', 'Tarikh Penyelesaian Pembiayaan', 'Baki Pembiayaan', 'Margin', 'Tempoh']"
|
||||
/>
|
||||
|
||||
<x-datatable
|
||||
id="lelongTable"
|
||||
filename="SAG_Lelong"
|
||||
:columns="['Bil', 'No Rujukan', 'Tarikh Lelong', 'Tarikh Tuntut', 'Pembiayaan', 'Harga Jual', 'Jum Tuntut/Bayar', 'Keuntungan', 'Caj Lelong', 'Status Tuntutan', 'Cetak']"
|
||||
/>
|
||||
|
||||
<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>
|
||||
<button class="btn btn-info" type="button" onclick="cetakBorangOnlineSelected()">Cetak Borang Online</button>
|
||||
</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>
|
||||
|
||||
<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>
|
||||
</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">×</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
|
||||
<!-- 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">×</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='col-md-7'>
|
||||
<input type="text" readonly name='nama' id='nama' value="{{ $customer_info['nama'] }}" class='form-control'>
|
||||
<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>
|
||||
<div class='form-group row col-md-12'>
|
||||
<div class='col-md-5'>
|
||||
No KP
|
||||
<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='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 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>
|
||||
<div class='form-group row col-md-12'>
|
||||
<div class='col-md-5'>
|
||||
No Pelanggan
|
||||
<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='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)
|
||||
<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>
|
||||
@@ -670,6 +640,33 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="export_maklumat_modal" tabindex="-1" aria-labelledby="export_maklumat_modalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-xl modal-dialog-centered" style="max-width: 920px;">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="export_maklumat_modalLabel">Eksport Maklumat Pelanggan</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body p-0" style="height: 80vh; background: #e8eaed;">
|
||||
<iframe id="export_maklumat_iframe"
|
||||
src="about:blank"
|
||||
title="Maklumat Pelanggan"
|
||||
style="width: 100%; height: 100%; border: 0;"></iframe>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
$('#export_maklumat_modal').on('show.bs.modal', function () {
|
||||
$('#export_maklumat_iframe').attr('src', '{{ route('customer.print.maklumat', ['noic' => $noic]) }}');
|
||||
});
|
||||
$('#export_maklumat_modal').on('hidden.bs.modal', function () {
|
||||
$('#export_maklumat_iframe').attr('src', 'about:blank');
|
||||
});
|
||||
</script>
|
||||
|
||||
<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">
|
||||
@@ -714,90 +711,94 @@
|
||||
</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 }}";
|
||||
<script>
|
||||
var api_arrahnbid = "<?php echo config('app.api_arrahnbid') ?>";
|
||||
var api_url = "{{ api_url_for_browser() }}";
|
||||
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();
|
||||
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) {
|
||||
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'
|
||||
});
|
||||
$("#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;
|
||||
if (icbaru.length > 0) {
|
||||
window.location.href =
|
||||
"{{ route('gadaian', ['noic' => $customer_info['kpbaru']]) }}";
|
||||
} else {
|
||||
if (icbaru.length > 0) {
|
||||
window.location.href =
|
||||
"{{ route('gadaian', ['noic' => $customer_info['kpbaru']]) }}";
|
||||
} else {
|
||||
window.location.href =
|
||||
"{{ route('gadaian', ['noic' => $customer_info['kplama']]) }}";
|
||||
}
|
||||
window.location.href =
|
||||
"{{ route('gadaian', ['noic' => $customer_info['kplama']]) }}";
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
$('a[data-toggle="tab"]').on('shown.bs.tab', function () {
|
||||
if (typeof adjustErahnDatatables === 'function') {
|
||||
adjustErahnDatatables();
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
$('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 tablegadai = initErahnDatatable('#myTable', {
|
||||
order: [[1, 'desc']],
|
||||
columnDefs: [
|
||||
{ targets: 0, orderable: false, width: '40px' },
|
||||
{ targets: -1, orderable: false, searchable: false, width: '70px' }
|
||||
]
|
||||
});
|
||||
|
||||
var xtawarruq = $('#xtawarruq').DataTable({
|
||||
"scrollX": false
|
||||
var xtawarruq = initErahnDatatable('#xtawarruq', {
|
||||
columnDefs: [
|
||||
{ targets: 0, orderable: false, width: '40px' }
|
||||
]
|
||||
});
|
||||
|
||||
var tabledahtebus = $('#dahtebusTable').DataTable({});
|
||||
var tabledahtebus = initErahnDatatable('#dahtebusTable');
|
||||
|
||||
var tablelelong = $('#lelongTable').DataTable({
|
||||
"scrollX": false
|
||||
var tablelelong = initErahnDatatable('#lelongTable', {
|
||||
columnDefs: [
|
||||
{ targets: -1, orderable: false, searchable: false, width: '80px' }
|
||||
]
|
||||
});
|
||||
|
||||
var historybayarandatatable = $('#tablehistorybayaran').DataTable({
|
||||
@@ -812,6 +813,41 @@
|
||||
minimumFractionDigits: 2
|
||||
});
|
||||
|
||||
function urlBorangOnline(norujukan) {
|
||||
return '{{ url("/gadai/borang-pengesahan-online") }}/' + encodeURIComponent(norujukan);
|
||||
}
|
||||
|
||||
function cetakBorangOnlineCell(gadai_detail) {
|
||||
var cara = String(gadai_detail['cara_terima'] || '').toUpperCase();
|
||||
if (cara !== 'ONLINE') {
|
||||
return '';
|
||||
}
|
||||
return '<a class="btn btn-sm btn-info" href="' + urlBorangOnline(gadai_detail['norujukan']) +
|
||||
'" target="_blank" title="Cetak borang pengesahan online"><i class="fas fa-print"></i></a>';
|
||||
}
|
||||
|
||||
function cetakBorangOnlineSelected() {
|
||||
var selected = $('input[name="belum"]:checked');
|
||||
if (!selected.length) {
|
||||
Swal.fire({
|
||||
icon: 'warning',
|
||||
title: 'Sila pilih SAG',
|
||||
text: 'Pilih pembiayaan untuk cetak borang pengesahan.'
|
||||
});
|
||||
return;
|
||||
}
|
||||
var cara = String(selected.data('cara-terima') || '').toUpperCase();
|
||||
if (cara !== 'ONLINE') {
|
||||
Swal.fire({
|
||||
icon: 'info',
|
||||
title: 'Bukan pembiayaan online',
|
||||
text: 'Borang ini hanya untuk SAG yang terima pembiayaan secara online.'
|
||||
});
|
||||
return;
|
||||
}
|
||||
window.open(urlBorangOnline(selected.val()), '_blank');
|
||||
}
|
||||
|
||||
function getGadaiByNorujukan(norujukan) {
|
||||
console.log(norujukan);
|
||||
let gadai_tawarruq = fetch(api_url + '/api/gadai/norujukan/' + norujukan);
|
||||
@@ -971,7 +1007,7 @@
|
||||
var channel = pusher.subscribe(
|
||||
'notice-kelulusan');
|
||||
channel.bind('my-kelulusan', function(
|
||||
data) {
|
||||
data) {
|
||||
|
||||
|
||||
if (data.norujukan ==
|
||||
@@ -995,7 +1031,7 @@
|
||||
},
|
||||
success: function(
|
||||
data
|
||||
) {
|
||||
) {
|
||||
location
|
||||
.reload();
|
||||
|
||||
@@ -1004,17 +1040,18 @@
|
||||
xhr,
|
||||
status,
|
||||
error
|
||||
) {
|
||||
) {
|
||||
var err =
|
||||
eval(
|
||||
"(" +
|
||||
xhr
|
||||
.responseText +
|
||||
")"
|
||||
);
|
||||
);
|
||||
alert
|
||||
(xhr
|
||||
.responseText);
|
||||
.responseText
|
||||
);
|
||||
}
|
||||
});
|
||||
});
|
||||
@@ -1212,8 +1249,8 @@
|
||||
|
||||
let table_norujukan = gadai_detail["norujukan"];
|
||||
tablegadai.row.add([
|
||||
'<input type="radio" value=' + gadai_detail["norujukan"] +
|
||||
' name="belum"/>',
|
||||
'<input type="radio" value="' + gadai_detail["norujukan"] +
|
||||
'" name="belum" data-cara-terima="' + (gadai_detail['cara_terima'] || '') + '"/>',
|
||||
'<a href="#" onclick="checkserah(this)" data-pinjaman=' +
|
||||
gadai_detail['pinjaman'] + ' data-hargajualan=' +
|
||||
gadai_detail['hargajualan'] + ' data-norujukan=' +
|
||||
@@ -1230,6 +1267,7 @@
|
||||
'RM ' + formatter.format(upahsemasa['pendapatan']),
|
||||
'<div style="white-space: nowrap; color:red; font-weight: bolder">' +
|
||||
taglel + '</div>',
|
||||
cetakBorangOnlineCell(gadai_detail),
|
||||
]).draw();
|
||||
}
|
||||
} else if (jenistebus == "sudah_tebus") {
|
||||
@@ -1242,7 +1280,7 @@
|
||||
'RM ' + formatter.format(gadai_detail['bakipjm']),
|
||||
(((Number(gadai_detail['pinjaman']) / Number(gadai_detail[
|
||||
'nilaimarhun'])) * 100).toFixed(2)).toLocaleString(
|
||||
"en-GB") + '%',
|
||||
"en-GB") + '%',
|
||||
gadai_detail['tempoh']
|
||||
]).draw();
|
||||
} else if (jenistebus == "lelong") {
|
||||
@@ -1273,7 +1311,7 @@
|
||||
'<a href="#" onclick="checktuntutbaki(this)" data-norujukan=' +
|
||||
gadai_detail['norujukan'] + ' data-tarikhtuntut=' +
|
||||
gadai_detail['trkhtuntut'] + '>' + gadai_detail[
|
||||
'norujukan'] + '</a>',
|
||||
'norujukan'] + '</a>',
|
||||
gadai_detail['t_lelong'],
|
||||
gadai_detail['trkhtuntut'],
|
||||
'RM ' + formatter.format(gadai_detail['pinjaman']),
|
||||
@@ -1290,7 +1328,7 @@
|
||||
'<a href="#" onclick="checktuntutbaki(this)" data-norujukan=' +
|
||||
gadai_detail['norujukan'] + ' data-tarikhtuntut=' +
|
||||
gadai_detail['trkhtuntut'] + '>' + gadai_detail[
|
||||
'norujukan'] + '</a>',
|
||||
'norujukan'] + '</a>',
|
||||
gadai_detail['t_lelong'],
|
||||
gadai_detail['trkhtuntut'],
|
||||
'RM ' + formatter.format(gadai_detail['pinjaman']),
|
||||
@@ -1549,6 +1587,9 @@
|
||||
success: function(data) {
|
||||
$('#myTable').parents('div.dataTables_wrapper').first().show();
|
||||
gadaiTable(data, "belum_tebus");
|
||||
if (typeof adjustErahnDatatables === 'function') {
|
||||
adjustErahnDatatables();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -2164,10 +2205,10 @@
|
||||
cancelButtonText: 'Salah',
|
||||
reverseButtons: true
|
||||
}).then((
|
||||
result) => {
|
||||
result) => {
|
||||
if (result
|
||||
.isConfirmed
|
||||
) {
|
||||
) {
|
||||
|
||||
$.ajax({
|
||||
method: 'put',
|
||||
@@ -2181,11 +2222,11 @@
|
||||
},
|
||||
success: function(
|
||||
data
|
||||
) {
|
||||
) {
|
||||
|
||||
if (data ===
|
||||
1
|
||||
) {
|
||||
) {
|
||||
Swal.fire({
|
||||
icon: 'success',
|
||||
title: 'Berjaya!',
|
||||
@@ -2220,7 +2261,7 @@
|
||||
Swal
|
||||
.DismissReason
|
||||
.cancel
|
||||
) {
|
||||
) {
|
||||
PengesahanAkhirWakil
|
||||
.fire(
|
||||
'Batal',
|
||||
@@ -2242,12 +2283,12 @@
|
||||
daftarwakilfunction
|
||||
(amaun,
|
||||
norujukan
|
||||
);
|
||||
);
|
||||
});
|
||||
}
|
||||
},
|
||||
error: function(xhr, status,
|
||||
error) {
|
||||
error) {
|
||||
var err = eval("(" + xhr
|
||||
.responseText + ")");
|
||||
alert(xhr.responseText);
|
||||
@@ -2479,7 +2520,7 @@
|
||||
success: function(data) {},
|
||||
error: function(xhr, status, error) {
|
||||
var err = eval("(" + xhr.responseText +
|
||||
")");
|
||||
")");
|
||||
alert(xhr.responseText);
|
||||
}
|
||||
});
|
||||
@@ -2527,7 +2568,7 @@
|
||||
location
|
||||
.reload();
|
||||
}
|
||||
);
|
||||
);
|
||||
} else {
|
||||
swalWithBootstrapButtons
|
||||
.fire(
|
||||
@@ -2540,7 +2581,7 @@
|
||||
location
|
||||
.reload();
|
||||
}
|
||||
);
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -2554,10 +2595,10 @@
|
||||
xhr
|
||||
.responseText +
|
||||
")"
|
||||
);
|
||||
);
|
||||
alert(xhr
|
||||
.responseText
|
||||
);
|
||||
);
|
||||
}
|
||||
});
|
||||
return true;
|
||||
@@ -2716,10 +2757,10 @@
|
||||
'Maklumat Pembiayaan telah dihapuskan.',
|
||||
'success'
|
||||
).then(
|
||||
function() {
|
||||
location
|
||||
.reload();
|
||||
});
|
||||
function() {
|
||||
location
|
||||
.reload();
|
||||
});
|
||||
}
|
||||
})
|
||||
},
|
||||
@@ -2805,6 +2846,9 @@
|
||||
url: api_url + "/api/customers/" + noic + "/gadai/belum_tebus/" + kodcaw,
|
||||
success: function(data) {
|
||||
gadaiTable(data, "belum_tebus");
|
||||
if (typeof adjustErahnDatatables === 'function') {
|
||||
adjustErahnDatatables();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user