fix aliran tunai fix penebusan

This commit is contained in:
hafifierahman
2021-02-09 11:22:56 +08:00
parent 4a89aa13d3
commit 0ee3c888d2
22 changed files with 7138 additions and 289 deletions
+58
View File
@@ -0,0 +1,58 @@
<?php
namespace App\Events;
use Illuminate\Broadcasting\Channel;
use Illuminate\Queue\SerializesModels;
use Illuminate\Broadcasting\PrivateChannel;
use Illuminate\Broadcasting\PresenceChannel;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Contracts\Broadcasting\ShouldBroadcastNow;
class ActionEvent implements ShouldBroadcastNow
{
use Dispatchable, InteractsWithSockets, SerializesModels;
public $actionId;
public $actionData;
/**
* Create a new event instance.
*
* @author Author
*
* @return void
*/
public function __construct($actionId, $actionData)
{
$this->actionId = $actionId;
$this->actionData = $actionData;
}
/**
* Get the channels the event should broadcast on.
*
* @author Author
*
* @return Channel|array
*/
public function broadcastOn()
{
return new Channel('action-channel-one');
}
/**
* Get the data to broadcast.
*
* @author Author
*
* @return array
*/
public function broadcastWith()
{
return [
'actionId' => $this->actionId,
'actionData' => $this->actionData,
];
}
}
+13 -3
View File
@@ -18,9 +18,8 @@ class AliranTunaiController extends Controller
public function index(){
$auth_user = Auth::user();
$cawangan_info = Http::get(config('api.url') . '/api/cawangan/'. $auth_user['cawangan'])->json();
$alirantunai = Http::get(config('api.url') . '/api/GetCurrentTunai/' . $auth_user['cawangan'] . '/' . $auth_user['name'])->json();
$alirantunai = Http::get(config('api.url') . '/api/GetCurrentTunai/' . $auth_user['cawangan'],['kodlaluan' => $auth_user['name']])->json();
// dd($alirantunai);
if(sizeof($alirantunai) == 0)
{
$alirantunai = Http::post(config('api.url') . '/api/tunai/daftarTunai/' . $auth_user['cawangan'], [
@@ -36,6 +35,17 @@ class AliranTunaiController extends Controller
])->json();
}
$denominasi=Http::get(config('api.url').'/api/DenominasiController/'.$auth_user['cawangan'])->json();
if(sizeof($denominasi) == 0)
{
$denominasi=Http::post(config('api.url').'/api/DenominasiCreate/'.$auth_user['cawangan'])->json();
}
else
{
$denominasi=$denominasi[0];
}
$GT = Http::get(config('api.url') . '/api/countGT/' . $auth_user['cawangan'])->json();
if(sizeof($GT) > 0);
@@ -45,6 +55,6 @@ class AliranTunaiController extends Controller
$api_url = config('api.url');
return view('aliran_tunai.index',compact('cawangan_info','alirantunai','api_url','GT'));
return view('aliran_tunai.index',compact('cawangan_info','alirantunai','api_url','GT','denominasi'));
}
}
@@ -288,25 +288,6 @@ class GadaianController extends Controller
'penilai' => $auth_user['name']
]);
$getTunai2=Http::get(config('api.url').'/api/GetCurrentTunai/'.$auth_user['cawangan'] . '/' . $gadai_detail['teller'])->json();
$keluar=$getTunai2['keluar'];
$baki=$getTunai2['baki'];
$masuk=$getTunai2['masuk'];
$totalkeluar = 0;
$bakiakhir = 0;
$totalkeluar = $gadai_detail['pinjaman'] + $keluar;
$bakiakhir = $baki - $gadai_detail['pinjaman'];
//masuk dalam tunai aliran
$updateTunai=Http::put( config('api.url').'/api/updateTunaiGT/'.$auth_user['cawangan'].'/'.$gadai_detail['teller'], [
'keluar'=>$totalkeluar,
'masuk'=>$masuk,
'bakiakhir'=>$bakiakhir
]);
}
$customer = Http::get(config('api.url') . '/api/customers/'. $gadai_detail['nokp'])->json();
$customer_detail = $customer[0];
+78 -27
View File
@@ -129,6 +129,8 @@ class KhazanahController extends Controller
$gadai = Http::get( config('api.url') .'/api/gadai/serah_marhun/khazanah/'. $auth_user['cawangan'])->json();
$petibesi = Http::get( config('api.url') .'/api/gadai/serah_marhun/khazanah/petibesi/'. $auth_user['cawangan'])->json();
$cawangan_info = Http::get(config('api.url') . '/api/cawangan/'. $auth_user['cawangan'])->json();
return view('khazanah.gadaian',compact('cawangan_info','api_url','gadai','petibesi'));
}
@@ -153,6 +155,37 @@ class KhazanahController extends Controller
$update=Http::put(config('api.url').'/api/updatetagterima/'.$auth_user['cawangan'].'/'.$request->norujukan_barcode)->json();
$gadai = Http::get(config('api.url') . '/api/gadai/norujukan/'. $auth_user['cawangan'] .'/' .$request->norujukan_barcode)->json();
$gadai_detail = $gadai[0];
$tebus = Http::get(config('api.url') . '/api/listpenebusanhistory/'. $auth_user['cawangan'],['norujukan' => $request->norujukan_barcode])->json();
//dd($tebus);
$tebus_detail = $tebus[0];
//dd($tebus_detail);
$getTunai2=Http::get(config('api.url').'/api/GetCurrentTunai/'.$auth_user['cawangan'],['kodlaluan' => $tebus_detail['teller']])->json();
$keluar=$getTunai2['keluar'];
$baki=$getTunai2['baki'];
$masuk=$getTunai2['masuk'];
$bakiawal=$getTunai2['bakiawal'];
$pendahuluan=$getTunai2['tambah'];
$serahan=$getTunai2['kurang'];
$totalmasuk = 0;
$bakiakhir = 0;
$totalmasuk = $tebus_detail['bakipjm'] + $masuk;
$bakiakhir = $bakiawal-$keluar+$totalmasuk+$pendahuluan-$serahan;
//masuk dalam tunai aliran
$updateTunai=Http::put( config('api.url').'/api/updateTunaiGT/'.$auth_user['cawangan'], [
'kodlaluan' => $tebus_detail['teller'],
'keluar'=>$keluar,
'masuk'=>$totalmasuk,
'bakiakhir'=>$bakiakhir
]);
return $this->tebus();
}
@@ -174,17 +207,12 @@ class KhazanahController extends Controller
foreach($reqTeller as $index=>$req)
{
if($id == $req['no'])
array_push($array_reqteller,["teller" => $req]);
}
$array_reqteller = $array_reqteller[0]['teller'];
$listUser=User::where('cawangan',$auth_user['cawangan'] )->get();
$denominasi=Http::get(config('api.url').'/api/DenominasiController/'.$auth_user['cawangan'])->json();
@@ -490,7 +518,32 @@ class KhazanahController extends Controller
$auth_user = Auth::user();
$gadai = Http::put(config('api.url').'/api/gadai/serah_marhun/khazanah/'. $auth_user['cawangan'] .'/' . $request->norujukan_barcode)->json();
$gadai = Http::get(config('api.url') . '/api/gadai/norujukan/'. $auth_user['cawangan'] .'/' .$request->norujukan_barcode)->json();
$gadai_detail = $gadai[0];
$getTunai2=Http::get(config('api.url').'/api/GetCurrentTunai/'.$auth_user['cawangan'],['kodlaluan' => $gadai_detail['teller']])->json();
$keluar=$getTunai2['keluar'];
$baki=$getTunai2['baki'];
$masuk=$getTunai2['masuk'];
$bakiawal=$getTunai2['bakiawal'];
$pendahuluan=$getTunai2['tambah'];
$serahan=$getTunai2['kurang'];
$totalkeluar = 0;
$bakiakhir = 0;
$totalkeluar = $gadai_detail['pinjaman'] + $keluar;
$bakiakhir = $bakiawal-$totalkeluar+$masuk+$pendahuluan-$serahan;
//masuk dalam tunai aliran
$updateTunai=Http::put( config('api.url').'/api/updateTunaiGT/'.$auth_user['cawangan'], [
'kodlaluan' => $gadai_detail['teller'],
'keluar' => $totalkeluar,
'masuk' => $masuk,
'bakiakhir' => $bakiakhir
]);
event(new NotifikasiPembayaran('TellerkepadaKhazanah'));
@@ -599,9 +652,9 @@ class KhazanahController extends Controller
]);
$updaterequest=Http::put(config('api.url').'/api/requestTeller/update/'. $auth_user['cawangan'] . '/' . $request->teller,[
'no'=>$request->no
$updaterequest=Http::put(config('api.url').'/api/requestTeller/update/'. $auth_user['cawangan'],[
'kodlaluan' => $request->teller,
'no' => $request->no
]);
@@ -677,9 +730,9 @@ class KhazanahController extends Controller
]);
$updaterequest=Http::put(config('api.url').'/api/requestTeller/update/'. $auth_user['cawangan'] . '/' . $request->teller,[
'no'=>$request->no
$updaterequest=Http::put(config('api.url').'/api/requestTeller/update/'. $auth_user['cawangan'],[
'kodlaluan' => $request->teller,
'no' => $request->no
]);
@@ -732,7 +785,7 @@ class KhazanahController extends Controller
'nota'=>$nota
]);
$getTunai=Http::get(config('api.url').'/api/GetCurrentTunai/'.$auth_user['cawangan'] . '/' . $kodlaluan)->json();
$getTunai=Http::get(config('api.url').'/api/GetCurrentTunai/'.$auth_user['cawangan'],['kodlaluan' => $kodlaluan])->json();
if(sizeof($getTunai) == 0)
{
@@ -744,12 +797,13 @@ class KhazanahController extends Controller
$BakiAkhirT=0;$BakiAwalT=0;$tambahT=0;
$getTunai2=Http::get(config('api.url').'/api/GetCurrentTunai/'.$auth_user['cawangan'] . '/' . $kodlaluan)->json();
$getTunai2=Http::get(config('api.url').'/api/GetCurrentTunai/'.$auth_user['cawangan'],['kodlaluan' => $kodlaluan])->json();
$bakiAwal=$getTunai2['bakiawal'];
$keluar=$getTunai2['keluar'];
$baki=$getTunai2['baki'];
$kurangT=$getTunai2['kurang'];
$tam=$getTunai2['tambah'];
$masukT=$getTunai2['masuk'];
if($bakiAwal==0)
{
@@ -759,21 +813,18 @@ class KhazanahController extends Controller
{
$BakiAwalT=$bakiAwal;
}
if($keluar==0)
{
$tambahT=$tambah + $tam;
}
else
$tambahT=$keluar;
$kurang=$kurangT;
$BakiAkhirT=$BakiAwalT+$tambahT-$kurang;
$updateTunai=Http::put( config('api.url').'/api/updateTunai/'.$auth_user['cawangan'].'/'.$kodlaluan, [
$keluarT = $keluar;
$bakiAkhirT=$bakiAwal+$tambahT+$masukT-$keluarT-$kurang;
$updateTunai=Http::put( config('api.url').'/api/updateTunai/'.$auth_user['cawangan'], [
'kodlaluan'=>$kodlaluan,
'tambah'=>$tambahT,
'kurang'=>$kurang,
'bakiakhir'=>$BakiAkhirT
'bakiakhir'=>$bakiAkhirT
]);
$latestVault=Http::get(config('api.url').'/api/VaultController/'.$auth_user['cawangan'])->json();
@@ -781,7 +832,7 @@ class KhazanahController extends Controller
$keluarV=$latestVault[0]['keluar'];
$pendahuluanV=$latestVault[0]['pendahuluan'];
$serahanV=$latestVault[0]['serahan'];
$BakiAwalV=$latestVault[0]['bakiawal'];
$bakiAwalV=$latestVault[0]['bakiawal'];
// return;
// dd($tambahT);
@@ -790,7 +841,6 @@ class KhazanahController extends Controller
$GetLatestBakiTunai=Http::get( config('api.url').'/api/getLatestBaki/'.$auth_user['cawangan'])->json();
$bakiTerkini=$GetLatestBakiTunai;
$bakiAwalV=$BakiAwalV;
$bakiAkhirV=$bakiAwalV-$keluarV+$masukV+$pendahuluanV-$serahanV;
// $bakiEOD=$bakiAkhirV+$GetLatestBakiTunai; //try test
$bakiEOD = $bakiAkhirV;
@@ -866,7 +916,7 @@ class KhazanahController extends Controller
'kurang'=>$kurang,
'nota'=>$nota]);
$getTunai=Http::get(config('api.url').'/api/GetCurrentTunai/'.$auth_user['cawangan'] . '/' . $kodlaluan)->json();
$getTunai=Http::get(config('api.url').'/api/GetCurrentTunai/'.$auth_user['cawangan'],['kodlaluan' => $kodlaluan])->json();
if(sizeof($getTunai) == 0)
{
@@ -874,7 +924,7 @@ class KhazanahController extends Controller
}
else
{
$getTunai2=Http::get(config('api.url').'/api/GetCurrentTunai/'.$auth_user['cawangan'] . '/' . $kodlaluan)->json();
$getTunai2=Http::get(config('api.url').'/api/GetCurrentTunai/'.$auth_user['cawangan'],['kodlaluan' => $kodlaluan])->json();
$bakiAwalT=$getTunai2['bakiawal'];
$keluarT=$getTunai2['keluar'];
$baki=$getTunai2['baki'];
@@ -911,7 +961,8 @@ class KhazanahController extends Controller
$bakiAkhirT=$baki_AwalT+$tambah_T+$masukT-$keluarT-$kurang_T;
$updateTunai=Http::put( config('api.url').'/api/updateTunai/'.$auth_user['cawangan'].'/'.$kodlaluan, [
$updateTunai=Http::put( config('api.url').'/api/updateTunai/'.$auth_user['cawangan'], [
'kodlaluan'=>$kodlaluan,
'tambah'=>$tambah_T,
'kurang'=>$kurang_T,
'bakiakhir'=>$bakiAkhirT
+41 -3
View File
@@ -34,6 +34,41 @@ class PenebusanController extends Controller
return view('penebusan.index',compact('cawangan_info','api_url','gadai','marhun','nama'));
}
public function bayaransuransTawarruq(Request $request)
{
$api_url = config('api.url');
$updategadai = Http::put(config('api.url').'/api/gadaikaunter/'. $request->kodcaw .'/norujukan/' . $request->norujukan,[
'bayaran' => $request->bayaran,
'teller' => $request->teller
])->json();
$getTunai2=Http::get(config('api.url').'/api/GetCurrentTunai/'.$request->kodcaw,['kodlaluan' => $request->teller])->json();
$keluar=$getTunai2['keluar'];
$baki=$getTunai2['baki'];
$masuk=$getTunai2['masuk'];
$bakiawal=$getTunai2['bakiawal'];
$pendahuluan=$getTunai2['tambah'];
$serahan=$getTunai2['kurang'];
$totalmasuk = 0;
$bakiakhir = 0;
$totalmasuk = $request->bayaran + $masuk;
$bakiakhir = $bakiawal-$keluar+$totalmasuk+$pendahuluan-$serahan;
//masuk dalam tunai aliran
$updateTunai=Http::put( config('api.url').'/api/updateTunaiGT/'.$request->kodcaw, [
'kodlaluan' => $request->teller,
'keluar' => $keluar,
'masuk' => $totalmasuk,
'bakiakhir' => $bakiakhir
]);
return response()->json($updateTunai,200);
}
public function bayaransurans(Request $request)
{
$api_url = config('api.url');
@@ -62,7 +97,8 @@ class PenebusanController extends Controller
'nowakil' => $request->nowakil,
'historygadaian' => $request->historygadaian,
'marhun' => $request->marhun,
'jenisbayarantebus' => $request->jenisbayarantebus
'jenisbayarantebus' => $request->jenisbayarantebus,
'teller' => $request->teller
])->json();
//////////////////////
@@ -183,7 +219,8 @@ class PenebusanController extends Controller
'bakiupah' => $request->bakiupah,
'historygadaian' => $request->historygadaian,
'marhun' => $request->marhun,
'jenisbayarantebus' => $request->jenisbayarantebus
'jenisbayarantebus' => $request->jenisbayarantebus,
'teller' => $request->teller
])->json();
//////////////////////
@@ -304,7 +341,8 @@ class PenebusanController extends Controller
'nowakil' => $request->nowakil,
'historygadaian' => $request->historygadaian,
'marhun' => $request->marhun,
'jenisbayarantebus' => $request->jenisbayarantebus
'jenisbayarantebus' => $request->jenisbayarantebus,
'teller' => $request->teller
])->json();
+1
View File
@@ -18,6 +18,7 @@
"laravel/tinker": "^2.0",
"laravel/ui": "^2.4",
"milon/barcode": "^7.0",
"predis/predis": "^1.1",
"pusher/pusher-php-server": "~4.0",
"simplesoftwareio/simple-qrcode": "^4.1",
"spatie/laravel-medialibrary": "^7.19",
Generated
+79
View File
@@ -2658,6 +2658,85 @@
],
"time": "2020-07-20T17:29:33+00:00"
},
{
"name": "predis/predis",
"version": "v1.1.6",
"source": {
"type": "git",
"url": "https://github.com/predis/predis.git",
"reference": "9930e933c67446962997b05201c69c2319bf26de"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/predis/predis/zipball/9930e933c67446962997b05201c69c2319bf26de",
"reference": "9930e933c67446962997b05201c69c2319bf26de",
"shasum": ""
},
"require": {
"php": ">=5.3.9"
},
"require-dev": {
"cweagans/composer-patches": "^1.6",
"phpunit/phpunit": "~4.8"
},
"suggest": {
"ext-curl": "Allows access to Webdis when paired with phpiredis",
"ext-phpiredis": "Allows faster serialization and deserialization of the Redis protocol"
},
"type": "library",
"extra": {
"composer-exit-on-patch-failure": true,
"patches": {
"phpunit/phpunit-mock-objects": {
"Fix PHP 7 and 8 compatibility": "./tests/phpunit_mock_objects.patch"
},
"phpunit/phpunit": {
"Fix PHP 7 compatibility": "./tests/phpunit_php7.patch",
"Fix PHP 8 compatibility": "./tests/phpunit_php8.patch"
}
}
},
"autoload": {
"psr-4": {
"Predis\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Daniele Alessandri",
"email": "suppakilla@gmail.com",
"homepage": "http://clorophilla.net",
"role": "Creator & Maintainer"
},
{
"name": "Till Krüss",
"homepage": "https://till.im",
"role": "Maintainer"
}
],
"description": "Flexible and feature-complete Redis client for PHP and HHVM",
"homepage": "http://github.com/predis/predis",
"keywords": [
"nosql",
"predis",
"redis"
],
"support": {
"issues": "https://github.com/predis/predis/issues",
"source": "https://github.com/predis/predis/tree/v1.1.6"
},
"funding": [
{
"url": "https://github.com/sponsors/tillkruss",
"type": "github"
}
],
"time": "2020-09-11T19:18:05+00:00"
},
{
"name": "psr/container",
"version": "1.0.0",
+1 -1
View File
@@ -119,7 +119,7 @@ return [
'redis' => [
'client' => env('REDIS_CLIENT', 'phpredis'),
'client' => env('REDIS_CLIENT', 'predis'),
'options' => [
'cluster' => env('REDIS_CLUSTER', 'redis'),
+267 -94
View File
@@ -1143,6 +1143,21 @@
"resolved": "https://registry.npmjs.org/@ttskch/select2-bootstrap4-theme/-/select2-bootstrap4-theme-1.4.0.tgz",
"integrity": "sha512-5WVMdFpQLx0vKxX0/LfapI0aE+qUYOuOuMjOc+ecN8vsr7plcBsgIbp4YtlpLmQR9aqgyM1QyqEiO/FwB+qaqQ=="
},
"@types/component-emitter": {
"version": "1.2.10",
"resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.10.tgz",
"integrity": "sha512-bsjleuRKWmGqajMerkzox19aGbscQX5rmmvvXl3wlIp5gMG1HgkiwPxsN5p070fBDKTNSPgojVbuY1+HWMbFhg=="
},
"@types/cookie": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.0.tgz",
"integrity": "sha512-y7mImlc/rNkvCRmg8gC3/lj87S7pTUIJ6QGjwHR9WQJcFs+ZMTOaoPrkdFA/YdbuqVEmEbb5RdhVxMkAcgOnpg=="
},
"@types/cors": {
"version": "2.8.9",
"resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.9.tgz",
"integrity": "sha512-zurD1ibz21BRlAOIKP8yhrxlqKx6L9VCwkB5kMiP6nZAhoF5MvC7qS1qPA7nRcr1GJolfkQC7/EAL4hdYejLtg=="
},
"@types/glob": {
"version": "7.1.3",
"resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz",
@@ -1417,7 +1432,6 @@
"version": "1.3.7",
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
"integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
"dev": true,
"requires": {
"mime-types": "~2.1.24",
"negotiator": "0.6.2"
@@ -2076,11 +2090,21 @@
}
}
},
"base64-arraybuffer": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz",
"integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI="
},
"base64-js": {
"version": "0.0.8",
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz",
"integrity": "sha1-EQHpVE9KdrG8OybUUsqW16NeeXg="
},
"base64id": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz",
"integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog=="
},
"batch": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
@@ -2141,7 +2165,6 @@
"version": "1.19.0",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
"integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
"dev": true,
"requires": {
"bytes": "3.1.0",
"content-type": "~1.0.4",
@@ -2158,14 +2181,12 @@
"bytes": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
"integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
"dev": true
"integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="
},
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
"requires": {
"ms": "2.0.0"
}
@@ -2174,7 +2195,6 @@
"version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
"dev": true,
"requires": {
"safer-buffer": ">= 2.1.2 < 3"
}
@@ -2814,6 +2834,11 @@
"shallow-clone": "^3.0.0"
}
},
"cluster-key-slot": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.0.tgz",
"integrity": "sha512-2Nii8p3RwAPiFwsnZvukotvow2rIHM+yQ6ZcBXGHdniadkYGZYiGmkHJIbZPIV9nfv7m/U1IPMVVcAhoWFeklw=="
},
"coa": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz",
@@ -2915,8 +2940,7 @@
"component-emitter": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
"integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
"dev": true
"integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
},
"compressible": {
"version": "2.0.18",
@@ -3014,7 +3038,6 @@
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
"integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
"dev": true,
"requires": {
"safe-buffer": "5.1.2"
}
@@ -3022,8 +3045,7 @@
"content-type": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
"integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
"dev": true
"integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
},
"convert-source-map": {
"version": "1.7.0",
@@ -3036,14 +3058,12 @@
"cookie": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
"integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==",
"dev": true
"integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg=="
},
"cookie-signature": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
"integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=",
"dev": true
"integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
},
"copy-concurrently": {
"version": "1.0.5",
@@ -3093,6 +3113,15 @@
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
},
"cors": {
"version": "2.8.5",
"resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
"integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
"requires": {
"object-assign": "^4",
"vary": "^1"
}
},
"cosmiconfig": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz",
@@ -3849,11 +3878,15 @@
"resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
"integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o="
},
"denque": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/denque/-/denque-1.5.0.tgz",
"integrity": "sha512-CYiCSgIF1p6EUByQPlGkKnP1M9g0ZV3qMIrqMqZqdwazygIA/YP2vrbcyl1h/WppKJTdl1F85cXIle+394iDAQ=="
},
"depd": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
"integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
"dev": true
"integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
},
"des.js": {
"version": "1.0.1",
@@ -3868,8 +3901,7 @@
"destroy": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
"integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
"dev": true
"integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
},
"detect-file": {
"version": "1.0.0",
@@ -3997,10 +4029,9 @@
}
},
"dotenv": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-6.2.0.tgz",
"integrity": "sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w==",
"dev": true
"version": "8.2.0",
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz",
"integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw=="
},
"dotenv-expand": {
"version": "4.2.0",
@@ -4040,8 +4071,7 @@
"ee-first": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
"dev": true
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
},
"ekko-lightbox": {
"version": "5.3.0",
@@ -4091,8 +4121,7 @@
"encodeurl": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
"integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
"dev": true
"integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
},
"end-of-stream": {
"version": "1.4.4",
@@ -4103,6 +4132,53 @@
"once": "^1.4.0"
}
},
"engine.io": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-4.1.1.tgz",
"integrity": "sha512-t2E9wLlssQjGw0nluF6aYyfX8LwYU8Jj0xct+pAhfWfv/YrBn6TSNtEYsgxHIfaMqfrLx07czcMg9bMN6di+3w==",
"requires": {
"accepts": "~1.3.4",
"base64id": "2.0.0",
"cookie": "~0.4.1",
"cors": "~2.8.5",
"debug": "~4.3.1",
"engine.io-parser": "~4.0.0",
"ws": "~7.4.2"
},
"dependencies": {
"cookie": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz",
"integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA=="
},
"debug": {
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
"integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
"requires": {
"ms": "2.1.2"
}
},
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"ws": {
"version": "7.4.3",
"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.3.tgz",
"integrity": "sha512-hr6vCR76GsossIRsr8OLR9acVVm1jyfEWvhbNjtgPOrfvAlKzvyeg/P6r8RuDjRyrcQoPQT7K0DGEPc7Ae6jzA=="
}
}
},
"engine.io-parser": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.2.tgz",
"integrity": "sha512-sHfEQv6nmtJrq6TKuIz5kyEKH/qSdK56H/A+7DnAuUPWosnIZAS2NHNcPLmyjtY3cGS/MqJdZbUjW97JU72iYg==",
"requires": {
"base64-arraybuffer": "0.1.4"
}
},
"enhanced-resolve": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz",
@@ -4271,8 +4347,7 @@
"escape-html": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
"integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
"dev": true
"integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
},
"escape-string-regexp": {
"version": "1.0.5",
@@ -4341,8 +4416,7 @@
"etag": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
"integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
"dev": true
"integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
},
"ev-emitter": {
"version": "1.1.1",
@@ -4517,7 +4591,6 @@
"version": "4.17.1",
"resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
"integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
"dev": true,
"requires": {
"accepts": "~1.3.7",
"array-flatten": "1.1.1",
@@ -4554,14 +4627,12 @@
"array-flatten": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
"integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
"dev": true
"integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
},
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
"requires": {
"ms": "2.0.0"
}
@@ -4844,7 +4915,6 @@
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
"integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
"dev": true,
"requires": {
"debug": "2.6.9",
"encodeurl": "~1.0.2",
@@ -4859,7 +4929,6 @@
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
"requires": {
"ms": "2.0.0"
}
@@ -4984,8 +5053,7 @@
"forwarded": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
"integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=",
"dev": true
"integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
},
"fragment-cache": {
"version": "0.2.1",
@@ -4999,8 +5067,7 @@
"fresh": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
"integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
"dev": true
"integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
},
"friendly-errors-webpack-plugin": {
"version": "1.7.0",
@@ -5595,7 +5662,6 @@
"version": "1.7.2",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
"integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
"dev": true,
"requires": {
"depd": "~1.1.2",
"inherits": "2.0.3",
@@ -5607,8 +5673,7 @@
"inherits": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
"dev": true
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
}
}
},
@@ -5887,6 +5952,43 @@
"resolved": "https://registry.npmjs.org/ion-rangeslider/-/ion-rangeslider-2.3.1.tgz",
"integrity": "sha512-6V+24FD13/feliI485gnRHZYD9Ev64M5NAFTxnVib516ATHa9PlXQrC+nOiPngouRYTCLPJyokAJEi3e1Umi5g=="
},
"ioredis": {
"version": "4.19.4",
"resolved": "https://registry.npmjs.org/ioredis/-/ioredis-4.19.4.tgz",
"integrity": "sha512-3haQWw9dpEjcfVcRktXlayVNrrqvvc2io7Q/uiV2UsYw8/HC2YwwJr78Wql7zu5bzwci0x9bZYA69U7KkevAvw==",
"requires": {
"cluster-key-slot": "^1.1.0",
"debug": "^4.1.1",
"denque": "^1.1.0",
"lodash.defaults": "^4.2.0",
"lodash.flatten": "^4.4.0",
"p-map": "^2.1.0",
"redis-commands": "1.6.0",
"redis-errors": "^1.2.0",
"redis-parser": "^3.0.0",
"standard-as-callback": "^2.0.1"
},
"dependencies": {
"debug": {
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
"integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
"requires": {
"ms": "2.1.2"
}
},
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"p-map": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz",
"integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw=="
}
}
},
"ip": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
@@ -5902,8 +6004,7 @@
"ipaddr.js": {
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
"integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
"dev": true
"integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="
},
"is-absolute-url": {
"version": "2.1.0",
@@ -6435,6 +6536,12 @@
"yargs": "^15.4.1"
},
"dependencies": {
"dotenv": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-6.2.0.tgz",
"integrity": "sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w==",
"dev": true
},
"fs-extra": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
@@ -6638,8 +6745,12 @@
"lodash.defaults": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
"integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=",
"dev": true
"integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw="
},
"lodash.flatten": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz",
"integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8="
},
"lodash.isarguments": {
"version": "3.1.0",
@@ -6798,8 +6909,7 @@
"media-typer": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
"integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
"dev": true
"integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
},
"memory-fs": {
"version": "0.4.1",
@@ -6831,8 +6941,7 @@
"merge-descriptors": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
"integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=",
"dev": true
"integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
},
"merge-source-map": {
"version": "1.0.4",
@@ -6864,8 +6973,7 @@
"methods": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
"integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
"dev": true
"integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
},
"micromatch": {
"version": "3.1.10",
@@ -6909,8 +7017,7 @@
"mime": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
"integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
"dev": true
"integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
},
"mime-db": {
"version": "1.44.0",
@@ -7052,8 +7159,7 @@
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"dev": true
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
},
"multicast-dns": {
"version": "6.2.3",
@@ -7098,8 +7204,7 @@
"negotiator": {
"version": "0.6.2",
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
"integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==",
"dev": true
"integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
},
"neo-async": {
"version": "2.6.2",
@@ -7578,7 +7683,6 @@
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
"integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
"dev": true,
"requires": {
"ee-first": "1.1.1"
}
@@ -7776,8 +7880,7 @@
"parseurl": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
"integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
"dev": true
"integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
},
"pascalcase": {
"version": "0.1.1",
@@ -7827,8 +7930,7 @@
"path-to-regexp": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
"integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=",
"dev": true
"integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
},
"path-type": {
"version": "3.0.0",
@@ -8635,7 +8737,6 @@
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz",
"integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==",
"dev": true,
"requires": {
"forwarded": "~0.1.2",
"ipaddr.js": "1.9.1"
@@ -8726,8 +8827,7 @@
"qs": {
"version": "6.7.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
"integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==",
"dev": true
"integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="
},
"querystring": {
"version": "0.2.0",
@@ -8779,8 +8879,7 @@
"range-parser": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
"integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
"dev": true
"integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
},
"raphael": {
"version": "2.3.0",
@@ -8794,7 +8893,6 @@
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
"integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
"dev": true,
"requires": {
"bytes": "3.1.0",
"http-errors": "1.7.2",
@@ -8805,14 +8903,12 @@
"bytes": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
"integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
"dev": true
"integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="
},
"iconv-lite": {
"version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
"dev": true,
"requires": {
"safer-buffer": ">= 2.1.2 < 3"
}
@@ -8950,6 +9046,24 @@
}
}
},
"redis-commands": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/redis-commands/-/redis-commands-1.6.0.tgz",
"integrity": "sha512-2jnZ0IkjZxvguITjFTrGiLyzQZcTvaw8DAaCXxZq/dsHXz7KfMQ3OUJy7Tz9vnRtZRVz6VRCPDvruvU8Ts44wQ=="
},
"redis-errors": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz",
"integrity": "sha1-62LSrbFeTq9GEMBK/hUpOEJQq60="
},
"redis-parser": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz",
"integrity": "sha1-tm2CjNyv5rS4pCin3vTGvKwxyLQ=",
"requires": {
"redis-errors": "^1.0.0"
}
},
"regenerate": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.1.tgz",
@@ -9495,7 +9609,6 @@
"version": "0.17.1",
"resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
"integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
"dev": true,
"requires": {
"debug": "2.6.9",
"depd": "~1.1.2",
@@ -9516,7 +9629,6 @@
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
"requires": {
"ms": "2.0.0"
},
@@ -9524,16 +9636,14 @@
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"dev": true
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
}
}
},
"ms": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
"integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
"dev": true
"integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
}
}
},
@@ -9600,7 +9710,6 @@
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
"integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
"dev": true,
"requires": {
"encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
@@ -9656,8 +9765,7 @@
"setprototypeof": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
"integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==",
"dev": true
"integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
},
"sha.js": {
"version": "2.4.11",
@@ -9860,6 +9968,72 @@
}
}
},
"socket.io": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/socket.io/-/socket.io-3.1.1.tgz",
"integrity": "sha512-7cBWdsDC7bbyEF6WbBqffjizc/H4YF1wLdZoOzuYfo2uMNSFjJKuQ36t0H40o9B20DO6p+mSytEd92oP4S15bA==",
"requires": {
"@types/cookie": "^0.4.0",
"@types/cors": "^2.8.8",
"@types/node": "^14.14.10",
"accepts": "~1.3.4",
"base64id": "~2.0.0",
"debug": "~4.3.1",
"engine.io": "~4.1.0",
"socket.io-adapter": "~2.1.0",
"socket.io-parser": "~4.0.3"
},
"dependencies": {
"@types/node": {
"version": "14.14.24",
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.24.tgz",
"integrity": "sha512-6BAlkS4seVjszhrwN0W1WabqWwuJwcYF36Z1rPPyQm80LGRKsIeUPdzI51TezXenjetFNy1gRTpuDn1NBg33LA=="
},
"debug": {
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
"integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
"requires": {
"ms": "2.1.2"
}
},
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
}
}
},
"socket.io-adapter": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.1.0.tgz",
"integrity": "sha512-+vDov/aTsLjViYTwS9fPy5pEtTkrbEKsw2M+oVSoFGw6OD1IpvlV1VPhUzNbofCQ8oyMbdYJqDtGdmHQK6TdPg=="
},
"socket.io-parser": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz",
"integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==",
"requires": {
"@types/component-emitter": "^1.2.10",
"component-emitter": "~1.3.0",
"debug": "~4.3.1"
},
"dependencies": {
"debug": {
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
"integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
"requires": {
"ms": "2.1.2"
}
},
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
}
}
},
"sockjs": {
"version": "0.3.20",
"resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.20.tgz",
@@ -10114,6 +10288,11 @@
"integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==",
"dev": true
},
"standard-as-callback": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.0.1.tgz",
"integrity": "sha512-NQOxSeB8gOI5WjSaxjBgog2QFw55FV8TkS6Y07BiB3VJ8xNTvUYm0wl0s8ObgQ5NhdpnNfigMIKjgPESzgr4tg=="
},
"static-eval": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.1.0.tgz",
@@ -10167,8 +10346,7 @@
"statuses": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
"integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
"dev": true
"integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
},
"stdout-stream": {
"version": "1.4.1",
@@ -10702,8 +10880,7 @@
"toidentifier": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
"integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==",
"dev": true
"integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="
},
"tough-cookie": {
"version": "2.5.0",
@@ -10769,7 +10946,6 @@
"version": "1.6.18",
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
"integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
"dev": true,
"requires": {
"media-typer": "0.3.0",
"mime-types": "~2.1.24"
@@ -10930,8 +11106,7 @@
"unpipe": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
"integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
"dev": true
"integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
},
"unquote": {
"version": "1.1.1",
@@ -11097,8 +11272,7 @@
"utils-merge": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
"integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
"dev": true
"integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
},
"uuid": {
"version": "3.4.0",
@@ -11123,8 +11297,7 @@
"vary": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
"integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
"dev": true
"integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
},
"vendors": {
"version": "1.0.4",
+4
View File
@@ -23,8 +23,12 @@
},
"dependencies": {
"admin-lte": "^3.0.5",
"dotenv": "^8.2.0",
"express": "^4.17.1",
"fibers": "^5.0.0",
"ioredis": "^4.19.4",
"node-sass": "^4.14.1",
"socket.io": "^3.1.1",
"tempusdominus-core": "^5.0.3"
}
}
+208 -29
View File
@@ -104,7 +104,7 @@ function totalkey(datakeyin)
if(amount > validate)
{
$('#' + idkey).val('');
$('#' + idkey).val(0);
Swal.fire({
icon: 'error',
title: 'Oops...',
@@ -119,39 +119,149 @@ function totalkey(datakeyin)
}
const formatter = new Intl.NumberFormat('en-US', {
minimumFractionDigits: 2
});
function openuptambahdanserah(e)
function kiraan(datakeyin)
{
var idkey = $(datakeyin).attr('id');
var valkey = $(datakeyin).val();
var amount = 0;
let amountkiraan = 0;
var validate = parseFloat($('#amaundiminta').val());
$.each(arrayambilan, function( index, arr ){
if(arr[0] == idkey)
{
arrayambilan[index][1] = totalamount(idkey,valkey);
}
amount += arr[1];
});
if(amount > validate)
{
// $('#' + idkey).val('');
Swal.fire({
icon: 'error',
title: 'Oops...',
text: 'Something went wrong!',
footer: '<a href>Why do I have this issue?</a>'
});
}
else
{
$('#amaunkiraan').val(amount);
}
switch(idkey) {
case 'bundle1':
amountkiraan += (valkey * 100);
$('#totalb1').val(formatter.format(amountkiraan.toFixed(2)));
break;
case 'bundle20':
amountkiraan += (valkey * 1000);
$('#totalb20').val(formatter.format(amountkiraan.toFixed(2)));
break;
case 'bundle5':
amountkiraan += (valkey * 500);
$('#totalb5').val(formatter.format(amountkiraan.toFixed(2)));
break;
case 'bundle50':
amountkiraan += (valkey * 5000);
$('#totalb50').val(formatter.format(amountkiraan.toFixed(2)));
break;
case 'bundle10':
amountkiraan += (valkey * 1000);
$('#totalb10').val(formatter.format(amountkiraan.toFixed(2)));
break;
case 'bundle100':
amountkiraan += (valkey * 5000);
$('#totalb100').val(formatter.format(amountkiraan.toFixed(2)));
break;
case 'sen1':
amountkiraan += (valkey * 0.01);
$('#totalsen1').val(formatter.format(amountkiraan.toFixed(2)));
break;
case 'sen5':
amountkiraan += (valkey * 0.05);
$('#totalsen5').val(formatter.format(amountkiraan.toFixed(2)));
break;
case 'sen10':
amountkiraan += (valkey * 0.05);
$('#totalsen10').val(formatter.format(amountkiraan.toFixed(2)));
break;
case 'sen20':
amountkiraan += (valkey * 0.20);
$('#totalsen20').val(formatter.format(amountkiraan.toFixed(2)));
break;
case 'sen50':
amountkiraan += (valkey * 0.50);
$('#totalsen50').val(formatter.format(amountkiraan.toFixed(2)));
break;
case 'ringgit1':
amountkiraan += (valkey * 1);
$('#totalring1').val(formatter.format(amountkiraan.toFixed(2)));
break;
case 'ringgit5':
amountkiraan += (valkey * 5);
$('#totalring5').val(formatter.format(amountkiraan.toFixed(2)));
break;
case 'ringgit10':
amountkiraan += (valkey * 10);
$('#totalring10').val(formatter.format(amountkiraan.toFixed(2)));
break;
case 'ringgit20':
amountkiraan += (valkey * 20);
$('#totalring20').val(formatter.format(amountkiraan.toFixed(2)));
break;
case 'ringgit50':
amountkiraan += (valkey * 50);
$('#totalring50').val(formatter.format(amountkiraan.toFixed(2)));
break;
case 'ringgit100':
amountkiraan += (valkey * 100);
$('#totalring100').val(formatter.format(amountkiraan.toFixed(2)));
break;
}
}
async function openuptambahdanserah(e)
{
var id = $(e).attr('id');
var kodcaw = $(e).data('kodcaw');
var teller = $(e).data('teller');
$('#txtmodal').val('');
$('#tambahserahanModal').modal();
$('#jenisjenis').val(id);
$('#kodcawangan').val(kodcaw);
$('#tellerla').val(teller);
}
//Pendahuluan
function tambahdanserahanfunc(e)
{
var id = $('#jenisjenis').val();
var kodcaw = $('#kodcawangan').val();
var teller = $('#tellerla').val();
var api_url = $('#api').val();
if(id == "tambahmodal")
if(id == 'tambahmodal')
{
var txt = $('#txtmodal').val();
const { value: amaun } = await Swal.fire({
title: 'Masukkan Amaun Pendahuluan',
input: 'text',
inputPlaceholder: 'Amaun',
confirmButtonText: 'Terima',
allowOutsideClick: false
})
if (amaun) {
// Swal.fire(`Entered email: ${amaun}`)
if (isNaN(amaun))
{
Swal.fire('error','Amaun hendaklah dalam nombor!','error');
return false;
}
else
{
$.ajax({
method:"POST",
url: api_url + '/api/requestTeller/' + kodcaw + '/' + teller,
url: api_url + '/api/requestTeller/' + kodcaw,
data: {
"modal" : txt,
"kodlaluan" : teller,
"modal" : amaun,
"serahan" : 0
},
success:function(data)
@@ -161,26 +271,95 @@ function tambahdanserahanfunc(e)
title: 'Tambah Pendahuluan',
text: 'Tambah Pendahuluan berjaya dipohon!'
})
$('#tambahserahanModal').modal('hide');
},
error: function(xhRequest, ajaxOptions, thrownError){
console.log(xhRequest);
}
});
}
}
else if(id == "serahanmodal")
else{
Swal.fire('error','Isikan kotak kosong diatas!','error');
}
}else if(id == 'serahanmodal')
{
const { value: amaun } = await Swal.fire({
title: 'Masukkan Amaun Serahan',
input: 'text',
inputPlaceholder: 'Amaun',
confirmButtonText: 'Terima',
allowOutsideClick: false
})
if (amaun) {
// Swal.fire(`Entered email: ${amaun}`)
if (isNaN(amaun))
{
Swal.fire('error','Amaun hendaklah dalam nombor!','error');
return false;
}
else
{
$('#denominasiModal').modal();
$('#amaundiminta').val(amaun);
$('#jenisjenis').val(id);
$('#kodcawangan').val(kodcaw);
$('#tellerla').val(teller);
}
}
else{
Swal.fire('error','Isikan kotak kosong diatas!','error');
}
}
}
//Pendahuluan
function tambahdanserahanfunc(e)
{
var id = $('#jenisjenis').val();
var kodcaw = $('#kodcawangan').val();
var teller = $('#tellerla').val();
var api_url = $('#api').val();
let bd1 = Number($('#bundle1').val());let bd5 = Number($('#bundle5').val()); let bd10 = Number($('#bundle10').val());let bd20 = Number($('#bundle20').val());let bd50 = Number($('#bundle50').val());let bd100 = Number($('#bundle100').val());let txtring1 = Number($('#ringgit1').val());let txtring5 = Number($('#ringgit5').val());let txtring10 = Number($('#ringgit10').val());let txtring20 = Number($('#ringgit20').val());let txtring50 = Number($('#ringgit50').val());
let txtring100 = Number($('#ringgit100').val());let txtsen1 = Number($('#sen1').val());let txtsen5 = Number($('#sen5').val());let txtsen10 = Number($('#sen10').val());let txtsen20 = Number($('#sen20').val());let txtsen50 = Number($('#sen50').val());
if(id == "serahanmodal")
{
var txt = $('#txtmodal').val();
var txt = $('#amaunkiraan').val();
$.ajax({
method:"POST",
url: api_url + '/api/requestTeller/' + kodcaw + '/' + teller,
url: api_url + '/api/requestTeller/' + kodcaw,
data: {
'kodlaluan' : teller,
'modal' : 0,
'serahan' : txt
'serahan' : txt,
'bd1' : bd1,
'bd5' : bd5,
'bd10' : bd10,
'bd20' : bd20,
'bd50' : bd50,
'bd100' : bd100,
'txtring1' : txtring1,
'txtring5' : txtring5,
'txtring10' : txtring10,
'txtring20' : txtring20,
'txtring50' : txtring50,
'txtring100' : txtring100,
'txtring1000' : 0,
'txtsen1' : txtsen1,
'txtsen5' : txtsen5,
'txtsen10' : txtsen10,
'txtsen20' : txtsen20,
'txtsen50' : txtsen50
},
success:function(data)
{
@@ -189,7 +368,7 @@ function tambahdanserahanfunc(e)
title: 'Serahan Modal',
text: 'Serahan modal berjaya dipohon!'
})
$('#tambahserahanModal').modal('hide');
$('#denominasiModal').modal('hide');
},
error: function(xhRequest, ajaxOptions, thrownError){
console.log(xhRequest);
+5867
View File
File diff suppressed because it is too large Load Diff
+16 -11
View File
@@ -2,6 +2,11 @@
@include('modal.tambahserahan')
@include('modal.denominasimodal')
{{-- {{ dd($denominasi) }} --}}
@section('content')
<div class="container">
<div class="row justify-content-center">
@@ -19,7 +24,7 @@
<p>Baki Awal Tunai</p>
</div>
<div class="icon">
<i class="ion ion-bag"></i>
<i class="ion ion-cash"></i>
</div>
</div>
</div>
@@ -28,47 +33,47 @@
<div class="inner">
<h3>RM {{ number_format($alirantunai['tambah'],2) }}</h3>
<p>Tunai Diterima</p>
<p>Pendahuluan</p>
</div>
<div class="icon">
<i class="ion ion-stats-bars"></i>
<i class="fas fa-sign-in-alt"></i>
</div>
</div>
</div>
<div class="col-lg-4 col-md-6 col-sm-12">
<div class="small-box bg-warning">
<div class="small-box bg-danger">
<div class="inner">
<h3>RM {{ number_format($alirantunai['kurang'],2) }}</h3>
<p>Tunai Dikeluar</p>
<p>Serahan</p>
</div>
<div class="icon">
<i class="ion ion-person-add"></i>
<i class="fas fa-sign-out-alt"></i>
</div>
</div>
</div>
</div>
<div class="row justify-content-center">
<div class="col-lg-4 col-md-6 col-sm-12">
<div class="small-box bg-danger">
<div class="small-box bg-warning">
<div class="inner">
<h3>RM {{ number_format($alirantunai['baki'],2) }}</h3>
<p>Baki Akhir Tunai</p>
</div>
<div class="icon">
<i class="ion ion-pie-graph"></i>
<i class="fas fa-cash-register"></i>
</div>
</div>
</div>
<div class="col-lg-4 col-md-6 col-sm-12">
<div class="small-box bg-danger">
<div class="small-box bg-success">
<div class="inner">
<h3>RM {{ number_format($alirantunai['keluar'],2) }}</h3>
{{-- <h3>{{ $GT['gcount'] }}</h3> --}}
<p>Jumlah Gadaian</p>
</div>
<div class="icon">
<i class="ion ion-android-contacts"></i>
<i class="fas fa-minus-square"></i>
</div>
</div>
</div>
@@ -80,7 +85,7 @@
<p>Jumlah Penebusan</p>
</div>
<div class="icon">
<i class="ion ion-pie-graph"></i>
<i class="fas fa-plus-square"></i>
</div>
</div>
</div>
+8 -8
View File
@@ -739,14 +739,14 @@
if($("input[name='options']:checked").val() == 'belum_tebus'){
let test1 = $('input[name="belum"]:checked').closest('tr').children('td:eq(2)').text();
let tarikhgadai2 = new Date(test1);tarikhgadai2.setHours(0, 0, 0, 0);
if(+harini !== +tarikhgadai2){
Swal.fire({
icon: 'error',
title: 'Amaran',
text: 'Hapus Gadai Tidak Dibenarkan'
});
return false;
}
// if(+harini !== +tarikhgadai2){
// Swal.fire({
// icon: 'error',
// title: 'Amaran',
// text: 'Hapus Gadai Tidak Dibenarkan'
// });
// return false;
// }
}else if($("input[name='options']:checked").val() == 'sudah_tebus'){
let test = $('input[name="sudahtebus"]:checked').closest('tr').children('td:eq(2)').text();
let tarikhgadai1 = new Date(test);tarikhgadai1.setHours(0, 0, 0, 0);
@@ -76,31 +76,31 @@
<tr>
<td>RM1</td>
<td><input type="text" name="rekodb1" class="form-control" id="rekodb1" value="{{ $denominasi['0']['bd1'] }}" readonly/></td>
<td><input type="text" name="ambilanb1" class="form-control" id="bundle1" onkeyup="totalkey(this)"/> </td>
<td><input type="text" name="ambilanb1" class="form-control" id="bundle1" value="{{ $array_reqteller['bd1'] }}" onkeyup="totalkey(this)"/> </td>
<td><input type="text" name="totalb1" class="form-control" id="totalb1" value="{{ $denominasi['0']['b1'] }}" readonly/> </td>
<td> RM20</td>
<td><input type="text" name="rekodb20" class="form-control" id="rekodb20" value="{{ $denominasi['0']['bd20'] }}" readonly/> </td>
<td><input type="text" name="ambilanb20" class="form-control" id="bundle20" onkeyup="totalkey(this)"/> </td>
<td><input type="text" name="ambilanb20" class="form-control" id="bundle20" value="{{ $array_reqteller['bd20'] }}" onkeyup="totalkey(this)"/> </td>
<td><input type="text" name="totalb20" class="form-control" id="totalb20" value="{{ $denominasi['0']['b20'] }}" readonly/> </td>
</tr>
<tr>
<td>RM5</td>
<td><input type="text" name="rekodb5" class="form-control" id="rekodb5" value="{{ $denominasi['0']['bd5'] }}" readonly/> </td>
<td><input type="text" name="ambilanb5" class="form-control" id="bundle5" onkeyup="totalkey(this)"/> </td>
<td><input type="text" name="ambilanb5" class="form-control" id="bundle5" value="{{ $array_reqteller['bd5'] }}" onkeyup="totalkey(this)"/> </td>
<td><input type="text" name="totalb5" class="form-control" id="totalb5" value="{{ $denominasi['0']['b5'] }}" readonly/> </td>
<td>RM50</td>
<td><input type="text" name="rekodb50" class="form-control" id="rekodb50" value="{{ $denominasi['0']['bd50'] }}" readonly/> </td>
<td><input type="text" name="ambilanb50" class="form-control" id="bundle50" onkeyup="totalkey(this)"/> </td>
<td><input type="text" name="ambilanb50" class="form-control" id="bundle50" value="{{ $array_reqteller['bd50'] }}" onkeyup="totalkey(this)"/> </td>
<td><input type="text" name="totalb50" class="form-control" id="totalb50" value="{{ $denominasi['0']['b50'] }} " readonly/> </td>
</tr>
<tr>
<td>RM10</td>
<td><input type="text" name="rekodb10" class="form-control" id="rekodb10" value=" {{ $denominasi['0']['bd10'] }}" readonly/> </td>
<td><input type="text" name="ambilanb10" class="form-control" id="bundle10" onkeyup="totalkey(this)"/> </td>
<td><input type="text" name="ambilanb10" class="form-control" id="bundle10" value="{{ $array_reqteller['bd10'] }}" onkeyup="totalkey(this)"/> </td>
<td><input type="text" name="totalb10" class="form-control" id="totalb10" value=" {{ $denominasi['0']['b10'] }}" readonly/> </td>
<td>RM100 </td> <td>
<input type="text" name="rekodb100" class="form-control" id="rekodb100" value="{{ $denominasi['0']['bd100'] }}" readonly/> </td>
<td><input type="text" name="ambilanb100" class="form-control" id="bundle100" onkeyup="totalkey(this)"/> </td>
<td><input type="text" name="ambilanb100" class="form-control" id="bundle100" value="{{ $array_reqteller['bd100'] }}" onkeyup="totalkey(this)"/> </td>
<td><input type="text" name="totalb100" class="form-control" id="totalb100" value=" {{ $denominasi['0']['b100'] }}" readonly/> </td>
</tr>
</table>
@@ -136,51 +136,51 @@
<td>RM0.01</td>
<td><input type="text" name="rekodsen1" class="form-control" value="{{ $denominasi['0']['txtsen1'] }}" readonly/></td>
<td><input type="text" name="ambilansen1" class="form-control" id="sen1" onkeyup="totalkey(this)"/> </td>
<td><input type="text" name="ambilansen1" class="form-control" id="sen1" value="{{ $array_reqteller['txtsen1'] }}" onkeyup="totalkey(this)"/> </td>
<td><input type="text" name="totalsen1" class="form-control" value="{{ $denominasi['0']['k01'] }}" readonly/> </td>
<td>RM1</td>
<td><input type="text" name="rekodring1" class="form-control" value="{{ $denominasi['0']['txtring1'] }}" readonly/></td>
<td><input type="text" name="ambilanring1" class="form-control" id="ringgit1" onkeyup="totalkey(this)"/> </td>
<td><input type="text" name="ambilanring1" class="form-control" id="ringgit1" value="{{ $array_reqteller['txtring1'] }}" onkeyup="totalkey(this)"/> </td>
<td><input type="text" name="totalring1" class="form-control" value="{{ $denominasi['0']['k1'] }}" readonly/> </td>
</tr>
<tr>
<td>RM0.05</td>
<td><input type="text" name="rekodsen5" class="form-control" value=" {{ $denominasi['0']['txtsen5'] }}" readonly/> </td>
<td><input type="text" name="ambilansen5" class="form-control" id="sen5" onkeyup="totalkey(this)"/> </td>
<td><input type="text" name="ambilansen5" class="form-control" id="sen5" value="{{ $array_reqteller['txtsen5'] }}" onkeyup="totalkey(this)"/> </td>
<td><input type="text" name="totalsen5" class="form-control" value=" {{ $denominasi['0']['k05'] }}" readonly/> </td>
<td>RM5</td>
<td><input type="text" name="rekodring5" class="form-control" value=" {{ $denominasi['0']['txtring5'] }}" readonly/> </td>
<td><input type="text" name="ambilanring5" class="form-control" id="ringgit5" onkeyup="totalkey(this)"/> </td>
<td><input type="text" name="ambilanring5" class="form-control" id="ringgit5" value="{{ $array_reqteller['txtring5'] }}" onkeyup="totalkey(this)"/> </td>
<td><input type="text" name="totalring5" class="form-control" value=" {{ $denominasi['0']['k5'] }}" readonly/> </td>
</tr>
<tr>
<td>RM0.10</td>
<td><input type="text" name="rekodsen10" class="form-control" value=" {{ $denominasi['0']['txtsen10'] }}" readonly/> </td>
<td><input type="text" name="ambilansen10" class="form-control" id="sen10" onkeyup="totalkey(this)"/> </td>
<td><input type="text" name="ambilansen10" class="form-control" id="sen10" value="{{ $array_reqteller['txtsen10'] }}" onkeyup="totalkey(this)"/> </td>
<td><input type="text" name="totalsen10" class="form-control" value=" {{ $denominasi['0']['k010'] }}" readonly/> </td>
<td>RM10</td>
<td><input type="text" name="rekodring10" class="form-control" value=" {{ $denominasi['0']['txtring10'] }}" readonly/> </td>
<td><input type="text" name="ambilanring10" class="form-control" id="ringgit10" onkeyup="totalkey(this)"/> </td>
<td><input type="text" name="ambilanring10" class="form-control" id="ringgit10" value="{{ $array_reqteller['txtring10'] }}" onkeyup="totalkey(this)"/> </td>
<td><input type="text" name="totalring10" class="form-control" value=" {{ $denominasi['0']['k10'] }}" readonly/> </td>
</tr>
<tr>
<td>RM0.20</td>
<td><input type="text" name="rekodsen20" class="form-control" value=" {{ $denominasi['0']['txtsen20'] }}" readonly/> </td>
<td><input type="text" name="ambilansen20" class="form-control" id="sen20" onkeyup="totalkey(this)"/> </td>
<td><input type="text" name="ambilansen20" class="form-control" id="sen20" value="{{ $array_reqteller['txtsen20'] }}" onkeyup="totalkey(this)"/> </td>
<td><input type="text" name="totalsen20" class="form-control" value=" {{ $denominasi['0']['k020'] }}" readonly/> </td>
<td> RM20</td>
<td><input type="text" name="rekodring20" class="form-control" value=" {{ $denominasi['0']['txtring20'] }}" readonly/> </td>
<td><input type="text" name="ambilanring20" class="form-control" id="ringgit20" onkeyup="totalkey(this)"/> </td>
<td><input type="text" name="ambilanring20" class="form-control" id="ringgit20" value="{{ $array_reqteller['txtring20'] }}" onkeyup="totalkey(this)"/> </td>
<td><input type="text" name="totalring20" class="form-control" value=" {{ $denominasi['0']['k20'] }}" readonly/> </td>
</tr>
<tr>
<td>RM0.50</td>
<td><input type="text" name="rekodsen50" class="form-control" value=" {{ $denominasi['0']['txtsen50'] }}" readonly/> </td>
<td><input type="text" name="ambilansen50" class="form-control" id="sen50" onkeyup="totalkey(this)"/> </td>
<td><input type="text" name="ambilansen50" class="form-control" id="sen50" value="{{ $array_reqteller['txtsen50'] }}" onkeyup="totalkey(this)"/> </td>
<td><input type="text" name="totalsen50" class="form-control" value=" {{ $denominasi['0']['k050'] }}" readonly/> </td>
<td>RM50</td>
<td><input type="text" name="rekodring50" class="form-control" value=" {{ $denominasi['0']['txtring50'] }}" readonly/> </td>
<td><input type="text" name="ambilanring50" class="form-control" id="ringgit50" onkeyup="totalkey(this)"/> </td>
<td><input type="text" name="ambilanring50" class="form-control" id="ringgit50" value="{{ $array_reqteller['txtring50'] }}" onkeyup="totalkey(this)"/> </td>
<td><input type="text" name="totalring50" class="form-control" value=" {{ $denominasi['0']['k50'] }}" readonly/> </td>
</tr>
<tr>
@@ -190,7 +190,7 @@
<td></td>
<td>RM100 </td>
<td><input type="text" name="rekodring100" class="form-control" value=" {{ $denominasi['0']['txtring100'] }}" readonly/> </td>
<td><input type="text" name="ambilanring100" class="form-control" id="ringgit100" onkeyup="totalkey(this)"/> </td>
<td><input type="text" name="ambilanring100" class="form-control" id="ringgit100" value="{{ $array_reqteller['txtring100'] }}" onkeyup="totalkey(this)"/> </td>
<td><input type="text" name="totalring100" class="form-control" value=" {{ $denominasi['0']['k100'] }}" readonly/> </td>
</tr>
</table>
@@ -0,0 +1,142 @@
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row">
<div class="col-md-12">
<div class="card">
<div class="card-header">{{ __('Laporan Aging Bulanan') }}</div>
<div class="card-body text-center">
<div class="row form-group">
<div class="col-md-2">
<a href="{{ route('laporan') }}" class="ion-backspace" style="font-size:50px;color:blue;"></a>
</div>
<div class="col-md-10">
<h3>Laporan Aging Bulanan </h3>
</div>
</div>
<div class="row">
<div class="col-md-5">
<form action="{{ route('agingbulan.cetaklaporan') }}" target="_blank" method="post">
@csrf
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text" id="basic-addon1" >Tarikh</span>
</div>
<input type="text" class="form-control" placeholder="Pilih Tarikh" aria-label="Tarikh" id="datetimepicker1" name="datetimepicker1" autocomplete="off" aria-describedby="basic-addon1">
<input type="hidden" id="num1" name="num1" value=1>
<input type="hidden" id="num2" name="num2" value=2>
<input type="hidden" id="num3" name="num3" value=3>
<input type="hidden" id="num4" name="num4" value=4>
<input type="hidden" id="num5" name="num5" value=5>
<input type="hidden" id="num6" name="num6" value=6>
<input type="hidden" id="num7" name="num7" value=7>
<input type="hidden" id="num8" name="num8" value=8>
<input type="hidden" id="num9" name="num9" value=9>
<input type="hidden" id="num10" name="num10" value=10>
<input type="hidden" id="num11" name="num11" value=11>
<input type="hidden" id="num12" name="num12" value=12>
<input type="hidden" id="num13" name="num13" value=12>
<input type="submit" class="btn btn-primary ml-md-5" id="submit_button" name="submit_button" value="Cetak">
</div>
</form>
</div>
</div>
<div class="row">
<div class="col-md-12">
<table class="" id="myTable">
<thead>
<tr>
<th>Bil</th>
<th>Bil Gadaian</th>
<th>Jumlah Pinjaman (RM)</th>
<th>Peratusan %</th>
</tr>
</thead>
</table>
</div>
</div>
<div class="row">
<div class="col-md-12 text-right">
Bilangan Surat : <span id="bilangan_surat">3</span>
Jumlah Pinjaman : <span id="jumlah_pinjaman">RM 3,000.00</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
var api_url = "<?php echo $api_url ?>";
var kodcaw = "<?php echo $cawangan_info['kodcaw'] ?>";
var tablecustomers = $('#myTable').DataTable({
"ordering": false
});
$(document).ready( function () {
console.log('dsasa');
$('#datetimepicker1').datepicker({
format: 'dd-mm-yyyy'
});
var current = new Date();
var current_date = current.getDate();
var current_month = current.getMonth()+1;
var current_year = current.getFullYear();
var today_date = current_year + '-' +current_month+'-'+current_date;
$.ajax({
method:'get',
url: api_url + '/api/marhun/laporan/'+kodcaw+'/' + today_date,
success: function(customers){
customertable(customers);
},error: function(XMLHttpRequest, textStatus, errorThrown) {
console.log(textStatus);
}
});
});
$('#datetimepicker1').change(function(){
var input_date = this.value;
var split_date = input_date.split('-');
var today_date = split_date[2] + '-' +split_date[1]+'-'+split_date[0];
$.ajax({
method:'get',
url: api_url + '/api/marhun/laporan/'+kodcaw+'/' + today_date,
success: function(customers){
customertable(customers);
}
});
});
function customertable(data){
var counter = 1;
tablecustomers.clear().draw();
$.each(data,function(index,customers){
tablecustomers.row.add([
counter,
customers['norujukan'],
customers['nokp'],
customers['nama'],
customers['marhun'],
customers['nota'],
customers['berat'],
customers['karat'],
customers['harga'],
customers['n_marhun'],
]).draw();
});
}
</script>
@endsection
@@ -33,7 +33,7 @@
<div class="row">
<div class="col-2">Amaun (RM)</div>
<div class="col-3"><input type="text" class="form-control" data-amaun="{{ $array_reqteller['modal'] }}" name="amt" id="amt"/></div>
<div class="col-3"><input type="text" class="form-control" value="{{ $array_reqteller['modal'] }}" readonly data-amaun="{{ $array_reqteller['modal'] }}" name="amt" id="amt"/></div>
<div class="col-2"> Nota</div>
<div class="col-4"><input type="text" class="form-control" value="P1" name="nota" id="nota" /> </div>
</div>
@@ -0,0 +1,144 @@
<!-- Modal HistoryBayaran -->
<div class="modal fade" id="denominasiModal" tabindex="-1" role="dialog" aria-labelledby="ModalCenterTitle" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered modal-xl" role="document">
<div class="modal-content">
<div class="modal-header">
<ul class="nav nav-pills">
<li class="nav-item">
<a class="nav-link active" data-toggle="pill" href="#home" role="tab" aria-controls="pills-flamingo" aria-selected="true">Bundle</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#profile" role="tab" aria-controls="pills-cuckoo" aria-selected="false">Keping</a>
</li>
</ul>
<label class="mt-2 ml-3">Amaun Diminta:</label><input type="text" class="form-control col-3 ml-3" id="amaundiminta" placeholder="0.00" readonly>
<label class="mt-2 ml-3">Amaun Kiraan:</label><input type="text" class="form-control col-3 ml-3" id="amaunkiraan" placeholder="0.00" readonly>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<div class="tab-content">
<div class="tab-pane fade show active" id="home" role="tabpanel" aria-labelledby="flamingo-tab">
<table class="table">
<tr>
<th></th>
<th>Ambilan</th>
<th>Total</th>
<th></th>
<th>Ambilan</th>
<th>Total (RM)</th>
</tr>
<tr>
<td>RM1</td>
<td><input type="text" name="ambilanb1" class="form-control" id="bundle1" onkeyup="kiraan(this)"/> </td>
<td><input type="text" name="totalb1" class="form-control" id="totalb1" value="0.00" readonly/> </td>
<td> RM20</td>
<td><input type="text" name="ambilanb20" class="form-control" id="bundle20" onkeyup="kiraan(this)"/> </td>
<td><input type="text" name="totalb20" class="form-control" id="totalb20" value="0.00" readonly/> </td>
</tr>
<tr>
<td>RM5</td>
<td><input type="text" name="ambilanb5" class="form-control" id="bundle5" onkeyup="kiraan(this)"/> </td>
<td><input type="text" name="totalb5" class="form-control" id="totalb5" value="0.00" readonly/> </td>
<td>RM50</td>
<td><input type="text" name="ambilanb50" class="form-control" id="bundle50" onkeyup="kiraan(this)"/> </td>
<td><input type="text" name="totalb50" class="form-control" id="totalb50" value="0.00" readonly/> </td>
</tr>
<tr>
<td>RM10</td>
<td><input type="text" name="ambilanb10" class="form-control" id="bundle10" onkeyup="kiraan(this)"/> </td>
<td><input type="text" name="totalb10" class="form-control" id="totalb10" value="0.00" readonly/> </td>
<td>RM100 </td>
<td><input type="text" name="ambilanb100" class="form-control" id="bundle100" onkeyup="kiraan(this)"/> </td>
<td><input type="text" name="totalb100" class="form-control" id="totalb100" value="0.00" readonly/> </td>
</tr>
</table>
</div>
<div class="tab-pane fade" id="profile" role="tabpanel" aria-labelledby="profile-tab">
<table class="table">
<tr>
<th></th>
<th>Ambilan</th>
<th>Total</th>
<th></th>
<th>Ambilan</th>
<th>Total (RM)</th>
</tr>
<tr>
<td>RM0.01</td>
<td><input type="text" name="ambilansen1" class="form-control" id="sen1" onkeyup="kiraan(this)"/> </td>
<td><input type="text" name="totalsen1" id="totalsen1" class="form-control" value="0.00" readonly/> </td>
<td>RM1</td>
<td><input type="text" name="ambilanring1" class="form-control" id="ringgit1" onkeyup="kiraan(this)"/> </td>
<td><input type="text" name="totalring1" id="totalring1" class="form-control" value="0.00" readonly/> </td>
</tr>
<tr>
<td>RM0.05</td>
<td><input type="text" name="ambilansen5" class="form-control" id="sen5" onkeyup="kiraan(this)"/> </td>
<td><input type="text" name="totalsen5" id="totalsen5" class="form-control" value="0.00" readonly/> </td>
<td>RM5</td>
<td><input type="text" name="ambilanring5" class="form-control" id="ringgit5" onkeyup="kiraan(this)"/> </td>
<td><input type="text" name="totalring5" id="totalring5" class="form-control" value="0.00" readonly/> </td>
</tr>
<tr>
<td>RM0.10</td>
<td><input type="text" name="ambilansen10" class="form-control" id="sen10" onkeyup="kiraan(this)"/> </td>
<td><input type="text" name="totalsen10" id="totalsen10" class="form-control" value="0.00" readonly/> </td>
<td>RM10</td>
<td><input type="text" name="ambilanring10" class="form-control" id="ringgit10" onkeyup="kiraan(this)"/> </td>
<td><input type="text" name="totalring10" id="totalring10" class="form-control" value="0.00" readonly/> </td>
</tr>
<tr>
<td>RM0.20</td>
<td><input type="text" name="ambilansen20" class="form-control" id="sen20" onkeyup="kiraan(this)"/> </td>
<td><input type="text" name="totalsen20" id="totalsen20" class="form-control" value="0.00" readonly/> </td>
<td> RM20</td>
<td><input type="text" name="ambilanring20" class="form-control" id="ringgit20" onkeyup="kiraan(this)"/> </td>
<td><input type="text" name="totalring20" id="totalring20" class="form-control" value="0.00" readonly/> </td>
</tr>
<tr>
<td>RM0.50</td>
<td><input type="text" name="ambilansen50" class="form-control" id="sen50" onkeyup="kiraan(this)"/> </td>
<td><input type="text" name="totalsen50" id="totalsen50" class="form-control" value="0.00" readonly/> </td>
<td>RM50</td>
<td><input type="text" name="ambilanring50" class="form-control" id="ringgit50" onkeyup="kiraan(this)"/> </td>
<td><input type="text" name="totalring50" id="totalring50" class="form-control" value="0.00" readonly/> </td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td>RM100 </td>
<td><input type="text" name="ambilanring100" class="form-control" id="ringgit100" onkeyup="kiraan(this)"/> </td>
<td><input type="text" name="totalring100" id="totalring100" class="form-control" value="0.00" readonly/> </td>
</tr>
</table>
</div>
</div>
<input type="hidden" id="jenisjenis"/>
<input type="hidden" id="kodcawangan"/>
<input type="hidden" id="tellerla"/>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger btn-lg" data-dismiss="modal">Batal</button>
<button type="button" onclick="tambahdanserahanfunc()" class="btn btn-success btn-lg">Terima</button>
</div>
</div>
</div>
</div>
+89 -36
View File
@@ -293,6 +293,12 @@ var array_nm = [];
var array_marhun = [];
var array_berat = [];
//max bayaran
let jumlahasalmarhun = parseFloat("{{ $gadai['nilaimarhun'] }}");
let totalmarhun = jumlahasalmarhun;
let bayaranseparuhasal = 0;
let bilangan_marhun = Number("{{ $count }}");
bilmarhun = () => {
@@ -436,9 +442,16 @@ function tebusan()
if(tarikhgadai >= tarikhtawarruq)
{
//checked box
var checkboxes = document.querySelectorAll('input[type="checkbox"]');
var checkedOne = Array.prototype.slice.call(checkboxes).some(x => x.checked);
//Separuh Bayar Tawarruq
$(document).on('click', '#checkmarhun', function(e) {
var totalCheckboxes = $('input[type="checkbox"]').length;
let numbernotchecked = $("input:checkbox:not(:checked)").length;
var recno = $(this).data('recno');
var nilaimarhun = $(this).data('nm');
var marhun = $(this).data('marhun');
@@ -450,7 +463,10 @@ if(tarikhgadai >= tarikhtawarruq)
array_marhun.push(marhun);
array_berat.push(berat);
totalmarhun = totalmarhun - parseFloat(nilaimarhun);
console.log("Nilai Marhun: " + nilaimarhun);
console.log("Max Bayaran Marhun: " + totalmarhun);
console.table(array_recno);
}
else{
@@ -464,11 +480,16 @@ if(tarikhgadai >= tarikhtawarruq)
array_marhun.splice(rmmarhun);
array_berat.splice(rmberat);
console.log("Nilai Marhun: " + rmnilai);
totalmarhun = totalmarhun + parseFloat(nilaimarhun);
console.log("Nilai Marhun: " + nilaimarhun);
console.log("Max Bayaran Marhun: " + totalmarhun);
console.table(array_recno[0]);
}
if(numbernotchecked != totalCheckboxes)
{
console.log('masuk');
$.ajax({
method:'GET',
url: api + '/api/tebusseparuhtawarruq/' + kodcaw + '/' + norujukan,
@@ -478,6 +499,9 @@ if(tarikhgadai >= tarikhtawarruq)
},
success:function(success){
let bayarz = $('#bayaran').val(Number(success.toFixed(2)));
bayaranseparuhasal = Number(success.toFixed(2));
let bakihargajual = $('#bakihargajualan').val();
$('#perludibayar').val(Number(success.toFixed(2)) + parseFloat($('#jumlahupah').val()));
@@ -485,21 +509,20 @@ if(tarikhgadai >= tarikhtawarruq)
let totalbakipinjam = parseFloat($('#pinjaman').val()) - success;
$('#bakipinjaman').val(totalbakipinjam.toFixed(2));
},error:function(xhr, textStatus, errorThrown){
console.log(xhr.responseText);
console.log(textStatus);
}
});
});
//checked box
var checkboxes = document.querySelectorAll('input[type="checkbox"]');
var checkedOne = Array.prototype.slice.call(checkboxes).some(x => x.checked);
if (checkedOne == false) {
$('#perludibayar').val(0);
}
else
{
$('#perludibayar').val(0);
$('#perludibayar').val(parseFloat($('#jumlahupah').val()));
$('#bakipinjaman').val(0);
$('#bayaran').val(0);
}
});
}
else if(tarikhgadai < tarikhtawarruq){
@@ -534,6 +557,7 @@ if(tarikhgadai >= tarikhtawarruq)
var rmmarhun = array_marhun.findIndex(z => z == marhun);
var rmberat = array_berat.findIndex(a => a == berat);
array_recno.splice(rm);
array_nm.splice(rmnilai);
array_marhun.splice(rmmarhun);
@@ -663,7 +687,6 @@ $("#sltjenistebus").change(function(){
});
function bayarkey(e)
{
@@ -672,12 +695,28 @@ function bayarkey(e)
let byr = $(e).val();
let total = 0;
let pdbyr = 0;
let totalseparuh = 0;
pdbyr = parseFloat(byr) + parseFloat($('#jumlahupah').val());
console.log(byr);
console.log(bayaranseparuhasal);
if(byr < (bayaranseparuhasal + parseFloat($('#jumlahupah').val())))
{
$('#bayaran').val(bayaranseparuhasal.toFixed(2));
}
else
{
totalseparuh = byr - parseFloat($('#jumlahupah').val());
$('#bayaran').val(totalseparuh.toFixed(2));
}
// pdbyr = parseFloat(byr);
pdbyr = $('#bayaran').val();
total = $('#pinjaman').val() - pdbyr;
// $('#perludibayar').val(pdbyr);
$('#bakipinjaman').val(total);
$('#bakipinjaman').val(total.toFixed(2));
}
}
@@ -734,6 +773,7 @@ function bayarpinjam(e)
}
let teller = "{{ Auth::user()->name }}";
function bayaransemua()
{
@@ -787,24 +827,11 @@ function bayaransemua()
"historygadaian" : historygadaian,
"marhun" : marhun,
"nowakil" : nowakil,
"jenisbayarantebus" : jenisbayarantebus
"jenisbayarantebus" : jenisbayarantebus,
"teller" : teller
},
success:function(success_data){
// $.ajax({
// method: 'put',
// datatype: 'json', ///////untuk kegunaaan aliran tunai penebusan je testing
// url: api + '/api/',
// data:{
// },
// success:function(data)
// {
// success la
// }
// });
Swal.fire({
icon: 'success',
title: 'Berjaya!',
@@ -856,13 +883,18 @@ function bayaransemua()
$.ajax({
method:'PUT',
url: api + '/api/gadai/' + kodcaw + '/norujukan/' + norujukan,
method:'get',
url: "{{ route('bayaran.ansuranstawarruq') }}",
data:{
"bayaran" : bayar
"bayaran" : bayar,
"kodcaw" : kodcaw,
"norujukan" : norujukan,
"teller" : teller
},
success:function(success_data){
console.log(success_data);
var urlroute = '{{ route("resit.ansurans", ":id") }}';
urlroute = urlroute.replace(':id', norujukan);
@@ -959,7 +991,8 @@ function bayaransemua()
"keuntungan_sebulan" : keuntungan_sebulan,
"kuantiti_marhun" : kuantiti_marhun,
"lebihan" : lebihan,
"jenisbayarantebus" : jenisbayarantebus
"jenisbayarantebus" : jenisbayarantebus,
"teller" : teller
},
success:function(success_data){
@@ -992,7 +1025,10 @@ function bayaransemua()
jenisbayarantebus = "tawarruq";
}
if($('#perludibayar').val() < $('#bayaran').val())
console.log("perlu dibayar: " + $('#perludibayar').val());
console.log("bayaran : " + (parseFloat($('#bayaran').val()) + parseFloat($('#jumlahupah').val())));
if($('#perludibayar').val() < (parseFloat($('#bayaran').val()) + parseFloat($('#jumlahupah').val())))
{
Swal.fire(
'Amaran!',
@@ -1002,6 +1038,19 @@ function bayaransemua()
return false;
}
let maxbayaran = totalmarhun * 0.1;
if($('#bakipinjaman').val() < maxbayaran || $('#bakipinjaman').val() < 50)
{
Swal.fire(
'Amaran!',
`Baki margin pinjaman tidak boleh kurang 10% daripada nilai marhun \n [ RM ${totalmarhun.toFixed(2)} x 10% = RM ${maxbayaran.toFixed(2)} ]`,
'error'
)
return false;
}
//checked box
var checkboxes = document.querySelectorAll('input[type="checkbox"]');
var checkedOne = Array.prototype.slice.call(checkboxes).some(x => x.checked);
@@ -1016,6 +1065,8 @@ function bayaransemua()
return false;
}
alert('masuk');
return false;
var sumnilaimarhun = 0;
var sumberat = 0;
@@ -1079,7 +1130,7 @@ function bayaransemua()
var pinjamanbaru = $('#bakipinjaman').val();
var ansuran = 0;
var addpinjaman = 0;
var bakipinjaman = $('#bakipinjaman').val();
var bakipinjaman = $('#perludibayar').val();
var bakiupah = 0;
var historygadaian = "{{ $gadai['norujukan'] }}";
var marhun = "{{ $gadai['marhun'] }}";
@@ -1133,6 +1184,7 @@ function bayaransemua()
"nowakil" : nowakil,
"arrayrecno" : array_recno,
"jenisbayarantebus" : jenisbayarantebus,
"teller" : teller,
//yang baru
@@ -1275,7 +1327,8 @@ function bayaransemua()
"keuntungan_sebulan" : keuntungan_sebulan,
"noic" : noic,
"norujukan" : norujukan,
"jenisbayarantebus" : jenisbayarantebus
"jenisbayarantebus" : jenisbayarantebus,
"teller" : teller
},
success:function(success_data){
+20
View File
@@ -0,0 +1,20 @@
<div class="container">
<h1>Team A Score</h1>
<div id="team1_score"></div>
</div>
<script src="https://cdn.socket.io/socket.io-1.3.4.js"> </script>
<script>
var sock = io("{{ env('PUBLISHER_URL') }}:{{ env('BROADCAST_PORT') }}");
sock.on('action-channel-one:App\\Events\\ActionEvent', function (data){
//data.actionId and data.actionData hold the data that was broadcast
//process the data, add needed functionality here
var action = data.actionId;
var actionData = data.actionData;
if(action == "score_update" && actionData.team1_score) {
console.log(actionData.team1_score);
$("#team1_score").html(actionData.team1_score);
alert('jadi dok');
}
});
</script>
+12 -3
View File
@@ -17,13 +17,21 @@ Route::get('/',['as'=>'login','uses'=>'HomeController@index']);
Route::get('/testtry',function(){
return view('test');
return view('testing');
});
//Testing Jer
Route::get('test', function () {
event(new App\Events\StatusLiked('KOK LANAS','KOK KELI'));
return "Event has been try je sent!";
// event(new App\Events\StatusLiked('KOK LANAS','KOK KELI'));
// return "Event has been try je sent!";
$actionId = 'score_update';
$actionData = array('team1_score' => 46);
event(new App\Events\ActionEvent($actionId, $actionData));
// event(new App\Events\ActionEvent('1234','test'));
return "event test je";
});
// Route::get('resitbiasa', function () {
@@ -79,6 +87,7 @@ Route::get('/history',['as'=>'gadai.history','uses'=>'GadaianController@history'
Route::get('/tebusseparuh',['as'=>'tebus.separuh','uses'=>'PenebusanController@tebusseparuh'])->middleware('auth','teller');
Route::get('/tambahpinjaman',['as'=>'tambah.pinjaman','uses'=>'PenebusanController@tambahpinjaman'])->middleware('auth','teller');
Route::get('/bayaransurans',['as'=>'bayaran.ansurans','uses'=>'PenebusanController@bayaransurans'])->middleware('auth','teller');
Route::get('/bayaransuranstawarruq',['as'=>'bayaran.ansuranstawarruq','uses'=>'PenebusanController@bayaransuransTawarruq'])->middleware('auth','teller');
//Penilai
Route::get('/gadaiansemasa',['as'=>'gadaian.semasa','uses'=>'GadaianController@gadaiansemasa'])->middleware('auth','penilai');
Vendored
+35
View File
@@ -0,0 +1,35 @@
'use strict';
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
// var socket = require('socket.io');
// var express = require('express');
// var http = require('http');
// var app = express();
// var server = http.createServer(app);
// var io = socket.listen(server);
require('dotenv').config();
console.log(process.env.REDIS_PORT);
console.log(process.env.REDIS_HOST);
var redisPort = process.env.REDIS_PORT;
var redisHost = process.env.REDIS_HOST;
var ioRedis = require('ioredis');
var redis = new ioRedis(redisPort, redisHost);
redis.subscribe('action-channel-one');
redis.on('message', function (channel, message) {
message = JSON.parse(message);
io.emit(channel + ':' + message.event, message.data);
});
var broadcastPort = process.env.BROADCAST_PORT;
server.listen(broadcastPort, function () {
console.log('Socket server is running.');
});