@extends('layout.appdas') @section('title', 'Riwayat Disposisi') @section('content')
| No | Nomor Surat | Perihal | Pengirim | Tanggal Selesai | Status Akhir | Aksi |
|---|---|---|---|---|---|---|
| {{ $data->firstItem() + $loop->index }} | {{ $item->surat->nomor_surat ?? '-' }} | {{ $item->surat->perihal ?? '-' }} |
@if(isset($item->data_disposisi) && $item->data_disposisi && $item->data_disposisi->dari)
{{ $item->data_disposisi->dari->divisi->nama_divisi ?? $item->data_disposisi->dari->name }}
{{ $item->data_disposisi->dari->name ?? '' }}
@if($item->surat && $item->surat->divisi && ($item->surat->divisi->id !== ($item->data_disposisi->dari->divisi_id ?? null)))
Asal: {{ $item->surat->divisi->nama_divisi }}
@endif
@else
{{ $item->surat->divisi->nama_divisi ?? ($item->surat->asal_tujuan ?? '-') }}
{{ $item->surat->user->name ?? '' }}
@endif
|
{{ \Carbon\Carbon::parse($item->updated_at)->translatedFormat('d M Y, H:i') }} | @if($item->admin_approval_status === 'rejected') Dibatalkan Admin @elseif(in_array(strtolower($item->status), ['diterima', 'selesai'])) Diterima @elseif(strtolower($item->status) === 'ditolak') Ditolak @else {{ ucfirst($item->status) }} @endif |
@if($item->surat_id)
Berkas
@endif
@php
$effectiveDivisiId = auth()->user()->getEffectiveDivisiId();
$canManageThisItem = auth()->user()->canManageDisposisi()
|| ($item->user_id === auth()->id())
|| ($item->user && $item->user->divisi_id === $effectiveDivisiId);
@endphp
@if($canManageThisItem && $item->admin_approval_status !== 'rejected')
@if(in_array(strtolower($item->status), ['diterima', 'selesai']))
@elseif(strtolower($item->status) === 'ditolak')
@endif
@endif
|
|
Tidak ada riwayat disposisi yang ditemukan.
|
||||||
| No | Nomor Surat | Perihal | Tanggal Surat | Rekap Hasil Tujuan | Status Akhir | Aksi |
|---|---|---|---|---|---|---|
| {{ $data->firstItem() + $loop->index }} | {{ $item->nomor_surat }} | {{ $item->perihal }} | {{ \Carbon\Carbon::parse($item->tanggal_surat)->translatedFormat('d M Y') }} |
@foreach($item->penerima->where('is_cancelled', false) as $pen)
@php
$divisiName = $pen->user?->divisi?->nama_divisi ?? ($pen->user?->name ?? 'Unit');
$isAdminRejected = ($pen->admin_approval_status === 'rejected');
$isDiterima = in_array(strtolower($pen->status), ['diterima', 'selesai']) && !$isAdminRejected;
$isDitolak = strtolower($pen->status) === 'ditolak' || $isAdminRejected;
$badgeTooltip = '';
if ($isAdminRejected) {
$badgeTooltip = 'Ditolak oleh Admin' . (!empty($pen->catatan) ? ': ' . $pen->catatan : '');
} elseif ($isDitolak) {
$badgeTooltip = 'Ditolak' . (!empty($pen->catatan) ? ' - Alasan: ' . $pen->catatan : '');
} elseif ($isDiterima) {
$badgeTooltip = 'Diterima' . (!empty($pen->diterima_pada) ? ' (' . \Carbon\Carbon::parse($pen->diterima_pada)->translatedFormat('d M Y, H:i') . ')' : '');
}
@endphp
@if($isAdminRejected)
{{ $divisiName }}: Ditolak Admin
@else
{{ $divisiName }}: {{ ucfirst($pen->status) }}
@endif
@endforeach
|
@php $allPenerima = $item->penerima->where('is_cancelled', false); $countTerima = $allPenerima->filter(fn($p) => in_array(strtolower($p->status), ['diterima', 'selesai']) && $p->admin_approval_status === 'approved')->count(); $countTolak = $allPenerima->filter(fn($p) => strtolower($p->status) === 'ditolak' || $p->admin_approval_status === 'rejected')->count(); $countTotal = $allPenerima->count(); $allAdminRejected = $allPenerima->isNotEmpty() && $allPenerima->every(fn($p) => $p->admin_approval_status === 'rejected'); $hasAdminRejected = $allPenerima->contains(fn($p) => $p->admin_approval_status === 'rejected'); $allTerima = ($countTerima === $countTotal) && ($countTotal > 0); @endphp @if($allTerima) Selesai (Diterima) @elseif($countTerima > 0 && $countTolak > 0) Diterima Sebagian {{ $countTerima }} Diterima, {{ $countTolak }} Ditolak @elseif($allAdminRejected) Ditolak Admin @elseif($countTolak === $countTotal && $countTotal > 0) Ditolak Seluruhnya @elseif($hasAdminRejected) Ada Ditolak Admin @elseif($countTolak > 0) Ada Ditolak @else Selesai @endif | |
|
Tidak ada riwayat disposisi yang ditemukan.
|
||||||