fix final

This commit is contained in:
fifi97
2022-01-03 00:54:18 +08:00
parent b5cacca3a6
commit b2ce8e8fd8
30 changed files with 890 additions and 4254 deletions
+50 -51
View File
@@ -20,8 +20,8 @@ class AkaunController extends Controller
$auth_user = Auth::user();
$api_url = config('api.url');
$cawangan_info = Http::get(config('api.url') . '/api/cawangan/'. $auth_user['cawangan'])->json();
$cawangan=Http::get(config('api.url').'/api/cawangan/detail/'.$auth_user['cawangan'])->json();
$cawangan_info = Http::get(config('api.url') . '/api/cawangan/'. $request->kodcaw)->json();
$cawangan=Http::get(config('api.url').'/api/cawangan/detail/'.$request->kodcaw)->json();
$cawangan_detail=$cawangan[0];
$auth_user = Auth::user();
@@ -59,7 +59,7 @@ class AkaunController extends Controller
if($lejer->api_redirect != null)
{
${$lejer['variable']} = Http::get(config('api.url'). $lejer['api_redirect'] . $auth_user['cawangan'],['mula' => $tarikh_mula, 'hingga' => $tarikh_akhir])->json();
${$lejer['variable']} = Http::get(config('api.url'). $lejer['api_redirect'] . $request->kodcaw,['mula' => $tarikh_mula, 'hingga' => $tarikh_akhir])->json();
if($lejer->namadebit == null)
{
@@ -117,7 +117,7 @@ class AkaunController extends Controller
if($request->jenis == 'pdf')
{
$pdf = PDF::loadView('akaun.laporan_lejer_am_pdf',compact('cawangan','tarikh_cetak','cawangan_info', 'api_url','cawangan_detail','tarikh_akhir','tarikh_mula','lejeram','totalsamadebit','totalsamakredit'))->setPaper('a4', 'landscape');
return $pdf->download('laporan_lejeram_' . $auth_user['cawangan'] .'_'. $tarikh_cetak . '.pdf');
return $pdf->download('laporan_lejeram_' . $request->kodcaw .'_'. $tarikh_cetak . '.pdf');
}else{
return view('akaun.laporan_lejer_am',compact('cawangan','tarikh_cetak','cawangan_info', 'api_url','cawangan_detail','tarikh_akhir','tarikh_mula','lejeram','totalsamadebit','totalsamakredit'));
}
@@ -153,38 +153,38 @@ class AkaunController extends Controller
}
$cawangan_info = Http::get(config('api.url') . '/api/cawangan/'. $auth_user['cawangan'])->json();
$cawangan=Http::get(config('api.url').'/api/cawangan/detail/'.$auth_user['cawangan'])->json();
$cawangan_info = Http::get(config('api.url') . '/api/cawangan/'. $request->kodcaw)->json();
$cawangan=Http::get(config('api.url').'/api/cawangan/detail/'.$request->kodcaw)->json();
$cawangan_detail=$cawangan[0];
//Calculation Imbang Duga
$imbangduga = Http::get(config('api.url').'/api/CalculationPendahuluanSerahan/' . $auth_user['cawangan'],['tarikh' => $tarikh_imbangan2])->json();
$keuntungan = Http::get(config('api.url').'/api/KeuntunganArRahn/' . $auth_user['cawangan'],['tarikh' => $tarikh_imbangan2])->json();
$rebet = Http::get(config('api.url').'/api/RebetCalculation/' . $auth_user['cawangan'],['tarikh' => $tarikh_imbangan2])->json();
$imbangduga = Http::get(config('api.url').'/api/CalculationPendahuluanSerahan/' . $request->kodcaw,['tarikh' => $tarikh_imbangan2])->json();
$keuntungan = Http::get(config('api.url').'/api/KeuntunganArRahn/' . $request->kodcaw,['tarikh' => $tarikh_imbangan2])->json();
$rebet = Http::get(config('api.url').'/api/RebetCalculation/' . $request->kodcaw,['tarikh' => $tarikh_imbangan2])->json();
//Harta semasa
$pinjamandiberi = Http::get(config('api.url').'/api/PinjamanDiberi/' . $auth_user['cawangan'],['tarikh' => $tarikh_imbangan2])->json();
$pembiayaantawarruq = Http::get(config('api.url').'/api/PembiayaanDiberiTawarruq/' . $auth_user['cawangan'],['tarikh' => $tarikh_imbangan2])->json();
$tunaiditangan = Http::get(config('api.url').'/api/TunaiDiTangan/' . $auth_user['cawangan'],['tarikh' => $tarikh_imbangan2])->json();
$penghutangkaki = Http::get(config('api.url').'/api/PenghutangKakitangan/' . $auth_user['cawangan'],['tarikh' => $tarikh_imbangan2])->json();
$untungrugi = Http::get(config('api.url').'/api/UntungRugiCalculation/' . $auth_user['cawangan'],['tarikh' => $tarikh_imbangan2])->json();
$bayaranpendahuluan = Http::get(config('api.url').'/api/BayaranPendahuluan/' . $auth_user['cawangan'],['tarikh' => $tarikh_imbangan2])->json();
$pinjamandiberi = Http::get(config('api.url').'/api/PinjamanDiberi/' . $request->kodcaw,['tarikh' => $tarikh_imbangan2])->json();
$pembiayaantawarruq = Http::get(config('api.url').'/api/PembiayaanDiberiTawarruq/' . $request->kodcaw,['tarikh' => $tarikh_imbangan2])->json();
$tunaiditangan = Http::get(config('api.url').'/api/TunaiDiTangan/' . $request->kodcaw,['tarikh' => $tarikh_imbangan2])->json();
$penghutangkaki = Http::get(config('api.url').'/api/PenghutangKakitangan/' . $request->kodcaw,['tarikh' => $tarikh_imbangan2])->json();
$untungrugi = Http::get(config('api.url').'/api/UntungRugiCalculation/' . $request->kodcaw,['tarikh' => $tarikh_imbangan2])->json();
$bayaranpendahuluan = Http::get(config('api.url').'/api/BayaranPendahuluan/' . $request->kodcaw,['tarikh' => $tarikh_imbangan2])->json();
//Tanggungan Semasa
$panjar = Http::get(config('api.url').'/api/CalculationPanjar/' . $auth_user['cawangan'],['tarikh' => $tarikh_imbangan2])->json();
$bakilelong = Http::get(config('api.url').'/api/BakiLelongCalculation/' . $auth_user['cawangan'],['tarikh' => $tarikh_imbangan2])->json();
$wtd = Http::get(config('api.url').'/api/SerahBaki/' . $auth_user['cawangan'],['tarikh' => $tarikh_imbangan2])->json();
$cajlelong = Http::get(config('api.url').'/api/cajlelong/' . $auth_user['cawangan'],['tarikh' => $tarikh_imbangan2])->json();
$keuntungansebenar = Http::get(config('api.url').'/api/KeuntunganSebenar/' . $auth_user['cawangan'],['tarikh' => $tarikh_imbangan2])->json();
$cajperkhidmatan = Http::get(config('api.url').'/api/cajperkhidmatanterkumpul/' . $auth_user['cawangan'],['tarikh' => $tarikh_imbangan2])->json();
$hapuskira = Http::get(config('api.url').'/api/CalculationHapusKira/' . $auth_user['cawangan'],['tarikh' => $tarikh_imbangan2])->json();
$xtra = Http::get(config('api.url').'/api/Xtra/' . $auth_user['cawangan'],['tarikh' => $tarikh_imbangan2])->json();
$panjar = Http::get(config('api.url').'/api/CalculationPanjar/' . $request->kodcaw,['tarikh' => $tarikh_imbangan2])->json();
$bakilelong = Http::get(config('api.url').'/api/BakiLelongCalculation/' . $request->kodcaw,['tarikh' => $tarikh_imbangan2])->json();
$wtd = Http::get(config('api.url').'/api/SerahBaki/' . $request->kodcaw,['tarikh' => $tarikh_imbangan2])->json();
$cajlelong = Http::get(config('api.url').'/api/cajlelong/' . $request->kodcaw,['tarikh' => $tarikh_imbangan2])->json();
$keuntungansebenar = Http::get(config('api.url').'/api/KeuntunganSebenar/' . $request->kodcaw,['tarikh' => $tarikh_imbangan2])->json();
$cajperkhidmatan = Http::get(config('api.url').'/api/cajperkhidmatanterkumpul/' . $request->kodcaw,['tarikh' => $tarikh_imbangan2])->json();
$hapuskira = Http::get(config('api.url').'/api/CalculationHapusKira/' . $request->kodcaw,['tarikh' => $tarikh_imbangan2])->json();
$xtra = Http::get(config('api.url').'/api/Xtra/' . $request->kodcaw,['tarikh' => $tarikh_imbangan2])->json();
//TunaiDitangan Sementara Upah
if($tarikh_imbangan2 >= '2021-04-22' && $tarikh_imbangan2 < '2021-05-05')
{
$advansurharini = Http::get(config('api.url').'/api/advansurharini/' . $auth_user['cawangan'],['tarikh' => $tarikh_imbangan2])->json();
$advansurharini = Http::get(config('api.url').'/api/advansurharini/' . $request->kodcaw,['tarikh' => $tarikh_imbangan2])->json();
$totaltunaiditangan = floatval($tunaiditangan) - floatval($advansurharini);
}else{
$totaltunaiditangan = $tunaiditangan;
@@ -192,7 +192,7 @@ class AkaunController extends Controller
$jualan1stop = 0;$belian1stop = 0;$utgterkumpulxtra = 0;$rugilelongxtra = 0;$bakilelongxtra = 0;$cajlelongxtra = 0;$upahsimpanxtra = 0;
//1Stop Special Case
if($auth_user['cawangan'] === '1STOP')
if($request->kodcaw === '1STOP')
{
$jualan1stop = floatval(129857.00);
$belian1stop = floatval(122446.50);
@@ -212,7 +212,7 @@ class AkaunController extends Controller
}
//Terkumpul
$untungrugiterkumpul = Http::get(config('api.url'). '/api/UntungRugiTerkumpul/'. $auth_user['cawangan'],['tarikh' => $tarikh_imbangan2])->json();
$untungrugiterkumpul = Http::get(config('api.url'). '/api/UntungRugiTerkumpul/'. $request->kodcaw,['tarikh' => $tarikh_imbangan2])->json();
$hartasemasa = [];
// $hartasemasa = ['serahan' => $imbangduga['serahan'],'pinjamankoop' => $pinjamandiberi['pinjamankoop'],'emaspalsu' => $pinjamandiberi['emaspalsu'],'tunaiditangan' => $tunaiditangan['bakiakhir']];
@@ -280,7 +280,7 @@ class AkaunController extends Controller
if($request->jenis == 'pdf')
{
$pdf = PDF::loadView('akaun.laporan_imbanduga',compact('tarikh_imbangan', 'tarikh_imbangan2','hartasemasa','untungrugifield','tanggungansemasa','totalhartasemasa','totaluntungrugi','totaltanggungansemasa','tarikh_cetak','cawangan_info','cawangan','api_url','cawangan_detail'))->setPaper('a4', 'potrait');
return $pdf->download('laporan_imbangduga_' . $auth_user['cawangan'] .'_'. $tarikh_imbangan2 . '.pdf');
return $pdf->download('laporan_imbangduga_' . $request->kodcaw .'_'. $tarikh_imbangan2 . '.pdf');
}else{
return view('akaun.laporan_imbanduga',compact('tarikh_imbangan', 'tarikh_imbangan2','hartasemasa','untungrugifield','tanggungansemasa','totalhartasemasa','totaluntungrugi','totaltanggungansemasa','tarikh_cetak','cawangan_info','cawangan','api_url','cawangan_detail'));
}
@@ -290,7 +290,6 @@ class AkaunController extends Controller
}
public function cetakLaporanGadai(Request $request){
// dd($request);
$api_url = config('api.url');
$auth_user = Auth::user();
$current = Carbon::now();
@@ -303,8 +302,8 @@ class AkaunController extends Controller
// $gadai_date = $split_date[2] . '-' . $split_date[1] . '-' . $split_date[0];
$gadai_date = $request->datetarikh;
}
$gadai = Http::get(config('api.url'). '/api/gadai/laporan/'. $auth_user['cawangan'] .'/'. $gadai_date)->json();
$cawangan=Http::get(config('api.url').'/api/cawangan/detail/'.$auth_user['cawangan'])->json();
$gadai = Http::get(config('api.url'). '/api/gadai/laporan/'. $request->kodcaw .'/'. $gadai_date)->json();
$cawangan=Http::get(config('api.url').'/api/cawangan/detail/'.$request->kodcaw)->json();
$cawangan_detail=$cawangan[0];
if(isset($request->jenis))
@@ -312,7 +311,7 @@ class AkaunController extends Controller
if($request->jenis == 'pdf')
{
$pdf = PDF::loadView('akaun.laporan_gadaian', compact('gadai','cawangan_detail','tarikh_cetak','gadai_date','api_url'))->setPaper('a4', 'landscape');
return $pdf->download('laporan_gadaian_' . $auth_user['cawangan'] .'_'. $gadai_date . '.pdf');
return $pdf->download('laporan_gadaian_' . $request->kodcaw .'_'. $gadai_date . '.pdf');
}else{
return view('akaun.laporan_gadaian', compact('gadai','cawangan_detail','tarikh_cetak','gadai_date','api_url'));
}
@@ -334,12 +333,12 @@ class AkaunController extends Controller
// $tebus_date = $split_date[2] . '-' . $split_date[1] . '-' . $split_date[0];
$tebus_date = $request->datetarikh;
}
$tebus = Http::get(config('api.url'). '/api/tebus/laporan/'. $auth_user['cawangan'] .'/'. $tebus_date)->json();
$tebuspengasingan = Http::get(config('api.url'). '/api/tebus/laporanjenistawarruq/'. $auth_user['cawangan'],['tarikh' => $tebus_date])->json();
$upahlama = Http::get(config('api.url'). '/api/advansurdetails/'. $auth_user['cawangan'],['tarikh' => $tebus_date])->json();
$ansuran = Http::get(config('api.url'). '/api/ansuransummary/'. $auth_user['cawangan'],['tarikh' => $tebus_date])->json();
$tebus = Http::get(config('api.url'). '/api/tebus/laporan/'. $request->kodcaw .'/'. $tebus_date)->json();
$tebuspengasingan = Http::get(config('api.url'). '/api/tebus/laporanjenistawarruq/'. $request->kodcaw,['tarikh' => $tebus_date])->json();
$upahlama = Http::get(config('api.url'). '/api/advansurdetails/'. $request->kodcaw,['tarikh' => $tebus_date])->json();
$ansuran = Http::get(config('api.url'). '/api/ansuransummary/'. $request->kodcaw,['tarikh' => $tebus_date])->json();
$cawangan=Http::get(config('api.url').'/api/cawangan/detail/'.$auth_user['cawangan'])->json();
$cawangan=Http::get(config('api.url').'/api/cawangan/detail/'.$request->kodcaw)->json();
$cawangan_detail=$cawangan[0];
if(isset($request->jenis))
@@ -347,7 +346,7 @@ class AkaunController extends Controller
if($request->jenis == 'pdf')
{
$pdf = PDF::loadView('akaun.laporan_penebusan', compact('tebus','cawangan_detail','tarikh_cetak','tebus_date','tebuspengasingan','ansuran','api_url','upahlama'))->setPaper('a4', 'landscape');
return $pdf->download('laporan_penebusan_' . $auth_user['cawangan'] .'_'. $tebus_date . '.pdf');
return $pdf->download('laporan_penebusan_' . $request->kodcaw .'_'. $tebus_date . '.pdf');
}else{
return view('akaun.laporan_penebusan', compact('tebus','cawangan_detail','tarikh_cetak','tebus_date','tebuspengasingan','ansuran','api_url','upahlama'));
}
@@ -368,8 +367,8 @@ class AkaunController extends Controller
// $tebus_date = $split_date[2] . '-' . $split_date[1] . '-' . $split_date[0];
$tebus_date = $request->datetimepicker1;
}
$tebus = Http::get(config('api.url'). '/api/ansuran/laporan/'. $auth_user['cawangan'],['tarikh' => $tebus_date])->json();
$cawangan=Http::get(config('api.url').'/api/cawangan/detail/'.$auth_user['cawangan'])->json();
$tebus = Http::get(config('api.url'). '/api/ansuran/laporan/'. $request->kodcaw,['tarikh' => $tebus_date])->json();
$cawangan=Http::get(config('api.url').'/api/cawangan/detail/'.$request->kodcaw)->json();
$cawangan_detail=$cawangan[0];
if(isset($request->jenis))
@@ -377,7 +376,7 @@ class AkaunController extends Controller
if($request->jenis == 'pdf')
{
$pdf = PDF::loadView('akaun.laporan_ansuran', compact('tebus','cawangan_detail','tarikh_cetak','tebus_date','api_url'))->setPaper('a4', 'potrait');
return $pdf->download('laporan_ansuran_' . $auth_user['cawangan'] .'_'. $tebus_date . '.pdf');
return $pdf->download('laporan_ansuran_' . $request->kodcaw .'_'. $tebus_date . '.pdf');
}else{
return view('akaun.laporan_ansuran', compact('tebus','cawangan_detail','tarikh_cetak','tebus_date','api_url'));
}
@@ -411,9 +410,9 @@ class AkaunController extends Controller
$hingga_date = $request->datehingga;
}
$advansur = Http::get(config('api.url'). '/api/AnsuranByRangeTarikh/' . $auth_user['cawangan'],['mula' => $mula_date,'akhir' => $hingga_date])->json();
$advansur = Http::get(config('api.url'). '/api/AnsuranByRangeTarikh/' . $request->kodcaw,['mula' => $mula_date,'akhir' => $hingga_date])->json();
$cawangan = Http::get(config('api.url').'/api/cawangan/detail/'.$auth_user['cawangan'])->json();
$cawangan = Http::get(config('api.url').'/api/cawangan/detail/'.$request->kodcaw)->json();
$cawangan_detail=$cawangan[0];
if(isset($request->jenis))
@@ -421,7 +420,7 @@ class AkaunController extends Controller
if($request->jenis == 'pdf')
{
$pdf = PDF::loadView('akaun.laporan_upah', compact('advansur','cawangan_detail','tarikh_cetak','mula_date','hingga_date','api_url'))->setPaper('a4', 'potrait');
return $pdf->download('laporan_upah_' . $auth_user['cawangan'] .'_'. $mula_date . '.pdf');
return $pdf->download('laporan_upah_' . $request->kodcaw .'_'. $mula_date . '.pdf');
}else{
return view('akaun.laporan_upah', compact('advansur','cawangan_detail','tarikh_cetak','mula_date','hingga_date','api_url'));
}
@@ -441,7 +440,7 @@ class AkaunController extends Controller
$split_date = explode('-',$request->datetimepicker1);
$tebus_date = $split_date[2] . '-' . $split_date[1] . '-' . $split_date[0];
}
$petibesi = Http::get(config('api.url'). '/api/laporanpetibesi/'. $auth_user['cawangan'] .'/'. $tebus_date)->json();
$petibesi = Http::get(config('api.url'). '/api/laporanpetibesi/'. $request->kodcaw .'/'. $tebus_date)->json();
if(!$petibesi)
{
@@ -449,7 +448,7 @@ class AkaunController extends Controller
}
$cawangan=Http::get(config('api.url').'/api/cawangan/detail/'.$auth_user['cawangan'])->json();
$cawangan=Http::get(config('api.url').'/api/cawangan/detail/'.$request->kodcaw)->json();
$cawangan_detail=$cawangan[0];
return view('akaun.laporan_petibesi', compact('petibesi','cawangan_detail','tarikh_cetak','tebus_date','api_url'));
@@ -480,9 +479,9 @@ class AkaunController extends Controller
$hingga_date = $request->datehingga;
}
$pendser = Http::get(config('api.url'). '/api/SenaraiPendSer/range/' . $auth_user['cawangan'],['mula' => $mula_date,'hingga' => $hingga_date,'jenis' => $request->radpendser])->json();
$pendser = Http::get(config('api.url'). '/api/SenaraiPendSer/range/' . $request->kodcaw,['mula' => $mula_date,'hingga' => $hingga_date,'jenis' => $request->radpendser])->json();
$cawangan = Http::get(config('api.url').'/api/cawangan/detail/'.$auth_user['cawangan'])->json();
$cawangan = Http::get(config('api.url').'/api/cawangan/detail/'.$request->kodcaw)->json();
$cawangan_detail=$cawangan[0];
if(isset($request->jenis))
@@ -490,7 +489,7 @@ class AkaunController extends Controller
if($request->jenis == 'pdf')
{
$pdf = PDF::loadView('akaun.laporan_pendahuluanserahan', compact('pendser','cawangan_detail','tarikh_cetak','mula_date','hingga_date','api_url'))->setPaper('a4', 'potrait');
return $pdf->download('laporan_HQ_' . $auth_user['cawangan'] .'_'. $mula_date . '_' . $request->radpendser . '.pdf');
return $pdf->download('laporan_HQ_' . $request->kodcaw .'_'. $mula_date . '_' . $request->radpendser . '.pdf');
}else{
return view('akaun.laporan_pendahuluanserahan', compact('pendser','cawangan_detail','tarikh_cetak','mula_date','hingga_date','api_url'));
@@ -515,9 +514,9 @@ class AkaunController extends Controller
$gadai_date = $request->datetimepicker1;
}
$tuntutbaki = Http::get(config('api.url'). '/api/TuntutBakiTarikh/'. $auth_user['cawangan'] ,['tarikh' => $gadai_date])->json();
$tuntutbaki = Http::get(config('api.url'). '/api/TuntutBakiTarikh/'. $request->kodcaw ,['tarikh' => $gadai_date])->json();
$cawangan=Http::get(config('api.url').'/api/cawangan/detail/'.$auth_user['cawangan'])->json();
$cawangan=Http::get(config('api.url').'/api/cawangan/detail/'.$request->kodcaw)->json();
$cawangan_detail=$cawangan[0];
if(isset($request->jenis))
@@ -525,7 +524,7 @@ class AkaunController extends Controller
if($request->jenis == 'pdf')
{
$pdf = PDF::loadView('akaun.laporan_tuntutbaki', compact('tuntutbaki','cawangan_detail','tarikh_cetak','gadai_date','api_url'))->setPaper('a4', 'potrait');
return $pdf->download('laporan_tuntutbaki_' . $auth_user['cawangan'] .'_'. $gadai_date . '.pdf');
return $pdf->download('laporan_tuntutbaki_' . $request->kodcaw .'_'. $gadai_date . '.pdf');
}else{
return view('akaun.laporan_tuntutbaki', compact('tuntutbaki','cawangan_detail','tarikh_cetak','gadai_date','api_url'));
}
@@ -1,111 +0,0 @@
<?php
namespace App\Http\Controllers\Auth;
use Auth;
use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use App\Models\User;
use Illuminate\Support\Facades\Http;
use Illuminate\Http\Request;
class LoginController extends Controller
{
/*
|--------------------------------------------------------------------------
| Login Controller
|--------------------------------------------------------------------------
|
| This controller handles authenticating users for the application and
| redirecting them to your home screen. The controller uses a trait
| to conveniently provide its functionality to your applications.
|
*/
use AuthenticatesUsers;
/**
* Where to redirect users after login.
*
* @var string
*/
protected $redirectTo = RouteServiceProvider::HOME;
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest')->except('logout');
}
public function login()
{
$cawangans = Http::get(config('api.url').'/api/cawangan')->json();
return view('auth.login',compact('cawangans'));
}
public function authenticate(Request $request)
{
$request->validate([
'email' => 'required|string|email',
'password' => 'required|string',
]);
$credentials = $request->only('email', 'password');
if (Auth::guard('web')->attempt($credentials)) {
$auth_user = Auth::guard('web')->user();
$api_url = config('api.url');
if($auth_user['roles'] == 'admin' || $auth_user['roles'] == 'operasi'){
$user = User::find($auth_user['id']);
$user->cawangan = $request->cawangan;
$user->save();
return redirect()->route('home');
}elseif($auth_user['roles'] == 'akaun'){
$user = User::find($auth_user['id']);
$user->cawangan = $request->cawangan;
$user->save();
return redirect()->route('akaun.home');
}else{
return redirect('login')->with('error', 'Oppes! You have entered invalid credentials');
}
// if($auth_user['roles'] == 'teller'){
// if($auth_user['role_harian'] == 'teller'){
// $cawangan_info = Http::get(config('api.url') . '/api/cawangan/'. $auth_user['cawangan'])->json();
// // return view('homepage.'.$auth_user['role_harian'].'.home',compact('cawangan_info','api_url'));
// return redirect()->route('home');
// }elseif($auth_user['role_harian'] == 'penilai'){
// $cawangan_info = Http::get(config('api.url') . '/api/cawangan/'. $auth_user['cawangan'])->json();
// $gadaian_semasa = Http::get(config('api.url') . '/api/gadaiansemasa/'. $auth_user['cawangan'])->json();
// $gadaian_belumserah = Http::get(config('api.url') . '/api/gadaiansemasa/belum_serah/'. $auth_user['cawangan'])->json();
// // return view('homepage.'.$auth_user['role_harian'].'.home',compact('cawangan_info','gadaian_semasa','gadaian_belumserah','api_url'));
// return redirect()->route('home');
// }else{
// return view('not_assign');
// }
// }
// elseif($auth_user['roles'] == 'pc' || $auth_user['roles'] == 'ppc'){
// $cawangan_info = Http::get(config('api.url') . '/api/cawangan/'. $auth_user['cawangan'])->json();
// // return view('homepage.khazanah.home',compact('cawangan_info','api_url'));
// return redirect()->route('home');
// }
// else{
// $cawangan_info = Http::get(config('api.url') . '/api/cawangan/'. $auth_user['cawangan'])->json();
// // return view('homepage.'.$auth_user['roles'].'.home',compact('cawangan_info','api_url'));
// return redirect()->route('home');
// }
}
return redirect('login')->with('error', 'Oppes! You have entered invalid credentials');
}
}
+295 -1719
View File
File diff suppressed because it is too large Load Diff
+2 -4
View File
@@ -34,20 +34,18 @@
"@vue/composition-api": "^1.4.0",
"alpinejs": "^3.5.2",
"apexcharts": "^3.30.0",
"bootbox": "^5.5.2",
"jw-vue-pagination": "^1.0.3",
"vue-apexcharts": "^1.6.2",
"vue-axios": "^3.4.0",
"vue-class-component": "^7.2.6",
"vue-content-placeholders": "^0.2.1",
"vue-global-var": "^1.0.0",
"vue-loading-spinner": "^1.0.11",
"vue-property-decorator": "^9.1.2",
"vue-pusher": "^1.1.0",
"vue-router": "^3.5.3",
"vue-toastification": "^1.7.14",
"vuejs-datetimepicker": "^1.1.13",
"vuelidate": "^0.7.7",
"vuex": "^3.6.2"
"vuex": "^3.6.2",
"vuex-persistedstate": "^4.1.0"
}
}
+410 -176
View File
@@ -16602,10 +16602,12 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
//
//
//
//
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
data: function data() {
return {
jenisgenerate: 'none'
jenisgenerate: 'none',
kodcaw: ''
};
},
methods: {
@@ -16714,10 +16716,12 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
//
//
//
//
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
data: function data() {
return {
jenisgenerate: 'none'
jenisgenerate: 'none',
kodcaw: ''
};
},
methods: {
@@ -16904,10 +16908,12 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
//
//
//
//
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
data: function data() {
return {
jenisgenerate: 'none'
jenisgenerate: 'none',
kodcaw: ''
};
},
methods: {
@@ -17039,10 +17045,12 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
//
//
//
//
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
data: function data() {
return {
jenisgenerate: 'none'
jenisgenerate: 'none',
kodcaw: ''
};
},
methods: {
@@ -17182,11 +17190,13 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
//
//
//
//
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
data: function data() {
return {
jenisgenerate: 'none',
selected: ''
selected: '',
kodcaw: ''
};
},
methods: {
@@ -17296,10 +17306,12 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
//
//
//
//
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
data: function data() {
return {
jenisgenerate: 'none'
jenisgenerate: 'none',
kodcaw: ''
};
},
methods: {
@@ -17408,10 +17420,12 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
//
//
//
//
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
data: function data() {
return {
jenisgenerate: 'none'
jenisgenerate: 'none',
kodcaw: ''
};
},
methods: {
@@ -17524,10 +17538,12 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
//
//
//
//
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
data: function data() {
return {
jenisgenerate: 'none'
jenisgenerate: 'none',
kodcaw: ''
};
},
methods: {
@@ -17995,6 +18011,49 @@ var formatter = new Intl.NumberFormat('en-US', {
/***/ }),
/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5[0].rules[0].use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/js/Logout.vue?vue&type=script&lang=js&":
/*!**************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5[0].rules[0].use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/js/Logout.vue?vue&type=script&lang=js& ***!
\**************************************************************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
props: {
csrftoken: String,
route: String
},
methods: {
logout: function logout() {
this.setLogout();
document.getElementById('logout-form').submit();
}
}
});
/***/ }),
/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5[0].rules[0].use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/js/Online/Online.vue?vue&type=script&lang=js&":
/*!*********************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5[0].rules[0].use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/js/Online/Online.vue?vue&type=script&lang=js& ***!
@@ -18867,49 +18926,46 @@ __webpack_require__.r(__webpack_exports__);
//
//
//
//
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
props: {
status: String,
roles: String
roles: String,
route: String
},
data: function data() {
return {
cawangan: {},
caw: this.$kodcaw,
answer: 'I cannot give you an answer until you ask a question!'
caw: this.$kodcaw
};
},
watch: {
// whenever question changes, this function will run
caw: function caw(newQuestion, oldQuestion) {
this.answer = 'Waiting for you to stop typing...';
this.debouncedtukarcawangan();
}
},
// beforeCreate: function () {
// this.caw = this.$kodcaw
// console.log(this.caw)
// },
created: function created() {
var _this = this;
// console.log('created',this.$kodcaw)
// this.axios.get(this.$hostname + '/api/cawangan/' + this.status).then(response => {
// this.cawangan = response.data;
// });
// console.log(this.$kodcaw)
this.caw = this.$kodcaw;
this.axios.get('/api/check/cawangan').then(function (response) {
_this.cawangan = response.data;
});
this.debouncedtukarcawangan = _.debounce(this.tukarcawangan, 500);
},
methods: {
tukarcawangan: function tukarcawangan() {
console.log(this.caw);
this.answer = 'stop';
$kodcaw = this.caw;
console.log('store', $kodcaw); // console.log('prototype',this.$kodcaw)
this.setkodcaw(this.caw);
this.$forceUpdate();
location.reload();
},
namacawangan: function namacawangan(cawangannama) {
console.log(cawangannama);
var namcaw = '';
if (this.cawangan.length > 0) {
this.cawangan.some(function (value, key) {
if (cawangannama === value.kodcaw) {
namcaw = value.details_caw;
}
});
}
return namcaw;
}
}
});
@@ -21561,11 +21617,6 @@ __webpack_require__.r(__webpack_exports__);
pagination: _components_pagination_vue__WEBPACK_IMPORTED_MODULE_0__["default"],
modal: _components_util_BlacklistModal_vue__WEBPACK_IMPORTED_MODULE_1__["default"]
},
props: {
kodcaw: {
type: String
}
},
data: function data() {
return {
currentPage: 1,
@@ -21581,7 +21632,7 @@ __webpack_require__.r(__webpack_exports__);
getBlacklist: function getBlacklist(pageNumber) {
var _this = this;
this.axios.get(this.$hostname + '/admin/SenaraiBlacklist/' + this.kodcaw, {
this.axios.get(this.$hostname + '/admin/SenaraiBlacklist/' + this.$kodcaw, {
params: {
page: pageNumber
}
@@ -21594,7 +21645,7 @@ __webpack_require__.r(__webpack_exports__);
searchname: function searchname() {
var _this2 = this;
this.axios.get(this.$hostname + '/admin/SenaraiBlacklist/' + this.kodcaw, {
this.axios.get(this.$hostname + '/admin/SenaraiBlacklist/' + this.$kodcaw, {
params: {
page: 0,
search: this.search
@@ -21609,7 +21660,7 @@ __webpack_require__.r(__webpack_exports__);
// let element = this.$refs.modal.$el
// $(element).modal('show')
this.$refs.modal.showModal = true;
this.$refs.modal.kodcaw = this.kodcaw;
this.$refs.modal.kodcaw = this.$kodcaw;
}
}
});
@@ -21982,19 +22033,19 @@ __webpack_require__.r(__webpack_exports__);
/* harmony import */ var alpinejs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! alpinejs */ "./node_modules/alpinejs/dist/module.esm.js");
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm.js");
/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! vuex */ "./node_modules/vuex/dist/vuex.esm.js");
/* harmony import */ var vuex_persistedstate__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vuex-persistedstate */ "./node_modules/vuex-persistedstate/dist/vuex-persistedstate.es.js");
/* harmony import */ var _vue_composition_api__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @vue/composition-api */ "./node_modules/@vue/composition-api/dist/vue-composition-api.mjs");
/* harmony import */ var vue_axios__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vue-axios */ "./node_modules/vue-axios/dist/vue-axios.esm.min.js");
/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! axios */ "./node_modules/axios/index.js");
/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(axios__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var jw_vue_pagination__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! jw-vue-pagination */ "./node_modules/jw-vue-pagination/lib/JwPagination.js");
/* harmony import */ var jw_vue_pagination__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(jw_vue_pagination__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var vue_toastification__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! vue-toastification */ "./node_modules/vue-toastification/dist/esm/index.js");
/* harmony import */ var vue_toastification_dist_index_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! vue-toastification/dist/index.css */ "./node_modules/vue-toastification/dist/index.css");
/* harmony import */ var _routes__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./routes */ "./resources/js/routes.js");
/* harmony import */ var vue_axios__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vue-axios */ "./node_modules/vue-axios/dist/vue-axios.esm.min.js");
/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! axios */ "./node_modules/axios/index.js");
/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(axios__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var jw_vue_pagination__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! jw-vue-pagination */ "./node_modules/jw-vue-pagination/lib/JwPagination.js");
/* harmony import */ var jw_vue_pagination__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(jw_vue_pagination__WEBPACK_IMPORTED_MODULE_5__);
/* harmony import */ var vue_toastification__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! vue-toastification */ "./node_modules/vue-toastification/dist/esm/index.js");
/* harmony import */ var vue_toastification_dist_index_css__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! vue-toastification/dist/index.css */ "./node_modules/vue-toastification/dist/index.css");
/* harmony import */ var _routes__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./routes */ "./resources/js/routes.js");
/* harmony import */ var vuelidate__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! vuelidate */ "./node_modules/vuelidate/lib/index.js");
/* harmony import */ var vuejs_datetimepicker__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! vuejs-datetimepicker */ "./node_modules/vuejs-datetimepicker/src/datetime_picker.vue");
/* harmony import */ var vue_content_placeholders__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! vue-content-placeholders */ "./node_modules/vue-content-placeholders/index.js");
/* harmony import */ var vue_global_var__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! vue-global-var */ "./node_modules/vue-global-var/lib/index.js");
/* harmony import */ var vuejs_datetimepicker__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! vuejs-datetimepicker */ "./node_modules/vuejs-datetimepicker/src/datetime_picker.vue");
/* harmony import */ var vue_content_placeholders__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! vue-content-placeholders */ "./node_modules/vue-content-placeholders/index.js");
/**
* First we will load all of this project's JavaScript dependencies which
* includes Vue and other libraries. It is a great starting point when
@@ -22016,7 +22067,6 @@ __webpack_require__.r(__webpack_exports__);
__webpack_require__(/*! ./bootstrap */ "./resources/js/bootstrap.js");
window.Vue = (__webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm.js")["default"]);
@@ -22040,12 +22090,11 @@ vue__WEBPACK_IMPORTED_MODULE_11__["default"].use(vuelidate__WEBPACK_IMPORTED_MOD
vue__WEBPACK_IMPORTED_MODULE_11__["default"].use((vue_apexcharts__WEBPACK_IMPORTED_MODULE_0___default()));
vue__WEBPACK_IMPORTED_MODULE_11__["default"].use(alpinejs__WEBPACK_IMPORTED_MODULE_1__["default"]);
vue__WEBPACK_IMPORTED_MODULE_11__["default"].use(_vue_composition_api__WEBPACK_IMPORTED_MODULE_14__["default"]);
vue__WEBPACK_IMPORTED_MODULE_11__["default"].use(vue_axios__WEBPACK_IMPORTED_MODULE_2__["default"], (axios__WEBPACK_IMPORTED_MODULE_3___default()));
vue__WEBPACK_IMPORTED_MODULE_11__["default"].component('jw-pagination', (jw_vue_pagination__WEBPACK_IMPORTED_MODULE_4___default())); // Vue.use(createPopper)
vue__WEBPACK_IMPORTED_MODULE_11__["default"].use(vue_toastification__WEBPACK_IMPORTED_MODULE_5__["default"], options);
vue__WEBPACK_IMPORTED_MODULE_11__["default"].use(vuejs_datetimepicker__WEBPACK_IMPORTED_MODULE_8__["default"]);
vue__WEBPACK_IMPORTED_MODULE_11__["default"].use(vue_content_placeholders__WEBPACK_IMPORTED_MODULE_9__["default"]);
vue__WEBPACK_IMPORTED_MODULE_11__["default"].use(vue_axios__WEBPACK_IMPORTED_MODULE_3__["default"], (axios__WEBPACK_IMPORTED_MODULE_4___default()));
vue__WEBPACK_IMPORTED_MODULE_11__["default"].component('jw-pagination', (jw_vue_pagination__WEBPACK_IMPORTED_MODULE_5___default()));
vue__WEBPACK_IMPORTED_MODULE_11__["default"].use(vue_toastification__WEBPACK_IMPORTED_MODULE_6__["default"], options);
vue__WEBPACK_IMPORTED_MODULE_11__["default"].use(vuejs_datetimepicker__WEBPACK_IMPORTED_MODULE_9__["default"]);
vue__WEBPACK_IMPORTED_MODULE_11__["default"].use(vue_content_placeholders__WEBPACK_IMPORTED_MODULE_10__["default"]);
alpinejs__WEBPACK_IMPORTED_MODULE_1__["default"].start();
vue__WEBPACK_IMPORTED_MODULE_11__["default"].use(__webpack_require__(/*! vue-pusher */ "./node_modules/vue-pusher/index.js"), {
api_key: '26b0ec2f297f94b7aa9b',
@@ -22054,31 +22103,38 @@ vue__WEBPACK_IMPORTED_MODULE_11__["default"].use(__webpack_require__(/*! vue-pus
encrypted: true
}
});
vue__WEBPACK_IMPORTED_MODULE_11__["default"].prototype.$hostname = 'http://localhost:8000'; // Vue.prototype.$kodcaw = Vue.observable({
// kodcaw: '020306'
// });
// const cawanganstore = new Vuex.Store({
// kodcaw: 'KB2'
// })
// let globalData = new Vue({
// data: { $kodcaw: '020306' }
// });
// const store = new Vuex.Store({
// state: { $kodcaw: 'KB2' },
// mutations: { update$kodcaw: function(state, newKodcaw) { state.$kodcaw = newKodcaw; } }
// });
// Vue.mixin({
// computed: {
// $kodcaw: {
// get: function () { return store.state.$kodcaw },
// set: function(newKodcaw) { return store.commit('update$kodcaw', newKodcaw); }
// }
// }
// })
vue__WEBPACK_IMPORTED_MODULE_11__["default"].use(vue_global_var__WEBPACK_IMPORTED_MODULE_10__["default"], {
globals: {
vue__WEBPACK_IMPORTED_MODULE_11__["default"].prototype.$hostname = 'http://localhost:8000';
var initial = 'KB2';
var store = new vuex__WEBPACK_IMPORTED_MODULE_12__["default"].Store({
state: {
$kodcaw: 'KB2'
},
plugins: [(0,vuex_persistedstate__WEBPACK_IMPORTED_MODULE_2__["default"])()],
mutations: {
update$kodcaw: function update$kodcaw(state, newKodcaw) {
state.$kodcaw = newKodcaw;
},
reset: function reset(state) {
state.$kodcaw = initial;
}
}
});
vue__WEBPACK_IMPORTED_MODULE_11__["default"].mixin({
computed: {
$kodcaw: {
get: function get() {
return store.state.$kodcaw;
}
}
},
methods: {
setkodcaw: function setkodcaw(newKodcaw) {
// console.log(newKodcaw)
return store.commit('update$kodcaw', newKodcaw);
},
setLogout: function setLogout() {
return store.commit('reset');
}
}
}); //Chart
@@ -22103,18 +22159,12 @@ vue__WEBPACK_IMPORTED_MODULE_11__["default"].component('square-component', (__we
vue__WEBPACK_IMPORTED_MODULE_11__["default"].component('bilangan-component', (__webpack_require__(/*! ./components/Chart/BilanganChart.vue */ "./resources/js/components/Chart/BilanganChart.vue")["default"]));
vue__WEBPACK_IMPORTED_MODULE_11__["default"].component('senaraibajet-component', (__webpack_require__(/*! ./Bajet/Homebajet.vue */ "./resources/js/Bajet/Homebajet.vue")["default"]));
vue__WEBPACK_IMPORTED_MODULE_11__["default"].component('clock-component', (__webpack_require__(/*! ./components/util/Clock.vue */ "./resources/js/components/util/Clock.vue")["default"]));
vue__WEBPACK_IMPORTED_MODULE_11__["default"].component('apexchart', (vue_apexcharts__WEBPACK_IMPORTED_MODULE_0___default())); // Vue.component('Navbar', require('./components/Navbar.vue').default);
/**
* Next, we will create a fresh Vue application instance and attach it to
* the page. Then, you may begin adding components to this application
* or customize the JavaScript scaffolding to fit your unique needs.
*/
vue__WEBPACK_IMPORTED_MODULE_11__["default"].component('logout-component', (__webpack_require__(/*! ./Logout.vue */ "./resources/js/Logout.vue")["default"]));
vue__WEBPACK_IMPORTED_MODULE_11__["default"].component('apexchart', (vue_apexcharts__WEBPACK_IMPORTED_MODULE_0___default()));
var app = new vue__WEBPACK_IMPORTED_MODULE_11__["default"]({
router: _routes__WEBPACK_IMPORTED_MODULE_7__["default"],
el: '#app' // store
router: _routes__WEBPACK_IMPORTED_MODULE_8__["default"],
el: '#app',
store: store
});
/***/ }),
@@ -69549,44 +69599,6 @@ __webpack_require__.r(__webpack_exports__);
;
/***/ }),
/***/ "./node_modules/vue-global-var/lib/index.js":
/*!**************************************************!*\
!*** ./node_modules/vue-global-var/lib/index.js ***!
\**************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ "./node_modules/vuex/dist/vuex.esm.js");
var VueGlobalVariable = {
install: function (Vue, options) {
options = options || {};
// const store = options.store || {state:{}}
Vue.use(vuex__WEBPACK_IMPORTED_MODULE_0__["default"]);
var store = new vuex__WEBPACK_IMPORTED_MODULE_0__["default"].Store({ state: {} });
var globals = options.globals || {};
Object.keys(globals).forEach(function (key) {
window["" + key] = globals[key];
Vue.set(store.state, key, globals[key]);
});
var computed = {};
Object.keys(globals).forEach(function (key) {
computed["" + key] = function () { return globals[key]; };
});
Vue.mixin({
computed: computed
});
}
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (VueGlobalVariable);
/***/ }),
/***/ "./node_modules/vuejs-datetimepicker/src/datetime_picker.vue":
@@ -70698,6 +70710,45 @@ component.options.__file = "resources/js/Bajet/Senaraibajet.vue"
/***/ }),
/***/ "./resources/js/Logout.vue":
/*!*********************************!*\
!*** ./resources/js/Logout.vue ***!
\*********************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _Logout_vue_vue_type_template_id_33d498a8___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Logout.vue?vue&type=template&id=33d498a8& */ "./resources/js/Logout.vue?vue&type=template&id=33d498a8&");
/* harmony import */ var _Logout_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Logout.vue?vue&type=script&lang=js& */ "./resources/js/Logout.vue?vue&type=script&lang=js&");
/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js");
/* normalize component */
;
var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])(
_Logout_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
_Logout_vue_vue_type_template_id_33d498a8___WEBPACK_IMPORTED_MODULE_0__.render,
_Logout_vue_vue_type_template_id_33d498a8___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,
false,
null,
null,
null
)
/* hot reload */
if (false) { var api; }
component.options.__file = "resources/js/Logout.vue"
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports);
/***/ }),
/***/ "./resources/js/Online/Online.vue":
/*!****************************************!*\
!*** ./resources/js/Online/Online.vue ***!
@@ -71803,6 +71854,22 @@ __webpack_require__.r(__webpack_exports__);
/***/ }),
/***/ "./resources/js/Logout.vue?vue&type=script&lang=js&":
/*!**********************************************************!*\
!*** ./resources/js/Logout.vue?vue&type=script&lang=js& ***!
\**********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_0_rules_0_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Logout_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5[0].rules[0].use[0]!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logout.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5[0].rules[0].use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/js/Logout.vue?vue&type=script&lang=js&");
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_clonedRuleSet_5_0_rules_0_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Logout_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]);
/***/ }),
/***/ "./resources/js/Online/Online.vue?vue&type=script&lang=js&":
/*!*****************************************************************!*\
!*** ./resources/js/Online/Online.vue?vue&type=script&lang=js& ***!
@@ -72446,6 +72513,23 @@ __webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Senaraibajet_vue_vue_type_template_id_1fee20d8___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Senaraibajet.vue?vue&type=template&id=1fee20d8& */ "./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/js/Bajet/Senaraibajet.vue?vue&type=template&id=1fee20d8&");
/***/ }),
/***/ "./resources/js/Logout.vue?vue&type=template&id=33d498a8&":
/*!****************************************************************!*\
!*** ./resources/js/Logout.vue?vue&type=template&id=33d498a8& ***!
\****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "render": () => (/* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Logout_vue_vue_type_template_id_33d498a8___WEBPACK_IMPORTED_MODULE_0__.render),
/* harmony export */ "staticRenderFns": () => (/* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Logout_vue_vue_type_template_id_33d498a8___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns)
/* harmony export */ });
/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Logout_vue_vue_type_template_id_33d498a8___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logout.vue?vue&type=template&id=33d498a8& */ "./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/js/Logout.vue?vue&type=template&id=33d498a8&");
/***/ }),
/***/ "./resources/js/Online/Online.vue?vue&type=template&id=c73dd6fe&":
@@ -73213,6 +73297,11 @@ var render = function () {
domProps: { value: _vm.jenisgenerate },
}),
_vm._v(" "),
_c("input", {
attrs: { name: "kodcaw", hidden: "" },
domProps: { value: _vm.$kodcaw },
}),
_vm._v(" "),
_c(
"span",
{
@@ -73346,6 +73435,11 @@ var render = function () {
),
_vm._v(" "),
_c("div", { staticClass: "flex" }, [
_c("input", {
attrs: { name: "kodcaw", hidden: "" },
domProps: { value: _vm.$kodcaw },
}),
_vm._v(" "),
_c("input", {
attrs: { type: "hidden", name: "jenis" },
domProps: { value: _vm.jenisgenerate },
@@ -73705,6 +73799,11 @@ var render = function () {
),
_vm._v(" "),
_c("div", { staticClass: "flex" }, [
_c("input", {
attrs: { name: "kodcaw", hidden: "" },
domProps: { value: _vm.$kodcaw },
}),
_vm._v(" "),
_c("input", {
attrs: { type: "hidden", name: "jenis" },
domProps: { value: _vm.jenisgenerate },
@@ -73859,6 +73958,11 @@ var render = function () {
_c("div", { staticClass: "rounded bg-white shadow p-6" }, [
_c("div", { staticClass: "pb-6" }, [
_c("div", { staticClass: "flex place-content-center mb-2" }, [
_c("input", {
attrs: { name: "kodcaw", hidden: "" },
domProps: { value: _vm.$kodcaw },
}),
_vm._v(" "),
_c("input", {
attrs: { type: "hidden", name: "jenis" },
domProps: { value: _vm.jenisgenerate },
@@ -74003,6 +74107,11 @@ var render = function () {
},
},
[
_c("input", {
attrs: { name: "kodcaw", hidden: "" },
domProps: { value: _vm.$kodcaw },
}),
_vm._v(" "),
_c("div", { staticClass: "rounded bg-white shadow p-6" }, [
_c("div", { staticClass: "pb-6" }, [
_c("div", { staticClass: "flex place-content-center mb-2" }, [
@@ -74257,6 +74366,11 @@ var render = function () {
},
},
[
_c("input", {
attrs: { name: "kodcaw", hidden: "" },
domProps: { value: _vm.$kodcaw },
}),
_vm._v(" "),
_c("div", { staticClass: "rounded bg-white shadow p-6" }, [
_c("div", { staticClass: "pb-6" }, [
_c(
@@ -74395,6 +74509,11 @@ var render = function () {
},
},
[
_c("input", {
attrs: { name: "kodcaw", hidden: "" },
domProps: { value: _vm.$kodcaw },
}),
_vm._v(" "),
_c("div", { staticClass: "rounded bg-white shadow p-6" }, [
_c("div", { staticClass: "pb-6" }, [
_c(
@@ -74541,6 +74660,11 @@ var render = function () {
domProps: { value: _vm.jenisgenerate },
}),
_vm._v(" "),
_c("input", {
attrs: { name: "kodcaw", hidden: "" },
domProps: { value: _vm.$kodcaw },
}),
_vm._v(" "),
_c(
"span",
{
@@ -75569,6 +75693,77 @@ render._withStripped = true
/***/ }),
/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/js/Logout.vue?vue&type=template&id=33d498a8&":
/*!*******************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/js/Logout.vue?vue&type=template&id=33d498a8& ***!
\*******************************************************************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "render": () => (/* binding */ render),
/* harmony export */ "staticRenderFns": () => (/* binding */ staticRenderFns)
/* harmony export */ });
var render = function () {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
return _c("div", [
_c("div", { staticClass: "hidden lg:flex items-center" }, [
_c(
"button",
{
staticClass:
"bg-transparent hover:bg-blue-500 text-blue-700 font-semibold hover:text-white py-2 px-4 border border-blue-500 hover:border-transparent rounded md:invisible xl:visible",
on: {
click: function ($event) {
$event.preventDefault()
return _vm.logout()
},
},
},
[_vm._v("\n Log out\n ")]
),
_vm._v(" "),
_c(
"button",
{
staticClass:
"bg-transparent hover:bg-blue-500 text-blue-700 font-semibold hover:text-white py-2 px-4 border border-blue-500 hover:border-transparent rounded md:visible xl:invisible",
on: {
click: function ($event) {
$event.preventDefault()
return _vm.logout()
},
},
},
[_c("i", { staticClass: "fas fa-sign-out-alt" })]
),
]),
_vm._v(" "),
_c(
"form",
{
staticClass: "d-none",
attrs: { id: "logout-form", action: "logout", method: "POST" },
},
[
_c("input", {
attrs: { type: "hidden", name: "_token" },
domProps: { value: this.$props.csrftoken },
}),
]
),
])
}
var staticRenderFns = []
render._withStripped = true
/***/ }),
/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/js/Online/Online.vue?vue&type=template&id=c73dd6fe&":
@@ -77306,52 +77501,76 @@ var render = function () {
var _h = _vm.$createElement
var _c = _vm._self._c || _h
return _c("div", { staticClass: "mx-auto" }, [
_c(
"a",
{
staticClass:
"text-yellow-200 rounded bg-gray-400 px-6 py-3 font-bold mr-4 uppercase md:invisible xl:visible",
},
[
_vm._v("\n CAWANGAN : \n "),
_c(
"select",
_vm.route === "ada"
? _c(
"a",
{
directives: [
{
name: "model",
rawName: "v-model",
value: _vm.caw,
expression: "caw",
},
],
staticClass:
"rounded-md border bg-gray-400 font-bold border-gray-400 focus:outline-none rounded-md focus:ring-1 ring-cyan-500 uppercase",
on: {
change: function ($event) {
var $$selectedVal = Array.prototype.filter
.call($event.target.options, function (o) {
return o.selected
})
.map(function (o) {
var val = "_value" in o ? o._value : o.value
return val
})
_vm.caw = $event.target.multiple
? $$selectedVal
: $$selectedVal[0]
},
},
"text-yellow-200 rounded bg-gray-400 px-6 py-3 font-bold mr-4 uppercase md:invisible xl:visible",
},
_vm._l(_vm.cawangan, function (caw, i) {
return _c("option", { key: i, domProps: { value: caw.kodcaw } }, [
_vm._v(_vm._s(caw.details_caw)),
])
}),
0
),
]
),
[
_vm._v("\n CAWANGAN : \n "),
_c(
"select",
{
directives: [
{
name: "model",
rawName: "v-model",
value: _vm.caw,
expression: "caw",
},
],
staticClass:
"rounded-md border bg-gray-400 font-bold border-gray-400 focus:outline-none rounded-md focus:ring-1 ring-cyan-500 uppercase",
on: {
change: [
function ($event) {
var $$selectedVal = Array.prototype.filter
.call($event.target.options, function (o) {
return o.selected
})
.map(function (o) {
var val = "_value" in o ? o._value : o.value
return val
})
_vm.caw = $event.target.multiple
? $$selectedVal
: $$selectedVal[0]
},
_vm.tukarcawangan,
],
},
},
_vm._l(_vm.cawangan, function (caw, i) {
return _c(
"option",
{ key: i, domProps: { value: caw.kodcaw } },
[_vm._v(_vm._s(caw.details_caw))]
)
}),
0
),
]
)
: _vm._e(),
_vm._v(" "),
_vm.route === "tiada"
? _c(
"a",
{
staticClass:
"text-yellow-200 rounded bg-gray-400 px-6 py-3 font-bold mr-4 uppercase md:invisible xl:visible",
},
[
_vm._v(
"\n CAWANGAN : " +
_vm._s(this.namacawangan(this.caw)) +
"\n "
),
]
)
: _vm._e(),
_vm._v(" "),
_c(
"a",
@@ -77373,8 +77592,6 @@ var render = function () {
: _vm._e(),
]
),
_vm._v(" "),
_c("p", [_vm._v(_vm._s(_vm.answer))]),
])
}
var staticRenderFns = []
@@ -101989,6 +102206,23 @@ var fakeWithParams = function fakeWithParams(paramsOrClosure, maybeValidator) {
var withParams = root.vuelidate ? root.vuelidate.withParams : fakeWithParams;
exports.withParams = withParams;
/***/ }),
/***/ "./node_modules/vuex-persistedstate/dist/vuex-persistedstate.es.js":
/*!*************************************************************************!*\
!*** ./node_modules/vuex-persistedstate/dist/vuex-persistedstate.es.js ***!
\*************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
var r=function(r){return function(r){return!!r&&"object"==typeof r}(r)&&!function(r){var t=Object.prototype.toString.call(r);return"[object RegExp]"===t||"[object Date]"===t||function(r){return r.$$typeof===e}(r)}(r)},e="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function t(r,e){return!1!==e.clone&&e.isMergeableObject(r)?u(Array.isArray(r)?[]:{},r,e):r}function n(r,e,n){return r.concat(e).map(function(r){return t(r,n)})}function o(r){return Object.keys(r).concat(function(r){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(r).filter(function(e){return r.propertyIsEnumerable(e)}):[]}(r))}function c(r,e){try{return e in r}catch(r){return!1}}function u(e,i,a){(a=a||{}).arrayMerge=a.arrayMerge||n,a.isMergeableObject=a.isMergeableObject||r,a.cloneUnlessOtherwiseSpecified=t;var f=Array.isArray(i);return f===Array.isArray(e)?f?a.arrayMerge(e,i,a):function(r,e,n){var i={};return n.isMergeableObject(r)&&o(r).forEach(function(e){i[e]=t(r[e],n)}),o(e).forEach(function(o){(function(r,e){return c(r,e)&&!(Object.hasOwnProperty.call(r,e)&&Object.propertyIsEnumerable.call(r,e))})(r,o)||(i[o]=c(r,o)&&n.isMergeableObject(e[o])?function(r,e){if(!e.customMerge)return u;var t=e.customMerge(r);return"function"==typeof t?t:u}(o,n)(r[o],e[o],n):t(e[o],n))}),i}(e,i,a):t(i,a)}u.all=function(r,e){if(!Array.isArray(r))throw new Error("first argument should be an array");return r.reduce(function(r,t){return u(r,t,e)},{})};var i=u;function a(r){var e=(r=r||{}).storage||window&&window.localStorage,t=r.key||"vuex";function n(r,e){var t=e.getItem(r);try{return"string"==typeof t?JSON.parse(t):"object"==typeof t?t:void 0}catch(r){}}function o(){return!0}function c(r,e,t){return t.setItem(r,JSON.stringify(e))}function u(r,e){return Array.isArray(e)?e.reduce(function(e,t){return function(r,e,t,n){return!/^(__proto__|constructor|prototype)$/.test(e)&&((e=e.split?e.split("."):e.slice(0)).slice(0,-1).reduce(function(r,e){return r[e]=r[e]||{}},r)[e.pop()]=t),r}(e,t,(n=r,void 0===(n=((o=t).split?o.split("."):o).reduce(function(r,e){return r&&r[e]},n))?void 0:n));var n,o},{}):r}function a(r){return function(e){return r.subscribe(e)}}(r.assertStorage||function(){e.setItem("@@",1),e.removeItem("@@")})(e);var f,s=function(){return(r.getState||n)(t,e)};return r.fetchBeforeUse&&(f=s()),function(n){r.fetchBeforeUse||(f=s()),"object"==typeof f&&null!==f&&(n.replaceState(r.overwrite?f:i(n.state,f,{arrayMerge:r.arrayMerger||function(r,e){return e},clone:!1})),(r.rehydrated||function(){})(n)),(r.subscriber||a)(n)(function(n,i){(r.filter||o)(n)&&(r.setState||c)(t,(r.reducer||u)(i,r.paths),e)})}}/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (a);
//# sourceMappingURL=vuex-persistedstate.es.js.map
/***/ }),
/***/ "./node_modules/vuex/dist/vuex.esm.js":
+3 -1
View File
@@ -15,6 +15,7 @@
<label for="username" class="font-semibold text-gray-700 block pb-1">Tarikh</label>
<div class="flex">
<input :value="jenisgenerate" type="hidden" name="jenis" />
<input :value="$kodcaw" name="kodcaw" hidden/>
<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="datetimepicker1" 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>
@@ -32,7 +33,8 @@
export default {
data(){
return{
jenisgenerate:'none'
jenisgenerate:'none',
kodcaw:''
}
},
methods: {
+3 -1
View File
@@ -14,6 +14,7 @@
<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="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="datetarikh" class="border border-2 border-l-0 rounded-r px-4 py-2 w-80r mr-2" type="date" />
@@ -34,7 +35,8 @@ export default {
data(){
return{
jenisgenerate:'none'
jenisgenerate:'none',
kodcaw: ''
}
},
methods: {
+3 -1
View File
@@ -15,6 +15,7 @@
<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="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="datetimepicker1" class="border border-2 border-l-0 rounded-r px-4 py-2 w-80r mr-2" type="date" />
@@ -33,7 +34,8 @@
export default {
data(){
return{
jenisgenerate:'none'
jenisgenerate:'none',
kodcaw: ''
}
},
methods: {
+3 -1
View File
@@ -13,6 +13,7 @@
<div class="rounded bg-white shadow p-6">
<div class="pb-6">
<div class="flex place-content-center mb-2">
<input :value="$kodcaw" name="kodcaw" 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="datemula" class="border border-2 border-l-0 rounded-r px-4 py-2 mr-2" type="date" />
@@ -36,7 +37,8 @@
export default {
data(){
return{
jenisgenerate:'none'
jenisgenerate:'none',
kodcaw:''
}
},
methods: {
+4 -1
View File
@@ -10,6 +10,7 @@
<span class="text-center mx-auto text-white font-bold">Laporan Pendahuluan & Serahan</span>
</div>
<form method="get" id="formpendser" :action="Urlredirect()" target="_blank">
<input :value="$kodcaw" name="kodcaw" hidden/>
<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> -->
@@ -65,7 +66,9 @@ export default {
data(){
return{
jenisgenerate:'none',
selected:''
selected:'',
kodcaw:''
}
},
methods: {
+3 -1
View File
@@ -12,6 +12,7 @@
<span class="text-center mx-auto text-white font-bold">Laporan Penebusan</span>
</div>
<form method="get" id="formpenebusan" :action="Urlredirect()" target="_blank">
<input :value="$kodcaw" name="kodcaw" hidden/>
<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>
@@ -34,7 +35,8 @@
export default {
data(){
return{
jenisgenerate:'none'
jenisgenerate:'none',
kodcaw:''
}
},
methods: {
+3 -1
View File
@@ -11,6 +11,7 @@
<span class="text-center mx-auto text-white font-bold">Laporan Tuntut Baki</span>
</div>
<form method="get" id="formtuntutbaki" :action="Urlredirect()" target="_blank">
<input :value="$kodcaw" name="kodcaw" hidden/>
<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>
@@ -33,7 +34,8 @@
export default {
data(){
return{
jenisgenerate:'none'
jenisgenerate:'none',
kodcaw:''
}
},
methods: {
+3 -1
View File
@@ -15,6 +15,7 @@
<div class="pb-6">
<div class="flex justify-center mb-4">
<input :value="jenisgenerate" type="hidden" name="jenis" />
<input :value="$kodcaw" name="kodcaw" hidden/>
<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="datemula" class="border border-2 border-l-0 rounded-r px-4 py-2 w-80r mr-2" type="date" />
<span style="background-color: #F9FAFB" class="text-gray-600 border border-2 rounded-l px-4 py-2 whitespace-no-wrap">Hingga</span>
@@ -37,7 +38,8 @@
export default {
data(){
return{
jenisgenerate:'none'
jenisgenerate:'none',
kodcaw:''
}
},
methods: {
+31
View File
@@ -0,0 +1,31 @@
<template>
<div>
<div class="hidden lg:flex items-center">
<button @click.prevent="logout()" class="bg-transparent hover:bg-blue-500 text-blue-700 font-semibold hover:text-white py-2 px-4 border border-blue-500 hover:border-transparent rounded md:invisible xl:visible">
Log out
</button>
<button @click.prevent="logout()" class="bg-transparent hover:bg-blue-500 text-blue-700 font-semibold hover:text-white py-2 px-4 border border-blue-500 hover:border-transparent rounded md:visible xl:invisible">
<i class= "fas fa-sign-out-alt"></i>
</button>
</div>
<form id="logout-form" action="logout" method="POST" class="d-none">
<input type="hidden" name="_token" :value="this.$props.csrftoken" />
</form>
</div>
</template>
<script>
export default {
props:{
csrftoken: String,
route: String,
},
methods:{
logout: function(){
this.setLogout()
document.getElementById('logout-form').submit();
}
}
}
</script>
+36 -44
View File
@@ -8,18 +8,17 @@ import VueApexCharts from 'vue-apexcharts'
import Alpine from 'alpinejs'
import Vue from 'vue'
import Vuex from 'vuex'
import createPersistedState from "vuex-persistedstate";
import VueCompositionAPI from '@vue/composition-api'
import VueAxios from 'vue-axios'
import axios from 'axios'
import JwPagination from 'jw-vue-pagination'
import { createPopper } from "@popperjs/core"
import Toast from "vue-toastification"
import "vue-toastification/dist/index.css"
import router from './routes'
import Vuelidate from 'vuelidate'
import datetime from 'vuejs-datetimepicker';
import VueContentPlaceholders from 'vue-content-placeholders'
import VueGlobalVar from 'vue-global-var'
require('./bootstrap');
@@ -49,7 +48,6 @@ Vue.use (Alpine)
Vue.use(VueCompositionAPI)
Vue.use(VueAxios, axios)
Vue.component('jw-pagination', JwPagination)
// Vue.use(createPopper)
Vue.use(Toast, options)
Vue.use(datetime)
Vue.use(VueContentPlaceholders)
@@ -65,38 +63,43 @@ Vue.use(require('vue-pusher'), {
});
Vue.prototype.$hostname = 'http://localhost:8000'
// Vue.prototype.$kodcaw = Vue.observable({
// kodcaw: '020306'
// });
// const cawanganstore = new Vuex.Store({
// kodcaw: 'KB2'
// })
let initial = 'KB2';
// let globalData = new Vue({
// data: { $kodcaw: '020306' }
// });
// const store = new Vuex.Store({
// state: { $kodcaw: 'KB2' },
// mutations: { update$kodcaw: function(state, newKodcaw) { state.$kodcaw = newKodcaw; } }
// });
// Vue.mixin({
// computed: {
// $kodcaw: {
// get: function () { return store.state.$kodcaw },
// set: function(newKodcaw) { return store.commit('update$kodcaw', newKodcaw); }
// }
// }
// })
Vue.use(VueGlobalVar, {
globals: {
$kodcaw: 'KB2'
const store = new Vuex.Store({
state: {
$kodcaw: 'KB2'
},
plugins: [createPersistedState()],
mutations: {
update$kodcaw: function(state, newKodcaw) {
state.$kodcaw = newKodcaw;
},
reset (state) {
state.$kodcaw = initial;
}
}
});
Vue.mixin({
computed: {
$kodcaw: {
get: function () {
return store.state.$kodcaw
},
}
},
methods:{
setkodcaw: function(newKodcaw) {
// console.log(newKodcaw)
return store.commit('update$kodcaw', newKodcaw);
},
setLogout: function(){
return store.commit('reset');
}
}
})
//Chart
@@ -130,25 +133,14 @@ Vue.component('bilangan-component', require('./components/Chart/BilanganChart.vu
Vue.component('senaraibajet-component', require('./Bajet/Homebajet.vue').default)
Vue.component('clock-component', require('./components/util/Clock.vue').default)
Vue.component('logout-component', require('./Logout.vue').default)
Vue.component('apexchart', VueApexCharts)
// Vue.component('Navbar', require('./components/Navbar.vue').default);
/**
* Next, we will create a fresh Vue application instance and attach it to
* the page. Then, you may begin adding components to this application
* or customize the JavaScript scaffolding to fit your unique needs.
*/
const app = new Vue({
router,
el: '#app',
// store
store
});
@@ -1,200 +0,0 @@
<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">
<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" style="width: 75%"> 75%</div>
</div>
<div class="w-1/4 grid grid-rows-2">
<span class="text-sm ml-2 font-bold -mt-0.5">RM 3,066,460.00</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/4">
<span class="text-sm leading-none font-bold text-gray-700"><i class="fas fa-calendar-day"></i> RM {{ gadaianharian }}</span>
<span class="text-sm leading-none font-bold text-yellow-900"><i class="fas fa-chart-pie"></i> RM {{ bajetgadaian }} </span>
</div>
<div class="ml-4 text-center w-1/3">
<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">Disember </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">
<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">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M18 12H6" />
</svg>
</h3>
<h3 v-else 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>
</div>
</div>
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8 ">
<div class="flex items-center">
<div class="flex-shrink-0">
<span class="text-2xl sm:text-3xl leading-none font-bold text-gray-900">RM {{ penebusanharian }} / RM {{ bajetpenebusan }}</span>
<h3 class="text-base font-normal text-gray-500">Penebusan Hari Ini</h3>
</div>
<div v-if="percentpenebusan > 0" class="ml-5 w-0 flex items-center justify-end flex-1 text-green-500 text-base font-bold">
{{ 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>
</div>
<div v-if="percentpenebusan == 0" class="ml-5 w-0 flex items-center justify-end flex-1 text-yellow-500 text-base font-bold">
{{ 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>
</div>
<div v-else class="ml-5 w-0 flex items-center justify-end flex-1 text-red-500 text-base font-bold">
{{ 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>
</div>
</div>
</div>
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8 ">
<div class="flex items-center">
<div class="flex-shrink-0">
<span class="text-2xl sm:text-3xl leading-none font-bold text-gray-900">RM {{ keuntunganharian }} / RM {{ bajetkeuntungan }}</span>
<h3 class="text-base font-normal text-gray-500">Keuntungan Hari Ini</h3>
</div>
<div v-if="percentkeuntungan > 0" class="ml-5 w-0 flex items-center justify-end flex-1 text-green-500 text-base font-bold">
{{ 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>
</div>
<div v-if="percentkeuntungan == 0" class="ml-5 w-0 flex items-center justify-end flex-1 text-yellow-500 text-base font-bold">
{{ 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>
</div>
<div v-else class="ml-5 w-0 flex items-center justify-end flex-1 text-red-500 text-base font-bold">
{{ 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>
</div>
</div>
</div>
</div>
</template>
<script>
const formatter = new Intl.NumberFormat('en-US', {
minimumFractionDigits: 2
});
export default {
props:{
kodcaw: String
},
data() {
return {
keuntunganharian:0,
bajetkeuntungan:0,
percentkeuntungan:0,
penebusanharian:0,
bajetpenebusan:0,
percentpenebusan:0,
gadaianharian:0,
bajetgadai:0,
percentgadaian:0
};
},
created() {
this.getDataPembiayaan()
this.getDataPenebusan()
this.getDataKeuntungan()
},
methods: {
getDataPembiayaan() {
this.axios.get(this.$hostname + '/admin/pembiayaanToday', {
params: {
kodcaw: this.$props.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
}).catch(error => {
console.log(error)
})
},
getDataPenebusan(){
this.axios.get(this.$hostname + '/admin/penebusanToday', {
params: {
kodcaw: this.$props.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
}).catch(error => {
console.log(error)
})
},
getDataKeuntungan(){
this.axios.get(this.$hostname + '/admin/keuntunganToday', {
params: {
kodcaw: this.$props.kodcaw
}
}).then(response => {
this.keuntunganharian = formatter.format(response.data[0].upahToday)
this.bajetkeuntungan = formatter.format(response.data[0].bajetharian.toFixed(2))
this.percentkeuntungan = response.data[0].percentDiff
}).catch(error => {
console.log(error)
})
}
},
mounted () {
var channel = this.$pusher.subscribe('gadai-notify');
channel.bind('trigger-gadai', ({ response }) => {
// console.log(`${response}`);
this.getDataPembiayaan()
});
var channel = this.$pusher.subscribe('tebus-notify');
channel.bind('trigger-tebus', ({ response }) => {
// console.log(`${response}`);
this.getDataPenebusan()
});
var channel = this.$pusher.subscribe('keuntungan-notify');
channel.bind('trigger-keuntungan', ({ response }) => {
// console.log(`${response}`);
this.getDataKeuntungan()
});
}
}
</script>
+35 -33
View File
@@ -1,18 +1,19 @@
<template>
<div class="mx-auto">
<a class="text-yellow-200 rounded bg-gray-400 px-6 py-3 font-bold mr-4 uppercase md:invisible xl:visible">
<a v-if="route === 'ada'" class="text-yellow-200 rounded bg-gray-400 px-6 py-3 font-bold mr-4 uppercase md:invisible xl:visible">
CAWANGAN :
<select v-model="caw" class="rounded-md border bg-gray-400 font-bold border-gray-400 focus:outline-none rounded-md focus:ring-1 ring-cyan-500 uppercase">
<option v-for="(caw,i) in cawangan" :key="i" :value="caw.kodcaw" >{{ caw.details_caw }}</option>
<select v-model="caw" @change="tukarcawangan" class="rounded-md border bg-gray-400 font-bold border-gray-400 focus:outline-none rounded-md focus:ring-1 ring-cyan-500 uppercase">
<option v-for="(caw,i) in cawangan" :key="i" :value="caw.kodcaw">{{ caw.details_caw }}</option>
</select>
<!-- {{this.cawangan.details_caw }} -->
</a>
<a v-if="route === 'tiada'" class="text-yellow-200 rounded bg-gray-400 px-6 py-3 font-bold mr-4 uppercase md:invisible xl:visible">
CAWANGAN : {{ this.namacawangan(this.caw) }}
</a>
<a class="text-yellow-200 rounded bg-gray-400 px-4 py-3 font-bold mr-4 uppercase md:invisible xl:visible">
<i v-if="this.roles == 'admin'" class="fas fa-1x fa-user-lock"></i>
<i v-if="this.roles == 'akaun'" class="fas fa-1x fa-calculator"></i>
<i v-if="this.roles == 'operasi'" class="fas fa-1x fa-user-cog"></i>
</a>
<p>{{ answer }}</p>
</div>
</template>
<script>
@@ -20,50 +21,51 @@
export default {
props: {
status: String,
roles: String
roles: String,
route:String
},
data: function(){
return{
cawangan:{},
caw:this.$kodcaw,
answer:'I cannot give you an answer until you ask a question!'
caw:this.$kodcaw
}
},
}
},
watch: {
// whenever question changes, this function will run
caw: function (newQuestion, oldQuestion) {
this.answer = 'Waiting for you to stop typing...'
this.debouncedtukarcawangan()
}
},
// beforeCreate: function () {
// this.caw = this.$kodcaw
// console.log(this.caw)
// },
created() {
// console.log('created',this.$kodcaw)
// this.axios.get(this.$hostname + '/api/cawangan/' + this.status).then(response => {
// this.cawangan = response.data;
// });
// console.log(this.$kodcaw)
this.caw = this.$kodcaw
this.axios.get('/api/check/cawangan').then(response => {
this.cawangan = response.data;
});
this.debouncedtukarcawangan = _.debounce(this.tukarcawangan, 500)
},
methods:{
tukarcawangan: function(){
console.log(this.caw);
this.answer = 'stop'
$kodcaw = this.caw
this.setkodcaw(this.caw)
this.$forceUpdate();
location.reload();
console.log('store',$kodcaw)
// console.log('prototype',this.$kodcaw)
},
namacawangan: function(cawangannama){
console.log(cawangannama)
let namcaw = '';
if(this.cawangan.length >0)
{
this.cawangan.some(function(value, key) {
if(cawangannama === value.kodcaw)
{
namcaw = value.details_caw
}
});
}
return namcaw;
}
}
}
@@ -1,63 +0,0 @@
<template>
<div class="mx-auto rounded-lg">
<apexchart
width="550" type="bar"
:options="options" :series="this.keun">
</apexchart>
</div>
</template>
<script>
const formatter = new Intl.NumberFormat('en-US', {
minimumFractionDigits: 2
});
export default {
name: 'Chart',
props:{
kodcaw: String,
keun: Array
},
data: () => ({
options: {
chart: {
id: 'keuntungan-bulanan',
zoom: {
enabled: false
}
},
xaxis: {
categories: [
"Jan",
"Feb",
"Mar",
"Apr",
"May",
"Jun",
"Jul",
"Aug",
"Sep",
"Oct",
"Nov",
"Dec"
]
},
yaxis: {
labels: {
formatter: function (value) {
return 'RM ' + formatter.format(value);
}
},
},
},
series: [{
name: 'Keuntungan (RM)',
data: [55, 62, 89, 66, 98, 72, 101, 75, 94, 120, 117, 139]
}]
})
}
</script>
@@ -1,85 +0,0 @@
<template>
<div class="mx-auto rounded-lg">
<apexchart id="pembchart"
width="550" type="line"
:options="options" :series="series">
</apexchart>
</div>
</template>
<script>
const formatter = new Intl.NumberFormat('en-US', {
minimumFractionDigits: 2
});
export default {
name: 'Chart',
props:{
kodcaw: String
},
data: () => ({
options: {
chart: {
id: 'pembiayaan-bulanan',
zoom: {
enabled: false
}
},
xaxis: {
categories: [
"Jan",
"Feb",
"Mac",
"Apr",
"Mei",
"Jun",
"Jul",
"Ogo",
"Sep",
"Okt",
"Nov",
"Dis"
]
},
yaxis: {
labels: {
formatter: function (value) {
return 'RM ' + formatter.format(value);
}
},
},
},
series: [{
name: 'Pembiayaan (RM)',
data: [55, 62, 89, 66, 98, 72, 101, 75, 94, 120, 117, 139]
}]
}),
created() {
this.axios.get(this.$hostname + '/admin/financeMonth', {
params: {
kodcaw: this.kodcaw
}
}).then(response => {
let pembiayaan = [];
response.data.map(function(value, key) {
pembiayaan.push(value.pembiayaan)
});
this.$apexcharts.exec('pembiayaan-bulanan', 'updateSeries', [{
data: pembiayaan.reverse()
}])
}).catch(error => {
console.log(error)
})
}
}
</script>
@@ -1,63 +0,0 @@
<template>
<div class="mx-auto rounded-lg">
<apexchart
width="550" type="line"
:options="options" :series="this.peny">
</apexchart>
</div>
</template>
<script>
const formatter = new Intl.NumberFormat('en-US', {
minimumFractionDigits: 2
});
export default {
name: 'Chart',
props:{
kodcaw: String,
peny: Array
},
data: () => ({
options: {
chart: {
id: 'penyelesaian-bulanan',
zoom: {
enabled: false
}
},
xaxis: {
categories: [
"Jan",
"Feb",
"Mar",
"Apr",
"May",
"Jun",
"Jul",
"Aug",
"Sep",
"Oct",
"Nov",
"Dec"
]
},
yaxis: {
labels: {
formatter: function (value) {
return 'RM ' + formatter.format(value);
}
},
},
},
series: [{
name: 'Tebus (RM)',
data: [55, 62, 89, 66, 98, 72, 101, 75, 94, 120, 117, 139]
}]
}),
}
</script>
-334
View File
@@ -1,334 +0,0 @@
<template>
<div class="container mx-auto px-5 my-10">
<modal ref="modal"></modal>
<article
:key="$data.index"
class="mt-12 lg:mt-16 prose prose-sm lg:prose-lg"
>
<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">
Bil
</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
</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">
B/F
</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">
Keluar
</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">
Masuk
</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">
Pendahuluan
</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">
Serahan
</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">
Panjar
</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">
Baki Akhir
</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">
Act
</th>
</tr>
</thead>
<tbody>
<tr v-for="(petibesi,i) in active.vault" :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="(i+1+active.mulaPage)">
</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="petibesi.tarikh">
</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(petibesi.bakiawal)">
</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(petibesi.keluar)">
</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(petibesi.masuk)">
</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(petibesi.pendahuluan)">
</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(petibesi.serahan)">
</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(petibesi.totpanjar)">
</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(petibesi.bakiakhir)">
</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">
<button @click="action(petibesi.tarikh,petibesi.kodcaw)" class="border border-yellow-600 text-yellow-600 font-montserrat py-2 px-4 font-medium rounded-xl hover:bg-yellow-600 hover:text-white transition-all duration-300"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-card-checklist" viewBox="0 0 16 16">
<path d="M14.5 3a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5h13zm-13-1A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 2h-13z"/>
<path d="M7 5.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm-1.496-.854a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 0 1-.708 0l-.5-.5a.5.5 0 1 1 .708-.708l.146.147 1.146-1.147a.5.5 0 0 1 .708 0zM7 9.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm-1.496-.854a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 0 1-.708 0l-.5-.5a.5.5 0 0 1 .708-.708l.146.147 1.146-1.147a.5.5 0 0 1 .708 0z"/>
</svg>
</button>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<div class="bg-white px-4 py-3 flex items-center justify-between border-t border-gray-200 sm:px-6">
<div class="flex-1 flex justify-between sm:hidden">
<a href="#" class="relative inline-flex items-center px-4 py-2 border border-gray-300 text-sm font-medium rounded-md text-gray-700 bg-white hover:bg-gray-50">
Previous
</a>
<a href="#" class="ml-3 relative inline-flex items-center px-4 py-2 border border-gray-300 text-sm font-medium rounded-md text-gray-700 bg-white hover:bg-gray-50">
Next
</a>
</div>
<div class="hidden sm:flex-1 sm:flex sm:items-center sm:justify-between">
<div>
<p class="text-sm text-gray-700">
Showing
{{ ' ' }}
<span class="font-medium">{{ this.currentPage }}</span>
{{ ' ' }}
to
{{ ' ' }}
<template v-if="this.totalPage <= this.perPage">
<span class="font-medium">{{ this.totalPage }}</span>
</template>
<template v-else>
<span class="font-medium">{{ this.lastPage }}</span>
</template>
{{ ' ' }}
of
{{ ' ' }}
<span class="font-medium">{{ this.totalPage }}</span>
{{ ' ' }}
results
</p>
</div>
<div>
<nav class="relative z-0 inline-flex rounded-md shadow-sm -space-x-px" aria-label="Pagination">
<a href="#" @click="setActive(0)" class="relative inline-flex items-center px-2 py-2 rounded-l-md border border-gray-300 bg-white text-sm font-medium text-gray-500 hover:bg-gray-50">
<span class="sr-only">First Page</span>
<ChevronDoubleLeftIcon class="h-5 w-5" aria-hidden="true" />
</a>
<a href="#" @click="setPrevious()" class="relative inline-flex items-center px-2 py-2 rounded-l-md border border-gray-300 bg-white text-sm font-medium text-gray-500 hover:bg-gray-50">
<span class="sr-only">Previous</span>
<ChevronLeftIcon class="h-5 w-5" aria-hidden="true" />
</a>
<template v-for="(row,i) in rows">
<a v-if="((i+1) < activePage && (i+1) > activePage - 2) || (i+1) == 1 && activePage !=1" @click="setActive(i)" :key="'Z'+i" href="#" class="bg-white border-gray-300 text-gray-500 hover:bg-gray-50 relative inline-flex items-center px-4 py-2 border text-sm font-medium">
{{ i + 1 }}
</a>
<span v-if="activePage > 3 && (i+1) == 1" :key="'B'+i" class="relative inline-flex items-center px-4 py-2 border border-gray-300 bg-white text-sm font-medium text-gray-700">
...
</span>
<a v-if="(i+1) == activePage" :key="i" href="#" aria-current="page" class="z-10 bg-indigo-50 border-indigo-500 text-indigo-600 relative inline-flex items-center px-4 py-2 border text-sm font-medium">
{{ activePage }}
</a>
<a v-if="((i+1) > activePage && (i+1) < activePage + 3) && activePage != (rows-1)" :key="'A'+i" @click="setActive(i)" href="#" class="bg-white border-gray-300 text-gray-500 hover:bg-gray-50 relative inline-flex items-center px-4 py-2 border text-sm font-medium">
{{ i + 1 }}
</a>
<span v-if="(i+1) == activePage + 3" :key="'B'+i" class="relative inline-flex items-center px-4 py-2 border border-gray-300 bg-white text-sm font-medium text-gray-700">
...
</span>
<a v-else-if="(i+1) == (rows) && (activePage != (rows-1) && (i+1) != (rows))" :key="'C' + i" @click="setActive(i)" href="#" class="bg-white border-gray-300 text-gray-500 hover:bg-gray-50 relative inline-flex items-center px-4 py-2 border text-sm font-medium">
{{ i + 1}}
</a>
</template>
<a href="#" @click="setNext()" class="relative inline-flex items-center px-2 py-2 rounded-r-md border border-gray-300 bg-white text-sm font-medium text-gray-500 hover:bg-gray-50">
<span class="sr-only">Next</span>
<ChevronRightIcon class="h-5 w-5" aria-hidden="true" />
</a>
<a href="#" @click="setActiveLastPage()" class="relative inline-flex items-center px-2 py-2 rounded-r-md border border-gray-300 bg-white text-sm font-medium text-gray-500 hover:bg-gray-50">
<span class="sr-only">Next</span>
<ChevronDoubleRightIcon class="h-5 w-5" aria-hidden="true" />
</a>
</nav>
</div>
</div>
</div>
</article>
</div>
</template>
<script>
import { ChevronLeftIcon, ChevronRightIcon,ChevronDoubleRightIcon,ChevronDoubleLeftIcon } from '@vue-hero-icons/solid'
import modal from './util/PetiBesiModal.vue'
const formatter = new Intl.NumberFormat('en-US', {
minimumFractionDigits: 2
});
export default {
components: {
ChevronLeftIcon,
ChevronRightIcon,
ChevronDoubleLeftIcon,
ChevronDoubleRightIcon,
modal
},
props: {
petibesi: {
type: Array
}
},
data() {
return {
index: 0,
leftToRight: true,
aliranpetibesi:[],
PaginationLimit: 2,
perPage: 5,
totalPage: 0,
currentPage: 1,
lastPage: 5,
activePage: 1
};
},
computed:{
active() {
let jumsplit = this.activePage*this.perPage
let mulaPage = jumsplit - (this.perPage)
this.currentPage = mulaPage+1
this.lastPage = jumsplit
let vault = this.petibesi.slice(mulaPage, jumsplit)
return {vault,mulaPage,jumsplit}
},
rows() {
this.totalPage = this.$props.petibesi.length
let totaldibahagi = parseInt(this.totalPage/this.perPage)
return totaldibahagi
}
},
methods: {
setActive(index){
this.activePage = index + 1
},
setActiveLastPage(){
let totaldibahagi = parseInt(this.totalPage/this.perPage)
this.activePage = totaldibahagi
},
setPrevious(){
if(this.activePage > 1)
this.activePage = this.activePage - 1
},
setNext(){
let totaldibahagi = parseInt(this.totalPage/this.perPage)
if(this.activePage < totaldibahagi)
this.activePage = this.activePage + 1
},
setItem(index) {
// Update LTR before changing $data.index
this.$data.leftToRight = index > this.$data.index;
this.$data.index = index;
this.activePage = 1;
},
action(tarikh,kodcaw){
axios.get('/api/check/periksapetibesi', {
params: {
tarikh: tarikh,
kodcaw: kodcaw
}
}).then(response => {
if(response.data === 'sama')
{
this.$toast("Nilai Tunai sama dengan nilat tunai")
}else{
this.aliranpetibesi = response.data;
this.$refs.modal.showModal = true;
this.$refs.modal.tarikh = tarikh;
this.$refs.modal.kodcaw = kodcaw;
this.$refs.modal.panjar = formatter.format(this.aliranpetibesi.panjar);
this.$refs.modal.bakiawal = formatter.format(this.aliranpetibesi.bakiawal);
this.$refs.modal.bakiakhir = formatter.format(this.aliranpetibesi.bakiakhir);
this.$refs.modal.pendteller = formatter.format(this.aliranpetibesi.pendahuluanteller);
this.$refs.modal.serteller = formatter.format(this.aliranpetibesi.serahanteller);
this.$refs.modal.serahan = formatter.format(this.aliranpetibesi.serahanpkb);
this.$refs.modal.pendahuluan = formatter.format(this.aliranpetibesi.pendahuluanpkb);
}
});
},
formatterfunction(value){
return formatter.format(value)
}
}
}
</script>
-354
View File
@@ -1,354 +0,0 @@
<template>
<div class="container mx-auto px-5 my-10">
<modal ref="modal"></modal>
<nav>
<ul class="flex flex-wrap -ml-2 -mt-2">
<li v-for="(item, index) in $props.items" :key="index" class="mt-2 pl-2">
<button
:class="[
'relative px-4 py-2 overflow-hidden',
'transition-colors duration-200',
'bg-black text-white',
'hover:bg-gray-400 hover:text-black'
]"
:disabled="$data.index === index"
@click="setItem(index)"
v-text="item.kodlaluan"
/>
</li>
</ul>
</nav>
<transition
enter-active-class="transition-all transform duration-200 ease-out"
leave-active-class="transition-all transform duration-200 ease-in"
:enter-class="`${
$data.leftToRight ? '-translate-x-10' : 'translate-x-10'
} opacity-0`"
enter-to-class="translate-0 opacity-100"
leave-class="translate-0 opacity-100"
:leave-to-class="`${
$data.leftToRight ? 'translate-x-10' : '-translate-x-10'
} opacity-0`"
mode="out-in"
>
<article
:key="$data.index"
class="mt-12 lg:mt-16 prose prose-sm lg:prose-lg"
>
<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">
Bil
</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
</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">
B/F
</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">
Pendahuluan
</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">
Serahan
</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">
Gadaian
</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">
Penebusan
</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">
C/F
</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">
Act
</th>
</tr>
</thead>
<tbody>
<tr v-for="(tunai,i) in active.pecahantunai" :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="(i+1+active.mulaPage)">
</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="tunai.tarikh">
</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(tunai.bakiawal)">
</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(tunai.tambah)">
</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(tunai.kurang)">
</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(tunai.keluar)">
</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(tunai.masuk)">
</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(tunai.baki)">
</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">
<button @click="action(tunai.tarikh,tunai.kodcaw,tunai.kodlaluan)" class="border border-yellow-600 text-yellow-600 font-montserrat py-2 px-4 font-medium rounded-xl hover:bg-yellow-600 hover:text-white transition-all duration-300"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-card-checklist" viewBox="0 0 16 16">
<path d="M14.5 3a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5h13zm-13-1A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 2h-13z"/>
<path d="M7 5.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm-1.496-.854a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 0 1-.708 0l-.5-.5a.5.5 0 1 1 .708-.708l.146.147 1.146-1.147a.5.5 0 0 1 .708 0zM7 9.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm-1.496-.854a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 0 1-.708 0l-.5-.5a.5.5 0 0 1 .708-.708l.146.147 1.146-1.147a.5.5 0 0 1 .708 0z"/>
</svg>
</button>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<div class="bg-white px-4 py-3 flex items-center justify-between border-t border-gray-200 sm:px-6">
<div class="flex-1 flex justify-between sm:hidden">
<a href="#" class="relative inline-flex items-center px-4 py-2 border border-gray-300 text-sm font-medium rounded-md text-gray-700 bg-white hover:bg-gray-50">
Previous
</a>
<a href="#" class="ml-3 relative inline-flex items-center px-4 py-2 border border-gray-300 text-sm font-medium rounded-md text-gray-700 bg-white hover:bg-gray-50">
Next
</a>
</div>
<div class="hidden sm:flex-1 sm:flex sm:items-center sm:justify-between">
<div>
<p class="text-sm text-gray-700">
Showing
{{ ' ' }}
<span class="font-medium">{{ this.currentPage }}</span>
{{ ' ' }}
to
{{ ' ' }}
<template v-if="this.totalPage <= this.perPage">
<span class="font-medium">{{ this.totalPage }}</span>
</template>
<template v-else>
<span class="font-medium">{{ this.lastPage }}</span>
</template>
{{ ' ' }}
of
{{ ' ' }}
<span class="font-medium">{{ this.totalPage }}</span>
{{ ' ' }}
results
</p>
</div>
<div>
<nav class="relative z-0 inline-flex rounded-md shadow-sm -space-x-px" aria-label="Pagination">
<a href="#" class="relative inline-flex items-center px-2 py-2 rounded-l-md border border-gray-300 bg-white text-sm font-medium text-gray-500 hover:bg-gray-50">
<span class="sr-only">Previous</span>
<ChevronLeftIcon class="h-5 w-5" aria-hidden="true" />
</a>
<!-- Current: "z-10 bg-indigo-50 border-indigo-500 text-indigo-600", Default: "bg-white border-gray-300 text-gray-500 hover:bg-gray-50" -->
<template v-for="(row,i) in rows">
<a v-if="(i+1) == activePage" :key="i" href="#" aria-current="page" class="z-10 bg-indigo-50 border-indigo-500 text-indigo-600 relative inline-flex items-center px-4 py-2 border text-sm font-medium">
{{ activePage }}
</a>
<a v-if="(i+1) > activePage && (i+1) < activePage + 3" :key="'A'+i" @click="setActive(i)" href="#" class="bg-white border-gray-300 text-gray-500 hover:bg-gray-50 relative inline-flex items-center px-4 py-2 border text-sm font-medium">
{{ i + 1 }}
</a>
<span v-if="(i+1) == activePage + 3" :key="'B'+i" class="relative inline-flex items-center px-4 py-2 border border-gray-300 bg-white text-sm font-medium text-gray-700">
...
</span>
<a v-else-if="(i+1) > (rows-3)" :key="'C' + i" @click="setActive(i)" href="#" class="bg-white border-gray-300 text-gray-500 hover:bg-gray-50 relative inline-flex items-center px-4 py-2 border text-sm font-medium">
{{ i + 1}}
</a>
</template>
<!-- <a href="#" class="bg-white border-gray-300 text-gray-500 hover:bg-gray-50 relative inline-flex items-center px-4 py-2 border text-sm font-medium">
{{ i+1 }}
</a> -->
<!-- <a href="#" class="bg-white border-gray-300 text-gray-500 hover:bg-gray-50 hidden md:inline-flex relative items-center px-4 py-2 border text-sm font-medium">
3
</a>
<span class="relative inline-flex items-center px-4 py-2 border border-gray-300 bg-white text-sm font-medium text-gray-700">
...
</span>
<a href="#" class="bg-white border-gray-300 text-gray-500 hover:bg-gray-50 hidden md:inline-flex relative items-center px-4 py-2 border text-sm font-medium">
8
</a>
<a href="#" class="bg-white border-gray-300 text-gray-500 hover:bg-gray-50 relative inline-flex items-center px-4 py-2 border text-sm font-medium">
9
</a>
<a href="#" class="bg-white border-gray-300 text-gray-500 hover:bg-gray-50 relative inline-flex items-center px-4 py-2 border text-sm font-medium">
10
</a> -->
<a href="#" class="relative inline-flex items-center px-2 py-2 rounded-r-md border border-gray-300 bg-white text-sm font-medium text-gray-500 hover:bg-gray-50">
<span class="sr-only">Next</span>
<ChevronRightIcon class="h-5 w-5" aria-hidden="true" />
</a>
</nav>
</div>
</div>
<!-- <pagination :data="active"></pagination> -->
</div>
<!-- <h1 v-text="active.kodlaluan" />
<p v-text="active.kodlaluan" /> -->
</article>
</transition>
</div>
</template>
<script>
import { ChevronLeftIcon, ChevronRightIcon } from '@vue-hero-icons/solid'
import modal from './util/Modal.vue'
import pagination from './pagination.vue'
const formatter = new Intl.NumberFormat('en-US', {
minimumFractionDigits: 2
});
export default {
components: {
ChevronLeftIcon,
ChevronRightIcon,
modal,
pagination
},
props: {
items: {
type: Array
},
arraytunai: {
type: Array
}
},
data() {
return {
index: 0,
leftToRight: true,
alirantunai:[],
perPage: 5,
totalPage: 0,
currentPage: 1,
lastPage: 5,
activePage: 1
};
},
// created: function() {
// console.log(this.items);
// console.log(this.arraytunai);
// },
computed: {
active() {
let tunaidibahagi = this.$props.arraytunai[this.$data.index]
let jumsplit = this.activePage*this.perPage
let mulaPage = jumsplit - (this.perPage);
this.currentPage = mulaPage+1
this.lastPage = jumsplit
let pecahantunai = tunaidibahagi.slice(mulaPage, jumsplit)
return {pecahantunai,mulaPage,jumsplit}
},
rows() {
this.totalPage = this.$props.arraytunai[this.$data.index].length
let totaldibahagi = parseInt(this.totalPage/this.perPage)
return totaldibahagi
}
},
methods: {
setActive(index){
this.activePage = index + 1
},
setItem(index) {
// Update LTR before changing $data.index
this.$data.leftToRight = index > this.$data.index;
this.$data.index = index;
this.activePage = 1;
},
action(tarikhteller,kodcawteller,tel){
axios.get('/api/check/periksaalirantunai', {
params: {
tarikh: tarikhteller,
kodcaw: kodcawteller,
teller: tel
}
}).then(response => {
if(response.data === 'sama')
{
this.$toast("Nilai Tunai sama dengan nilat tunai");
}else{
this.alirantunai = response.data;
this.$refs.modal.showModal = true;
this.$refs.modal.serahan = formatter.format(this.alirantunai.serahan);
this.$refs.modal.bakiawal = formatter.format(this.alirantunai.bakiawal);
this.$refs.modal.bakiakhir = formatter.format(this.alirantunai.bakisemasa);
this.$refs.modal.pendahuluan = formatter.format(this.alirantunai.pendahuluan);
this.$refs.modal.penebusan = formatter.format(this.alirantunai.penebusan);
this.$refs.modal.gadaian = formatter.format(this.alirantunai.gadaian);
}
});
},
formatterfunction: function(value){
return formatter.format(value)
}
}
}
</script>
+3 -8
View File
@@ -96,11 +96,6 @@ export default {
pagination,
modal
},
props:{
kodcaw: {
type: String
}
},
data(){
return{
currentPage: 1,
@@ -114,7 +109,7 @@ export default {
},
methods:{
getBlacklist(pageNumber){
this.axios.get(this.$hostname + '/admin/SenaraiBlacklist/' + this.kodcaw,{
this.axios.get(this.$hostname + '/admin/SenaraiBlacklist/' + this.$kodcaw,{
params: {
page: pageNumber
}
@@ -125,7 +120,7 @@ export default {
});
},
searchname(){
this.axios.get(this.$hostname + '/admin/SenaraiBlacklist/' + this.kodcaw,{
this.axios.get(this.$hostname + '/admin/SenaraiBlacklist/' + this.$kodcaw,{
params: {
page: 0,
search: this.search
@@ -142,7 +137,7 @@ export default {
// $(element).modal('show')
this.$refs.modal.showModal = true;
this.$refs.modal.kodcaw = this.kodcaw;
this.$refs.modal.kodcaw = this.$kodcaw;
}
}
-73
View File
@@ -1,73 +0,0 @@
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">{{ __('Login') }}</div>
<div class="card-body">
<form method="POST" action="{{ route('login') }}">
@csrf
<div class="form-group row">
<label for="email" class="col-md-4 col-form-label text-md-right">{{ __('E-Mail Address') }}</label>
<div class="col-md-6">
<input id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ old('email') }}" required autocomplete="email" autofocus>
@error('email')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="form-group row">
<label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Password') }}</label>
<div class="col-md-6">
<input id="password" type="password" class="form-control @error('password') is-invalid @enderror" name="password" required autocomplete="current-password">
@error('password')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="form-group row">
<div class="col-md-6 offset-md-4">
<div class="form-check">
<input class="form-check-input" type="checkbox" name="remember" id="remember" {{ old('remember') ? 'checked' : '' }}>
<label class="form-check-label" for="remember">
{{ __('Remember Me') }}
</label>
</div>
</div>
</div>
<div class="form-group row mb-0">
<div class="col-md-8 offset-md-4">
<button type="submit" class="btn btn-primary">
{{ __('Login') }}
</button>
@if (Route::has('password.request'))
<a class="btn btn-link" href="{{ route('password.request') }}">
{{ __('Forgot Your Password?') }}
</a>
@endif
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
@endsection
-43
View File
@@ -46,15 +46,6 @@
<p class="text-red-500 text-xs italic">{{ $message }}</p>
@enderror
</div>
<label class="block text-gray-700 text-sm font-bold mb-2">Cawangan</label>
<div class="mb-4">
<select required class="rounded-md block mt-1 py-3 px-4 border border-gray-400 focus:outline-none rounded-md focus:ring-1 w-full ring-cyan-500" name="cawangan" id="cawangan" required>
{{-- <option value="none" disabled selected>Sila Pilih Cawangan</option> --}}
@foreach($cawangans as $index=>$cawangan)
<option value="{{ $cawangan['kodcaw'] }}">{{ $cawangan['details_caw'] }}</option>
@endforeach
</select>
</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>
@@ -63,40 +54,6 @@
</p>
</div>
</div>
{{--
<div class="w-full max-w-xs">
<form class="bg-white shadow-md rounded px-8 pt-6 pb-8 mb-4">
<div class="mb-4">
<label class="block text-gray-700 text-sm font-bold mb-2" for="username">
Username
</label>
<input class="shadow appearance-none border rounded w-full py-2 px-3 text-gray-700 leading-tight focus:outline-none focus:shadow-outline" id="username" type="text" placeholder="Username">
@error('password')
<p class="text-red-500 text-xs italic">{{ $message }}</p>
@enderror
</div>
<div class="mb-6">
<label class="block text-gray-700 text-sm font-bold mb-2" for="password">
Password
</label>
<input class="shadow appearance-none border border-red-500 rounded w-full py-2 px-3 text-gray-700 mb-3 leading-tight focus:outline-none focus:shadow-outline" id="password" type="password" placeholder="******************">
@error('password')
<p class="text-red-500 text-xs italic">{{ $message }}</p>
@enderror
</div>
<div class="flex items-center justify-between">
<button class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded focus:outline-none focus:shadow-outline" type="button">
Sign In
</button>
<a class="inline-block align-baseline font-bold text-sm text-blue-500 hover:text-blue-800" href="#">
Forgot Password?
</a>
</div>
</form>
<p class="text-center text-gray-500 text-xs">
&copy;2020 Acme Corp. All rights reserved.
</p>
</div> --}}
</div>
@endsection
@@ -1,26 +0,0 @@
<div class="col-xl-2 col-md-3 container h-50 px-0 mr-xl-3" style="margin-top:67px;">
<div class="card">
<div class="card-header bg-gray">
<h4 class="text-center">Pengguna</h4>
</div>
<div class="card-body">
<ul class="nav nav-pills mb-3 nav-fill" id="pills-tab" role="tablist">
{{-- <script> let listu = [];</script> --}}
@foreach($teller as $index1=>$ls)
{{-- <script> listu.push("{{ $loop->iteration }}"); </script> --}}
@if($index1 == 0)
<li class="nav-item">
<a class="nav-link active mb-2" style="border:2px solid black;" id="pills-home-tab" data-toggle="pill" href="#pills-{{ $loop->iteration }}" role="tab" aria-controls="pills-home" aria-selected="true"><b>{{ $ls['kodlaluan'] }}</b></a>
</li>
@else
<li class="nav-item mb-2">
<a class="nav-link" style="border:2px solid black;margin-left:2px;" id="pills-profile-tab" data-toggle="pill" href="#pills-{{ $loop->iteration }}" role="tab" aria-controls="pills-profile" aria-selected="false"><b>{{ $ls['kodlaluan'] }}</b></a>
</li>
@endif
@endforeach
</ul>
</div>
</div>
</div>
-109
View File
@@ -1,109 +0,0 @@
@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' : 'Dashboard', 'icon' : 'fas fa-columns' }]"></breadcrumb>
<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 ">
<div class="flex items-center">
<div class="flex-shrink-0">
<span class="text-2xl sm:text-3xl leading-none font-bold text-gray-900">RM {{ ($ringkasanharian['gadai'][0]['jumlahpinjaman']) ? number_format($ringkasanharian['gadai'][0]['jumlahpinjaman'],2) : "0.00" }}</span>
<h3 class="text-base font-normal text-gray-500">Pembiayaan Hari Ini</h3>
</div>
{{-- <div class="ml-5 w-0 flex items-center justify-end flex-1 text-green-500 text-base font-bold">
14.6%
<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>
</div> --}}
</div>
</div>
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8 ">
<div class="flex items-center">
<div class="flex-shrink-0">
<span class="text-2xl sm:text-3xl leading-none font-bold text-gray-900">RM {{ ($ringkasanharian['tebus'][0]['jumlahpinjaman']) ? number_format($ringkasanharian['tebus'][0]['jumlahpinjaman'],2) : "0.00" }}</span>
<h3 class="text-base font-normal text-gray-500">Penebusan Hari Ini</h3>
</div>
{{-- <div class="ml-5 w-0 flex items-center justify-end flex-1 text-green-500 text-base font-bold">
32.9%
<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>
</div> --}}
</div>
</div>
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8 ">
<div class="flex items-center">
<div class="flex-shrink-0">
<span class="text-2xl sm:text-3xl leading-none font-bold text-gray-900">RM {{ number_format($keseluruhanupahharian,2) }}</span>
<h3 class="text-base font-normal text-gray-500">Keuntungan Hari Ini</h3>
</div>
{{-- <div class="ml-5 w-0 flex items-center justify-end flex-1 text-red-500 text-base font-bold">
-2.7%
<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>
</div> --}}
</div>
</div>
</div>
<div class="w-full grid grid-cols-1 xl:grid-cols-2 2xl:grid-cols-3 gap-4">
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8 2xl:col-span-1">
<div class="flex items-center justify-between mb-4">
<div class="flex-shrink-0">
{{-- <span class="text-2xl sm:text-3xl leading-none font-bold text-gray-900">$45,385</span> --}}
<h3 class="text-base font-normal text-gray-500">Pembiayaan Bulanan</h3>
</div>
{{-- <div class="flex items-center justify-end flex-1 text-green-500 text-base font-bold">
12.5%
<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>
</div> --}}
</div>
<div class="mx-auto mt-10"><pemb-chart :pemb='{!! json_encode($arrayPembiayaan) !!}' kodcaw={{ Auth::user()->cawangan }}></pemb-chart></div>
</div>
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8 2xl:col-span-1">
<div class="flex items-center justify-between mb-4">
<div class="flex-shrink-0">
{{-- <span class="text-2xl sm:text-3xl leading-none font-bold text-gray-900">$45,385</span> --}}
<h3 class="text-base font-normal text-gray-500">Penyelesaian Bulanan</h3>
</div>
{{-- <div class="flex items-center justify-end flex-1 text-green-500 text-base font-bold">
12.5%
<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>
</div> --}}
</div>
<div class="mx-auto mt-10"><peny-chart :peny='{!! json_encode($arrayPenyelesaian) !!}' kodcaw={{ Auth::user()->cawangan }}></peny-chart></div>
</div>
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8 2xl:col-span-1">
<div class="flex items-center justify-between mb-4">
<div class="flex-shrink-0">
{{-- <span class="text-2xl sm:text-3xl leading-none font-bold text-gray-900">$45,385</span> --}}
<h3 class="text-base font-normal text-gray-500">Keuntungan Bulanan</h3>
</div>
{{-- <div class="flex items-center justify-end flex-1 text-green-500 text-base font-bold">
12.5%
<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>
</div> --}}
</div>
<div class="mx-auto mt-10"><keun-chart :keun='{!! json_encode($arrayKeuntungan) !!}' kodcaw={{ Auth::user()->cawangan }}></keun-chart></div>
</div>
</div>
</div>
</main>
@include('layouts.footer')
@endsection
-483
View File
@@ -1,483 +0,0 @@
@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">
{{-- <ol class="list-reset flex text-grey-dark mb-4 rounded">
<li class="bg-gray-500 py-2 px-4 rounded text-white">
<a href="#" class=""
><i class="far fa-folder mr-2"></i>
Home</a
>
</li>
<li class="mt-2"><span class="mx-2"><i class="fas fa-angle-double-right"></i></span></li>
<li class="bg-gray-500 py-2 px-4 rounded text-white">
<a href="#" class=""><i class="far fa-folder mr-2"></i> Library</a>
</li>
<li class="mt-2"><span class="mx-2"><i class="fas fa-angle-double-right"></i></span></li>
<li class="bg-yellow-600 py-2 px-4 rounded text-white">
<a href="">
<svg
xmlns="http://www.w3.org/2000/svg"
fill="none"
viewBox="0 0 24 24"
class="w-4 h-4 stroke-current inline mr-1"
>
<path
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M9 13h6m-3-3v6m5 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"
></path>
<!---->
<!---->
<!---->
<!---->
<!---->
</svg>
Data</a
>
</li>
<!-- TODO FA replacement -->
</ol> --}}
<breadcrumb></breadcrumb>
<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 ">
<div class="flex items-center">
<div class="flex-shrink-0">
<span class="text-2xl sm:text-3xl leading-none font-bold text-gray-900">RM {{ ($ringkasanharian['gadai'][0]['jumlahpinjaman']) ? number_format($ringkasanharian['gadai'][0]['jumlahpinjaman'],2) : "0.00" }}</span>
<h3 class="text-base font-normal text-gray-500">Pembiayaan Hari Ini</h3>
</div>
{{-- <div class="ml-5 w-0 flex items-center justify-end flex-1 text-green-500 text-base font-bold">
14.6%
<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>
</div> --}}
</div>
</div>
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8 ">
<div class="flex items-center">
<div class="flex-shrink-0">
<span class="text-2xl sm:text-3xl leading-none font-bold text-gray-900">RM {{ ($ringkasanharian['tebus'][0]['jumlahpinjaman']) ? number_format($ringkasanharian['tebus'][0]['jumlahpinjaman'],2) : "0.00" }}</span>
<h3 class="text-base font-normal text-gray-500">Penebusan</h3>
</div>
{{-- <div class="ml-5 w-0 flex items-center justify-end flex-1 text-green-500 text-base font-bold">
32.9%
<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>
</div> --}}
</div>
</div>
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8 ">
<div class="flex items-center">
<div class="flex-shrink-0">
<span class="text-2xl sm:text-3xl leading-none font-bold text-gray-900">RM {{ number_format($keseluruhanupahharian,2) }}</span>
<h3 class="text-base font-normal text-gray-500">Keuntungan</h3>
</div>
{{-- <div class="ml-5 w-0 flex items-center justify-end flex-1 text-red-500 text-base font-bold">
-2.7%
<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>
</div> --}}
</div>
</div>
</div>
<div class="w-full grid grid-cols-1 xl:grid-cols-2 2xl:grid-cols-3 gap-4">
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8 2xl:col-span-1">
<div class="flex items-center justify-between mb-4">
<div class="flex-shrink-0">
<span class="text-2xl sm:text-3xl leading-none font-bold text-gray-900">$45,385</span>
<h3 class="text-base font-normal text-gray-500">Pembiayaan Bulanan</h3>
</div>
<div class="flex items-center justify-end flex-1 text-green-500 text-base font-bold">
12.5%
<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>
</div>
</div>
<div class="mx-auto mt-10"><chart></chart></div>
</div>
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8 2xl:col-span-1">
<div class="flex items-center justify-between mb-4">
<div class="flex-shrink-0">
<span class="text-2xl sm:text-3xl leading-none font-bold text-gray-900">$45,385</span>
<h3 class="text-base font-normal text-gray-500">Penyelesaian Bulanan</h3>
</div>
<div class="flex items-center justify-end flex-1 text-green-500 text-base font-bold">
12.5%
<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>
</div>
</div>
<div class="mx-auto mt-10"><chart></chart></div>
</div>
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8 ">
<div class="mb-4 flex items-center justify-between">
<div>
<h3 class="text-xl font-bold text-gray-900 mb-2">Keuntungan Bulanan</h3>
<span class="text-base font-normal text-gray-500">This is a list of latest transactions</span>
</div>
<div class="flex-shrink-0">
<a href="#" class="text-sm font-medium text-cyan-600 hover:bg-gray-100 rounded-lg p-2">View all</a>
</div>
</div>
<div class="flex flex-col mt-8">
<div class="overflow-x-auto rounded-lg">
<div class="align-middle inline-block min-w-full">
<div class="shadow overflow-hidden sm:rounded-lg">
<table class="min-w-full divide-y divide-gray-200">
<thead class="bg-gray-50">
<tr>
<th scope="col" class="p-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">
Transaction
</th>
<th scope="col" class="p-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">
Date & Time
</th>
<th scope="col" class="p-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">
Amount
</th>
</tr>
</thead>
<tbody class="bg-white">
<tr>
<td class="p-4 whitespace-nowrap text-sm font-normal text-gray-900">
Payment from <span class="font-semibold">Bonnie Green</span>
</td>
<td class="p-4 whitespace-nowrap text-sm font-normal text-gray-500">
Apr 23 ,2021
</td>
<td class="p-4 whitespace-nowrap text-sm font-semibold text-gray-900">
$2300
</td>
</tr>
<tr class="bg-gray-50">
<td class="p-4 whitespace-nowrap text-sm font-normal text-gray-900 rounded-lg rounded-left">
Payment refund to <span class="font-semibold">#00910</span>
</td>
<td class="p-4 whitespace-nowrap text-sm font-normal text-gray-500">
Apr 23 ,2021
</td>
<td class="p-4 whitespace-nowrap text-sm font-semibold text-gray-900">
-$670
</td>
</tr>
<tr>
<td class="p-4 whitespace-nowrap text-sm font-normal text-gray-900">
Payment failed from <span class="font-semibold">#087651</span>
</td>
<td class="p-4 whitespace-nowrap text-sm font-normal text-gray-500">
Apr 18 ,2021
</td>
<td class="p-4 whitespace-nowrap text-sm font-semibold text-gray-900">
$234
</td>
</tr>
<tr class="bg-gray-50">
<td class="p-4 whitespace-nowrap text-sm font-normal text-gray-900 rounded-lg rounded-left">
Payment from <span class="font-semibold">Lana Byrd</span>
</td>
<td class="p-4 whitespace-nowrap text-sm font-normal text-gray-500">
Apr 15 ,2021
</td>
<td class="p-4 whitespace-nowrap text-sm font-semibold text-gray-900">
$5000
</td>
</tr>
<tr>
<td class="p-4 whitespace-nowrap text-sm font-normal text-gray-900">
Payment from <span class="font-semibold">Jese Leos</span>
</td>
<td class="p-4 whitespace-nowrap text-sm font-normal text-gray-500">
Apr 15 ,2021
</td>
<td class="p-4 whitespace-nowrap text-sm font-semibold text-gray-900">
$2300
</td>
</tr>
<tr class="bg-gray-50">
<td class="p-4 whitespace-nowrap text-sm font-normal text-gray-900 rounded-lg rounded-left">
Payment from <span class="font-semibold">THEMESBERG LLC</span>
</td>
<td class="p-4 whitespace-nowrap text-sm font-normal text-gray-500">
Apr 11 ,2021
</td>
<td class="p-4 whitespace-nowrap text-sm font-semibold text-gray-900">
$560
</td>
</tr>
<tr>
<td class="p-4 whitespace-nowrap text-sm font-normal text-gray-900">
Payment from <span class="font-semibold">Lana Lysle</span>
</td>
<td class="p-4 whitespace-nowrap text-sm font-normal text-gray-500">
Apr 6 ,2021
</td>
<td class="p-4 whitespace-nowrap text-sm font-semibold text-gray-900">
$1437
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="grid grid-cols-1 2xl:grid-cols-2 xl:gap-4 my-4">
<div class="bg-white shadow rounded-lg mb-4 p-4 sm:p-6 h-full">
<div class="flex items-center justify-between mb-4">
<h3 class="text-xl font-bold leading-none text-gray-900">Latest Customers</h3>
<a href="#" class="text-sm font-medium text-cyan-600 hover:bg-gray-100 rounded-lg inline-flex items-center p-2">
View all
</a>
</div>
<div class="flow-root">
<ul role="list" class="divide-y divide-gray-200">
<li class="py-3 sm:py-4">
<div class="flex items-center space-x-4">
<div class="flex-shrink-0">
<img class="h-8 w-8 rounded-full" src="https://demo.themesberg.com/windster/images/users/neil-sims.png" alt="Neil image">
</div>
<div class="flex-1 min-w-0">
<p class="text-sm font-medium text-gray-900 truncate">
Neil Sims
</p>
<p class="text-sm text-gray-500 truncate">
<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="17727a767e7b57607e7973646372653974787a">[email&#160;protected]</a>
</p>
</div>
<div class="inline-flex items-center text-base font-semibold text-gray-900">
$320
</div>
</div>
</li>
<li class="py-3 sm:py-4">
<div class="flex items-center space-x-4">
<div class="flex-shrink-0">
<img class="h-8 w-8 rounded-full" src="https://demo.themesberg.com/windster/images/users/bonnie-green.png" alt="Neil image">
</div>
<div class="flex-1 min-w-0">
<p class="text-sm font-medium text-gray-900 truncate">
Bonnie Green
</p>
<p class="text-sm text-gray-500 truncate">
<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="d4b1b9b5bdb894a3bdbab0a7a0b1a6fab7bbb9">[email&#160;protected]</a>
</p>
</div>
<div class="inline-flex items-center text-base font-semibold text-gray-900">
$3467
</div>
</div>
</li>
<li class="py-3 sm:py-4">
<div class="flex items-center space-x-4">
<div class="flex-shrink-0">
<img class="h-8 w-8 rounded-full" src="https://demo.themesberg.com/windster/images/users/michael-gough.png" alt="Neil image">
</div>
<div class="flex-1 min-w-0">
<p class="text-sm font-medium text-gray-900 truncate">
Michael Gough
</p>
<p class="text-sm text-gray-500 truncate">
<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="57323a363e3b17203e3933242332257934383a">[email&#160;protected]</a>
</p>
</div>
<div class="inline-flex items-center text-base font-semibold text-gray-900">
$67
</div>
</div>
</li>
<li class="py-3 sm:py-4">
<div class="flex items-center space-x-4">
<div class="flex-shrink-0">
<img class="h-8 w-8 rounded-full" src="https://demo.themesberg.com/windster/images/users/thomas-lean.png" alt="Neil image">
</div>
<div class="flex-1 min-w-0">
<p class="text-sm font-medium text-gray-900 truncate">
Thomes Lean
</p>
<p class="text-sm text-gray-500 truncate">
<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="284d45494144685f41464c5b5c4d5a064b4745">[email&#160;protected]</a>
</p>
</div>
<div class="inline-flex items-center text-base font-semibold text-gray-900">
$2367
</div>
</div>
</li>
<li class="pt-3 sm:pt-4 pb-0">
<div class="flex items-center space-x-4">
<div class="flex-shrink-0">
<img class="h-8 w-8 rounded-full" src="https://demo.themesberg.com/windster/images/users/lana-byrd.png" alt="Neil image">
</div>
<div class="flex-1 min-w-0">
<p class="text-sm font-medium text-gray-900 truncate">
Lana Byrd
</p>
<p class="text-sm text-gray-500 truncate">
<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="a2c7cfc3cbcee2d5cbccc6d1d6c7d08cc1cdcf">[email&#160;protected]</a>
</p>
</div>
<div class="inline-flex items-center text-base font-semibold text-gray-900">
$367
</div>
</div>
</li>
</ul>
</div>
</div>
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8 ">
<h3 class="text-xl leading-none font-bold text-gray-900 mb-10">Acquisition Overview</h3>
<div class="block w-full overflow-x-auto">
<table class="items-center w-full bg-transparent border-collapse">
<thead>
<tr>
<th class="px-4 bg-gray-50 text-gray-700 align-middle py-3 text-xs font-semibold text-left uppercase border-l-0 border-r-0 whitespace-nowrap">Top Channels</th>
<th class="px-4 bg-gray-50 text-gray-700 align-middle py-3 text-xs font-semibold text-left uppercase border-l-0 border-r-0 whitespace-nowrap">Users</th>
<th class="px-4 bg-gray-50 text-gray-700 align-middle py-3 text-xs font-semibold text-left uppercase border-l-0 border-r-0 whitespace-nowrap min-w-140-px"></th>
</tr>
</thead>
<tbody class="divide-y divide-gray-100">
<tr class="text-gray-500">
<th class="border-t-0 px-4 align-middle text-sm font-normal whitespace-nowrap p-4 text-left">Organic Search</th>
<td class="border-t-0 px-4 align-middle text-xs font-medium text-gray-900 whitespace-nowrap p-4">5,649</td>
<td class="border-t-0 px-4 align-middle text-xs whitespace-nowrap p-4">
<div class="flex items-center">
<span class="mr-2 text-xs font-medium">30%</span>
<div class="relative w-full">
<div class="w-full bg-gray-200 rounded-sm h-2">
<div class="bg-cyan-600 h-2 rounded-sm" style="width: 30%"></div>
</div>
</div>
</div>
</td>
</tr>
<tr class="text-gray-500">
<th class="border-t-0 px-4 align-middle text-sm font-normal whitespace-nowrap p-4 text-left">Referral</th>
<td class="border-t-0 px-4 align-middle text-xs font-medium text-gray-900 whitespace-nowrap p-4">4,025</td>
<td class="border-t-0 px-4 align-middle text-xs whitespace-nowrap p-4">
<div class="flex items-center">
<span class="mr-2 text-xs font-medium">24%</span>
<div class="relative w-full">
<div class="w-full bg-gray-200 rounded-sm h-2">
<div class="bg-orange-300 h-2 rounded-sm" style="width: 24%"></div>
</div>
</div>
</div>
</td>
</tr>
<tr class="text-gray-500">
<th class="border-t-0 px-4 align-middle text-sm font-normal whitespace-nowrap p-4 text-left">Direct</th>
<td class="border-t-0 px-4 align-middle text-xs font-medium text-gray-900 whitespace-nowrap p-4">3,105</td>
<td class="border-t-0 px-4 align-middle text-xs whitespace-nowrap p-4">
<div class="flex items-center">
<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>
</div>
</div>
</td>
</tr>
<tr class="text-gray-500">
<th class="border-t-0 px-4 align-middle text-sm font-normal whitespace-nowrap p-4 text-left">Social</th>
<td class="border-t-0 px-4 align-middle text-xs font-medium text-gray-900 whitespace-nowrap p-4">1251</td>
<td class="border-t-0 px-4 align-middle text-xs whitespace-nowrap p-4">
<div class="flex items-center">
<span class="mr-2 text-xs font-medium">12%</span>
<div class="relative w-full">
<div class="w-full bg-gray-200 rounded-sm h-2">
<div class="bg-pink-600 h-2 rounded-sm" style="width: 12%"></div>
</div>
</div>
</div>
</td>
</tr>
<tr class="text-gray-500">
<th class="border-t-0 px-4 align-middle text-sm font-normal whitespace-nowrap p-4 text-left">Other</th>
<td class="border-t-0 px-4 align-middle text-xs font-medium text-gray-900 whitespace-nowrap p-4">734</td>
<td class="border-t-0 px-4 align-middle text-xs whitespace-nowrap p-4">
<div class="flex items-center">
<span class="mr-2 text-xs font-medium">9%</span>
<div class="relative w-full">
<div class="w-full bg-gray-200 rounded-sm h-2">
<div class="bg-indigo-600 h-2 rounded-sm" style="width: 9%"></div>
</div>
</div>
</div>
</td>
</tr>
<tr class="text-gray-500">
<th class="border-t-0 align-middle text-sm font-normal whitespace-nowrap p-4 pb-0 text-left">Email</th>
<td class="border-t-0 align-middle text-xs font-medium text-gray-900 whitespace-nowrap p-4 pb-0">456</td>
<td class="border-t-0 align-middle text-xs whitespace-nowrap p-4 pb-0">
<div class="flex items-center">
<span class="mr-2 text-xs font-medium">7%</span>
<div class="relative w-full">
<div class="w-full bg-gray-200 rounded-sm h-2">
<div class="bg-purple-500 h-2 rounded-sm" style="width: 7%"></div>
</div>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</main>
<footer class="bg-white md:flex md:items-center md:justify-between shadow rounded-lg p-4 md:p-6 xl:p-8 my-6 mx-4">
<ul class="flex items-center flex-wrap mb-6 md:mb-0">
<li><a href="#" class="text-sm font-normal text-gray-500 hover:underline mr-4 md:mr-6">Terms and conditions</a></li>
<li><a href="#" class="text-sm font-normal text-gray-500 hover:underline mr-4 md:mr-6">Privacy Policy</a></li>
<li><a href="#" class="text-sm font-normal text-gray-500 hover:underline mr-4 md:mr-6">Licensing</a></li>
<li><a href="#" class="text-sm font-normal text-gray-500 hover:underline mr-4 md:mr-6">Cookie Policy</a></li>
<li><a href="#" class="text-sm font-normal text-gray-500 hover:underline">Contact</a></li>
</ul>
<div class="flex sm:justify-center space-x-6">
<a href="#" class="text-gray-500 hover:text-gray-900">
<svg class="h-5 w-5" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true">
<path fill-rule="evenodd" d="M22 12c0-5.523-4.477-10-10-10S2 6.477 2 12c0 4.991 3.657 9.128 8.438 9.878v-6.987h-2.54V12h2.54V9.797c0-2.506 1.492-3.89 3.777-3.89 1.094 0 2.238.195 2.238.195v2.46h-1.26c-1.243 0-1.63.771-1.63 1.562V12h2.773l-.443 2.89h-2.33v6.988C18.343 21.128 22 16.991 22 12z" clip-rule="evenodd" />
</svg>
</a>
<a href="#" class="text-gray-500 hover:text-gray-900">
<svg class="h-5 w-5" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true">
<path fill-rule="evenodd" d="M12.315 2c2.43 0 2.784.013 3.808.06 1.064.049 1.791.218 2.427.465a4.902 4.902 0 011.772 1.153 4.902 4.902 0 011.153 1.772c.247.636.416 1.363.465 2.427.048 1.067.06 1.407.06 4.123v.08c0 2.643-.012 2.987-.06 4.043-.049 1.064-.218 1.791-.465 2.427a4.902 4.902 0 01-1.153 1.772 4.902 4.902 0 01-1.772 1.153c-.636.247-1.363.416-2.427.465-1.067.048-1.407.06-4.123.06h-.08c-2.643 0-2.987-.012-4.043-.06-1.064-.049-1.791-.218-2.427-.465a4.902 4.902 0 01-1.772-1.153 4.902 4.902 0 01-1.153-1.772c-.247-.636-.416-1.363-.465-2.427-.047-1.024-.06-1.379-.06-3.808v-.63c0-2.43.013-2.784.06-3.808.049-1.064.218-1.791.465-2.427a4.902 4.902 0 011.153-1.772A4.902 4.902 0 015.45 2.525c.636-.247 1.363-.416 2.427-.465C8.901 2.013 9.256 2 11.685 2h.63zm-.081 1.802h-.468c-2.456 0-2.784.011-3.807.058-.975.045-1.504.207-1.857.344-.467.182-.8.398-1.15.748-.35.35-.566.683-.748 1.15-.137.353-.3.882-.344 1.857-.047 1.023-.058 1.351-.058 3.807v.468c0 2.456.011 2.784.058 3.807.045.975.207 1.504.344 1.857.182.466.399.8.748 1.15.35.35.683.566 1.15.748.353.137.882.3 1.857.344 1.054.048 1.37.058 4.041.058h.08c2.597 0 2.917-.01 3.96-.058.976-.045 1.505-.207 1.858-.344.466-.182.8-.398 1.15-.748.35-.35.566-.683.748-1.15.137-.353.3-.882.344-1.857.048-1.055.058-1.37.058-4.041v-.08c0-2.597-.01-2.917-.058-3.96-.045-.976-.207-1.505-.344-1.858a3.097 3.097 0 00-.748-1.15 3.098 3.098 0 00-1.15-.748c-.353-.137-.882-.3-1.857-.344-1.023-.047-1.351-.058-3.807-.058zM12 6.865a5.135 5.135 0 110 10.27 5.135 5.135 0 010-10.27zm0 1.802a3.333 3.333 0 100 6.666 3.333 3.333 0 000-6.666zm5.338-3.205a1.2 1.2 0 110 2.4 1.2 1.2 0 010-2.4z" clip-rule="evenodd" />
</svg>
</a>
<a href="#" class="text-gray-500 hover:text-gray-900">
<svg class="h-5 w-5" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true">
<path d="M8.29 20.251c7.547 0 11.675-6.253 11.675-11.675 0-.178 0-.355-.012-.53A8.348 8.348 0 0022 5.92a8.19 8.19 0 01-2.357.646 4.118 4.118 0 001.804-2.27 8.224 8.224 0 01-2.605.996 4.107 4.107 0 00-6.993 3.743 11.65 11.65 0 01-8.457-4.287 4.106 4.106 0 001.27 5.477A4.072 4.072 0 012.8 9.713v.052a4.105 4.105 0 003.292 4.022 4.095 4.095 0 01-1.853.07 4.108 4.108 0 003.834 2.85A8.233 8.233 0 012 18.407a11.616 11.616 0 006.29 1.84" />
</svg>
</a>
<a href="#" class="text-gray-500 hover:text-gray-900">
<svg class="h-5 w-5" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true">
<path fill-rule="evenodd" d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z" clip-rule="evenodd" />
</svg>
</a>
<a href="#" class="text-gray-500 hover:text-gray-900">
<svg class="h-5 w-5" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true">
<path fill-rule="evenodd" d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10c5.51 0 10-4.48 10-10S17.51 2 12 2zm6.605 4.61a8.502 8.502 0 011.93 5.314c-.281-.054-3.101-.629-5.943-.271-.065-.141-.12-.293-.184-.445a25.416 25.416 0 00-.564-1.236c3.145-1.28 4.577-3.124 4.761-3.362zM12 3.475c2.17 0 4.154.813 5.662 2.148-.152.216-1.443 1.941-4.48 3.08-1.399-2.57-2.95-4.675-3.189-5A8.687 8.687 0 0112 3.475zm-3.633.803a53.896 53.896 0 013.167 4.935c-3.992 1.063-7.517 1.04-7.896 1.04a8.581 8.581 0 014.729-5.975zM3.453 12.01v-.26c.37.01 4.512.065 8.775-1.215.25.477.477.965.694 1.453-.109.033-.228.065-.336.098-4.404 1.42-6.747 5.303-6.942 5.629a8.522 8.522 0 01-2.19-5.705zM12 20.547a8.482 8.482 0 01-5.239-1.8c.152-.315 1.888-3.656 6.703-5.337.022-.01.033-.01.054-.022a35.318 35.318 0 011.823 6.475 8.4 8.4 0 01-3.341.684zm4.761-1.465c-.086-.52-.542-3.015-1.659-6.084 2.679-.423 5.022.271 5.314.369a8.468 8.468 0 01-3.655 5.715z" clip-rule="evenodd" />
</svg>
</a>
</div>
@endsection
-238
View File
@@ -1,238 +0,0 @@
<!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>{{ config('app.name', 'Laravel') }}</title>
<!-- 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">
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css" rel="stylesheet">
<style>
.sidebar {
height: 80%;
width: 0;
position: fixed;
z-index: 1;
top: 0;
left: 0;
background-color: #bdc3c7;
overflow-x: hidden;
transition: 0.5s;
padding-top: 60px;
}
.sidebar a {
padding: 8px 8px 8px 32px;
text-decoration: none;
font-size: 25px;
color: #818181;
display: block;
transition: 0.3s;
}
.sidebar a:hover {
color: #f1f1f1;
}
.sidebar .closebtn {
position: absolute;
top: 0;
right: 25px;
font-size: 36px;
margin-left: 50px;
}
@media screen and (max-height: 450px) {
.sidebar {padding-top: 15px;}
.sidebar a {font-size: 18px;}
}
#app {
transition: margin-left .5s;
/* padding: 16px; */
}
</style>
</head>
<body>
<script>
openNav = () => {
let toggle = document.getElementById("mySidebar");
let maintoggle = document.getElementById("app");
if(toggle.style.width == "" || toggle.style.width == '0px')
{
toggle.style.width = "250px";
maintoggle.style.marginLeft = "250px";
}else{
document.getElementById("mySidebar").style.width = "0";
document.getElementById("app").style.marginLeft= "0";
}
}
closeNav = () => {
document.getElementById("mySidebar").style.width = "0";
document.getElementById("app").style.marginLeft= "0";
}
</script>
<div id="app">
{{-- <nav class="navbar navbar-expand-md navbar-light bg-white shadow-sm">
<div class="container">
<a class="navbar-brand" href="{{ url('/') }}">
{{ config('app.name', 'Laravel') }}
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="{{ __('Toggle navigation') }}">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<!-- Left Side Of Navbar -->
<ul class="navbar-nav mr-auto">
</ul>
<!-- Right Side Of Navbar -->
<ul class="navbar-nav ml-auto">
<!-- Authentication Links -->
@guest
@if (Route::has('login'))
<li class="nav-item">
<a class="nav-link" href="{{ route('login') }}">{{ __('Login') }}</a>
</li>
@endif
@if (Route::has('register'))
<li class="nav-item">
<a class="nav-link" href="{{ route('register') }}">{{ __('Register') }}</a>
</li>
@endif
@else
<li class="nav-item dropdown">
<a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre>
{{ Auth::user()->name }}
</a>
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="{{ route('logout') }}"
onclick="event.preventDefault();
document.getElementById('logout-form').submit();">
{{ __('Logout') }}
</a>
<form id="logout-form" action="{{ route('logout') }}" method="POST" class="d-none">
@csrf
</form>
</div>
</li>
@endguest
</ul>
</div>
</div>
</nav> --}}
<div id="mySidebar" class="sidebar">
<a href="javascript:void(0)" class="closebtn" onclick="closeNav()">×</a>
<a href="#">About</a>
<a href="#">Services</a>
<a href="#">Clients</a>
<a href="#">Contact</a>
</div>
<nav class="bg-white border-b border-gray-200 z-30 w-full">
<div class="px-3 py-3 lg:px-5 lg:pl-3">
<div class="flex items-center justify-between">
<div class="flex items-center justify-start">
<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 focus:bg-gray-100 focus:ring-2 focus:ring-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>
<svg id="toggleSidebarMobileClose" class="w-6 h-6 hidden" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
</svg>
</button>
<a href="#" class="text-xl font-bold flex items-center lg:ml-2.5">
<img src="{{ asset('img/icon_pkb.png') }}" class="h-6 mr-2" alt="Windster Logo">
<span class="self-center whitespace-nowrap">Ar-Rahn</span>
</a>
</div>
<div class="mx-auto">
<a class="text-yellow-200 rounded bg-gray-400 px-6 py-3 font-bold mr-4">
CAWANGAN : KOTA BHARU 2
</a>
</div>
<div class="flex items-center">
@guest
@if (Route::has('login'))
{{-- <li class="nav-item">
<a class="nav-link" href="{{ route('login') }}">{{ __('Login') }}</a>
</li> --}}
<div class="hidden lg:flex items-center">
<a href="{{ route('login') }}" class="bg-transparent hover:bg-blue-500 text-blue-700 font-semibold hover:text-white py-2 px-4 border border-blue-500 hover:border-transparent rounded">
Log In
</a>
</div>
@endif
@if (Route::has('register'))
{{-- <li class="nav-item">
<a class="nav-link" href="{{ route('register') }}">{{ __('Register') }}</a>
</li> --}}
<div class="hidden lg:flex items-center ml-2">
<a href="{{ route('register') }}" class="bg-transparent hover:bg-blue-500 text-blue-700 font-semibold hover:text-white py-2 px-4 border border-blue-500 hover:border-transparent rounded">
Register
</a>
</div>
@endif
@else
<a class="text-blue-600 font-bold mr-4">
{{ Auth::user()->name }}
</a>
{{-- <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="{{ route('logout') }}"
onclick="event.preventDefault();
document.getElementById('logout-form').submit();">
{{ __('Logout') }}
</a> --}}
<div class="hidden lg:flex items-center">
<button onclick="event.preventDefault();
document.getElementById('logout-form').submit();" class="bg-transparent hover:bg-blue-500 text-blue-700 font-semibold hover:text-white py-2 px-4 border border-blue-500 hover:border-transparent rounded">
Log out
</button>
</div>
<form id="logout-form" action="{{ route('logout') }}" method="POST" class="d-none">
@csrf
</form>
@endguest
</div>
</div>
</div>
</nav>
<main class="py-4 bg-gray-200">
@yield('content')
</main>
</div>
</body>
</html>
+3 -29
View File
@@ -122,20 +122,8 @@
</div>
@auth
{{-- <a href="#" class="text-xl font-bold flex items-center lg:ml-2.5">
<img src="{{ asset('img/icon_pkb.png') }}" class="h-6 mr-2" alt="Windster Logo">
<span class="self-center whitespace-nowrap">Ar-Rahn</span>
</a> --}}
<clock-component></clock-component>
{{-- <clock-component></clock-component> --}}
{{-- <div class="mx-auto">
<a class="text-yellow-200 rounded bg-gray-400 px-6 py-3 font-bold mr-4">
CAWANGAN : {{ Auth::user()->cawangan }}
</a>
</div> --}}
{{-- <cawangan v-bind:cawangan="{!! Auth::user()->cawangan !!}"></cawangan> --}}
<cawangan-component status={{ Auth::user()->cawangan }} roles={{ Auth::user()->roles }}></cawangan-component>
<cawangan-component status={{ Auth::user()->cawangan }} roles={{ Auth::user()->roles }} route={{ (Route::is('home') || Route::is('akaun.home')) ? 'ada' : 'tiada' }}></cawangan-component>
@endauth
<div class="flex items-center">
@@ -157,24 +145,10 @@
</div>
@endif
@else
{{-- <a class="text-gray-900 font-bold mr-4 md:invisible xl:visible">
{{ Auth::user()->name }}
</a> --}}
<div class="hidden lg:flex items-center">
<button onclick="event.preventDefault();
document.getElementById('logout-form').submit();" class="bg-transparent hover:bg-blue-500 text-blue-700 font-semibold hover:text-white py-2 px-4 border border-blue-500 hover:border-transparent rounded md:invisible xl:visible">
Log out
</button>
<button onclick="event.preventDefault();
document.getElementById('logout-form').submit();" class="bg-transparent hover:bg-blue-500 text-blue-700 font-semibold hover:text-white py-2 px-4 border border-blue-500 hover:border-transparent rounded md:visible xl:invisible">
<i class= "fas fa-sign-out-alt"></i>
</button>
</div>
<logout-component csrftoken="{{ csrf_token() }}" :route={{ json_encode(route('logout')) }}></logout-component>
<form id="logout-form" action="{{ route('logout') }}" method="POST" class="d-none">
@csrf
</form>
@endguest
</div>
</div>