@extends('layouts.app', ['class' => 'g-sidenav-show bg-gray-100']) @section('content') @include('layouts.navbars.auth.topnav', ['title' => '']) {{-- QUEUE WARNING GLOBAL --}} @if ($show_ttd_warning ?? false) @endif
{{-- Workshop Notification - hanya tampil di halaman dashboard admin yang memiliki role vendor --}} @include('components.workshop-notification')
Permit - Tahun: {{ date('Y') }}
{{-- Workshop Notification Icon --}} @if (isset($workshop_broadcasts) && $workshop_broadcasts->count() > 0)
{{ $workshop_broadcasts->count() }}
@endif @if (isset($broadcasts) && $broadcasts->count() > 0) {{-- Menambahkan ukuran tetap dan flexbox untuk memusatkan konten --}}
{{-- Menambahkan fa-fw agar lebar ikon konsisten --}} {{ $broadcasts->count() }}
@endif
{{-- Card 1: Total Permit --}}

Total Permit (Berlaku & Selesai)

{{ $totalPermit }}
Internal: {{ $internalPermitCount }} Eksternal: {{ $externalPermitCount }}
{{-- Card 2: Total Insiden Kerja --}}

Total Insiden Kerja

{{ $incidentCount }}
{{-- Breakdown Internal/Eksternal --}}
Internal: {{ $incidentInternal }} Eksternal: {{ $incidentExternal }}
{{-- Card 3: Permit Tidak Jadi Kerja --}}

Permit batal Kerja

{{ $cancelledCount }}
Internal: {{ $cancelledInternal }} Eksternal: {{ $cancelledExternal }}
@if (isset($permitPerpanjang) && $permitPerpanjang->count() > 0)
Permit Perpanjangan
{{ $permitPerpanjang->count() }}
@foreach ($permitPerpanjang as $item) @php $isExpired = $item->masa_berlaku && \Carbon\Carbon::parse($item->masa_berlaku)->startOfDay() < now()->startOfDay(); @endphp @endforeach
No ID Permit Reference Pekerjaan Vendor/Departemen Status Masa Berlaku
{{ $loop->iteration }} {{ $item->id }} {{ $item->id_original_perpanjang ?? '-' }} {{ $item->uraian_pekerjaan ?? '-' }} {{ $item->nama_instansi ?? '-' }} {{ $item->status_name ?? $item->status }} {{ $item->masa_berlaku ? \Carbon\Carbon::parse($item->masa_berlaku)->translatedFormat('d M Y') : '-' }}
Note : Permit Expired
@endif {{-- Monitoring Proses Approval (setelah kamu approve) --}} @if ($monitoringApproval->isNotEmpty()) @php $apprLabel = ['TR' => 'Terima', 'P' => 'Pending', 'T' => 'Tolak']; $apprClass = ['TR' => 'badge-approve', 'P' => 'badge-pending', 'T' => 'badge-reject']; $stageIcon = ['PIC Kerja' => 'fa-user-check', 'PIC Area' => 'fa-users', 'K3' => 'fa-shield-alt']; @endphp
Monitoring Proses Approval

Menampilkan permit yang sudah diapprove dan menunggu approval berikutnya.

Data tidak ditemukan.

    @foreach ($monitoringApproval as $permohonan) @php $ap = $permohonan->approval_info ?? null; @endphp
  • {{-- kiri: identitas permit --}}
    {{ $permohonan->pihak_label }}: {{ $permohonan->nama_instansi ?? '-' }} {{ $permohonan->jenis }} {{ $permohonan->kategori }}
    {{ $permohonan->uraian_pekerjaan }}
    Mulai: {{ \Carbon\Carbon::parse($permohonan->mulai_kerja)->translatedFormat('d F Y') }} • ID: {{ $permohonan->id }}
    PIC Kerja: {{ $permohonan->nama_pic_kerja ?? '-' }} • PIC Area: {{ $permohonan->nama_pic_area ?? '-' }}
    {{-- kanan: status + progress + tombol --}} @if ($ap)
    {{-- 1) Badge tahap di baris sendiri --}}
    {{ $ap->stage_label }}
    {{-- 2) Tiga mini-badge dalam grid responsif --}}
    PIC Kerja: {{ $apprLabel[$ap->a1] ?? $ap->a1 }} PIC Area: {{ $apprLabel[$ap->a2] ?? $ap->a2 }} K3: {{ $apprLabel[$ap->a3] ?? $ap->a3 }}
    {{-- 3) Progress --}}
    Tahap {{ $ap->step }} / {{ $ap->total_steps }} {{ $ap->progress_pct }}%
    {{-- 4) Tombol --}}
    @endif
  • @endforeach
@endif @if ($pengajuanUlangPIC->isNotEmpty())
Pengajuan Ulang Karena Revisi Sebelumnya

Data tidak ditemukan.

    @foreach ($pengajuanUlangPIC as $permit)
  • ID Permit: {{ $permit->id }}
    Uraian Kerja: {{ $permit->uraian_pekerjaan }}
    Revisi terakhir oleh: {{ $permit->last_revisi_by }}
    @if (!empty($permit->last_catatan))
    Catatan Revisi: {{ $permit->last_catatan }}
    @endif
  • @endforeach
@endif @if ($pengajuanSelesaiUlangPIC->isNotEmpty())
Permohonan Selesai Ulang karena Revisi Sebelumnya

Data tidak ditemukan.

    @foreach ($pengajuanSelesaiUlangPIC as $permit)
  • ID Permit: {{ $permit->id }}
    Vendor: {{ $permit->vendor_name ?? '-' }}
    Uraian Kerja: {{ $permit->uraian_pekerjaan }}
    Revisi Terakhir oleh: {{ $permit->last_rejected_by }}
    @if (!empty($permit->last_note))
    Catatan: {{ $permit->last_note }}
    @endif
  • @endforeach
@endif {{-- ===== Dokumen Permit Menyusul & Permohonan Approval ===== --}}
{{-- Dokumen Permit Menyusul --}}
Dokumen Permit Menyusul/Tidak Lengkap
@if ($dokumenMenyusul->isNotEmpty())

Data tidak ditemukan.

@endif
@if ($dokumenMenyusul->isEmpty())

Dokumen Telah Lengkap Semua

@else
    @foreach ($dokumenMenyusul as $permohonan)
  • ID Permit: {{ $permohonan->id }}
    Vendor: {{ $permohonan->vendor_name }}
    Nama Kegiatan: {{ $permohonan->uraian_pekerjaan }}
    Status: {{ $permohonan->status_name }}
    Mulai Bekerja: {{ \Carbon\Carbon::parse($permohonan->mulai_kerja)->translatedFormat('d F Y') }}
  • @endforeach
@endif
{{-- Permohonan Approval --}}
Permohonan Approval Permit Baru
@if ($permohonanHariIni->isNotEmpty())

Data tidak ditemukan.

@endif
@if ($permohonanHariIni->isEmpty())

Hari ini tidak ada permohonan

@else
    @foreach ($permohonanHariIni as $permohonan)
  • {{ $permohonan->pihak_label }}: {{ $permohonan->nama_instansi ?? '-' }}
    Nama Kegiatan: {{ $permohonan->uraian_pekerjaan }}
    Kategori: {{ $permohonan->kategori }}
    Jenis: {{ $permohonan->jenis }}
    Mulai Bekerja: {{ \Carbon\Carbon::parse($permohonan->mulai_kerja)->translatedFormat('d F Y') }}
  • @endforeach
@endif
{{-- ===== Permit Expired ===== --}} @php $role = $user_login->idroles ?? (Auth::user()->idroles ?? null); @endphp @if (in_array($role, ['admins', 'admnk3', 'admmis']))
Permit Expired/Lewat Masa Berlaku
@if ($PermitExp->isNotEmpty())

Data tidak ditemukan.

@endif {{-- Batasi tinggi + scroll di dalam card --}}
@if ($PermitExp->isEmpty())

Belum ada permit yang expired

@else
    @foreach ($PermitExp as $p) @php $akhir = \Carbon\Carbon::parse($p->masa_berlaku)->startOfDay(); $telat = $akhir->diffInDays(now()->startOfDay(), false); $badgeCl = $telat > 14 ? 'bg-danger' : ($telat > 0 ? 'bg-warning' : 'bg-secondary'); @endphp
  • {{ $p->id }} — {{ $p->uraian_pekerjaan }}
    Vendor: {{ $p->vendor_name }} • Mulai: {{ \Carbon\Carbon::parse($p->mulai_kerja)->translatedFormat('d F Y') }} • Berakhir: {{ $akhir->translatedFormat('d F Y') }}
    {{ $telat > 0 ? "Terlambat {$telat} hari" : 'Expired' }}
  • @endforeach
@endif
@endif {{-- ===== Workshop Kontraktor ===== --}} @if (isset($workshopPermits) && $workshopPermits->isNotEmpty())
Penggunaan Workshop Kontraktor
@foreach ($workshopPermits as $wp) @php $isExpired = $wp->masa_berlaku && \Carbon\Carbon::parse($wp->masa_berlaku)->startOfDay() < now()->startOfDay(); @endphp @endforeach
No ID Permit Nama Vendor Uraian Pekerjaan Masa Berlaku Opsi Workshop
{{ $loop->iteration }} {{ $wp->id }}
{{ $wp->nama_instansi }}
{{ $wp->jenis }}
{{ $wp->uraian_pekerjaan }} {{ $wp->masa_berlaku ? \Carbon\Carbon::parse($wp->masa_berlaku)->translatedFormat('d M Y') : '-' }} @php $workshopLabel = trim((string) ($wp->workshop_nama ?? '')); if ($workshopLabel === '') { $workshopLabel = $wp->workshop_kontraktor_opsi ?? '-'; } @endphp @if (strtolower((string) $wp->workshop_kontraktor_opsi) === 'wrk0001') {{ $workshopLabel }} {{ $wp->workshop_kontraktor_other }} @else {{ $workshopLabel }} @endif
Note : Permit Expired
@endif @php $role = $user_login->idroles ?? (Auth::user()->idroles ?? null); if (is_string($role)) { $rolesArray = array_map(fn($r) => strtolower(trim($r)), explode(',', $role)); } else { $rolesArray = array_map(fn($r) => strtolower(trim((string) $r)), (array) $role); } $canSeePoKosong = (bool) array_intersect($rolesArray, ['admins', 'admmis', 'admnk3']); $isK3OrAdmin = (bool) array_intersect($rolesArray, ['admins', 'admnk3']); @endphp @if ($canSeePoKosong && isset($permitPoKosong) && $permitPoKosong->count() > 0) {{-- Modal List Permit PO Kosong --}} @endif
@endsection