Database Konsolidasi (All Forms)
| # | No Expense | Kategori | Nama Pengaju | Region / Cabang | Tgl. Dibuat | Nominal (Appr) | Bukti | Status | Detail Rejeksi |
|---|---|---|---|---|---|---|---|---|---|
| {{ $loop->iteration }} | {{ $item->expense_number }} | {{ str_replace(['form_', '_'], ['', ' '], (string)$item->type) }} | {{ $item->user->name ?? '-' }} | {{ $item->user->region->cabang->region->name ?? '-' }} {{ $item->user->cabang->cabang->name ?? '-' }} |
@php $createdAt = \Carbon\Carbon::parse($item->created_at); @endphp
{{ $createdAt->locale('id')->translatedFormat('d F Y') }}
{{ $createdAt->format('H:i') }} WIB
|
{{ $item->approved_total ? 'Rp ' . number_format($item->approved_total, 0, ',', '.') : '-' }} | @php $fileData = []; $imgExts = ['jpg', 'jpeg', 'png', 'gif', 'webp', 'bmp']; if (!empty($item->main_proof)) { $ext = strtolower(pathinfo($item->main_proof, PATHINFO_EXTENSION)); $fileData[] = [ 'url' => NextCloudHelper::getFileUrl($item->main_proof), 'is_img' => in_array($ext, $imgExts) ]; } if(isset($item->extra_attachments)) { foreach ($item->extra_attachments as $att) { $ext = strtolower(pathinfo($att->file_path, PATHINFO_EXTENSION)); $fileData[] = [ 'url' => NextCloudHelper::getFileUrl($att->file_path), 'is_img' => in_array($ext, $imgExts) ]; } } $uniqueFiles = collect($fileData)->unique('url')->values()->all(); @endphp @if (count($uniqueFiles) > 0) @else - @endif |
@php
$badgeClass = match($item->status) {
'On Progress' => 'badge-warning text-white',
'Approved 1', 'Approved 2', 'Closed', 'Final Approved' => 'badge-success text-white',
'Rejected' => 'badge-danger text-white',
default => 'badge-secondary'
};
@endphp
{{ $item->status }}
{{-- Tgl Final Approved --}}
@if(isset($item->report_date) && in_array($item->status, ['Approved 2', 'Closed', 'Final Approved']))
Final Approved:
{{ \Carbon\Carbon::parse($item->report_date)->translatedFormat('d M Y') }}
@endif
{{-- Penanda Tgl Waktu Rejeksi --}}
@if($item->status == 'Rejected' && isset($item->rejected_at))
Rejected At:
{{ \Carbon\Carbon::parse($item->rejected_at)->translatedFormat('d M Y H:i') }} WIB
@endif
|
{{-- Kolom Detail Rejeksi Sinkron --}}
@if($item->status == 'Rejected')
Oleh:
{{ $item->rejector->name ?? $item->rejected_by ?? 'System' }}
Alasan:
"{{ $item->remarks ?? '-' }}"
|