fix(surveyor/penilai): perbaikan satuan luas tanah, bangunan dan penambahan total luas di denah

This commit is contained in:
majid
2025-03-19 09:26:52 +07:00
committed by putrakuningan
parent 0a25a32fc8
commit 39c5214075
6 changed files with 46 additions and 9 deletions

View File

@@ -94,7 +94,7 @@
<div class="flex flex-wrap gap-4">
<div class="flex w-full items-center justify-center gap-4">
<label class="form-label max-w-56">
<span class="form-label">Total Luas</span>
<span class="form-label"> Luas</span>
</label>
<input type="text" name="luas_denah[]"
class="input w-full number-format"
@@ -151,7 +151,7 @@
<div class="flex flex-wrap gap-4">
<div class="flex w-full items-center justify-center gap-4">
<label class="form-label max-w-56">
<span class="form-label">Total Luas</span>
<span class="form-label"> Luas</span>
</label>
<input type="text" name="luas_denah[]" class="input w-full number-format"
onkeyup="formatNumber(this)">
@@ -164,6 +164,17 @@
</div>
<div class="w-full p-4">
<div class="flex flex-wrap gap-4">
<div class="flex w-full items-center justify-center gap-4">
<label class="form-label max-w-56">
<span class="form-label">Total Luas</span>
</label>
<input type="text" name="total_luas" id="totalLuas" class="input w-full number-format" readonly>
</div>
</div>
</div>
<div class="flex justify-end gap-2" style="margin-right: 20px; margin-top: 20px">
<button type="button" class="btn btn-success" id="saveButton" onclick="submitDenah()">
<span id="saveButtonText">Save</span>
@@ -229,6 +240,32 @@
});
});
function calculateTotalLuas() {
let totalLuas = 0;
const luasInputs = document.querySelectorAll('input[name="luas_denah[]"]');
luasInputs.forEach(input => {
const value = parseFloat(input.value.replace(/[^0-9.]/g, ''));
if (!isNaN(value)) {
totalLuas += value;
}
});
const totalLuasInput = document.getElementById('totalLuas');
totalLuasInput.value = totalLuas ? `${totalLuas.toLocaleString()} m²` : '';
}
// Tambahkan event listener untuk setiap input luas_denah[]
document.addEventListener('input', function (e) {
if (e.target && e.target.name === 'luas_denah[]') {
calculateTotalLuas();
}
});
// Jalankan hitung ulang saat halaman dimuat (jika ada nilai default)
document.addEventListener('DOMContentLoaded', calculateTotalLuas);
function createDenahElement(index) {
const denahItem = document.createElement('div');
denahItem.className = 'denah-item grid gap-5 mb-5 border p-4 rounded';
@@ -267,7 +304,7 @@
<div class="flex flex-wrap gap-4">
<div class="flex w-full items-center justify-center gap-4">
<label class="form-label max-w-56">
<span class="form-label">Total Luas</span>
<span class="form-label"> Luas</span>
</label>
<input type="text" name="luas_denah[]"
class="input w-full number-format"