perbaikan data pembanding
This commit is contained in:
@@ -1056,25 +1056,26 @@ class SurveyorController extends Controller
|
|||||||
{
|
{
|
||||||
$tanahBangunanTypes = ['KAPAL', 'PESAWAT', 'KENDARAAN', 'ALAT BERAT', 'MESIN'];
|
$tanahBangunanTypes = ['KAPAL', 'PESAWAT', 'KENDARAAN', 'ALAT BERAT', 'MESIN'];
|
||||||
|
|
||||||
if (isset($request->action) &&
|
$action = isset($request->action) ? strtoupper(str_replace('-', ' ', $request->action)) : '';
|
||||||
in_array(strtoupper($request->action), array_map('strtoupper', $tanahBangunanTypes))) {
|
|
||||||
|
if (in_array($action, $tanahBangunanTypes)) {
|
||||||
$fields = [
|
$fields = [
|
||||||
'address', 'village_code', 'district_code', 'city_code', 'province_code',
|
'address', 'village_code', 'district_code', 'city_code', 'province_code',
|
||||||
'nama', 'type','warna','lokasi', 'total', 'diskon', 'harga_diskon',
|
'nama', 'type','warna','lokasi', 'total', 'diskon', 'harga_diskon',
|
||||||
'sumber_data', 'harga', 'tahun','transmisi','telepon',
|
'sumber_data', 'harga', 'tahun','transmisi','telepon',
|
||||||
'kordinat_lat', 'kordinat_lng', 'tahun_pembuatan','merek_buatan','kapasitas','power','kondisi'
|
'kordinat_lat', 'kordinat_lng', 'tahun_pembuatan','merek_buatan','kapasitas','power','kondisi'
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
}else{
|
} else {
|
||||||
$fields = [
|
$fields = [
|
||||||
'address', 'village_code', 'district_code', 'city_code', 'province_code',
|
'address', 'village_code', 'district_code', 'city_code', 'province_code',
|
||||||
'tahun', 'luas_tanah', 'luas_bangunan', 'tahun_bangunan',
|
'tahun', 'luas_tanah', 'luas_bangunan', 'tahun_bangunan',
|
||||||
'status_nara_sumber', 'harga', 'harga_diskon', 'diskon', 'total', 'nama_nara_sumber',
|
'status_nara_sumber', 'harga', 'harga_diskon', 'diskon', 'total', 'nama_nara_sumber',
|
||||||
'peruntukan', 'penawaran', 'telepon','hak_properti',
|
'peruntukan', 'penawaran', 'telepon','hak_properti',
|
||||||
'kordinat_lat', 'kordinat_lng', 'jenis_aset','foto_objek'
|
'kordinat_lat', 'kordinat_lng', 'jenis_aset','foto_objek'
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
$pembanding = [];
|
$pembanding = [];
|
||||||
foreach ($fields as $field) {
|
foreach ($fields as $field) {
|
||||||
@@ -1313,8 +1314,7 @@ class SurveyorController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
$dataForm['alamat'][$alamatStatus][$field] = $newValue;
|
$dataForm['alamat'][$alamatStatus][$field] = $newValue;
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
if (!isset($dataForm[$field])) {
|
if (!isset($dataForm[$field])) {
|
||||||
$dataForm[$field] = [];
|
$dataForm[$field] = [];
|
||||||
}
|
}
|
||||||
@@ -1399,11 +1399,12 @@ class SurveyorController extends Controller
|
|||||||
|
|
||||||
$tanahBangunanTypes = ['KAPAL', 'PESAWAT', 'KENDARAAN', 'ALAT BERAT', 'MESIN'];
|
$tanahBangunanTypes = ['KAPAL', 'PESAWAT', 'KENDARAAN', 'ALAT BERAT', 'MESIN'];
|
||||||
|
|
||||||
if (isset($request->action) &&
|
$action = isset($request->action) ? strtoupper(str_replace('-', ' ', $request->action)) : '';
|
||||||
in_array(strtoupper($request->action), array_map('strtoupper', $tanahBangunanTypes))) {
|
|
||||||
|
if (in_array($action, $tanahBangunanTypes)) {
|
||||||
|
|
||||||
$objekPenilaian = $this->formatObjekPenilaiankendaraan($request);
|
$objekPenilaian = $this->formatObjekPenilaiankendaraan($request);
|
||||||
}else{
|
} else {
|
||||||
$objekPenilaian = $this->formatObjekPenilaian($request);
|
$objekPenilaian = $this->formatObjekPenilaian($request);
|
||||||
}
|
}
|
||||||
if ($request->hasFile('foto_objek')) {
|
if ($request->hasFile('foto_objek')) {
|
||||||
@@ -1708,8 +1709,9 @@ class SurveyorController extends Controller
|
|||||||
|
|
||||||
$tanahBangunanTypes = ['KAPAL', 'PESAWAT', 'KENDARAAN', 'ALAT BERAT', 'MESIN'];
|
$tanahBangunanTypes = ['KAPAL', 'PESAWAT', 'KENDARAAN', 'ALAT BERAT', 'MESIN'];
|
||||||
|
|
||||||
if (isset($inspectionData['action']) &&
|
$action = isset($inspectionData['action']) ? strtoupper(str_replace('-', ' ', $inspectionData['action'])) : '';
|
||||||
in_array(strtoupper($inspectionData['action']), array_map('strtoupper', $tanahBangunanTypes))) {
|
|
||||||
|
if (in_array($action, $tanahBangunanTypes)) {
|
||||||
return $selectedProvince = $inspectionData['alamat']['sesuai'][$code] ?? null;
|
return $selectedProvince = $inspectionData['alamat']['sesuai'][$code] ?? null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1719,7 +1721,7 @@ class SurveyorController extends Controller
|
|||||||
return $selectedProvince;
|
return $selectedProvince;
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -56,9 +56,6 @@
|
|||||||
@include('lpj::surveyor.js.utils')
|
@include('lpj::surveyor.js.utils')
|
||||||
<script>
|
<script>
|
||||||
let columnCount = 1;
|
let columnCount = 1;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Fungsi calculate prices yang diperbaiki
|
// Fungsi calculate prices yang diperbaiki
|
||||||
function calculatePrices(type = 'main', index = null) {
|
function calculatePrices(type = 'main', index = null) {
|
||||||
let hargaInput, diskonInput, totalInput, hargaDiskonInput;
|
let hargaInput, diskonInput, totalInput, hargaDiskonInput;
|
||||||
@@ -128,7 +125,7 @@
|
|||||||
} else {
|
} else {
|
||||||
// Format currency untuk input harga
|
// Format currency untuk input harga
|
||||||
if (name.includes('harga') || name.includes('total') || name.includes('diskon')) {
|
if (name.includes('harga') || name.includes('total') || name.includes('diskon')) {
|
||||||
element.value = formatCurrency(value ? value.toString() : '0');
|
element.value = value ? value.toString() : '0';
|
||||||
} else {
|
} else {
|
||||||
element.value = value || '';
|
element.value = value || '';
|
||||||
}
|
}
|
||||||
@@ -139,58 +136,61 @@
|
|||||||
const arrayData = ['KAPAL', 'PESAWAT', 'KENDARAAN', 'ALAT BERAT', 'MESIN'];
|
const arrayData = ['KAPAL', 'PESAWAT', 'KENDARAAN', 'ALAT BERAT', 'MESIN'];
|
||||||
const dk = @json($dokumentName);
|
const dk = @json($dokumentName);
|
||||||
|
|
||||||
// Cek apakah dk memiliki data dan arrayData tidak kosong
|
const normalizedDk = dk.replace(/-/g, ' ').toUpperCase();
|
||||||
const useFirstInputs = arrayData.length > 0 && dk.length > 0;
|
|
||||||
|
|
||||||
const inputs = useFirstInputs ?
|
// Cek apakah arrayData berisi normalizedDk
|
||||||
{
|
const useFirstInputs = arrayData.includes(normalizedDk);
|
||||||
'nama_pembanding[]': data.nama,
|
|
||||||
'type_pembanding[]': data.type,
|
|
||||||
'warna_pembanding[]': data.warna,
|
const currentData = Array.isArray(data) ? data[index] : data;
|
||||||
'lokasi_pembanding[]': data.lokasi,
|
|
||||||
'sumber_data_pembanding[]': data.sumber_data,
|
const inputs = useFirstInputs ? {
|
||||||
'tahun_pembanding[]': data.tahun,
|
'nama_pembanding[]': currentData.nama,
|
||||||
'transmisi_pembanding[]': data.transmisi,
|
'type_pembanding[]': currentData.type,
|
||||||
'tahun_pembuatan_pembanding[]': data.tahun_pembuatan,
|
'warna_pembanding[]': currentData.warna,
|
||||||
'merek_buatan_pembanding[]': data.merek_buatan,
|
'lokasi_pembanding[]': currentData.lokasi,
|
||||||
'kapasitas_pembanding[]': data.kapasitas,
|
'sumber_data_pembanding[]': currentData.sumber_data,
|
||||||
'power_pembanding[]': data.power,
|
'tahun_pembanding[]': currentData.tahun,
|
||||||
'kondisi_pembanding[]': data.kondisi,
|
'transmisi_pembanding[]': currentData.transmisi,
|
||||||
'kordinat_lat_pembanding[]': data.kordinat_lat,
|
'tahun_pembuatan_pembanding[]': currentData.tahun_pembuatan,
|
||||||
'kordinat_lng_pembanding[]': data.kordinat_lng,
|
'merek_buatan_pembanding[]': currentData.merek_buatan,
|
||||||
'address_pembanding[]': data.address,
|
'kapasitas_pembanding[]': currentData.kapasitas,
|
||||||
'village_code_pembanding[]': data.village_code,
|
'power_pembanding[]': currentData.power,
|
||||||
'district_code_pembanding[]': data.district_code,
|
'kondisi_pembanding[]': currentData.kondisi,
|
||||||
'city_code_pembanding[]': data.city_code,
|
'kordinat_lat_pembanding[]': currentData.kordinat_lat,
|
||||||
'province_code_pembanding[]': data.province_code,
|
'kordinat_lng_pembanding[]': currentData.kordinat_lng,
|
||||||
'harga_pembanding[]': data.harga,
|
'address_pembanding[]': currentData.address,
|
||||||
'harga_diskon_pembanding[]': data.harga_diskon,
|
'village_code_pembanding[]': currentData.village_code,
|
||||||
'total_pembanding[]': data.total,
|
'district_code_pembanding[]': currentData.district_code,
|
||||||
'diskon_pembanding[]': data.diskon,
|
'city_code_pembanding[]': currentData.city_code,
|
||||||
'telepon_pembanding[]': data.telepon,
|
'province_code_pembanding[]': currentData.province_code,
|
||||||
'penawaran_pembanding[]': data.penawaran,
|
'harga_pembanding[]': currentData.harga,
|
||||||
} :
|
'harga_diskon_pembanding[]': currentData.harga_diskon,
|
||||||
{
|
'total_pembanding[]': currentData.total,
|
||||||
'jenis_aset_pembanding[]': data.jenis_aset,
|
'diskon_pembanding[]': currentData.diskon,
|
||||||
'luas_tanah_pembanding[]': data.luas_tanah,
|
'telepon_pembanding[]': currentData.telepon,
|
||||||
'luas_bangunan_pembanding[]': data.luas_bangunan,
|
'penawaran_pembanding[]': currentData.penawaran,
|
||||||
'status_nara_sumber_pembanding[]': data.status_nara_sumber,
|
} : {
|
||||||
'nama_nara_sumber_pembanding[]': data.nama_nara_sumber,
|
'jenis_aset_pembanding[]': currentData.jenis_aset,
|
||||||
'kordinat_lat_pembanding[]': data.kordinat_lat,
|
'luas_tanah_pembanding[]': currentData.luas_tanah,
|
||||||
'kordinat_lng_pembanding[]': data.kordinat_lng,
|
'luas_bangunan_pembanding[]': currentData.luas_bangunan,
|
||||||
'address_pembanding[]': data.address,
|
'status_nara_sumber_pembanding[]': currentData.status_nara_sumber,
|
||||||
'village_code_pembanding[]': data.village_code,
|
'nama_nara_sumber_pembanding[]': currentData.nama_nara_sumber,
|
||||||
'district_code_pembanding[]': data.district_code,
|
'kordinat_lat_pembanding[]': currentData.kordinat_lat,
|
||||||
'city_code_pembanding[]': data.city_code,
|
'kordinat_lng_pembanding[]': currentData.kordinat_lng,
|
||||||
'province_code_pembanding[]': data.province_code,
|
'address_pembanding[]': currentData.address,
|
||||||
'harga_pembanding[]': data.harga,
|
'village_code_pembanding[]': currentData.village_code,
|
||||||
'harga_diskon_pembanding[]': data.harga_diskon,
|
'district_code_pembanding[]': currentData.district_code,
|
||||||
'total_pembanding[]': data.total,
|
'city_code_pembanding[]': currentData.city_code,
|
||||||
'diskon_pembanding[]': data.diskon,
|
'province_code_pembanding[]': currentData.province_code,
|
||||||
'hak_properti_pembanding[]': data.hak_properti,
|
'harga_pembanding[]': currentData.harga,
|
||||||
'telepon_pembanding[]': data.telepon,
|
'harga_diskon_pembanding[]': currentData.harga_diskon,
|
||||||
'penawaran_pembanding[]': data.penawaran,
|
'total_pembanding[]': currentData.total,
|
||||||
};
|
'diskon_pembanding[]': currentData.diskon,
|
||||||
|
'hak_properti_pembanding[]': currentData.hak_properti,
|
||||||
|
'telepon_pembanding[]': currentData.telepon,
|
||||||
|
'penawaran_pembanding[]': currentData.penawaran,
|
||||||
|
};
|
||||||
|
|
||||||
Object.entries(inputs).forEach(([name, value]) => {
|
Object.entries(inputs).forEach(([name, value]) => {
|
||||||
setArrayInputValue(name, value, index);
|
setArrayInputValue(name, value, index);
|
||||||
@@ -363,9 +363,9 @@
|
|||||||
input.value = '';
|
input.value = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (input.classList.contains('currency-format')) {
|
if (input.classList.contains('currency')) {
|
||||||
input.addEventListener('input', function() {
|
input.addEventListener('input', function() {
|
||||||
formatCurrency(this);
|
|
||||||
|
|
||||||
// Special handling for price-related inputs
|
// Special handling for price-related inputs
|
||||||
if (input.name.includes('harga_pembanding') ||
|
if (input.name.includes('harga_pembanding') ||
|
||||||
@@ -380,8 +380,8 @@
|
|||||||
// Specific handling for discount to limit to 100%
|
// Specific handling for discount to limit to 100%
|
||||||
if (input.name.includes('diskon_pembanding')) {
|
if (input.name.includes('diskon_pembanding')) {
|
||||||
input.addEventListener('input', function() {
|
input.addEventListener('input', function() {
|
||||||
let value = parseFloat(this.value.replace(/[^\d]/g, '') || '0');
|
let value =
|
||||||
this.value = formatCurrency(value.toString());
|
this.value = value.toString();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -240,11 +240,11 @@
|
|||||||
<td class="px-4 py-2">Provinsi</td>
|
<td class="px-4 py-2">Provinsi</td>
|
||||||
<td class="px-4 py-2">
|
<td class="px-4 py-2">
|
||||||
<select id="province_code" name="province_code" class="input w-full">
|
<select id="province_code" name="province_code" class="input w-full">
|
||||||
|
|
||||||
<option value="">Select Province</option>
|
<option value="">Select Province</option>
|
||||||
@foreach ($provinces as $province)
|
@foreach ($provinces as $province)
|
||||||
@php
|
@php
|
||||||
|
|
||||||
$selectedProvince =
|
$selectedProvince =
|
||||||
$inspectionData['alamat']['sesuai']['province_code'] ?? null;
|
$inspectionData['alamat']['sesuai']['province_code'] ?? null;
|
||||||
@endphp
|
@endphp
|
||||||
@@ -274,7 +274,7 @@
|
|||||||
<select id="city_code" name="city_code" class="select w-full">
|
<select id="city_code" name="city_code" class="select w-full">
|
||||||
@php
|
@php
|
||||||
|
|
||||||
|
|
||||||
$selectedCity = $inspectionData['alamat']['sesuai']['city_code'] ?? null;
|
$selectedCity = $inspectionData['alamat']['sesuai']['city_code'] ?? null;
|
||||||
@endphp
|
@endphp
|
||||||
<option value="">Pilih Kota/Kabupaten</option>
|
<option value="">Pilih Kota/Kabupaten</option>
|
||||||
@@ -330,7 +330,7 @@
|
|||||||
<td class="px-4 py-2">
|
<td class="px-4 py-2">
|
||||||
<select id="village_code" name="village_code" class="select w-full">
|
<select id="village_code" name="village_code" class="select w-full">
|
||||||
@php
|
@php
|
||||||
|
|
||||||
$selectedDesa =
|
$selectedDesa =
|
||||||
$inspectionData['alamat']['sesuai']['village_code'] ?? null;
|
$inspectionData['alamat']['sesuai']['village_code'] ?? null;
|
||||||
@endphp
|
@endphp
|
||||||
@@ -364,7 +364,7 @@
|
|||||||
value="{{ $inspectionData['harga'] ?? '' }}">
|
value="{{ $inspectionData['harga'] ?? '' }}">
|
||||||
</td>
|
</td>
|
||||||
<td class="px-4 py-2">
|
<td class="px-4 py-2">
|
||||||
<input type="text" name="harga_pembanding[]" class="input currency-format">
|
<input type="text" name="harga_pembanding[]" class="input currency">
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -414,4 +414,4 @@
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -115,11 +115,23 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td class="px-4 py-2">Luas Bangunan (m²)</td>
|
<td class="px-4 py-2">Luas Bangunan (m²)</td>
|
||||||
<td class="px-4 py-2">
|
<td class="px-4 py-2">
|
||||||
|
@php
|
||||||
|
$luasTanahData = $inspectionData['bangunan']['luas_tanah_bagunan'];
|
||||||
|
$nilai = 'N/A';
|
||||||
|
|
||||||
<input type="text" name="luas_tanah_bagunan"
|
if (!empty($luasTanahData['sesuai'])) {
|
||||||
class="input number-format"
|
$nilai = $luasTanahData['sesuai'];
|
||||||
value="{{ $inspectionData['bangunan']['luas_tanah_bagunan']['sesuai'] ?? ($inspectionData['bangunan']['luas_tanah_bagunan']['tidak sesuai'] ?? '') }}">
|
} elseif (!empty($luasTanahData['tidak sesuai'])) {
|
||||||
|
$nilai = $luasTanahData['tidak sesuai'];
|
||||||
|
}
|
||||||
|
@endphp
|
||||||
|
<input type="text"
|
||||||
|
name="luas_tanah_bagunan"
|
||||||
|
class="input number-format"
|
||||||
|
value="{{ $nilai }}">
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
|
|
||||||
<td class="px-4 py-2">
|
<td class="px-4 py-2">
|
||||||
<input type="text" name="luas_bangunan_pembanding[]"
|
<input type="text" name="luas_bangunan_pembanding[]"
|
||||||
class="input number-format">
|
class="input number-format">
|
||||||
@@ -392,7 +404,7 @@
|
|||||||
</td>
|
</td>
|
||||||
<td class="px-4 py-2">
|
<td class="px-4 py-2">
|
||||||
<input type="text" name="harga_pembanding[]"
|
<input type="text" name="harga_pembanding[]"
|
||||||
class="input currency-format">
|
class="input currency">
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
|||||||
Reference in New Issue
Block a user