Merge branch 'fasa2lelong' into 'main'
Fasa2lelong See merge request online-sistem1/admin-portal!13
This commit is contained in:
+4
-5
@@ -15,7 +15,7 @@ DB_DATABASE=laravel
|
||||
DB_USERNAME=root
|
||||
DB_PASSWORD=
|
||||
|
||||
BROADCAST_DRIVER=log
|
||||
BROADCAST_DRIVER=pusher
|
||||
CACHE_DRIVER=file
|
||||
FILESYSTEM_DRIVER=local
|
||||
QUEUE_CONNECTION=sync
|
||||
@@ -43,10 +43,9 @@ AWS_DEFAULT_REGION=us-east-1
|
||||
AWS_BUCKET=
|
||||
AWS_USE_PATH_STYLE_ENDPOINT=false
|
||||
|
||||
PUSHER_APP_ID=
|
||||
PUSHER_APP_KEY=
|
||||
PUSHER_APP_SECRET=
|
||||
PUSHER_APP_CLUSTER=mt1
|
||||
PUSHER_APP_ID=1132718
|
||||
PUSHER_APP_KEY=26b0ec2f297f94b7aa9b
|
||||
PUSHER_APP_SECRET=421b61fb5a8ecce477a6
|
||||
|
||||
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
|
||||
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
namespace App\Events;
|
||||
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
use Illuminate\Foundation\Events\Dispatchable;
|
||||
use Illuminate\Broadcasting\InteractsWithSockets;
|
||||
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
|
||||
|
||||
class NotifikasiKelulusan implements ShouldBroadcast
|
||||
{
|
||||
use Dispatchable, InteractsWithSockets, SerializesModels;
|
||||
|
||||
public $norujukan,$kelulusan,$siri,$komen,$teller;
|
||||
|
||||
public function __construct($norujukan,$kelulusan,$siri,$komen,$teller)
|
||||
{
|
||||
$this->norujukan = $norujukan;
|
||||
$this->kelulusan = $kelulusan;
|
||||
$this->siri = $siri;
|
||||
$this->komen = $komen;
|
||||
$this->teller = $teller;
|
||||
}
|
||||
|
||||
public function broadcastOn()
|
||||
{
|
||||
return ['notice-kelulusan'];
|
||||
}
|
||||
|
||||
public function broadcastAs()
|
||||
{
|
||||
return 'my-kelulusan';
|
||||
}
|
||||
}
|
||||
@@ -747,4 +747,53 @@ class AkaunController extends Controller
|
||||
|
||||
return view('akaun.laporan_ringkasanterkumpul', compact('laporan_ringkasan','cawangan_detail','tarikh_cetak','mula_date','hingga_date','api_url'));
|
||||
}
|
||||
|
||||
public function cetakLaporanStokAuditBackdate(Request $request){
|
||||
|
||||
$api_url = $request->hostname;
|
||||
$auth_user = Auth::user();
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
$tarikh_cetak = $current->toDateString();
|
||||
|
||||
$split_date = explode('-',$request->datestokauditbackdate);
|
||||
$bulan = $split_date[1];
|
||||
$tahun = $split_date[0];
|
||||
|
||||
if($bulan == 1){
|
||||
$namabulan = 'Januari';
|
||||
}elseif($bulan == 2){
|
||||
$namabulan = 'Februari';
|
||||
}elseif($bulan == 3){
|
||||
$namabulan = 'Mac';
|
||||
}elseif($bulan == 4){
|
||||
$namabulan = 'April';
|
||||
}elseif($bulan == 5){
|
||||
$namabulan = 'Mei';
|
||||
}elseif($bulan == 6){
|
||||
$namabulan = 'Jun';
|
||||
}elseif($bulan == 7){
|
||||
$namabulan = 'Julai';
|
||||
}elseif($bulan == 8){
|
||||
$namabulan = 'Ogos';
|
||||
}elseif($bulan == 9){
|
||||
$namabulan = 'September';
|
||||
}elseif($bulan == 10){
|
||||
$namabulan = 'Oktober';
|
||||
}elseif($bulan == 11){
|
||||
$namabulan = 'November';
|
||||
}elseif($bulan == 12){
|
||||
$namabulan = 'Disember';
|
||||
}
|
||||
|
||||
$tebus_date = $namabulan . ' ' . $tahun;
|
||||
|
||||
$cawangan=Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url').'/api/cawangan/detail/'.$auth_user['cawangan'])->json();
|
||||
$cawangan_detail=$cawangan[0];
|
||||
|
||||
$stokaudit = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url'). '/api/stokaudit/backdate',['kodcaw' => $auth_user['cawangan'],'tahun'=>$tahun,'bulan'=>$bulan])->json();
|
||||
|
||||
return view('akaun.laporan_stokauditbackdate', compact('stokaudit','cawangan_detail','tarikh_cetak','tebus_date','api_url'));
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,7 +66,7 @@ class LoginController extends Controller
|
||||
|
||||
if($auth_user['roles'] === 'operasi' || $auth_user['roles'] === 'admin'){
|
||||
return redirect()->route('home');
|
||||
}else if($auth_user['roles'] === 'akaun'){
|
||||
}else if($auth_user['roles'] === 'akaun'){
|
||||
return redirect()->route('akaun.home');
|
||||
}
|
||||
else{
|
||||
|
||||
@@ -6,8 +6,11 @@ use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Session;
|
||||
use Illuminate\Support\Facades\Http;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use Carbon\Carbon;
|
||||
|
||||
use App\Events\NotifikasiKelulusan;
|
||||
|
||||
class KelulusanController extends Controller
|
||||
{
|
||||
public function index()
|
||||
@@ -34,13 +37,12 @@ class KelulusanController extends Controller
|
||||
|
||||
public function updatekelulusan(Request $request)
|
||||
{
|
||||
$auth_user = Auth::user();
|
||||
// $auth_user = Auth::user();
|
||||
|
||||
$api_url = config('api.url');
|
||||
|
||||
$norujukan = $request->norujukan;
|
||||
|
||||
|
||||
if($request->pembatalan == null)
|
||||
{
|
||||
$updatelulus = Http::put(config('api.url') . '/api/UpdateKelulusanKomen/' . $request->kodcaw . '/' . $norujukan,[
|
||||
@@ -48,6 +50,7 @@ class KelulusanController extends Controller
|
||||
'siri' => $request->siri
|
||||
])->json();
|
||||
|
||||
|
||||
$updatelulus = Http::put(config('api.url') . '/api/UpdateKelulusan/' . $request->kodcaw . '/' . $norujukan,[
|
||||
'sahkan' => 1,
|
||||
'namaoperasi' => $request->namaoperasi,
|
||||
@@ -78,9 +81,44 @@ class KelulusanController extends Controller
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
return response()->json($updatelulus,200);
|
||||
}
|
||||
|
||||
public function updatePB(Request $request)
|
||||
{
|
||||
$imageName = time().'.'.$request->image->extension();
|
||||
$data = base64_encode($request->image->get());
|
||||
// $data = base64_encode(file_get_contents($request->file('image')));
|
||||
|
||||
// $request->image->move(public_path('storage\kelulusanpb'), $imageName);
|
||||
|
||||
$updatelulus = Http::accept('application/'.$request->image->extension())->post(config('api.url') . '/admin/permohonan/updatepb',[
|
||||
'amaun_lulus' => $request->amaun_lulus,
|
||||
'kelulusan' => $request->kelulusan,
|
||||
// 'kelulusanpbimage' => $imageName,
|
||||
'komen' => '',
|
||||
'dataimage' => $data,
|
||||
'imagename' => $imageName,
|
||||
'imagetype' => $request->image->extension(),
|
||||
'mohonid' => $request->mohonid
|
||||
])->json();
|
||||
|
||||
|
||||
if($updatelulus)
|
||||
{
|
||||
return response(1);
|
||||
}
|
||||
}
|
||||
|
||||
public function download(Request $request)
|
||||
{
|
||||
$download = Http::get(config('api.url').'/admin/permohonan/viewfiles',[
|
||||
'files_id' => $request->files_id
|
||||
])->json();
|
||||
|
||||
return response(base64_decode($download['data']), 200, [
|
||||
'Content-type' => 'application/' . $download['type'],
|
||||
'Content-Disposition' => 'inline; filename='.$download['filename']
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,198 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Session;
|
||||
use Illuminate\Support\Facades\Http;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
|
||||
use Carbon\Carbon;
|
||||
use App\Models\Cawangan;
|
||||
use DateTime;
|
||||
|
||||
class PermohonanController extends Controller
|
||||
{
|
||||
public function index()
|
||||
{
|
||||
$api_url = config('api.url');
|
||||
$auth_user = Auth::user();
|
||||
|
||||
return view('permohonan.index',compact('api_url','auth_user'));
|
||||
}
|
||||
|
||||
public function MintaKelulusan(Request $request)
|
||||
{
|
||||
$auth_user = Auth::user();
|
||||
if(Hash::check($request->passsemula, Auth::user()->password))
|
||||
return 1;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
public function CetakanPB(Request $request)
|
||||
{
|
||||
$cawangan=Http::get(config('api.url').'/api/cawangan/detail/'. $request->cawangan)->json();
|
||||
$cawangan_detail=$cawangan[0];
|
||||
|
||||
$current = Carbon::now();
|
||||
$tarikh_cetak = $current->toDateString();
|
||||
|
||||
$myDateTime = DateTime::createFromFormat('Y-m-d', $tarikh_cetak);
|
||||
$tarikhcetakan = $myDateTime->format('d-m-Y');
|
||||
|
||||
$permohonan=Http::get(config('api.url').'/admin/permohonan/get/'. $request->cawangan .'/'. $request->mohonid)->json();
|
||||
|
||||
return view('permohonan.cetakanpb', compact('cawangan_detail','permohonan','tarikhcetakan'));
|
||||
}
|
||||
|
||||
public function CetakanPenuh(Request $request)
|
||||
{
|
||||
$cawangan=Http::get(config('api.url').'/api/cawangan/detail/'. $request->cawangan)->json();
|
||||
$cawangan_detail=$cawangan[0];
|
||||
|
||||
$current = Carbon::now();
|
||||
$tarikh_cetak = $current->toDateString();
|
||||
|
||||
$permohonan=Http::get(config('api.url').'/admin/permohonan/get/'. $request->cawangan .'/'. $request->mohonid)->json();
|
||||
|
||||
$myDateTime = DateTime::createFromFormat('Y-m-d', $tarikh_cetak);
|
||||
$tarikhcetakan = $myDateTime->format('d-m-Y');
|
||||
|
||||
$caw = Cawangan::where('kodcaw',$request->cawangan)->get()->toArray();
|
||||
$jeniscawangan = $caw[0]['syarikat'];
|
||||
|
||||
$ahli = '';
|
||||
$fullname = '';
|
||||
switch($jeniscawangan){
|
||||
case 'PKB' : $fullname = 'PERMODALAN KELANTAN BERHAD';
|
||||
break;
|
||||
case 'SYIRKAH' : $fullname = 'JOINT VENTURE PKB AND KRKB';
|
||||
break;
|
||||
case 'KPKB' : $fullname = 'JOINT VENTURE PKB AND KPKB';
|
||||
break;
|
||||
case 'BMMB' : $fullname = 'JOINT VENTURE MVSB AND PKB';
|
||||
$ahli = 'Ahli JMC';
|
||||
break;
|
||||
}
|
||||
|
||||
$ringgittext = '';
|
||||
if($permohonan['jumlah_diluluskan'] !== null)
|
||||
{
|
||||
|
||||
$decones = array(
|
||||
'01' => "Satu",
|
||||
'02' => "Dua",
|
||||
'03' => "Tiga",
|
||||
'04' => "Empat",
|
||||
'05' => "Lima",
|
||||
'06' => "Enam",
|
||||
'07' => "Tujuh",
|
||||
'08' => "Lapan",
|
||||
'09' => "Sembilan",
|
||||
10 => "Sepuluh",
|
||||
11 => "Sebelas",
|
||||
12 => "Dua Belas",
|
||||
13 => "Tiga Belas",
|
||||
14 => "Empat Belas",
|
||||
15 => "Lima Belas",
|
||||
16 => "Enam Belas",
|
||||
17 => "Tujuh Belas",
|
||||
18 => "Lapan Belas",
|
||||
19 => "Sembilan Belas"
|
||||
);
|
||||
$ones = array(
|
||||
0 => " ",
|
||||
1 => "Satu",
|
||||
2 => "Dua",
|
||||
3 => "Tiga",
|
||||
4 => "Empat",
|
||||
5 => "Lima",
|
||||
6 => "Enam",
|
||||
7 => "Tujuh",
|
||||
8 => "Lapan",
|
||||
9 => "Sembilan",
|
||||
10 => "Sepuluh",
|
||||
11 => "Sebelas",
|
||||
12 => "Dua Belas",
|
||||
13 => "Tiga Belas",
|
||||
14 => "Empat Belas",
|
||||
15 => "Lima Belas",
|
||||
16 => "Enam Belas",
|
||||
17 => "Tujuh Belas",
|
||||
18 => "Lapan Belas",
|
||||
19 => "Sembilan Belas"
|
||||
);
|
||||
$tens = array(
|
||||
0 => "",
|
||||
2 => "Dua Puluh",
|
||||
3 => "Tiga Puluh",
|
||||
4 => "Empat Puluh",
|
||||
5 => "Lima Puluh",
|
||||
6 => "Enam Puluh",
|
||||
7 => "Tujuh Puluh",
|
||||
8 => "Lapan Puluh",
|
||||
9 => "Sembilan Puluh"
|
||||
);
|
||||
$hundreds = array(
|
||||
"Ratus",
|
||||
"Ribu",
|
||||
"Juta",
|
||||
"bilion",
|
||||
"trilion"
|
||||
); //limit t quadrillion
|
||||
|
||||
$num = number_format($permohonan['jumlah_diluluskan'],2,".",",");
|
||||
// dd($num);
|
||||
$num_arr = explode(".",$num);
|
||||
$wholenum = $num_arr[0];
|
||||
$decnum = $num_arr[1];
|
||||
$whole_arr = array_reverse(explode(",",$wholenum));
|
||||
krsort($whole_arr);
|
||||
$ringgittext = "";
|
||||
|
||||
|
||||
|
||||
foreach($whole_arr as $key => $i){
|
||||
if($i > 0 && $i < 20){
|
||||
$ringgittext .= $ones[$i];
|
||||
}
|
||||
elseif($i < 100){
|
||||
$ringgittext .= $tens[substr($i,0,1)];
|
||||
$ringgittext .= " ".$ones[substr($i,1,1)];
|
||||
}
|
||||
else{
|
||||
$ringgittext .= $ones[substr($i,0,1)]." ".$hundreds[0];
|
||||
$ringgittext .= " ".$tens[substr($i,1,1)];
|
||||
$ringgittext .= " ".$ones[substr($i,2,1)];
|
||||
}
|
||||
if($key > 0){
|
||||
$ringgittext .= " ".$hundreds[$key]." ";
|
||||
}
|
||||
}
|
||||
|
||||
$text = preg_replace('/\s+/', ' ', $ringgittext);
|
||||
$trimmed_str = rtrim($text);
|
||||
|
||||
$ringgittext = $trimmed_str." Ringgit";
|
||||
|
||||
if($decnum > 0){
|
||||
$ringgittext .= " dan ";
|
||||
if($decnum < 20){
|
||||
$ringgittext .= $decones[$decnum];
|
||||
}
|
||||
elseif($decnum < 100){
|
||||
$ringgittext .= $tens[substr($decnum,0,1)];
|
||||
$ringgittext .= " ".$ones[substr($decnum,1,1)];
|
||||
}
|
||||
$ringgittext = $ringgittext." sen";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return view('permohonan.cetakanfull', compact('ringgittext','jeniscawangan','fullname','cawangan_detail','permohonan','tarikhcetakan'));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -11,7 +11,10 @@ class Cawangan extends Model
|
||||
protected $fillable = [
|
||||
'caw_id',
|
||||
'details_caw',
|
||||
'kodcaw'
|
||||
'kodcaw',
|
||||
'syarikat',
|
||||
'min',
|
||||
'max'
|
||||
];
|
||||
|
||||
protected $primaryKey = 'caw_id';
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
"laravel/tinker": "^2.5",
|
||||
"laravel/ui": "^3.3",
|
||||
"maatwebsite/excel": "^3.1",
|
||||
"pusher/pusher-php-server": "^7.0",
|
||||
"rap2hpoutre/laravel-log-viewer": "^2.0",
|
||||
"tightenco/ziggy": "^1.4"
|
||||
},
|
||||
|
||||
Generated
+198
-1
@@ -4,7 +4,7 @@
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "6068f570311d494c60bf2d35abbae6b7",
|
||||
"content-hash": "f2ed09714fff2849e484f480ad74451e",
|
||||
"packages": [
|
||||
{
|
||||
"name": "asm89/stack-cors",
|
||||
@@ -2685,6 +2685,142 @@
|
||||
},
|
||||
"time": "2021-04-09T13:42:10+00:00"
|
||||
},
|
||||
{
|
||||
"name": "paragonie/random_compat",
|
||||
"version": "v9.99.100",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/paragonie/random_compat.git",
|
||||
"reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/paragonie/random_compat/zipball/996434e5492cb4c3edcb9168db6fbb1359ef965a",
|
||||
"reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">= 7"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "4.*|5.*",
|
||||
"vimeo/psalm": "^1"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes."
|
||||
},
|
||||
"type": "library",
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Paragon Initiative Enterprises",
|
||||
"email": "security@paragonie.com",
|
||||
"homepage": "https://paragonie.com"
|
||||
}
|
||||
],
|
||||
"description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7",
|
||||
"keywords": [
|
||||
"csprng",
|
||||
"polyfill",
|
||||
"pseudorandom",
|
||||
"random"
|
||||
],
|
||||
"support": {
|
||||
"email": "info@paragonie.com",
|
||||
"issues": "https://github.com/paragonie/random_compat/issues",
|
||||
"source": "https://github.com/paragonie/random_compat"
|
||||
},
|
||||
"time": "2020-10-15T08:29:30+00:00"
|
||||
},
|
||||
{
|
||||
"name": "paragonie/sodium_compat",
|
||||
"version": "v1.17.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/paragonie/sodium_compat.git",
|
||||
"reference": "ac994053faac18d386328c91c7900f930acadf1e"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/paragonie/sodium_compat/zipball/ac994053faac18d386328c91c7900f930acadf1e",
|
||||
"reference": "ac994053faac18d386328c91c7900f930acadf1e",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"paragonie/random_compat": ">=1",
|
||||
"php": "^5.2.4|^5.3|^5.4|^5.5|^5.6|^7|^8"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^3|^4|^5|^6|^7|^8|^9"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-libsodium": "PHP < 7.0: Better performance, password hashing (Argon2i), secure memory management (memzero), and better security.",
|
||||
"ext-sodium": "PHP >= 7.0: Better performance, password hashing (Argon2i), secure memory management (memzero), and better security."
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"files": [
|
||||
"autoload.php"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"ISC"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Paragon Initiative Enterprises",
|
||||
"email": "security@paragonie.com"
|
||||
},
|
||||
{
|
||||
"name": "Frank Denis",
|
||||
"email": "jedisct1@pureftpd.org"
|
||||
}
|
||||
],
|
||||
"description": "Pure PHP implementation of libsodium; uses the PHP extension if it exists",
|
||||
"keywords": [
|
||||
"Authentication",
|
||||
"BLAKE2b",
|
||||
"ChaCha20",
|
||||
"ChaCha20-Poly1305",
|
||||
"Chapoly",
|
||||
"Curve25519",
|
||||
"Ed25519",
|
||||
"EdDSA",
|
||||
"Edwards-curve Digital Signature Algorithm",
|
||||
"Elliptic Curve Diffie-Hellman",
|
||||
"Poly1305",
|
||||
"Pure-PHP cryptography",
|
||||
"RFC 7748",
|
||||
"RFC 8032",
|
||||
"Salpoly",
|
||||
"Salsa20",
|
||||
"X25519",
|
||||
"XChaCha20-Poly1305",
|
||||
"XSalsa20-Poly1305",
|
||||
"Xchacha20",
|
||||
"Xsalsa20",
|
||||
"aead",
|
||||
"cryptography",
|
||||
"ecdh",
|
||||
"elliptic curve",
|
||||
"elliptic curve cryptography",
|
||||
"encryption",
|
||||
"libsodium",
|
||||
"php",
|
||||
"public-key cryptography",
|
||||
"secret-key cryptography",
|
||||
"side-channel resistant"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/paragonie/sodium_compat/issues",
|
||||
"source": "https://github.com/paragonie/sodium_compat/tree/v1.17.1"
|
||||
},
|
||||
"time": "2022-03-23T19:32:04+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phenx/php-font-lib",
|
||||
"version": "0.5.4",
|
||||
@@ -3381,6 +3517,67 @@
|
||||
},
|
||||
"time": "2021-11-23T15:02:17+00:00"
|
||||
},
|
||||
{
|
||||
"name": "pusher/pusher-php-server",
|
||||
"version": "7.0.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/pusher/pusher-http-php.git",
|
||||
"reference": "af3eeaefc0c7959f5b3852f0a4dd5547245d33df"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/pusher/pusher-http-php/zipball/af3eeaefc0c7959f5b3852f0a4dd5547245d33df",
|
||||
"reference": "af3eeaefc0c7959f5b3852f0a4dd5547245d33df",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-curl": "*",
|
||||
"ext-json": "*",
|
||||
"guzzlehttp/guzzle": "^7.2",
|
||||
"paragonie/sodium_compat": "^1.6",
|
||||
"php": "^7.3|^8.0",
|
||||
"psr/log": "^1.0|^2.0|^3.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"overtrue/phplint": "^2.3",
|
||||
"phpunit/phpunit": "^8.5|^9.3"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "5.0-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Pusher\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"description": "Library for interacting with the Pusher REST API",
|
||||
"keywords": [
|
||||
"events",
|
||||
"messaging",
|
||||
"php-pusher-server",
|
||||
"publish",
|
||||
"push",
|
||||
"pusher",
|
||||
"real time",
|
||||
"real-time",
|
||||
"realtime",
|
||||
"rest",
|
||||
"trigger"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/pusher/pusher-http-php/issues",
|
||||
"source": "https://github.com/pusher/pusher-http-php/tree/7.0.2"
|
||||
},
|
||||
"time": "2021-12-07T13:09:00+00:00"
|
||||
},
|
||||
{
|
||||
"name": "ralouphie/getallheaders",
|
||||
"version": "3.0.3",
|
||||
|
||||
@@ -36,8 +36,9 @@ return [
|
||||
'secret' => env('PUSHER_APP_SECRET'),
|
||||
'app_id' => env('PUSHER_APP_ID'),
|
||||
'options' => [
|
||||
'cluster' => env('PUSHER_APP_CLUSTER'),
|
||||
'useTLS' => true,
|
||||
'cluster' => 'ap1',
|
||||
'useTLS' => false,
|
||||
'scheme' => 'http'
|
||||
],
|
||||
],
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@ return [
|
||||
'public' => [
|
||||
'driver' => 'local',
|
||||
'root' => storage_path('app/public'),
|
||||
'url' => env('APP_URL').'/storage',
|
||||
'url' => env('APP_URL').'/public',
|
||||
'visibility' => 'public',
|
||||
],
|
||||
|
||||
|
||||
Generated
+1586
-1371
File diff suppressed because it is too large
Load Diff
+12
-10
@@ -10,16 +10,16 @@
|
||||
"production": "mix --production"
|
||||
},
|
||||
"devDependencies": {
|
||||
"autoprefixer": "^10.4.2",
|
||||
"autoprefixer": "^10.4.4",
|
||||
"axios": "^0.21.4",
|
||||
"bootstrap": "^4.6.0",
|
||||
"jquery": "^3.6",
|
||||
"laravel-mix": "^6.0.39",
|
||||
"laravel-mix": "^6.0.43",
|
||||
"lodash": "^4.17.19",
|
||||
"popper.js": "^1.16.1",
|
||||
"postcss": "^8.4.5",
|
||||
"postcss": "^8.4.12",
|
||||
"resolve-url-loader": "^3.1.2",
|
||||
"sass": "^1.47.0",
|
||||
"sass": "^1.50.0",
|
||||
"sass-loader": "^11.0.1",
|
||||
"tailwindcss": "^2.2.19",
|
||||
"vue": "^2.6.12",
|
||||
@@ -29,16 +29,18 @@
|
||||
"vue-template-compiler": "^2.6.12"
|
||||
},
|
||||
"dependencies": {
|
||||
"@headlessui/vue": "^1.4.2",
|
||||
"@popperjs/core": "^2.11.2",
|
||||
"@headlessui/vue": "^1.5.0",
|
||||
"@popperjs/core": "^2.11.5",
|
||||
"@vue-hero-icons/outline": "^1.7.2",
|
||||
"@vue-hero-icons/solid": "^1.7.2",
|
||||
"@vue/composition-api": "^1.4.3",
|
||||
"alpinejs": "^3.7.1",
|
||||
"apexcharts": "^3.33.0",
|
||||
"@vue/composition-api": "^1.4.9",
|
||||
"alpinejs": "^3.9.6",
|
||||
"apexcharts": "^3.35.0",
|
||||
"jw-vue-pagination": "^1.0.3",
|
||||
"laravel-echo": "^1.11.4",
|
||||
"pusher-js": "^7.0.6",
|
||||
"vue-apexcharts": "^1.6.2",
|
||||
"vue-axios": "^3.4.0",
|
||||
"vue-axios": "^3.4.1",
|
||||
"vue-class-component": "^7.2.6",
|
||||
"vue-content-placeholders": "^0.2.1",
|
||||
"vue-moment": "^4.1.0",
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 911 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 7.6 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 7.8 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 50 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 30 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 3.7 KiB |
Vendored
+17264
-5282
File diff suppressed because one or more lines are too long
@@ -84,12 +84,21 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="w-2/3 bg-white ml-2 shadow border border-solid px-6 py-4 rounded-lg hover:bg-yellow-300 hover:transition-all mb-2 cursor-pointer">
|
||||
<router-link to="/akaunhome/RingkasanTerkumpul">
|
||||
<h2 class="mx-auto text-center font-bold text-2xl uppercase">Ringkasan Terkumpul</h2>
|
||||
</router-link>
|
||||
<div class="ml-3 grid grid-cols-3">
|
||||
<div class="bg-white ml-2 shadow border border-solid px-6 py-4 rounded-lg hover:bg-yellow-300 hover:transition-all mb-2 cursor-pointer">
|
||||
<router-link to="/akaunhome/RingkasanTerkumpul">
|
||||
<h2 class="mx-auto text-center font-bold text-2xl uppercase">Ringkasan Terkumpul</h2>
|
||||
</router-link>
|
||||
</div>
|
||||
|
||||
<div class="bg-white ml-2 shadow border border-solid px-6 py-4 rounded-lg hover:bg-yellow-300 hover:transition-all mb-2 cursor-pointer">
|
||||
<router-link to="/akaunhome/StokAuditBackdate">
|
||||
<h2 class="mx-auto text-center font-bold text-2xl uppercase">Stok Audit Back-date</h2>
|
||||
</router-link>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
</router-link>
|
||||
<span class="text-center mx-auto text-white font-bold">Laporan Lejer Am</span>
|
||||
</div>
|
||||
<form method="get" ref="formlejeram" :action="Urlredirect()" target="iframe_lejer">
|
||||
<form method="get" id="iframe_lejer" name="formlejeram" ref="formlejeram" :action="Urlredirect()" target="iframe_lejer">
|
||||
<div class="rounded bg-white shadow p-6">
|
||||
<div class="pb-6">
|
||||
<div class="flex place-content-center mb-2">
|
||||
@@ -88,10 +88,13 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
async generatepdf(){
|
||||
await this.setJenis('pdf');
|
||||
this.showCetak = true;
|
||||
this.showModal = false;
|
||||
this.showLoader = true;
|
||||
|
||||
await this.setJenis('pdf');
|
||||
|
||||
|
||||
// Vue.swal({
|
||||
// title: 'Memuatkan...',
|
||||
// allowEscapeKey : false,
|
||||
|
||||
@@ -0,0 +1,83 @@
|
||||
<template>
|
||||
<div class="container">
|
||||
|
||||
<div class="flex w-full">
|
||||
<div class="xl:w-2/3 2xl:w-1/2 p-8 mx-auto">
|
||||
<div class="bg-yellow-600 text-gray-200 text-lg px-6 py-4 rounded-t-lg">
|
||||
<router-link to="/akaunhome">
|
||||
<i class="fas fa-backspace text-white"></i>
|
||||
</router-link>
|
||||
<span class="text-center mx-auto text-white font-bold">Laporan Stok Audit Backdate</span>
|
||||
</div>
|
||||
<form method="get" id="formstokauditbackdate" :action="Urlredirect()" target="_blank">
|
||||
<div class="rounded bg-white shadow p-6">
|
||||
<div class="pb-6">
|
||||
<label for="username" class="font-semibold text-gray-700 block pb-1">Tarikh</label>
|
||||
<div class="flex">
|
||||
<input :value="$kodcaw" name="kodcaw" hidden/>
|
||||
<input :value="$hostname" name="hostname" hidden/>
|
||||
<input :value="jenisgenerate" type="hidden" name="jenis" />
|
||||
<span style="background-color: #F9FAFB" class="text-gray-600 border border-2 rounded-l px-4 py-2 whitespace-no-wrap">Mula</span>
|
||||
<input id="tarikhmula" name="datestokauditbackdate" class="border border-2 border-l-0 rounded-r px-4 py-2 w-80r mr-2" type="date" />
|
||||
|
||||
<!-- <button @click.prevent="generatepdf" class=" mr-2 border border-yellow-600 text-yellow-600 font-montserrat py-2 px-8 font-medium rounded-xl hover:bg-yellow-600 hover:text-white transition-all duration-300"><i class="fas fa-file-pdf mr-2"></i>PDF</button> -->
|
||||
<button @click.prevent="generateview" class="border border-yellow-600 text-yellow-600 font-montserrat py-2 px-8 font-medium rounded-xl hover:bg-yellow-600 hover:text-white transition-all duration-300"><i class="fas fa-eye mr-2"></i>View</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
|
||||
data(){
|
||||
return{
|
||||
jenisgenerate:'none',
|
||||
kodcaw: ''
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// async generatepdf(){
|
||||
// await this.setJenis('pdf');
|
||||
|
||||
|
||||
// Vue.swal({
|
||||
// title: 'Memuatkan...',
|
||||
// allowEscapeKey : false,
|
||||
// allowOutsideClick: false,
|
||||
// showCancelButton: false,
|
||||
// showConfirmButton: false,
|
||||
// timer: 8000,
|
||||
// });
|
||||
|
||||
// document.getElementById("formringkasanharian").submit();
|
||||
// },
|
||||
async generateview(){
|
||||
await this.setJenis('view');
|
||||
|
||||
|
||||
Vue.swal({
|
||||
title: 'Memuatkan...',
|
||||
allowEscapeKey : false,
|
||||
allowOutsideClick: false,
|
||||
showCancelButton: false,
|
||||
showConfirmButton: false,
|
||||
timer: 8000,
|
||||
});
|
||||
|
||||
document.getElementById("formstokauditbackdate").submit();
|
||||
},
|
||||
Urlredirect: function() {
|
||||
return window.route('cetak.stokauditbackdate')
|
||||
},
|
||||
setJenis: function(value){
|
||||
return this.jenisgenerate = value;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
</script>
|
||||
@@ -1,45 +1,44 @@
|
||||
<template>
|
||||
<div >
|
||||
<modal ref="modal"></modal>
|
||||
<div>
|
||||
<modal ref="modal"></modal>
|
||||
|
||||
<div class="bg-white md:items-center md:justify-between shadow rounded-lg p-4 md:p-6 xl:p-8 my-6">
|
||||
<div v-if="this.showloader === true" class="bg-white md:items-center md:justify-between shadow rounded-lg p-4 md:p-6 xl:p-8 my-6">
|
||||
|
||||
<template v-if="showkelulusan.data.length > 0">
|
||||
<template v-if="Object.keys(showkelulusan.data).length > 0">
|
||||
<div v-for="(kelulusan,index) in showkelulusan.data" :key="index" class="flex flex-wrap w-full">
|
||||
<div class="w-full border rounded-l p-4">
|
||||
<div class="flex flex-wrap mb-4">
|
||||
<p class="font-bold text-xl w-1/3">{{ kelulusan.kelulusanall[0].norujukan }}</p>
|
||||
<p class="font-bold text-md w-1/3 text-red-500 justify-center flex text-center">{{ kelulusan.kelulusanall[0].status }}</p>
|
||||
<p class="font-bold text-xl w-1/3">{{ kelulusan.norujukan }}</p>
|
||||
<p class="font-bold text-md w-1/3 text-red-500 justify-center flex text-center">{{ kelulusan.status }}</p>
|
||||
<p class="font-bold text-xl w-1/3 text-gray-500 flex justify-end">Ar-Rahn {{ kelulusan.cawangan }}</p>
|
||||
</div>
|
||||
<div class="flex flex-wrap">
|
||||
<p class="font-bold text-green-500 w-1/2">PC/PPC: <span class="text-black font-normal text-md capitalize">{{ kelulusan.kelulusanall[0].khazanah }}</span></p>
|
||||
<p class="w-1/4 text-sm text-gray-700">Pembiayaan: RM{{ changeFormat(kelulusan.kelulusanall[0].jumpinj) }}</p>
|
||||
<p class="w-1/4 text-sm text-gray-700">Nilai Marhun: RM{{ changeFormat(kelulusan.kelulusanall[0].nilaimarhun) }}</p>
|
||||
<p class="font-bold text-green-500 w-1/2">PC/PPC: <span class="text-black font-normal text-md capitalize">{{ kelulusan.khazanah }}</span></p>
|
||||
<p class="w-1/4 text-sm text-gray-700">Pembiayaan: RM{{ changeFormat(kelulusan.jumpinj) }}</p>
|
||||
<p class="w-1/4 text-sm text-gray-700">Nilai Marhun: RM{{ changeFormat(kelulusan.nilaimarhun) }}</p>
|
||||
</div>
|
||||
<div class="flex flex-wrap">
|
||||
<p class="font-bold text-green-500 w-1/2">Teller: <span class="text-black font-normal text-md capitalize">{{ kelulusan.kelulusanall[0].teller }}</span></p>
|
||||
<p class="w-1/4 text-sm text-gray-700">Margin: {{ kelulusan.kelulusanall[0].margin }}%</p>
|
||||
<p class="w-1/4 text-sm text-gray-700">Berat: {{ kelulusan.kelulusanall[0].berat }} gm</p>
|
||||
<p class="font-bold text-green-500 w-1/2">Teller: <span class="text-black font-normal text-md capitalize">{{ kelulusan.teller }}</span></p>
|
||||
<p class="w-1/4 text-sm text-gray-700">Margin: {{ kelulusan.margin }}%</p>
|
||||
<p class="w-1/4 text-sm text-gray-700">Berat: {{ kelulusan.berat }} gm</p>
|
||||
</div>
|
||||
<div class="flex flex-wrap">
|
||||
<p class="font-bold text-green-500 w-3/4">Komen: <span class="text-black font-normal text-md w-1/4">{{ kelulusan.kelulusanall[0].komen }}</span></p>
|
||||
<div class="flex flex-wrap">
|
||||
<p class="font-bold text-green-500 w-3/4">Komen: <span class="text-black font-normal text-md w-1/4">{{ kelulusan.komen }}</span></p>
|
||||
|
||||
</div>
|
||||
<!-- <p class="font-bold text-xl">KB2210232-00032</p> -->
|
||||
<!-- <p class="font-bold text-xl">KB2210232-00032</p> -->
|
||||
|
||||
<div class="mx-auto flex justify-between mb-auto text-sm text-gray-500 mt-4">
|
||||
<!-- 10 Jul 2018, 05:56PM -->
|
||||
{{ kelulusan.kelulusanall[0].tarikh | moment("calendar") }}
|
||||
{{ kelulusan.tarikh | moment("calendar") }}
|
||||
|
||||
<div class="pl-4">
|
||||
<button class="bg-green-500 hover:bg-green-700 text-white font-bold py-1 px-6 border border-green-700 rounded mr-1" @click.prevent="ApproveFunc"><i class="fas fa-thumbs-up mr-1 text-md"></i> Lulus</button>
|
||||
<button class="bg-red-500 hover:bg-red-700 text-white font-bold py-1 px-6 border border-red-700 rounded mr-1" @click.prevent="DisapproveFunc"><i class="fas fa-thumbs-down mr-1 text-md"></i> Tidak Lulus</button>
|
||||
<button class="bg-yellow-500 hover:bg-yellow-700 text-white font-bold py-1 px-6 border border-yellow-500 rounded mr-1" @click.prevent="ApproveFunc(kelulusan.norujukan,kelulusan.cawangankod,kelulusan.teller,kelulusan.siri)"><i class="fas fa-thumbs-up mr-1 text-md"></i> Lulus</button>
|
||||
<button class="bg-red-500 hover:bg-red-700 text-white font-bold py-1 px-6 border border-red-500 rounded mr-1" @click.prevent="DisapproveFunc(kelulusan.norujukan,kelulusan.cawangankod,kelulusan.teller,kelulusan.siri)"><i class="fas fa-thumbs-down mr-1 text-md"></i> Tidak Lulus</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<pagination :data="paginate" @clickEvent_="getKelulusanList"></pagination>
|
||||
</template>
|
||||
<template v-else>
|
||||
<div class="flex place-content-center w-full">
|
||||
@@ -51,61 +50,186 @@
|
||||
</div>
|
||||
</template>
|
||||
|
||||
</div>
|
||||
<pagination :data="paginate" @clickEvent_="getKelulusanList"></pagination>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import modal from '../components/util/KomenModal.vue'
|
||||
import pagination from '../components/pagination.vue'
|
||||
|
||||
const formatter = new Intl.NumberFormat('en-US', {
|
||||
minimumFractionDigits: 2
|
||||
minimumFractionDigits: 2
|
||||
});
|
||||
|
||||
export default {
|
||||
components: {
|
||||
pagination,
|
||||
modal,
|
||||
// deletemodal
|
||||
|
||||
},
|
||||
data(){
|
||||
return{
|
||||
currentPage: 1,
|
||||
showkelulusan:[],
|
||||
paginate:{}
|
||||
components: {
|
||||
pagination,
|
||||
modal,
|
||||
// deletemodal
|
||||
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
currentPage: 1,
|
||||
showkelulusan: {},
|
||||
paginate: {},
|
||||
showloader: false
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getKelulusanList(this.currentPage)
|
||||
},
|
||||
methods:{
|
||||
changeFormat: function(data){
|
||||
this.getKelulusanList(this.currentPage)
|
||||
},
|
||||
methods: {
|
||||
changeFormat: function (data) {
|
||||
return formatter.format(data)
|
||||
},
|
||||
getKelulusanList(pageNumber){
|
||||
this.axios.get(this.$hostname + '/admin/ListOperasi/Paginate',{
|
||||
getKelulusanList(pageNumber) {
|
||||
this.showloader = false
|
||||
|
||||
this.axios.get(this.$hostname + '/admin/ListOperasi/Paginate', {
|
||||
params: {
|
||||
page: pageNumber
|
||||
}
|
||||
page: pageNumber
|
||||
}
|
||||
}).then(response => {
|
||||
console.log(response.data)
|
||||
this.showkelulusan = response.data
|
||||
this.paginate = response.data
|
||||
this.currentPage = pageNumber
|
||||
this.showloader = true
|
||||
});
|
||||
},
|
||||
ApproveFunc:function(){
|
||||
this.$refs.modal.showModal = true;
|
||||
ApproveFunc: async function (noruj, kcaw, tel, sir) {
|
||||
let boolkatalaluan = 0;
|
||||
console.log(noruj, kcaw, tel, sir)
|
||||
const {
|
||||
value: katalaluan
|
||||
} = await this.$swal({
|
||||
title: 'Masukkan Katalaluan Semula',
|
||||
input: 'password',
|
||||
inputPlaceholder: 'Katalaluan',
|
||||
confirmButtonText: 'Hantar',
|
||||
showCancelButton: true,
|
||||
cancelButtonText: 'Batal',
|
||||
allowOutsideClick: false
|
||||
})
|
||||
await this.axios.get('/mintasemulakelulusan', {
|
||||
params: {
|
||||
passsemula: katalaluan
|
||||
}
|
||||
}).then(response => {
|
||||
if (response.data === 0) {
|
||||
boolkatalaluan = 0;
|
||||
} else {
|
||||
boolkatalaluan = 1;
|
||||
}
|
||||
});
|
||||
|
||||
if (boolkatalaluan == 1) {
|
||||
|
||||
await this.$swal({
|
||||
title: 'Masukkan Komen',
|
||||
input: 'text',
|
||||
inputPlaceholder: 'Komen',
|
||||
confirmButtonText: 'Hantar',
|
||||
showCancelButton: true,
|
||||
cancelButtonText: 'Batal',
|
||||
allowOutsideClick: false
|
||||
}).then((result) => {
|
||||
|
||||
if (result.isConfirmed) {
|
||||
|
||||
return this.axios.post('/api/check/kelulusan/operasi', {
|
||||
norujukan: noruj,
|
||||
komenkelulusan: result.value,
|
||||
kodcaw: kcaw,
|
||||
namaoperasi: this.$attrs['namaoperasi'],
|
||||
teller: tel,
|
||||
siri: sir,
|
||||
}).then((response) =>{
|
||||
if(response.data == 1)
|
||||
{
|
||||
this.getKelulusanList(1)
|
||||
}
|
||||
});
|
||||
|
||||
} else if (result.isDenied) {
|
||||
Swal.fire('Changes are not saved', '', 'info')
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
DisapproveFunc:function(){
|
||||
console.log('taklulus');
|
||||
DisapproveFunc: async function (noruj, kcaw, tel, sir) {
|
||||
let boolkatalaluan = 0;
|
||||
const {
|
||||
value: katalaluan
|
||||
} = await this.$swal({
|
||||
title: 'Masukkan Katalaluan Semula',
|
||||
input: 'password',
|
||||
inputPlaceholder: 'Katalaluan',
|
||||
confirmButtonText: 'Hantar',
|
||||
showCancelButton: true,
|
||||
cancelButtonText: 'Batal',
|
||||
allowOutsideClick: false
|
||||
})
|
||||
|
||||
await this.axios.get('/mintasemulakelulusan', {
|
||||
params: {
|
||||
passsemula: katalaluan
|
||||
}
|
||||
}).then(response => {
|
||||
if (response.data === 0) {
|
||||
boolkatalaluan = 0;
|
||||
} else {
|
||||
boolkatalaluan = 1;
|
||||
}
|
||||
});
|
||||
|
||||
if (boolkatalaluan == 1) {
|
||||
|
||||
await this.$swal({
|
||||
title: 'Masukkan Komen',
|
||||
input: 'text',
|
||||
inputPlaceholder: 'Komen',
|
||||
confirmButtonText: 'Hantar',
|
||||
showCancelButton: true,
|
||||
cancelButtonText: 'Batal',
|
||||
allowOutsideClick: false
|
||||
}).then((result) => {
|
||||
|
||||
if (result.isConfirmed) {
|
||||
|
||||
return this.axios.post('/api/check/kelulusan/operasi', {
|
||||
norujukan: noruj,
|
||||
komenkelulusan: result.value,
|
||||
kodcaw: kcaw,
|
||||
namaoperasi: this.$attrs['namaoperasi'],
|
||||
teller: tel,
|
||||
siri: sir,
|
||||
pembatalan: "batal"
|
||||
}).then((response) =>{
|
||||
if(response.data == 1)
|
||||
{
|
||||
this.getKelulusanList(1)
|
||||
}
|
||||
});
|
||||
|
||||
} else if (result.isDenied) {
|
||||
Swal.fire('Changes are not saved', '', 'info')
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
RedirectHome:function(){
|
||||
RedirectHome: function () {
|
||||
return window.location.href = '/';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
</script>
|
||||
</script>
|
||||
|
||||
@@ -127,7 +127,7 @@
|
||||
<div class="ml-3">
|
||||
<p class="text-gray-900 whitespace-no-wrap">
|
||||
|
||||
<span v-if="cust.status === 'PAID'" class="inlint-block mr-1 last:mr-0 py-1 px-2 rounded bg-green-200 text-xs font-semibold text-green-600 uppercase">
|
||||
<span v-if="cust.status === 'PAID'" class="inlint-block mr-1 last:mr-0 py-1 px-2 rounded bg-yellow-200 text-xs font-semibold text-green-600 uppercase">
|
||||
{{ cust.status }}
|
||||
</span>
|
||||
<span v-if="cust.status === 'NOT PAID'" class="inlint-block mr-1 last:mr-0 py-1 px-2 rounded bg-yellow-200 text-xs font-semibold text-yellow-600 uppercase">
|
||||
|
||||
@@ -0,0 +1,331 @@
|
||||
<template>
|
||||
<div class="mx-auto">
|
||||
|
||||
<pbmodal ref="modal" @clickEvent_="getSenaraiMohon"></pbmodal>
|
||||
<bankmodal ref="bankmodal" @clickEvent_="getSenaraiMohon"></bankmodal>
|
||||
|
||||
<router-link to="/permohonan">
|
||||
<i class="fas fa-backspace text-yellow-500"></i>
|
||||
</router-link>
|
||||
|
||||
<div class="mx-auto flex justify-between mb-4">
|
||||
|
||||
<h1 class="font-bold flex flex-row justify-end">Rekod Permohonan</h1>
|
||||
|
||||
</div>
|
||||
|
||||
<table class="min-w-full leading-normal">
|
||||
|
||||
<thead class="text-center">
|
||||
|
||||
<tr>
|
||||
|
||||
<th class="px-5 py-3 border-b-2 border-gray-200 bg-gray-100 text-left text-xs font-semibold text-gray-600 uppercase tracking-wider">
|
||||
|
||||
Cawangan
|
||||
|
||||
</th>
|
||||
|
||||
<th class="px-5 py-3 border-b-2 border-gray-200 bg-gray-100 text-left text-xs font-semibold text-gray-600 uppercase tracking-wider">
|
||||
|
||||
PetiBesi (RM)
|
||||
|
||||
</th>
|
||||
|
||||
<th class="px-5 py-3 border-b-2 border-gray-200 bg-gray-100 text-left text-xs font-semibold text-gray-600 uppercase tracking-wider">
|
||||
|
||||
No Permohonan
|
||||
|
||||
</th>
|
||||
|
||||
<th class="px-5 py-3 border-b-2 border-gray-200 bg-gray-100 text-left text-xs font-semibold text-gray-600 uppercase tracking-wider">
|
||||
|
||||
Tarikh Mohon
|
||||
|
||||
</th>
|
||||
|
||||
<th class="px-5 py-3 border-b-2 border-gray-200 bg-gray-100 text-left text-xs font-semibold text-gray-600 uppercase tracking-wider">
|
||||
|
||||
Jumlah Mohon (RM)
|
||||
|
||||
</th>
|
||||
|
||||
<th class="px-5 py-3 border-b-2 border-gray-200 bg-gray-100 text-left text-xs font-semibold text-gray-600 uppercase tracking-wider">
|
||||
|
||||
Jumlah Lulus (RM)
|
||||
|
||||
</th>
|
||||
|
||||
<th class="px-5 py-3 border-b-2 border-gray-200 bg-gray-100 text-left text-xs font-semibold text-gray-600 uppercase tracking-wider">
|
||||
|
||||
Semak
|
||||
|
||||
</th>
|
||||
|
||||
<th class="px-5 py-3 border-b-2 border-gray-200 bg-gray-100 text-left text-xs font-semibold text-gray-600 uppercase tracking-wider">
|
||||
|
||||
Jenis Permohonan
|
||||
|
||||
</th>
|
||||
|
||||
<th class="px-5 py-3 border-b-2 border-gray-200 bg-gray-100 text-left text-xs font-semibold text-gray-600 uppercase tracking-wider">
|
||||
|
||||
Status
|
||||
|
||||
</th>
|
||||
</tr>
|
||||
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<tr v-if="showpermohonan.data.length === 0">
|
||||
<td colspan="9" class=" px-5 py-5 border-b border-gray-200 bg-white text-sm">
|
||||
<p class="text-gray-900 whitespace-no-wrap text-center mx-auto">
|
||||
Tiada Rekod Diperolehi
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-for="(mohon,i) in showpermohonan.data" :key="i">
|
||||
|
||||
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
|
||||
|
||||
<div class="flex items-center">
|
||||
|
||||
<div class="ml-3">
|
||||
|
||||
<p class="text-gray-900 whitespace-no-wrap" v-text="namacawangan(mohon.kodcaw)">
|
||||
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</td>
|
||||
|
||||
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
|
||||
|
||||
<div class="flex items-center">
|
||||
|
||||
<div class="ml-3">
|
||||
|
||||
<p class="text-gray-900 whitespace-no-wrap" v-text="formatterfunction(mohon.baki_petibesi)">
|
||||
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</td>
|
||||
|
||||
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
|
||||
|
||||
<div class="flex items-center">
|
||||
|
||||
<div class="ml-3">
|
||||
|
||||
<p class="text-gray-900 whitespace-no-wrap" v-text="mohon.nopermohonan">
|
||||
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</td>
|
||||
|
||||
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
|
||||
|
||||
<div class="flex items-center">
|
||||
|
||||
<div class="ml-3">
|
||||
|
||||
<p class="text-gray-900 whitespace-no-wrap" v-text="mohon.tarikh_permohonan">
|
||||
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</td>
|
||||
|
||||
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
|
||||
|
||||
<div class="flex items-center">
|
||||
|
||||
<div class="ml-3">
|
||||
|
||||
<p class="text-gray-900 whitespace-no-wrap" v-text="formatterfunction(mohon.amaun_mohon)">
|
||||
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</td>
|
||||
|
||||
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
|
||||
|
||||
<div class="flex items-center">
|
||||
|
||||
<div class="ml-3">
|
||||
|
||||
<p class="text-gray-900 whitespace-no-wrap" v-text="formatterfunction(mohon.jumlah_diluluskan)">
|
||||
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</td>
|
||||
|
||||
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
|
||||
|
||||
<div class="flex items-center">
|
||||
|
||||
<div class="ml-3">
|
||||
|
||||
<router-link :to="{ name: 'permohonanstatus', params: { mohonid: mohon.nopermohonan }}">
|
||||
|
||||
<div class="border border-green-600 text-green-600 font-montserrat py-2 px-4 font-medium rounded-xl hover:bg-green-600 hover:text-white transition-all duration-300">
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">
|
||||
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z" />
|
||||
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z" />
|
||||
|
||||
</svg>
|
||||
|
||||
</div>
|
||||
|
||||
</router-link>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</td>
|
||||
|
||||
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
|
||||
|
||||
<div class="flex items-center">
|
||||
|
||||
<div class="ml-3">
|
||||
|
||||
<p :class="mohon.jenismohon == 'permohonanwang' ? 'bg-yellow-500' : 'bg-gray-500'" class="text-white whitespace-no-wrap p-2 rounded" v-text="checkjenismohon(mohon.jenismohon)">
|
||||
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</td>
|
||||
|
||||
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
|
||||
|
||||
<span v-if="mohon.tagterima === 1 || (mohon.jenismohon == 'bayaranbalik' && mohon.tagoperasi === 1 && mohon.tagcit === 1 && mohon.tagakaun === 1)" class="p-2 bg-green-500 rounded text-white">Berjaya</span>
|
||||
<span v-else class="p-2 bg-red-500 rounded text-white">Batal</span>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
|
||||
<pagination :data="paginate" @clickEvent_="getSenaraiMohon"></pagination>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import pagination from '../components/pagination.vue'
|
||||
import pbmodal from '../components/util/PBmodal.vue'
|
||||
import bankmodal from '../components/util/Bankmodal.vue'
|
||||
|
||||
const formatter = new Intl.NumberFormat('en-US', {
|
||||
minimumFractionDigits: 2
|
||||
});
|
||||
|
||||
export default {
|
||||
components: {
|
||||
pagination,
|
||||
pbmodal,
|
||||
bankmodal
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
showpermohonan: {},
|
||||
currentPage: 1,
|
||||
paginate: {},
|
||||
cawangan: {},
|
||||
username: this.$username,
|
||||
userroles: this.$userroles
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getSenaraiMohon(this.currentPage)
|
||||
this.axios.get('/api/check/cawangan').then(response => {
|
||||
this.cawangan = response.data;
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
getSenaraiMohon(pageNumber) {
|
||||
this.axios.get(this.$hostname + '/admin/permohonan/rekod/admin', {
|
||||
params: {
|
||||
page: pageNumber
|
||||
}
|
||||
}).then(response => {
|
||||
this.showpermohonan = response.data
|
||||
this.paginate = response.data
|
||||
this.currentPage = pageNumber
|
||||
});
|
||||
},
|
||||
namacawangan(cawangannama) {
|
||||
let namcaw = '';
|
||||
if (this.cawangan.length > 0) {
|
||||
this.cawangan.some(function (value, key) {
|
||||
|
||||
if (cawangannama === value.kodcaw) {
|
||||
namcaw = value.details_caw
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
return namcaw;
|
||||
},
|
||||
formatterfunction(value) {
|
||||
return formatter.format(value)
|
||||
},
|
||||
checkjenismohon(value) {
|
||||
if (value === 'permohonanwang') {
|
||||
return 'Permohonan Wang'
|
||||
} else {
|
||||
return 'Bayaran Balik'
|
||||
}
|
||||
},
|
||||
DownloadBukti: function (image) {
|
||||
axios.get("/api/check/muatturun?image=" + image, {
|
||||
responseType: 'blob'
|
||||
})
|
||||
.then(response => {
|
||||
const url = window.URL.createObjectURL(new Blob([response.data]));
|
||||
const link = document.createElement('a');
|
||||
link.href = url;
|
||||
link.setAttribute('download', image);
|
||||
document.body.appendChild(link);
|
||||
link.click();
|
||||
})
|
||||
.catch(e => {
|
||||
console.log(e);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,709 @@
|
||||
<template>
|
||||
<div class="mx-auto">
|
||||
|
||||
<pbmodal ref="modal" @clickEvent_="getSenaraiMohon"></pbmodal>
|
||||
<bankmodal ref="bankmodal" @clickEvent_="getSenaraiMohon"></bankmodal>
|
||||
|
||||
<div class="mx-auto flex justify-between mb-4">
|
||||
|
||||
<h1 class="font-bold flex flex-row justify-end">Permohonan Yang Masih Aktif</h1>
|
||||
|
||||
<router-link to="/permohonan/rekod">
|
||||
<button class="p-2 text-white bg-blue-500 rounded">Rekod Permohonan</button>
|
||||
</router-link>
|
||||
|
||||
</div>
|
||||
|
||||
<table v-if="loader == true" class="min-w-full leading-normal">
|
||||
|
||||
<thead class="text-center">
|
||||
|
||||
<tr>
|
||||
|
||||
<th class="px-5 py-3 border-b-2 border-gray-200 bg-gray-100 text-left text-xs font-semibold text-gray-600 uppercase tracking-wider">
|
||||
|
||||
Cawangan
|
||||
|
||||
</th>
|
||||
|
||||
<th class="px-5 py-3 border-b-2 border-gray-200 bg-gray-100 text-left text-xs font-semibold text-gray-600 uppercase tracking-wider">
|
||||
|
||||
PetiBesi (RM)
|
||||
|
||||
</th>
|
||||
|
||||
<th class="px-5 py-3 border-b-2 border-gray-200 bg-gray-100 text-left text-xs font-semibold text-gray-600 uppercase tracking-wider">
|
||||
|
||||
No Permohonan
|
||||
|
||||
</th>
|
||||
|
||||
<th class="px-5 py-3 border-b-2 border-gray-200 bg-gray-100 text-left text-xs font-semibold text-gray-600 uppercase tracking-wider">
|
||||
|
||||
Tarikh Mohon
|
||||
|
||||
</th>
|
||||
|
||||
<th class="px-5 py-3 border-b-2 border-gray-200 bg-gray-100 text-left text-xs font-semibold text-gray-600 uppercase tracking-wider">
|
||||
|
||||
Jumlah Mohon (RM)
|
||||
|
||||
</th>
|
||||
|
||||
<th class="px-5 py-3 border-b-2 border-gray-200 bg-gray-100 text-left text-xs font-semibold text-gray-600 uppercase tracking-wider">
|
||||
|
||||
Semak
|
||||
|
||||
</th>
|
||||
|
||||
<th class="px-5 py-3 border-b-2 border-gray-200 bg-gray-100 text-left text-xs font-semibold text-gray-600 uppercase tracking-wider">
|
||||
|
||||
Jenis Permohonan
|
||||
|
||||
</th>
|
||||
|
||||
<th class="px-5 py-3 border-b-2 border-gray-200 bg-gray-100 text-left text-xs font-semibold text-gray-600 uppercase tracking-wider">
|
||||
|
||||
Tindakan
|
||||
|
||||
</th>
|
||||
|
||||
</tr>
|
||||
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<tr v-if="showpermohonan.data.length === 0">
|
||||
<td colspan="9" class=" px-5 py-5 border-b border-gray-200 bg-white text-sm">
|
||||
<p class="text-gray-900 whitespace-no-wrap text-center mx-auto">
|
||||
Tiada Rekod Diperolehi
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr v-for="(mohon,i) in showpermohonan.data" :key="i">
|
||||
|
||||
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
|
||||
|
||||
<div class="flex items-center">
|
||||
|
||||
<div class="ml-3">
|
||||
|
||||
<p class="text-gray-900 whitespace-no-wrap" v-text="namacawangan(mohon.kodcaw)">
|
||||
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</td>
|
||||
|
||||
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
|
||||
|
||||
<div class="flex items-center">
|
||||
|
||||
<div class="ml-3">
|
||||
|
||||
<p class="text-gray-900 whitespace-no-wrap" v-text="formatterfunction(mohon.baki_petibesi)">
|
||||
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</td>
|
||||
|
||||
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
|
||||
|
||||
<div class="flex items-center">
|
||||
|
||||
<div class="ml-3">
|
||||
|
||||
<p class="text-gray-900 whitespace-no-wrap" v-text="mohon.nopermohonan">
|
||||
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</td>
|
||||
|
||||
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
|
||||
|
||||
<div class="flex items-center">
|
||||
|
||||
<div class="ml-3">
|
||||
|
||||
<p class="text-gray-900 whitespace-no-wrap" v-text="mohon.tarikh_permohonan">
|
||||
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</td>
|
||||
|
||||
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
|
||||
|
||||
<div class="flex items-center">
|
||||
|
||||
<div class="ml-3">
|
||||
|
||||
<p class="text-gray-900 whitespace-no-wrap" v-text="formatterfunction(mohon.amaun_mohon)">
|
||||
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</td>
|
||||
|
||||
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
|
||||
|
||||
<div class="flex items-center">
|
||||
|
||||
<div class="ml-3">
|
||||
|
||||
<router-link :to="{ name: 'permohonanstatus', params: { mohonid: mohon.nopermohonan }}">
|
||||
|
||||
<div class="border border-green-600 text-green-600 font-montserrat py-2 px-4 font-medium rounded-xl hover:bg-green-600 hover:text-white transition-all duration-300">
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">
|
||||
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z" />
|
||||
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z" />
|
||||
|
||||
</svg>
|
||||
|
||||
</div>
|
||||
|
||||
</router-link>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</td>
|
||||
|
||||
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
|
||||
|
||||
<div class="flex items-center">
|
||||
|
||||
<div class="ml-3">
|
||||
|
||||
<p :class="mohon.jenismohon == 'permohonanwang' ? 'bg-yellow-500' : 'bg-gray-500'" class="text-white whitespace-no-wrap p-2 rounded" v-text="checkjenismohon(mohon.jenismohon)">
|
||||
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</td>
|
||||
|
||||
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
|
||||
|
||||
<div v-if="userroles == 'operasi'" class="flex items-center">
|
||||
|
||||
<div v-if="mohon.tagoperasi === 0 && mohon.tagcit === 1 && mohon.jenismohon === 'bayaranbalik'" class="ml-3">
|
||||
|
||||
<button @click="funcsetuju(mohon.nopermohonan)" class="border border-blue-600 text-blue-600 font-montserrat py-2 px-4 font-medium rounded-xl hover:bg-blue-600 hover:text-white transition-all duration-300">
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">
|
||||
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M14 10h4.764a2 2 0 011.789 2.894l-3.5 7A2 2 0 0115.263 21h-4.017c-.163 0-.326-.02-.485-.06L7 20m7-10V5a2 2 0 00-2-2h-.095c-.5 0-.905.405-.905.905 0 .714-.211 1.412-.608 2.006L7 11v9m7-10h-2M7 20H5a2 2 0 01-2-2v-6a2 2 0 012-2h2.5" />
|
||||
|
||||
</svg>
|
||||
|
||||
</button>
|
||||
|
||||
<button @click="funcbatal(mohon.nopermohonan)" class="border border-red-600 text-red-600 font-montserrat py-2 px-4 font-medium rounded-xl hover:bg-red-600 hover:text-white transition-all duration-300">
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">
|
||||
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M10 14H5.236a2 2 0 01-1.789-2.894l3.5-7A2 2 0 018.736 3h4.018a2 2 0 01.485.06l3.76.94m-7 10v5a2 2 0 002 2h.096c.5 0 .905-.405.905-.904 0-.715.211-1.413.608-2.008L17 13V4m-7 10h2m5-10h2a2 2 0 012 2v6a2 2 0 01-2 2h-2.5" />
|
||||
|
||||
</svg>
|
||||
|
||||
</button>
|
||||
|
||||
</div>
|
||||
<div v-if="mohon.tagoperasi === 0 && mohon.tagcit === 0 && mohon.jenismohon === 'bayaranbalik'" class="ml-3">
|
||||
|
||||
<p class="text-white whitespace-no-wrap p-2 rounded bg-blue-500">
|
||||
|
||||
Dalam Proses
|
||||
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div v-else-if="mohon.tagoperasi == 0 && mohon.jenismohon === 'permohonanwang'" class="ml-3">
|
||||
|
||||
<button @click="funcsetuju(mohon.nopermohonan)" class="border border-blue-600 text-blue-600 font-montserrat py-2 px-4 font-medium rounded-xl hover:bg-blue-600 hover:text-white transition-all duration-300">
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">
|
||||
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M14 10h4.764a2 2 0 011.789 2.894l-3.5 7A2 2 0 0115.263 21h-4.017c-.163 0-.326-.02-.485-.06L7 20m7-10V5a2 2 0 00-2-2h-.095c-.5 0-.905.405-.905.905 0 .714-.211 1.412-.608 2.006L7 11v9m7-10h-2M7 20H5a2 2 0 01-2-2v-6a2 2 0 012-2h2.5" />
|
||||
|
||||
</svg>
|
||||
|
||||
</button>
|
||||
|
||||
<button @click="funcbatal(mohon.nopermohonan)" class="border border-red-600 text-red-600 font-montserrat py-2 px-4 font-medium rounded-xl hover:bg-red-600 hover:text-white transition-all duration-300">
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">
|
||||
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M10 14H5.236a2 2 0 01-1.789-2.894l3.5-7A2 2 0 018.736 3h4.018a2 2 0 01.485.06l3.76.94m-7 10v5a2 2 0 002 2h.096c.5 0 .905-.405.905-.904 0-.715.211-1.413.608-2.008L17 13V4m-7 10h2m5-10h2a2 2 0 012 2v6a2 2 0 01-2 2h-2.5" />
|
||||
|
||||
</svg>
|
||||
|
||||
</button>
|
||||
|
||||
</div>
|
||||
|
||||
<div v-else-if="mohon.tagoperasi == 1" class="ml-3">
|
||||
|
||||
<p class="text-white whitespace-no-wrap p-2 rounded bg-green-500">
|
||||
|
||||
Telah Lulus
|
||||
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div v-if="userroles == 'akaun' && mohon.jenismohon =='permohonanwang'" class="flex items-center">
|
||||
|
||||
<div v-if="mohon.tagoperasi === 0">
|
||||
<p class="text-white whitespace-no-wrap p-2 rounded bg-blue-500">
|
||||
DALAM PROCESS
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div v-else-if="(mohon.tagoperasi === 1 && mohon.tagakaun === 0)" class="ml-3">
|
||||
|
||||
<button @click="funcsetuju(mohon.nopermohonan)" class="border border-blue-600 text-blue-600 font-montserrat py-2 px-4 font-medium rounded-xl hover:bg-blue-600 hover:text-white transition-all duration-300">
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">
|
||||
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M14 10h4.764a2 2 0 011.789 2.894l-3.5 7A2 2 0 0115.263 21h-4.017c-.163 0-.326-.02-.485-.06L7 20m7-10V5a2 2 0 00-2-2h-.095c-.5 0-.905.405-.905.905 0 .714-.211 1.412-.608 2.006L7 11v9m7-10h-2M7 20H5a2 2 0 01-2-2v-6a2 2 0 012-2h2.5" />
|
||||
|
||||
</svg>
|
||||
|
||||
</button>
|
||||
|
||||
<button @click="funcbatal(mohon.nopermohonan)" class="border border-red-600 text-red-600 font-montserrat py-2 px-4 font-medium rounded-xl hover:bg-red-600 hover:text-white transition-all duration-300">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M10 14H5.236a2 2 0 01-1.789-2.894l3.5-7A2 2 0 018.736 3h4.018a2 2 0 01.485.06l3.76.94m-7 10v5a2 2 0 002 2h.096c.5 0 .905-.405.905-.904 0-.715.211-1.413.608-2.008L17 13V4m-7 10h2m5-10h2a2 2 0 012 2v6a2 2 0 01-2 2h-2.5" />
|
||||
</svg>
|
||||
</button>
|
||||
|
||||
</div>
|
||||
|
||||
<div v-else-if="(mohon.tagakaun === 1 || mohon.tagakaun === 2) && mohon.tagprint === 0" class="ml-3">
|
||||
|
||||
<button @click="CetakanPB(mohon.kodcaw,mohon.nopermohonan)" class="border border-blue-600 text-blue-600 font-montserrat py-2 px-4 font-medium rounded-xl hover:bg-blue-600 hover:text-white transition-all duration-300">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M17 17h2a2 2 0 002-2v-4a2 2 0 00-2-2H5a2 2 0 00-2 2v4a2 2 0 002 2h2m2 4h6a2 2 0 002-2v-4a2 2 0 00-2-2H9a2 2 0 00-2 2v4a2 2 0 002 2zm8-12V5a2 2 0 00-2-2H9a2 2 0 00-2 2v4h10z" />
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div v-else-if="mohon.tagprint === 1 && mohon.tagakaun === 1 && mohon.tagpb === 0">
|
||||
<button @click="KelulusanPB(mohon.nopermohonan,formatterfunction(mohon.amaun_mohon))" class="border border-blue-600 text-blue-600 font-montserrat py-2 px-4 font-medium rounded-xl hover:bg-blue-600 hover:text-white transition-all duration-300">
|
||||
PB
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div v-else-if="mohon.tagpb === 1 && mohon.tagdeposit === 0">
|
||||
<button @click="DepositBank(mohon.nopermohonan)" class="border border-blue-600 text-blue-600 font-montserrat py-2 px-4 font-medium rounded-xl hover:bg-blue-600 hover:text-white transition-all duration-300">
|
||||
BANK
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div v-else>
|
||||
<p class="text-white whitespace-no-wrap p-2 rounded bg-green-500">
|
||||
Telah Lulus
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div v-if="userroles == 'akaun' && mohon.jenismohon =='bayaranbalik'" class="flex items-center">
|
||||
|
||||
<div v-if="mohon.tagoperasi === 0">
|
||||
<p class="text-white whitespace-no-wrap p-2 rounded bg-blue-500">
|
||||
DALAM PROCESS
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div v-else-if="(mohon.tagoperasi === 1 && mohon.tagakaun === 0)" class="ml-3">
|
||||
|
||||
<button @click="funcsetuju(mohon.nopermohonan)" class="border border-blue-600 text-blue-600 font-montserrat py-2 px-4 font-medium rounded-xl hover:bg-blue-600 hover:text-white transition-all duration-300">
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">
|
||||
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M14 10h4.764a2 2 0 011.789 2.894l-3.5 7A2 2 0 0115.263 21h-4.017c-.163 0-.326-.02-.485-.06L7 20m7-10V5a2 2 0 00-2-2h-.095c-.5 0-.905.405-.905.905 0 .714-.211 1.412-.608 2.006L7 11v9m7-10h-2M7 20H5a2 2 0 01-2-2v-6a2 2 0 012-2h2.5" />
|
||||
|
||||
</svg>
|
||||
|
||||
</button>
|
||||
|
||||
<button @click="funcbatal(mohon.nopermohonan)" class="border border-red-600 text-red-600 font-montserrat py-2 px-4 font-medium rounded-xl hover:bg-red-600 hover:text-white transition-all duration-300">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M10 14H5.236a2 2 0 01-1.789-2.894l3.5-7A2 2 0 018.736 3h4.018a2 2 0 01.485.06l3.76.94m-7 10v5a2 2 0 002 2h.096c.5 0 .905-.405.905-.904 0-.715.211-1.413.608-2.008L17 13V4m-7 10h2m5-10h2a2 2 0 012 2v6a2 2 0 01-2 2h-2.5" />
|
||||
</svg>
|
||||
</button>
|
||||
|
||||
</div>
|
||||
|
||||
<div v-else>
|
||||
<p class="text-white whitespace-no-wrap p-2 rounded bg-green-500">
|
||||
Telah Lulus
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
|
||||
<pagination :data="paginate" @clickEvent_="getSenaraiMohon"></pagination>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import pagination from '../components/pagination.vue'
|
||||
import pbmodal from '../components/util/PBmodal.vue'
|
||||
import bankmodal from '../components/util/Bankmodal.vue'
|
||||
|
||||
const formatter = new Intl.NumberFormat('en-US', {
|
||||
minimumFractionDigits: 2
|
||||
});
|
||||
|
||||
export default {
|
||||
components: {
|
||||
pagination,
|
||||
pbmodal,
|
||||
bankmodal
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
showpermohonan: {},
|
||||
currentPage: 1,
|
||||
paginate: {},
|
||||
cawangan: {},
|
||||
username: this.$username,
|
||||
userroles: this.$userroles,
|
||||
loader: false
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getSenaraiMohon(this.currentPage)
|
||||
this.axios.get('/api/check/cawangan').then(response => {
|
||||
this.cawangan = response.data;
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
getSenaraiMohon(pageNumber) {
|
||||
this.axios.get(this.$hostname + '/admin/permohonan/get/admin', {
|
||||
params: {
|
||||
page: pageNumber
|
||||
}
|
||||
}).then(response => {
|
||||
this.showpermohonan = response.data
|
||||
this.paginate = response.data
|
||||
this.currentPage = pageNumber
|
||||
this.loader = true;
|
||||
});
|
||||
},
|
||||
namacawangan(cawangannama) {
|
||||
let namcaw = '';
|
||||
if (this.cawangan.length > 0) {
|
||||
this.cawangan.some(function (value, key) {
|
||||
|
||||
if (cawangannama === value.kodcaw) {
|
||||
namcaw = value.details_caw
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
return namcaw;
|
||||
},
|
||||
formatterfunction(value) {
|
||||
return formatter.format(value)
|
||||
},
|
||||
checkjenismohon(value) {
|
||||
if (value === 'permohonanwang') {
|
||||
return 'Permohonan Wang'
|
||||
} else {
|
||||
return 'Bayaran Balik'
|
||||
}
|
||||
},
|
||||
async funcbatal(mohonid) {
|
||||
|
||||
let refer = this;
|
||||
const {
|
||||
value: katalaluan
|
||||
} = await this.$swal({
|
||||
title: 'Masukkan Katalaluan Semula',
|
||||
input: 'password',
|
||||
inputPlaceholder: 'Katalaluan',
|
||||
confirmButtonText: 'Hantar',
|
||||
showCancelButton: true,
|
||||
cancelButtonText: 'Batal',
|
||||
allowOutsideClick: false
|
||||
})
|
||||
|
||||
if (katalaluan !== undefined)
|
||||
await this.axios.get('/mintasemulakelulusan', {
|
||||
params: {
|
||||
passsemula: katalaluan
|
||||
}
|
||||
}).then(response => {
|
||||
|
||||
let refer2 = this;
|
||||
|
||||
if (response.data === 1) {
|
||||
|
||||
this.$swal({
|
||||
title: 'Masukkan Komen',
|
||||
input: 'text',
|
||||
inputPlaceholder: 'Katalaluan',
|
||||
confirmButtonText: 'Hantar',
|
||||
showCancelButton: false,
|
||||
cancelButtonText: 'Batal',
|
||||
allowOutsideClick: false
|
||||
}).then((result) => {
|
||||
if (refer2.userroles === "operasi") {
|
||||
refer2.axios.put(refer2.$hostname + '/admin/permohonan/updateoperasi', {
|
||||
kelulusan: "Batal",
|
||||
mohonid: mohonid,
|
||||
namaoperasi: refer2.username,
|
||||
komen: result.value
|
||||
}).then(response => {
|
||||
if (response.data === 1) {
|
||||
refer2.$swal({
|
||||
icon: 'success',
|
||||
title: 'Berjaya',
|
||||
text: 'Berjaya mengemaskini maklumat pelanggan',
|
||||
allowOutsideClick: false
|
||||
}).then(function () {
|
||||
refer.getSenaraiMohon(refer.currentPage);
|
||||
});
|
||||
} else {
|
||||
refer2.$swal({
|
||||
icon: 'warning',
|
||||
title: 'Tidak Berjaya',
|
||||
text: 'Data pelanggan tidak berjaya dikemaskini',
|
||||
allowOutsideClick: false
|
||||
}).then(function () {
|
||||
refer.getSenaraiMohon(refer.currentPage);
|
||||
});
|
||||
}
|
||||
});
|
||||
} else if (refer2.userroles === "akaun") {
|
||||
refer2.axios.put(refer2.$hostname + '/admin/permohonan/updateakaun', {
|
||||
kelulusan: "Batal",
|
||||
mohonid: mohonid,
|
||||
namaakaun: refer2.username,
|
||||
komen: result.value
|
||||
}).then(response => {
|
||||
if (response.data === 1) {
|
||||
refer2.$swal({
|
||||
icon: 'success',
|
||||
title: 'Berjaya',
|
||||
text: 'Berjaya mengemaskini maklumat pelanggan',
|
||||
allowOutsideClick: false
|
||||
}).then(function () {
|
||||
refer.getSenaraiMohon(refer.currentPage);
|
||||
});
|
||||
} else {
|
||||
refer2.$swal({
|
||||
icon: 'warning',
|
||||
title: 'Tidak Berjaya',
|
||||
text: 'Data pelanggan tidak berjaya dikemaskini',
|
||||
allowOutsideClick: false
|
||||
}).then(function () {
|
||||
refer.getSenaraiMohon(refer.currentPage);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
} else {
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
} else {
|
||||
this.$swal({
|
||||
icon: 'warning',
|
||||
title: 'Tidak Berjaya',
|
||||
text: 'Kata Laluan Yang Dimasukkan Salah!!',
|
||||
allowOutsideClick: false
|
||||
}).then(function () {
|
||||
refer.getSenaraiMohon(refer.currentPage);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
},
|
||||
async funcsetuju(mohonid) {
|
||||
|
||||
let refer = this;
|
||||
const {
|
||||
value: katalaluan
|
||||
} = await this.$swal({
|
||||
title: 'Masukkan Katalaluan Semula',
|
||||
input: 'password',
|
||||
inputPlaceholder: 'Katalaluan',
|
||||
confirmButtonText: 'Hantar',
|
||||
showCancelButton: true,
|
||||
cancelButtonText: 'Batal',
|
||||
allowOutsideClick: false
|
||||
})
|
||||
|
||||
if (katalaluan !== undefined)
|
||||
await this.axios.get('/mintasemulakelulusan', {
|
||||
params: {
|
||||
passsemula: katalaluan
|
||||
}
|
||||
}).then(response => {
|
||||
|
||||
if (response.data === 1) {
|
||||
|
||||
if (this.userroles === "operasi") {
|
||||
this.axios.put(this.$hostname + '/admin/permohonan/updateoperasi', {
|
||||
kelulusan: 'Lulus',
|
||||
mohonid: mohonid,
|
||||
namaoperasi: this.username
|
||||
}).then(response => {
|
||||
if (response.data === 1) {
|
||||
this.$swal({
|
||||
icon: 'success',
|
||||
title: 'Berjaya',
|
||||
text: 'Berjaya mengemaskini maklumat pelanggan',
|
||||
allowOutsideClick: false
|
||||
}).then(function () {
|
||||
refer.getSenaraiMohon(refer.currentPage);
|
||||
});
|
||||
|
||||
} else {
|
||||
this.$swal({
|
||||
icon: 'warning',
|
||||
title: 'Tidak Berjaya',
|
||||
text: 'Data pelanggan tidak berjaya dikemaskini',
|
||||
allowOutsideClick: false
|
||||
}).then(function () {
|
||||
refer.getSenaraiMohon(refer.currentPage);
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
} else if (this.userroles === 'akaun') {
|
||||
this.axios.put(this.$hostname + '/admin/permohonan/updateakaun', {
|
||||
kelulusan: 'Lulus',
|
||||
mohonid: mohonid,
|
||||
namaakaun: this.username
|
||||
}).then(response => {
|
||||
if (response.data === 1) {
|
||||
this.$swal({
|
||||
icon: 'success',
|
||||
title: 'Berjaya',
|
||||
text: 'Berjaya mengemaskini maklumat pelanggan',
|
||||
allowOutsideClick: false
|
||||
}).then(function () {
|
||||
refer.getSenaraiMohon(refer.currentPage);
|
||||
});
|
||||
|
||||
} else {
|
||||
this.$swal({
|
||||
icon: 'warning',
|
||||
title: 'Tidak Berjaya',
|
||||
text: 'Data pelanggan tidak berjaya dikemaskini',
|
||||
allowOutsideClick: false
|
||||
}).then(function () {
|
||||
refer.getSenaraiMohon(refer.currentPage);
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
} else {
|
||||
|
||||
}
|
||||
|
||||
} else {
|
||||
this.$swal({
|
||||
icon: 'warning',
|
||||
title: 'Tidak Berjaya',
|
||||
text: 'Kata Laluan Yang Dimasukkan Salah!!',
|
||||
allowOutsideClick: false
|
||||
}).then(function () {
|
||||
getSenaraiMohon(this.currentPage);
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
CetakanPB: function (caw, mid) {
|
||||
let refer = this;
|
||||
this.axios.put(this.$hostname + '/admin/permohonan/updatecetak', {
|
||||
mohonid: mid,
|
||||
namaprint: this.username
|
||||
}).then(response => {
|
||||
if (response.data === 1) {
|
||||
this.$swal({
|
||||
icon: 'success',
|
||||
title: 'Berjaya',
|
||||
text: 'Cetakan Berjaya Dijana!',
|
||||
allowOutsideClick: false
|
||||
}).then(function () {
|
||||
refer.getSenaraiMohon(refer.currentPage);
|
||||
});
|
||||
|
||||
} else {
|
||||
this.$swal({
|
||||
icon: 'warning',
|
||||
title: 'Tidak Berjaya',
|
||||
text: 'Cetakan Tidak Berjaya!',
|
||||
allowOutsideClick: false
|
||||
}).then(function () {
|
||||
refer.getSenaraiMohon(refer.currentPage);
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
let route = window.route('permohonan.cetakanpenuh', {
|
||||
_query: {
|
||||
cawangan: caw,
|
||||
mohonid: mid
|
||||
},
|
||||
});
|
||||
window.open(route, '_blank')
|
||||
},
|
||||
KelulusanPB: function (mid, mohon) {
|
||||
this.$refs.modal.mohonid = mid;
|
||||
this.$refs.modal.amaun_dimohon = mohon;
|
||||
this.$refs.modal.showModal = true;
|
||||
},
|
||||
DepositBank: function (mid) {
|
||||
this.$refs.bankmodal.mohonid = mid;
|
||||
this.$refs.bankmodal.showModal = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,486 @@
|
||||
<template>
|
||||
<div class="container px-1 px-md-4 py-5 mx-auto">
|
||||
|
||||
<router-link to="/permohonan">
|
||||
<i class="fas fa-backspace text-yellow-500"></i>
|
||||
</router-link>
|
||||
|
||||
<div v-if="this.loadstatus == true" class="card">
|
||||
|
||||
<div class="row flex justify-between px-3 top">
|
||||
<div class="d-flex">
|
||||
<h5>NO PERMOHONAN : <span class="text-primary font-weight-bold">{{ this.permohonan.nopermohonan }}</span></h5>
|
||||
<h5>JUMLAH MOHON : <span class="text-primary font-weight-bold">RM {{ formatterfunction(this.permohonan.amaun_mohon) }}</span></h5>
|
||||
</div>
|
||||
<div>
|
||||
<span class="text-white rounded font-weight-bold bg-green-500 p-3">{{ this.permohonan.jenismohon }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div v-if="this.permohonan.jenismohon === 'bayaranbalik'" class="flex mt--8">
|
||||
|
||||
<div class="w-full">
|
||||
|
||||
<ul id="progressbar" class="text-center flex justify-center items-center">
|
||||
|
||||
<li :class="this.permohonan.tarikh_permohonan !== null ? 'active' : ''" class="step0 w-1/4"></li>
|
||||
|
||||
<li :class="this.permohonan.tagcit === 1 ? 'active' : ''" class="step0 w-1/4"></li>
|
||||
|
||||
<li :class="this.permohonan.tagoperasi === 1 ? 'active' : ''" class="step0 w-1/4"></li>
|
||||
|
||||
<li :class="this.permohonan.tagakaun === 1 ? 'active' : ''" class="step0 w-1/4"></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div v-if="this.permohonan.jenismohon === 'bayaranbalik'" class="w-4/6 flex items-center mx-auto">
|
||||
|
||||
<div class="row flex flex-col justify-center items-center icon-content w-1/4"> <img class="icon mx-auto" src="/img/proposal.png">
|
||||
|
||||
<div class="flex flex-column">
|
||||
|
||||
<p class="font-weight-bold text-center">Permohonan <br>Cawangan</p>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="flex flex-col justify-center items-center icon-content w-1/4"> <img class="icon mx-auto" src="/img/operasicek.png">
|
||||
|
||||
<div class="flex flex-column">
|
||||
|
||||
<p class="font-weight-bold text-center">CIT selesai Deposit ke bank</p>
|
||||
<img v-if="this.permohonan.tagoperasi == 2" class="absolute icon mx-auto top-1/3 mt-10" src="/img/batal.png">
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="flex flex-col justify-center items-center icon-content w-1/4"> <img class="icon mx-auto" src="/img/operasicek.png">
|
||||
|
||||
<div class="flex flex-column">
|
||||
|
||||
<p class="font-weight-bold text-center">Pengesahan<br>Operasi</p>
|
||||
<img v-if="this.permohonan.tagoperasi == 2" class="absolute icon mx-auto top-1/3 mt-10" src="/img/batal.png">
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="flex flex-col justify-center items-center icon-content w-1/4"> <img class="icon mx-auto" src="/img/operasicek.png">
|
||||
|
||||
<div class="d-flex flex-column">
|
||||
|
||||
<p class="font-weight-bold text-center">Akaun</p>
|
||||
<img v-if="this.permohonan.tagakaun == 2" class="absolute icon mx-auto top-1/3 mt-10" src="/img/batal.png">
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div v-if="this.permohonan.jenismohon === 'permohonanwang'" class="flex mt--8">
|
||||
|
||||
<div class="w-full">
|
||||
|
||||
<ul id="progressbar" class="text-center flex">
|
||||
|
||||
<li :class="this.permohonan.tarikh_permohonan !== null ? 'active' : ''" class="step0 w-1/6"></li>
|
||||
|
||||
<li :class="this.permohonan.tagoperasi === 1 ? 'active' : ''" class="step0 w-1/6"></li>
|
||||
|
||||
<li :class="this.permohonan.tagakaun === 1 ? 'active' : ''" class="step0 w-1/6"></li>
|
||||
|
||||
<li :class="this.permohonan.tagpb === 1 ? 'active' : ''" class="step0 w-1/6"></li>
|
||||
|
||||
<li :class="this.permohonan.tagdeposit === 1 ? 'active' : ''" class="step0 w-1/6"></li>
|
||||
|
||||
<li :class="this.permohonan.tagterima === 1 ? 'active' : ''" class="step0 w-1/6"></li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div v-if="this.permohonan.jenismohon === 'permohonanwang'" class="flex w-full">
|
||||
|
||||
<div class="row flex flex-col justify-center items-center icon-content w-1/6"> <img class="icon mx-auto" src="/img/proposal.png">
|
||||
|
||||
<div class="flex flex-column">
|
||||
|
||||
<p class="font-weight-bold text-center">Permohonan <br>Cawangan</p>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="flex flex-col justify-center items-center icon-content w-1/6"> <img class="icon mx-auto" src="/img/operasicek.png">
|
||||
|
||||
<div class="flex flex-column">
|
||||
|
||||
<p class="font-weight-bold text-center">Pengesahan<br>Operasi</p>
|
||||
<img v-if="this.permohonan.tagoperasi == 2" class="absolute icon mx-auto top-1/3 mt-10" src="/img/batal.png">
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="flex flex-col justify-center items-center icon-content w-1/6"> <img class="icon mx-auto" src="/img/operasicek.png">
|
||||
|
||||
<div class="d-flex flex-column">
|
||||
|
||||
<p class="font-weight-bold text-center">Akaun</p>
|
||||
<img v-if="this.permohonan.tagakaun == 2" class="absolute icon mx-auto top-1/3 mt-10" src="/img/batal.png">
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="flex flex-col justify-center items-center icon-content w-1/6"> <img class="icon mx-auto" src="/img/leaderapproval.png">
|
||||
|
||||
<div class="d-flex flex-column">
|
||||
|
||||
<p class="font-weight-bold text-center">Kelulusan <br>Pengurus Besar</p>
|
||||
<img v-if="this.permohonan.tagpb == 2" class="absolute icon mx-auto top-1/3 mt-10" src="/img/batal.png">
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="flex flex-col justify-center items-center icon-content w-1/6"> <img class="icon mx-auto" src="/img/chequetick.png">
|
||||
|
||||
<div class="d-flex flex-column">
|
||||
|
||||
<p class="font-weight-bold text-center">Akaun <br> Deposit Ke Bank <br>Selesai</p>
|
||||
<img v-if="this.permohonan.tagdeposit == 2" class="absolute icon mx-auto top-1/3 mt-10" src="/img/batal.png">
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="flex flex-col justify-center items-center icon-content w-1/6"> <img class="icon mx-auto" src="/img/money.png">
|
||||
|
||||
<div class="d-flex flex-column">
|
||||
|
||||
<p class="font-weight-bold text-center">Cawangan<br> Terima Wang</p>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div v-if="this.loadstatus == true" class="">
|
||||
|
||||
|
||||
|
||||
<div class="p-4 flex justify-center items-center">
|
||||
|
||||
<table class="w-2/3 leading-normal">
|
||||
|
||||
<thead class="text-center">
|
||||
|
||||
<tr>
|
||||
|
||||
<th class="w-1/5 px-5 py-3 border-b-2 border-gray-200 bg-gray-100 text-left text-xs font-semibold text-gray-600 uppercase tracking-wider">
|
||||
|
||||
Tarikh
|
||||
|
||||
</th>
|
||||
|
||||
<th class="w-1/5 px-5 py-3 border-b-2 border-gray-200 bg-gray-100 text-left text-xs font-semibold text-gray-600 uppercase tracking-wider">
|
||||
|
||||
Masa
|
||||
|
||||
</th>
|
||||
|
||||
<th class="w-3/5 px-5 py-3 border-b-2 border-gray-200 bg-gray-100 text-left text-xs font-semibold text-gray-600 uppercase tracking-wider">
|
||||
|
||||
Status Permohonan
|
||||
|
||||
</th>
|
||||
|
||||
</tr>
|
||||
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<tr v-for="(status,i) in statusdescription" :key="i">
|
||||
<td class="text-center px-5 py-5 border-b border-gray-200 bg-white text-sm">
|
||||
|
||||
<div class="flex items-center">
|
||||
|
||||
<div class="ml-3">
|
||||
|
||||
<p class="text-gray-900 whitespace-no-wrap" v-text="status[0].tarikh">
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</td>
|
||||
|
||||
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
|
||||
|
||||
<div class="text-center flex items-center">
|
||||
|
||||
<div class="ml-3">
|
||||
|
||||
<p class="text-gray-900 whitespace-no-wrap" v-text="status[0].masa">
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</td>
|
||||
|
||||
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
|
||||
|
||||
<div class="flex items-center">
|
||||
|
||||
<div class="ml-3">
|
||||
|
||||
<p v-if="status.statusid === 1" class="text-gray-900 whitespace-no-wrap">
|
||||
{{ status.description }} <br> {{ 'NAMA PEMOHON : ' + status[0].nama_pemohon }}
|
||||
</p>
|
||||
|
||||
<p v-if="status.statusid === 2" class="text-gray-900 whitespace-no-wrap">
|
||||
{{ status.description }} <br> {{ 'NAMA OPERASI : ' + status[0].nama_operasi }}
|
||||
</p>
|
||||
|
||||
<p v-if="status.statusid === 3" class="text-gray-900 whitespace-no-wrap">
|
||||
{{ status.description }} <br> {{ 'NAMA AKAUN : ' + status[0].nama_akaun }}
|
||||
</p>
|
||||
|
||||
<p v-if="status.statusid === 4" class="text-gray-900 whitespace-no-wrap">
|
||||
{{ status.description }} <br> {{ 'JUMLAH DILULUSKAN : RM ' + formatterfunction(status[0].jumlah_diluluskan) }}
|
||||
<br>
|
||||
<button class="text-white p-2 bg-blue-500 rounded mr-1 mt-2" @click.prevent="downloadpb(status[0].pbfiles)">Muat Turun</button>
|
||||
</p>
|
||||
|
||||
<div v-if="status.statusid === 5" class="text-gray-900 whitespace-no-wrap">
|
||||
{{ status.description }}
|
||||
<br>
|
||||
<div class="w-full">
|
||||
<span class="w-1/2">{{ 'JENIS BANK : ' + status[0].jenisbank }}</span>
|
||||
<span class="w-1/2">{{ 'JENIS CIT : ' + status[0].jeniscit }}</span>
|
||||
</div>
|
||||
<br>
|
||||
<div class="w-full">
|
||||
<span class="w-1/2">{{ 'NO RESIT :' + status[0].noresit }}</span>
|
||||
<span class="w-1/2">{{ 'NAMA SYARIKAT :' + status[0].namasyarikat }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p v-if="status.statusid === 6" class="text-gray-900 whitespace-no-wrap">
|
||||
{{ status.description }} <br> {{ 'NAMA PENERIMA : ' + status[0].nama_penerima }}
|
||||
</p>
|
||||
|
||||
<p v-if="status.statusid === 7" class="text-gray-900 whitespace-no-wrap">
|
||||
{{ status.description }} <br> {{ 'KOMEN : ' + status[0].komen }}
|
||||
</p>
|
||||
|
||||
<p v-if="status.statusid === 8" class="text-gray-900 whitespace-no-wrap">
|
||||
{{ status.description }} <br> {{ 'JENIS BANK : ' + status[0].jenisbank }}
|
||||
<br>
|
||||
<button class="text-white p-2 bg-blue-500 rounded mr-1 mt-2" @click.prevent="downloadresit(status[0].resitfiles)">Muat Turun Resit</button>
|
||||
<button class="text-white p-2 bg-blue-500 rounded mt-2" @click.prevent="downloadinvoice(status[0].invoicefiles)">Muat Turun Invoice</button>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
.card {
|
||||
z-index: 0;
|
||||
background-color: #ECEFF1;
|
||||
padding-bottom: 20px;
|
||||
margin-top: 90px;
|
||||
margin-bottom: 90px;
|
||||
border-radius: 10px
|
||||
}
|
||||
|
||||
.top {
|
||||
padding-top: 40px;
|
||||
padding-left: 13% !important;
|
||||
padding-right: 13% !important
|
||||
}
|
||||
|
||||
#progressbar {
|
||||
margin-bottom: 30px;
|
||||
overflow: hidden;
|
||||
color: #455A64;
|
||||
padding-left: 0px;
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
#progressbar li {
|
||||
list-style-type: none;
|
||||
font-size: 13px;
|
||||
width: 17%;
|
||||
float: left;
|
||||
position: relative;
|
||||
font-weight: 400;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
#progressbar .step0:before {
|
||||
font-family: FontAwesome;
|
||||
content: "\f00d";
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#progressbar li:before {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
line-height: 45px;
|
||||
display: block;
|
||||
font-size: 20px;
|
||||
background: #C5CAE9;
|
||||
border-radius: 50%;
|
||||
margin: auto;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
#progressbar li:after {
|
||||
content: '';
|
||||
width: 100%;
|
||||
height: 12px;
|
||||
background: #c5cae9e8;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 16px;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
#progressbar li:last-child:after {
|
||||
border-top-right-radius: 10px;
|
||||
border-bottom-right-radius: 10px;
|
||||
position: absolute;
|
||||
/* left: -50%; */
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
/* #progressbar li:nth-child(2):after,
|
||||
#progressbar li:nth-child(3):after,
|
||||
#progressbar li:nth-child(4):after {
|
||||
left: -50%
|
||||
} */
|
||||
|
||||
#progressbar li:first-child:after {
|
||||
border-top-left-radius: 10px;
|
||||
border-bottom-left-radius: 10px;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
}
|
||||
|
||||
#progressbar li:last-child:after {
|
||||
border-top-right-radius: 10px;
|
||||
border-bottom-right-radius: 10px
|
||||
}
|
||||
|
||||
#progressbar li:first-child:after {
|
||||
border-top-left-radius: 10px;
|
||||
border-bottom-left-radius: 10px
|
||||
}
|
||||
|
||||
#progressbar li.active:before,
|
||||
#progressbar li.active:after {
|
||||
background: #e67e22
|
||||
}
|
||||
|
||||
#progressbar li.active:before {
|
||||
font-family: FontAwesome;
|
||||
content: "\f00c"
|
||||
}
|
||||
|
||||
.icon {
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
/* margin-right: 15px */
|
||||
}
|
||||
|
||||
.icon-content {
|
||||
padding-bottom: 20px
|
||||
}
|
||||
|
||||
@media screen and (max-width: 992px) {
|
||||
.icon-content {
|
||||
width: 50%
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
<script>
|
||||
|
||||
const formatter = new Intl.NumberFormat('en-US', {
|
||||
minimumFractionDigits: 2
|
||||
});
|
||||
|
||||
export default {
|
||||
data(){
|
||||
return{
|
||||
mohonid: this.$route.params.mohonid,
|
||||
statusdescription:{},
|
||||
permohonan:{},
|
||||
cawangan: 'KB2',
|
||||
loadstatus: false
|
||||
}
|
||||
},
|
||||
created(){
|
||||
this.GetStatusData(this.mohonid,this.cawangan);
|
||||
},
|
||||
methods:{
|
||||
async GetStatusData(mohonid,cawangan){
|
||||
await this.axios.get(this.$hostname + '/admin/permohonan/description/' + mohonid).then(response => {
|
||||
this.statusdescription = response.data;
|
||||
console.log(this.statusdescription)
|
||||
});
|
||||
|
||||
await this.axios.get(this.$hostname + '/admin/permohonan/get/' + cawangan + '/' + mohonid).then(response => {
|
||||
this.permohonan = response.data;
|
||||
});
|
||||
this.loadstatus = true;
|
||||
},
|
||||
formatterfunction(value) {
|
||||
return formatter.format(value)
|
||||
},
|
||||
downloadresit(resitid) {
|
||||
window.open('/api/check/muatturun?files_id=' + resitid, '_blank');
|
||||
},
|
||||
downloadinvoice(invoiceid) {
|
||||
window.open('/api/check/muatturun?files_id=' + invoiceid, '_blank');
|
||||
},
|
||||
downloadpb(pbid) {
|
||||
window.open('/api/check/muatturun?files_id=' + pbid, '_blank');
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,10 @@
|
||||
<template>
|
||||
<router-view>
|
||||
</router-view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
|
||||
}
|
||||
</script>
|
||||
Vendored
+8
@@ -120,6 +120,9 @@ Vue.use(require('vue-pusher'), {
|
||||
});
|
||||
|
||||
Vue.prototype.$api1 = 'http://api.arrahn'
|
||||
Vue.prototype.$username = document.querySelector("meta[name='user_name']").getAttribute('content');
|
||||
Vue.prototype.$userroles = document.querySelector("meta[name='user_roles']").getAttribute('content');
|
||||
|
||||
|
||||
let initial = 'KB2';
|
||||
let initialhostname = 'http://api.arrahn';
|
||||
@@ -210,6 +213,11 @@ Vue.component('clock-component', require('./components/util/Clock.vue').default)
|
||||
Vue.component('logout-component', require('./Logout.vue').default)
|
||||
Vue.component('notify-component', require('./components/util/Notify.vue').default)
|
||||
|
||||
|
||||
Vue.component('permohonanindex-component', require('./Permohonan/index.vue').default)
|
||||
|
||||
Vue.component('permohonan-component', require('./Permohonan/SenaraiMohon.vue').default)
|
||||
|
||||
Vue.component('apexchart', VueApexCharts)
|
||||
|
||||
|
||||
|
||||
Vendored
+8
-8
@@ -29,13 +29,13 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
|
||||
* allows your team to easily build robust real-time web applications.
|
||||
*/
|
||||
|
||||
// import Echo from 'laravel-echo';
|
||||
import Echo from 'laravel-echo';
|
||||
|
||||
// window.Pusher = require('pusher-js');
|
||||
window.Pusher = require('pusher-js');
|
||||
|
||||
// window.Echo = new Echo({
|
||||
// broadcaster: 'pusher',
|
||||
// key: process.env.MIX_PUSHER_APP_KEY,
|
||||
// cluster: process.env.MIX_PUSHER_APP_CLUSTER,
|
||||
// forceTLS: true
|
||||
// });
|
||||
window.Echo = new Echo({
|
||||
broadcaster: 'pusher',
|
||||
key: process.env.MIX_PUSHER_APP_KEY,
|
||||
cluster: process.env.MIX_PUSHER_APP_CLUSTER,
|
||||
forceTLS: true
|
||||
});
|
||||
|
||||
@@ -1,205 +1,191 @@
|
||||
<template>
|
||||
<div class="mb-4 w-full grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4">
|
||||
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8" v-if="datareadypemb === false">
|
||||
<content-placeholders>
|
||||
<content-placeholders-heading :img="true" />
|
||||
<content-placeholders-text :lines="3" />
|
||||
</content-placeholders>
|
||||
<div class="mb-4 w-full grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4">
|
||||
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8" v-if="datareadypemb === false">
|
||||
<content-placeholders>
|
||||
<content-placeholders-heading :img="true" />
|
||||
<content-placeholders-text :lines="3" />
|
||||
</content-placeholders>
|
||||
</div>
|
||||
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8" v-if="datareadypemb === true">
|
||||
|
||||
<div class="mb-3 mx-auto justify-center flex">
|
||||
<h3 class="text-3xl font-bold text-gray-500">Pembiayaan</h3>
|
||||
</div>
|
||||
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8" v-if="datareadypemb === true">
|
||||
|
||||
<div class="mb-3 mx-auto justify-center flex">
|
||||
<h3 class="text-3xl font-bold text-gray-500">Pembiayaan</h3>
|
||||
|
||||
<div class="flex flex-nowrap justify-between">
|
||||
<div class="xl:w-3/4 2xl:w-3/4 lg:w-2/3 h-4 bg-gray-200 rounded-full">
|
||||
<div class="bg-yellow-600 text-xs font-medium text-yellow-100 text-center p-0.5 leading-none rounded-l-full rounded-r-full" v-bind:style="{ width: (percentcumgadai > 100) ? '100%' : percentcumgadai + '%' }"> {{ this.percentcumgadai }}%</div>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-nowrap">
|
||||
<div class="w-3/4 h-4 bg-gray-200 rounded-full">
|
||||
<div class="bg-yellow-600 text-xs font-medium text-yellow-100 text-center p-0.5 leading-none rounded-l-full rounded-r-full" v-bind:style="{ width: (percentcumgadai > 100) ? 100 : percentcumgadai + '%' }"> {{ this.percentcumgadai }}%</div>
|
||||
</div>
|
||||
|
||||
<div class="xl:w-2/5 2xl:w-1/4 grid grid-rows-2">
|
||||
<span class="text-sm ml-2 font-bold -mt-0.5 xs:invisible">RM {{ gadaianremaining }}</span>
|
||||
<!-- <span class="text-xs leading-none font-bold text-gray-900 mx-auto flex place-self-center -mt-3 ml-12">remaining.. </span> -->
|
||||
</div>
|
||||
<div class="xl:w-2/5 2xl:w-1/4 lg:w-1/3 grid grid-rows-2">
|
||||
<span class="text-sm ml-2 font-bold -mt-0.5 xs:invisible">RM {{ gadaianremaining }}</span>
|
||||
<!-- <span class="text-xs leading-none font-bold text-gray-900 mx-auto flex place-self-center -mt-3 ml-12">remaining.. </span> -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex pt-2 -mt-2">
|
||||
<div class="grid grid-rows-2 ml-1 mt-2 w-1/2">
|
||||
<div class="flex">
|
||||
<div class="flex pt-2 -mt-2 justify-between">
|
||||
<div class="grid grid-rows-2 ml-1 mt-2 lg:w-1/2">
|
||||
<div class="flex">
|
||||
<span class="text-sm leading-none font-bold text-gray-700x xl:w-2/5 2xl:w-1/4 uppercase"> Harian</span>
|
||||
<span class="text-sm leading-none font-bold text-gray-700 mr-2">:</span>
|
||||
<span class="text-sm leading-none font-bold text-gray-700">RM {{ gadaianharian }}</span>
|
||||
</div>
|
||||
<div class="flex">
|
||||
</div>
|
||||
<div class="flex">
|
||||
<span class="text-sm leading-none font-bold text-yellow-700 xl:w-2/5 2xl:w-1/4 uppercase"> Bajet</span>
|
||||
<span class="text-sm leading-none font-bold text-gray-700 mr-2">:</span>
|
||||
<span class="text-sm leading-none font-bold text-yellow-900"> RM {{ bajetgadaian }} </span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ml-4 text-center w-1/6">
|
||||
<!-- <h3 class="text-3xl font-bold -mt-1 text-gray-500">Pembiayaan</h3> -->
|
||||
<!-- <span class="text-base leading-none font-bold text-gray-900 text-center">{{ this.bulan }} </span> -->
|
||||
</div>
|
||||
<div class="grid grid-rows-2 ml-2 mt-2 w-2/6 flex place-content-end">
|
||||
<h3 v-if="percentgadaian > 0" class="text-base font-bold -mt-1 text-green-500 flex items-center mx-auto">{{ percentgadaian.toFixed(2) }}%
|
||||
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
||||
</div>
|
||||
<div class="grid grid-rows-2 ml-2 mt-2 lg:w-1/3 flex place-content-end">
|
||||
<h3 v-if="percentgadaian > 0" class="text-base font-bold -mt-1 text-green-500 flex items-center mx-auto">{{ percentgadaian.toFixed(2) }}%
|
||||
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" d="M5.293 7.707a1 1 0 010-1.414l4-4a1 1 0 011.414 0l4 4a1 1 0 01-1.414 1.414L11 5.414V17a1 1 0 11-2 0V5.414L6.707 7.707a1 1 0 01-1.414 0z" clip-rule="evenodd"></path>
|
||||
</svg>
|
||||
</h3>
|
||||
<h3 v-if="percentgadaian == 0" class="text-base font-bold -mt-1 text-yellow-500 flex items-center mx-auto">{{ percentgadaian.toFixed(2) }}%
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
</svg>
|
||||
</h3>
|
||||
<h3 v-if="percentgadaian == 0" class="text-base font-bold -mt-1 text-yellow-500 flex items-center mx-auto">{{ percentgadaian.toFixed(2) }}%
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M18 12H6" />
|
||||
</svg>
|
||||
</h3>
|
||||
<h3 v-if="percentgadaian < 0" class="text-base font-bold -mt-1 text-red-500 flex items-center mx-auto">{{ percentgadaian.toFixed(2) }}%
|
||||
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
||||
</svg>
|
||||
</h3>
|
||||
<h3 v-if="percentgadaian < 0" class="text-base font-bold -mt-1 text-red-500 flex items-center mx-auto">{{ percentgadaian.toFixed(2) }}%
|
||||
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" d="M14.707 12.293a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 111.414-1.414L9 14.586V3a1 1 0 012 0v11.586l2.293-2.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
|
||||
</svg>
|
||||
</h3>
|
||||
<span class="text-xs leading-none font-bold text-gray-900 ml-4">Varians.</span>
|
||||
</div>
|
||||
</svg>
|
||||
</h3>
|
||||
<span class="text-xs leading-none font-bold text-gray-900 ml-4">Varians.</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8" v-if="datareadypeny === false">
|
||||
<content-placeholders>
|
||||
<content-placeholders-heading :img="true" />
|
||||
<content-placeholders-text :lines="3" />
|
||||
</content-placeholders>
|
||||
</div>
|
||||
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8 " v-if="datareadypeny === true">
|
||||
|
||||
<div class="mb-3 mx-auto justify-center flex">
|
||||
<h3 class="text-3xl font-bold text-gray-500">Penebusan</h3>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-nowrap justify-between">
|
||||
<div class="xl:w-3/4 2xl:w-3/4 lg:w-2/3 h-4 bg-gray-200 rounded-full">
|
||||
<div class="bg-yellow-600 text-xs font-medium text-yellow-100 text-center p-0.5 leading-none rounded-l-full rounded-r-full" v-bind:style="{ width: (percentcumtebus > 100) ? '100%' : percentcumtebus + '%' }"> {{ percentcumtebus }}%</div>
|
||||
</div>
|
||||
|
||||
<div class="xl:w-2/5 2xl:w-1/4 grid grid-rows-2">
|
||||
<span class="text-sm ml-2 font-bold -mt-0.5">RM {{ tebusremaining }}</span>
|
||||
<!-- <span class="text-xs leading-none font-bold text-gray-900 mx-auto flex place-self-center -mt-3 ml-12">remaining.. </span> -->
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8" v-if="datareadypeny === false">
|
||||
<content-placeholders>
|
||||
<content-placeholders-heading :img="true" />
|
||||
<content-placeholders-text :lines="3" />
|
||||
</content-placeholders>
|
||||
</div>
|
||||
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8 " v-if="datareadypeny === true">
|
||||
|
||||
<div class="mb-3 mx-auto justify-center flex">
|
||||
<h3 class="text-3xl font-bold text-gray-500">Penebusan</h3>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-nowrap">
|
||||
<div class="w-3/4 h-4 bg-gray-200 rounded-full">
|
||||
<div class="bg-yellow-600 text-xs font-medium text-yellow-100 text-center p-0.5 leading-none rounded-l-full rounded-r-full" v-bind:style="{ width: (percentcumtebus > 100) ? 100 : percentcumtebus + '%' }"> {{ percentcumtebus }}%</div>
|
||||
</div>
|
||||
|
||||
<div class="xl:w-2/5 2xl:w-1/4 grid grid-rows-2">
|
||||
<span class="text-sm ml-2 font-bold -mt-0.5">RM {{ tebusremaining }}</span>
|
||||
<!-- <span class="text-xs leading-none font-bold text-gray-900 mx-auto flex place-self-center -mt-3 ml-12">remaining.. </span> -->
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="flex pt-2 -mt-2">
|
||||
<div class="grid grid-rows-2 ml-1 mt-2 w-1/2">
|
||||
<!-- <span class="text-sm leading-none font-bold text-gray-700"><i class="fas fa-calendar-day"></i> RM {{ penebusanharian }}</span>
|
||||
<div class="flex pt-2 -mt-2 justify-between">
|
||||
<div class="grid grid-rows-2 ml-1 mt-2 lg:w-1/2">
|
||||
<!-- <span class="text-sm leading-none font-bold text-gray-700"><i class="fas fa-calendar-day"></i> RM {{ penebusanharian }}</span>
|
||||
<span class="text-sm leading-none font-bold text-yellow-900"><i class="fas fa-chart-pie"></i> RM {{ bajetpenebusan }} </span> -->
|
||||
<div class="flex">
|
||||
<div class="flex">
|
||||
<span class="text-sm leading-none font-bold text-gray-700 xl:w-2/5 2xl:w-1/4 uppercase"> Harian</span>
|
||||
<span class="text-sm leading-none font-bold text-gray-700 mr-2">:</span>
|
||||
<span class="text-sm leading-none font-bold text-gray-700">RM {{ penebusanharian }}</span>
|
||||
</div>
|
||||
<div class="flex">
|
||||
</div>
|
||||
<div class="flex">
|
||||
<span class="text-sm leading-none font-bold text-yellow-700 xl:w-2/5 2xl:w-1/4 uppercase"> Bajet</span>
|
||||
<span class="text-sm leading-none font-bold text-gray-700 mr-2">:</span>
|
||||
<span class="text-sm leading-none font-bold text-yellow-900"> RM {{ bajetpenebusan }} </span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ml-4 text-center w-1/6">
|
||||
<!-- <h3 class="text-3xl font-bold -mt-1 text-gray-500">Penebusan</h3>
|
||||
<span class="text-base leading-none font-bold text-gray-900 text-center">{{ this.bulan }} </span> -->
|
||||
</div>
|
||||
<div class="grid grid-rows-2 ml-2 mt-2 w-2/6 flex place-content-end">
|
||||
<h3 v-if="percentpenebusan > 0" class="text-base font-bold -mt-1 text-green-500 flex items-center mx-auto">{{ percentpenebusan.toFixed(2) }}%
|
||||
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
||||
</div>
|
||||
<div class="grid grid-rows-2 ml-2 mt-2 lg:1/3 flex place-content-end">
|
||||
<h3 v-if="percentpenebusan > 0" class="text-base font-bold -mt-1 text-green-500 flex items-center mx-auto">{{ percentpenebusan.toFixed(2) }}%
|
||||
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" d="M5.293 7.707a1 1 0 010-1.414l4-4a1 1 0 011.414 0l4 4a1 1 0 01-1.414 1.414L11 5.414V17a1 1 0 11-2 0V5.414L6.707 7.707a1 1 0 01-1.414 0z" clip-rule="evenodd"></path>
|
||||
</svg>
|
||||
</h3>
|
||||
<h3 v-if="percentpenebusan == 0" class="text-base font-bold -mt-1 text-yellow-500 flex items-center mx-auto">{{ percentpenebusan.toFixed(2) }}%
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
</svg>
|
||||
</h3>
|
||||
<h3 v-if="percentpenebusan == 0" class="text-base font-bold -mt-1 text-yellow-500 flex items-center mx-auto">{{ percentpenebusan.toFixed(2) }}%
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M18 12H6" />
|
||||
</svg>
|
||||
</h3>
|
||||
<h3 v-if="percentpenebusan < 0" class="text-base font-bold -mt-1 text-red-500 flex items-center mx-auto">{{ percentpenebusan.toFixed(2) }}%
|
||||
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
||||
</svg>
|
||||
</h3>
|
||||
<h3 v-if="percentpenebusan < 0" class="text-base font-bold -mt-1 text-red-500 flex items-center mx-auto">{{ percentpenebusan.toFixed(2) }}%
|
||||
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" d="M14.707 12.293a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 111.414-1.414L9 14.586V3a1 1 0 012 0v11.586l2.293-2.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
|
||||
</svg>
|
||||
</h3>
|
||||
<span class="text-xs leading-none font-bold text-gray-900 ml-4">Varians.</span>
|
||||
</div>
|
||||
</svg>
|
||||
</h3>
|
||||
<span class="text-xs leading-none font-bold text-gray-900 ml-4">Varians.</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8" v-if="datareadykeun === false">
|
||||
<content-placeholders>
|
||||
<content-placeholders-heading :img="true" />
|
||||
<content-placeholders-text :lines="3" />
|
||||
</content-placeholders>
|
||||
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8" v-if="datareadykeun === false">
|
||||
<content-placeholders>
|
||||
<content-placeholders-heading :img="true" />
|
||||
<content-placeholders-text :lines="3" />
|
||||
</content-placeholders>
|
||||
</div>
|
||||
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8 " v-if="datareadykeun === true">
|
||||
|
||||
<div class="mb-3 mx-auto justify-center flex">
|
||||
<h3 class="text-3xl font-bold text-gray-500">Keuntungan</h3>
|
||||
</div>
|
||||
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8 " v-if="datareadykeun === true">
|
||||
|
||||
<div class="mb-3 mx-auto justify-center flex">
|
||||
<h3 class="text-3xl font-bold text-gray-500">Keuntungan</h3>
|
||||
|
||||
<div class="flex flex-nowrap">
|
||||
<div class="xl:w-3/4 2xl:w-3/4 lg:w-2/3 h-4 bg-gray-200 rounded-full">
|
||||
<div class="bg-yellow-600 text-xs font-medium text-yellow-100 text-center p-0.5 leading-none rounded-l-full rounded-r-full" v-bind:style="{ width: (percentcumkeuntungan > 100) ? '100%' : percentcumkeuntungan + '%' }"> {{percentcumkeuntungan}}%</div>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-nowrap">
|
||||
<div class="w-3/4 h-4 bg-gray-200 rounded-full">
|
||||
<div class="bg-yellow-600 text-xs font-medium text-yellow-100 text-center p-0.5 leading-none rounded-l-full rounded-r-full" v-bind:style="{ width: (percentcumkeuntungan > 100) ? 100 : percentcumkeuntungan + '%' }"> {{percentcumkeuntungan}}%</div>
|
||||
</div>
|
||||
|
||||
<div class="xl:w-2/5 2xl:w-1/4 grid grid-rows-2">
|
||||
<span class="text-sm ml-2 font-bold -mt-0.5">RM {{ keuntunganremaining }}</span>
|
||||
<!-- <span class="text-xs leading-none font-bold text-gray-900 mx-auto flex place-self-center -mt-3 ml-12">remaining.. </span> -->
|
||||
|
||||
|
||||
</div>
|
||||
<div class="xl:w-2/5 2xl:w-1/4 grid grid-rows-2">
|
||||
<span class="text-sm ml-2 font-bold -mt-0.5">RM {{ keuntunganremaining }}</span>
|
||||
<!-- <span class="text-xs leading-none font-bold text-gray-900 mx-auto flex place-self-center -mt-3 ml-12">remaining.. </span> -->
|
||||
|
||||
</div>
|
||||
|
||||
<div class="flex pt-2 -mt-2">
|
||||
<div class="grid grid-rows-2 ml-1 mt-2 w-1/2">
|
||||
<!-- <span class="text-sm leading-none font-bold text-gray-700"><i class="fas fa-calendar-day"></i> RM {{ keuntunganharian }}</span>
|
||||
</div>
|
||||
|
||||
<div class="flex pt-2 -mt-2 justify-between">
|
||||
<div class="grid grid-rows-2 ml-1 mt-2 lg:w-1/2">
|
||||
<!-- <span class="text-sm leading-none font-bold text-gray-700"><i class="fas fa-calendar-day"></i> RM {{ keuntunganharian }}</span>
|
||||
<span class="text-sm leading-none font-bold text-yellow-900"><i class="fas fa-chart-pie"></i> RM {{ bajetkeuntungan }} </span> -->
|
||||
<div class="flex">
|
||||
<div class="flex">
|
||||
<span class="text-sm leading-none font-bold text-gray-700 xl:w-2/5 2xl:w-1/4 uppercase"> Harian</span>
|
||||
<span class="text-sm leading-none font-bold text-gray-700 mr-2">:</span>
|
||||
<span class="text-sm leading-none font-bold text-gray-700">RM {{ keuntunganharian }}</span>
|
||||
</div>
|
||||
<div class="flex">
|
||||
</div>
|
||||
<div class="flex">
|
||||
<span class="text-sm leading-none font-bold text-yellow-700 xl:w-2/5 2xl:w-1/4 uppercase"> Bajet</span>
|
||||
<span class="text-sm leading-none font-bold text-gray-700 mr-2">:</span>
|
||||
<span class="text-sm leading-none font-bold text-yellow-900"> RM {{ bajetkeuntungan }} </span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ml-4 text-center w-1/6">
|
||||
<!-- <h3 class="text-3xl font-bold -mt-1 text-gray-500">Keuntungan</h3>
|
||||
<span class="text-base leading-none font-bold text-gray-900 text-center">{{ this.bulan }} </span> -->
|
||||
</div>
|
||||
<div class="grid grid-rows-2 ml-2 mt-2 w-2/6 flex place-content-end">
|
||||
<h3 v-if="percentkeuntungan > 0" class="text-base font-bold -mt-1 text-green-500 flex items-center mx-auto">{{ percentkeuntungan.toFixed(2) }}%
|
||||
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" d="M5.293 7.707a1 1 0 010-1.414l4-4a1 1 0 011.414 0l4 4a1 1 0 01-1.414 1.414L11 5.414V17a1 1 0 11-2 0V5.414L6.707 7.707a1 1 0 01-1.414 0z" clip-rule="evenodd"></path>
|
||||
</svg>
|
||||
</h3>
|
||||
<h3 v-if="percentkeuntungan == 0" class="text-base font-bold -mt-1 text-yellow-500 flex items-center mx-auto">{{ percentkeuntungan.toFixed(2) }}%
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M18 12H6" />
|
||||
</svg>
|
||||
</h3>
|
||||
<h3 v-if="percentkeuntungan < 0" class="text-base font-bold -mt-1 text-red-500 flex items-center mx-auto">{{ percentkeuntungan.toFixed(2) }}%
|
||||
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" d="M14.707 12.293a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 111.414-1.414L9 14.586V3a1 1 0 012 0v11.586l2.293-2.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
|
||||
</svg>
|
||||
</h3>
|
||||
<span class="text-xs leading-none font-bold text-gray-900 ml-4">Varians.</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="grid grid-rows-2 ml-2 mt-2 lg:w-1/3 flex place-content-end">
|
||||
<h3 v-if="percentkeuntungan > 0" class="text-base font-bold -mt-1 text-green-500 flex items-center mx-auto">{{ percentkeuntungan.toFixed(2) }}%
|
||||
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" d="M5.293 7.707a1 1 0 010-1.414l4-4a1 1 0 011.414 0l4 4a1 1 0 01-1.414 1.414L11 5.414V17a1 1 0 11-2 0V5.414L6.707 7.707a1 1 0 01-1.414 0z" clip-rule="evenodd"></path>
|
||||
</svg>
|
||||
</h3>
|
||||
<h3 v-if="percentkeuntungan == 0" class="text-base font-bold -mt-1 text-yellow-500 flex items-center mx-auto">{{ percentkeuntungan.toFixed(2) }}%
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M18 12H6" />
|
||||
</svg>
|
||||
</h3>
|
||||
<h3 v-if="percentkeuntungan < 0" class="text-base font-bold -mt-1 text-red-500 flex items-center mx-auto">{{ percentkeuntungan.toFixed(2) }}%
|
||||
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" d="M14.707 12.293a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 111.414-1.414L9 14.586V3a1 1 0 012 0v11.586l2.293-2.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
|
||||
</svg>
|
||||
</h3>
|
||||
<span class="text-xs leading-none font-bold text-gray-900 ml-4">Varians.</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
const formatter = new Intl.NumberFormat('en-US', {
|
||||
minimumFractionDigits: 2
|
||||
minimumFractionDigits: 2
|
||||
});
|
||||
|
||||
export default {
|
||||
@@ -207,29 +193,29 @@ export default {
|
||||
// props:{
|
||||
// kodcaw: String
|
||||
// },
|
||||
data() {
|
||||
return {
|
||||
keuntunganharian:0,
|
||||
bajetkeuntungan:0,
|
||||
percentkeuntungan:0,
|
||||
keuntunganremaining:0,
|
||||
percentcumkeuntungan:0,
|
||||
penebusanharian:0,
|
||||
bajetpenebusan:0,
|
||||
percentpenebusan:0,
|
||||
tebusremaining:0,
|
||||
percentcumtebus:0,
|
||||
gadaianharian:0,
|
||||
gadaianremaining:0,
|
||||
bajetgadaian:0,
|
||||
percentgadaian:0,
|
||||
percentcumgadai:0,
|
||||
bulan:'',
|
||||
datareadypemb: false,
|
||||
datareadypeny: false,
|
||||
datareadykeun: false,
|
||||
};
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
keuntunganharian: 0,
|
||||
bajetkeuntungan: 0,
|
||||
percentkeuntungan: 0,
|
||||
keuntunganremaining: 0,
|
||||
percentcumkeuntungan: 0,
|
||||
penebusanharian: 0,
|
||||
bajetpenebusan: 0,
|
||||
percentpenebusan: 0,
|
||||
tebusremaining: 0,
|
||||
percentcumtebus: 0,
|
||||
gadaianharian: 0,
|
||||
gadaianremaining: 0,
|
||||
bajetgadaian: 0,
|
||||
percentgadaian: 0,
|
||||
percentcumgadai: 0,
|
||||
bulan: '',
|
||||
datareadypemb: false,
|
||||
datareadypeny: false,
|
||||
datareadykeun: false,
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getDataPembiayaan()
|
||||
this.getDataPenebusan()
|
||||
@@ -238,90 +224,96 @@ export default {
|
||||
methods: {
|
||||
getDataPembiayaan() {
|
||||
this.axios.get(this.$hostname + '/admin/pembiayaanToday', {
|
||||
params: {
|
||||
kodcaw: this.$kodcaw
|
||||
}
|
||||
params: {
|
||||
kodcaw: this.$kodcaw
|
||||
}
|
||||
}).then(response => {
|
||||
this.gadaianharian = formatter.format(response.data[0].gadaiToday),
|
||||
this.bajetgadaian = formatter.format(response.data[0].bajetharian.toFixed(2)),
|
||||
this.percentgadaian = response.data[0].percentDiff,
|
||||
this.bulan = response.data[0].bulan,
|
||||
this.gadaianremaining = formatter.format(response.data[0].remaining.toFixed(2)),
|
||||
this.percentcumgadai = (100 - response.data[0].percentcum)
|
||||
this.bajetgadaian = formatter.format(response.data[0].bajetharian.toFixed(2)),
|
||||
this.percentgadaian = response.data[0].percentDiff,
|
||||
this.bulan = response.data[0].bulan,
|
||||
this.gadaianremaining = formatter.format(response.data[0].remaining.toFixed(2)),
|
||||
this.percentcumgadai = (100 - response.data[0].percentcum)
|
||||
|
||||
if(this.datareadypemb == false)
|
||||
if (this.datareadypemb == false)
|
||||
this.datareadypemb = true;
|
||||
|
||||
}).catch(error => {
|
||||
console.log(error)
|
||||
})
|
||||
},
|
||||
getDataPenebusan(){
|
||||
this.axios.get(this.$hostname + '/admin/penebusanToday', {
|
||||
params: {
|
||||
kodcaw: this.$kodcaw
|
||||
}
|
||||
getDataPenebusan() {
|
||||
this.axios.get(this.$hostname + '/admin/penebusanToday', {
|
||||
params: {
|
||||
kodcaw: this.$kodcaw
|
||||
}
|
||||
}).then(response => {
|
||||
this.penebusanharian = formatter.format(response.data[0].tebusToday),
|
||||
this.bajetpenebusan = formatter.format(response.data[0].bajetharian.toFixed(2)),
|
||||
this.percentpenebusan = response.data[0].percentDiff,
|
||||
this.tebusremaining = formatter.format(response.data[0].remaining.toFixed(2)),
|
||||
this.percentcumtebus = (100 - response.data[0].percentcum)
|
||||
this.bajetpenebusan = formatter.format(response.data[0].bajetharian.toFixed(2)),
|
||||
this.percentpenebusan = response.data[0].percentDiff,
|
||||
this.tebusremaining = formatter.format(response.data[0].remaining.toFixed(2)),
|
||||
this.percentcumtebus = (100 - response.data[0].percentcum)
|
||||
|
||||
if(this.datareadypeny == false)
|
||||
if (this.datareadypeny == false)
|
||||
this.datareadypeny = true;
|
||||
}).catch(error => {
|
||||
console.log(error)
|
||||
})
|
||||
},
|
||||
getDataKeuntungan(){
|
||||
this.axios.get(this.$api1 + '/admin/keuntunganToday', {
|
||||
params: {
|
||||
kodcaw: this.$kodcaw
|
||||
}
|
||||
getDataKeuntungan() {
|
||||
this.axios.get(this.$api1 + '/admin/keuntunganToday', {
|
||||
params: {
|
||||
kodcaw: this.$kodcaw
|
||||
}
|
||||
}).then(response => {
|
||||
console.log(this.$api1)
|
||||
this.keuntunganharian = formatter.format(response.data[0].upahToday),
|
||||
this.bajetkeuntungan = formatter.format(response.data[0].bajetharian.toFixed(2)),
|
||||
this.percentkeuntungan = response.data[0].percentDiff,
|
||||
this.keuntunganremaining = formatter.format(response.data[0].remaining.toFixed(2)),
|
||||
this.percentcumkeuntungan = (100 - response.data[0].percentcum)
|
||||
this.bajetkeuntungan = formatter.format(response.data[0].bajetharian.toFixed(2)),
|
||||
this.percentkeuntungan = response.data[0].percentDiff,
|
||||
this.keuntunganremaining = formatter.format(response.data[0].remaining.toFixed(2)),
|
||||
this.percentcumkeuntungan = (100 - response.data[0].percentcum)
|
||||
|
||||
if(this.datareadykeun == false)
|
||||
if (this.datareadykeun == false)
|
||||
this.datareadykeun = true;
|
||||
}).catch(error => {
|
||||
console.log(error)
|
||||
})
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
mounted() {
|
||||
var channel = this.$pusher.subscribe('gadai-notify');
|
||||
|
||||
channel.bind('trigger-gadai', ({ cawangan }) => {
|
||||
channel.bind('trigger-gadai', ({
|
||||
cawangan
|
||||
}) => {
|
||||
console.log(`${cawangan}`);
|
||||
|
||||
if(this.$kodcaw === cawangan)
|
||||
this.getDataPembiayaan()
|
||||
if (this.$kodcaw === cawangan)
|
||||
this.getDataPembiayaan()
|
||||
});
|
||||
|
||||
var channel = this.$pusher.subscribe('tebus-notify');
|
||||
|
||||
channel.bind('trigger-tebus', ({ cawangan }) => {
|
||||
channel.bind('trigger-tebus', ({
|
||||
cawangan
|
||||
}) => {
|
||||
console.log(`${cawangan}`);
|
||||
|
||||
if(this.$kodcaw === cawangan)
|
||||
this.getDataPenebusan()
|
||||
if (this.$kodcaw === cawangan)
|
||||
this.getDataPenebusan()
|
||||
});
|
||||
|
||||
var channel = this.$pusher.subscribe('keuntungan-notify');
|
||||
|
||||
channel.bind('trigger-keuntungan', ({ cawangan }) => {
|
||||
channel.bind('trigger-keuntungan', ({
|
||||
cawangan
|
||||
}) => {
|
||||
console.log(`${cawangan}`);
|
||||
|
||||
if(this.$kodcaw === cawangan)
|
||||
this.getDataKeuntungan()
|
||||
if (this.$kodcaw === cawangan)
|
||||
this.getDataKeuntungan()
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
</script>
|
||||
</script>
|
||||
|
||||
@@ -0,0 +1,165 @@
|
||||
<template>
|
||||
<div>
|
||||
<transition name="modal-fade">
|
||||
<div v-if="showModal" class=" overflow-x-hidden overflow-y-auto fixed inset-0 z-50 outline-none focus:outline-none justify-center items-center flex">
|
||||
<div class="relative w-1/3 my-6 mx-auto max-w-6xl">
|
||||
<!--content-->
|
||||
<div class="border-0 rounded-lg shadow-lg relative flex flex-col w-full bg-white outline-none focus:outline-none">
|
||||
<!--header-->
|
||||
<div class="flex items-start bg-gray-200 justify-between p-5 border-b border-solid border-blueGray-200 rounded-t">
|
||||
<h3 class="text-xl font-semibold">
|
||||
Deposit Akaun Bank
|
||||
</h3>
|
||||
<button class="p-1 ml-auto border-0 text-black float-right text-3xl leading-none font-semibold outline-none focus:outline-none" v-on:click="toggleModal()">
|
||||
<span class=" text-black h-6 w-6 text-2xl block outline-none focus:outline-none">
|
||||
X
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
<!--body-->
|
||||
<div class="p-6">
|
||||
|
||||
<label class="block uppercase tracking-wide text-gray-700 text-xs font-bold mb-2 mt-3">
|
||||
Jenis Bank
|
||||
</label>
|
||||
<select v-model.trim="$v.selectedbank.$model" class="w-full p-2 rounded-md border bg-white border-gray-400 focus:outline-none rounded-md focus:ring-1 ring-cyan-500 uppercase">
|
||||
<option v-for="(bank,i) in jenisbank" :key="i" :value="bank.abbreviation">{{ bank.name }}</option>
|
||||
</select>
|
||||
<!-- <input v-model="selectedbank" type="text" class="mr-2 bg-white appearance-none border-2 border-gray-400 rounded w-full py-2 px-4 text-gray-700 leading-tight focus:outline-none focus:bg-white focus:border-blue-500 border-black" /> -->
|
||||
|
||||
<label class="block uppercase tracking-wide text-gray-700 text-xs font-bold mb-2 mt-3">
|
||||
No Resit
|
||||
</label>
|
||||
<input v-model.trim="$v.noresit.$model" type="text" class="mr-2 bg-white appearance-none border-2 border-gray-400 rounded w-full py-2 px-4 text-gray-700 leading-tight focus:outline-none focus:bg-white focus:border-blue-500 border-black" />
|
||||
<div class="text-red-500 text-xs italic" v-if="!$v.noresit.required">Field is required</div>
|
||||
|
||||
<label class="block uppercase tracking-wide text-gray-700 text-xs font-bold mb-2 mt-3">
|
||||
Jenis Cash-In-Transit(CIT)
|
||||
</label>
|
||||
<select v-model.trim="$v.selectedjeniscit.$model" class="w-full p-2 rounded-md border bg-white border-gray-400 focus:outline-none rounded-md focus:ring-1 ring-cyan-500 uppercase">
|
||||
<option value="CIT">Cash Diambil oleh CIT</option>
|
||||
<option value="TT">tellygraphic transfer oleh PC</option>
|
||||
</select>
|
||||
|
||||
<label class="block uppercase tracking-wide text-gray-700 text-xs font-bold mb-2 mt-3">
|
||||
Nama Syarikat Cash-In-Transit(CIT)
|
||||
</label>
|
||||
<input v-model.trim="$v.namacit.$model" type="text" class="mr-2 bg-white appearance-none border-2 border-gray-400 rounded w-full py-2 px-4 text-gray-700 leading-tight focus:outline-none focus:bg-white focus:border-blue-500 border-black" />
|
||||
<div class="text-red-500 text-xs italic" v-if="!$v.noresit.required">Field is required</div>
|
||||
</div>
|
||||
<!--footer-->
|
||||
<div class="flex items-center justify-end p-6 border-t border-solid border-blueGray-200 rounded-b">
|
||||
<button class="bg-gray-500 hover:bg-gray-700 text-white font-bold py-2 px-4 border border-gray-700 rounded mr-1" @click="toggleModal" type="button">
|
||||
Batal
|
||||
</button>
|
||||
<button class="bg-green-500 hover:bg-green-700 text-white font-bold py-2 px-4 border border-green-700 rounded" @click="FuncHantar()" type="button">
|
||||
Hantar
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</transition>
|
||||
<transition enter-active-class="transition-all transform duration-200 ease-out">
|
||||
</transition>
|
||||
|
||||
<div v-if="showModal" class="opacity-25 fixed inset-0 z-40 bg-black"></div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
createPopper
|
||||
} from "@popperjs/core";
|
||||
|
||||
import {
|
||||
required,
|
||||
minLength,
|
||||
between
|
||||
} from 'vuelidate/lib/validators'
|
||||
|
||||
export default {
|
||||
|
||||
props: {
|
||||
placement: {
|
||||
type: String,
|
||||
default: "bottom-start"
|
||||
}
|
||||
},
|
||||
name: "bank-modal",
|
||||
data() {
|
||||
return {
|
||||
showModal: false,
|
||||
mohonid: 0,
|
||||
selectedbank: 'Sila Pilih Bank',
|
||||
selectedjeniscit: 'Sila Pilih Jenis Transfer',
|
||||
noresit: 0,
|
||||
namacit: '',
|
||||
jenisbank: {}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.senaraiBank();
|
||||
},
|
||||
methods: {
|
||||
toggleModal: function () {
|
||||
this.showModal = false;
|
||||
},
|
||||
senaraiBank: function () {
|
||||
this.axios.get(this.$hostname + '/api/bank').then(response => {
|
||||
this.jenisbank = response.data;
|
||||
});
|
||||
},
|
||||
FuncHantar: function () {
|
||||
// console.log(this.selectedbank,this.noresit)
|
||||
axios.put(this.$hostname + '/admin/permohonan/updatebank', {
|
||||
kelulusan: 'Lulus',
|
||||
jenisbank: this.selectedbank,
|
||||
noresit: this.noresit,
|
||||
namacit: this.namacit,
|
||||
jeniscit: this.selectedjeniscit,
|
||||
mohonid: this.mohonid
|
||||
|
||||
}).then(response => {
|
||||
|
||||
if (response.data === 1) {
|
||||
this.showModal = false;
|
||||
this.$toast.success("Berjaya Meluluskan Permohonan Daripada Pengurus Besar!")
|
||||
this.$emit('clickEvent_', this.pageNumber)
|
||||
} else {
|
||||
|
||||
this.showModal = false;
|
||||
this.$toast.error("Tidak Berjaya!")
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
validations: {
|
||||
selectedbank: {
|
||||
required
|
||||
},
|
||||
noresit: {
|
||||
required
|
||||
},
|
||||
namacit: {
|
||||
required
|
||||
},
|
||||
selectedjeniscit: {
|
||||
required
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.modal-fade-enter,
|
||||
.modal-fade-leave-to {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.modal-fade-enter-active,
|
||||
.modal-fade-leave-active {
|
||||
transition: opacity .5s ease;
|
||||
}
|
||||
</style>
|
||||
@@ -66,7 +66,7 @@
|
||||
<button class="bg-gray-500 hover:bg-gray-700 text-white font-bold py-2 px-4 border border-gray-700 rounded mr-1" v-on:click="toggleModal()" type="button">
|
||||
Batal
|
||||
</button>
|
||||
<button class="bg-green-500 hover:bg-green-700 text-white font-bold py-2 px-4 border border-green-700 rounded" @click="kemaskinifunc" type="button" >
|
||||
<button class="bg-yellow-500 hover:bg-yellow-700 text-white font-bold py-2 px-4 border border-green-700 rounded" @click="kemaskinifunc" type="button" >
|
||||
Daftar
|
||||
</button>
|
||||
</div>
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
<button class="bg-gray-500 hover:bg-gray-700 text-white font-bold py-2 px-4 border border-gray-700 rounded mr-1" @click="toggleModal" type="button">
|
||||
Batal
|
||||
</button>
|
||||
<button class="bg-green-500 hover:bg-green-700 text-white font-bold py-2 px-4 border border-green-700 rounded" @click="toggleModal" type="button" >
|
||||
<button class="bg-yellow-500 hover:bg-yellow-700 text-white font-bold py-2 px-4 border border-green-700 rounded" @click="toggleModal" type="button" >
|
||||
Lulus
|
||||
</button>
|
||||
</div>
|
||||
|
||||
@@ -74,9 +74,9 @@
|
||||
</div>
|
||||
|
||||
<div class="flex flex-wrap -mx-3 mb-3">
|
||||
<div class="bg-green-300 text-white h-26 flex-auto rounded-2xl ml-2 w-1/3">
|
||||
<div class="bg-yellow-300 text-white h-26 flex-auto rounded-2xl ml-2 w-1/3">
|
||||
<div class="flex flex-row">
|
||||
<div class="bg-green-500 px-4 py-6 rounded-l-2xl">
|
||||
<div class="bg-yellow-500 px-4 py-6 rounded-l-2xl">
|
||||
<h2 class="font-bold text-lg">PE</h2>
|
||||
</div>
|
||||
|
||||
@@ -99,9 +99,9 @@
|
||||
</div>
|
||||
|
||||
<div class="flex flex-wrap -mx-3 mb-3">
|
||||
<div class="bg-green-300 text-white h-26 flex-auto rounded-2xl ml-2 w-1/3">
|
||||
<div class="bg-yellow-300 text-white h-26 flex-auto rounded-2xl ml-2 w-1/3">
|
||||
<div class="flex flex-row">
|
||||
<div class="bg-green-500 px-4 py-6 rounded-l-2xl">
|
||||
<div class="bg-yellow-500 px-4 py-6 rounded-l-2xl">
|
||||
<h2 class="font-bold text-lg">TS</h2>
|
||||
</div>
|
||||
<div class="my-auto mx-auto">
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
<!-- <input readonly class="appearance-none block w-full bg-gray-200 text-gray-700 border border-gray-200 rounded py-3 px-4 leading-tight focus:outline-none focus:border-gray-500" v-model="referencestatus" type="text" placeholder="Paid"> -->
|
||||
<div class="flex items-center flex-shrink-0 text-sm px-2">
|
||||
<div class="px-2 py-1 rounded-l-md bg-gray-200 text-gray-600 cursor-pointer">TRANSACTION</div>
|
||||
<div class="px-2 py-1 rounded-r-md bg-green-400 text-white cursor-pointer">{{ this.referencestatus }}</div>
|
||||
<div class="px-2 py-1 rounded-r-md bg-yellow-400 text-white cursor-pointer">{{ this.referencestatus }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -1,18 +1,19 @@
|
||||
<template>
|
||||
<div class="container">
|
||||
<div id="notification" ref="notification" class="notification cursor-pointer" v-on:click="toggleDropdown()"></div>
|
||||
<div ref="popoverDropdownRef" v-bind:class="{'hidden': !dropdownShow, 'block': dropdownShow}" class="origin-top-right w-96 right-0 mt-2 w-56 rounded-md shadow-lg bg-white ring-1 ring-black ring-opacity-5 focus:outline-none" role="menu" aria-orientation="vertical" aria-labelledby="menu-button" tabindex="-1">
|
||||
<div v-if="this.showloader === true" ref="popoverDropdownRef" v-bind:class="{'hidden': !dropdownShow, 'block': dropdownShow}" class="origin-top-right w-96 right-0 mt-2 w-56 rounded-md shadow-lg bg-white ring-1 ring-black ring-opacity-5 focus:outline-none" role="menu" aria-orientation="vertical" aria-labelledby="menu-button" tabindex="-1">
|
||||
<div class="py-1 px-2" role="none">
|
||||
<template v-if="showkelulusan.data.length > 0">
|
||||
<!-- <template v-if="showkelulusan.data.length > 0"> -->
|
||||
<div v-for="(kelulusan,index) in showkelulusan.data" :key="index" class="text-gray-700 block px-2 py-5 text-sm hover:bg-yellow-500 cursor-pointer">
|
||||
<div class="justify-between flex">
|
||||
<div class="w-4/6">
|
||||
<p class="font-bold -mt-4">Ar-Rahn {{ kelulusan.cawangan }}</p>
|
||||
<p class="font-bold text-sm text-red-500">{{ kelulusan.kelulusanall[0].status }}</p>
|
||||
<p class="font-bold text-sm text-red-500">{{ kelulusan.status }}</p>
|
||||
<!-- <p class="-mb-4 text-sm">4 hours ago</p> -->
|
||||
</div>
|
||||
<div class="w-3/6">
|
||||
<p class="font-bold -mt-4 justify-end flex">{{ kelulusan.kelulusanall[0].norujukan }}</p>
|
||||
<p class="font-bold -mt-4 justify-end flex">{{ kelulusan.norujukan }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -20,7 +21,8 @@
|
||||
</template>
|
||||
|
||||
<!-- <a class="text-gray-700 block px-4 py-2 text-sm hover:bg-yellow-500 cursor-pointer" role="menuitem" tabindex="-1" id="menu-item-0">a<br><b>a</b></a> -->
|
||||
<template v-else>
|
||||
<!-- <template v-else> -->
|
||||
<template v-else>
|
||||
<div class="flex place-content-center w-full">
|
||||
<div class="grid mx-auto mb-4">
|
||||
<img src="/img/notify.jpg" class="h-20 w-20 mx-auto" alt="Windster Logo">
|
||||
@@ -147,7 +149,8 @@ export default {
|
||||
dropdownShow: false,
|
||||
currentPage: 1,
|
||||
showkelulusan:[],
|
||||
paginate:{}
|
||||
paginate:{},
|
||||
showloader:false
|
||||
}
|
||||
},
|
||||
created() {
|
||||
@@ -242,6 +245,7 @@ export default {
|
||||
this.showkelulusan = response.data
|
||||
this.paginate = response.data
|
||||
this.currentPage = pageNumber
|
||||
this.showloader = true
|
||||
});
|
||||
},
|
||||
}
|
||||
|
||||
@@ -0,0 +1,227 @@
|
||||
<template>
|
||||
<div>
|
||||
<transition name="modal-fade">
|
||||
<div v-if="showModal" class=" overflow-x-hidden overflow-y-auto fixed inset-0 z-50 outline-none focus:outline-none justify-center items-center flex">
|
||||
<div class="relative w-1/3 my-6 mx-auto max-w-6xl">
|
||||
<!--content-->
|
||||
<div class="border-0 rounded-lg shadow-lg relative flex flex-col w-full bg-white outline-none focus:outline-none">
|
||||
<!--header-->
|
||||
<div class="flex items-start bg-gray-200 justify-between p-5 border-b border-solid border-blueGray-200 rounded-t">
|
||||
<h3 class="text-xl font-semibold">
|
||||
Kelulusan Pengurus Besar
|
||||
</h3>
|
||||
<button class="p-1 ml-auto border-0 text-black float-right text-3xl leading-none font-semibold outline-none focus:outline-none" v-on:click="toggleModal()">
|
||||
<span class=" text-black h-6 w-6 text-2xl block outline-none focus:outline-none">
|
||||
X
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
<!--body-->
|
||||
<div class="p-6">
|
||||
|
||||
<label class="block uppercase tracking-wide text-gray-700 text-xs font-bold mb-2">
|
||||
Keputusan
|
||||
</label>
|
||||
<div class="flex-col items-center flex-shrink-0 text-sm px-2">
|
||||
<div class="flex items-center justify-center mt-4 mb-4">
|
||||
<div class="mx-2 radio">
|
||||
<input type="radio" id="Lulus" name="radkeputusan" value="Lulus" class="hidden focus:bg-gray-500" v-model.trim="$v.selected.$model">
|
||||
<label for="Lulus" class="cursor-pointer text-gray-500 focus:bg-gray-500 hover:bg-gray-200 focus:bg-purple-500 focus:bg-purple-500 focus:outline-none border px-10 py-4 border-solid border-gray-500 rounded">Lulus</label>
|
||||
</div>
|
||||
|
||||
<div class="mx-2 radio cursor-pointer">
|
||||
<input type="radio" id="Batal" name="radkeputusan" value="Batal" class="hidden focus:bg-gray-500" v-model.trim="$v.selected.$model">
|
||||
<label for="Batal" class="cursor-pointer text-gray-500 focus:bg-gray-500 hover:bg-gray-200 focus:bg-purple-500 focus:outline-none border px-10 py-4 border-solid border-gray-500 rounded">Tak Lulus</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="text-red-500 text-xs italic flex justify-center" v-if="!$v.selected.required">Pilih keputusan!</div>
|
||||
</div>
|
||||
|
||||
<div class="w-full flex">
|
||||
<div class="w-1/2">
|
||||
<label class="block uppercase tracking-wide text-gray-700 text-xs font-bold mb-2 mt-3">
|
||||
Amaun Diminta
|
||||
</label>
|
||||
<input v-model.trim="$v.amaun_dimohon.$model" readonly type="text" class="mr-2 bg-gray-200 appearance-none border-2 border-gray-400 rounded w-full py-2 px-4 text-gray-700 leading-tight border-black" />
|
||||
</div>
|
||||
|
||||
<div class="w-1/2 ml-2">
|
||||
<label class="block uppercase tracking-wide text-gray-700 text-xs font-bold mb-2 mt-3">
|
||||
Amaun Lulus
|
||||
</label>
|
||||
<input v-model.trim="$v.amaunlulus.$model" type="text" class="mr-2 bg-white appearance-none border-2 border-gray-400 rounded w-full py-2 px-4 text-gray-700 leading-tight focus:outline-none focus:bg-white focus:border-blue-500 border-black" />
|
||||
<div class="text-red-500 text-xs italic" v-if="!$v.amaunlulus.required">Perlu ada dalam kotak</div>
|
||||
<div class="text-red-500 text-xs italic" v-if="!$v.amaunlulus.between">Mestilah dalam lingkungan {{$v.amaunlulus.$params.between.min}} dan {{$v.amaunlulus.$params.between.max}}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex justify-center mt-4">
|
||||
<div class="mb-3 w-96">
|
||||
<!-- <label for="formFileLg" class="form-label inline-block mb-2 text-gray-700">Large file input example</label> -->
|
||||
<input name="image" accept="image/*" @change="onUpload" class="form-control block w-full px-2 py-1.5 text-xl font-normal text-gray-700 bg-white bg-clip-padding border border-solid border-gray-300 rounded transition ease-in-out m-0 focus:text-gray-700 focus:bg-white focus:border-blue-600 focus:outline-none" type="file">
|
||||
<!-- <div class="mx-auto flex justif">
|
||||
<img v-if="item.imageUrl" class="h-24 w-24 mx-auto justify-center" :src="item.imageUrl" />
|
||||
</div> -->
|
||||
<div class="text-red-500 text-xs italic" v-if="!$v.imageFile.required">File perlu ada!</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!--footer-->
|
||||
<div class="flex items-center justify-end p-6 border-t border-solid border-blueGray-200 rounded-b">
|
||||
<button class="bg-gray-500 hover:bg-gray-700 text-white font-bold py-2 px-4 border border-gray-700 rounded mr-1" @click="toggleModal" type="button">
|
||||
Batal
|
||||
</button>
|
||||
<button class="bg-green-500 hover:bg-green-700 text-white font-bold py-2 px-4 border border-green-700 rounded" @click="FuncHantar()" type="button">
|
||||
Hantar
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</transition>
|
||||
<transition enter-active-class="transition-all transform duration-200 ease-out">
|
||||
</transition>
|
||||
|
||||
<div v-if="showModal" class="opacity-25 fixed inset-0 z-40 bg-black"></div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
required,
|
||||
minLength,
|
||||
between
|
||||
} from 'vuelidate/lib/validators';
|
||||
|
||||
import {
|
||||
createPopper
|
||||
} from "@popperjs/core";
|
||||
|
||||
const file_size_validation = (value, vm) => {
|
||||
if (!value) {
|
||||
return true;
|
||||
}
|
||||
let file = value;
|
||||
return (file.size < 2097152);
|
||||
}
|
||||
|
||||
export default {
|
||||
|
||||
props: {
|
||||
placement: {
|
||||
type: String,
|
||||
default: "bottom-start"
|
||||
}
|
||||
},
|
||||
name: "pb-modal",
|
||||
data() {
|
||||
return {
|
||||
showModal: false,
|
||||
mohonid: 0,
|
||||
selected: '',
|
||||
amaunlulus: 0,
|
||||
amaun_dimohon: 0,
|
||||
submitStatus: '',
|
||||
imageFile: '',
|
||||
item: {
|
||||
image: null,
|
||||
imageUrl: null
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
testfunc: function (){
|
||||
return 10000;
|
||||
},
|
||||
onUpload: function (e) {
|
||||
const file = e.target.files[0]
|
||||
this.item.image = file
|
||||
this.imageFile = file
|
||||
this.item.imageUrl = URL.createObjectURL(file)
|
||||
},
|
||||
toggleModal: function () {
|
||||
this.showModal = false;
|
||||
},
|
||||
FuncHantar: function () {
|
||||
|
||||
this.$v.$touch()
|
||||
|
||||
if (this.$v.$invalid) {
|
||||
this.submitStatus = 'ERROR'
|
||||
this.$toast.error('Sila isi butiran yang disediakan dengan betul!')
|
||||
} else {
|
||||
this.submitStatus = 'PENDING'
|
||||
setTimeout(() => {
|
||||
|
||||
let formData = new FormData();
|
||||
formData.append('image', this.item.image);
|
||||
formData.append('kelulusan', this.selected);
|
||||
formData.append('mohonid', this.mohonid);
|
||||
formData.append('amaun_lulus', this.amaunlulus);
|
||||
|
||||
// console.log(formData)
|
||||
let config = {
|
||||
header: {
|
||||
'Content-Type': 'multipart/form-data'
|
||||
}
|
||||
}
|
||||
|
||||
// return;
|
||||
|
||||
// axios.put(this.$hostname + '/admin/permohonan/updatepb', {
|
||||
axios.post('api/check/kelulusan/pb', formData, config).then(response => {
|
||||
|
||||
if (response.data === 1) {
|
||||
this.showModal = false;
|
||||
this.$toast.success("Berjaya Meluluskan Permohonan Daripada Pengurus Besar!")
|
||||
this.$emit('clickEvent_', this.pageNumber)
|
||||
} else {
|
||||
|
||||
this.showModal = false;
|
||||
this.$toast.error("Tidak Berjaya!")
|
||||
}
|
||||
});
|
||||
|
||||
}, 500)
|
||||
}
|
||||
|
||||
console.log(this.submitStatus)
|
||||
|
||||
}
|
||||
},
|
||||
validations: {
|
||||
amaunlulus: {
|
||||
required,
|
||||
// between: between(30, 30000)
|
||||
between (value) {
|
||||
let amaun = parseInt(this.amaun_dimohon.replace(/,/g, ''), 10)
|
||||
return between(0, amaun)(value)
|
||||
}
|
||||
},
|
||||
imageFile: {
|
||||
required,
|
||||
// file_size_validation
|
||||
},
|
||||
amaun_dimohon: {
|
||||
required,
|
||||
},
|
||||
selected: {
|
||||
required
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.modal-fade-enter,
|
||||
.modal-fade-leave-to {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.modal-fade-enter-active,
|
||||
.modal-fade-leave-active {
|
||||
transition: opacity .5s ease;
|
||||
}
|
||||
</style>
|
||||
@@ -70,9 +70,9 @@
|
||||
</div>
|
||||
|
||||
<div class="flex flex-wrap -mx-3 mb-3">
|
||||
<div class="bg-green-300 text-white h-26 flex-auto rounded-2xl ml-2 w-1/3">
|
||||
<div class="bg-yellow-300 text-white h-26 flex-auto rounded-2xl ml-2 w-1/3">
|
||||
<div class="flex flex-row">
|
||||
<div class="bg-green-500 px-4 py-6 rounded-l-2xl">
|
||||
<div class="bg-yellow-500 px-4 py-6 rounded-l-2xl">
|
||||
|
||||
<h2 class="font-bold text-lg">STL</h2>
|
||||
|
||||
@@ -96,9 +96,9 @@
|
||||
</div>
|
||||
|
||||
<div class="flex flex-wrap -mx-3 mb-3">
|
||||
<div class="bg-green-300 text-white h-26 flex-auto rounded-2xl ml-2 w-1/3">
|
||||
<div class="bg-yellow-300 text-white h-26 flex-auto rounded-2xl ml-2 w-1/3">
|
||||
<div class="flex flex-row">
|
||||
<div class="bg-green-500 px-4 py-6 rounded-l-2xl">
|
||||
<div class="bg-yellow-500 px-4 py-6 rounded-l-2xl">
|
||||
<h2 class="font-bold text-lg">PHQ</h2>
|
||||
</div>
|
||||
<div class="my-auto mx-auto">
|
||||
@@ -120,9 +120,9 @@
|
||||
</div>
|
||||
|
||||
<div class="flex flex-wrap -mx-3 mb-3">
|
||||
<div class="bg-green-300 text-white h-26 flex-auto rounded-2xl ml-2">
|
||||
<div class="bg-yellow-300 text-white h-26 flex-auto rounded-2xl ml-2">
|
||||
<div class="flex flex-row">
|
||||
<div class="bg-green-500 px-4 py-6 rounded-l-2xl">
|
||||
<div class="bg-yellow-500 px-4 py-6 rounded-l-2xl">
|
||||
<h2 class="font-bold text-lg">BAK</h2>
|
||||
</div>
|
||||
<div class="my-auto mx-auto">
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
<div class="flex justify-between mb-2">
|
||||
<div>
|
||||
<button @click.prevent="showModal" class="border border-green-600 text-green-600 font-montserrat py-2 px-3 font-medium rounded-xl hover:bg-green-600 hover:text-white transition-all duration-300"><i class="fas fa-plus mr-2"></i>Tambah</button>
|
||||
<button @click.prevent="showModal" class="border border-green-600 text-green-600 font-montserrat py-2 px-3 font-medium rounded-xl hover:bg-yellow-600 hover:text-white transition-all duration-300"><i class="fas fa-plus mr-2"></i>Tambah</button>
|
||||
</div>
|
||||
<div>
|
||||
<input v-model="search" class="border border-2 rounded px-4 py-2 w-80r mr-2 " type="text" />
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -326,7 +326,7 @@
|
||||
<span class="mr-2 text-xs font-medium">18%</span>
|
||||
<div class="relative w-full">
|
||||
<div class="w-full bg-gray-200 rounded-sm h-2">
|
||||
<div class="bg-teal-400 h-2 rounded-sm" style="width: 18%"></div>
|
||||
<div class="bg-yellow-400 h-2 rounded-sm" style="width: 18%"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Vendored
+11
-1
@@ -16,6 +16,7 @@ import StokAudit from './Akaun/StokAudit'
|
||||
import Perbelanjaan from './Akaun/Perbelanjaan'
|
||||
import RingkasanHarian from './Akaun/RingkasanHarian'
|
||||
import RingkasanTerkumpul from './Akaun/RingkasanTerkumpul'
|
||||
import StokAuditBackdate from './Akaun/StokAuditBackdate'
|
||||
|
||||
|
||||
|
||||
@@ -24,6 +25,10 @@ import OnlineHome from './Online/SearchSAG'
|
||||
import SenaraiBajet from './Bajet/Senaraibajet'
|
||||
import BajetKemaskini from './Bajet/KemaskiniBajet'
|
||||
|
||||
import SenaraiMohon from './Permohonan/SenaraiMohon'
|
||||
import StatusMohon from './Permohonan/StatusMohon'
|
||||
import RekodMohon from './Permohonan/RekodMohon'
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -49,10 +54,15 @@ export default new VueRouter({
|
||||
{ path: '/akaunhome/Perbelanjaan', component: Perbelanjaan },
|
||||
{ path: '/akaunhome/RingkasanHarian', component: RingkasanHarian },
|
||||
{ path: '/akaunhome/RingkasanTerkumpul', component: RingkasanTerkumpul },
|
||||
{ path: '/akaunhome/StokAuditBackdate', component: StokAuditBackdate },
|
||||
|
||||
|
||||
{ path: '/bajet/kemaskini', component: SenaraiBajet },
|
||||
{ name: 'bajetkemaskini',path: '/bajet/kemaskini/:id', component: BajetKemaskini }
|
||||
{ name: 'bajetkemaskini',path: '/bajet/kemaskini/:id', component: BajetKemaskini },
|
||||
|
||||
{ path: '/permohonan', component: SenaraiMohon },
|
||||
{ name: 'permohonanstatus',path: '/permohonan/status/:mohonid', component: StatusMohon },
|
||||
{ path: '/permohonan/rekod', component: RekodMohon },
|
||||
|
||||
],
|
||||
mode: 'history'
|
||||
|
||||
@@ -0,0 +1,259 @@
|
||||
<style>
|
||||
#header {
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#header td, #customers th {
|
||||
|
||||
padding:4px;
|
||||
font-size:10px;
|
||||
}
|
||||
|
||||
#header tr:nth-child(even){background-color: #ffffff;}
|
||||
|
||||
#header tr:hover {background-color: #ddd;}
|
||||
|
||||
#header th {
|
||||
padding-top: 12px;
|
||||
padding-bottom: 12px;
|
||||
text-align: left;
|
||||
padding:4px;
|
||||
color:black;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
|
||||
|
||||
<style>
|
||||
#scan {
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#scan td, #scan th {
|
||||
|
||||
padding: 8px;
|
||||
font-size:11px;
|
||||
}
|
||||
|
||||
#scan tr:nth-child(even){background-color: #ffffff;}
|
||||
|
||||
#scan tr:hover {background-color: #ddd;}
|
||||
|
||||
#scan th {
|
||||
padding-top: 12px;
|
||||
padding-bottom: 12px;
|
||||
text-align: left;
|
||||
padding:4px;
|
||||
color:black;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
<style>
|
||||
#scan {
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#scan td, #scan th {
|
||||
border-collapse: collapse;
|
||||
padding: 8px;
|
||||
font-size:11px;
|
||||
}
|
||||
|
||||
#scan tr:nth-child(even){background-color: #ffffff;}
|
||||
|
||||
#scan tr:hover {background-color: #ddd;}
|
||||
|
||||
#scan th {
|
||||
border-collapse: collapse;
|
||||
padding-top: 12px;
|
||||
padding-bottom: 12px;
|
||||
text-align: left;
|
||||
padding:4px;
|
||||
color:black;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
|
||||
<style>
|
||||
#details {
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#details td, #details th {
|
||||
|
||||
padding: 8px;
|
||||
font-size:11px;
|
||||
}
|
||||
|
||||
#details tr:nth-child(even){background-color: #ffffff;}
|
||||
|
||||
#details tr:hover {background-color: #ddd;}
|
||||
|
||||
#details th {
|
||||
padding-top: 12px;
|
||||
font-style:bold;
|
||||
padding-bottom: 12px;
|
||||
text-align: left;
|
||||
padding:4px;
|
||||
color:black;
|
||||
}
|
||||
</style>
|
||||
|
||||
<style>
|
||||
#sign {
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#sign td, #sign th {
|
||||
|
||||
padding: 8px;
|
||||
font-size:11px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#sign tr:nth-child(even){background-color: #ffffff;}
|
||||
|
||||
#sign tr:hover {background-color: #ddd;}
|
||||
|
||||
#sign th {
|
||||
padding-top: 12px;
|
||||
padding-bottom: 12px;
|
||||
text-align: left;
|
||||
padding:4px;
|
||||
color:black;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table id="header">
|
||||
<tr>
|
||||
<th rowspan="4" style="width:50px"><br><img src="{{ asset('img/ARRAHN1.png') }}" style="width:70px"></img></th>
|
||||
<th colspan="1">KOPERASI PERMODALAN KELANTAN BERHAD</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{ $cawangan_detail['namacaw'] }}</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{ $cawangan_detail['alamat1'] }}</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{ $cawangan_detail['alamat2'].' No Tel : '. $cawangan_detail['notel'].' No Faks : '. $cawangan_detail['nofaks'] }}</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
|
||||
<table id="scan">
|
||||
<tr>
|
||||
<th colspan ="5"><b>Laporan Stok Audit</b></th>
|
||||
<th> </th>
|
||||
<th> </th>
|
||||
<th><b> Tarikh Cetak:</b>
|
||||
@php
|
||||
$myDateTime = DateTime::createFromFormat('Y-m-d', $tarikh_cetak);
|
||||
$formattedweddingdate = $myDateTime->format('d-m-Y');
|
||||
echo($formattedweddingdate)
|
||||
@endphp
|
||||
</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width:10px"> <b>TARIKH</b></td>
|
||||
<td>{{ $tebus_date }}</td>
|
||||
<td style="width:50px">
|
||||
</td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br>
|
||||
<table id="details">
|
||||
<thead>
|
||||
<th>Bil</th>
|
||||
<th>Norujukan</th>
|
||||
<th>JBG</th>
|
||||
<th>No. KP</th>
|
||||
<th>Berat</th>
|
||||
<th>Nilai Marhun (RM)</th>
|
||||
<th>Pembiayaan Asal (RM)</th>
|
||||
<th>Baki Pembiayaan (RM)</th>
|
||||
<th>Kadar Upah</th>
|
||||
<th>Tempoh Belum Bayar</th>
|
||||
<th>Keuntungan Belum Bayar (RM)</th>
|
||||
<th>Lanjutan</th>
|
||||
</thead>
|
||||
@php $counter = 1;$totalpinjaman = 0; @endphp
|
||||
@foreach($stokaudit['rekod'] as $index=>$item)
|
||||
<tr>
|
||||
<td>{{ $counter }}</td>
|
||||
<td>{{$item['norujukan']}}</td>
|
||||
<td>{{ $item['tempoh'] }}</td>
|
||||
<td>{{$item['nokp']}}</td>
|
||||
<td>{{ number_format($item['berat'],2) }}</td>
|
||||
<td>{{ number_format($item['nilaimarhun'],2) }}</td>
|
||||
<td>{{ number_format($item['pinjaman'],2) }}</td>
|
||||
<td>{{ number_format($item['bakipjm'],2) }}</td>
|
||||
<td>{{ number_format($item['kadarupah'],2) }}</td>
|
||||
<td>{{ number_format($item['tempohblmbyar'],2) }}</td>
|
||||
<td>{{ number_format($item['upahblmbyar'],2) }}</td>
|
||||
<td>{{$item['lanjutan']}}</td>
|
||||
</tr>
|
||||
@php $counter++; @endphp
|
||||
@endforeach
|
||||
<tfoot>
|
||||
<th colspan='4'>Jumlah</th>
|
||||
<th>{{ number_format($stokaudit['totalberat'],2) }}</th>
|
||||
<th>{{ number_format($stokaudit['totalnilaimarhun'],2) }}</th>
|
||||
<th>{{ number_format($stokaudit['totalpinjaman'],2) }}</th>
|
||||
<th>{{ number_format($stokaudit['totalbakipjm'],2) }}</th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th>{{ number_format($stokaudit['totaltunggakan'],2) }}</th>
|
||||
<th></th>
|
||||
</tfoot>
|
||||
</table>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
<table id="sign">
|
||||
<tr>
|
||||
<td></td>
|
||||
<td colspan="2"> .................................................................. </td>
|
||||
<td> </td>
|
||||
<td colspan="2">.................................................................. </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td colspan="2"><B> DI SEMAK</B> </td>
|
||||
<td> </td>
|
||||
<td colspan="2"><B>DI SAHKAN </B></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
</table>
|
||||
@@ -0,0 +1,59 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('content')
|
||||
<div>
|
||||
|
||||
<div class="p-20 items-center justify-center">
|
||||
|
||||
{{-- <div class="content text-3xl text-center md:text-left">
|
||||
<h1 class="text-5xl text-blue-500 font-bold">Facebook</h1>
|
||||
<img src="{{ asset('img/logo_arrahn_baru.png') }}" width="400">
|
||||
<p>Pajak Gadai Islam.</p>
|
||||
</div> --}}
|
||||
|
||||
<div class="container mx-auto flex flex-col items-center">
|
||||
|
||||
<form class="shadow-lg w-1/3 p-4 flex flex-col bg-white rounded-lg" method="POST" action="{{ route('login') }}">
|
||||
<img class="mx-auto" src="{{ asset('img/logo_arrahn_baru.png') }}" width="200">
|
||||
|
||||
@csrf
|
||||
|
||||
@if (Session::has('error'))
|
||||
{{-- <div class="alert alert-success" role="alert">
|
||||
<p></p>
|
||||
</div> --}}
|
||||
<div role="alert" class="mb-2">
|
||||
<div class="bg-red-500 text-white font-bold rounded-t px-4 py-2">
|
||||
Danger
|
||||
</div>
|
||||
<div class="border border-t-0 border-red-400 rounded-b bg-red-100 px-4 py-3 text-red-700">
|
||||
<p>{{ Session::get('error') }}</p>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<label class="block text-gray-700 text-sm font-bold mb-2">Emel</label>
|
||||
<div class="mb-4">
|
||||
<input type="text" name="email" placeholder="Email" class="@error('email') border-red-500 @enderror mb-3 py-3 px-4 w-full border border-gray-400 focus:outline-none rounded-md focus:ring-1 ring-cyan-500" />
|
||||
@error('email')
|
||||
<p class="text-red-500 text-xs italic">{{ $message }}</p>
|
||||
@enderror
|
||||
</div>
|
||||
<label class="block text-gray-700 text-sm font-bold mb-2">Password</label>
|
||||
<div class="mb-4">
|
||||
<input type="password" name="password" placeholder="Password" class="@error('password') border-red-500 @enderror mb-3 py-3 px-4 w-full border border-gray-400 focus:outline-none rounded-md focus:ring-1 ring-cyan-500" />
|
||||
@error('password')
|
||||
<p class="text-red-500 text-xs italic">{{ $message }}</p>
|
||||
@enderror
|
||||
</div>
|
||||
<button class="w-full bg-blue-500 text-white p-3 rounded-lg font-semibold text-lg">Login</button>
|
||||
<a class="text-blue-400 text-center my-2">Forgot Pasword?</a>
|
||||
</form>
|
||||
<p class="text-center text-sm my-4">
|
||||
Permodalan Kelantan Berhad
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@endsection
|
||||
@@ -1,59 +1,187 @@
|
||||
@extends('layouts.app')
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}" style="width:100%;height:100%;">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
@section('content')
|
||||
<div>
|
||||
|
||||
<div class="p-20 items-center justify-center">
|
||||
|
||||
{{-- <div class="content text-3xl text-center md:text-left">
|
||||
<h1 class="text-5xl text-blue-500 font-bold">Facebook</h1>
|
||||
<img src="{{ asset('img/logo_arrahn_baru.png') }}" width="400">
|
||||
<p>Pajak Gadai Islam.</p>
|
||||
</div> --}}
|
||||
<title>Ar-Rahn | Admin Page</title>
|
||||
|
||||
<div class="container mx-auto flex flex-col items-center">
|
||||
<!-- Fonts -->
|
||||
<link href="https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700&display=swap" rel="stylesheet">
|
||||
|
||||
<form class="shadow-lg w-1/3 p-4 flex flex-col bg-white rounded-lg" method="POST" action="{{ route('login') }}">
|
||||
<img class="mx-auto" src="{{ asset('img/logo_arrahn_baru.png') }}" width="200">
|
||||
{{-- <!-- Styles -->
|
||||
<style>
|
||||
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}a{background-color:transparent}[hidden]{display:none}html{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}*,:after,:before{box-sizing:border-box;border:0 solid #e2e8f0}a{color:inherit;text-decoration:inherit}svg,video{display:block;vertical-align:middle}video{max-width:100%;height:auto}.bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.bg-gray-100{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.border-gray-200{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.border-t{border-top-width:1px}.flex{display:flex}.grid{display:grid}.hidden{display:none}.items-center{align-items:center}.justify-center{justify-content:center}.font-semibold{font-weight:600}.h-5{height:1.25rem}.h-8{height:2rem}.h-16{height:4rem}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.leading-7{line-height:1.75rem}.mx-auto{margin-left:auto;margin-right:auto}.ml-1{margin-left:.25rem}.mt-2{margin-top:.5rem}.mr-2{margin-right:.5rem}.ml-2{margin-left:.5rem}.mt-4{margin-top:1rem}.ml-4{margin-left:1rem}.mt-8{margin-top:2rem}.ml-12{margin-left:3rem}.-mt-px{margin-top:-1px}.max-w-6xl{max-width:72rem}.min-h-screen{min-height:100vh}.overflow-hidden{overflow:hidden}.p-6{padding:1.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.pt-8{padding-top:2rem}.fixed{position:fixed}.relative{position:relative}.top-0{top:0}.right-0{right:0}.shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.text-center{text-align:center}.text-gray-200{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.text-gray-300{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.text-gray-500{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.text-gray-600{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.text-gray-700{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.text-gray-900{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.underline{text-decoration:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.w-5{width:1.25rem}.w-8{width:2rem}.w-auto{width:auto}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}@media (min-width:640px){.sm\:rounded-lg{border-radius:.5rem}.sm\:block{display:block}.sm\:items-center{align-items:center}.sm\:justify-start{justify-content:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:h-20{height:5rem}.sm\:ml-0{margin-left:0}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pt-0{padding-top:0}.sm\:text-left{text-align:left}.sm\:text-right{text-align:right}}@media (min-width:768px){.md\:border-t-0{border-top-width:0}.md\:border-l{border-left-width:1px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:px-8{padding-left:2rem;padding-right:2rem}}@media (prefers-color-scheme:dark){.dark\:bg-gray-800{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.dark\:bg-gray-900{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.dark\:border-gray-700{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.dark\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.dark\:text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.dark\:text-gray-500{--tw-text-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--tw-text-opacity))}}
|
||||
</style> --}}
|
||||
|
||||
@csrf
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Nunito', sans-serif;
|
||||
background-color:#e1b12c;
|
||||
}
|
||||
|
||||
@if (Session::has('error'))
|
||||
{{-- <div class="alert alert-success" role="alert">
|
||||
<p></p>
|
||||
</div> --}}
|
||||
<div role="alert" class="mb-2">
|
||||
<div class="bg-red-500 text-white font-bold rounded-t px-4 py-2">
|
||||
Danger
|
||||
</div>
|
||||
<div class="border border-t-0 border-red-400 rounded-b bg-red-100 px-4 py-3 text-red-700">
|
||||
<p>{{ Session::get('error') }}</p>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
.waves{
|
||||
/* background-color:#ecf0f1; */
|
||||
width:100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
<label class="block text-gray-700 text-sm font-bold mb-2">Emel</label>
|
||||
<div class="mb-4">
|
||||
<input type="text" name="email" placeholder="Email" class="@error('email') border-red-500 @enderror mb-3 py-3 px-4 w-full border border-gray-400 focus:outline-none rounded-md focus:ring-1 ring-cyan-500" />
|
||||
@error('email')
|
||||
<p class="text-red-500 text-xs italic">{{ $message }}</p>
|
||||
@enderror
|
||||
.waves .logo{
|
||||
z-index:1;
|
||||
position:absolute;
|
||||
top:25%;
|
||||
left:5%;
|
||||
/* margin-top:-75%; */
|
||||
}
|
||||
|
||||
.loginform{
|
||||
position:absolute;
|
||||
top:30%;
|
||||
right:20%;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 1440px) {
|
||||
.loginform{
|
||||
position:absolute;
|
||||
top:30%;
|
||||
right:20%;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 1024px) {
|
||||
.loginform{
|
||||
position:absolute;
|
||||
top:30%;
|
||||
right:10%;
|
||||
}
|
||||
}
|
||||
|
||||
.login-page {
|
||||
width: 360px;
|
||||
padding: 8% 0 0;
|
||||
margin: auto;
|
||||
}
|
||||
.form {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
background: #FFFFFF;
|
||||
max-width: 360px;
|
||||
margin: 0 auto 100px;
|
||||
padding: 45px;
|
||||
text-align: center;
|
||||
box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2), 0 5px 5px 0 rgba(0, 0, 0, 0.24);
|
||||
}
|
||||
.form input {
|
||||
font-family: "Roboto", sans-serif;
|
||||
outline: 0;
|
||||
background: #f2f2f2;
|
||||
width: 100%;
|
||||
border: 0;
|
||||
margin: 0 0 15px;
|
||||
padding: 15px;
|
||||
box-sizing: border-box;
|
||||
font-size: 14px;
|
||||
}
|
||||
.form button {
|
||||
font-family: "Roboto", sans-serif;
|
||||
text-transform: uppercase;
|
||||
outline: 0;
|
||||
background: #4CAF50;
|
||||
width: 100%;
|
||||
border: 0;
|
||||
padding: 15px;
|
||||
color: #FFFFFF;
|
||||
font-size: 14px;
|
||||
-webkit-transition: all 0.3 ease;
|
||||
transition: all 0.3 ease;
|
||||
cursor: pointer;
|
||||
}
|
||||
.form button:hover,.form button:active,.form button:focus {
|
||||
background: #43A047;
|
||||
}
|
||||
.form .message {
|
||||
margin: 15px 0 0;
|
||||
color: #b3b3b3;
|
||||
font-size: 12px;
|
||||
}
|
||||
.form .message a {
|
||||
color: #4CAF50;
|
||||
text-decoration: none;
|
||||
}
|
||||
.form .register-form {
|
||||
display: none;
|
||||
}
|
||||
.container {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
max-width: 300px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.container:before, .container:after {
|
||||
content: "";
|
||||
display: block;
|
||||
clear: both;
|
||||
}
|
||||
.container .info {
|
||||
margin: 50px auto;
|
||||
text-align: center;
|
||||
}
|
||||
.container .info h1 {
|
||||
margin: 0 0 15px;
|
||||
padding: 0;
|
||||
font-size: 36px;
|
||||
font-weight: 300;
|
||||
color: #1a1a1a;
|
||||
}
|
||||
.container .info span {
|
||||
color: #4d4d4d;
|
||||
font-size: 12px;
|
||||
}
|
||||
.container .info span a {
|
||||
color: #000000;
|
||||
text-decoration: none;
|
||||
}
|
||||
.container .info span .fa {
|
||||
color: #EF3B3A;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body class="antialiased" style="width:100%;height:100%;margin:0;">
|
||||
|
||||
<div class="waves">
|
||||
<svg height="100%" width="100%">
|
||||
<circle cx="0" cy="220" r="55%" fill="white" />
|
||||
</svg>
|
||||
<img class="logo" style="z-index:1;" src="{{ asset('img/logo_arrahn_baru.png') }}" height="40%" width="25%"/>
|
||||
</div>
|
||||
<label class="block text-gray-700 text-sm font-bold mb-2">Password</label>
|
||||
<div class="mb-4">
|
||||
<input type="password" name="password" placeholder="Password" class="@error('password') border-red-500 @enderror mb-3 py-3 px-4 w-full border border-gray-400 focus:outline-none rounded-md focus:ring-1 ring-cyan-500" />
|
||||
@error('password')
|
||||
<p class="text-red-500 text-xs italic">{{ $message }}</p>
|
||||
@enderror
|
||||
|
||||
|
||||
<div class="loginform">
|
||||
<div class="login-page">
|
||||
<div class="form">
|
||||
@if (Session::has('error'))
|
||||
<div role="alert" style="border: 1px solid red; border-radius:10px; background-color:#d63031;margin-bottom:10%;">
|
||||
<div class="border border-t-0 border-red-400 rounded-b bg-red-100 px-4 py-3" style="color:white;">
|
||||
<p>{{ Session::get('error') }}</p>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
<form class="login-form" method="POST" action="{{ route('login') }}">
|
||||
@csrf
|
||||
<input type="text" placeholder="email" name="email"/>
|
||||
@error('email')
|
||||
<p style="color:#d63031;font-size: 11px;font-style: italic;font-weight: bold;margin-top:0;" >{{ $message }}</p>
|
||||
@enderror
|
||||
<input type="password" placeholder="password" name="password"/>
|
||||
@error('password')
|
||||
<p style="color:#d63031;font-size: 11px;font-style: italic;font-weight: bold;margin-top:0;">{{ $message }}</p>
|
||||
@enderror
|
||||
<button>DAFTAR MASUK</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button class="w-full bg-blue-500 text-white p-3 rounded-lg font-semibold text-lg">Login</button>
|
||||
<a class="text-blue-400 text-center my-2">Forgot Pasword?</a>
|
||||
</form>
|
||||
<p class="text-center text-sm my-4">
|
||||
Permodalan Kelantan Berhad
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@endsection
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
|
||||
@if (Session::has('type'))
|
||||
<div class="@if(Session::get('type') == 'error') bg-red-100 border-red-500 text-red-900 @else bg-green-100 border-green-500 text-green-900 @endif border-t-4 rounded-b px-4 py-3 shadow-md w-96 mx-auto mb-5" role="alert">
|
||||
<div class="@if(Session::get('type') == 'error') bg-red-100 border-red-500 text-red-900 @else bg-yellow-100 border-green-500 text-green-900 @endif border-t-4 rounded-b px-4 py-3 shadow-md w-96 mx-auto mb-5" role="alert">
|
||||
<div class="flex">
|
||||
<div class="py-1">
|
||||
@if(Session::get('type') == 'error')
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
<breadcrumb :items="[{ 'title' : 'Kelulusan', 'icon' : 'fas fa-thumbs-up' }]"></breadcrumb>
|
||||
|
||||
<kelulusan-component></kelulusan-component>
|
||||
<kelulusan-component namaoperasi="{!! Auth::user()->name !!}"></kelulusan-component>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
@@ -13,6 +13,14 @@
|
||||
<!-- Routes -->
|
||||
@routes
|
||||
|
||||
{{-- Check Authentication --}}
|
||||
|
||||
@if (Auth::check())
|
||||
<meta name="user_name" content="{{ Auth::user()->name }}" />
|
||||
<meta name="user_roles" content="{{ Auth::user()->roles }}" />
|
||||
|
||||
@endif
|
||||
|
||||
<link href="{{ asset('css/all.min.css') }}" rel="stylesheet">
|
||||
|
||||
<!-- Scripts -->
|
||||
@@ -114,7 +122,7 @@
|
||||
<div class="flex items-center justify-start">
|
||||
|
||||
|
||||
<button id="toggleSidebarMobile" @if(Auth::user()->roles == 'admin' || Auth::user()->roles == 'operasi') onclick="openNav()" @endif aria-expanded="true" aria-controls="sidebar" class=" mr-2 text-gray-600 hover:text-gray-900 cursor-pointer p-2 hover:bg-gray-100 rounded">
|
||||
<button id="toggleSidebarMobile" onclick="openNav()" aria-expanded="true" aria-controls="sidebar" class=" mr-2 text-gray-600 hover:text-gray-900 cursor-pointer p-2 hover:bg-gray-100 rounded">
|
||||
<svg id="toggleSidebarMobileHamburger" class="w-6 h-6" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" d="M3 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 10a1 1 0 011-1h6a1 1 0 110 2H4a1 1 0 01-1-1zM3 15a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z" clip-rule="evenodd"></path>
|
||||
</svg>
|
||||
|
||||
@@ -181,6 +181,42 @@
|
||||
</div>
|
||||
</li>
|
||||
</a>
|
||||
|
||||
<a href="{{ route('permohonan.index') }}" class="rounded mb-2 mr-2 {{ Route::is('permohonan') || Route::is('permohonan.*') ? 'bg-gray-200 rounded text-white-500' : 'hover:bg-yellow-300 ' }}">
|
||||
<li class="flex w-full justify-between text-gray-600 hover:text-gray-500 cursor-pointer items-center ">
|
||||
<div class="flex items-center">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M5 19a2 2 0 01-2-2V7a2 2 0 012-2h4l2 2h4a2 2 0 012 2v1M5 19h14a2 2 0 002-2v-5a2 2 0 00-2-2H9a2 2 0 00-2 2v5a2 2 0 01-2 2z" />
|
||||
</svg>
|
||||
<span class="text-sm ml-2 text-lg">Permohonan</span>
|
||||
</div>
|
||||
</li>
|
||||
</a>
|
||||
|
||||
@elseif(Auth::user()->roles == 'akaun')
|
||||
|
||||
<a href="{{ route('akaun.home') }}" class="rounded mb-2 mr-2 {{ Route::is('akaun.home') || Route::is('akaun.home.*') ? 'bg-gray-200 rounded text-white-500' : 'hover:bg-yellow-300 ' }}">
|
||||
<li class="flex w-full justify-between text-gray-600 hover:text-gray-500 cursor-pointer items-center ">
|
||||
<div class="flex items-center">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10" />
|
||||
</svg>
|
||||
<span class="text-sm ml-2 text-lg">Laporan</span>
|
||||
</div>
|
||||
</li>
|
||||
</a>
|
||||
|
||||
<a href="{{ route('permohonan.index') }}" class="rounded mb-2 mr-2 {{ Route::is('permohonan') || Route::is('permohonan.*') ? 'bg-gray-200 rounded text-white-500' : 'hover:bg-yellow-300 ' }}">
|
||||
<li class="flex w-full justify-between text-gray-600 hover:text-gray-500 cursor-pointer items-center ">
|
||||
<div class="flex items-center">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M5 19a2 2 0 01-2-2V7a2 2 0 012-2h4l2 2h4a2 2 0 012 2v1M5 19h14a2 2 0 002-2v-5a2 2 0 00-2-2H9a2 2 0 00-2 2v5a2 2 0 01-2 2z" />
|
||||
</svg>
|
||||
<span class="text-sm ml-2 text-lg">Permohonan</span>
|
||||
</div>
|
||||
</li>
|
||||
</a>
|
||||
|
||||
@endif
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('content')
|
||||
<div class="bg-gray-900 opacity-50 hidden fixed inset-0 z-10" id="sidebarBackdrop"></div>
|
||||
<div id="main-content" class="h-full w-full bg-gray-50 relative overflow-y-auto">
|
||||
<main>
|
||||
|
||||
<div class="pt-6 px-4">
|
||||
|
||||
<breadcrumb :items="[{ 'title' : 'Online', 'icon' : 'fas fa-globe-asia' }]"></breadcrumb>
|
||||
|
||||
{{-- <online-component></online-component> --}}
|
||||
|
||||
|
||||
</div>
|
||||
</main>
|
||||
@include('layouts.footer')
|
||||
@endsection
|
||||
@@ -0,0 +1,379 @@
|
||||
<!doctype html>
|
||||
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
<!-- CSRF Token -->
|
||||
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||
|
||||
<title>Pengeluaran Cetakan Pengurus Besar</title>
|
||||
|
||||
<link rel="icon" type="image/x-icon" href="{{ asset('img/icon_pkb.png') }}" />
|
||||
|
||||
|
||||
<link href="{{ asset('css/all.min.css') }}" rel="stylesheet">
|
||||
|
||||
<!-- Scripts -->
|
||||
<script src="{{ asset('js/app.js') }}" defer></script>
|
||||
|
||||
<!-- Fonts -->
|
||||
<link rel="dns-prefetch" href="//fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet">
|
||||
|
||||
<!-- Styles -->
|
||||
<link href="{{ asset('css/app.css') }}" rel="stylesheet">
|
||||
|
||||
</head>
|
||||
<body class="p-2">
|
||||
|
||||
<div class="mb-10">
|
||||
<div class="w-full flex flex-col justify-end items-end text-right">
|
||||
|
||||
<div class="ml-2">
|
||||
<b>{{ $fullname }}</b>
|
||||
<p class="text-xs">{{ $cawangan_detail['namacaw'] }}</p>
|
||||
<p class="text-xs">{{ $cawangan_detail['alamat1'] }}</p>
|
||||
<p class="text-xs">{{ $cawangan_detail['alamat2'] }}</p>
|
||||
|
||||
<p class="text-xs">No Tel : {{ $cawangan_detail['notel'] }}</p>
|
||||
<p class="text-xs">No Faks : {{ $cawangan_detail['nofaks'] }}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="flex mb-6">
|
||||
<div class="ml-2 w-1/2 flex flex-col justify-end">
|
||||
<b class="text-xs border border-black pl-1">Kepada</b>
|
||||
<p class="text-xs">
|
||||
@php
|
||||
if($jeniscawangan === 'BMMB')
|
||||
{
|
||||
echo 'AHLI ' . $fullname;
|
||||
}else{
|
||||
echo 'Pengurus Besar Kumpulan PKB';
|
||||
}
|
||||
@endphp
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="ml-2 w-1/2 flex flex-col">
|
||||
<b class="text-xs border border-black pl-1 justify-end">No Permohonan</b>
|
||||
<p class="text-xs w-1/2 border border-gray-400 text-right">{{ $permohonan['nopermohonan'] }}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex mb-6">
|
||||
<div class="ml-2 w-1/2 flex flex-col justify-end">
|
||||
<b class="text-xs border border-black pl-1">Daripada</b>
|
||||
<p class="text-xs">Pengurus Cawangan {{ $cawangan_detail['namacaw'] }}</p>
|
||||
<p class="text-xs">Nama : {{ $permohonan['nama_pemohon'] }}</p>
|
||||
{{-- <p class="text-xs">NO KP : 970403-03-5003</p> --}}
|
||||
|
||||
</div>
|
||||
|
||||
<div class="ml-2 w-1/2 flex flex-col">
|
||||
<b class="text-xs border border-black pl-1">Tarikh</b>
|
||||
<p class="text-xs w-1/2 border border-gray-400 text-right">{{ $tarikhcetakan }}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex mb-6">
|
||||
<div class="ml-2 w-1/2 flex flex-col justify-end">
|
||||
<b class="text-xs border border-black pl-1">PERMOHONAN WANG</b>
|
||||
@if($permohonan['jenismohon'] === 'permohonanwang')
|
||||
<div class="flex">
|
||||
<p class="text-xs w-full">Jumlah dipohon</p>
|
||||
<p class="text-xs w-2/3 border border-gray-400 text-right">RM {{ number_format($permohonan['amaun_mohon'],2) }}</p>
|
||||
</div>
|
||||
<div class="flex">
|
||||
<p class="text-xs w-full">Tarikh serahan</p>
|
||||
<p class="text-xs w-2/3 border border-gray-400 text-right">
|
||||
@php
|
||||
$myDateTime = DateTime::createFromFormat('Y-m-d', $permohonan['tarikh_permohonan']);
|
||||
$formattedweddingdate = $myDateTime->format('d-m-Y');
|
||||
echo($formattedweddingdate)
|
||||
@endphp
|
||||
</p>
|
||||
</div>
|
||||
<div class="flex">
|
||||
<p class="text-xs w-full">Baki Peti Besi</p>
|
||||
<p class="text-xs w-2/3 border border-gray-400 text-right">
|
||||
RM {{ number_format($permohonan['baki_petibesi'],2) }}
|
||||
</p>
|
||||
</div>
|
||||
@else
|
||||
<div class="flex">
|
||||
<p class="text-xs w-full">Jumlah dipohon</p>
|
||||
<p class="text-xs w-2/3 border border-gray-400 text-right"></p>
|
||||
</div>
|
||||
<div class="flex">
|
||||
<p class="text-xs w-full">Tarikh serahan</p>
|
||||
<p class="text-xs w-2/3 border border-gray-400 text-right">
|
||||
|
||||
</p>
|
||||
</div>
|
||||
<div class="flex">
|
||||
<p class="text-xs w-full">Baki Peti Besi</p>
|
||||
<p class="text-xs w-2/3 border border-gray-400 text-right">
|
||||
|
||||
</p>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<div class="ml-2 w-1/2 flex flex-col">
|
||||
<b class="text-xs border border-black pl-1 justify-end">BAYARAN BALIK</b>
|
||||
@if($permohonan['jenismohon'] === 'permohonanwang')
|
||||
<div class="flex">
|
||||
<p class="text-xs w-full">Bayar balik pinjaman</p>
|
||||
<p class="text-xs w-2/3 border border-gray-400"></p>
|
||||
</div>
|
||||
<div class="flex">
|
||||
<p class="text-xs w-full">Tarikh bank-in ke PKB</p>
|
||||
<p class="text-xs w-2/3 border border-gray-400"></p>
|
||||
</div>
|
||||
<div class="flex">
|
||||
<p class="text-xs w-full">Baki Peti Besi</p>
|
||||
<p class="text-xs w-2/3 border border-gray-400"></p>
|
||||
</div>
|
||||
@else
|
||||
<div class="flex">
|
||||
<p class="text-xs w-full">Bayar balik pinjaman</p>
|
||||
<p class="text-xs w-2/3 border border-gray-400 text-right">{{ number_format($permohonan['amaun_mohon'],2) }}</p>
|
||||
</div>
|
||||
<div class="flex">
|
||||
<p class="text-xs w-full">Tarikh bank-in ke PKB</p>
|
||||
<p class="text-xs w-2/3 border border-gray-400 text-right">
|
||||
@php
|
||||
$myDateTime = DateTime::createFromFormat('Y-m-d', $permohonan['tarikh_permohonan']);
|
||||
$formattedweddingdate = $myDateTime->format('d-m-Y');
|
||||
echo($formattedweddingdate)
|
||||
@endphp
|
||||
</p>
|
||||
</div>
|
||||
<div class="flex">
|
||||
<p class="text-xs w-full">Baki Peti Besi</p>
|
||||
<p class="text-xs w-2/3 border border-gray-400 text-right">{{ number_format($permohonan['baki_petibesi'],2) }}</p>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex mb-6">
|
||||
<div class="ml-2 w-1/2 flex flex-col justify-end">
|
||||
<b class="text-xs border border-black pl-1">Disediakan oleh</b>
|
||||
<p class="h-14"></p>
|
||||
<div class="flex">
|
||||
<div class="w-2/3"></div>
|
||||
<div class="text-right border-t border-gray-300 w-1/3"></div>
|
||||
</div>
|
||||
<div class="flex">
|
||||
<div class="w-2/3"></div>
|
||||
<p class="text-xs w-1/3 text-center">Pengurus Cawangan</p>
|
||||
</div>
|
||||
<div class="flex">
|
||||
<p class="text-xs text-center w-2/3">Tarikh</p>
|
||||
<p class="text-xs w-1/3 border border-gray-400 text-right">
|
||||
@php
|
||||
$myDateTime = DateTime::createFromFormat('Y-m-d', $permohonan['tarikh_permohonan']);
|
||||
$formattedweddingdate = $myDateTime->format('d-m-Y');
|
||||
echo($formattedweddingdate)
|
||||
@endphp
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="ml-2 w-1/2 flex flex-col">
|
||||
<b class="text-xs border border-black pl-1">Disahkan oleh</b>
|
||||
|
||||
<p class="h-14"></p>
|
||||
<div class="flex">
|
||||
<div class="w-2/3"></div>
|
||||
<div class="text-right border-t border-gray-300 w-1/3"></div>
|
||||
</div>
|
||||
<div class="flex">
|
||||
<div class="w-2/3"></div>
|
||||
<p class="text-xs w-2/3 text-right">Pengurus Operasi Ar-Rahn</p>
|
||||
</div>
|
||||
<div class="flex">
|
||||
<p class="text-xs text-center w-2/3">Tarikh</p>
|
||||
<p class="text-xs w-1/3 border border-gray-400 text-right">
|
||||
@php
|
||||
$myDateTime = DateTime::createFromFormat('Y-m-d', $permohonan['tarikh_pengesahanoperasi']);
|
||||
$formattedweddingdate = $myDateTime->format('d-m-Y');
|
||||
echo($formattedweddingdate)
|
||||
@endphp
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="w-full text-center border border-black pl-1">
|
||||
<b class="text-xs">@php if($jeniscawangan === 'PKB')
|
||||
{
|
||||
echo 'KELULUSAN ' . $fullname;
|
||||
}else{
|
||||
echo 'KELULUSAN AHLI ' . $fullname;
|
||||
}
|
||||
@endphp
|
||||
</b>
|
||||
</div>
|
||||
|
||||
<div class="flex">
|
||||
<p class="text-xs mt-5 w-2/4">Diluluskan pengeluaran wang kepada Ar-Rahn sebanyak RM</p>
|
||||
<p class="text-xs mt-5 w-1/3">{{ ($permohonan['jumlah_diluluskan'] !== null) ? number_format($permohonan['jumlah_diluluskan'],2) : '' }} </p>
|
||||
</div>
|
||||
|
||||
<div class="flex">
|
||||
<p class="text-xs w-2/3">{{ ($ringgittext !== '') ? '(Ringgit Malaysia:' . $ringgittext . ' Sahaja)' : '' }}</p>
|
||||
</div>
|
||||
|
||||
<div class="flex mb-6">
|
||||
<div class="ml-2 w-1/2 flex flex-col justify-end">
|
||||
<p class="h-20"></p>
|
||||
<div class="flex">
|
||||
<div class="w-2/3"></div>
|
||||
<div class="text-right border-t border-gray-300 w-1/3"></div>
|
||||
</div>
|
||||
<div class="flex">
|
||||
<div class="w-2/3"></div>
|
||||
<p class="text-xs w-2/3 text-right">Ketua Kewangan & Akaun</p>
|
||||
</div>
|
||||
<div class="flex">
|
||||
<p class="text-xs text-center w-2/3">Tarikh</p>
|
||||
<p class="text-xs w-1/3 border border-gray-400 text-right">
|
||||
@php
|
||||
$myDateTime = DateTime::createFromFormat('Y-m-d', $permohonan['tarikh_pengesahanakaun']);
|
||||
$formattedweddingdate = $myDateTime->format('d-m-Y');
|
||||
echo($formattedweddingdate)
|
||||
@endphp
|
||||
</p>
|
||||
</div>
|
||||
{{-- <p class="text-xs">NO KP : 970403-03-5003</p> --}}
|
||||
|
||||
</div>
|
||||
|
||||
<div class="ml-2 w-1/2 flex flex-col">
|
||||
|
||||
<p class="h-20"></p>
|
||||
<div class="flex">
|
||||
<div class="w-2/3"></div>
|
||||
<div class="text-right border-t border-gray-300 w-1/3"></div>
|
||||
</div>
|
||||
<div class="flex">
|
||||
<div class="w-2/3"></div>
|
||||
<p class="text-xs w-2/3 text-right">
|
||||
@php if($jeniscawangan === 'BMMB')
|
||||
{
|
||||
echo 'Ahli JMC';
|
||||
}else{
|
||||
echo 'Pengurus Besar';
|
||||
}
|
||||
@endphp
|
||||
</p>
|
||||
</div>
|
||||
<div class="flex">
|
||||
<p class="text-xs text-center w-2/3">Tarikh</p>
|
||||
<p class="text-xs w-1/3 border border-gray-400 text-right">
|
||||
@php
|
||||
if($permohonan['tarikh_diluluskan'] !== null)
|
||||
{
|
||||
$myDateTime = DateTime::createFromFormat('Y-m-d', $permohonan['tarikh_diluluskan']);
|
||||
$formattedweddingdate = $myDateTime->format('d-m-Y');
|
||||
echo($formattedweddingdate);
|
||||
}
|
||||
@endphp
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex mb-6">
|
||||
<div class="ml-2 w-1/2 flex flex-col justify-end">
|
||||
<b class="text-xs border border-black pl-1 text-center">PENERIMA WANG</b>
|
||||
<b class="text-xs border border-black pl-1 text-center">Wakil Ar-Rahn</b>
|
||||
<div class="flex">
|
||||
<p class="text-xs w-full">Pengesahan penerima wang oleh</p>
|
||||
<p class="text-xs w-2/3 border border-gray-400 text-right">
|
||||
|
||||
{{ ($permohonan['nama_penerima'] !== null) ? $permohonan['nama_penerima'] : '' }}
|
||||
|
||||
</p>
|
||||
</div>
|
||||
<div class="flex">
|
||||
<p class="text-xs w-full">Tarikh serahan</p>
|
||||
<p class="text-xs w-2/3 border border-gray-400 text-right">
|
||||
@php
|
||||
|
||||
if($permohonan['tarikh_terima'] !== null)
|
||||
{
|
||||
$myDateTime = DateTime::createFromFormat('Y-m-d', $permohonan['tarikh_terima']);
|
||||
$formattedweddingdate = $myDateTime->format('d-m-Y');
|
||||
echo($formattedweddingdate);
|
||||
}
|
||||
@endphp
|
||||
</p>
|
||||
</div>
|
||||
<div class="flex">
|
||||
<p class="text-xs w-full">Baki Peti Besi</p>
|
||||
<p class="text-xs w-2/3 border border-gray-400 text-right">
|
||||
@php
|
||||
$jumlah = 0;
|
||||
if($permohonan['jumlah_diluluskan'] !== null)
|
||||
{
|
||||
$jumlah = floatval($permohonan['baki_petibesi']) + floatval($permohonan['jumlah_diluluskan']);
|
||||
echo 'RM ' . number_format($jumlah,2);
|
||||
}
|
||||
@endphp
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{{-- <p class="text-xs">NO KP : 970403-03-5003</p> --}}
|
||||
|
||||
</div>
|
||||
|
||||
<div class="ml-2 w-1/2 flex flex-col">
|
||||
<b class="text-xs border border-black pl-1 text-center">Bahagian Kewangan & Akaun PKB</b>
|
||||
<div class="flex">
|
||||
<p class="text-xs w-full">Bank</p>
|
||||
<p class="text-xs w-2/3 border border-gray-400 text-right">{{ $permohonan['jenisbank'] }}</p>
|
||||
</div>
|
||||
<div class="flex">
|
||||
<p class="text-xs w-full">No. Resit</p>
|
||||
<p class="text-xs w-2/3 border border-gray-400 text-right">{{ $permohonan['noresit'] }}</p>
|
||||
</div>
|
||||
<div class="flex">
|
||||
<p class="text-xs w-full">Tarikh kemasukan</p>
|
||||
<p class="text-xs w-2/3 border border-gray-400 text-right">
|
||||
@php
|
||||
|
||||
if($permohonan['tarikh_terima'] !== null)
|
||||
{
|
||||
$myDateTime = DateTime::createFromFormat('Y-m-d', $permohonan['tarikh_terima']);
|
||||
$formattedweddingdate = $myDateTime->format('d-m-Y');
|
||||
echo($formattedweddingdate);
|
||||
}
|
||||
|
||||
@endphp
|
||||
</p>
|
||||
</div>
|
||||
<div class="flex">
|
||||
<p class="text-xs w-full">Pengesahan oleh</p>
|
||||
<p class="text-xs w-2/3 border border-gray-400 text-right">
|
||||
{{ $permohonan['nama_akaun'] }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
window.print();
|
||||
// window.onfocus=function(){ window.close();}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,158 @@
|
||||
<!doctype html>
|
||||
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
<!-- CSRF Token -->
|
||||
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||
|
||||
<title>Pengeluaran Cetakan Pengurus Besar</title>
|
||||
|
||||
<link rel="icon" type="image/x-icon" href="{{ asset('img/icon_pkb.png') }}" />
|
||||
|
||||
|
||||
<link href="{{ asset('css/all.min.css') }}" rel="stylesheet">
|
||||
|
||||
<!-- Scripts -->
|
||||
<script src="{{ asset('js/app.js') }}" defer></script>
|
||||
|
||||
<!-- Fonts -->
|
||||
<link rel="dns-prefetch" href="//fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet">
|
||||
|
||||
<!-- Styles -->
|
||||
<link href="{{ asset('css/app.css') }}" rel="stylesheet">
|
||||
|
||||
</head>
|
||||
<body class="p-2">
|
||||
|
||||
<div class="mb-10">
|
||||
<div class="flex w-full">
|
||||
<div class="w-1/12 mt-4">
|
||||
<img src="{{ asset('img/ARRAHN1.png') }}" style="width:70px"/>
|
||||
</div>
|
||||
|
||||
<div class="ml-2 w-8/12 flex flex-col justify-end">
|
||||
<b>PERMODALAN KELANTAN BERHAD</b>
|
||||
<p class="text-xs">{{ $cawangan_detail['namacaw'] }}</p>
|
||||
<p class="text-xs">{{ $cawangan_detail['alamat1'] }}</p>
|
||||
<p class="text-xs">{{ $cawangan_detail['alamat2'] }}</p>
|
||||
</div>
|
||||
|
||||
<div class="w-3/12 flex flex-col justify-end">
|
||||
<p class="text-xs">No Tel : {{ $cawangan_detail['notel'] }}</p>
|
||||
<p class="text-xs">No Faks : {{ $cawangan_detail['nofaks'] }}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="flex mb-6">
|
||||
<div class="ml-2 w-9/12 flex flex-col justify-end">
|
||||
<b class="text-sm">Kepada:</b>
|
||||
<p class="text-xs">Pengurus Besar Kumpulan PKB</p>
|
||||
</div>
|
||||
|
||||
<div class="ml-2 w-3/12 flex flex-col">
|
||||
<b class="text-sm">No Permohonan:</b>
|
||||
<p class="text-xs">{{ $permohonan['nopermohonan'] }}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex mb-6">
|
||||
<div class="ml-2 w-9/12 flex flex-col justify-end">
|
||||
<b class="text-sm">Daripada:</b>
|
||||
<p class="text-xs">Pengurus Cawangan {{ $cawangan_detail['namacaw'] }}</p>
|
||||
<p class="text-xs">Nama : {{ $permohonan['nama_pemohon'] }}</p>
|
||||
{{-- <p class="text-xs">NO KP : 970403-03-5003</p> --}}
|
||||
|
||||
</div>
|
||||
|
||||
<div class="ml-2 w-3/12 flex flex-col">
|
||||
<b class="text-sm">Tarikh:</b>
|
||||
<p class="text-xs">{{ $tarikhcetakan }}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if($permohonan['jenismohon'] === 'permohonanwang')
|
||||
<h4 class="ml-2 text-lg font-bold underline">PERMOHONAN WANG</h4>
|
||||
@else
|
||||
<h4 class="ml-2 text-lg font-bold underline">BAYARAN BALIK</h4>
|
||||
@endif
|
||||
|
||||
<div class="flex justify-content-center justify-center items-center mt-6">
|
||||
<table class="border-2 text-sm border-black p-2 w-full">
|
||||
<tr>
|
||||
@if($permohonan['jenismohon'] === 'permohonanwang')
|
||||
<td class="border-2 border-black p-2">Jumlah Dipohon</td>
|
||||
@else
|
||||
<td class="border-2 border-black p-2">Bayaran Balik</td>
|
||||
@endif
|
||||
<td class="border-2 border-black p-2 text-right">RM {{ number_format($permohonan['amaun_mohon'],2) }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="border-2 border-black p-2">Tarikh Mohon</td>
|
||||
<td class="border-2 border-black p-2 text-right">
|
||||
@php
|
||||
$myDateTime = DateTime::createFromFormat('Y-m-d', $permohonan['tarikh_permohonan']);
|
||||
$formattedweddingdate = $myDateTime->format('d-m-Y');
|
||||
echo($formattedweddingdate)
|
||||
@endphp
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="border-2 border-black p-2">Baki Peti Besi</td>
|
||||
<td class="border-2 border-black p-2 text-right">RM {{ number_format($permohonan['baki_petibesi'],2) }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="block mt-36 ">
|
||||
{{-- <div class="p-2 w-full h-100"></div> --}}
|
||||
</div>
|
||||
<div class="flex mb-6 mt-12 mx-auto justify-content-center items-center">
|
||||
<div class="ml-2 w-6/12 flex flex-col justify-end">
|
||||
<b class="text-sm">Disediakan oleh:</b>
|
||||
<p class="h-8"></p>
|
||||
<p>.........................................................</p>
|
||||
<p class="text-xs font-bold ">Pengurus Cawangan {{ $cawangan_detail['namacaw'] }}</p>
|
||||
<p class="text-xs">Nama : {{ $permohonan['nama_pemohon'] }}</p>
|
||||
<p class="text-xs">Tarikh : {{ $tarikhcetakan }}</p>
|
||||
</div>
|
||||
|
||||
<div class="ml-2 w-6/12 flex flex-col justify-end">
|
||||
<b class="text-sm">Disahkan oleh:</b>
|
||||
<p class="h-8"></p>
|
||||
<p>.........................................................</p>
|
||||
<p class="text-xs font-bold">Operasi Permodalan Kelantan Berhad</p>
|
||||
<p class="text-xs">Nama : {{ $permohonan['nama_operasi'] }}</p>
|
||||
<p class="text-xs">Tarikh : {{ $tarikhcetakan }}</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex mb-6 mt-12">
|
||||
<div class="ml-2 w-6/12 flex flex-col justify-end">
|
||||
<b class="text-sm">Disahkan oleh:</b>
|
||||
<p class="h-8"></p>
|
||||
<p>.........................................................</p>
|
||||
<p class="text-xs font-bold ">Akaun Permodalan Kelantan Berhad</p>
|
||||
<p class="text-xs">Nama : {{ $permohonan['nama_akaun'] }}</p>
|
||||
<p class="text-xs">Tarikh : {{ $tarikhcetakan }}</p>
|
||||
</div>
|
||||
|
||||
<div class="ml-2 w-6/12 flex flex-col justify-end">
|
||||
<b class="text-sm">Diluluskan oleh:</b>
|
||||
<p class="h-8"></p>
|
||||
<p>.........................................................</p>
|
||||
<p class="text-xs font-bold">Pengurus Besar</p>
|
||||
<p class="text-xs">Nama : Pengurus Besar</p>
|
||||
<p class="text-xs">Tarikh : {{ $tarikhcetakan }}</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
window.print();
|
||||
// window.onfocus=function(){ window.close();}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,20 @@
|
||||
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('content')
|
||||
<div class="bg-gray-900 opacity-50 hidden fixed inset-0 z-10" id="sidebarBackdrop"></div>
|
||||
<div id="main-content" class="h-full w-full bg-gray-50 relative overflow-y-auto">
|
||||
<main>
|
||||
|
||||
<div class="pt-6 px-4">
|
||||
|
||||
<breadcrumb :items="[{ 'title' : 'Permohonan Wang', 'icon' : 'fas fa-globe-asia' }]"></breadcrumb>
|
||||
|
||||
|
||||
<permohonanindex-component></permohonanindex-component>
|
||||
|
||||
|
||||
</div>
|
||||
</main>
|
||||
@include('layouts.footer')
|
||||
@endsection
|
||||
@@ -26,5 +26,9 @@ Route::group(['prefix' => 'check'], function () {
|
||||
|
||||
Route::get('/cawangan', 'App\Http\Controllers\CawanganController@list');
|
||||
|
||||
Route::post('/kelulusan/operasi', 'App\Http\Controllers\KelulusanController@updatekelulusan');
|
||||
Route::post('/kelulusan/pb', 'App\Http\Controllers\KelulusanController@updatePB');
|
||||
Route::get('/muatturun', 'App\Http\Controllers\KelulusanController@download');
|
||||
|
||||
|
||||
});
|
||||
|
||||
+18
-1
@@ -1,6 +1,7 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use Illuminate\Support\Facades\Http;
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
@@ -14,7 +15,8 @@ use Illuminate\Support\Facades\Route;
|
||||
*/
|
||||
|
||||
Route::get('/iframe', function () {
|
||||
echo 'for iframe';
|
||||
|
||||
|
||||
});
|
||||
|
||||
// Auth::routes();
|
||||
@@ -27,6 +29,10 @@ Route::post('logout', ['as' => 'logout', 'uses' => 'App\Http\Controllers\Auth\Lo
|
||||
Route::get('login', 'App\Http\Controllers\Auth\LoginController@login')->name('login');
|
||||
Route::post('login', 'App\Http\Controllers\Auth\LoginController@authenticate');
|
||||
|
||||
Route::get('/welcome', function () {
|
||||
return view('welcome');
|
||||
});
|
||||
|
||||
Route::get('/', [App\Http\Controllers\HomeController::class,'index'])->name('index');
|
||||
Route::get('/home', [App\Http\Controllers\HomeController::class, 'indexhome'])->name('home')->middleware(['roleChecker:admin,null,operasi']);
|
||||
Route::get('/akaunhome', [App\Http\Controllers\HomeController::class, 'indexakaun'])->name('akaun.home')->middleware(['roleChecker:admin,akaun,operasi']);
|
||||
@@ -82,6 +88,7 @@ Route::get('/akaunhome/cetakkawalanstok',['as'=>'cetak.kawalanstok','uses'=>'App
|
||||
Route::get('/akaunhome/cetaklelong',['as'=>'cetak.lelong','uses'=>'App\Http\Controllers\AkaunController@cetaklaporan_lelong'])->middleware(['roleChecker:admin,akaun,operasi']);
|
||||
Route::get('/akaunhome/cetakperbelanjaan',['as'=>'cetak.perbelanjaan','uses'=>'App\Http\Controllers\AkaunController@cetaklaporan_perbelanjaan'])->middleware(['roleChecker:admin,akaun,operasi']);
|
||||
Route::get('/akaunhome/cetakringkasanterkumpul',['as'=>'cetak.ringkasanterkumpul','uses'=>'App\Http\Controllers\AkaunController@cetakLaporanRingkasanTerkumpul'])->middleware(['roleChecker:admin,akaun,operasi']);
|
||||
Route::get('/akaunhome/cetakstokauditbackdate',['as'=>'cetak.stokauditbackdate','uses'=>'App\Http\Controllers\AkaunController@cetakLaporanStokAuditBackdate'])->middleware(['roleChecker:admin,akaun,operasi']);
|
||||
|
||||
|
||||
//Resit
|
||||
@@ -94,3 +101,13 @@ Route::get('/resit/tebusseparuh/{id}',['as'=>'resit.tebusseparuh','uses'=>'App\H
|
||||
Route::get('/resit/belumtebus/{id}',['as'=>'resit.belumtebus','uses'=>'App\Http\Controllers\ResitController@resitbelumtebus']);
|
||||
Route::get('/resit/tambahpinjam/{id}',['as'=>'resit.tambahpinjam','uses'=>'App\Http\Controllers\ResitController@resittambahpinjam']);
|
||||
Route::get('/resit/tebusautotawarruq/{id}',['as'=>'resit.autotawarruq','uses'=>'App\Http\Controllers\ResitController@resitautotawarruq']);
|
||||
|
||||
//Katalaluan
|
||||
Route::get('/mintasemulakelulusan','App\Http\Controllers\PermohonanController@MintaKelulusan');
|
||||
|
||||
//Permohonan Wang
|
||||
Route::get('/permohonan',['as'=>'permohonan.index','uses'=>'App\Http\Controllers\PermohonanController@index']);
|
||||
Route::get('/permohonan/cetakanpb',['as'=>'permohonan.cetakanpb','uses'=>'App\Http\Controllers\PermohonanController@CetakanPB']);
|
||||
Route::get('/permohonan/cetakanpenuh',['as'=>'permohonan.cetakanpenuh','uses'=>'App\Http\Controllers\PermohonanController@CetakanPenuh']);
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user