Merge branch 'new-super' into afiqhamzah-feat-mykad-reader-registration

This commit is contained in:
afiq.hamzah
2023-03-08 16:17:42 +08:00
24 changed files with 371 additions and 222 deletions
+7 -1
View File
@@ -357,6 +357,7 @@ class GadaianController extends Controller
$transaction = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/transaction/one/'. $id)->json();
$gadai = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/gadai/norujukan/'. $id)->json();
if(sizeof($gadai) != 0)
@@ -367,7 +368,12 @@ class GadaianController extends Controller
// if(sizeof($customers_info) != 0)
// $customers_info = $customers_info[0];
return view('print.resitansuran',compact('transaction','gadai','customers_info'));
$wakil = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/getwakil/' . $auth_user['cawangan'] . '/code/' . $transaction['nowakil'])->json();
if(sizeof($wakil) != 0)
$wakil = $wakil[0];
return view('print.resitansuran',compact('transaction','gadai','customers_info','wakil'));
}
public function resitbelumansurans($id)
+2 -1
View File
@@ -82,7 +82,8 @@ class PenebusanController extends Controller
$updategadai = Http::withOptions(['verify' => config('app.api_verify')])->put(config('api.url').'/api/gadaikaunter/'. $request->kodcaw .'/norujukan/' . $request->norujukan,[
'bayaran' => $request->bayaran,
'teller' => $request->teller
'teller' => $request->teller,
'nowakil' => $request->nowakil
])->json();
$getTunai2=Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url').'/api/GetCurrentTunai/'.$request->kodcaw,['kodlaluan' => $request->teller])->json();
+4 -4
View File
@@ -31,10 +31,10 @@ class NoHttpCache
/**
* @var $headers \Symfony\Component\HttpFoundation\HeaderBag
*/
$response->header('Pragma', 'no-cache');
$response->header('Expires', 'Fri, 01 Jan 1990 00:00:00 GMT');
$response->header('Cache-Control', 'no-cache, must-revalidate, no-store, max-age=0, private');
$response->headers->set('Pragma', 'no-cache');
$response->headers->set('Expires', 'Fri, 01 Jan 1990 00:00:00 GMT');
$response->headers->set('Cache-Control', 'no-cache, must-revalidate, no-store, max-age=0, private');
return $response;
}
}
}
+5
View File
@@ -48,6 +48,11 @@ return [
'root' => storage_path('app'),
],
'supports' => [
'driver' => 'local',
'root' => storage_path('drivers'),
],
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
+208 -172
View File
@@ -1,258 +1,294 @@
WebSocketManager = {
url:"",
WebSocketManager = {
url:"",
init: function(url) {
WebSocketManager.url = url;
},
open: function(callback, slot) {
},
open: function(callback, slot) {
wsocket = new WebSocket(WebSocketManager.url);
wsocket.onopen = function () {
wsocket.send('{"Cmd":"OPEN","Slot":"'+ slot +'"}');
};
wsocket.send('{"Cmd":"OPEN","Slot":"'+ slot +'"}');
};
wsocket.onmessage = function (evt) {
var obj = JSON.parse(evt.data);
wsocket.close();
callback(obj);
};
},
listReader: function(callback) {
};
},
listReader: function(callback) {
wsocket = new WebSocket(WebSocketManager.url);
wsocket.onopen = function () {
wsocket.send('{"Cmd":"LIST_READER"}');
};
wsocket.send('{"Cmd":"LIST_READER"}');
};
wsocket.onmessage = function (evt) {
var obj = JSON.parse(evt.data);
var data = JSON.parse(obj.RespMessage);
var obj = JSON.parse(evt.data);
var data = JSON.parse(obj.RespMessage);
wsocket.close();
callback(data, obj.RespCode);
};
},
};
wsocket.onerror = evt => {
let hideLoader = () => {
let pageLoader = document.getElementById('page_loader');
pageLoader.removeAttribute('class');
};
hideLoader();
wsocket.close();
Swal.fire({
icon: 'error',
title: 'MyKad driver/services not found, please install driver',
html: `
<div class="mt-2">
<button type="button" class="btn-download-driver btn btn-outline-secondary btn-lg mb-2">
Download driver <i class="fa fa-download"></i>
</button><br>
<button type="button" class="btn-yes swal2-confirm swal2-styled">OK</button><br>
</div>
`,
showCancelButton: false,
showConfirmButton: false,
willOpen: () => {
const yes = document.querySelector('button.btn-yes')
const download_driver = document.querySelector('button.btn-download-driver')
yes.addEventListener('click', () => {
swal.close();
})
download_driver.addEventListener('click', () => {
window.location.href = mykad_reader_driver_endpoint;
})
}
});
};
},
close: function(callback) {
wsocket = new WebSocket(WebSocketManager.url);
wsocket.onopen = function () {
wsocket.send('{"Cmd":"CLOSE"}');
};
};
wsocket.onmessage = function (evt) {
var obj = JSON.parse(evt.data);
wsocket.close();
callback(obj);
};
},
verifyFPTemplate: function(callback, ThumbCode, Bas64FPLeft, Bas64FPRight) {
},
verifyFPTemplate: function(callback, ThumbCode, Bas64FPLeft, Bas64FPRight) {
wsocket = new WebSocket(WebSocketManager.url);
wsocket.onopen = function () {
wsocket.send('{"Cmd":"VERIFY_FP_TEMPLATE","ThumbCode":"'+ ThumbCode +'","Bas64FPLeft":"'+ Bas64FPLeft +'","Bas64FPRight":"'+ Bas64FPRight +'"}');
};
wsocket.send('{"Cmd":"VERIFY_FP_TEMPLATE","ThumbCode":"'+ ThumbCode +'","Bas64FPLeft":"'+ Bas64FPLeft +'","Bas64FPRight":"'+ Bas64FPRight +'"}');
};
wsocket.onmessage = function (evt) {
var obj = JSON.parse(evt.data);
wsocket.close();
callback(obj.RespCode, obj.RespMessage);
};
callback(obj.RespCode, obj.RespMessage);
};
},
readMyKad: function (callback) {
readMyKad: function (callback) {
wsocket = new WebSocket(WebSocketManager.url);
wsocket.onopen = function () {
wsocket.send('{"Cmd":"READ_MYKAD"}');
};
wsocket.send('{"Cmd":"READ_MYKAD"}');
};
wsocket.onmessage = function (evt) {
var obj = JSON.parse(evt.data);
var data = JSON.parse(obj.RespMessage);
wsocket.close();
callback(data, obj.RespCode, obj.RespSW12AndApiName);
};
},
readAllText: function (callback) {
wsocket = new WebSocket(WebSocketManager.url);
wsocket.onopen = function () {
wsocket.send('{"Cmd":"READ_ALL_TEXT"}');
};
wsocket.onmessage = function (evt) {
var obj = JSON.parse(evt.data);
var data = JSON.parse(obj.RespMessage);
wsocket.close();
callback(data, obj.RespCode, obj.RespSW12AndApiName);
};
},
readPhoto: function (callback) {
wsocket = new WebSocket(WebSocketManager.url);
wsocket.onopen = function () {
wsocket.send('{"Cmd":"READ_PHOTO"}');
};
wsocket.onmessage = function (evt) {
var obj = JSON.parse(evt.data);
var data = JSON.parse(obj.RespMessage);
wsocket.close();
callback(data, obj.RespCode, obj.RespSW12AndApiName);
};
},
readBio: function (callback) {
wsocket = new WebSocket(WebSocketManager.url);
wsocket.onopen = function () {
wsocket.send('{"Cmd":"READ_BIO"}');
};
wsocket.onmessage = function (evt) {
var obj = JSON.parse(evt.data);
var data = JSON.parse(obj.RespMessage);
wsocket.close();
callback(data, obj.RespCode, obj.RespSW12AndApiName);
};
},
readMyKid: function (callback) {
wsocket = new WebSocket(WebSocketManager.url);
wsocket.onopen = function () {
wsocket.send('{"Cmd":"READ_MYKID"}');
};
wsocket.onmessage = function (evt) {
var obj = JSON.parse(evt.data);
var data = JSON.parse(obj.RespMessage);
wsocket.close();
callback(data, obj.RespCode, obj.RespSW12AndApiName);
};
},
FPBioEnrol: function (callback) {
wsocket = new WebSocket(WebSocketManager.url);
wsocket.onopen = function () {
wsocket.send('{"Cmd":"FP_BIO_ENROL"}');
};
wsocket.onmessage = function (evt) {
var obj = JSON.parse(evt.data);
//var data = JSON.parse(obj.RespMessage);
wsocket.close();
callback(obj);
};
},
getThumbImage: function (callback) {
wsocket = new WebSocket(WebSocketManager.url);
wsocket.onopen = function () {
wsocket.send('{"Cmd":"GET_MYKAD_THUMB_IMAGE"}');
};
wsocket.onmessage = function (evt) {
var obj = JSON.parse(evt.data);
var obj = JSON.parse(evt.data);
var data = JSON.parse(obj.RespMessage);
wsocket.close();
callback(data, obj.RespCode, obj.RespSW12AndApiName);
};
},
getThumbBin1: function (callback) {
};
},
readAllText: function (callback) {
wsocket = new WebSocket(WebSocketManager.url);
wsocket.onopen = function () {
wsocket.send('{"Cmd":"GET_THUMB_BIN1"}');
};
wsocket.send('{"Cmd":"READ_ALL_TEXT"}');
};
wsocket.onmessage = function (evt) {
var obj = JSON.parse(evt.data);
var data = JSON.parse(obj.RespMessage);
var obj = JSON.parse(evt.data);
var data = JSON.parse(obj.RespMessage);
wsocket.close();
callback(data, obj.RespCode, obj.RespSW12AndApiName);
};
},
getThumbBin2: function (callback) {
};
},
readPhoto: function (callback) {
wsocket = new WebSocket(WebSocketManager.url);
wsocket.onopen = function () {
wsocket.send('{"Cmd":"GET_THUMB_BIN2"}');
};
wsocket.send('{"Cmd":"READ_PHOTO"}');
};
wsocket.onmessage = function (evt) {
var obj = JSON.parse(evt.data);
var data = JSON.parse(obj.RespMessage);
var obj = JSON.parse(evt.data);
var data = JSON.parse(obj.RespMessage);
wsocket.close();
callback(data, obj.RespCode, obj.RespSW12AndApiName);
};
},
FPBioEnrolBin1: function (callback) {
};
},
readBio: function (callback) {
wsocket = new WebSocket(WebSocketManager.url);
wsocket.onopen = function () {
wsocket.send('{"Cmd":"FP_BIO_ENROL_BIN1"}');
};
wsocket.send('{"Cmd":"READ_BIO"}');
};
wsocket.onmessage = function (evt) {
var obj = JSON.parse(evt.data);
var obj = JSON.parse(evt.data);
var data = JSON.parse(obj.RespMessage);
wsocket.close();
callback(data, obj.RespCode, obj.RespSW12AndApiName);
};
},
readMyKid: function (callback) {
wsocket = new WebSocket(WebSocketManager.url);
wsocket.onopen = function () {
wsocket.send('{"Cmd":"READ_MYKID"}');
};
wsocket.onmessage = function (evt) {
var obj = JSON.parse(evt.data);
var data = JSON.parse(obj.RespMessage);
wsocket.close();
callback(data, obj.RespCode, obj.RespSW12AndApiName);
};
},
FPBioEnrol: function (callback) {
wsocket = new WebSocket(WebSocketManager.url);
wsocket.onopen = function () {
wsocket.send('{"Cmd":"FP_BIO_ENROL"}');
};
wsocket.onmessage = function (evt) {
var obj = JSON.parse(evt.data);
//var data = JSON.parse(obj.RespMessage);
wsocket.close();
callback(obj);
};
},
FPBioEnrolBin2: function (callback) {
};
},
getThumbImage: function (callback) {
wsocket = new WebSocket(WebSocketManager.url);
wsocket.onopen = function () {
wsocket.send('{"Cmd":"FP_BIO_ENROL_BIN2"}');
};
wsocket.send('{"Cmd":"GET_MYKAD_THUMB_IMAGE"}');
};
wsocket.onmessage = function (evt) {
var obj = JSON.parse(evt.data);
var obj = JSON.parse(evt.data);
var data = JSON.parse(obj.RespMessage);
wsocket.close();
callback(data, obj.RespCode, obj.RespSW12AndApiName);
};
},
getThumbBin1: function (callback) {
wsocket = new WebSocket(WebSocketManager.url);
wsocket.onopen = function () {
wsocket.send('{"Cmd":"GET_THUMB_BIN1"}');
};
wsocket.onmessage = function (evt) {
var obj = JSON.parse(evt.data);
var data = JSON.parse(obj.RespMessage);
wsocket.close();
callback(data, obj.RespCode, obj.RespSW12AndApiName);
};
},
getThumbBin2: function (callback) {
wsocket = new WebSocket(WebSocketManager.url);
wsocket.onopen = function () {
wsocket.send('{"Cmd":"GET_THUMB_BIN2"}');
};
wsocket.onmessage = function (evt) {
var obj = JSON.parse(evt.data);
var data = JSON.parse(obj.RespMessage);
wsocket.close();
callback(data, obj.RespCode, obj.RespSW12AndApiName);
};
},
FPBioEnrolBin1: function (callback) {
wsocket = new WebSocket(WebSocketManager.url);
wsocket.onopen = function () {
wsocket.send('{"Cmd":"FP_BIO_ENROL_BIN1"}');
};
wsocket.onmessage = function (evt) {
var obj = JSON.parse(evt.data);
//var data = JSON.parse(obj.RespMessage);
wsocket.close();
callback(obj);
};
},
FPBioVerify: function (callback) {
};
},
FPBioEnrolBin2: function (callback) {
wsocket = new WebSocket(WebSocketManager.url);
wsocket.onopen = function () {
wsocket.send('{"Cmd":"FP_BIO_VERIFY"}');
};
wsocket.send('{"Cmd":"FP_BIO_ENROL_BIN2"}');
};
wsocket.onmessage = function (evt) {
var obj = JSON.parse(evt.data);
var data = JSON.parse(obj.RespMessage);
var obj = JSON.parse(evt.data);
//var data = JSON.parse(obj.RespMessage);
wsocket.close();
callback(data, obj.RespCode, obj.RespSW12AndApiName);
};
},
FPBioVerifyBin: function (callback) {
callback(obj);
};
},
FPBioVerify: function (callback) {
wsocket = new WebSocket(WebSocketManager.url);
wsocket.onopen = function () {
wsocket.send('{"Cmd":"FP_BIO_VERIFY_BIN"}');
};
wsocket.send('{"Cmd":"FP_BIO_VERIFY"}');
};
wsocket.onmessage = function (evt) {
var obj = JSON.parse(evt.data);
var data = JSON.parse(obj.RespMessage);
var obj = JSON.parse(evt.data);
var data = JSON.parse(obj.RespMessage);
wsocket.close();
callback(data, obj.RespCode, obj.RespSW12AndApiName);
};
},
FPBioVerifyLeft: function (callback) {
};
},
FPBioVerifyBin: function (callback) {
wsocket = new WebSocket(WebSocketManager.url);
wsocket.onopen = function () {
wsocket.send('{"Cmd":"FP_BIO_VERIFY_LEFT"}');
};
wsocket.send('{"Cmd":"FP_BIO_VERIFY_BIN"}');
};
wsocket.onmessage = function (evt) {
var obj = JSON.parse(evt.data);
var data = JSON.parse(obj.RespMessage);
var obj = JSON.parse(evt.data);
var data = JSON.parse(obj.RespMessage);
wsocket.close();
callback(data, obj.RespCode, obj.RespSW12AndApiName);
};
},
FPBioVerifyBinLeft: function (callback) {
};
},
FPBioVerifyLeft: function (callback) {
wsocket = new WebSocket(WebSocketManager.url);
wsocket.onopen = function () {
wsocket.send('{"Cmd":"FP_BIO_VERIFY_BIN_LEFT"}');
};
wsocket.send('{"Cmd":"FP_BIO_VERIFY_LEFT"}');
};
wsocket.onmessage = function (evt) {
var obj = JSON.parse(evt.data);
var data = JSON.parse(obj.RespMessage);
var obj = JSON.parse(evt.data);
var data = JSON.parse(obj.RespMessage);
wsocket.close();
callback(data, obj.RespCode, obj.RespSW12AndApiName);
};
},
FPBioVerifyRight: function (callback) {
};
},
FPBioVerifyBinLeft: function (callback) {
wsocket = new WebSocket(WebSocketManager.url);
wsocket.onopen = function () {
wsocket.send('{"Cmd":"FP_BIO_VERIFY_RIGHT"}');
};
wsocket.send('{"Cmd":"FP_BIO_VERIFY_BIN_LEFT"}');
};
wsocket.onmessage = function (evt) {
var obj = JSON.parse(evt.data);
var data = JSON.parse(obj.RespMessage);
var obj = JSON.parse(evt.data);
var data = JSON.parse(obj.RespMessage);
wsocket.close();
callback(data, obj.RespCode, obj.RespSW12AndApiName);
};
},
FPBioVerifyBinRight: function (callback) {
};
},
FPBioVerifyRight: function (callback) {
wsocket = new WebSocket(WebSocketManager.url);
wsocket.onopen = function () {
wsocket.send('{"Cmd":"FP_BIO_VERIFY_BIN_RIGHT"}');
};
wsocket.send('{"Cmd":"FP_BIO_VERIFY_RIGHT"}');
};
wsocket.onmessage = function (evt) {
var obj = JSON.parse(evt.data);
var data = JSON.parse(obj.RespMessage);
var obj = JSON.parse(evt.data);
var data = JSON.parse(obj.RespMessage);
wsocket.close();
callback(data, obj.RespCode, obj.RespSW12AndApiName);
};
}
};
},
FPBioVerifyBinRight: function (callback) {
wsocket = new WebSocket(WebSocketManager.url);
wsocket.onopen = function () {
wsocket.send('{"Cmd":"FP_BIO_VERIFY_BIN_RIGHT"}');
};
wsocket.onmessage = function (evt) {
var obj = JSON.parse(evt.data);
var data = JSON.parse(obj.RespMessage);
wsocket.close();
callback(data, obj.RespCode, obj.RespSW12AndApiName);
};
}
}
@@ -1275,6 +1275,7 @@
// mycard-read endpoint initialization
let mykad_reader_endpoint = "{{ config('mykad-reader.endpoint') }}";
let wakil_caricustomer_endpoint = "{{ route('wakil.caricustomer') }}";
let mykad_reader_driver_endpoint = "{{ route('mykadreader.driver.download') }}";
</script>
<script src="{{ asset('js/iris-mykad-websocket-client-api.js') }}"></script>
<script src="{{ asset('js/mykad-reader-customer.js') }}"></script>
+97 -7
View File
@@ -863,11 +863,101 @@
function cetaktuntutbaki(e)
{
let norujukan = $(e).data('norujukan');
let urlroute = '{{ route("resit.tuntutbaki", ":id") }}';
urlroute = urlroute.replace(':id', norujukan);
window.open(urlroute, '_blank');
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;
}
@@ -905,7 +995,7 @@
});
swalWithBootstrapButtons.fire({
title: 'Dapatkan Pengesahan Khazanah',
title: 'Dapatkan Pengesahan PC/PPC',
text: "Kelulusan Tuntut Baki Lelong",
icon: 'info',
showCancelButton: true,
@@ -915,7 +1005,7 @@
}).then((result) => {
if(result.isConfirmed) {
Swal.fire({
title: 'Tunggu Pengesahan Daripada Khazanah.',
title: 'Tunggu Pengesahan Daripada PC/PPC.',
icon: 'info',
width: 600,
padding: '3em',
@@ -995,7 +1085,7 @@
Swal.fire({
icon: 'error',
title: 'Amaran',
text: 'Lelongan telah dibayar!'
text: 'Lelongan telah Dituntut!'
});
}
@@ -1285,7 +1375,7 @@
allowOutsideClick: false,
allowEscapeKey: false,
allowEnterKey: false,
confirmButtonText: '<i class="fa fa-thumbs-up"></i> Baik Boss!',
confirmButtonText: '<i class="fa fa-thumbs-up"></i> OK!!',
icon: 'success',
title: 'Berjaya Mendaftar Wakil Pelanggan!'
}).then(function(){
+4 -4
View File
@@ -795,7 +795,7 @@
var pembiyaan_max_pelulus = $('#pembiyaan_max_pelulus').val();
var pembiyaan_max_pelulus = Number(pembiyaan_max_pelulus.replace(/[^0-9.-]+/g,""));
var min_pinjaman = nilai_marhun_total * 0.10;
var max_pinjaman = nilai_marhun_total * 0.80;
var max_pinjaman = pembiyaan_max_pelulus;
let teller = "{{ Auth::user()->name }}";
let bakiakhir = 0;
@@ -857,7 +857,7 @@
return false;
}
else{
if(pinjaman >=10000){
if(pinjaman >=10000 && pinjaman <= Number(pembiyaan_max_pelulus)){
const swalWithBootstrapButtons = Swal.mixin({
customClass: {
confirmButton: 'btn btn-success',
@@ -975,7 +975,7 @@
event.preventDefault();
return false;
}else if(pinjaman > Number(pembiayaan_max_teller)+10){
}else if(pinjaman > Number(pembiayaan_max_teller)){
const swalWithBootstrapButtons = Swal.mixin({
customClass: {
confirmButton: 'btn btn-success',
@@ -1091,7 +1091,7 @@
event.preventDefault();
return false;
}
else if(pinjaman < 10000){
else if(pinjaman < 10000 && pinjaman <= Number(pembiayaan_max_teller)){
Swal.fire({
icon: 'success',
title: 'Berjaya!',
+3 -3
View File
@@ -690,7 +690,7 @@
var pembiyaan_max_pelulus = $('#pembiyaan_max_pelulus').val();
var pembiyaan_max_pelulus = Number(pembiyaan_max_pelulus.replace(/[^0-9.-]+/g,""));
var min_pinjaman = nilai_marhun_total * 0.10;
var max_pinjaman = nilai_marhun_total * 0.80;
var max_pinjaman = pembiyaan_max_pelulus;
var outstanding_semasa = Number("{{ $outstanding_semasa }}");
let teller = "{{ Auth::user()->name }}";
@@ -796,7 +796,7 @@
return false;
}
else{
if(pinjaman >= 10000){
if(pinjaman >= 10000 && pinjaman <= Number(pembiyaan_max_pelulus)){
const swalWithBootstrapButtons = Swal.mixin({
customClass: {
confirmButton: 'btn btn-success',
@@ -1039,7 +1039,7 @@
event.preventDefault();
return false;
}
else if( pinjaman < 10000){
else if( pinjaman < 10000 && pinjaman <= Number(pembiayaan_max_teller)){
Swal.fire({
icon: 'success',
title: 'Berjaya!',
@@ -233,9 +233,6 @@
class="btn btn-info btn-lg btn-block mb-3">Kelulusan</a>
</div>
{{-- <div class="row">
<a href="#" class="btn btn-danger btn-lg btn-block mb-3">Bajet</a>
</div> --}}
{{-- <div class="row">
<a href="{{ url('permohonan') }}" class="btn btn-danger btn-lg btn-block mb-3">Permohonan</a>
</div> --}}
<div class="row">
@@ -275,6 +272,9 @@
<a href="{{ url('alirantunai') }}" class="btn btn-info btn-lg btn-block mb-3">Aliran
Tunai</a>
</div>
{{-- <div class="row">
<a href="{{ route('khazanah.bajet') }}" class="btn btn-info btn-lg btn-block mb-3">Bajet</a>
</div> --}}
</div>
</div>
+6 -6
View File
@@ -16,9 +16,9 @@
<div class="card-body text-center">
<div class="row justify-content-center">
<div class="d-flex">
<div id="divpembharian" class="card bg-light mb-3 col-4">
<div id="divpembharian" class="card bg-light mb-3 col-4 mr-1">
<div class="card-header font-weight-bold">Pembiayaan</div>
<div class="card-body">
<div class="progress mb-2">
@@ -47,7 +47,7 @@
</div>
</div>
<div class="card bg-light mb-3 col-4">
<div class="card bg-light mb-3 col-4 mr-1">
<div class="card-header font-weight-bold">Penebusan</div>
<div class="card-body">
<div class="progress mb-2">
@@ -108,8 +108,8 @@
<div class="mt-3">
<div class="row justify-content-center">
<div class="card bg-light mb-3 col-4">
<div class="d-flex justify-content-center">
<div class="card bg-light mb-3 col-4 mr-1">
<span class="font-weight-bold mt-2 mb-2">Pembiayaan Bulanan</span>
<div class="card-body">
<div id="chartpembiayaan">
@@ -117,7 +117,7 @@
</div>
</div>
<div class="card bg-light mb-3 col-4">
<div class="card bg-light mb-3 col-4 mr-1">
<span class="font-weight-bold mt-2 mb-2">Penebusan Bulanan</span>
<div class="card-body">
<div id="chartpenebusan">
+1 -1
View File
@@ -1007,7 +1007,7 @@
allowOutsideClick: false,
allowEscapeKey: false,
allowEnterKey: false,
confirmButtonText: '<i class="fa fa-thumbs-up"></i> Baik Boss!',
confirmButtonText: '<i class="fa fa-thumbs-up"></i> OK!!',
icon: 'success',
title: 'Berjaya Mendaftar Wakil Pelanggan!'
}).then(function(){
@@ -250,7 +250,7 @@
allowOutsideClick: false,
allowEscapeKey: false,
allowEnterKey: false,
confirmButtonText: '<i class="fa fa-thumbs-up"></i> Baik Boss!',
confirmButtonText: '<i class="fa fa-thumbs-up"></i> OK!!',
icon: 'success',
title: 'Maklumat Anda Berjaya Direkodkan!',
html: '<b class="text-danger">' + data.nama + '</b><br><b class="text-danger">' + data.nokp + '</b>'
@@ -403,7 +403,7 @@
allowOutsideClick: false,
allowEscapeKey: false,
allowEnterKey: false,
confirmButtonText: '<i class="fa fa-thumbs-up"></i> Baik Boss!',
confirmButtonText: '<i class="fa fa-thumbs-up"></i> OK!!',
icon: 'success',
title: 'Berjaya Mendaftar Wakil Pelanggan!'
}).then(function(){
+2 -2
View File
@@ -250,7 +250,7 @@
allowOutsideClick: false,
allowEscapeKey: false,
allowEnterKey: false,
confirmButtonText: '<i class="fa fa-thumbs-up"></i> Baik Boss!',
confirmButtonText: '<i class="fa fa-thumbs-up"></i> OK!!',
icon: 'success',
title: 'Maklumat Anda Berjaya Direkodkan!',
html: '<b class="text-danger">' + data.nama + '</b><br><b class="text-danger">' + data.nokp + '</b>'
@@ -403,7 +403,7 @@
allowOutsideClick: false,
allowEscapeKey: false,
allowEnterKey: false,
confirmButtonText: '<i class="fa fa-thumbs-up"></i> Baik Boss!',
confirmButtonText: '<i class="fa fa-thumbs-up"></i> OK!!',
icon: 'success',
title: 'Berjaya Mendaftar Wakil Pelanggan!'
}).then(function(){
@@ -166,7 +166,8 @@
var tablerekod = $('#rekod_kakitangan').DataTable();
$('.btn-delete').on('click', function(){
$("#rekod_kakitangan").on('click', ".btn-delete", function(){
//$('.btn-delete').on('click', function(){
// var form = $(this).closest('form');
var roles = $(this).data('roles');
var staff_id = $(this).data('staff-id');
@@ -923,7 +923,7 @@
allowOutsideClick: false,
allowEscapeKey: false,
allowEnterKey: false,
confirmButtonText: '<i class="fa fa-thumbs-up"></i> Baik Boss!',
confirmButtonText: '<i class="fa fa-thumbs-up"></i> OK!!',
icon: 'success',
title: 'Maklumat Anda Berjaya Direkodkan!',
html: '<b class="text-danger">' + data.nama + '</b><br><b class="text-danger">' + data.nokp + '</b>'
@@ -988,7 +988,7 @@
allowOutsideClick: false,
allowEscapeKey: false,
allowEnterKey: false,
confirmButtonText: '<i class="fa fa-thumbs-up"></i> Baik Boss!',
confirmButtonText: '<i class="fa fa-thumbs-up"></i> OK!!',
icon: 'success',
title: 'Berjaya Mendaftar Wakil Pelanggan!'
}).then(function(){
+4 -4
View File
@@ -1197,7 +1197,6 @@
///////////
}else if($('#sltjenistebus').find(":selected").val() == 'A'){
let adadah = false;
$.ajax({
@@ -1259,7 +1258,8 @@
"bayaran" : bayar,
"kodcaw" : kodcaw,
"norujukan" : norujukan,
"teller" : teller
"teller" : teller,
"nowakil" : nw
},
success:function(success_data){
@@ -2689,7 +2689,7 @@
allowOutsideClick: false,
allowEscapeKey: false,
allowEnterKey: false,
confirmButtonText: '<i class="fa fa-thumbs-up"></i> Baik Boss!',
confirmButtonText: '<i class="fa fa-thumbs-up"></i> OK!!',
icon: 'success',
title: 'Maklumat Anda Berjaya Direkodkan!',
html: '<b class="text-danger">' + data.nama + '</b><br><b class="text-danger">' + data.nokp + '</b>'
@@ -2842,7 +2842,7 @@
allowOutsideClick: false,
allowEscapeKey: false,
allowEnterKey: false,
confirmButtonText: '<i class="fa fa-thumbs-up"></i> Baik Boss!',
confirmButtonText: '<i class="fa fa-thumbs-up"></i> OK!!',
icon: 'success',
title: 'Berjaya Mendaftar Wakil Pelanggan!'
}).then(function(){
@@ -272,7 +272,7 @@
@php $counter = 1;$totalpinjamanasalteller = 0;$totalpinjamanteller = 0;$totalupahteller = 0;$totalbayaranteller = 0;$totaljumlahteller = 0; @endphp
@endif
@else
<tr class="new-page">
<tr>
<td colspan="7"><b>{{ $counter-1 }}</b> Jumlah Bagi Teller : <b>{{ $item['teller'] }}</b></td>
<td><b>{{ number_format($totalnmteller,2) }}</b></td>
<td><b>{{ number_format($totalpinjamanasalteller,2) }} </b></td>
@@ -220,7 +220,11 @@
<td>:</td>
<td>RM {{ number_format($petibesi['serahan'],2) }}</td>
</tr>
<tr>
<td>Perbelanjaan</td>
<td>:</td>
<td>RM {{ number_format($petibesi['totpanjar'],2) }}</td>
</tr>
<tr>
<th>TAMBAH</th>
+1 -1
View File
@@ -221,7 +221,7 @@
<p>Tuan/Puan adalah dikehendaki untuk membuat urusan berikut <b>pada atau sebelum
@php
$myDateTime = DateTime::createFromFormat('Y-m-d', $lel['tarikhlelong'] );
$datez = $myDateTime->modify('-2 day')->format('d-m-Y');
$datez = $myDateTime->modify('-3 day')->format('d-m-Y');
echo($datez);
@endphp:-</b></p>
@@ -194,7 +194,7 @@
<td></td>
</tr>
<tr>
<th colspan ="5"><b><u>RESIT BAYARAN LEBIHAN LELONGAN</u></b></th>
<th colspan ="5"><b><u>RESIT BAYARAN {{ ($lelong['jumlah'] > 0) ? 'LEBIHAN LELONGAN' : 'RUGI LELONGAN' }}</u></b></th>
<th> </th>
<th> </th>
<th></th>
@@ -256,7 +256,7 @@
<th></th>
</tr>
<tr>
<th>Lebihan Lelongan</th>
<th>{{ ($lelong['jumlah'] > 0) ? 'Lebihan Lelongan' : 'Rugi Lelongan' }}</th>
<td>RM {{ number_format($lelong['jumlah'],2) }}</td>
<th></th>
</tr>
+4 -4
View File
@@ -385,11 +385,11 @@ hr.new5 {
</tr>
<tr>
<td colspan="3">Nama Wakil </td> <td>: </td> <td colspan="3"> </td> <td> </td><td> </td><td> </td><td> </td>
<td colspan="3">Nama Wakil </td> <td>: @php if(sizeof($wakil) != 0){ echo $wakil['nama'];} else echo ''; @endphp </td> <td colspan="3"> </td> <td> </td><td> </td><td> </td><td> </td>
</tr>
<tr>
<td colspan="3">No K/P Wakil </td> <td>: </td> <td colspan="3"> </td> <td> </td><td> </td><td> </td><td> </td>
<td colspan="3">No K/P Wakil </td> <td>: @php if(sizeof($wakil) != 0) echo $wakil['nokp']; else echo ''; @endphp </td> <td colspan="3"> </td> <td> </td><td> </td><td> </td><td> </td>
</tr>
</table>
<br>
@@ -487,11 +487,11 @@ hr.new5 {
</tr>
<tr>
<td colspan="3">Nama Wakil </td> <td>: </td> <td colspan="3"> </td> <td> </td><td> </td><td> </td><td> </td>
<td colspan="3">Nama Wakil </td> <td>: @php if(sizeof($wakil) != 0){ echo $wakil['nama'];} else echo ''; @endphp </td> <td colspan="3"> </td> <td> </td><td> </td><td> </td><td> </td>
</tr>
<tr>
<td colspan="3">No K/P Wakil </td> <td>: </td> <td colspan="3"> </td> <td> </td><td> </td><td> </td><td> </td>
<td colspan="3">No K/P Wakil </td> <td>: @php if(sizeof($wakil) != 0) echo $wakil['nokp']; else echo ''; @endphp </td> <td colspan="3"> </td> <td> </td><td> </td><td> </td><td> </td>
</tr>
</table>
<br>
+5
View File
@@ -2,6 +2,7 @@
use Illuminate\Support\Facades\Route;
use App\Services\ImbangdugaServices;
use Illuminate\Support\Facades\Storage;
/*
|--------------------------------------------------------------------------
| Web Routes
@@ -375,3 +376,7 @@ Route::get('admin/searchpelanggan',['as'=>'admin.searchpelanggan','uses'=>'Khaza
Route::get('admin/poskod',['as'=>'admin.poskod','uses'=>'HomeController@poskod']);
Route::get('pembeliannotifykomuditi',['as'=>'beli.notifyKomoditi','uses'=>'OperasiController@notifyKomoditi'])->middleware('auth','operasi');
Route::get('supports/driver/mykad-reader',['as'=>'mykadreader.driver.download', function(){
return Storage::disk('supports')->download('MykadReaderDriver.zip');
}])->middleware('auth','teller');
Binary file not shown.