fix skit2
This commit is contained in:
@@ -7,6 +7,9 @@ use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Http;
|
||||
use Carbon\Carbon;
|
||||
|
||||
use PDF;
|
||||
use Maatwebsite\Excel\Excel;
|
||||
|
||||
use App\Models\Lejeram;
|
||||
|
||||
|
||||
@@ -109,11 +112,23 @@ class AkaunController extends Controller
|
||||
$totalsamakredit += floatval($lejer['kredit']);
|
||||
}
|
||||
|
||||
if(isset($request->jenis))
|
||||
{
|
||||
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');
|
||||
}else{
|
||||
return view('akaun.laporan_lejer_am',compact('cawangan','tarikh_cetak','cawangan_info', 'api_url','cawangan_detail','tarikh_akhir','tarikh_mula','lejeram','totalsamadebit','totalsamakredit'));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function cetakimbangduga(Request $request)
|
||||
{
|
||||
|
||||
// dd($request->all());
|
||||
$auth_user = Auth::user();
|
||||
$api_url = config('api.url');
|
||||
|
||||
@@ -125,24 +140,16 @@ class AkaunController extends Controller
|
||||
$tarikh_imbangan= $current->toDateString();
|
||||
$tarikh_imbangan2= $current->toDateString();
|
||||
|
||||
|
||||
$tarikh_cetak = $current->toDateString();
|
||||
|
||||
|
||||
if($request->datetimepicker1 == null){
|
||||
$tarikh_cetak = $current->toDateString();
|
||||
}else
|
||||
{
|
||||
$split_date = explode('-',$request->datetimepicker1);
|
||||
$tarikh_imbangan = $split_date[2] . '-' . $split_date[1] . '-' . $split_date[0];
|
||||
}
|
||||
|
||||
|
||||
$tarikh_cetak = $current->toDateString();
|
||||
|
||||
|
||||
if($request->datetimepicker2 == null){
|
||||
$tarikh_cetak = $current->toDateString();
|
||||
}else
|
||||
{
|
||||
$split_date = explode('-',$request->datetimepicker2);
|
||||
$tarikh_imbangan2 = $split_date[2] . '-' . $split_date[1] . '-' . $split_date[0];
|
||||
$tarikh_imbangan2 = $request->datetimepicker1;
|
||||
}
|
||||
|
||||
|
||||
@@ -150,9 +157,6 @@ class AkaunController extends Controller
|
||||
$cawangan=Http::get(config('api.url').'/api/cawangan/detail/'.$auth_user['cawangan'])->json();
|
||||
$cawangan_detail=$cawangan[0];
|
||||
|
||||
// $hartasemasa = Http::get(config('api.url').'/api/getGlCode/' . $auth_user['cawangan'] . '/acttype/A/')->json();
|
||||
// $tanggungansemasa = Http::get(config('api.url').'/api/getGlCode/' . $auth_user['cawangan'] . '/acttype/L/')->json();
|
||||
|
||||
//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();
|
||||
@@ -271,9 +275,19 @@ class AkaunController extends Controller
|
||||
$totaluntungrugi = 0;
|
||||
$totaluntungrugi = $totaltanggungansemasa + $untungrugi;
|
||||
|
||||
|
||||
if(isset($request->jenis))
|
||||
{
|
||||
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');
|
||||
}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'));
|
||||
}
|
||||
}
|
||||
|
||||
// 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'));
|
||||
}
|
||||
|
||||
public function cetakLaporanGadai(Request $request){
|
||||
// dd($request);
|
||||
@@ -286,14 +300,25 @@ class AkaunController extends Controller
|
||||
$gadai_date = $current->toDateString();
|
||||
}else{
|
||||
$split_date = explode('-',$request->datetarikh);
|
||||
$gadai_date = $split_date[2] . '-' . $split_date[1] . '-' . $split_date[0];
|
||||
// $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();
|
||||
$cawangan_detail=$cawangan[0];
|
||||
|
||||
if(isset($request->jenis))
|
||||
{
|
||||
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');
|
||||
}else{
|
||||
return view('akaun.laporan_gadaian', compact('gadai','cawangan_detail','tarikh_cetak','gadai_date','api_url'));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function cetakLaporanPenebusan(Request $request){
|
||||
// dd($request);
|
||||
@@ -306,7 +331,8 @@ class AkaunController extends Controller
|
||||
$tebus_date = $current->toDateString();
|
||||
}else{
|
||||
$split_date = explode('-',$request->datetarikh);
|
||||
$tebus_date = $split_date[2] . '-' . $split_date[1] . '-' . $split_date[0];
|
||||
// $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();
|
||||
@@ -315,9 +341,18 @@ class AkaunController extends Controller
|
||||
|
||||
$cawangan=Http::get(config('api.url').'/api/cawangan/detail/'.$auth_user['cawangan'])->json();
|
||||
$cawangan_detail=$cawangan[0];
|
||||
// dd($gadai);
|
||||
|
||||
if(isset($request->jenis))
|
||||
{
|
||||
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');
|
||||
}else{
|
||||
return view('akaun.laporan_penebusan', compact('tebus','cawangan_detail','tarikh_cetak','tebus_date','tebuspengasingan','ansuran','api_url','upahlama'));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function cetakLaporanAnsuran(Request $request){
|
||||
// dd($request);
|
||||
@@ -330,14 +365,68 @@ class AkaunController extends Controller
|
||||
$tebus_date = $current->toDateString();
|
||||
}else{
|
||||
$split_date = explode('-',$request->datetimepicker1);
|
||||
$tebus_date = $split_date[2] . '-' . $split_date[1] . '-' . $split_date[0];
|
||||
// $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();
|
||||
$cawangan_detail=$cawangan[0];
|
||||
// dd($gadai);
|
||||
|
||||
if(isset($request->jenis))
|
||||
{
|
||||
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');
|
||||
}else{
|
||||
return view('akaun.laporan_ansuran', compact('tebus','cawangan_detail','tarikh_cetak','tebus_date','api_url'));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
public function cetaklaporan_Upah(Request $request)
|
||||
{
|
||||
$api_url = config('api.url');
|
||||
$auth_user = Auth::user();
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
$tarikh_cetak = $current->toDateString();
|
||||
|
||||
if($request->datemula == null){
|
||||
$mula_date = '2017-01-01';
|
||||
}else{
|
||||
$split_date = explode('-', $request->datemula);
|
||||
// $mula_date = $split_date[2] . '-' . $split_date[1] . '-' . $split_date[0];
|
||||
$mula_date = $request->datemula;
|
||||
}
|
||||
|
||||
if($request->datehingga == null){
|
||||
$hingga_date = $current->toDateString();
|
||||
}else{
|
||||
$split_date = explode('-', $request->datehingga);
|
||||
// $hingga_date = $split_date[2] . '-' . $split_date[1] . '-' . $split_date[0];
|
||||
$hingga_date = $request->datehingga;
|
||||
}
|
||||
|
||||
$advansur = Http::get(config('api.url'). '/api/AnsuranByRangeTarikh/' . $auth_user['cawangan'],['mula' => $mula_date,'akhir' => $hingga_date])->json();
|
||||
|
||||
$cawangan = Http::get(config('api.url').'/api/cawangan/detail/'.$auth_user['cawangan'])->json();
|
||||
$cawangan_detail=$cawangan[0];
|
||||
|
||||
if(isset($request->jenis))
|
||||
{
|
||||
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');
|
||||
}else{
|
||||
return view('akaun.laporan_upah', compact('advansur','cawangan_detail','tarikh_cetak','mula_date','hingga_date','api_url'));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function cetakLaporanPetiBesi(Request $request){
|
||||
// dd($request);
|
||||
@@ -379,14 +468,16 @@ class AkaunController extends Controller
|
||||
$mula_date = '2017-01-01';
|
||||
}else{
|
||||
$split_date = explode('-', $request->datemula);
|
||||
$mula_date = $split_date[2] . '-' . $split_date[1] . '-' . $split_date[0];
|
||||
// $mula_date = $split_date[2] . '-' . $split_date[1] . '-' . $split_date[0];
|
||||
$mula_date = $request->datemula;
|
||||
}
|
||||
|
||||
if($request->datehingga == null){
|
||||
$hingga_date = $current->toDateString();
|
||||
}else{
|
||||
$split_date = explode('-', $request->datehingga);
|
||||
$hingga_date = $split_date[2] . '-' . $split_date[1] . '-' . $split_date[0];
|
||||
// $hingga_date = $split_date[2] . '-' . $split_date[1] . '-' . $split_date[0];
|
||||
$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();
|
||||
@@ -394,7 +485,18 @@ class AkaunController extends Controller
|
||||
$cawangan = Http::get(config('api.url').'/api/cawangan/detail/'.$auth_user['cawangan'])->json();
|
||||
$cawangan_detail=$cawangan[0];
|
||||
|
||||
if(isset($request->jenis))
|
||||
{
|
||||
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');
|
||||
}else{
|
||||
return view('akaun.laporan_pendahuluanserahan', compact('pendser','cawangan_detail','tarikh_cetak','mula_date','hingga_date','api_url'));
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function cetaklaporan_tuntutbaki(Request $request){
|
||||
@@ -409,7 +511,8 @@ class AkaunController extends Controller
|
||||
$gadai_date = $current->toDateString();
|
||||
}else{
|
||||
$split_date = explode('-',$request->datetimepicker1);
|
||||
$gadai_date = $split_date[2] . '-' . $split_date[1] . '-' . $split_date[0];
|
||||
// $gadai_date = $split_date[2] . '-' . $split_date[1] . '-' . $split_date[0];
|
||||
$gadai_date = $request->datetimepicker1;
|
||||
}
|
||||
|
||||
$tuntutbaki = Http::get(config('api.url'). '/api/TuntutBakiTarikh/'. $auth_user['cawangan'] ,['tarikh' => $gadai_date])->json();
|
||||
@@ -417,6 +520,16 @@ class AkaunController extends Controller
|
||||
$cawangan=Http::get(config('api.url').'/api/cawangan/detail/'.$auth_user['cawangan'])->json();
|
||||
$cawangan_detail=$cawangan[0];
|
||||
|
||||
if(isset($request->jenis))
|
||||
{
|
||||
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');
|
||||
}else{
|
||||
return view('akaun.laporan_tuntutbaki', compact('tuntutbaki','cawangan_detail','tarikh_cetak','gadai_date','api_url'));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,4 +35,17 @@ class PelangganController extends Controller
|
||||
|
||||
return view('pelanggan.detailspelanggan',compact('api_url','cawangan_info','auth_user','customer_info'));
|
||||
}
|
||||
|
||||
public function DetailsBlacklist()
|
||||
{
|
||||
$api_url = config('api.url');
|
||||
$auth_user = Auth::user();
|
||||
|
||||
$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_detail=$cawangan[0];
|
||||
|
||||
|
||||
return view('pelanggan.blacklist',compact('api_url','cawangan_info','auth_user'));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,12 +6,14 @@
|
||||
"license": "MIT",
|
||||
"require": {
|
||||
"php": "^7.3|^8.0",
|
||||
"barryvdh/laravel-dompdf": "^0.9.0",
|
||||
"fruitcake/laravel-cors": "^2.0",
|
||||
"guzzlehttp/guzzle": "^7.0.1",
|
||||
"laravel/framework": "^8.65",
|
||||
"laravel/sanctum": "^2.11",
|
||||
"laravel/tinker": "^2.5",
|
||||
"laravel/ui": "^3.3",
|
||||
"maatwebsite/excel": "^3.1",
|
||||
"tightenco/ziggy": "^1.4"
|
||||
},
|
||||
"require-dev": {
|
||||
|
||||
Generated
+747
-1
@@ -4,7 +4,7 @@
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "a4cb9fb7347683123d0da4b9a7a190d5",
|
||||
"content-hash": "8f062442a1e4f47fe0973ab4e461adaa",
|
||||
"packages": [
|
||||
{
|
||||
"name": "asm89/stack-cors",
|
||||
@@ -62,6 +62,72 @@
|
||||
},
|
||||
"time": "2021-03-11T06:42:03+00:00"
|
||||
},
|
||||
{
|
||||
"name": "barryvdh/laravel-dompdf",
|
||||
"version": "v0.9.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/barryvdh/laravel-dompdf.git",
|
||||
"reference": "5b99e1f94157d74e450f4c97e8444fcaffa2144b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/barryvdh/laravel-dompdf/zipball/5b99e1f94157d74e450f4c97e8444fcaffa2144b",
|
||||
"reference": "5b99e1f94157d74e450f4c97e8444fcaffa2144b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"dompdf/dompdf": "^1",
|
||||
"illuminate/support": "^5.5|^6|^7|^8",
|
||||
"php": "^7.1 || ^8.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "0.9-dev"
|
||||
},
|
||||
"laravel": {
|
||||
"providers": [
|
||||
"Barryvdh\\DomPDF\\ServiceProvider"
|
||||
],
|
||||
"aliases": {
|
||||
"PDF": "Barryvdh\\DomPDF\\Facade"
|
||||
}
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Barryvdh\\DomPDF\\": "src"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Barry vd. Heuvel",
|
||||
"email": "barryvdh@gmail.com"
|
||||
}
|
||||
],
|
||||
"description": "A DOMPDF Wrapper for Laravel",
|
||||
"keywords": [
|
||||
"dompdf",
|
||||
"laravel",
|
||||
"pdf"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/barryvdh/laravel-dompdf/issues",
|
||||
"source": "https://github.com/barryvdh/laravel-dompdf/tree/v0.9.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://github.com/barryvdh",
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2020-12-27T12:05:53+00:00"
|
||||
},
|
||||
{
|
||||
"name": "brick/math",
|
||||
"version": "0.9.3",
|
||||
@@ -368,6 +434,73 @@
|
||||
],
|
||||
"time": "2020-05-25T17:44:05+00:00"
|
||||
},
|
||||
{
|
||||
"name": "dompdf/dompdf",
|
||||
"version": "v1.1.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/dompdf/dompdf.git",
|
||||
"reference": "de4aad040737a89fae2129cdeb0f79c45513128d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/dompdf/dompdf/zipball/de4aad040737a89fae2129cdeb0f79c45513128d",
|
||||
"reference": "de4aad040737a89fae2129cdeb0f79c45513128d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-dom": "*",
|
||||
"ext-mbstring": "*",
|
||||
"phenx/php-font-lib": "^0.5.2",
|
||||
"phenx/php-svg-lib": "^0.3.3",
|
||||
"php": "^7.1 || ^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"mockery/mockery": "^1.3",
|
||||
"phpunit/phpunit": "^7.5 || ^8 || ^9",
|
||||
"squizlabs/php_codesniffer": "^3.5"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-gd": "Needed to process images",
|
||||
"ext-gmagick": "Improves image processing performance",
|
||||
"ext-imagick": "Improves image processing performance",
|
||||
"ext-zlib": "Needed for pdf stream compression"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Dompdf\\": "src/"
|
||||
},
|
||||
"classmap": [
|
||||
"lib/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"LGPL-2.1"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Fabien Ménager",
|
||||
"email": "fabien.menager@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "Brian Sweeney",
|
||||
"email": "eclecticgeek@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "Gabriel Bull",
|
||||
"email": "me@gabrielbull.com"
|
||||
}
|
||||
],
|
||||
"description": "DOMPDF is a CSS 2.1 compliant HTML to PDF converter",
|
||||
"homepage": "https://github.com/dompdf/dompdf",
|
||||
"support": {
|
||||
"issues": "https://github.com/dompdf/dompdf/issues",
|
||||
"source": "https://github.com/dompdf/dompdf/tree/v1.1.1"
|
||||
},
|
||||
"time": "2021-11-24T00:45:04+00:00"
|
||||
},
|
||||
{
|
||||
"name": "dragonmantank/cron-expression",
|
||||
"version": "v3.1.0",
|
||||
@@ -497,6 +630,57 @@
|
||||
],
|
||||
"time": "2020-12-29T14:50:06+00:00"
|
||||
},
|
||||
{
|
||||
"name": "ezyang/htmlpurifier",
|
||||
"version": "v4.14.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/ezyang/htmlpurifier.git",
|
||||
"reference": "12ab42bd6e742c70c0a52f7b82477fcd44e64b75"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/12ab42bd6e742c70c0a52f7b82477fcd44e64b75",
|
||||
"reference": "12ab42bd6e742c70c0a52f7b82477fcd44e64b75",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.2"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-0": {
|
||||
"HTMLPurifier": "library/"
|
||||
},
|
||||
"files": [
|
||||
"library/HTMLPurifier.composer.php"
|
||||
],
|
||||
"exclude-from-classmap": [
|
||||
"/library/HTMLPurifier/Language/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"LGPL-2.1-or-later"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Edward Z. Yang",
|
||||
"email": "admin@htmlpurifier.org",
|
||||
"homepage": "http://ezyang.com"
|
||||
}
|
||||
],
|
||||
"description": "Standards compliant HTML filter written in PHP",
|
||||
"homepage": "http://htmlpurifier.org/",
|
||||
"keywords": [
|
||||
"html"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/ezyang/htmlpurifier/issues",
|
||||
"source": "https://github.com/ezyang/htmlpurifier/tree/v4.14.0"
|
||||
},
|
||||
"time": "2021-12-25T01:21:49+00:00"
|
||||
},
|
||||
{
|
||||
"name": "fruitcake/laravel-cors",
|
||||
"version": "v2.0.4",
|
||||
@@ -1723,6 +1907,262 @@
|
||||
],
|
||||
"time": "2021-11-21T11:48:40+00:00"
|
||||
},
|
||||
{
|
||||
"name": "maatwebsite/excel",
|
||||
"version": "3.1.34",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/SpartnerNL/Laravel-Excel.git",
|
||||
"reference": "d7446f0e808d83be128835c4b403c9e4a65b20f3"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/SpartnerNL/Laravel-Excel/zipball/d7446f0e808d83be128835c4b403c9e4a65b20f3",
|
||||
"reference": "d7446f0e808d83be128835c4b403c9e4a65b20f3",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-json": "*",
|
||||
"illuminate/support": "5.8.*|^6.0|^7.0|^8.0",
|
||||
"php": "^7.0|^8.0",
|
||||
"phpoffice/phpspreadsheet": "^1.18"
|
||||
},
|
||||
"require-dev": {
|
||||
"orchestra/testbench": "^6.0",
|
||||
"predis/predis": "^1.1"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"laravel": {
|
||||
"providers": [
|
||||
"Maatwebsite\\Excel\\ExcelServiceProvider"
|
||||
],
|
||||
"aliases": {
|
||||
"Excel": "Maatwebsite\\Excel\\Facades\\Excel"
|
||||
}
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Maatwebsite\\Excel\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Patrick Brouwers",
|
||||
"email": "patrick@spartner.nl"
|
||||
}
|
||||
],
|
||||
"description": "Supercharged Excel exports and imports in Laravel",
|
||||
"keywords": [
|
||||
"PHPExcel",
|
||||
"batch",
|
||||
"csv",
|
||||
"excel",
|
||||
"export",
|
||||
"import",
|
||||
"laravel",
|
||||
"php",
|
||||
"phpspreadsheet"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/SpartnerNL/Laravel-Excel/issues",
|
||||
"source": "https://github.com/SpartnerNL/Laravel-Excel/tree/3.1.34"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://laravel-excel.com/commercial-support",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/patrickbrouwers",
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2021-12-02T16:17:16+00:00"
|
||||
},
|
||||
{
|
||||
"name": "maennchen/zipstream-php",
|
||||
"version": "2.1.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/maennchen/ZipStream-PHP.git",
|
||||
"reference": "c4c5803cc1f93df3d2448478ef79394a5981cc58"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/maennchen/ZipStream-PHP/zipball/c4c5803cc1f93df3d2448478ef79394a5981cc58",
|
||||
"reference": "c4c5803cc1f93df3d2448478ef79394a5981cc58",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"myclabs/php-enum": "^1.5",
|
||||
"php": ">= 7.1",
|
||||
"psr/http-message": "^1.0",
|
||||
"symfony/polyfill-mbstring": "^1.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"ext-zip": "*",
|
||||
"guzzlehttp/guzzle": ">= 6.3",
|
||||
"mikey179/vfsstream": "^1.6",
|
||||
"phpunit/phpunit": ">= 7.5"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"ZipStream\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Paul Duncan",
|
||||
"email": "pabs@pablotron.org"
|
||||
},
|
||||
{
|
||||
"name": "Jonatan Männchen",
|
||||
"email": "jonatan@maennchen.ch"
|
||||
},
|
||||
{
|
||||
"name": "Jesse Donat",
|
||||
"email": "donatj@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "András Kolesár",
|
||||
"email": "kolesar@kolesar.hu"
|
||||
}
|
||||
],
|
||||
"description": "ZipStream is a library for dynamically streaming dynamic zip files from PHP without writing to the disk at all on the server.",
|
||||
"keywords": [
|
||||
"stream",
|
||||
"zip"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/maennchen/ZipStream-PHP/issues",
|
||||
"source": "https://github.com/maennchen/ZipStream-PHP/tree/master"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://opencollective.com/zipstream",
|
||||
"type": "open_collective"
|
||||
}
|
||||
],
|
||||
"time": "2020-05-30T13:11:16+00:00"
|
||||
},
|
||||
{
|
||||
"name": "markbaker/complex",
|
||||
"version": "3.0.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/MarkBaker/PHPComplex.git",
|
||||
"reference": "ab8bc271e404909db09ff2d5ffa1e538085c0f22"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/MarkBaker/PHPComplex/zipball/ab8bc271e404909db09ff2d5ffa1e538085c0f22",
|
||||
"reference": "ab8bc271e404909db09ff2d5ffa1e538085c0f22",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.2 || ^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
|
||||
"phpcompatibility/php-compatibility": "^9.0",
|
||||
"phpunit/phpunit": "^7.0 || ^8.0 || ^9.3",
|
||||
"squizlabs/php_codesniffer": "^3.4"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Complex\\": "classes/src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Mark Baker",
|
||||
"email": "mark@lange.demon.co.uk"
|
||||
}
|
||||
],
|
||||
"description": "PHP Class for working with complex numbers",
|
||||
"homepage": "https://github.com/MarkBaker/PHPComplex",
|
||||
"keywords": [
|
||||
"complex",
|
||||
"mathematics"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/MarkBaker/PHPComplex/issues",
|
||||
"source": "https://github.com/MarkBaker/PHPComplex/tree/3.0.1"
|
||||
},
|
||||
"time": "2021-06-29T15:32:53+00:00"
|
||||
},
|
||||
{
|
||||
"name": "markbaker/matrix",
|
||||
"version": "3.0.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/MarkBaker/PHPMatrix.git",
|
||||
"reference": "c66aefcafb4f6c269510e9ac46b82619a904c576"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/MarkBaker/PHPMatrix/zipball/c66aefcafb4f6c269510e9ac46b82619a904c576",
|
||||
"reference": "c66aefcafb4f6c269510e9ac46b82619a904c576",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.1 || ^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
|
||||
"phpcompatibility/php-compatibility": "^9.0",
|
||||
"phpdocumentor/phpdocumentor": "2.*",
|
||||
"phploc/phploc": "^4.0",
|
||||
"phpmd/phpmd": "2.*",
|
||||
"phpunit/phpunit": "^7.0 || ^8.0 || ^9.3",
|
||||
"sebastian/phpcpd": "^4.0",
|
||||
"squizlabs/php_codesniffer": "^3.4"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Matrix\\": "classes/src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Mark Baker",
|
||||
"email": "mark@demon-angel.eu"
|
||||
}
|
||||
],
|
||||
"description": "PHP Class for working with matrices",
|
||||
"homepage": "https://github.com/MarkBaker/PHPMatrix",
|
||||
"keywords": [
|
||||
"mathematics",
|
||||
"matrix",
|
||||
"vector"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/MarkBaker/PHPMatrix/issues",
|
||||
"source": "https://github.com/MarkBaker/PHPMatrix/tree/3.0.0"
|
||||
},
|
||||
"time": "2021-07-01T19:01:15+00:00"
|
||||
},
|
||||
{
|
||||
"name": "monolog/monolog",
|
||||
"version": "2.3.5",
|
||||
@@ -1822,6 +2262,66 @@
|
||||
],
|
||||
"time": "2021-10-01T21:08:31+00:00"
|
||||
},
|
||||
{
|
||||
"name": "myclabs/php-enum",
|
||||
"version": "1.8.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/myclabs/php-enum.git",
|
||||
"reference": "b942d263c641ddb5190929ff840c68f78713e937"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/myclabs/php-enum/zipball/b942d263c641ddb5190929ff840c68f78713e937",
|
||||
"reference": "b942d263c641ddb5190929ff840c68f78713e937",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-json": "*",
|
||||
"php": "^7.3 || ^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^9.5",
|
||||
"squizlabs/php_codesniffer": "1.*",
|
||||
"vimeo/psalm": "^4.6.2"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"MyCLabs\\Enum\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "PHP Enum contributors",
|
||||
"homepage": "https://github.com/myclabs/php-enum/graphs/contributors"
|
||||
}
|
||||
],
|
||||
"description": "PHP Enum implementation",
|
||||
"homepage": "http://github.com/myclabs/php-enum",
|
||||
"keywords": [
|
||||
"enum"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/myclabs/php-enum/issues",
|
||||
"source": "https://github.com/myclabs/php-enum/tree/1.8.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://github.com/mnapoli",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/myclabs/php-enum",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2021-07-05T08:18:36+00:00"
|
||||
},
|
||||
{
|
||||
"name": "nesbot/carbon",
|
||||
"version": "2.54.0",
|
||||
@@ -2185,6 +2685,199 @@
|
||||
},
|
||||
"time": "2021-04-09T13:42:10+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phenx/php-font-lib",
|
||||
"version": "0.5.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/dompdf/php-font-lib.git",
|
||||
"reference": "dd448ad1ce34c63d09baccd05415e361300c35b4"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/dompdf/php-font-lib/zipball/dd448ad1ce34c63d09baccd05415e361300c35b4",
|
||||
"reference": "dd448ad1ce34c63d09baccd05415e361300c35b4",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-mbstring": "*"
|
||||
},
|
||||
"require-dev": {
|
||||
"symfony/phpunit-bridge": "^3 || ^4 || ^5"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"FontLib\\": "src/FontLib"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"LGPL-3.0"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Fabien Ménager",
|
||||
"email": "fabien.menager@gmail.com"
|
||||
}
|
||||
],
|
||||
"description": "A library to read, parse, export and make subsets of different types of font files.",
|
||||
"homepage": "https://github.com/PhenX/php-font-lib",
|
||||
"support": {
|
||||
"issues": "https://github.com/dompdf/php-font-lib/issues",
|
||||
"source": "https://github.com/dompdf/php-font-lib/tree/0.5.4"
|
||||
},
|
||||
"time": "2021-12-17T19:44:54+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phenx/php-svg-lib",
|
||||
"version": "0.3.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/PhenX/php-svg-lib.git",
|
||||
"reference": "f627771eb854aa7f45f80add0f23c6c4d67ea0f2"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/PhenX/php-svg-lib/zipball/f627771eb854aa7f45f80add0f23c6c4d67ea0f2",
|
||||
"reference": "f627771eb854aa7f45f80add0f23c6c4d67ea0f2",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.4 || ^8.0",
|
||||
"sabberworm/php-css-parser": "^8.3"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^9.5"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Svg\\": "src/Svg"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"LGPL-3.0"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Fabien Ménager",
|
||||
"email": "fabien.menager@gmail.com"
|
||||
}
|
||||
],
|
||||
"description": "A library to read, parse and export to PDF SVG files.",
|
||||
"homepage": "https://github.com/PhenX/php-svg-lib",
|
||||
"support": {
|
||||
"issues": "https://github.com/PhenX/php-svg-lib/issues",
|
||||
"source": "https://github.com/PhenX/php-svg-lib/tree/0.3.4"
|
||||
},
|
||||
"time": "2021-10-18T02:13:32+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpoffice/phpspreadsheet",
|
||||
"version": "1.20.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/PHPOffice/PhpSpreadsheet.git",
|
||||
"reference": "44436f270bb134b4a94670f3d020a85dfa0a3c02"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/44436f270bb134b4a94670f3d020a85dfa0a3c02",
|
||||
"reference": "44436f270bb134b4a94670f3d020a85dfa0a3c02",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-ctype": "*",
|
||||
"ext-dom": "*",
|
||||
"ext-fileinfo": "*",
|
||||
"ext-gd": "*",
|
||||
"ext-iconv": "*",
|
||||
"ext-libxml": "*",
|
||||
"ext-mbstring": "*",
|
||||
"ext-simplexml": "*",
|
||||
"ext-xml": "*",
|
||||
"ext-xmlreader": "*",
|
||||
"ext-xmlwriter": "*",
|
||||
"ext-zip": "*",
|
||||
"ext-zlib": "*",
|
||||
"ezyang/htmlpurifier": "^4.13",
|
||||
"maennchen/zipstream-php": "^2.1",
|
||||
"markbaker/complex": "^3.0",
|
||||
"markbaker/matrix": "^3.0",
|
||||
"php": "^7.3 || ^8.0",
|
||||
"psr/http-client": "^1.0",
|
||||
"psr/http-factory": "^1.0",
|
||||
"psr/simple-cache": "^1.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"dealerdirect/phpcodesniffer-composer-installer": "dev-master",
|
||||
"dompdf/dompdf": "^1.0",
|
||||
"friendsofphp/php-cs-fixer": "^3.2",
|
||||
"jpgraph/jpgraph": "^4.0",
|
||||
"mpdf/mpdf": "^8.0",
|
||||
"phpcompatibility/php-compatibility": "^9.3",
|
||||
"phpstan/phpstan": "^1.1",
|
||||
"phpstan/phpstan-phpunit": "^1.0",
|
||||
"phpunit/phpunit": "^8.5 || ^9.0",
|
||||
"squizlabs/php_codesniffer": "^3.6",
|
||||
"tecnickcom/tcpdf": "^6.4"
|
||||
},
|
||||
"suggest": {
|
||||
"dompdf/dompdf": "Option for rendering PDF with PDF Writer (doesn't yet support PHP8)",
|
||||
"jpgraph/jpgraph": "Option for rendering charts, or including charts with PDF or HTML Writers",
|
||||
"mpdf/mpdf": "Option for rendering PDF with PDF Writer",
|
||||
"tecnickcom/tcpdf": "Option for rendering PDF with PDF Writer (doesn't yet support PHP8)"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"PhpOffice\\PhpSpreadsheet\\": "src/PhpSpreadsheet"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Maarten Balliauw",
|
||||
"homepage": "https://blog.maartenballiauw.be"
|
||||
},
|
||||
{
|
||||
"name": "Mark Baker",
|
||||
"homepage": "https://markbakeruk.net"
|
||||
},
|
||||
{
|
||||
"name": "Franck Lefevre",
|
||||
"homepage": "https://rootslabs.net"
|
||||
},
|
||||
{
|
||||
"name": "Erik Tilt"
|
||||
},
|
||||
{
|
||||
"name": "Adrien Crivelli"
|
||||
}
|
||||
],
|
||||
"description": "PHPSpreadsheet - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine",
|
||||
"homepage": "https://github.com/PHPOffice/PhpSpreadsheet",
|
||||
"keywords": [
|
||||
"OpenXML",
|
||||
"excel",
|
||||
"gnumeric",
|
||||
"ods",
|
||||
"php",
|
||||
"spreadsheet",
|
||||
"xls",
|
||||
"xlsx"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/PHPOffice/PhpSpreadsheet/issues",
|
||||
"source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/1.20.0"
|
||||
},
|
||||
"time": "2021-11-23T15:23:42+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpoption/phpoption",
|
||||
"version": "1.8.0",
|
||||
@@ -2909,6 +3602,59 @@
|
||||
],
|
||||
"time": "2021-09-25T23:10:38+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sabberworm/php-css-parser",
|
||||
"version": "8.4.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sabberworm/PHP-CSS-Parser.git",
|
||||
"reference": "e41d2140031d533348b2192a83f02d8dd8a71d30"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sabberworm/PHP-CSS-Parser/zipball/e41d2140031d533348b2192a83f02d8dd8a71d30",
|
||||
"reference": "e41d2140031d533348b2192a83f02d8dd8a71d30",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-iconv": "*",
|
||||
"php": ">=5.6.20"
|
||||
},
|
||||
"require-dev": {
|
||||
"codacy/coverage": "^1.4",
|
||||
"phpunit/phpunit": "^4.8.36"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-mbstring": "for parsing UTF-8 CSS"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Sabberworm\\CSS\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Raphael Schweikert"
|
||||
}
|
||||
],
|
||||
"description": "Parser for CSS Files written in PHP",
|
||||
"homepage": "https://www.sabberworm.com/blog/2010/6/10/php-css-parser",
|
||||
"keywords": [
|
||||
"css",
|
||||
"parser",
|
||||
"stylesheet"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/sabberworm/PHP-CSS-Parser/issues",
|
||||
"source": "https://github.com/sabberworm/PHP-CSS-Parser/tree/8.4.0"
|
||||
},
|
||||
"time": "2021-12-11T13:40:54+00:00"
|
||||
},
|
||||
{
|
||||
"name": "swiftmailer/swiftmailer",
|
||||
"version": "v6.3.0",
|
||||
|
||||
@@ -166,6 +166,8 @@ return [
|
||||
* Package Service Providers...
|
||||
*/
|
||||
|
||||
Barryvdh\DomPDF\ServiceProvider::class,
|
||||
|
||||
/*
|
||||
* Application Service Providers...
|
||||
*/
|
||||
|
||||
@@ -0,0 +1,244 @@
|
||||
<?php
|
||||
|
||||
return array(
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Settings
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Set some default values. It is possible to add all defines that can be set
|
||||
| in dompdf_config.inc.php. You can also override the entire config file.
|
||||
|
|
||||
*/
|
||||
'show_warnings' => false, // Throw an Exception on warnings from dompdf
|
||||
'orientation' => 'portrait',
|
||||
'defines' => array(
|
||||
/**
|
||||
* The location of the DOMPDF font directory
|
||||
*
|
||||
* The location of the directory where DOMPDF will store fonts and font metrics
|
||||
* Note: This directory must exist and be writable by the webserver process.
|
||||
* *Please note the trailing slash.*
|
||||
*
|
||||
* Notes regarding fonts:
|
||||
* Additional .afm font metrics can be added by executing load_font.php from command line.
|
||||
*
|
||||
* Only the original "Base 14 fonts" are present on all pdf viewers. Additional fonts must
|
||||
* be embedded in the pdf file or the PDF may not display correctly. This can significantly
|
||||
* increase file size unless font subsetting is enabled. Before embedding a font please
|
||||
* review your rights under the font license.
|
||||
*
|
||||
* Any font specification in the source HTML is translated to the closest font available
|
||||
* in the font directory.
|
||||
*
|
||||
* The pdf standard "Base 14 fonts" are:
|
||||
* Courier, Courier-Bold, Courier-BoldOblique, Courier-Oblique,
|
||||
* Helvetica, Helvetica-Bold, Helvetica-BoldOblique, Helvetica-Oblique,
|
||||
* Times-Roman, Times-Bold, Times-BoldItalic, Times-Italic,
|
||||
* Symbol, ZapfDingbats.
|
||||
*/
|
||||
"font_dir" => storage_path('fonts/'), // advised by dompdf (https://github.com/dompdf/dompdf/pull/782)
|
||||
|
||||
/**
|
||||
* The location of the DOMPDF font cache directory
|
||||
*
|
||||
* This directory contains the cached font metrics for the fonts used by DOMPDF.
|
||||
* This directory can be the same as DOMPDF_FONT_DIR
|
||||
*
|
||||
* Note: This directory must exist and be writable by the webserver process.
|
||||
*/
|
||||
"font_cache" => storage_path('fonts/'),
|
||||
|
||||
/**
|
||||
* The location of a temporary directory.
|
||||
*
|
||||
* The directory specified must be writeable by the webserver process.
|
||||
* The temporary directory is required to download remote images and when
|
||||
* using the PFDLib back end.
|
||||
*/
|
||||
"temp_dir" => sys_get_temp_dir(),
|
||||
|
||||
/**
|
||||
* ==== IMPORTANT ====
|
||||
*
|
||||
* dompdf's "chroot": Prevents dompdf from accessing system files or other
|
||||
* files on the webserver. All local files opened by dompdf must be in a
|
||||
* subdirectory of this directory. DO NOT set it to '/' since this could
|
||||
* allow an attacker to use dompdf to read any files on the server. This
|
||||
* should be an absolute path.
|
||||
* This is only checked on command line call by dompdf.php, but not by
|
||||
* direct class use like:
|
||||
* $dompdf = new DOMPDF(); $dompdf->load_html($htmldata); $dompdf->render(); $pdfdata = $dompdf->output();
|
||||
*/
|
||||
"chroot" => realpath(base_path()),
|
||||
|
||||
/**
|
||||
* Whether to enable font subsetting or not.
|
||||
*/
|
||||
"enable_font_subsetting" => false,
|
||||
|
||||
/**
|
||||
* The PDF rendering backend to use
|
||||
*
|
||||
* Valid settings are 'PDFLib', 'CPDF' (the bundled R&OS PDF class), 'GD' and
|
||||
* 'auto'. 'auto' will look for PDFLib and use it if found, or if not it will
|
||||
* fall back on CPDF. 'GD' renders PDFs to graphic files. {@link
|
||||
* Canvas_Factory} ultimately determines which rendering class to instantiate
|
||||
* based on this setting.
|
||||
*
|
||||
* Both PDFLib & CPDF rendering backends provide sufficient rendering
|
||||
* capabilities for dompdf, however additional features (e.g. object,
|
||||
* image and font support, etc.) differ between backends. Please see
|
||||
* {@link PDFLib_Adapter} for more information on the PDFLib backend
|
||||
* and {@link CPDF_Adapter} and lib/class.pdf.php for more information
|
||||
* on CPDF. Also see the documentation for each backend at the links
|
||||
* below.
|
||||
*
|
||||
* The GD rendering backend is a little different than PDFLib and
|
||||
* CPDF. Several features of CPDF and PDFLib are not supported or do
|
||||
* not make any sense when creating image files. For example,
|
||||
* multiple pages are not supported, nor are PDF 'objects'. Have a
|
||||
* look at {@link GD_Adapter} for more information. GD support is
|
||||
* experimental, so use it at your own risk.
|
||||
*
|
||||
* @link http://www.pdflib.com
|
||||
* @link http://www.ros.co.nz/pdf
|
||||
* @link http://www.php.net/image
|
||||
*/
|
||||
"pdf_backend" => "CPDF",
|
||||
|
||||
/**
|
||||
* PDFlib license key
|
||||
*
|
||||
* If you are using a licensed, commercial version of PDFlib, specify
|
||||
* your license key here. If you are using PDFlib-Lite or are evaluating
|
||||
* the commercial version of PDFlib, comment out this setting.
|
||||
*
|
||||
* @link http://www.pdflib.com
|
||||
*
|
||||
* If pdflib present in web server and auto or selected explicitely above,
|
||||
* a real license code must exist!
|
||||
*/
|
||||
//"DOMPDF_PDFLIB_LICENSE" => "your license key here",
|
||||
|
||||
/**
|
||||
* html target media view which should be rendered into pdf.
|
||||
* List of types and parsing rules for future extensions:
|
||||
* http://www.w3.org/TR/REC-html40/types.html
|
||||
* screen, tty, tv, projection, handheld, print, braille, aural, all
|
||||
* Note: aural is deprecated in CSS 2.1 because it is replaced by speech in CSS 3.
|
||||
* Note, even though the generated pdf file is intended for print output,
|
||||
* the desired content might be different (e.g. screen or projection view of html file).
|
||||
* Therefore allow specification of content here.
|
||||
*/
|
||||
"default_media_type" => "screen",
|
||||
|
||||
/**
|
||||
* The default paper size.
|
||||
*
|
||||
* North America standard is "letter"; other countries generally "a4"
|
||||
*
|
||||
* @see CPDF_Adapter::PAPER_SIZES for valid sizes ('letter', 'legal', 'A4', etc.)
|
||||
*/
|
||||
"default_paper_size" => "a4",
|
||||
|
||||
/**
|
||||
* The default font family
|
||||
*
|
||||
* Used if no suitable fonts can be found. This must exist in the font folder.
|
||||
* @var string
|
||||
*/
|
||||
"default_font" => "serif",
|
||||
|
||||
/**
|
||||
* Image DPI setting
|
||||
*
|
||||
* This setting determines the default DPI setting for images and fonts. The
|
||||
* DPI may be overridden for inline images by explictly setting the
|
||||
* image's width & height style attributes (i.e. if the image's native
|
||||
* width is 600 pixels and you specify the image's width as 72 points,
|
||||
* the image will have a DPI of 600 in the rendered PDF. The DPI of
|
||||
* background images can not be overridden and is controlled entirely
|
||||
* via this parameter.
|
||||
*
|
||||
* For the purposes of DOMPDF, pixels per inch (PPI) = dots per inch (DPI).
|
||||
* If a size in html is given as px (or without unit as image size),
|
||||
* this tells the corresponding size in pt.
|
||||
* This adjusts the relative sizes to be similar to the rendering of the
|
||||
* html page in a reference browser.
|
||||
*
|
||||
* In pdf, always 1 pt = 1/72 inch
|
||||
*
|
||||
* Rendering resolution of various browsers in px per inch:
|
||||
* Windows Firefox and Internet Explorer:
|
||||
* SystemControl->Display properties->FontResolution: Default:96, largefonts:120, custom:?
|
||||
* Linux Firefox:
|
||||
* about:config *resolution: Default:96
|
||||
* (xorg screen dimension in mm and Desktop font dpi settings are ignored)
|
||||
*
|
||||
* Take care about extra font/image zoom factor of browser.
|
||||
*
|
||||
* In images, <img> size in pixel attribute, img css style, are overriding
|
||||
* the real image dimension in px for rendering.
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
"dpi" => 96,
|
||||
|
||||
/**
|
||||
* Enable inline PHP
|
||||
*
|
||||
* If this setting is set to true then DOMPDF will automatically evaluate
|
||||
* inline PHP contained within <script type="text/php"> ... </script> tags.
|
||||
*
|
||||
* Enabling this for documents you do not trust (e.g. arbitrary remote html
|
||||
* pages) is a security risk. Set this option to false if you wish to process
|
||||
* untrusted documents.
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
"enable_php" => false,
|
||||
|
||||
/**
|
||||
* Enable inline Javascript
|
||||
*
|
||||
* If this setting is set to true then DOMPDF will automatically insert
|
||||
* JavaScript code contained within <script type="text/javascript"> ... </script> tags.
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
"enable_javascript" => true,
|
||||
|
||||
/**
|
||||
* Enable remote file access
|
||||
*
|
||||
* If this setting is set to true, DOMPDF will access remote sites for
|
||||
* images and CSS files as required.
|
||||
* This is required for part of test case www/test/image_variants.html through www/examples.php
|
||||
*
|
||||
* Attention!
|
||||
* This can be a security risk, in particular in combination with DOMPDF_ENABLE_PHP and
|
||||
* allowing remote access to dompdf.php or on allowing remote html code to be passed to
|
||||
* $dompdf = new DOMPDF(, $dompdf->load_html(...,
|
||||
* This allows anonymous users to download legally doubtful internet content which on
|
||||
* tracing back appears to being downloaded by your server, or allows malicious php code
|
||||
* in remote html pages to be executed by your server with your account privileges.
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
"enable_remote" => true,
|
||||
|
||||
/**
|
||||
* A ratio applied to the fonts height to be more like browsers' line height
|
||||
*/
|
||||
"font_height_ratio" => 1.1,
|
||||
|
||||
/**
|
||||
* Use the more-than-experimental HTML5 Lib parser
|
||||
*/
|
||||
"enable_html5_parser" => false,
|
||||
),
|
||||
|
||||
|
||||
);
|
||||
@@ -0,0 +1,328 @@
|
||||
<?php
|
||||
|
||||
use Maatwebsite\Excel\Excel;
|
||||
|
||||
return [
|
||||
'exports' => [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Chunk size
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| When using FromQuery, the query is automatically chunked.
|
||||
| Here you can specify how big the chunk should be.
|
||||
|
|
||||
*/
|
||||
'chunk_size' => 1000,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Pre-calculate formulas during export
|
||||
|--------------------------------------------------------------------------
|
||||
*/
|
||||
'pre_calculate_formulas' => false,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Enable strict null comparison
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| When enabling strict null comparison empty cells ('') will
|
||||
| be added to the sheet.
|
||||
*/
|
||||
'strict_null_comparison' => false,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| CSV Settings
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Configure e.g. delimiter, enclosure and line ending for CSV exports.
|
||||
|
|
||||
*/
|
||||
'csv' => [
|
||||
'delimiter' => ',',
|
||||
'enclosure' => '"',
|
||||
'line_ending' => PHP_EOL,
|
||||
'use_bom' => false,
|
||||
'include_separator_line' => false,
|
||||
'excel_compatibility' => false,
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Worksheet properties
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Configure e.g. default title, creator, subject,...
|
||||
|
|
||||
*/
|
||||
'properties' => [
|
||||
'creator' => '',
|
||||
'lastModifiedBy' => '',
|
||||
'title' => '',
|
||||
'description' => '',
|
||||
'subject' => '',
|
||||
'keywords' => '',
|
||||
'category' => '',
|
||||
'manager' => '',
|
||||
'company' => '',
|
||||
],
|
||||
],
|
||||
|
||||
'imports' => [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Read Only
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| When dealing with imports, you might only be interested in the
|
||||
| data that the sheet exists. By default we ignore all styles,
|
||||
| however if you want to do some logic based on style data
|
||||
| you can enable it by setting read_only to false.
|
||||
|
|
||||
*/
|
||||
'read_only' => true,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Ignore Empty
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| When dealing with imports, you might be interested in ignoring
|
||||
| rows that have null values or empty strings. By default rows
|
||||
| containing empty strings or empty values are not ignored but can be
|
||||
| ignored by enabling the setting ignore_empty to true.
|
||||
|
|
||||
*/
|
||||
'ignore_empty' => false,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Heading Row Formatter
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Configure the heading row formatter.
|
||||
| Available options: none|slug|custom
|
||||
|
|
||||
*/
|
||||
'heading_row' => [
|
||||
'formatter' => 'slug',
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| CSV Settings
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Configure e.g. delimiter, enclosure and line ending for CSV imports.
|
||||
|
|
||||
*/
|
||||
'csv' => [
|
||||
'delimiter' => ',',
|
||||
'enclosure' => '"',
|
||||
'escape_character' => '\\',
|
||||
'contiguous' => false,
|
||||
'input_encoding' => 'UTF-8',
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Worksheet properties
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Configure e.g. default title, creator, subject,...
|
||||
|
|
||||
*/
|
||||
'properties' => [
|
||||
'creator' => '',
|
||||
'lastModifiedBy' => '',
|
||||
'title' => '',
|
||||
'description' => '',
|
||||
'subject' => '',
|
||||
'keywords' => '',
|
||||
'category' => '',
|
||||
'manager' => '',
|
||||
'company' => '',
|
||||
],
|
||||
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Extension detector
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Configure here which writer/reader type should be used when the package
|
||||
| needs to guess the correct type based on the extension alone.
|
||||
|
|
||||
*/
|
||||
'extension_detector' => [
|
||||
'xlsx' => Excel::XLSX,
|
||||
'xlsm' => Excel::XLSX,
|
||||
'xltx' => Excel::XLSX,
|
||||
'xltm' => Excel::XLSX,
|
||||
'xls' => Excel::XLS,
|
||||
'xlt' => Excel::XLS,
|
||||
'ods' => Excel::ODS,
|
||||
'ots' => Excel::ODS,
|
||||
'slk' => Excel::SLK,
|
||||
'xml' => Excel::XML,
|
||||
'gnumeric' => Excel::GNUMERIC,
|
||||
'htm' => Excel::HTML,
|
||||
'html' => Excel::HTML,
|
||||
'csv' => Excel::CSV,
|
||||
'tsv' => Excel::TSV,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| PDF Extension
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Configure here which Pdf driver should be used by default.
|
||||
| Available options: Excel::MPDF | Excel::TCPDF | Excel::DOMPDF
|
||||
|
|
||||
*/
|
||||
'pdf' => Excel::DOMPDF,
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Value Binder
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| PhpSpreadsheet offers a way to hook into the process of a value being
|
||||
| written to a cell. In there some assumptions are made on how the
|
||||
| value should be formatted. If you want to change those defaults,
|
||||
| you can implement your own default value binder.
|
||||
|
|
||||
| Possible value binders:
|
||||
|
|
||||
| [x] Maatwebsite\Excel\DefaultValueBinder::class
|
||||
| [x] PhpOffice\PhpSpreadsheet\Cell\StringValueBinder::class
|
||||
| [x] PhpOffice\PhpSpreadsheet\Cell\AdvancedValueBinder::class
|
||||
|
|
||||
*/
|
||||
'value_binder' => [
|
||||
'default' => Maatwebsite\Excel\DefaultValueBinder::class,
|
||||
],
|
||||
|
||||
'cache' => [
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default cell caching driver
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| By default PhpSpreadsheet keeps all cell values in memory, however when
|
||||
| dealing with large files, this might result into memory issues. If you
|
||||
| want to mitigate that, you can configure a cell caching driver here.
|
||||
| When using the illuminate driver, it will store each value in a the
|
||||
| cache store. This can slow down the process, because it needs to
|
||||
| store each value. You can use the "batch" store if you want to
|
||||
| only persist to the store when the memory limit is reached.
|
||||
|
|
||||
| Drivers: memory|illuminate|batch
|
||||
|
|
||||
*/
|
||||
'driver' => 'memory',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Batch memory caching
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| When dealing with the "batch" caching driver, it will only
|
||||
| persist to the store when the memory limit is reached.
|
||||
| Here you can tweak the memory limit to your liking.
|
||||
|
|
||||
*/
|
||||
'batch' => [
|
||||
'memory_limit' => 60000,
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Illuminate cache
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| When using the "illuminate" caching driver, it will automatically use
|
||||
| your default cache store. However if you prefer to have the cell
|
||||
| cache on a separate store, you can configure the store name here.
|
||||
| You can use any store defined in your cache config. When leaving
|
||||
| at "null" it will use the default store.
|
||||
|
|
||||
*/
|
||||
'illuminate' => [
|
||||
'store' => null,
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Transaction Handler
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| By default the import is wrapped in a transaction. This is useful
|
||||
| for when an import may fail and you want to retry it. With the
|
||||
| transactions, the previous import gets rolled-back.
|
||||
|
|
||||
| You can disable the transaction handler by setting this to null.
|
||||
| Or you can choose a custom made transaction handler here.
|
||||
|
|
||||
| Supported handlers: null|db
|
||||
|
|
||||
*/
|
||||
'transactions' => [
|
||||
'handler' => 'db',
|
||||
],
|
||||
|
||||
'temporary_files' => [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Local Temporary Path
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| When exporting and importing files, we use a temporary file, before
|
||||
| storing reading or downloading. Here you can customize that path.
|
||||
|
|
||||
*/
|
||||
'local_path' => storage_path('framework/cache/laravel-excel'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Remote Temporary Disk
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| When dealing with a multi server setup with queues in which you
|
||||
| cannot rely on having a shared local temporary path, you might
|
||||
| want to store the temporary file on a shared disk. During the
|
||||
| queue executing, we'll retrieve the temporary file from that
|
||||
| location instead. When left to null, it will always use
|
||||
| the local path. This setting only has effect when using
|
||||
| in conjunction with queued imports and exports.
|
||||
|
|
||||
*/
|
||||
'remote_disk' => null,
|
||||
'remote_prefix' => null,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Force Resync
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| When dealing with a multi server setup as above, it's possible
|
||||
| for the clean up that occurs after entire queue has been run to only
|
||||
| cleanup the server that the last AfterImportJob runs on. The rest of the server
|
||||
| would still have the local temporary file stored on it. In this case your
|
||||
| local storage limits can be exceeded and future imports won't be processed.
|
||||
| To mitigate this you can set this config value to be true, so that after every
|
||||
| queued chunk is processed the local temporary file is deleted on the server that
|
||||
| processed it.
|
||||
|
|
||||
*/
|
||||
'force_resync_remote' => null,
|
||||
],
|
||||
];
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 14 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 16 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 14 KiB |
Vendored
+2151
-838
File diff suppressed because it is too large
Load Diff
@@ -1,23 +1,20 @@
|
||||
<template>
|
||||
<div class="container">
|
||||
|
||||
<button class="bg-white hover:bg-gray-200 text-black text-center py-2 px-4 rounded"><router-link
|
||||
to="/akaunhome">
|
||||
Kembali
|
||||
<div class="flex w-screen">
|
||||
<div class="w-1/3 p-8 mx-auto">
|
||||
<div class="bg-yellow-600 text-gray-200 text-lg px-6 py-4 rounded-t-lg">
|
||||
<router-link to="/akaunhome">
|
||||
<i class="fas fa-backspace text-white"></i>
|
||||
</router-link>
|
||||
</button>
|
||||
<div class="h-full">
|
||||
<div class="flex">
|
||||
<div class="w-2/5 p-8">
|
||||
<span class="text-xl font-semibold block">Ansuran</span>
|
||||
<span class="text-gray-600">Pilihan tarikh untuk melihat setiap Ansuran bagi pilihan bulan</span>
|
||||
<span class="text-center mx-auto text-white font-bold">Laporan Ansuran</span>
|
||||
</div>
|
||||
<div class="w-3/5 p-8">
|
||||
<form method="get" id="formansuran" :action="Urlredirect()">
|
||||
<form method="get" id="formansuran" :action="Urlredirect()" target="_blank">
|
||||
<div class="rounded bg-white shadow p-6">
|
||||
<div class="pb-6">
|
||||
<label for="username" class="font-semibold text-gray-700 block pb-1">Tarikh</label>
|
||||
<div class="flex">
|
||||
<input :value="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" />
|
||||
<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>
|
||||
@@ -29,22 +26,30 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
|
||||
methods: {
|
||||
generatepdf: function(){
|
||||
console.log('generatepdf')
|
||||
data(){
|
||||
return{
|
||||
jenisgenerate:'none'
|
||||
}
|
||||
},
|
||||
generateview: function(){
|
||||
methods: {
|
||||
async generatepdf(){
|
||||
await this.setJenis('pdf');
|
||||
document.getElementById("formansuran").submit();
|
||||
},
|
||||
async generateview(){
|
||||
await this.setJenis('view');
|
||||
document.getElementById("formansuran").submit();
|
||||
},
|
||||
Urlredirect: function() {
|
||||
return window.route('cetak.imbangduga')
|
||||
return window.route('cetak.ansuran')
|
||||
},
|
||||
setJenis: function(value){
|
||||
return this.jenisgenerate = value;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,25 +1,22 @@
|
||||
<template>
|
||||
<div class="container">
|
||||
|
||||
<button class="bg-white hover:bg-gray-200 text-black text-center py-2 px-4 rounded"><router-link
|
||||
to="/akaunhome">
|
||||
Kembali
|
||||
<div class="flex w-screen">
|
||||
<div class="w-1/3 p-8 mx-auto">
|
||||
<div class="bg-yellow-600 text-gray-200 text-lg px-6 py-4 rounded-t-lg">
|
||||
<router-link to="/akaunhome">
|
||||
<i class="fas fa-backspace text-white"></i>
|
||||
</router-link>
|
||||
</button>
|
||||
<div class="h-full">
|
||||
<div class="flex">
|
||||
<div class="w-2/5 p-8">
|
||||
<span class="text-xl font-semibold block">Gadaian</span>
|
||||
<span class="text-gray-600">Pilihan tarikh untuk melihat setiap imbangduga bagi pilihan bulan</span>
|
||||
<span class="text-center mx-auto text-white font-bold">Laporan Gadaian</span>
|
||||
</div>
|
||||
<div class="w-3/5 p-8">
|
||||
<form method="get" id="formgadaian" :action="Urlredirect()">
|
||||
<form method="get" id="formgadaian" :action="Urlredirect()" target="_blank">
|
||||
<div class="rounded bg-white shadow p-6">
|
||||
<div class="pb-6">
|
||||
<label for="username" class="font-semibold text-gray-700 block pb-1">Tarikh</label>
|
||||
<div class="flex">
|
||||
<input :value="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" />
|
||||
<input id="tarikhmula" name="datetarikh" class="border border-2 border-l-0 rounded-r px-4 py-2 w-80r mr-2" type="date" />
|
||||
<button @click.prevent="generatepdf" class=" mr-2 border border-yellow-600 text-yellow-600 font-montserrat py-2 px-8 font-medium rounded-xl hover:bg-yellow-600 hover:text-white transition-all duration-300"><i class="fas fa-file-pdf mr-2"></i>PDF</button>
|
||||
<button @click.prevent="generateview" class="border border-yellow-600 text-yellow-600 font-montserrat py-2 px-8 font-medium rounded-xl hover:bg-yellow-600 hover:text-white transition-all duration-300"><i class="fas fa-eye mr-2"></i>View</button>
|
||||
</div>
|
||||
@@ -29,22 +26,31 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
|
||||
methods: {
|
||||
generatepdf: function(){
|
||||
console.log('generatepdf')
|
||||
data(){
|
||||
return{
|
||||
jenisgenerate:'none'
|
||||
}
|
||||
},
|
||||
generateview: function(){
|
||||
methods: {
|
||||
async generatepdf(){
|
||||
await this.setJenis('pdf');
|
||||
document.getElementById("formgadaian").submit();
|
||||
},
|
||||
async generateview(){
|
||||
await this.setJenis('view');
|
||||
document.getElementById("formgadaian").submit();
|
||||
},
|
||||
Urlredirect: function() {
|
||||
return window.route('cetak.imbangduga')
|
||||
return window.route('cetak.gadaian')
|
||||
},
|
||||
setJenis: function(value){
|
||||
return this.jenisgenerate = value;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+22
-16
@@ -1,56 +1,62 @@
|
||||
<template>
|
||||
<div class="mx-auto content-center flex justify-center items-center">
|
||||
|
||||
<div class="bg-white shadow px-6 py-4 border border-solid rounded-lg w-1/6 mr-3 hover:bg-yellow-300 hover:transition-all cursor-pointer">
|
||||
<div class="grid grid-rows-1">
|
||||
<div class="grid grid-cols-2 gap-1 mx-auto">
|
||||
<div class="bg-white shadow border border-solid px-6 py-4 rounded-lg hover:bg-yellow-300 hover:transition-all mb-2 cursor-pointer">
|
||||
<router-link to="/akaunhome/imbangduga">
|
||||
<img src="/img/balance-sheet.png" alt="Windster Logo">
|
||||
<h2 class="mx-auto text-center font-bold text-2xl mt-4 uppercase">Imbang Duga</h2>
|
||||
<img src="/img/balance-sheet.png" class="h-20 w-20 mx-auto" alt="Windster Logo">
|
||||
<h2 class="mx-auto text-center font-bold text-2xl uppercase">Imbang Duga</h2>
|
||||
</router-link>
|
||||
</div>
|
||||
|
||||
<div class="bg-white shadow px-6 py-4 border border-solid rounded-lg w-1/6 hover:bg-yellow-300 hover:transition-all cursor-pointer">
|
||||
<div class="bg-white shadow border border-solid px-6 py-4 rounded-lg hover:bg-yellow-300 hover:transition-all mb-2 cursor-pointer">
|
||||
<router-link to="/akaunhome/lejeram">
|
||||
<img src="/img/ledger.png" alt="Windster Logo">
|
||||
<h2 class="mx-auto text-center font-bold text-2xl mt-4 uppercase">Lejer Am</h2>
|
||||
<img src="/img/ledger.png" class="h-20 w-20 mx-auto" alt="Windster Logo">
|
||||
<h2 class="mx-auto text-center font-bold text-2xl uppercase">Lejer Am</h2>
|
||||
</router-link>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="ml-3">
|
||||
<div class="bg-white shadow border border-solid px-6 py-4 rounded-lg hover:bg-yellow-300 hover:transition-all mb-2 cursor-pointer">
|
||||
|
||||
<div class="ml-3 grid grid-cols-3">
|
||||
<div class="bg-white ml-2 shadow border border-solid px-6 py-4 rounded-lg hover:bg-yellow-300 hover:transition-all mb-2 cursor-pointer">
|
||||
<router-link to="/akaunhome/gadaian">
|
||||
<h2 class="mx-auto text-center font-bold text-2xl uppercase">Gadaian</h2>
|
||||
</router-link>
|
||||
</div>
|
||||
<div class="bg-white shadow border border-solid px-6 py-4 rounded-lg hover:bg-yellow-300 hover:transition-all mb-2 cursor-pointer">
|
||||
<div class="bg-white ml-2 shadow border border-solid px-6 py-4 rounded-lg hover:bg-yellow-300 hover:transition-all mb-2 cursor-pointer">
|
||||
<router-link to="/akaunhome/penebusan">
|
||||
<h2 class="mx-auto text-center font-bold text-2xl uppercase">Penebusan</h2>
|
||||
</router-link>
|
||||
</div>
|
||||
<div class="bg-white shadow border border-solid px-6 py-4 rounded-lg hover:bg-yellow-300 hover:transition-all mb-2 cursor-pointer">
|
||||
<div class="bg-white ml-2 shadow border border-solid px-6 py-4 rounded-lg hover:bg-yellow-300 hover:transition-all mb-2 cursor-pointer">
|
||||
<router-link to="/akaunhome/Pendahuluanserahan">
|
||||
<h2 class="mx-auto text-center font-bold text-2xl uppercase">Pendahuluan & Serahan</h2>
|
||||
</router-link>
|
||||
</div>
|
||||
<div class="bg-white shadow border border-solid px-6 py-4 rounded-lg hover:bg-yellow-300 hover:transition-all mb-2 cursor-pointer">
|
||||
<div class="bg-white ml-2 shadow border border-solid px-6 py-4 rounded-lg hover:bg-yellow-300 hover:transition-all mb-2 cursor-pointer">
|
||||
<router-link to="/akaunhome/Tuntutbaki">
|
||||
<h2 class="mx-auto text-center font-bold text-2xl uppercase">Tuntut Baki</h2>
|
||||
</router-link>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="ml-3">
|
||||
<div class="bg-white shadow border border-solid px-6 py-4 rounded-lg hover:bg-yellow-300 hover:transition-all mb-2 cursor-pointer">
|
||||
<div class="bg-white ml-2 shadow border border-solid px-6 py-4 rounded-lg hover:bg-yellow-300 hover:transition-all mb-2 cursor-pointer">
|
||||
<router-link to="/akaunhome/ansuran">
|
||||
<h2 class="mx-auto text-center font-bold text-2xl uppercase">Ansuran</h2>
|
||||
</router-link>
|
||||
</div>
|
||||
<div class="bg-white shadow border border-solid px-6 py-4 rounded-lg hover:bg-yellow-300 hover:transition-all mb-2 cursor-pointer">
|
||||
<div class="bg-white ml-2 shadow border border-solid px-6 py-4 rounded-lg hover:bg-yellow-300 hover:transition-all mb-2 cursor-pointer">
|
||||
<router-link to="/akaunhome/upah">
|
||||
<h2 class="mx-auto text-center font-bold text-2xl uppercase">Upah</h2>
|
||||
</router-link>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</template>
|
||||
|
||||
@@ -1,23 +1,21 @@
|
||||
<template>
|
||||
<div class="container">
|
||||
|
||||
<button class="bg-white hover:bg-gray-200 text-black text-center py-2 px-4 rounded"><router-link
|
||||
to="/akaunhome">
|
||||
Kembali
|
||||
<div class="flex w-screen">
|
||||
<div class="w-1/3 p-8 mx-auto">
|
||||
<div class="bg-yellow-600 text-gray-200 text-lg px-6 py-4 rounded-t-lg">
|
||||
<router-link to="/akaunhome">
|
||||
<i class="fas fa-backspace text-white"></i>
|
||||
</router-link>
|
||||
</button>
|
||||
<div class="h-full">
|
||||
<div class="flex">
|
||||
<div class="w-2/5 p-8">
|
||||
<span class="text-xl font-semibold block">Imbang Duga</span>
|
||||
<span class="text-gray-600">Pilihan tarikh untuk melihat setiap imbangduga bagi pilihan bulan</span>
|
||||
|
||||
<span class="text-center mx-auto text-white font-bold">Laporan Imbang Duga</span>
|
||||
</div>
|
||||
<div class="w-3/5 p-8">
|
||||
<form method="get" id="formimbangduga" :action="Urlredirect()">
|
||||
<div class="rounded bg-white shadow p-6">
|
||||
<div class="pb-6">
|
||||
<label for="username" class="font-semibold text-gray-700 block pb-1">Tarikh</label>
|
||||
<div class="flex">
|
||||
<input :value="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" />
|
||||
<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>
|
||||
@@ -29,22 +27,30 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
|
||||
methods: {
|
||||
generatepdf: function(){
|
||||
console.log('generatepdf')
|
||||
data(){
|
||||
return{
|
||||
jenisgenerate:'none'
|
||||
}
|
||||
},
|
||||
generateview: function(){
|
||||
methods: {
|
||||
async generatepdf(){
|
||||
await this.setJenis('pdf');
|
||||
document.getElementById("formimbangduga").submit();
|
||||
},
|
||||
async generateview(){
|
||||
await this.setJenis('view');
|
||||
document.getElementById("formimbangduga").submit();
|
||||
},
|
||||
Urlredirect: function() {
|
||||
return window.route('cetak.imbangduga')
|
||||
},
|
||||
setJenis: function(value){
|
||||
return this.jenisgenerate = value;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,27 +1,26 @@
|
||||
<template>
|
||||
<div class="container">
|
||||
|
||||
<button class="bg-white hover:bg-gray-200 text-black text-center py-2 px-4 rounded"><router-link
|
||||
to="/akaunhome">
|
||||
Kembali
|
||||
<div class="flex w-screen">
|
||||
<div class="w-1/2 p-8 mx-auto">
|
||||
<div class="bg-yellow-600 text-gray-200 text-lg px-6 py-4 rounded-t-lg">
|
||||
<router-link to="/akaunhome">
|
||||
<i class="fas fa-backspace text-white"></i>
|
||||
</router-link>
|
||||
</button>
|
||||
<div class="h-full">
|
||||
<div class="flex">
|
||||
<div class="w-2/6 p-8">
|
||||
<span class="text-xl font-semibold block">Lejer Am</span>
|
||||
<span class="text-gray-600">Pilihan tarikh untuk melihat setiap lejeram bagi pilihan hari</span>
|
||||
<span class="text-center mx-auto text-white font-bold">Laporan Lejer Am</span>
|
||||
</div>
|
||||
<div class="w-4/6 p-8">
|
||||
<form method="get" id="formlejeram" target="_blank" :action="Urlredirect()">
|
||||
<div class="rounded bg-white shadow p-6">
|
||||
<div class="pb-6">
|
||||
<label for="username" class="font-semibold text-gray-700 block pb-1">Tarikh</label>
|
||||
<div class="flex">
|
||||
<div class="flex place-content-center mb-2">
|
||||
<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" />
|
||||
<span style="background-color: #F9FAFB" class="text-gray-600 border border-2 rounded-l px-4 py-2 whitespace-no-wrap">Hingga</span>
|
||||
<input id="tarikhakhir" name="datehingga" class="border border-2 border-l-0 rounded-r px-4 py-2 mr-2" type="date" />
|
||||
</div>
|
||||
|
||||
<div class="flex justify-end mt-10">
|
||||
<button @click.prevent="generatepdf" class=" mr-2 border border-yellow-600 text-yellow-600 font-montserrat py-2 px-8 font-medium rounded-xl hover:bg-yellow-600 hover:text-white transition-all duration-300"><i class="fas fa-file-pdf mr-2"></i>PDF</button>
|
||||
<button @click.prevent="generateview" class="border border-yellow-600 text-yellow-600 font-montserrat py-2 px-8 font-medium rounded-xl hover:bg-yellow-600 hover:text-white transition-all duration-300"><i class="fas fa-eye mr-2"></i>View</button>
|
||||
</div>
|
||||
@@ -31,24 +30,30 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
// data: function(){
|
||||
// return ''
|
||||
// },
|
||||
methods: {
|
||||
generatepdf: function(){
|
||||
console.log('generatepdf')
|
||||
data(){
|
||||
return{
|
||||
jenisgenerate:'none'
|
||||
}
|
||||
},
|
||||
generateview: function(){
|
||||
methods: {
|
||||
async generatepdf(){
|
||||
await this.setJenis('pdf');
|
||||
document.getElementById("formlejeram").submit();
|
||||
},
|
||||
async generateview(){
|
||||
await this.setJenis('view');
|
||||
document.getElementById("formlejeram").submit();
|
||||
},
|
||||
Urlredirect: function() {
|
||||
return window.route('cetak.lejeram')
|
||||
},
|
||||
setJenis: function(value){
|
||||
return this.jenisgenerate = value;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,50 +1,88 @@
|
||||
<template>
|
||||
<div class="container">
|
||||
|
||||
<button class="bg-white hover:bg-gray-200 text-black text-center py-2 px-4 rounded"><router-link
|
||||
to="/akaunhome">
|
||||
Kembali
|
||||
<div class="flex w-screen">
|
||||
<div class="w-1/2 p-8 mx-auto">
|
||||
<div class="bg-yellow-600 text-gray-200 text-lg px-6 py-4 rounded-t-lg">
|
||||
<router-link to="/akaunhome">
|
||||
<i class="fas fa-backspace text-white"></i>
|
||||
</router-link>
|
||||
</button>
|
||||
<div class="h-full">
|
||||
<div class="flex">
|
||||
<div class="w-2/5 p-8">
|
||||
<span class="text-xl font-semibold block">Pendahuluan Dan Serahan</span>
|
||||
<span class="text-gray-600">Pilihan tarikh untuk melihat setiap imbangduga bagi pilihan bulan</span>
|
||||
<span class="text-center mx-auto text-white font-bold">Laporan Pendahuluan & Serahan</span>
|
||||
</div>
|
||||
<div class="w-3/5 p-8">
|
||||
<form method="get" id="formpendser" :action="Urlredirect()">
|
||||
<form method="get" id="formpendser" :action="Urlredirect()" target="_blank">
|
||||
<div class="rounded bg-white shadow p-6">
|
||||
<div class="pb-6">
|
||||
<label for="username" class="font-semibold text-gray-700 block pb-1">Tarikh</label>
|
||||
<div class="flex">
|
||||
<!-- <label for="username" class="font-semibold text-gray-700 block pb-1">Tarikh</label> -->
|
||||
<div class="flex place-content-center mb-2">
|
||||
<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" />
|
||||
<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>
|
||||
<input id="tarikhmula" name="datehingga" class="border border-2 border-l-0 rounded-r px-4 py-2 w-80r mr-2" type="date" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex justify-center mb-4">
|
||||
<div class="mx-2 radio">
|
||||
<input type="radio" id="pendahuluan" name="radpendser" value="pendahuluan" class="hidden focus:bg-gray-500" v-model="selected">
|
||||
<label for="pendahuluan" class="cursor-pointer text-gray-500 focus:bg-gray-500 hover:bg-gray-200 focus:bg-purple-500 focus:bg-purple-500 focus:outline-none border px-10 py-4 border-solid border-gray-500 rounded">Pendahuluan</label>
|
||||
</div>
|
||||
|
||||
<div class="mx-2 radio cursor-pointer">
|
||||
<input type="radio" id="serahan" name="radpendser" value="serahan" class="hidden focus:bg-gray-500" v-model="selected">
|
||||
<label for="serahan" class="cursor-pointer text-gray-500 focus:bg-gray-500 hover:bg-gray-200 focus:bg-purple-500 focus:outline-none border px-10 py-4 border-solid border-gray-500 rounded">Serahan</label>
|
||||
</div>
|
||||
|
||||
<div class="mx-2 radio cursor-pointer">
|
||||
<input type="radio" id="online" name="radpendser" value="online" class="hidden focus:bg-gray-500" v-model="selected">
|
||||
<label for="online" class="cursor-pointer text-gray-500 focus:bg-gray-500 hover:bg-gray-200 focus:bg-purple-500 focus:outline-none border px-10 py-4 border-solid border-gray-500 rounded">Serahan Online</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex justify-end mt-10">
|
||||
<button @click.prevent="generatepdf" class=" mr-2 border border-yellow-600 text-yellow-600 font-montserrat py-2 px-8 font-medium rounded-xl hover:bg-yellow-600 hover:text-white transition-all duration-300"><i class="fas fa-file-pdf mr-2"></i>PDF</button>
|
||||
<button @click.prevent="generateview" class="border border-yellow-600 text-yellow-600 font-montserrat py-2 px-8 font-medium rounded-xl hover:bg-yellow-600 hover:text-white transition-all duration-300"><i class="fas fa-eye mr-2"></i>View</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
<style>
|
||||
.radio input:checked + label{
|
||||
border-color:#F6D860;
|
||||
background-color:#FFF1BD;
|
||||
outline:none;
|
||||
}
|
||||
|
||||
</style>
|
||||
<script>
|
||||
export default {
|
||||
|
||||
methods: {
|
||||
generatepdf: function(){
|
||||
console.log('generatepdf')
|
||||
data(){
|
||||
return{
|
||||
jenisgenerate:'none',
|
||||
selected:''
|
||||
}
|
||||
},
|
||||
generateview: function(){
|
||||
methods: {
|
||||
async generatepdf(){
|
||||
await this.setJenis('pdf');
|
||||
document.getElementById("formpendser").submit();
|
||||
},
|
||||
async generateview(){
|
||||
await this.setJenis('view');
|
||||
document.getElementById("formpendser").submit();
|
||||
},
|
||||
Urlredirect: function() {
|
||||
return window.route('cetak.imbangduga')
|
||||
return window.route('cetak.pendser')
|
||||
},
|
||||
setJenis: function(value){
|
||||
return this.jenisgenerate = value;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,25 +1,24 @@
|
||||
<template>
|
||||
<div class="container">
|
||||
|
||||
<button class="bg-white hover:bg-gray-200 text-black text-center py-2 px-4 rounded"><router-link
|
||||
to="/akaunhome">
|
||||
Kembali
|
||||
|
||||
<div class="flex w-screen">
|
||||
<div class="w-1/3 p-8 mx-auto">
|
||||
<div class="bg-yellow-600 text-gray-200 text-lg px-6 py-4 rounded-t-lg">
|
||||
<router-link to="/akaunhome">
|
||||
<i class="fas fa-backspace text-white"></i>
|
||||
</router-link>
|
||||
</button>
|
||||
<div class="h-full">
|
||||
<div class="flex">
|
||||
<div class="w-2/5 p-8">
|
||||
<span class="text-xl font-semibold block">Penebusan</span>
|
||||
<span class="text-gray-600">Pilihan tarikh untuk melihat setiap imbangduga bagi pilihan bulan</span>
|
||||
|
||||
<span class="text-center mx-auto text-white font-bold">Laporan Penebusan</span>
|
||||
</div>
|
||||
<div class="w-3/5 p-8">
|
||||
<form method="get" id="formpenebusan" :action="Urlredirect()">
|
||||
<form method="get" id="formpenebusan" :action="Urlredirect()" target="_blank">
|
||||
<div class="rounded bg-white shadow p-6">
|
||||
<div class="pb-6">
|
||||
<label for="username" class="font-semibold text-gray-700 block pb-1">Tarikh</label>
|
||||
<div class="flex">
|
||||
<input :value="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" />
|
||||
<input id="tarikhmula" name="datetarikh" class="border border-2 border-l-0 rounded-r px-4 py-2 w-80r mr-2" type="date" />
|
||||
<button @click.prevent="generatepdf" class=" mr-2 border border-yellow-600 text-yellow-600 font-montserrat py-2 px-8 font-medium rounded-xl hover:bg-yellow-600 hover:text-white transition-all duration-300"><i class="fas fa-file-pdf mr-2"></i>PDF</button>
|
||||
<button @click.prevent="generateview" class="border border-yellow-600 text-yellow-600 font-montserrat py-2 px-8 font-medium rounded-xl hover:bg-yellow-600 hover:text-white transition-all duration-300"><i class="fas fa-eye mr-2"></i>View</button>
|
||||
</div>
|
||||
@@ -29,22 +28,30 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
|
||||
methods: {
|
||||
generatepdf: function(){
|
||||
console.log('generatepdf')
|
||||
data(){
|
||||
return{
|
||||
jenisgenerate:'none'
|
||||
}
|
||||
},
|
||||
generateview: function(){
|
||||
methods: {
|
||||
async generatepdf(){
|
||||
await this.setJenis('pdf');
|
||||
document.getElementById("formpenebusan").submit();
|
||||
},
|
||||
async generateview(){
|
||||
await this.setJenis('view');
|
||||
document.getElementById("formpenebusan").submit();
|
||||
},
|
||||
Urlredirect: function() {
|
||||
return window.route('cetak.imbangduga')
|
||||
return window.route('cetak.penebusan')
|
||||
},
|
||||
setJenis: function(value){
|
||||
return this.jenisgenerate = value;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,23 +1,21 @@
|
||||
<template>
|
||||
<div class="container">
|
||||
|
||||
<button class="bg-white hover:bg-gray-200 text-black text-center py-2 px-4 rounded"><router-link
|
||||
to="/akaunhome">
|
||||
Kembali
|
||||
<div class="flex w-screen">
|
||||
<div class="w-1/3 p-8 mx-auto">
|
||||
<div class="bg-yellow-600 text-gray-200 text-lg px-6 py-4 rounded-t-lg">
|
||||
<router-link to="/akaunhome">
|
||||
<i class="fas fa-backspace text-white"></i>
|
||||
</router-link>
|
||||
</button>
|
||||
<div class="h-full">
|
||||
<div class="flex">
|
||||
<div class="w-2/5 p-8">
|
||||
<span class="text-xl font-semibold block">Tuntut Baki</span>
|
||||
<span class="text-gray-600">Pilihan tarikh untuk melihat setiap imbangduga bagi pilihan bulan</span>
|
||||
|
||||
<span class="text-center mx-auto text-white font-bold">Laporan Tuntut Baki</span>
|
||||
</div>
|
||||
<div class="w-3/5 p-8">
|
||||
<form method="get" id="formtuntutbaki" :action="Urlredirect()">
|
||||
<form method="get" id="formtuntutbaki" :action="Urlredirect()" target="_blank">
|
||||
<div class="rounded bg-white shadow p-6">
|
||||
<div class="pb-6">
|
||||
<label for="username" class="font-semibold text-gray-700 block pb-1">Tarikh</label>
|
||||
<div class="flex">
|
||||
<input :value="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" />
|
||||
<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>
|
||||
@@ -29,22 +27,30 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
|
||||
methods: {
|
||||
generatepdf: function(){
|
||||
console.log('generatepdf')
|
||||
data(){
|
||||
return{
|
||||
jenisgenerate:'none'
|
||||
}
|
||||
},
|
||||
generateview: function(){
|
||||
methods: {
|
||||
async generatepdf(){
|
||||
await this.setJenis('pdf');
|
||||
document.getElementById("formtuntutbaki").submit();
|
||||
},
|
||||
async generateview(){
|
||||
await this.setJenis('view');
|
||||
document.getElementById("formtuntutbaki").submit();
|
||||
},
|
||||
Urlredirect: function() {
|
||||
return window.route('cetak.imbangduga')
|
||||
return window.route('cetak.tuntutbaki')
|
||||
},
|
||||
setJenis: function(value){
|
||||
return this.jenisgenerate = value;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+32
-22
@@ -1,50 +1,60 @@
|
||||
<template>
|
||||
<div class="container">
|
||||
|
||||
<button class="bg-white hover:bg-gray-200 text-black text-center py-2 px-4 rounded"><router-link
|
||||
to="/akaunhome">
|
||||
Kembali
|
||||
<div class="flex w-screen">
|
||||
<div class="w-1/2 p-8 mx-auto">
|
||||
<div class="bg-yellow-600 text-gray-200 text-lg px-6 py-4 rounded-t-lg">
|
||||
<router-link to="/akaunhome">
|
||||
<i class="fas fa-backspace text-white"></i>
|
||||
</router-link>
|
||||
</button>
|
||||
<div class="h-full">
|
||||
<div class="flex">
|
||||
<div class="w-2/5 p-8">
|
||||
<span class="text-xl font-semibold block">Upah</span>
|
||||
<span class="text-gray-600">Pilihan tarikh untuk melihat setiap imbangduga bagi pilihan bulan</span>
|
||||
|
||||
<span class="text-center mx-auto text-white font-bold">Laporan Upah</span>
|
||||
</div>
|
||||
<div class="w-3/5 p-8">
|
||||
<form method="get" id="formupah" :action="Urlredirect()">
|
||||
<form method="get" id="formupah" :action="Urlredirect()" target="_blank">
|
||||
<div class="rounded bg-white shadow p-6">
|
||||
<div class="pb-6">
|
||||
<label for="username" class="font-semibold text-gray-700 block pb-1">Tarikh</label>
|
||||
<div class="flex">
|
||||
<div class="flex justify-center mb-4">
|
||||
<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" />
|
||||
<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>
|
||||
<input id="tarikhhingga" name="datehingga" class="border border-2 border-l-0 rounded-r px-4 py-2 w-80r mr-2" type="date" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex justify-end mt-10">
|
||||
<button @click.prevent="generatepdf" class=" mr-2 border border-yellow-600 text-yellow-600 font-montserrat py-2 px-8 font-medium rounded-xl hover:bg-yellow-600 hover:text-white transition-all duration-300"><i class="fas fa-file-pdf mr-2"></i>PDF</button>
|
||||
<button @click.prevent="generateview" class="border border-yellow-600 text-yellow-600 font-montserrat py-2 px-8 font-medium rounded-xl hover:bg-yellow-600 hover:text-white transition-all duration-300"><i class="fas fa-eye mr-2"></i>View</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
|
||||
methods: {
|
||||
generatepdf: function(){
|
||||
console.log('generatepdf')
|
||||
data(){
|
||||
return{
|
||||
jenisgenerate:'none'
|
||||
}
|
||||
},
|
||||
generateview: function(){
|
||||
methods: {
|
||||
async generatepdf(){
|
||||
await this.setJenis('pdf');
|
||||
document.getElementById("formupah").submit();
|
||||
},
|
||||
async generateview(){
|
||||
await this.setJenis('view');
|
||||
document.getElementById("formupah").submit();
|
||||
},
|
||||
Urlredirect: function() {
|
||||
return window.route('cetak.imbangduga')
|
||||
return window.route('cetak.upah')
|
||||
},
|
||||
setJenis: function(value){
|
||||
return this.jenisgenerate = value;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -10,108 +10,111 @@
|
||||
<label class="block uppercase tracking-wide text-gray-700 text-xs font-bold mb-2">
|
||||
Januari
|
||||
</label>
|
||||
<input v-model="nilaijanuari" class="appearance-none block w-full bg-white-200 text-gray-700 border border-gray-200 rounded py-3 px-4 leading-tight focus:outline-none focus:bg-white focus:border-gray-500">
|
||||
<div class="text-red-500 text-xs italic">Field is required</div>
|
||||
<input v-model.trim="$v.nilaijanuari.$model" :class="{ 'border border-red-500 focus:border-red-500': $v.nilaijanuari.$error }" class="appearance-none block w-full bg-white-200 text-gray-700 border border-gray-200 rounded py-3 px-4 leading-tight focus:outline-none focus:bg-white focus:border-gray-500">
|
||||
<div class="text-red-500 text-xs italic" v-if="!$v.nilaijanuari.required">Field is required</div>
|
||||
</div>
|
||||
|
||||
<div class="w-full px-3 mb-4">
|
||||
<label class="block uppercase tracking-wide text-gray-700 text-xs font-bold mb-2">
|
||||
Februari
|
||||
</label>
|
||||
<input v-model="nilaifebruari" class="appearance-none block w-full bg-white-200 text-gray-700 border border-gray-200 rounded py-3 px-4 leading-tight focus:outline-none focus:bg-white focus:border-gray-500">
|
||||
<div class="text-red-500 text-xs italic">Field is required</div>
|
||||
<input v-model.trim="$v.nilaifebruari.$model" :class="{ 'border border-red-500 focus:border-red-500': $v.nilaifebruari.$error }" class="appearance-none block w-full bg-white-200 text-gray-700 border border-gray-200 rounded py-3 px-4 leading-tight focus:outline-none focus:bg-white focus:border-gray-500">
|
||||
<div class="text-red-500 text-xs italic" v-if="!$v.nilaifebruari.required"> Field is required</div>
|
||||
</div>
|
||||
|
||||
<div class="w-full px-3 mb-4">
|
||||
<label class="block uppercase tracking-wide text-gray-700 text-xs font-bold mb-2">
|
||||
Mac
|
||||
</label>
|
||||
<input v-model="nilaimarch" class="appearance-none block w-full bg-white-200 text-gray-700 border border-gray-200 rounded py-3 px-4 leading-tight focus:outline-none focus:bg-white focus:border-gray-500">
|
||||
<div class="text-red-500 text-xs italic">Field is required</div>
|
||||
<input v-model.trim="$v.nilaimarch.$model" :class="{ 'border border-red-500 focus:border-red-500': $v.nilaimarch.$error }" class="appearance-none block w-full bg-white-200 text-gray-700 border border-gray-200 rounded py-3 px-4 leading-tight focus:outline-none focus:bg-white focus:border-gray-500">
|
||||
<div class="text-red-500 text-xs italic" v-if="!$v.nilaimarch.required"> Field is required</div>
|
||||
</div>
|
||||
|
||||
<div class="w-full px-3 mb-4">
|
||||
<label class="block uppercase tracking-wide text-gray-700 text-xs font-bold mb-2">
|
||||
April
|
||||
</label>
|
||||
<input v-model="nilaiapril" class="appearance-none block w-full bg-white-200 text-gray-700 border border-gray-200 rounded py-3 px-4 leading-tight focus:outline-none focus:bg-white focus:border-gray-500">
|
||||
<div class="text-red-500 text-xs italic">Field is required</div>
|
||||
<input v-model.trim="$v.nilaiapril.$model" :class="{ 'border border-red-500 focus:border-red-500': $v.nilaiapril.$error }" class="appearance-none block w-full bg-white-200 text-gray-700 border border-gray-200 rounded py-3 px-4 leading-tight focus:outline-none focus:bg-white focus:border-gray-500">
|
||||
<div class="text-red-500 text-xs italic" v-if="!$v.nilaiapril.required">Field is required</div>
|
||||
</div>
|
||||
|
||||
<div class="w-full px-3 mb-4">
|
||||
<label class="block uppercase tracking-wide text-gray-700 text-xs font-bold mb-2">
|
||||
Mei
|
||||
</label>
|
||||
<input v-model="nilaimei" class="appearance-none block w-full bg-white-200 text-gray-700 border border-gray-200 rounded py-3 px-4 leading-tight focus:outline-none focus:bg-white focus:border-gray-500">
|
||||
<div class="text-red-500 text-xs italic">Field is required</div>
|
||||
<input v-model.trim="$v.nilaimei.$model" :class="{ 'border border-red-500 focus:border-red-500': $v.nilaimei.$error }" class="appearance-none block w-full bg-white-200 text-gray-700 border border-gray-200 rounded py-3 px-4 leading-tight focus:outline-none focus:bg-white focus:border-gray-500">
|
||||
<div class="text-red-500 text-xs italic" v-if="!$v.nilaimei.required">Field is required</div>
|
||||
</div>
|
||||
|
||||
<div class="w-full px-3 mb-4">
|
||||
<label class="block uppercase tracking-wide text-gray-700 text-xs font-bold mb-2">
|
||||
Jun
|
||||
</label>
|
||||
<input v-model="nilaijun" class="appearance-none block w-full bg-white-200 text-gray-700 border border-gray-200 rounded py-3 px-4 leading-tight focus:outline-none focus:bg-white focus:border-gray-500">
|
||||
<div class="text-red-500 text-xs italic">Field is required</div>
|
||||
<input v-model.trim="$v.nilaijun.$model" :class="{ 'border border-red-500 focus:border-red-500': $v.nilaijun.$error }" class="appearance-none block w-full bg-white-200 text-gray-700 border border-gray-200 rounded py-3 px-4 leading-tight focus:outline-none focus:bg-white focus:border-gray-500">
|
||||
<div class="text-red-500 text-xs italic" v-if="!$v.nilaijun.required">Field is required</div>
|
||||
</div>
|
||||
|
||||
<div class="w-full px-3 mb-4">
|
||||
<label class="block uppercase tracking-wide text-gray-700 text-xs font-bold mb-2">
|
||||
Julai
|
||||
</label>
|
||||
<input v-model="nilaijulai" class="appearance-none block w-full bg-white-200 text-gray-700 border border-gray-200 rounded py-3 px-4 leading-tight focus:outline-none focus:bg-white focus:border-gray-500">
|
||||
<div class="text-red-500 text-xs italic">Field is required</div>
|
||||
<input v-model.trim="$v.nilaijulai.$model" :class="{ 'border border-red-500 focus:border-red-500': $v.nilaijulai.$error }" class="appearance-none block w-full bg-white-200 text-gray-700 border border-gray-200 rounded py-3 px-4 leading-tight focus:outline-none focus:bg-white focus:border-gray-500">
|
||||
<div class="text-red-500 text-xs italic" v-if="!$v.nilaijulai.required">Field is required</div>
|
||||
</div>
|
||||
|
||||
<div class="w-full px-3 mb-4">
|
||||
<label class="block uppercase tracking-wide text-gray-700 text-xs font-bold mb-2">
|
||||
Ogos
|
||||
</label>
|
||||
<input v-model="nilaiogos" class="appearance-none block w-full bg-white-200 text-gray-700 border border-gray-200 rounded py-3 px-4 leading-tight focus:outline-none focus:bg-white focus:border-gray-500">
|
||||
<div class="text-red-500 text-xs italic">Field is required</div>
|
||||
<input v-model.trim="$v.nilaiogos.$model" :class="{ 'border border-red-500 focus:border-red-500': $v.nilaiogos.$error }" class="appearance-none block w-full bg-white-200 text-gray-700 border border-gray-200 rounded py-3 px-4 leading-tight focus:outline-none focus:bg-white focus:border-gray-500">
|
||||
<div class="text-red-500 text-xs italic" v-if="!$v.nilaiogos.required">Field is required</div>
|
||||
</div>
|
||||
|
||||
<div class="w-full px-3 mb-4">
|
||||
<label class="block uppercase tracking-wide text-gray-700 text-xs font-bold mb-2">
|
||||
September
|
||||
</label>
|
||||
<input v-model="nilaiseptember" class="appearance-none block w-full bg-white-200 text-gray-700 border border-gray-200 rounded py-3 px-4 leading-tight focus:outline-none focus:bg-white focus:border-gray-500">
|
||||
<div class="text-red-500 text-xs italic">Field is required</div>
|
||||
<input v-model.trim="$v.nilaiseptember.$model" :class="{ 'border border-red-500 focus:border-red-500': $v.nilaiseptember.$error }" class="appearance-none block w-full bg-white-200 text-gray-700 border border-gray-200 rounded py-3 px-4 leading-tight focus:outline-none focus:bg-white focus:border-gray-500">
|
||||
<div class="text-red-500 text-xs italic" v-if="!$v.nilaiseptember.required">Field is required</div>
|
||||
</div>
|
||||
|
||||
<div class="w-full px-3 mb-4">
|
||||
<label class="block uppercase tracking-wide text-gray-700 text-xs font-bold mb-2">
|
||||
Oktober
|
||||
</label>
|
||||
<input v-model="nilaioktober" class="appearance-none block w-full bg-white-200 text-gray-700 border border-gray-200 rounded py-3 px-4 leading-tight focus:outline-none focus:bg-white focus:border-gray-500">
|
||||
<div class="text-red-500 text-xs italic">Field is required</div>
|
||||
<input v-model.trim="$v.nilaioktober.$model" :class="{ 'border border-red-500 focus:border-red-500': $v.nilaioktober.$error }" class="appearance-none block w-full bg-white-200 text-gray-700 border border-gray-200 rounded py-3 px-4 leading-tight focus:outline-none focus:bg-white focus:border-gray-500">
|
||||
<div class="text-red-500 text-xs italic" v-if="!$v.nilaioktober.required">Field is required</div>
|
||||
</div>
|
||||
|
||||
<div class="w-full px-3 mb-4">
|
||||
<label class="block uppercase tracking-wide text-gray-700 text-xs font-bold mb-2">
|
||||
November
|
||||
</label>
|
||||
<input v-model="nilainovember" class="appearance-none block w-full bg-white-200 text-gray-700 border border-gray-200 rounded py-3 px-4 leading-tight focus:outline-none focus:bg-white focus:border-gray-500">
|
||||
<div class="text-red-500 text-xs italic">Field is required</div>
|
||||
<input v-model.trim="$v.nilainovember.$model" :class="{ 'border border-red-500 focus:border-red-500': $v.nilainovember.$error }" class="appearance-none block w-full bg-white-200 text-gray-700 border border-gray-200 rounded py-3 px-4 leading-tight focus:outline-none focus:bg-white focus:border-gray-500">
|
||||
<div class="text-red-500 text-xs italic" v-if="!$v.nilainovember.required">Field is required</div>
|
||||
</div>
|
||||
|
||||
<div class="w-full px-3 mb-4">
|
||||
<label class="block uppercase tracking-wide text-gray-700 text-xs font-bold mb-2">
|
||||
Disember
|
||||
</label>
|
||||
<input v-model="nilaidisember" class="appearance-none block w-full bg-white-200 text-gray-700 border border-gray-200 rounded py-3 px-4 leading-tight focus:outline-none focus:bg-white focus:border-gray-500">
|
||||
<div class="text-red-500 text-xs italic">Field is required</div>
|
||||
<input v-model.trim="$v.nilaidisember.$model" :class="{ 'border border-red-500 focus:border-red-500': $v.nilaidisember.$error }" class="appearance-none block w-full bg-white-200 text-gray-700 border border-gray-200 rounded py-3 px-4 leading-tight focus:outline-none focus:bg-white focus:border-gray-500">
|
||||
<div class="text-red-500 text-xs italic" v-if="!$v.nilaidisember.required">Field is required</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="flex justify-end">
|
||||
<button class="bg-blue-500 text-white active:bg-lightBlue-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type="button">
|
||||
Kemaskini
|
||||
<span v-if="submitStatus === 'PENDING'"><i class="animate-spin fas fa-spinner mr-2"></i>Loading..</span>
|
||||
<span v-else @click="submit">Kemaskini</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { required, minLength, between } from 'vuelidate/lib/validators'
|
||||
|
||||
export default {
|
||||
|
||||
data(){
|
||||
@@ -127,7 +130,8 @@ export default {
|
||||
nilaiseptember:0,
|
||||
nilaioktober:0,
|
||||
nilainovember:0,
|
||||
nilaidisember:0
|
||||
nilaidisember:0,
|
||||
submitStatus:''
|
||||
}
|
||||
},
|
||||
created(){
|
||||
@@ -156,6 +160,95 @@ export default {
|
||||
|
||||
})
|
||||
|
||||
},
|
||||
submit() {
|
||||
console.log('submit!')
|
||||
this.$v.$touch()
|
||||
if (this.$v.$invalid) {
|
||||
this.$toast.error('Sila isi butiran yang disediakan dengan betul!')
|
||||
} else {
|
||||
// do your submit logic here
|
||||
this.submitStatus = 'PENDING'
|
||||
let result = this.PostData()
|
||||
let pro1 = Promise.resolve(result)
|
||||
let self = this
|
||||
|
||||
pro1.then(function(response) {
|
||||
if(response.data == 1)
|
||||
{
|
||||
setTimeout(() => {
|
||||
self.submitStatus = 'OK'
|
||||
self.$toast.success('Berjaya dikemaskini!')
|
||||
self.$router.go(-1)
|
||||
|
||||
}, 500)
|
||||
}else{
|
||||
self.$toast.error('Error occured')
|
||||
}
|
||||
}, function(e) {
|
||||
console.error(e); // TypeError: Throwing
|
||||
});
|
||||
}
|
||||
},
|
||||
async PostData(){
|
||||
|
||||
|
||||
let response = await this.axios.put('http://localhost:8000/admin/kemaskiniBajet',
|
||||
{
|
||||
bajetid: this.$route.params.id,
|
||||
bajetjanuari: this.nilaijanuari,
|
||||
bajetfebruari: this.nilaifebruari,
|
||||
bajetmarch: this.nilaimarch,
|
||||
bajetapril: this.nilaiapril,
|
||||
bajetmei: this.nilaimei,
|
||||
bajetjun: this.nilaijun,
|
||||
bajetjulai: this.nilaijulai,
|
||||
bajetogos: this.nilaiogos,
|
||||
bajetseptember: this.nilaiseptember,
|
||||
bajetoktober: this.nilaioktober,
|
||||
bajetnovember: this.nilainovember,
|
||||
bajetdisember: this.nilaidisember
|
||||
});
|
||||
|
||||
return response
|
||||
}
|
||||
},
|
||||
validations: {
|
||||
nilaijanuari: {
|
||||
required
|
||||
},
|
||||
nilaifebruari: {
|
||||
required
|
||||
},
|
||||
nilaimarch: {
|
||||
required
|
||||
},
|
||||
nilaiapril: {
|
||||
required
|
||||
},
|
||||
nilaimei: {
|
||||
required
|
||||
},
|
||||
nilaijun: {
|
||||
required
|
||||
},
|
||||
nilaijulai: {
|
||||
required
|
||||
},
|
||||
nilaiogos: {
|
||||
required
|
||||
},
|
||||
nilaiseptember: {
|
||||
required
|
||||
},
|
||||
nilaioktober: {
|
||||
required
|
||||
},
|
||||
nilainovember: {
|
||||
required
|
||||
},
|
||||
nilaidisember: {
|
||||
required
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+5
-1
@@ -51,7 +51,7 @@ Vue.use(datetime)
|
||||
Alpine.start()
|
||||
|
||||
Vue.use(require('vue-pusher'), {
|
||||
api_key: 'd95a6bc6ba2885c5f267',
|
||||
api_key: '26b0ec2f297f94b7aa9b',
|
||||
options: {
|
||||
cluster: 'ap1',
|
||||
encrypted: true,
|
||||
@@ -78,9 +78,13 @@ Vue.component('online-component', require('./Online/Online.vue').default)
|
||||
|
||||
|
||||
Vue.component('details-pelanggan', require('./pages/Detailspelanggan.vue').default)
|
||||
Vue.component('blacklist-pelanggan', require('./pages/Blacklist.vue').default)
|
||||
|
||||
Vue.component('harian-component', require('./components/Analisa/Harian.vue').default)
|
||||
|
||||
Vue.component('senaraibajet-component', require('./Bajet/Homebajet.vue').default)
|
||||
Vue.component('clock-component', require('./components/util/Clock.vue').default)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,200 @@
|
||||
<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('http://localhost:8000/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('http://localhost:8000/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('http://localhost:8000/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>
|
||||
@@ -1,86 +1,142 @@
|
||||
<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 ">
|
||||
<h3 class="text-2xl font-bold text-gray-500 flex items-center mx-auto">Pembiayaan</h3>
|
||||
<div class="flex items-center">
|
||||
<div class="grid grid-rows-3">
|
||||
<span class="text-2xl sm:text-xl leading-none font-bold text-gray-900">BULAN : RM {{ gadaianharian }}</span>
|
||||
<span class="text-2xl sm:text-xl leading-none font-bold text-gray-900">HARI INI : RM {{ gadaianharian }}</span>
|
||||
<span class="text-2xl sm:text-xl leading-none font-bold text-gray-900">BAJET : RM {{ bajetgadaian }}</span>
|
||||
<span class="text-2xl sm:text-xl leading-none font-bold text-gray-900">VARIANS : RM {{ bajetgadaian }}</span>
|
||||
<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" v-bind:style="{ width: (percentcumgadai > 100) ? 100 : percentcumgadai + '%' }"> {{ this.percentcumgadai }}%</div>
|
||||
</div>
|
||||
|
||||
<div class="w-1/4 grid grid-rows-2">
|
||||
<span class="text-sm ml-2 font-bold -mt-0.5">RM {{ gadaianremaining }}</span>
|
||||
<!-- <span class="text-xs leading-none font-bold text-gray-900 mx-auto flex place-self-center -mt-3 ml-12">remaining.. </span> -->
|
||||
|
||||
|
||||
</div>
|
||||
<div v-if="percentgadaian > 0" class="ml-5 w-0 flex items-center justify-end flex-1 text-green-500 text-base font-bold">
|
||||
{{ percentgadaian.toFixed(2) }}%
|
||||
|
||||
</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">{{ this.bulan }} </span>
|
||||
</div>
|
||||
<div class="grid grid-rows-2 ml-2 mt-2 w-2/6 flex place-content-end">
|
||||
<h3 v-if="percentgadaian > 0" class="text-base font-bold -mt-1 text-green-500 flex items-center mx-auto">{{ percentgadaian.toFixed(2) }}%
|
||||
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
||||
<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="percentgadaian == 0" class="ml-5 w-0 flex items-center justify-end flex-1 text-yellow-500 text-base font-bold">
|
||||
{{ percentgadaian.toFixed(2) }}%
|
||||
</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>
|
||||
</div>
|
||||
<div v-else class="ml-5 w-0 flex items-center justify-end flex-1 text-red-500 text-base font-bold">
|
||||
{{ percentgadaian.toFixed(2) }}%
|
||||
</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 flex-nowrap">
|
||||
<div class="w-3/4 h-4 bg-gray-200 rounded-full">
|
||||
<div class="bg-yellow-600 text-xs font-medium text-yellow-100 text-center p-0.5 leading-none rounded-l-full rounded-r-full" v-bind:style="{ width: (percentcumtebus > 100) ? 100 : percentcumtebus + '%' }"> {{ percentcumtebus }}%</div>
|
||||
</div>
|
||||
|
||||
<div class="w-1/4 grid grid-rows-2">
|
||||
<span class="text-sm ml-2 font-bold -mt-0.5">RM {{ tebusremaining }}</span>
|
||||
<!-- <span class="text-xs leading-none font-bold text-gray-900 mx-auto flex place-self-center -mt-3 ml-12">remaining.. </span> -->
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="flex pt-2 -mt-2">
|
||||
<div class="grid grid-rows-2 ml-1 mt-2 w-1/4">
|
||||
<span class="text-sm leading-none font-bold text-gray-700"><i class="fas fa-calendar-day"></i> RM {{ penebusanharian }}</span>
|
||||
<span class="text-sm leading-none font-bold text-yellow-900"><i class="fas fa-chart-pie"></i> RM {{ bajetpenebusan }} </span>
|
||||
</div>
|
||||
<div class="ml-4 text-center w-1/3">
|
||||
<h3 class="text-3xl font-bold -mt-1 text-gray-500">Penebusan</h3>
|
||||
<span class="text-base leading-none font-bold text-gray-900 text-center">{{ this.bulan }} </span>
|
||||
</div>
|
||||
<div class="grid grid-rows-2 ml-2 mt-2 w-2/6 flex place-content-end">
|
||||
<h3 v-if="percentpenebusan > 0" class="text-base font-bold -mt-1 text-green-500 flex items-center mx-auto">{{ percentpenebusan.toFixed(2) }}%
|
||||
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" d="M5.293 7.707a1 1 0 010-1.414l4-4a1 1 0 011.414 0l4 4a1 1 0 01-1.414 1.414L11 5.414V17a1 1 0 11-2 0V5.414L6.707 7.707a1 1 0 01-1.414 0z" clip-rule="evenodd"></path>
|
||||
</svg>
|
||||
</h3>
|
||||
<h3 v-if="percentpenebusan == 0" class="text-base font-bold -mt-1 text-yellow-500 flex items-center mx-auto">{{ percentpenebusan.toFixed(2) }}%
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<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">{{ percentpenebusan.toFixed(2) }}%
|
||||
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" d="M14.707 12.293a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 111.414-1.414L9 14.586V3a1 1 0 012 0v11.586l2.293-2.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
|
||||
</svg>
|
||||
</h3>
|
||||
<span class="text-xs leading-none font-bold text-gray-900 ml-4">Varians.</span>
|
||||
</div>
|
||||
</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 class="flex flex-nowrap">
|
||||
<div class="w-3/4 h-4 bg-gray-200 rounded-full">
|
||||
<div class="bg-yellow-600 text-xs font-medium text-yellow-100 text-center p-0.5 leading-none rounded-l-full rounded-r-full" v-bind:style="{ width: (percentcumkeuntungan > 100) ? 100 : percentcumkeuntungan + '%' }"> {{percentcumkeuntungan}}%</div>
|
||||
</div>
|
||||
<div 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) }}%
|
||||
|
||||
<div class="w-1/4 grid grid-rows-2">
|
||||
<span class="text-sm ml-2 font-bold -mt-0.5">RM {{ keuntunganremaining }}</span>
|
||||
<!-- <span class="text-xs leading-none font-bold text-gray-900 mx-auto flex place-self-center -mt-3 ml-12">remaining.. </span> -->
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<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 {{ keuntunganharian }}</span>
|
||||
<span class="text-sm leading-none font-bold text-yellow-900"><i class="fas fa-chart-pie"></i> RM {{ bajetkeuntungan }} </span>
|
||||
</div>
|
||||
<div class="ml-4 text-center w-1/3">
|
||||
<h3 class="text-3xl font-bold -mt-1 text-gray-500">Keuntungan</h3>
|
||||
<span class="text-base leading-none font-bold text-gray-900 text-center">{{ this.bulan }} </span>
|
||||
</div>
|
||||
<div class="grid grid-rows-2 ml-2 mt-2 w-2/6 flex place-content-end">
|
||||
<h3 v-if="percentkeuntungan > 0" class="text-base font-bold -mt-1 text-green-500 flex items-center mx-auto">{{ percentkeuntungan.toFixed(2) }}%
|
||||
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" d="M5.293 7.707a1 1 0 010-1.414l4-4a1 1 0 011.414 0l4 4a1 1 0 01-1.414 1.414L11 5.414V17a1 1 0 11-2 0V5.414L6.707 7.707a1 1 0 01-1.414 0z" clip-rule="evenodd"></path>
|
||||
</svg>
|
||||
</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) }}%
|
||||
</h3>
|
||||
<h3 v-if="percentkeuntungan == 0" class="text-base font-bold -mt-1 text-yellow-500 flex items-center mx-auto">{{ percentkeuntungan.toFixed(2) }}%
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M18 12H6" />
|
||||
</svg>
|
||||
</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) }}%
|
||||
</h3>
|
||||
<h3 v-else class="text-base font-bold -mt-1 text-red-500 flex items-center mx-auto">{{ percentkeuntungan.toFixed(2) }}%
|
||||
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" d="M14.707 12.293a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 111.414-1.414L9 14.586V3a1 1 0 012 0v11.586l2.293-2.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
|
||||
</svg>
|
||||
</h3>
|
||||
<span class="text-xs leading-none font-bold text-gray-900 ml-4">Varians.</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -100,12 +156,19 @@ export default {
|
||||
keuntunganharian:0,
|
||||
bajetkeuntungan:0,
|
||||
percentkeuntungan:0,
|
||||
keuntunganremaining:0,
|
||||
percentcumkeuntungan:0,
|
||||
penebusanharian:0,
|
||||
bajetpenebusan:0,
|
||||
percentpenebusan:0,
|
||||
tebusremaining:0,
|
||||
percentcumtebus:0,
|
||||
gadaianharian:0,
|
||||
bajetgadai:0,
|
||||
percentgadaian:0
|
||||
gadaianremaining:0,
|
||||
bajetgadaian:0,
|
||||
percentgadaian:0,
|
||||
percentcumgadai:0,
|
||||
bulan:'',
|
||||
};
|
||||
},
|
||||
created() {
|
||||
@@ -120,9 +183,12 @@ export default {
|
||||
kodcaw: this.$props.kodcaw
|
||||
}
|
||||
}).then(response => {
|
||||
this.gadaianharian = formatter.format(response.data[0].gadaiToday)
|
||||
this.bajetgadaian = formatter.format(response.data[0].bajetharian)
|
||||
this.percentgadaian = response.data[0].percentDiff
|
||||
this.gadaianharian = formatter.format(response.data[0].gadaiToday),
|
||||
this.bajetgadaian = formatter.format(response.data[0].bajetharian.toFixed(2)),
|
||||
this.percentgadaian = response.data[0].percentDiff,
|
||||
this.bulan = response.data[0].bulan,
|
||||
this.gadaianremaining = formatter.format(response.data[0].remaining.toFixed(2)),
|
||||
this.percentcumgadai = (100 - response.data[0].percentcum)
|
||||
}).catch(error => {
|
||||
console.log(error)
|
||||
})
|
||||
@@ -133,9 +199,11 @@ export default {
|
||||
kodcaw: this.$props.kodcaw
|
||||
}
|
||||
}).then(response => {
|
||||
this.penebusanharian = formatter.format(response.data[0].tebusToday)
|
||||
this.bajetpenebusan = formatter.format(response.data[0].bajetharian)
|
||||
this.percentpenebusan = response.data[0].percentDiff
|
||||
this.penebusanharian = formatter.format(response.data[0].tebusToday),
|
||||
this.bajetpenebusan = formatter.format(response.data[0].bajetharian.toFixed(2)),
|
||||
this.percentpenebusan = response.data[0].percentDiff,
|
||||
this.tebusremaining = formatter.format(response.data[0].remaining.toFixed(2)),
|
||||
this.percentcumtebus = (100 - response.data[0].percentcum)
|
||||
}).catch(error => {
|
||||
console.log(error)
|
||||
})
|
||||
@@ -146,9 +214,11 @@ export default {
|
||||
kodcaw: this.$props.kodcaw
|
||||
}
|
||||
}).then(response => {
|
||||
this.keuntunganharian = formatter.format(response.data[0].upahToday)
|
||||
this.bajetkeuntungan = formatter.format(response.data[0].bajetharian)
|
||||
this.percentkeuntungan = response.data[0].percentDiff
|
||||
this.keuntunganharian = formatter.format(response.data[0].upahToday),
|
||||
this.bajetkeuntungan = formatter.format(response.data[0].bajetharian.toFixed(2)),
|
||||
this.percentkeuntungan = response.data[0].percentDiff,
|
||||
this.keuntunganremaining = formatter.format(response.data[0].remaining.toFixed(2)),
|
||||
this.percentcumkeuntungan = (100 - response.data[0].percentcum)
|
||||
}).catch(error => {
|
||||
console.log(error)
|
||||
})
|
||||
|
||||
@@ -112,6 +112,13 @@ export default {
|
||||
console.log(`${response}`);
|
||||
this.getDatakeuntungan()
|
||||
});
|
||||
|
||||
var channel2 = this.$pusher.subscribe('tebus-notify');
|
||||
|
||||
channel2.bind('trigger-tebus', ({ response }) => {
|
||||
console.log(`${response}`);
|
||||
this.getDatakeuntungan()
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -135,14 +135,13 @@ export default{
|
||||
// window.location.href = route('admin.detailspelanggan', options.cust);
|
||||
|
||||
// return route('admin.detailspelanggan', options.cust)
|
||||
|
||||
return window.route('pelanggan.detailspelanggan', options.cust)
|
||||
},
|
||||
|
||||
ClickUrl: function(e){
|
||||
window.location.href = e.target.getAttribute('href');
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
<template>
|
||||
<p class="font-bold text-base text-center">{{ time }} {{ date }} </p>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
var week = ['AHAD', 'ISNIN', 'SELASA', 'RABU', 'KHAMIS', 'JUMAAT', 'SABTU'];
|
||||
|
||||
export default {
|
||||
data(){
|
||||
return{
|
||||
time:'',
|
||||
date:''
|
||||
}
|
||||
},
|
||||
created(){
|
||||
setInterval(this.updateTime, 1000);
|
||||
},
|
||||
methods: {
|
||||
updateTime: function() {
|
||||
var cd = new Date();
|
||||
|
||||
var ampm = cd.getHours() >= 12 ? 'PM' : 'AM';
|
||||
|
||||
let hours = cd.getHours();
|
||||
let minutes = cd.getMinutes();
|
||||
hours = hours % 12;
|
||||
hours = hours ? hours : 12;
|
||||
minutes = minutes < 10 ? '0'+ minutes : minutes;
|
||||
|
||||
this.time = this.zeroPadding(hours, 2) + ':' + this.zeroPadding(minutes, 2) + ampm;
|
||||
this.date = this.zeroPadding(cd.getDate(), 2) + '-' + this.zeroPadding(cd.getMonth()+1, 2) + '-' + this.zeroPadding(cd.getFullYear(), 4) + ' ' + week[cd.getDay()];
|
||||
},
|
||||
zeroPadding: function(num, digit) {
|
||||
var zero = '';
|
||||
for(var i = 0; i < digit; i++) {
|
||||
zero += '0';
|
||||
}
|
||||
return (zero + num).slice(-digit);
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,8 @@
|
||||
<template>
|
||||
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,375 @@
|
||||
<style>
|
||||
#header {
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#header td, #customers th {
|
||||
|
||||
padding:4px;
|
||||
font-size:10px;
|
||||
}
|
||||
|
||||
#header tr:nth-child(even){background-color: #ffffff;}
|
||||
|
||||
#header tr:hover {background-color: #ddd;}
|
||||
|
||||
#header th {
|
||||
padding-top: 12px;
|
||||
padding-bottom: 12px;
|
||||
text-align: left;
|
||||
padding:4px;
|
||||
color:black;
|
||||
}
|
||||
|
||||
#scan {
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#scan td, #scan th {
|
||||
|
||||
padding: 8px;
|
||||
font-size:11px;
|
||||
}
|
||||
|
||||
#scan tr:nth-child(even){background-color: #ffffff;}
|
||||
|
||||
#scan tr:hover {background-color: #ddd;}
|
||||
|
||||
#scan th {
|
||||
padding-top: 12px;
|
||||
padding-bottom: 12px;
|
||||
text-align: left;
|
||||
padding:4px;
|
||||
color:black;
|
||||
}
|
||||
|
||||
#scan {
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#scan td, #scan th {
|
||||
border-collapse: collapse;
|
||||
padding: 8px;
|
||||
font-size:11px;
|
||||
}
|
||||
|
||||
#scan tr:nth-child(even){background-color: #ffffff;}
|
||||
|
||||
#scan tr:hover {background-color: #ddd;}
|
||||
|
||||
#scan th {
|
||||
border-collapse: collapse;
|
||||
padding-top: 12px;
|
||||
padding-bottom: 12px;
|
||||
text-align: left;
|
||||
padding:4px;
|
||||
color:black;
|
||||
}
|
||||
|
||||
#details {
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
border-collapse: collapse;
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
#details td, #details th {
|
||||
|
||||
padding: 8px;
|
||||
font-size:11px;
|
||||
}
|
||||
|
||||
.signature{ float: left; }
|
||||
.signature{
|
||||
margin: 20px 30px;
|
||||
border-top: 1px solid #000;
|
||||
border-top-style: dotted;
|
||||
border-spacing: 200px;
|
||||
width: 200px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#details tr:nth-child(even){background-color: #ffffff;}
|
||||
|
||||
#details tr:hover {background-color: #ffffff;}
|
||||
|
||||
#details th {
|
||||
padding-top: 12px;
|
||||
font-style:bold;
|
||||
padding-bottom: 12px;
|
||||
text-align: left;
|
||||
padding:4px;
|
||||
color:black;
|
||||
}
|
||||
|
||||
#sign {
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#sign td, #sign th {
|
||||
|
||||
padding: 8px;
|
||||
font-size:11px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#sign tr:nth-child(even){background-color: #ffffff;}
|
||||
|
||||
#sign tr:hover {background-color: #ddd;}
|
||||
|
||||
#sign th {
|
||||
padding-top: 12px;
|
||||
padding-bottom: 12px;
|
||||
text-align: left;
|
||||
padding:4px;
|
||||
color:black;
|
||||
}
|
||||
|
||||
#title {
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
border-collapse: collapse;
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
#title td, #title th {
|
||||
|
||||
padding:4px;
|
||||
font-size:12px;
|
||||
border: 0px solid #fff;
|
||||
}
|
||||
|
||||
#title tr:nth-child(even){background-color: #ffffff;}
|
||||
|
||||
#title tr:hover {background-color: #ddd;}
|
||||
|
||||
#title th {
|
||||
padding-top: 12px;
|
||||
padding-bottom: 12px;
|
||||
text-align: left;
|
||||
padding:4px;
|
||||
color:black;
|
||||
|
||||
}
|
||||
|
||||
#details {
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
border-collapse: collapse;
|
||||
width:80%;
|
||||
|
||||
}
|
||||
|
||||
#details td, #details th {
|
||||
|
||||
padding:4px;
|
||||
font-size:12px;
|
||||
border: 0px solid #ddd;
|
||||
}
|
||||
|
||||
#details tr:nth-child(even){background-color: #ffffff;}
|
||||
|
||||
#details tr:hover {background-color: #ddd;}
|
||||
|
||||
#details th {
|
||||
padding-top: 12px;
|
||||
padding-bottom: 12px;
|
||||
text-align: left;
|
||||
padding:4px;
|
||||
color:black;
|
||||
|
||||
}
|
||||
|
||||
#title {
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
|
||||
width:95%;
|
||||
|
||||
|
||||
}
|
||||
|
||||
#title td, #title th {
|
||||
|
||||
padding:4px;
|
||||
font-size:12px;
|
||||
|
||||
}
|
||||
|
||||
#title tr:nth-child(even){background-color: #ffffff;}
|
||||
|
||||
#title tr:hover {background-color: #ddd;}
|
||||
|
||||
#title th {
|
||||
padding-top: 12px;
|
||||
padding-bottom: 12px;
|
||||
text-align: left;
|
||||
padding:4px;
|
||||
color:black;
|
||||
|
||||
}
|
||||
|
||||
.tarikhcetak{
|
||||
margin-bottom:20px;
|
||||
padding:2px;
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
color:black;
|
||||
font-size:12px;
|
||||
text-align:left;
|
||||
|
||||
}
|
||||
|
||||
#tarikh_cetak {
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
border-collapse: collapse;
|
||||
width:50%;
|
||||
|
||||
}
|
||||
|
||||
#tarikh_cetak td, #tarikh_cetak th {
|
||||
|
||||
padding:4px;
|
||||
font-size:12px;
|
||||
|
||||
}
|
||||
|
||||
#tarikh_cetak tr:nth-child(even){background-color: #ffffff;}
|
||||
|
||||
#tarikh_cetak tr:hover {background-color: #ddd;}
|
||||
|
||||
#tarikh_cetak th {
|
||||
padding-top: 12px;
|
||||
padding-bottom: 12px;
|
||||
text-align: left;
|
||||
padding:4px;
|
||||
color:black;
|
||||
|
||||
}
|
||||
|
||||
#glejer {
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
border-collapse: collapse;
|
||||
width:100%;
|
||||
}
|
||||
|
||||
|
||||
#glejer td {
|
||||
padding:4px;
|
||||
font-size:12px;
|
||||
/* border: 1px solid #ddd; */
|
||||
border-right:1px solid #000000;
|
||||
border-left:1px solid #000000;
|
||||
padding: 6px;
|
||||
|
||||
}
|
||||
|
||||
#glejer tr:nth-child(even){background-color: #ffffff;}
|
||||
|
||||
#glejer tr:hover {background-color: #ddd;}
|
||||
|
||||
#glejer th {
|
||||
/* padding-top: 12px;
|
||||
padding-bottom: 12px; */
|
||||
background-color:#ecf0f1;
|
||||
text-align: center;
|
||||
padding:12px;
|
||||
color:black;
|
||||
font-size:12px;
|
||||
border: 1px solid #000000;
|
||||
margin:20px;
|
||||
|
||||
}
|
||||
|
||||
#glejer td:nth-child(1) {
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
#glejer td:nth-child(3) {
|
||||
text-align:right;
|
||||
}
|
||||
#glejer td:nth-child(4) {
|
||||
text-align:right;
|
||||
}
|
||||
#glejer td:nth-child(5),#glejer td:nth-child(5) {
|
||||
text-align:right;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
<table id="title">
|
||||
<td> <b><u>LEJER AM - {{ $cawangan_detail['namacaw'] }}</u></b></td>
|
||||
</table>
|
||||
<br>
|
||||
|
||||
|
||||
<div class="tarikhcetak">
|
||||
<span style="font-weight: bold;">[ TARIKH DARI : </span>
|
||||
<span>@php
|
||||
// $myDateTime = DateTime::createFromFormat('Y-m-d', $tarikh_mula);
|
||||
// $tarikhmula = $myDateTime->format('d-m-Y');
|
||||
echo($tarikh_mula)
|
||||
@endphp</span>
|
||||
<span style="font-weight: bold;"> ..... </span>
|
||||
<span style="font-weight: bold;">HINGGA : </span><span>@php
|
||||
// $myDateTime = DateTime::createFromFormat('Y-m-d', $tarikh_akhir);
|
||||
// $tarikhakhir = $myDateTime->format('d-m-Y');
|
||||
echo($tarikh_akhir)
|
||||
@endphp<span style="font-weight:bold"> ]</span></span>
|
||||
<span style="margin-left:50px;font-weight: bold;">TARIKH CETAK : </span><span>@php
|
||||
// $myDateTime = DateTime::createFromFormat('Y-m-d', $tarikh_cetak);
|
||||
// $tarikh_cetak = $myDateTime->format('d-m-Y');
|
||||
echo($tarikh_cetak)
|
||||
@endphp</span>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<table id="glejer">
|
||||
<tr>
|
||||
<th>KOD GL</th>
|
||||
<th colspan="2">KETERANGAN</th>
|
||||
<th>DEBIT</th>
|
||||
<th>KREDIT</th>
|
||||
<th>JUMLAH</th>
|
||||
</tr>
|
||||
|
||||
@foreach($lejeram as $index => $lejer)
|
||||
<tr>
|
||||
<td>{{ $lejer['glcode'] }}</td>
|
||||
<td colspan="2">{{ $lejer['descpt'] }}</td>
|
||||
<td>{{ number_format($lejer['debit'],2) }}</td>
|
||||
<td>{{ number_format($lejer['kredit'],2) }}</td>
|
||||
<td>@php $Totalsama = $lejer['debit'] - $lejer['kredit']; echo number_format($Totalsama,2); @endphp</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
|
||||
<tr>
|
||||
<th style="text-align:left;font-weight:700;"colspan="3">Jumlah: </th>
|
||||
<th style="text-align:right;font-weight:700;">{{ number_format($totalsamadebit,2) }}</th>
|
||||
<th style="text-align:right;font-weight:700;">{{ number_format($totalsamakredit,2) }}</th>
|
||||
<th style="text-align:right;font-weight:700;">@php $Total = $totalsamadebit - $totalsamakredit; echo number_format($Total,2); @endphp</th>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br>
|
||||
|
||||
<table id="sign">
|
||||
<tr>
|
||||
<td></td>
|
||||
<td colspan="2"> .................................................................. </td>
|
||||
<td> </td>
|
||||
<td colspan="2">.................................................................. </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td colspan="2"><B> DI SEMAK</B> </td>
|
||||
<td> </td>
|
||||
<td colspan="2"><B>DI SAHKAN </B></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
</table>
|
||||
@@ -119,6 +119,14 @@
|
||||
</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 }}
|
||||
|
||||
@@ -11,6 +11,8 @@
|
||||
</div>
|
||||
<hr>
|
||||
|
||||
{{-- <span class="text-sm ml-2 text-lg">Muhammad Hafifie</span> --}}
|
||||
|
||||
<p class="font-bold pl-5 pr-5 pt-5 pb-2 mt-5">Menu Utama</p>
|
||||
<hr>
|
||||
<div class="sidebara">
|
||||
@@ -109,6 +111,17 @@
|
||||
</li>
|
||||
</a>
|
||||
|
||||
<a href="{{ route('blacklist') }}" class="rounded mb-2 mr-2 {{ Route::is('blacklist') || Route::is('blacklist.*') ? 'bg-gray-200 rounded text-white-500' : 'hover:bg-yellow-300 ' }}">
|
||||
<li class="flex w-full justify-between text-gray-600 hover:text-gray-500 cursor-pointer items-center ">
|
||||
<div class="flex items-center">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M18.364 18.364A9 9 0 005.636 5.636m12.728 12.728A9 9 0 015.636 5.636m12.728 12.728L5.636 5.636" />
|
||||
</svg>
|
||||
<span class="text-sm ml-2 text-lg">Blacklist</span>
|
||||
</div>
|
||||
</li>
|
||||
</a>
|
||||
|
||||
@endif
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
@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' : 'Pelanggan', 'icon' : 'fas fa-users' },{ 'title' : 'Blacklist', 'icon' : 'fas fa-users' }]"></breadcrumb>
|
||||
|
||||
<blacklist-pelanggan></blacklist-pelanggan>
|
||||
|
||||
</div>
|
||||
</main>
|
||||
@include('layouts.footer')
|
||||
|
||||
</div>
|
||||
@endsection
|
||||
+5
-1
@@ -32,11 +32,15 @@ Route::get('/akaunhome', [App\Http\Controllers\HomeController::class, 'indexakau
|
||||
|
||||
//Tunai
|
||||
Route::get('alirantunai',['as'=>'alirantunai','uses'=>'App\Http\Controllers\AliranTunaiController@AdminAliranTunai'])->middleware('auth');
|
||||
|
||||
//Peti Besi
|
||||
Route::get('petibesi',['as'=>'petibesi','uses'=>'App\Http\Controllers\PetiBesiController@AdminPetiBesi'])->middleware('auth');
|
||||
|
||||
//Pelanggan
|
||||
Route::get('pelanggan',['as'=>'pelanggan','uses'=>'App\Http\Controllers\PelangganController@AdminPelanggan'])->middleware('auth');
|
||||
Route::get('/pelanggan/{id}',['as'=>'pelanggan.detailspelanggan','uses'=>'App\Http\Controllers\PelangganController@DetailsPelanggan'])->middleware('auth');
|
||||
Route::get('/blacklist',['as'=>'blacklist','uses'=>'App\Http\Controllers\PelangganController@DetailsBlacklist'])->middleware('auth');
|
||||
|
||||
|
||||
//Kemaskini Aliran Tunai
|
||||
Route::get('/periksaalirantunai',['as'=>'periksa.alirantunai','uses'=>'App\Http\Controllers\AliranTunaiController@periksaAliranTunai']);
|
||||
@@ -59,7 +63,7 @@ Route::get('/akaunhome/cetaklaporanimbangduga',['as'=>'cetak.imbangduga','uses'=
|
||||
Route::get('/akaunhome/cetakgadaian',['as'=>'cetak.gadaian','uses'=>'App\Http\Controllers\AkaunController@cetakLaporanGadai'])->middleware('auth');
|
||||
Route::get('/akaunhome/cetakpenebusan',['as'=>'cetak.penebusan','uses'=>'App\Http\Controllers\AkaunController@cetakLaporanPenebusan'])->middleware('auth');
|
||||
Route::get('/akaunhome/cetakansuran',['as'=>'cetak.ansuran','uses'=>'App\Http\Controllers\AkaunController@cetakLaporanAnsuran'])->middleware('auth');
|
||||
Route::get('/akaunhome/cetakupah',['as'=>'cetak.upah','uses'=>'App\Http\Controllers\AkaunController@cetakimbangduga'])->middleware('auth');
|
||||
Route::get('/akaunhome/cetakupah',['as'=>'cetak.upah','uses'=>'App\Http\Controllers\AkaunController@cetaklaporan_Upah'])->middleware('auth');
|
||||
Route::get('/akaunhome/cetaktuntutbaki',['as'=>'cetak.tuntutbaki','uses'=>'App\Http\Controllers\AkaunController@cetaklaporan_tuntutbaki'])->middleware('auth');
|
||||
Route::get('/akaunhome/cetakpendahuluanserahan',['as'=>'cetak.pendser','uses'=>'App\Http\Controllers\AkaunController@cetaklaporan_laporan_pendserahan'])->middleware('auth');
|
||||
|
||||
|
||||
Reference in New Issue
Block a user