pdf/excel wtd dalam proses

This commit is contained in:
Amirah22
2023-07-24 16:27:09 +08:00
parent 1e39f849d3
commit 0a73ab4159
5 changed files with 529 additions and 0 deletions
+24
View File
@@ -54,4 +54,28 @@ class WTDController extends Controller
}
}
}
public function CetakWtdDalamProses(Request $request)
{
$api_url = config('api.url');
$current = Carbon::now();
$tarikh_cetak = $current->toDateString();
$cawangan=Http::get(config('api.url').'/api/cawangan/detail/'. $request->cawangan)->json();
$cawangan_detail=$cawangan[0];
$wtdDalamProses = Http::get(config('api.url'). '/admin/wtd/dalamproses' ,['batchno' => $request->batchno,'kodcaw' => $request->cawangan])->json();
if(isset($request->jenis))
{
if($request->jenis == 'pdf')
{
$pdf = PDF::loadView('wtd.dalamprosespdf', compact('tarikh_cetak','cawangan_detail','wtdDalamProses','api_url'))->setPaper('a4', 'landscape');
return $pdf->download('wtd_' . $request->cawangan .'_'. $tarikh_cetak . '.pdf');
}else{
return view('wtd.dalamprosesexcel', compact('tarikh_cetak','cawangan_detail','wtdDalamProses','api_url'));
}
}
}
}
+22
View File
@@ -9,6 +9,11 @@
<div class="flex justify-between">
<div class="p-4">
<button @click.prevent="cetakpdf" class="border border-yellow-600 text-white bg-yellow-600 font-montserrat py-2 px-4 font-medium rounded-xl hover:bg-yellow-600 hover:text-white transition-all duration-300">PDF</button>
<button @click.prevent="cetaksenarai" class="border border-yellow-600 text-white bg-yellow-600 font-montserrat py-2 px-4 font-medium rounded-xl hover:bg-yellow-600 hover:text-white transition-all duration-300">Excel</button>
</div>
<div class="p-4">
<h1 class="text-xl font-bold bg-clip-text text-transparent bg-gradient-to-br from-gray-500 to-gray-700">JUMLAH = RM {{ formattext(this.totalbaki) }}</h1>
</div>
@@ -210,6 +215,23 @@ export default {
}
});
},
cetaksenarai: function () {
let cawangan = this.$kodcaw;
let batchno = this.batchno;
let urldirect = window.route('wtd.dalamproses');
window.open(urldirect + '?cawangan=' + cawangan + '&&batchno=' + batchno + '&&jenis=excel', '_blank');
},
cetakpdf: function () {
let cawangan = this.$kodcaw;
let batchno = this.batchno;
let urldirect = window.route('wtd.dalamproses');
window.open(urldirect + '?cawangan=' + cawangan + '&&batchno=' + batchno + '&&jenis=pdf' , '_blank');
},
formattext: function (value) {
return formatter.format(value);
}
@@ -0,0 +1,237 @@
<script src="{{ asset('js/table2excel.js') }}"></script>
<style>
#header {
font-family: Arial, Helvetica, sans-serif;
border-collapse: collapse;
width: 100%;
}
#header td, #customers th {
padding:4px;
font-size:10px;
}
#header tr:nth-child(even){background-color: #ffffff;}
#header tr:hover {background-color: #ddd;}
#header th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
padding:4px;
color:black;
}
</style>
<style>
#scan {
font-family: Arial, Helvetica, sans-serif;
border-collapse: collapse;
width: 100%;
}
#scan td, #scan th {
padding: 8px;
font-size:11px;
}
#scan tr:nth-child(even){background-color: #ffffff;}
#scan tr:hover {background-color: #ddd;}
#scan th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
padding:4px;
color:black;
}
</style>
<style>
#scan {
font-family: Arial, Helvetica, sans-serif;
border-collapse: collapse;
width: 100%;
}
#scan td, #scan th {
border-collapse: collapse;
padding: 8px;
font-size:11px;
}
#scan tr:nth-child(even){background-color: #ffffff;}
#scan tr:hover {background-color: #ddd;}
#scan th {
border-collapse: collapse;
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
padding:4px;
color:black;
}
</style>
<style>
#details {
font-family: Arial, Helvetica, sans-serif;
/* border-collapse: collapse; */
/* border: 1px solid black; */
width: 100%;
}
#details td, #details th {
padding: 8px;
font-size:11px;
}
#details tr:nth-child(even){background-color: #ffffff;}
#details tr:hover {background-color: #ddd;}
#details th {
padding-top: 12px;
font-style:bold;
padding-bottom: 12px;
text-align: left;
padding:4px;
color:black;
}
</style>
<style>
#sign {
font-family: Arial, Helvetica, sans-serif;
border-collapse: collapse;
width: 100%;
}
#sign td, #sign th {
padding: 8px;
font-size:11px;
text-align: center;
}
#sign tr:nth-child(even){background-color: #ffffff;}
#sign tr:hover {background-color: #ddd;}
#sign th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
padding:4px;
color:black;
}
</style>
<table id="header">
<tr>
<th rowspan="4" style="width:50px"><br><img src="{{ asset('img/ARRAHN1.png') }}" style="width:70px"></img></th>
<th colspan="1">KOPERASI PERMODALAN KELANTAN BERHAD</th>
</tr>
<tr>
<td>{{ $cawangan_detail['namacaw'] }}</td>
<td></td>
</tr>
<tr>
<td>{{ $cawangan_detail['alamat1'] }}</td>
<td></td>
</tr>
<tr>
<td>{{ $cawangan_detail['alamat2'].' No Tel : '. $cawangan_detail['notel'].' No Faks : '. $cawangan_detail['nofaks'] }}</td>
<td></td>
</tr>
</table>
<br>
<table id="scan">
<tr>
<th colspan ="5"><b>Senarai SAG</b></th>
<th></th>
<th></th>
<th><b> Tarikh Cetak:</b>
@php
$myDateTime = DateTime::createFromFormat('Y-m-d', $tarikh_cetak);
$formattedweddingdate = $myDateTime->format('d-m-Y');
echo($formattedweddingdate)
@endphp
</th>
<th></th>
</tr>
<tr>
<th></th>
<th></th>
<th></th>
</tr>
</table>
<br>
<table id="details">
<thead>
<th>Bil</th>
<th>Nama</th>
<th>No KP</th>
<th>No Norujukan</th>
<th>Tarikh Lelong</th>
<th>Baki (RM)</th>
</thead>
@foreach ($wtdDalamProses as $item)
<tr>
<td align='center'>{{ $loop->iteration }}</td>
<td style='word-wrap' align="left">{{ $item['customer']['nama'] }}</td>
<td align='center' style='word-wrap'>{{ $item['customer']['nokp'] }}</td>
<td align='center' style='word-wrap'>{{ $item['norujukan'] }}</td>
<td align='center' style='word-wrap'>{{ $item['t_jual'] }}</td>
<td align='center' style='word-wrap'>{{ $item['baki'] }}</td>
</tr>
@endforeach
<tr>
<th colspan='2'>Jumlah</th>
<th></th>
<th></th>
{{-- <th>{{ number_format($totalbaki,2) }}</th> --}}
</tr>
</table>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
$(document).ready(function () {
// window.print();
// window.onfocus=function(){ window.close();}
let namacawangan = "{{ $cawangan_detail['namacaw'] }}";
var table2excel = new Table2Excel();
table2excel.export(document.querySelectorAll("#details"),'laporan_wtd_' + '_' + namacawangan);
setTimeout(function(){ window.close() }, 1000);
});
</script>
@@ -0,0 +1,244 @@
<style>
#header {
font-family: Arial, Helvetica, sans-serif;
border-collapse: collapse;
width: 100%;
}
#header td,
#customers th {
padding: 4px;
font-size: 10px;
}
#header tr:nth-child(even) {
background-color: #ffffff;
}
#header tr:hover {
background-color: #ddd;
}
#header th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
padding: 4px;
color: black;
}
</style>
<style>
#scan {
font-family: Arial, Helvetica, sans-serif;
border-collapse: collapse;
width: 100%;
}
#scan td,
#scan th {
padding: 8px;
font-size: 10px;
}
#scan tr:nth-child(even) {
background-color: #ffffff;
}
#scan tr:hover {
background-color: #ddd;
}
#scan th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
padding: 4px;
color: black;
}
</style>
<style>
#scan {
font-family: Arial, Helvetica, sans-serif;
border-collapse: collapse;
width: 100%;
}
#scan td,
#scan th {
border-collapse: collapse;
padding: 8px;
font-size: 10px;
}
#scan tr:nth-child(even) {
background-color: #ffffff;
}
#scan tr:hover {
background-color: #ddd;
}
#scan th {
border-collapse: collapse;
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
padding: 4px;
color: black;
}
</style>
<style>
#details {
font-family: Arial, Helvetica, sans-serif;
/* border-collapse: collapse; */
/* border: 1px solid black; */
width: 100%;
}
#details td,
#details th {
padding: 8px;
font-size: 10px;
}
#details tr:nth-child(even) {
background-color: #ffffff;
}
#details tr:hover {
background-color: #ddd;
}
#details th {
padding-top: 12px;
font-style: bold;
padding-bottom: 12px;
text-align: left;
padding: 4px;
color: black;
}
</style>
<style>
#sign {
font-family: Arial, Helvetica, sans-serif;
border-collapse: collapse;
width: 100%;
}
#sign td,
#sign th {
padding: 8px;
text-align: center;
}
#sign tr:nth-child(even) {
background-color: #ffffff;
}
#sign tr:hover {
background-color: #ddd;
}
#sign th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
padding: 4px;
color: black;
}
</style>
<table id="header">
<tr>
<th rowspan="4" style="width:50px"><br><img src="{{ asset('img/ARRAHN1.png') }}" style="width:70px"></img></th>
<th colspan="1">PERMODALAN KELANTAN BERHAD</th>
</tr>
<tr>
<td>{{ $cawangan_detail['namacaw'] }}</td>
<td></td>
</tr>
<tr>
<td>{{ $cawangan_detail['alamat1'] }}</td>
<td></td>
</tr>
<tr>
<td>{{ $cawangan_detail['alamat2'] . ' No Tel : ' . $cawangan_detail['notel'] . ' No Faks : ' . $cawangan_detail['nofaks'] }}
</td>
<td></td>
</tr>
</table>
<br>
<table id="scan">
<tr>
<th><b> Tarikh Cetak:</b>
@php
$myDateTime = DateTime::createFromFormat('Y-m-d', $tarikh_cetak);
$formattedweddingdate = $myDateTime->format('d-m-Y');
echo $formattedweddingdate;
@endphp
</th>
<th></th>
</tr>
</table>
<table cellspacing="0" cellpadding="5" style="float:right;" border="0" width="100%" height="80" align="left"
id="sim2">
<thead class="bg-primary text-white">
<tr>
<th>Bil</th>
<th>Nama</th>
<th>No KP</th>
<th>Norujukan</th>
<th>Tarikh Lelong</th>
<th>Baki (RM)</th>
</tr>
</thead>
<tbody>
{{-- {{dd($wtdDalamProses)}} --}}
@foreach ($wtdDalamProses as $item)
<tr>
<td align='center'>{{ $loop->iteration }}</td>
<td style='word-wrap' align="left">{{ $item['customer']['nama'] }}</td>
<td align='center' style='word-wrap'>{{ $item['customer']['nokp'] }}</td>
<td align='center' style='word-wrap'>{{ $item['norujukan'] }}</td>
<td align='center' style='word-wrap'> @php
$myDateTime = DateTime::createFromFormat('Y-m-d', $item['t_jual']);
$format_t_jual = $myDateTime->format('d-m-Y');
echo $format_t_jual;
@endphp
</td>
<td align='center' style='word-wrap'>{{ $item['baki'] }}</td>
</tr>
@endforeach
</tbody>
</table>
+2
View File
@@ -135,6 +135,8 @@ Route::get('/permohonan/cetakanpenuh',['as'=>'permohonan.cetakanpenuh','uses'=>'
//WTD
Route::get('/wtd',['as'=>'wtd.index','uses'=>'App\Http\Controllers\WTDController@index']);
Route::get('/wtd/cetakan', ['as'=>'wtd.cetak','uses'=>'App\Http\Controllers\WTDController@CetakSenarai']);
Route::get('/wtd/dalamproses', ['as'=>'wtd.dalamproses','uses'=>'App\Http\Controllers\WTDController@CetakWtdDalamProses']);
//Audit
Route::get('/audit',['as'=>'audit.index','uses'=>'App\Http\Controllers\AkaunController@AuditGenerator']);