SIPDAM/samooapk/resources/views/Admin/Laporan/print.blade.php

235 lines
9.0 KiB
PHP

<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Cetak Laporan - {{ strtoupper($title ?? 'Laporan') }}</title>
<style>
body {
font-family: 'Times New Roman', Times, serif;
font-size: 12pt;
color: #000;
background: #fff;
margin: 0;
padding: 20px;
}
.kop-surat {
text-align: center;
border-bottom: 3px solid #000;
padding-bottom: 15px;
margin-bottom: 20px;
position: relative;
}
.kop-surat img {
position: absolute;
left: 20px;
top: 0;
height: 80px;
}
.kop-surat h1 {
font-size: 18pt;
margin: 0;
text-transform: uppercase;
}
.kop-surat h2 {
font-size: 14pt;
margin: 5px 0;
}
.kop-surat p {
font-size: 10pt;
margin: 0;
}
.report-title {
text-align: center;
font-size: 14pt;
font-weight: bold;
margin: 20px 0 10px 0;
text-transform: uppercase;
text-decoration: underline;
}
.filter-info {
margin-bottom: 15px;
font-size: 11pt;
}
table {
width: 100%;
border-collapse: collapse;
margin-bottom: 20px;
}
table, th, td {
border: 1px solid #000;
}
th, td {
padding: 8px;
text-align: left;
}
th {
background-color: #f2f2f2;
-webkit-print-color-adjust: exact;
}
.text-center {
text-align: center;
}
.text-right {
text-align: right;
}
.signature {
margin-top: 50px;
width: 100%;
display: table;
}
.signature-col {
display: table-cell;
width: 50%;
text-align: center;
}
.signature-space {
height: 80px;
}
@media print {
body {
padding: 0;
}
.no-print {
display: none;
}
@page {
size: A4;
margin: 2cm;
}
}
</style>
</head>
<body onload="window.print()">
<div class="no-print" style="margin-bottom: 20px; text-align: right;">
<button onclick="window.print()" style="padding: 8px 15px; background: #0f172a; color: white; border: none; border-radius: 4px; cursor: pointer;">
🖨️ Cetak Sekarang
</button>
<button onclick="window.close()" style="padding: 8px 15px; background: #ef4444; color: white; border: none; border-radius: 4px; cursor: pointer; margin-left: 10px;">
Tutup
</button>
</div>
<div class="kop-surat">
<img src="{{ asset('images/logo tirta sanjiwani.png') }}" alt="Logo PDAM" style="position: absolute; left: 10px; top: 0; width: 80px; height: auto;">
<h1>PERUSAHAAN DAERAH AIR MINUM</h1>
<h2>(PDAM)</h2>
<p>Jl. Kendedes No.8, Gianyar, Kec. Gianyar, Kabupaten Gianyar, Bali 80511</p>
<p>Telp: +62 823-3152-7309 | Email: tekleperumda@gmail.com</p>
</div>
<div class="report-title">
LAPORAN {{ $title ?? 'DATA' }}
</div>
<div class="filter-info">
@if(!empty($filters['tanggal_dari']) || !empty($filters['tanggal_sampai']))
<strong>Periode:</strong>
{{ !empty($filters['tanggal_dari']) ? \Carbon\Carbon::parse($filters['tanggal_dari'])->format('d M Y') : 'Awal' }}
s/d
{{ !empty($filters['tanggal_sampai']) ? \Carbon\Carbon::parse($filters['tanggal_sampai'])->format('d M Y') : 'Sekarang' }}<br>
@else
<strong>Periode:</strong> Semua Waktu<br>
@endif
@if(!empty($filters['status']))
<strong>Status:</strong> {{ strtoupper(str_replace('_', ' ', $filters['status'])) }}<br>
@endif
@if(!empty($filters['search']))
<strong>Pencarian:</strong> "{{ $filters['search'] }}"<br>
@endif
</div>
<table>
<thead>
<tr>
<th width="5%" class="text-center">No</th>
@foreach($columns as $col)
<th>{{ $col }}</th>
@endforeach
</tr>
</thead>
<tbody>
@forelse($data as $index => $item)
<tr>
<td class="text-center">{{ $index + 1 }}</td>
@if($type == 'kasbon')
<td>{{ $item->nama_teknisi ?? '-' }}</td>
<td>{{ \Carbon\Carbon::parse($item->tanggal_kasbon)->format('d/m/Y') }}</td>
<td class="text-right">Rp {{ number_format($item->jumlah_kasbon, 0, ',', '.') }}</td>
<td class="text-center">{{ strtoupper($item->status) }}</td>
<td>{{ $item->keperluan ?? '-' }}</td>
@elseif($type == 'teknisi')
<td>{{ $item->nama }}</td>
<td class="text-center">{{ strtoupper($item->status) }}</td>
<td class="text-center">{{ $item->hadir }}</td>
<td class="text-center">{{ $item->izin }}</td>
<td class="text-center">{{ $item->sakit ?? 0 }}</td>
<td class="text-center">{{ $item->alpha }}</td>
<td class="text-center">{{ $item->total_absensi }}</td>
<td class="text-center">
{{ $item->total_absensi > 0 ? round(($item->hadir / $item->total_absensi) * 100, 1) : 0 }}%
</td>
@elseif($type == 'absensi')
<td>{{ $item->nama_teknisi ?? '-' }}</td>
<td>{{ \Carbon\Carbon::parse($item->tanggal)->format('d/m/Y') }}</td>
<td class="text-center">{{ strtoupper($item->status) }}</td>
<td>{{ $item->keterangan ?? '-' }}</td>
@elseif($type == 'pekerjaan')
<td>{{ $item->id_penugasan }}</td>
<td>{{ $item->jenis_pekerjaan ?? '-' }}</td>
<td>{{ $item->nama_teknisi ?? '-' }}</td>
<td class="text-center">{{ strtoupper(str_replace('_', ' ', $item->status_pekerjaan)) }}</td>
<td>{{ $item->tanggal_mulai ? \Carbon\Carbon::parse($item->tanggal_mulai)->format('d/m/Y') : '-' }}</td>
<td>{{ $item->tanggal_diselesaikan ? \Carbon\Carbon::parse($item->tanggal_diselesaikan)->format('d/m/Y') : '-' }}</td>
@elseif($type == 'penggajian')
<td>{{ $item->nama_teknisi ?? '-' }}</td>
<td>
@php
$bulan = [1=>'Januari',2=>'Februari',3=>'Maret',4=>'April',5=>'Mei',6=>'Juni',7=>'Juli',8=>'Agustus',9=>'September',10=>'Oktober',11=>'November',12=>'Desember'];
$namaBulan = $bulan[(int)$item->periode_bulan] ?? '-';
@endphp
{{ $namaBulan }} {{ $item->periode_tahun }}
</td>
<td class="text-right">Rp {{ number_format($item->gaji_bersih, 0, ',', '.') }}</td>
<td class="text-center">{{ strtoupper(str_replace('_', ' ', $item->status_pembayaran)) }}</td>
@elseif($type == 'data_teknisi')
<td>{{ $item->nama ?? '-' }}</td>
<td>{{ $item->email ?? '-' }}</td>
<td>{{ $item->no_telephone ?? '-' }}</td>
<td class="text-center">{{ $item->tanggal_masuk ? \Carbon\Carbon::parse($item->tanggal_masuk)->format('d/m/Y') : '-' }}</td>
<td class="text-center">{{ strtoupper(str_replace('_', ' ', $item->status ?? '-')) }}</td>
@endif
</tr>
@empty
<tr>
<td colspan="{{ count($columns) + 1 }}" class="text-center">Tidak ada data yang sesuai dengan filter.</td>
</tr>
@endforelse
</tbody>
</table>
<div class="signature">
<div class="signature-col" style="width: 60%;">
<!-- Kolom kosong di kiri -->
</div>
<div class="signature-col" style="width: 40%; text-align: center;">
<p>Gianyar, {{ \Carbon\Carbon::now()->format('d F Y') }}</p>
<p><strong>Mandor Lapangan</strong></p>
<div class="signature-space"></div>
<p><strong>(Kusaini)</strong></p>
</div>
</div>
</body>
</html>