perbaikan validasi input nilai likuidasi percent resume
This commit is contained in:
@@ -194,7 +194,7 @@
|
|||||||
<th class="text-center">Luas Tanah</th>
|
<th class="text-center">Luas Tanah</th>
|
||||||
<th class="text-center">Luas Bangunan</th>
|
<th class="text-center">Luas Bangunan</th>
|
||||||
<th class="text-center">Nilai Pasar Wajar</th>
|
<th class="text-center">Nilai Pasar Wajar</th>
|
||||||
<th class="text-center">Nilai Likuidasi</th>
|
<th class="text-center">Nilai Likuidasi(%)</th>
|
||||||
<th class="text-center">Total Nilai Likuidasi</th>
|
<th class="text-center">Total Nilai Likuidasi</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
@@ -306,7 +306,7 @@
|
|||||||
<th class="text-center">Luas Tanah</th>
|
<th class="text-center">Luas Tanah</th>
|
||||||
<th class="text-center">Luas Bangunan</th>
|
<th class="text-center">Luas Bangunan</th>
|
||||||
<th class="text-center">Nilai Pasar Wajar</th>
|
<th class="text-center">Nilai Pasar Wajar</th>
|
||||||
<th class="text-center">Likuidasi</th>
|
<th class="text-center">Nilai Likuidasi (%)</th>
|
||||||
<th class="text-center">Total Nilai Likuidasi</th>
|
<th class="text-center">Total Nilai Likuidasi</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
@@ -398,7 +398,7 @@
|
|||||||
<th class="text-center">Luas Tanah</th>
|
<th class="text-center">Luas Tanah</th>
|
||||||
<th class="text-center">Luas Bangunan</th>
|
<th class="text-center">Luas Bangunan</th>
|
||||||
<th class="text-center">Nilai Pasar Wajar</th>
|
<th class="text-center">Nilai Pasar Wajar</th>
|
||||||
<th class="text-center"> Likuidasi</th>
|
<th class="text-center">Nilai Likuidasi (%)</th>
|
||||||
<th class="text-center">Total Nilai Likuidasi</th>
|
<th class="text-center">Total Nilai Likuidasi</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
@@ -541,7 +541,7 @@
|
|||||||
<th class="text-center">Luas Tanah</th>
|
<th class="text-center">Luas Tanah</th>
|
||||||
<th class="text-center">Luas Bangunan</th>
|
<th class="text-center">Luas Bangunan</th>
|
||||||
<th class="text-center">Nilai Pasar Wajar</th>
|
<th class="text-center">Nilai Pasar Wajar</th>
|
||||||
<th class="text-center">Likuidasi</th>
|
<th class="text-center">Nilai Likuidasi (%)</th>
|
||||||
<th class="text-center">Total Nilai Likuidasi</th>
|
<th class="text-center">Total Nilai Likuidasi</th>
|
||||||
<th class="text-center">Aksi</th>
|
<th class="text-center">Aksi</th>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -801,49 +801,27 @@
|
|||||||
|
|
||||||
const totalLikuidasiInput = row.querySelector('.total-likuidasi');
|
const totalLikuidasiInput = row.querySelector('.total-likuidasi');
|
||||||
|
|
||||||
// Bersihkan nilai dari karakter non-digit
|
|
||||||
const cleanNilaiPasar = cleanCurrencyValue(nilaiPasarInput.value);
|
const cleanNilaiPasar = cleanCurrencyValue(nilaiPasarInput.value);
|
||||||
const cleanLikuidasi = cleanCurrencyValue(likuidasiInput.value);
|
let cleanLikuidasi = cleanCurrencyValue(likuidasiInput.value);
|
||||||
likuidasiInput.value = formatPercentages(likuidasiInput.value);
|
|
||||||
// Konversi ke angka
|
// Batasi likuidasi maksimal hingga 100
|
||||||
|
cleanLikuidasi = Math.min(parseFloat(cleanLikuidasi) || 0, 100);
|
||||||
|
|
||||||
|
// Format nilai likuidasi dengan simbol %
|
||||||
|
likuidasiInput.value = cleanLikuidasi;
|
||||||
|
|
||||||
|
// Konversi ke angka untuk perhitungan
|
||||||
const nilaiPasar = parseFloat(cleanNilaiPasar) || 0;
|
const nilaiPasar = parseFloat(cleanNilaiPasar) || 0;
|
||||||
let likuidasi = parseFloat(cleanLikuidasi) || 0;
|
const likuidasi = cleanLikuidasi / 100; // Konversi persentase ke desimal
|
||||||
|
|
||||||
// Jika nilai likuidasi lebih dari 100, reset ke nilai awal yang diinputkan
|
|
||||||
if (likuidasi > 100) {
|
|
||||||
likuidasi = parseFloat(cleanLikuidasi) || 0; // Reset ke nilai awal
|
|
||||||
likuidasiInput.value = likuidasi
|
|
||||||
}
|
|
||||||
|
|
||||||
// Pastikan nilai likuidasi tidak melebihi 100
|
|
||||||
likuidasi = Math.min(likuidasi, 100);
|
|
||||||
|
|
||||||
// Hitung total likuidasi
|
// Hitung total likuidasi
|
||||||
const totalLikuidasi = nilaiPasar - (nilaiPasar * (likuidasi / 100));
|
const totalLikuidasi = nilaiPasar * likuidasi;
|
||||||
|
|
||||||
// Tampilkan hasil dengan format yang benar
|
// Tampilkan hasil dengan format yang benar
|
||||||
totalLikuidasiInput.value = formatCurrency(totalLikuidasi.toString());
|
totalLikuidasiInput.value = formatCurrency(totalLikuidasi.toString());
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function formatPercentages(value) {
|
|
||||||
// Hapus semua karakter kecuali angka dan koma
|
|
||||||
let numericValue = value.replace(/[^0-9,]/g, '');
|
|
||||||
|
|
||||||
// Pastikan hanya satu koma yang ada
|
|
||||||
let parts = numericValue.split(',');
|
|
||||||
if (parts.length > 2) {
|
|
||||||
numericValue = parts[0] + ',' + parts[1]; // Pertahankan hanya bagian pertama dan kedua
|
|
||||||
}
|
|
||||||
|
|
||||||
// Jika nilai melebihi 100, batasi menjadi 100
|
|
||||||
let numericFloat = parseFloat(numericValue.replace(',', '.')) || 0;
|
|
||||||
if (numericFloat > 100) {
|
|
||||||
numericFloat = 100;
|
|
||||||
numericValue = '100';
|
|
||||||
}
|
|
||||||
|
|
||||||
// Kembalikan nilai dengan simbol %
|
|
||||||
return numericValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
Reference in New Issue
Block a user