@if($surat->is_kilat)
KILAT
@endif
@if($surat->is_from_disposisi)
Disposisi
@if($surat->sourceDisposisi && $surat->sourceDisposisi->dariUser)
oleh {{ $surat->sourceDisposisi->dariUser->jabatan_with_satuan ?? '-' }}
@endif
{{ Str::limit($surat->nomor_surat, 20) }}
@elseif($surat->parent_surat_id)
{{ Str::limit($surat->nomor_surat, 20) }}
@else
{{ Str::limit($surat->nomor_surat, 20) }}
@endif
|
{{ $surat->perihal ? Str::limit($surat->perihal, 35) : '-' }} |
@php
$asalDisplay = $surat->getAsalDisposisiDisplayForUser(auth()->user());
$recentInstruksis = $asalDisplay && !empty($asalDisplay['disposisi'])
? ($asalDisplay['disposisi']->relationLoaded('instruksis')
? $asalDisplay['disposisi']->instruksis
: $asalDisplay['disposisi']->instruksis()->get())
: ($surat->relationLoaded('disposisi')
? $surat->disposisi->flatMap->instruksis->unique('id')
: collect());
@endphp
@if($asalDisplay)
{{ Str::limit($asalDisplay['asal'], 18) }}
{{ Str::limit($asalDisplay['tujuan'], 18) }}
@else
{{ Str::limit($surat->asal_surat_short ?? $surat->asal_surat, 18) }}
@if($surat->tujuanAkhir)
{{ Str::limit($surat->tujuanAkhir->jabatan_with_satuan ?? '-', 18) }}
@endif
@endif
@if($recentInstruksis->isNotEmpty())
@foreach($recentInstruksis->take(2) as $instruksi)
{{ $instruksi->nama_instruksi }}
@endforeach
@if($recentInstruksis->count() > 2)
+{{ $recentInstruksis->count() - 2 }}
@endif
@endif
|
@if($isTeruskanKeSesIT)
Menunggu Diteruskan ke SES IT
@elseif($isPerluDilengkapi)
Mohon Lengkapi Lembar Disposisi
@elseif($isMohonTanggapan)
Mohon Tanggapan
@elseif($isMohonDiselesaikan)
Mohon Diselesaikan
@elseif($isSelesaiForUser)
Selesai
@elseif($hasDisposisiFollowUp || isset($storeAgendaByParent[$surat->id]))
@if($hasDisposisiFollowUp)
Sudah Didisposisi
@else
Terkirim
@endif
@if($isParentRow)
{{ $childCount }} penerima
@endif
@elseif($surat->is_from_disposisi && $surat->status === 'pending')
Menunggu Tanggapan
@elseif($surat->status === 'menunggu_agenda' && $surat->created_by == auth()->id())
Sudah Dikirim
@elseif($surat->status === 'diagendakan' && $surat->tujuan_akhir_id != auth()->id())
Menunggu Disposisi
@else
@php
// Untuk status menunggu_agenda, tampilkan jabatan yang bertanggung jawab
$tuJabatan = null;
if ($surat->status === 'menunggu_agenda' && $surat->tujuanAkhir) {
// Khusus satuan IT: SES IT yang melengkapi lembar disposisi
$suratSatuan = $surat->tujuanAkhir->satuan ?? $surat->created_by_user?->satuan;
if ($suratSatuan === 'IT') {
$sesIT = \App\Models\User::where('is_active', true)
->where('satuan', 'IT')
->where('jabatan_role', 'ses_it')
->first();
$tuJabatan = $sesIT ? ($sesIT->jabatan_with_satuan ?? 'SES IT') : 'SES IT';
} elseif ($surat->tujuanAkhir->isTU()) {
$tuObj = $surat->tujuanAkhir;
$tuJabatan = $tuObj->jabatan_with_satuan ?? $tuObj->jabatan_short;
} else {
$tuUser = \App\Models\User::where('superior_id', $surat->tujuan_akhir_id)
->where('role', 'tata_usaha')
->where('is_active', true)
->first();
$tuJabatan = $tuUser ? ($tuUser->jabatan_with_satuan ?? $tuUser->jabatan_short) : 'TU';
}
}
$statusConfig = [
'draft' => ['icon' => 'file-earmark', 'color' => 'secondary', 'label' => null],
'pending' => ['icon' => 'clock-history', 'color' => 'warning', 'label' => null],
'menunggu_agenda' => ['icon' => 'arrow-repeat', 'color' => 'info', 'label' => 'Lembar Disposisi Sedang Dilengkapi oleh ' . ($tuJabatan ?? 'TU')],
'menunggu_verifikasi_kasmin' => ['icon' => 'hourglass-split', 'color' => 'warning', 'label' => null],
'diagendakan' => ['icon' => 'clipboard-check', 'color' => 'success', 'label' => 'Lembar Disposisi Dilengkapi'],
'diproses' => ['icon' => 'arrow-repeat', 'color' => 'primary', 'label' => null],
'selesai' => ['icon' => 'check-circle', 'color' => 'success', 'label' => null],
];
$config = $statusConfig[$surat->status] ?? ['icon' => 'question-circle', 'color' => 'secondary', 'label' => null];
$displayLabel = $config['label'] ?? $surat->status_label;
@endphp
{{ $displayLabel }}
@endif
|
|
@empty