@section('page-title', 'Edit Surat Masuk') @section('page-subtitle', $suratMasuk->nomor_surat)
Form Edit Surat Masuk
@csrf @method('PUT')
@error('nomor_surat')
{{ $message }}
@enderror
Nomor agenda akan dibuat otomatis saat surat dikirim
@error('tanggal_surat')
{{ $message }}
@enderror
is_kilat) ? 'checked' : '' }}>
Ditampilkan di paling atas dengan prioritas tinggi Surat kilat tidak bisa disimpan sebagai draft
@error('asal_surat')
{{ $message }}
@enderror
@error('perihal')
{{ $message }}
@enderror
@error('kategori_id')
{{ $message }}
@enderror
@php $currentTujuan = old('tujuan_akhir_id', $suratMasuk->tujuan_akhir_id); // Group SMIN (KASMIN & PAURMIN) - tampil sebagai KASMIN tapi value PAURMIN $sminUsers = $assignableUsers->filter(function($user) { return in_array($user->role, ['kasmin', 'paurmin', 'paurmin_smin']) || $user->satuan === 'SMIN' || in_array($user->jabatan_role, ['kasmin', 'paurmin', 'paurmin_smin']); }); // Cari PAURMIN untuk dijadikan value (cek role terlebih dahulu) $paurminUser = $sminUsers->firstWhere('role', 'paurmin', 'paurmin_smin') ?? $sminUsers->firstWhere('jabatan_role', 'paurmin', 'paurmin_smin'); // Tata Usaha (selain SMIN) dengan urutan custom $satuanOrder = [ 'IT' => 1, 'SINTEL' => 2, 'SOPS' => 3, 'SLOG' => 4, 'SPERS' => 5, 'SREN' => 6, 'PAMEN AHLI' => 7, 'SATDUKLOG' => 8, 'SATDUKMIN' => 9, 'PUSKODALOPS' => 10, 'DENMA' => 11, 'PEN' => 12, 'SAT SIBER' => 13, 'DENPOM' => 14, 'PUSDIKLATPASSUS' => 15, 'GRUP 1' => 16, 'GRUP 2' => 17, 'GRUP 3' => 18, 'GRUP 4' => 19, 'GRUP 5' => 20, 'GRUP 6' => 21, 'SAT 71' => 22, 'SAT 81' => 23, 'DEN INTEL' => 24, 'RUMKIT TK III' => 25, 'SETUM' => 26, ]; // Ambil semua TU users (termasuk bagian SATDUKLOG/SATDUKMIN) $tuUsers = $assignableUsers->filter(function($user) { return $user->role === 'tata_usaha' && !in_array($user->satuan, ['SMIN', 'KASMIN']) && !in_array($user->jabatan_role, ['kasmin', 'paurmin', 'paurmin_smin']); }) ->groupBy(function($user) { if (in_array($user->satuan, ['SATDUKLOG', 'SATDUKMIN']) && $user->sub_unit) { return $user->satuan . '|' . $user->sub_unit; } return $user->satuan; }) ->map(function($group) { return $group->first(); }) ->sortBy(function($user) use ($satuanOrder) { $order = $satuanOrder[$user->satuan] ?? 999; if (in_array($user->satuan, ['SATDUKLOG', 'SATDUKMIN']) && $user->sub_unit) { $subCode = preg_replace('/[^0-9]/', '', substr($user->sub_unit, 0, 4)); $isMainTuud = str_contains(strtoupper($user->sub_unit), 'TUUD') && !str_contains(strtoupper($user->sub_unit), 'URTUUD'); if ($isMainTuud) { return $order + 0.0; } return $order + 0.1 + (intval($subCode) * 0.001); } return $order; }); @endphp {{-- KASMIN Section (untuk SMIN) --}} @if($paurminUser)
Panglima dan Wakil Panglima
id ? 'checked' : '' }} required>
@endif {{-- Tata Usaha Section --}} @if($tuUsers->count() > 0) @php $tuUsersArray = $tuUsers->values(); $colCount = 3; $perColumn = (int) ceil($tuUsersArray->count() / $colCount); $tuCol1 = $tuUsersArray->slice(0, $perColumn); $tuCol2 = $tuUsersArray->slice($perColumn, $perColumn); $tuCol3 = $tuUsersArray->slice($perColumn * 2); @endphp
Tata Usaha
@foreach([$tuCol1, $tuCol2, $tuCol3] as $column)
@foreach($column as $assignUser) @php $isBagian = in_array($assignUser->satuan, ['SATDUKLOG', 'SATDUKMIN']) && $assignUser->sub_unit; $isMainTuud = $isBagian && str_contains(strtoupper($assignUser->sub_unit), 'TUUD') && !str_contains(strtoupper($assignUser->sub_unit), 'URTUUD'); if ($isBagian && !$isMainTuud) { $displayLabel = preg_replace('/^.*?URTUUD\s*/i', '', $assignUser->sub_unit); if (empty(trim($displayLabel))) { $displayLabel = trim(preg_replace('/^[A-Z0-9]+\s+/i', '', $assignUser->sub_unit)); } $displayLabel = strtoupper(trim($displayLabel)); } else { $displayLabel = $assignUser->satuan; } @endphp
id ? 'checked' : '' }} required>
@endforeach
@endforeach
@endif
@error('tujuan_akhir_id')
{{ $message }}
@enderror Pilih pejabat tujuan akhir surat ini
@if($suratMasuk->file_surat) @endif Kosongkan jika tidak ingin mengubah file (hanya PDF) @error('file_surat')
{{ $message }}
@enderror
@error('keterangan')
{{ $message }}
@enderror
Kembali
@if($suratMasuk->isDraft()) @else @endif
Preview File
@if($suratMasuk->file_surat && str_ends_with($suratMasuk->file_surat, '.pdf')) @elseif($suratMasuk->file_surat)

File saat ini bukan PDF
Upload file PDF untuk preview

@else

Belum ada file
Upload file untuk preview

@endif
{{-- Script untuk disable draft saat kilat aktif --}} {{-- Script validasi PDF only --}}