From de9c215456a2a8f4315ee31a50a1f899a5f05aa5 Mon Sep 17 00:00:00 2001 From: Daeng Deni Mardaeni Date: Thu, 7 Nov 2024 15:18:14 +0700 Subject: [PATCH] Tambah kolom "dokumen_nomor" ke DokumenJaminan Menambahkan kolom dokumen_nomor pada DokumenJaminan untuk mendukung penyimpanan nomor dokumen yang terkait dengan setiap dokumen jaminan. Pembaruan ini mencakup perubahan pada controller untuk memproses kolom baru dan penyesuaian pada tampilan untuk menampilkan serta mengunduh dokumen berdasarkan nomor ini. --- .../Controllers/DokumenJaminanController.php | 4 ++ .../debitur/components/dokumen.blade.php | 71 +++++++++---------- 2 files changed, 38 insertions(+), 37 deletions(-) diff --git a/app/Http/Controllers/DokumenJaminanController.php b/app/Http/Controllers/DokumenJaminanController.php index b3cfe8a..207413c 100644 --- a/app/Http/Controllers/DokumenJaminanController.php +++ b/app/Http/Controllers/DokumenJaminanController.php @@ -468,6 +468,9 @@ 'dokumen_jaminan' => json_decode( $detail->dokumen_jaminan, ) ?? $detail->dokumen_jaminan, + 'dokumen_nomor' => json_decode( + $detail->dokumen_nomor, + ) ?? $detail->dokumen_nomor, 'custom_field' => $detail->jenisLegalitasJaminan->custom_field, 'custom_field_type' => $detail->jenisLegalitasJaminan->custom_field_type, 'details' => $detail->details, @@ -486,6 +489,7 @@ 'jenis_legalitas_jaminan_id' => $legalitas->id, 'name' => $legalitas->name, 'dokumen_jaminan' => null, + 'dokumen_nomor' => null, 'custom_field' => $legalitas->custom_field, 'custom_field_type' => $legalitas->custom_field_type, 'details' => null, diff --git a/resources/views/debitur/components/dokumen.blade.php b/resources/views/debitur/components/dokumen.blade.php index 35fc4d0..e1a358b 100644 --- a/resources/views/debitur/components/dokumen.blade.php +++ b/resources/views/debitur/components/dokumen.blade.php @@ -168,16 +168,26 @@ @if(isset($detail->dokumen_jaminan)) - @php - $dokumen_jaminan = is_array(json_decode($detail->dokumen_jaminan)) ? json_decode($detail->dokumen_jaminan) : [$detail->dokumen_jaminan]; - @endphp - @foreach($dokumen_jaminan as $index => $dokumen) - - {{ basename($dokumen) }} - - - @endforeach + @if(isset($detail->dokumen_jaminan)) + @php + $dokumen_jaminan = is_array(json_decode($detail->dokumen_jaminan)) ? json_decode($detail->dokumen_jaminan) : [$detail->dokumen_jaminan]; + $dokumen_nomor = is_array(json_decode($detail->dokumen_nomor)) ? json_decode($detail->dokumen_nomor) : ($detail->dokumen_nomor ? [$detail->dokumen_nomor] : []); + @endphp +
+ @foreach($dokumen_jaminan as $index => $dokumen) +
+ @if(!empty($dokumen_nomor)) + Nomor Dokumen : {{ $dokumen_nomor[$index] }} + @endif + + {{ basename($dokumen) }} + + +
+ @endforeach +
+ @endif @endif @@ -510,7 +520,9 @@ Dokumen Jaminan
- ${item.dokumen_jaminan ? renderExistingFiles(item.dokumen_jaminan, debiturId, item.id) : ''} +
+ ${item.dokumen_jaminan ? renderExistingFiles(item.dokumen_jaminan, debiturId, item.id, item.dokumen_nomor) : ''} +
@@ -544,25 +556,6 @@ .catch(error => console.error('Error:', error)); } - function renderExistingFiles(dokumenJaminan, debiturId, itemId) { - if (typeof dokumenJaminan === 'string') { - return ` - - ${dokumenJaminan.split('/').pop()} - - - `; - } else if (Array.isArray(dokumenJaminan)) { - return dokumenJaminan.map(file => ` - - ${file.split('/').pop()} - - - `).join(''); - } - return ''; - } - function addFileInput(index) { const container = document.getElementById(`file-container-${index}`); const newInput = document.createElement('div'); @@ -579,20 +572,24 @@ button.closest('.flex.items-center.gap-2.mb-2').remove(); } - function renderExistingFiles(dokumenJaminan, debiturId, itemId) { - if (typeof dokumenJaminan === 'string') { + function renderExistingFiles(dokumenJaminan, debiturId, itemId, dokumenNomor) { + if (typeof dokumenJaminan === 'string' && typeof dokumenNomor === 'string') { return ` - + `; - } else if (Array.isArray(dokumenJaminan)) { - return dokumenJaminan.map(file => ` - + } else if (Array.isArray(dokumenJaminan) && Array.isArray(dokumenNomor)) { + return dokumenJaminan.map((file, index) => ` `).join(''); } return '';