@extends('layouts.app') @section('title', 'Data Inspeksi') @section('page-title', auth()->user()->role === 'admin' ? 'Cek Alat Montir' : 'Inspeksi Saya') @section('content')
{{-- HEADER --}}
Daftar Inspeksi
@if(auth()->user()->role === 'admin') @endif @forelse($inspeksi as $index => $item) @php $totalSteps = 20; $currentStep = $item->current_step ?? 0; $progress = min(($currentStep / $totalSteps) * 100, 100); $status = $item->status ?? 'pending'; $badgeColor = match($status) { 'pending' => 'bg-warning', 'draft' => 'bg-primary', 'selesai' => 'bg-success', 'suspended' => 'bg-danger', default => 'bg-secondary', }; // 🔒 AMAN: relasi cekAlat bisa null $cekAlat = $item->cekAlat ?? collect(); // ✅ FOTO ADA JIKA ADA ISI ARRAY FOTO $hasFoto = $cekAlat->filter(function ($cek) { return !empty($cek->foto) && is_array($cek->foto) && count($cek->foto) > 0; })->count() > 0; @endphp @if(auth()->user()->role === 'admin') @endif {{-- STATUS & PROGRESS --}} {{-- AKSI --}} @empty @endforelse
#MontirTanggal Inspeksi Status / Progress Aksi
{{ $inspeksi->firstItem() + $index }} {{ $item->montir->name ?? '-' }} {{ $item->inspection_date ? \Carbon\Carbon::parse($item->inspection_date)->format('d-m-Y') : '-' }} {{ ucfirst($status) }} {{-- ✅ HANYA TAMPIL JIKA FOTO ADA --}} @if($hasFoto) Foto alat sudah diupload @endif {{-- PROGRESS BAR --}}
Step: {{ $currentStep }} / {{ $totalSteps }}
{{-- DETAIL --}} {{-- EDIT --}} @if($status !== 'selesai') @endif {{-- HAPUS --}}
@csrf @method('DELETE')
{{-- APPROVE (ADMIN + FOTO ADA) --}} @if(auth()->user()->role === 'admin' && $status === 'pending' && $hasFoto)
@csrf
@endif {{-- SUSPEND (ADMIN + FOTO BELUM ADA) --}} @if(auth()->user()->role === 'admin' && !$hasFoto && $status !== 'selesai')
@csrf
@endif
Belum ada data inspeksi
{{-- PAGINATION --}}
{{ $inspeksi->withQueryString()->links() }}
@endsection