From 27ef923c2771d062e6f6ad0206fd9b810d16cb6b Mon Sep 17 00:00:00 2001 From: majid Date: Thu, 13 Feb 2025 17:43:55 +0700 Subject: [PATCH] fix(penilai): perbaikan format nilai rupiah diresume --- .../views/penilai/components/resume.blade.php | 73 ++++++++++++++----- .../surveyor/components/header.blade.php | 2 +- 2 files changed, 55 insertions(+), 20 deletions(-) diff --git a/resources/views/penilai/components/resume.blade.php b/resources/views/penilai/components/resume.blade.php index f8833aa..0d03500 100644 --- a/resources/views/penilai/components/resume.blade.php +++ b/resources/views/penilai/components/resume.blade.php @@ -202,7 +202,7 @@ class="input number-format"> + class="input currency-format" value="{{ $item['nilai'] }}"> @endforeach @@ -231,10 +231,7 @@ break; } - if ( - isset($luas->name) && - $luas->name === 'IMB' - ) { + if (isset($luas->name) && $luas->name === 'IMB') { $details = json_decode($luas->details, true); $luas_bangunan = isset($details['luas_bangunan']) ? $details['luas_bangunan'] @@ -253,7 +250,7 @@ - + @endif @@ -296,7 +293,7 @@ + class="input currency-format" value="{{ $item['nilai'] }}"> @endforeach @@ -315,7 +312,8 @@ class="input number-format"> - + @endif @@ -350,7 +348,7 @@ @if (!empty($resumeData['tambahan'])) - {{-- @foreach ($resumeData['tambahan'] as $item) --}} + @foreach ($resumeData['tambahan'] as $item) @@ -370,9 +368,10 @@ + class="input currency-format" value="{{ $item['nilai'] }}"> + @endforeach @endif @@ -436,8 +435,8 @@ href="{{ route('penilai.lampiran') }}?permohonanId={{ request('permohonanId') }}&documentId={{ request('documentId') }}&inspeksiId={{ request('inspeksiId') }}&jaminanId={{ request('jaminanId') }}&statusLpj=1"> LAMPIRAN FOTO DAN DOKUMEN - + Hasil Inspeksi + let counter = 3; function tambahKesimpulanNilai() { @@ -495,7 +495,7 @@ + class="input currency-format"> @@ -507,6 +507,18 @@ `; + + const newCurrencyInputs = kesimpulan.querySelectorAll(`#kesimpulan-${counter} .currency-format`); + newCurrencyInputs.forEach(input => { + input.addEventListener('input', function() { + handleCurrencyInput(this); + }); + + // Format initial value jika ada + if (input.value) { + input.value = formatCurrency(input.value); + } + }); counter++; } @@ -529,7 +541,7 @@ const formElement = document.querySelector('form'); const jsonData = formToJson(formElement); - console.log('Data dalam format JSON:', JSON.stringify(jsonData, null, 2)); + console.log('Data dalam format JSON:', JSON.stringify(formElement, null, 2)); const urlParams = new URLSearchParams(window.location.search); // Mengambil query parameters dari URL const permohonanId = urlParams.get('permohonanId'); @@ -626,7 +638,7 @@ sertifikat: row.querySelector('input[name="fisik_sertifikat[]"]')?.value || "", luas_tanah: row.querySelector('input[name="fisik_luas_tanah[]"]')?.value || "", luas_bangunan: row.querySelector('input[name="fisik_luas_bangunan[]"]')?.value || "", - nilai: row.querySelector('input[name="fisik_nilai[]"]')?.value || "" + nilai: cleanCurrencyValue(row.querySelector('input[name="fisik_nilai[]"]')?.value || "") }; if (fisikData.sertifikat) { jsonData.fisik.push(fisikData); @@ -639,7 +651,7 @@ sertifikat: row.querySelector('input[name="sesuai_sertifikat[]"]')?.value || "", luas_tanah: row.querySelector('input[name="sesuai_luas_tanah[]"]')?.value || "", luas_bangunan: row.querySelector('input[name="sesuai_luas_bangunan[]"]')?.value || "", - nilai: row.querySelector('input[name="sesuai_nilai[]"]')?.value || "" + nilai: cleanCurrencyValue(row.querySelector('input[name="sesuai_nilai[]"]')?.value || "") }; if (imbData.sertifikat) { jsonData.sesuai_imb.push(imbData); @@ -653,13 +665,13 @@ sertifikat: row.querySelector('input[name="tambahan_sertifikat[]"]')?.value || "", luas_tanah: row.querySelector('input[name="tambahan_luas_tanah[]"]')?.value || "", luas_bangunan: row.querySelector('input[name="tambahan_luas_bangunan[]"]')?.value || "", - nilai: row.querySelector('input[name="tambahan_nilai[]"]')?.value || "" + nilai: cleanCurrencyValue(row.querySelector('input[name="tambahan_nilai[]"]')?.value || "") }; console.log(imbData); if (imbData.sertifikat) { jsonData.tambahan.push(imbData); } - }); + }); // Ambil keterangan const keterangan = formElement.querySelector('textarea[name="keterangan"]')?.value || ""; @@ -671,5 +683,28 @@ return jsonData; } - // Cara Penggunaan + document.addEventListener('DOMContentLoaded', function() { + // Initialize currency format for existing inputs + document.querySelectorAll('.currency-format').forEach(input => { + input.addEventListener('input', function() { + handleCurrencyInput(this); + }); + + // Format initial values if they exist + if (input.value) { + input.value = formatCurrency(input.value); + } + }); + }); + + function handleCurrencyInput(input) { + const value = input.value.replace(/[^\d]/g, ''); + input.value = formatCurrency(value); + } + function cleanCurrencyValue(value) { + return value.replace(/[^\d]/g, ''); +} + + + diff --git a/resources/views/surveyor/components/header.blade.php b/resources/views/surveyor/components/header.blade.php index 18c461d..0173111 100644 --- a/resources/views/surveyor/components/header.blade.php +++ b/resources/views/surveyor/components/header.blade.php @@ -471,7 +471,7 @@
+ value="{{ isset($permohonan->debiture->city) ? $permohonan->debiture->city->name : '' }}">