- Menambahkan class measure-input dan atribut data-unit pada:
- jarak_jalan_utama (km)
- jarak_cbd_point (km)
- Menambahkan script untuk:
- Membatasi input hanya angka dan koma
- Menghapus suffix saat fokus dan input
- Menambahkan suffix otomatis saat blur
- Menghapus suffix saat submit agar backend menerima angka bersih
- Menyediakan cara mengubah unit ke 'm' dengan mengganti data-unit pada input
- Tambah sufiks satuan m pada jarak_jalan_utama di resources/views/penilai/components/analisa/lingkungan.blade.php agar konsisten menampilkan satuan meter
- Refactor perhitungan tabel nilai di resources/views/penilai/components/print-out-sederhana.blade.php menjadi iterasi dinamis menggunakan labelNilai untuk menampilkan baris Tanah/Bangunan berdasarkan ketersediaan data luas_* dan nilai_*_1/_2
- Refactor bagian nilai di resources/views/penilai/components/print-out-standar.blade.php untuk non-MIG ( !$permohonan->is_mig ) menjadi loop dinamis yang sama sehingga konsisten antara “sederhana” dan “standar”
- Pastikan akumulasi totalNilaiPasarWajar menggunakan nilai hasil format yang dibersihkan dari simbol dan pemisah ribuan, tetap menghitung dari nilai_*_2
- Jaga kompatibilitas existing: tetap menghormati npw_tambahan yang dirender setelah blok non-MIG
- Laporan index: gunakan optional chaining untuk akses aman properti penilai
- Ubah if (data.penilai.resume) menjadi if (data.penilai?.resume) agar tidak error saat penilai null/undefined.
- Perkuat kondisi pemanggilan generateLaporanButton(...) dengan ekspresi: data.penilai?.type_penilai == 'resume' && !data.penilai?.resume ? type : typePenilaian .
- Efek: mencegah runtime error (TypeError) saat data belum lengkap, memastikan tombol "Resume" dan "Laporan" hanya muncul pada kondisi valid.
- Berlaku pada role pemohon-ao dan role lainnya (dua blok kondisi kini seragam dan aman).
- Analisa penilai: sederhanakan tampilan dengan menghapus blok keterangan fakta
- Hapus tabel "Catatan yang Perlu Diperhatikan" yang merender $forminspeksi['fakta']['keterangan'] (string/array).
- Alasan: menghindari duplikasi, ketidakpastian tipe (string/array), dan potensi inkonsistensi formatting; konten penting tetap tersedia di bagian lain laporan.
Komentar level fungsi (referensi terkait):
- generateLaporanButton(data, dokumenID, inspeksiId, jenisJaminanID, typeOrResume, typePenilaian)
- Peran: merender tombol "Laporan" berdasarkan status pembayaran dan kondisi penilai.
- Perubahan: tidak mengubah implementasi fungsi; memperkuat logika pemanggilan via optional chaining agar parameter typeOrResume ditentukan aman.
- Konsistensi urutan class CSS mengikuti standar Tailwind (layout → sizing → typography → colors)
- Perbaikan indentasi, spacing, whitespace, dan formatting string ("" → '')
- Penyusunan ulang struktur HTML dengan alignment & spacing yang lebih rapi
- Optimalisasi Blade template: perbaikan kondisi `@if (isset($penawaran))` & closing tag
- Standarisasi penggunaan grid layout dan urutan class grid (contoh: `grid grid-cols-1 gap-5 xl:grid-cols-2`)
- Konsistensi typography classes (`font-normal text-gray-700 text-2sm`) dan urutan color classes
- Refaktor struktur tabel: perbaikan class ordering, cell formatting, dan spacing kolom
- Penyusunan ulang komponen accordion dengan indentasi & struktur konten yang konsisten
- Konsistensi class pada tombol accordion & link structure untuk meningkatkan maintainability