fix(penilai): perbaikkan inputan total nilai pasar jika unit apartement

This commit is contained in:
majid
2025-03-27 10:25:22 +07:00
parent 0cf3f27a13
commit 573b2e2c74
2 changed files with 65 additions and 49 deletions

View File

@@ -1054,26 +1054,33 @@ class PenilaiController extends Controller
$validatedData = $request->all(); $validatedData = $request->all();
$result = $this->inspeksiService->storeInspeksi($validatedData, $request->input('type'), $request); $result = $this->inspeksiService->storeInspeksi($validatedData, $request->input('type'), $request);
$data = [];
$data = [ $kategoriUnik = ['tanah', 'bangunan', 'apartemen-kantor', 'alat-berat', 'mesin', 'kendaraan', 'pesawat', 'kapal', 'sarana_pelengkap_penilai'];
'luas_tanah' => $request->input('luas_tanah'),
'nilai_tanah_1' => $request->input('nilai_tanah_1'), foreach ($kategoriUnik as $kategori) {
'nilai_tanah_2' => $request->input('nilai_tanah_2'), // Dynamically generate keys
'luas_bangunan' => $request->input('luas_bangunan'), $luasKey = 'luas_' . $kategori;
'nilai_bangunan_1' => $request->input('nilai_bangunan_1'), $nilaiKey1 = 'nilai_' . $kategori . '_1';
'nilai_bangunan_2' => $request->input('nilai_bangunan_2'), $nilaiKey2 = 'nilai_' . $kategori . '_2';
'sarana_pelengkap_penilai' => $request->input('sarana_pelengkap_penilai'),
'nilai_sarana_pelengkap_1' => $request->input('nilai_sarana_pelengkap_1'), // Collect data if exists
'nilai_sarana_pelengkap_2' => $request->input('nilai_sarana_pelengkap_2'), if ($request->has($luasKey)) {
'total_nilai_pasar_wajar' => $request->input('total_nilai_pasar_wajar'), $data[$luasKey] = $request->input($luasKey);
'likuidasi' => $request->input('likuidasi'), }
'likuidasi_nilai_1' => $request->input('likuidasi_nilai_1'), if ($request->has($nilaiKey1)) {
'likuidasi_nilai_2' => $request->input('likuidasi_nilai_2'), $data[$nilaiKey1] = $request->input($nilaiKey1);
'asuransi_luas_bangunan' => $request->input('asuransi_luas_bangunan'), }
'asuransi_nilai_1' => $request->input('asuransi_nilai_1'), if ($request->has($nilaiKey2)) {
'asuransi_nilai_2' => $request->input('asuransi_nilai_2'), $data[$nilaiKey2] = $request->input($nilaiKey2);
'keterangan_penilai' => $request->input('keterangan_penilai') ?? [], }
]; }
$data['total_nilai_pasar_wajar'] = $request->input('total_nilai_pasar_wajar');
$data['likuidasi'] = $request->input('likuidasi');
$data['likuidasi_nilai_1'] = $request->input('likuidasi_nilai_1');
$data['likuidasi_nilai_2'] = $request->input('likuidasi_nilai_2');
$data['keterangan_penilai'] = $request->input('keterangan_penilai') ?? [];
$npwData = []; $npwData = [];
$npwCounter = 1; $npwCounter = 1;

View File

@@ -91,6 +91,10 @@
$luas = null; $luas = null;
} }
$luas = old('luas_' . $item, $lpjData['luas_' . $item] ?? $luas); $luas = old('luas_' . $item, $lpjData['luas_' . $item] ?? $luas);
$luasKey = 'luas_' . $item;
$nilaiKey1 = 'nilai_' . $item . '_1';
$nilaiKey2 = 'nilai_' . $item . '_2';
@endphp @endphp
@if (isset($labelNilai[$item])) @if (isset($labelNilai[$item]))
<div class="flex grid-col-3 gap-2.5 w-full"> <div class="flex grid-col-3 gap-2.5 w-full">
@@ -98,26 +102,28 @@
<label for="province" class="form-label max-w-56"> <label for="province" class="form-label max-w-56">
{{ $labelNilai[$item] }} {{ $labelNilai[$item] }}
</label> </label>
<input type="text" id="luas_{{ $item }}" class="input w-full" <input type="text" id="{{ $luasKey }}" class="input w-full"
name="luas_{{ $item }}" value="{{ $luas }}" name="{{ $luasKey }}"
value="{{ old($luasKey, $lpjData[$luasKey] ?? null) }}"
oninput="calculateTotal()"> oninput="calculateTotal()">
</div> </div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full"> <div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
<label for="province" class="">X</label> <label for="province" class="">X</label>
<label class="input"> <label class="input">
<i class="">Rp</i> <i class="">Rp</i>
<input type="text" id="nilai_{{ $item }}_1" class="w-full currency" <input type="text" id="{{ $nilaiKey1 }}" class="w-full currency"
name="nilai_{{ $item }}_1" name="{{ $nilaiKey1 }}"
value="{{ old('nilai_' . $item . '_1', $lpjData['nilai_' . $item . '_1'] ?? null) }}" value="{{ old($nilaiKey1, $lpjData[$nilaiKey1] ?? null) }}"
oninput="calculateTotal()"> oninput="calculateTotal()">
</label> </label>
</div> </div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full"> <div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
<label class="input"> <label class="input">
<i class="">Rp</i> <i class="">Rp</i>
<input id="nilai_{{ $item }}_2" type="text" <input id="{{ $nilaiKey2 }}" type="text"
class="w-full currency-format" name="nilai_{{ $item }}_2" class="w-full currency-format"
value="{{ old('nilai_' . $item . '_2', $lpjData['nilai_' . $item . '_2'] ?? null) }}"> name="{{ $nilaiKey2 }}"
value="{{ old($nilaiKey2, $lpjData[$nilaiKey2] ?? null) }}">
</label> </label>
</div> </div>
</div> </div>
@@ -460,7 +466,10 @@
// Get all kategori unik elements dynamically // Get all kategori unik elements dynamically
const kategoriItems = document.querySelectorAll('[id^="luas_"]'); const kategoriItems = document.querySelectorAll('[id^="luas_"]');
kategoriItems.forEach(item => { kategoriItems.forEach(item => {
console.log(item);
const kategori = item.id.replace('luas_', ''); const kategori = item.id.replace('luas_', '');
const luasInput = document.getElementById(`luas_${kategori}`); const luasInput = document.getElementById(`luas_${kategori}`);