{{-- TOMBOL KEMBALI CERDAS (ADMIN PRO) --}} @php // 1. Default: Selalu bawa parameter TAB (Strategis/Rutin) biar gak reset $params = ['tab' => $project->type]; $currentUserRole = Auth::user()->role; $previousUrl = url()->previous(); // <--- Cek link sebelumnya // 2. SKENARIO SUPER ADMIN if ($currentUserRole == 'Super Admin') { // DETEKSI: Apakah Admin tadi datang dari Dashboard EXECUTIVE? // Cek apakah di link sebelumnya ada tulisan 'view_mode=EXECUTIVE' if (strpos($previousUrl, 'view_mode=EXECUTIVE') !== false) { $params['view_mode'] = 'EXECUTIVE'; // Kita tidak set target_id agar dia kembali melihat "All Supervisor" } // Jika tidak, asumsikan dia lagi memantau Supervisor tertentu else { $params['view_mode'] = 'SUPERVISOR'; $params['target_id'] = $project->supervisor_id; } } // 3. SKENARIO SUPERVISOR/EXECUTIVE (Bukan Admin) elseif (in_array($currentUserRole, ['Supervisor', 'Executive'])) { $firstPic = $project->team->first(); if ($firstPic && $firstPic->id != Auth::id()) { $params['view_mode'] = 'PIC'; $params['target_id'] = $firstPic->id; } } @endphp

Rincian Project

Detail lengkap tugas dan tim.

@if(Auth::user()->role == 'Supervisor')
Edit Data Project
@endif
Informasi Umum
Nama Project
{{ $project->name }}
Kategori / Jenis
{{ $project->type }}
Status Pengerjaan
@php // 1. Hitung Progress Real (Subtask) $totalTasks = $project->subTasks->count(); $doneTasks = $project->subTasks->where('is_completed', true)->count(); $persen = ($totalTasks > 0) ? round(($doneTasks/$totalTasks)*100) : ($project->actual_percentage ?? 0); // 2. Tentukan Label, Warna Text, & Warna Bar $isDone = $persen >= 100; $deadline = $project->deadline ? \Carbon\Carbon::parse($project->deadline)->endOfDay() : null; $finishDate = $project->updated_at ? \Carbon\Carbon::parse($project->updated_at) : now(); $textClass = ''; $barClass = ''; if ($isDone) { if ($deadline && $finishDate->gt($deadline)) { // SELESAI TAPI TELAT -> KUNING (Sama kayak Dashboard) $label = 'Selesai (Telat)'; $textClass = 'text-warning'; $barClass = 'bg-warning text-dark'; } else { // SELESAI TEPAT WAKTU -> HIJAU $label = 'Completed'; $textClass = 'text-success'; $barClass = 'bg-success'; } } elseif ($deadline && now()->gt($deadline)) { // BELUM SELESAI & LEWAT DEADLINE -> MERAH $label = 'Overdue'; $textClass = 'text-danger'; $barClass = 'bg-danger'; } else { // MASIH DIKERJAKAN -> ORANGE/BIRU $label = 'On Progress'; $textClass = 'text-primary'; $barClass = 'bg-primary'; } @endphp
{{ $persen }}% {{ $label }}
{{-- TAMPILKAN TANGGAL SELESAI (UNTUK SEMUA KONDISI) --}} @if($isDone) @php // Cek apakah telat? $isLate = $deadline && $finishDate->gt($deadline); @endphp Diselesaikan tgl {{ $finishDate->format('d M Y') }} {{-- TAMPILKAN OVERDUE JIKA BELUM SELESAI --}} @elseif($deadline && now()->gt($deadline)) Lewat Deadline: {{ $deadline->diffForHumans() }} @endif
Tanggal Mulai
{{ date('d F Y', strtotime($project->start_date)) }}
Batas Waktu (Deadline)
{{ date('d F Y', strtotime($project->deadline)) }}
Anggaran (Pagu)
Rp {{ number_format($project->budget, 0, ',', '.') }}
Realisasi (Terpakai)
Rp {{ number_format($project->actual_cost, 0, ',', '.') }}
Sisa: Rp {{ number_format($project->budget - $project->actual_cost, 0, ',', '.') }}
Daftar Sub-Tugas & Checklist
@forelse($project->subTasks as $sub) @empty @endforelse
Nama Tugas Status Bukti
{{ $sub->title }}
@if($sub->is_completed) Selesai @else Pending @endif @if($sub->proof_file) Lihat @else - @endif
Belum ada sub-tugas.
Tim Yang Bertugas
    @forelse($project->team as $member)
  • {{ substr($member->name, 0, 1) }}
    {{ $member->name }}
    {{ $member->position ?? 'Anggota Tim' }}
  • @empty

  • Belum ada anggota tim.
  • @endforelse