Merge branch 'new-super' into afiqhamzah-feat-mykad-reader-registration
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
@@ -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>
|
||||
|
||||
@@ -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(){
|
||||
|
||||
@@ -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!',
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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(){
|
||||
|
||||
@@ -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(){
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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.
Reference in New Issue
Block a user