Menambahkan fitur manajemen referensi link lengkap dengan CRUD, import/export Excel, serta melakukan perbaikan pada modul Bank Data untuk menampilkan semua data. ## Perubahan Detail ### 🔗 Fitur Referensi Link (Baru) **Model & Database:** - Membuat model `ReferensiLink` dengan relasi ke user (created_by, updated_by) - Membuat migration `create_referensi_link_table` dengan struktur lengkap - Menambahkan scopes untuk filtering dan searching **Controller & Request:** - Membuat `ReferensiLinkController` dengan fitur lengkap (CRUD, datatable, export/import) - Membuat `ReferensiLinkRequest` dengan validasi comprehensive - Menambahkan fitur toggle status aktif/inaktif **Export/Import:** - Membuat `ReferensiLinkExport` untuk export ke Excel dengan styling - Membuat `ReferensiLinkImport` untuk import dari Excel dengan validasi - Menambahkan template download untuk import **View & Navigation:** - Menambahkan menu "Referensi Link" di navigasi sistem - Membuat struktur role access untuk administrator dan admin ### 📊 Perbaikan Bank Data **Controller:** - Menambahkan fitur "show_all" untuk menampilkan semua data tanpa pagination - Memperbaiki Log facade import dari `Log` menjadi `Illuminate\Support\Facades\Log` - Menambahkan loading overlay untuk UX yang lebih baik **View:** - Menambahkan checkbox "Tampilkan Semua Data" di filter - Memperbaiki styling dan layout tabel - Menambahkan loading spinner saat filter diterapkan ### 🛠️ Helper & Utilitas **PdfHelper (Baru):** - Membuat helper untuk format teks PDF dengan handling karakter spesial - Menambahkan fungsi untuk konversi simbol matematika ke teks - Memastikan encoding UTF-8 yang proper **ImageController (Baru):** - Membuat controller untuk resize gambar dengan parameter width dan quality - Menggunakan ImageResizeService untuk processing gambar ### 🔧 Perbaikan Lainnya **View Components:** - Memperbaiki syntax HTML dan Blade template - Menambahkan role checking yang lebih proper - Memperbaiki format tampilan nilai menggunakan formatRupiah() ### 📁 File Baru - `Helpers/PdfHelper.php` - Helper untuk format PDF - `Http/Controllers/ImageController.php` - Controller untuk image resize - `Http/Controllers/ReferensiLinkController.php` - Controller referensi link - `Http/Requests/ReferensiLinkRequest.php` - Validasi referensi link - `Exports/ReferensiLinkExport.php` - Export Excel - `Imports/ReferensiLinkImport.php` - Import Excel - `Models/ReferensiLink.php` - Model referensi link - Database migration untuk tabel referensi_link ### 🔄 File Diperbarui - `module.json` - Menambahkan menu navigasi - `BankDataController.php` - Fitur show_all dan perbaikan Log - `resources/views/bank-data/index.blade.php` - UI improvements - Beberapa view components untuk perbaikan syntax dan role checking ## Alasan Perubahan 1. **Fitur Referensi Link**: Menyediakan manajemen link referensi yang terstruktur untuk kebutuhan dokumentasi dan regulasi 2. **Import/Export**: Memudahkan pengelolaan data referensi dalam jumlah besar via Excel 3. **Show All Data**: Memenuhi kebutuhan menampilkan semua data bank data di peta tanpa pagination 4. **PDF Helper**: Menangani masalah karakter spesial dalam generate PDF 5. **Image Controller**: Menyediakan endpoint untuk resize gambar secara dinamis
141 lines
5.7 KiB
PHP
141 lines
5.7 KiB
PHP
<div class="no-break">
|
|
<table style="width: 100%; ">
|
|
<tr>
|
|
<td style="width: 100%; border: 1px solid #000; text-align: center;">
|
|
ANALISA LINGKUNGAN
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<table style="width: 100%">
|
|
@php
|
|
$lingkungan = $forminspeksi['lingkungan'];
|
|
|
|
$fasilitas = $lingkungan['fasilitas_dekat_object'] ?? [];
|
|
$fasilitasInput = $lingkungan['fasilitas_dekat_object_input'] ?? [];
|
|
@endphp
|
|
<tr>
|
|
<td style=" width:25%; padding: 2px; vertical-align: top;">Jarak Jalan Utama</td>
|
|
<td style=" width:1%; padding: 2px; vertical-align: top;">:</td>
|
|
<td style="padding: 2px; vertical-align: top;">{{ $lingkungan['jarak_jalan_utama'] ?? '-' }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="padding: 2px; vertical-align: top;">Jalan Utama</td>
|
|
<td style="padding: 2px; vertical-align: top;">:</td>
|
|
<td style="padding: 2px; vertical-align: top;">{{ $lingkungan['jalan_linkungan'] ?? '-' }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="padding: 2px; vertical-align: top;">Jarak CBD</td>
|
|
<td style="padding: 2px; vertical-align: top;">:</td>
|
|
<td style="padding: 2px; vertical-align: top;">{{ $lingkungan['jarak_cbd_point'] ?? '-' }}
|
|
({{ $lingkungan['nama_cbd_point'] ?? '-' }})</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="padding: 2px; vertical-align: top;">Lebar Perkerasan Jalan</td>
|
|
<td style="padding: 2px; vertical-align: top;">:</td>
|
|
<td style="padding: 2px; vertical-align: top;">{{ $lingkungan['lebar_perkerasan_jalan'] ?? '-' }}</td>
|
|
</tr>
|
|
{{-- mulai --}}
|
|
<tr>
|
|
<td style="padding: 2px; vertical-align: top;">Perkerasan Jalan</td>
|
|
<td style="padding: 2px; vertical-align: top;">:
|
|
</td>
|
|
<td style="padding: 2px; vertical-align: top;">
|
|
{{ implode(', ', $lingkungan['perkerasan_jalan']['perkerasan_jalan'] ?? $lingkungan['perkerasan_jalan'] ?? ['-']) }}
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td style="padding: 2px; vertical-align: top;">Lalu Lintas</td>
|
|
<td style="padding: 2px; vertical-align: top;">:</td>
|
|
<td style="padding: 2px; vertical-align: top;">{{
|
|
$lingkungan['lalu_lintas']
|
|
? (is_array($lingkungan['lalu_lintas'])
|
|
? implode(', ', $lingkungan['lalu_lintas'])
|
|
: $lingkungan['lalu_lintas'])
|
|
: '-'
|
|
}}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="padding: 2px; vertical-align: top;">Golongan Masyarakat Sekitar</td>
|
|
<td style="padding: 2px; vertical-align: top;">:</td>
|
|
<td style="padding: 2px; vertical-align: top;">{{ implode(', ', $lingkungan['gol_mas_sekitar'] ?? $lingkungan['gol_mas_sekitar'] ?? ['-']) }}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="padding: 2px; vertical-align: top;">Tingkat Keramaian</td>
|
|
<td style="padding: 2px; vertical-align: top;">:</td>
|
|
<td style="padding: 2px; vertical-align: top;">
|
|
{{ implode(', ', $lingkungan['tingkat_keramaian']['tingkat_keramaian'] ?? $lingkungan['tingkat_keramaian'] ?? ['-']) }}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="padding: 2px; vertical-align: top;">Terletak di Area</td>
|
|
<td style="padding: 2px; vertical-align: top;">:</td>
|
|
<td style="padding: 2px; vertical-align: top;">
|
|
{{ implode(', ', $lingkungan['terletak_diarea']['terletak_diarea'] ?? $lingkungan['terletak_diarea'] ?? ['-']) }}
|
|
</td>
|
|
</tr>
|
|
|
|
{{-- batas --}}
|
|
<tr>
|
|
<td style="padding: 2px; vertical-align: top;">Kondisi Bangunan Sekitar</td>
|
|
<td style="padding: 2px; vertical-align: top;">:</td>
|
|
<td style="padding: 2px; vertical-align: top;">{{ $lingkungan['kondisi_bagunan_disekitar_lokasi'] ?? '-' }}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="padding: 2px; vertical-align: top;">Sifat Bangunan Sekitar</td>
|
|
<td style="padding: 2px; vertical-align: top;">:</td>
|
|
<td style="padding: 2px; vertical-align: top;">{{ $lingkungan['sifat_bagunan_disekitar_lokasi'] ?? '-' }}
|
|
</td>
|
|
</tr>
|
|
|
|
@if ($lingkungan['dekat_makam'] == 'ya')
|
|
<tr>
|
|
<td style="padding: 2px; vertical-align: top;">Dekat Makam</td>
|
|
<td style="padding: 2px; vertical-align: top;">:</td>
|
|
<td style="padding: 2px; vertical-align: top;">Ya, Jarak {{ $lingkungan['jarak_makam'] ?? '-' }} m
|
|
({{ $lingkungan['nama_makam'] ?? '-' }})
|
|
</td>
|
|
</tr>
|
|
@endif
|
|
|
|
@if ($lingkungan['dekat_tps'] == 'ya')
|
|
<tr>
|
|
<td style="padding: 2px; vertical-align: top;">Dekat TPS</td>
|
|
<td style="padding: 2px; vertical-align: top;">:</td>
|
|
<td style="padding: 2px; vertical-align: top;">Ya, Jarak {{ $lingkungan['jarak_tps'] ?? '-' }} m
|
|
({{ $lingkungan['nama_tps'] ?? '-' }})</td>
|
|
</tr>
|
|
@endif
|
|
|
|
<tr>
|
|
<td style="padding: 2px; vertical-align: top;">Daerah</td>
|
|
<td style="padding: 2px; vertical-align: top;">:</td>
|
|
<td style="padding: 2px; vertical-align: top;">
|
|
{{ implode(', ', $lingkungan['merupakan_daerah'] ?? ['-']) }}
|
|
</td>
|
|
</tr>
|
|
|
|
@if (!empty($fasilitas))
|
|
<tr>
|
|
<td style="padding: 2px; vertical-align: top;">Fasilitas Dekat Objek</td>
|
|
<td style="padding: 2px; vertical-align: top;">:</td>
|
|
<td style="padding: 2px; vertical-align: top;">
|
|
@foreach ($fasilitas as $fas)
|
|
{{ $fas }}
|
|
@if (isset($fasilitasInput[$fas]))
|
|
({{ $fasilitasInput[$fas] }})
|
|
@endif
|
|
@if (!$loop->last)
|
|
,
|
|
@endif
|
|
@endforeach
|
|
</td>
|
|
</tr>
|
|
@endif
|
|
</table>
|
|
</div>
|