Merge remote-tracking branch 'composer/feature/senior-officer' into staging
This commit is contained in:
@@ -579,7 +579,7 @@ class PenilaiController extends Controller
|
||||
'luas_bangunan' => $request->input('luas_bangunan'),
|
||||
'nilai_bangunan_1' => $request->input('nilai_bangunan_1'),
|
||||
'nilai_bangunan_2' => $request->input('nilai_bangunan_2'),
|
||||
'sarana_pelengkap' => $request->input('sarana_pelengkap', []),
|
||||
'sarana_pelengkap_penilai' => $request->input('sarana_pelengkap_penilai'),
|
||||
'nilai_sarana_pelengkap_1' => $request->input('nilai_sarana_pelengkap_1'),
|
||||
'nilai_sarana_pelengkap_2' => $request->input('nilai_sarana_pelengkap_2'),
|
||||
'total_nilai_pasar_wajar' => $request->input('total_nilai_pasar_wajar'),
|
||||
|
||||
@@ -599,18 +599,20 @@ class PenilaianController extends Controller
|
||||
|
||||
public function storePenilaiLaporan(Request $request)
|
||||
{
|
||||
DB::beginTransaction();
|
||||
try {
|
||||
|
||||
$validatedRequest = app(FormSurveyorRequest::class);
|
||||
$this->surveyorController->store($validatedRequest);
|
||||
|
||||
$data = [
|
||||
'luas_tanah' => $request->input('luas_tanah'),
|
||||
'luas_tanah_penilai' => $request->input('luas_tanah_penilai'),
|
||||
'nilai_tanah_1' => $request->input('nilai_tanah_1'),
|
||||
'nilai_tanah_2' => $request->input('nilai_tanah_2'),
|
||||
'luas_bangunan' => $request->input('luas_bangunan'),
|
||||
'luas_bangunan_penilai' => $request->input('luas_bangunan_penilai'),
|
||||
'nilai_bangunan_1' => $request->input('nilai_bangunan_1'),
|
||||
'nilai_bangunan_2' => $request->input('nilai_bangunan_2'),
|
||||
'sarana_pelengkap' => $request->input('sarana_pelengkap', []),
|
||||
'sarana_pelengkap_penilai' => $request->input('sarana_pelengkap_penilai'),
|
||||
'nilai_sarana_pelengkap_1' => $request->input('nilai_sarana_pelengkap_1'),
|
||||
'nilai_sarana_pelengkap_2' => $request->input('nilai_sarana_pelengkap_2'),
|
||||
'total_nilai_pasar_wajar' => $request->input('total_nilai_pasar_wajar'),
|
||||
@@ -633,12 +635,14 @@ class PenilaianController extends Controller
|
||||
'lpj' => json_encode($data),
|
||||
]
|
||||
);
|
||||
DB::commit();
|
||||
return response()->json([
|
||||
'success' => true,
|
||||
'message' => 'Berhasil Update Laporan penilai',
|
||||
'data' => $request->all(),
|
||||
], 200);
|
||||
} catch (\Throwable $e) {
|
||||
DB::rollBack();
|
||||
return response()->json([
|
||||
'success' => false,
|
||||
'message' => 'Terjadi kesalahan',
|
||||
|
||||
@@ -351,17 +351,15 @@ class FormSurveyorRequest extends FormRequest
|
||||
{
|
||||
return [
|
||||
'action' => 'required',
|
||||
'tanggal_survey' => 'required',
|
||||
'nama_wakil' => 'required',
|
||||
'hub_calon_debitur' => 'required',
|
||||
'dengan_wadeb' => 'required',
|
||||
'nama_wakil' => 'required|string',
|
||||
'hub_calon_debitur' => 'required|string',
|
||||
'nama_jalan' => 'required',
|
||||
'perumahan_gang' => 'required',
|
||||
'blok' => 'required',
|
||||
'desa_kelurahan' => 'required',
|
||||
'kecamatan' => 'required',
|
||||
'kota_madya' => 'required',
|
||||
'provinsi' => 'required',
|
||||
'blok_nomor' => 'required',
|
||||
'village_code' => 'nullable|string',
|
||||
'district_code' => 'nullable|string',
|
||||
'city_code' => 'nullable|string',
|
||||
'province_code' => 'nullable|string',
|
||||
'jenis_model' => 'required',
|
||||
'nomor_lambung' => 'required',
|
||||
'model_unit' => 'required',
|
||||
@@ -411,7 +409,6 @@ class FormSurveyorRequest extends FormRequest
|
||||
{
|
||||
return [
|
||||
'action' => 'required',
|
||||
'tanggal_survey' => 'required',
|
||||
'nama_wakil' => 'required',
|
||||
'hub_calon_debitur' => 'required',
|
||||
'bandara' => 'required',
|
||||
|
||||
@@ -85,6 +85,9 @@ class SurveyorRequest extends FormRequest
|
||||
|
||||
],
|
||||
],
|
||||
'foto-objek-jaminan' => [
|
||||
'kategori' => 'required',
|
||||
],
|
||||
// Add more action specific rules here
|
||||
default => [],
|
||||
};
|
||||
|
||||
@@ -839,7 +839,7 @@
|
||||
|
||||
<table style="width: 100%;">
|
||||
<tr>
|
||||
<td style="vertical-align: top">Instansi yang relevan</td>
|
||||
<td style="vertical-align: top;">Instansi yang relevan</td>
|
||||
<td>:</td>
|
||||
<td>
|
||||
@php
|
||||
@@ -866,28 +866,32 @@
|
||||
'harga_diskon' => 'Indikasi Harga Transaksi',
|
||||
];
|
||||
@endphp
|
||||
<table>
|
||||
<tr>
|
||||
@foreach (['pembanding1', 'pembanding2', 'pembanding3'] as $index => $pembanding)
|
||||
<table style="width: 100%; margin-bottom: 5px;">
|
||||
<tr>
|
||||
<td style="font-weight: bold;">Pembanding {{ $index + 1 }}</td>
|
||||
</tr>
|
||||
@foreach ($fields as $key => $label)
|
||||
<tr>
|
||||
@foreach (['pembanding1', 'pembanding2', 'pembanding3'] as $pembanding)
|
||||
<td style="padding: 8px;">{{ $label }}</td>
|
||||
<td style="padding: 8px;">:</td>
|
||||
<td style="padding: 8px;">
|
||||
@if ($key == 'luas_tanah' || $key == 'luas_bangunan')
|
||||
{{ $exportData[$pembanding][$key] ?? '-' }} m²
|
||||
@elseif($key == 'harga' || $key == 'harga_diskon')
|
||||
Rp. {{ $exportData[$pembanding][$key] ?? '-' }}
|
||||
@else
|
||||
{{ $exportData[$pembanding][$key] ?? '-' }}
|
||||
@endif
|
||||
</td>
|
||||
<tr>
|
||||
<td style="width: 33%;">{{ $label }}</td>
|
||||
<td style="width: 5%;">:</td>
|
||||
<td style="width: 62%;">
|
||||
@if ($key == 'luas_tanah' || $key == 'luas_bangunan')
|
||||
{{ $exportData[$pembanding][$key] ?? '-' }} m²
|
||||
@elseif($key == 'harga' || $key == 'harga_diskon')
|
||||
Rp. {{ $exportData[$pembanding][$key] ?? '-' }}
|
||||
@else
|
||||
{{ $exportData[$pembanding][$key] ?? '-' }}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tr>
|
||||
@endforeach
|
||||
</table>
|
||||
@endforeach
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
@@ -926,7 +930,7 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 8px; text-align: right;">Sarana Pelengkap
|
||||
{{ $lpjData['sarana_pelengkap'] ?? '' }}m<sup>2</sup>
|
||||
{{ $lpjData['sarana_pelengkap_penilai'] ?? '' }}m<sup>2</sup>
|
||||
</td>
|
||||
<td style="padding: 8px; text-align: right;">X
|
||||
{{ $lpjData['nilai_sarana_pelengkap_1'] ?? '' }}</td>
|
||||
|
||||
@@ -1339,7 +1339,7 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td style=" padding: 8px; text-align: right;">Sarana Pelengkap
|
||||
{{ $lpjData['sarana_pelengkap'] ?? '' }}m<sup>2</sup></td>
|
||||
{{ $lpjData['sarana_pelengkap_penilai'] ?? '' }}m<sup>2</sup></td>
|
||||
<td style=" padding: 8px; text-align: right;">X
|
||||
{{ $lpjData['nilai_sarana_pelengkap_1'] ?? '' }}
|
||||
</td>
|
||||
|
||||
@@ -21,10 +21,14 @@
|
||||
|
||||
@include('lpj::component.form-penilai', ['title' => 'Laporan'])
|
||||
<div class="flex card-footer justify-end gap-5">
|
||||
<button type="button" class="btn btn-success" id="saveButton" onclick="saveLpjSederhanadanStandard()">
|
||||
<button type="button" class="btn btn-success" id="saveButton" onclick="saveLaporan()">
|
||||
<span id="saveButtonText">Save</span>
|
||||
</button>
|
||||
|
||||
<button type="button" class="btn btn-warning" id="saveButton" onclick="saveLpjSederhanadanStandar()">
|
||||
<span id="saveButtonText">Revisi</span>
|
||||
</button>
|
||||
|
||||
<a href="{{ route('penilai.print-out') }}?permohonanId={{ $permohonan->id }}&documentId={{ $documentId }}&inspeksiId={{ $inspeksiId }}&jaminanId={{ $jenisJaminanId }}&statusLpj=0"
|
||||
class="btn btn-primary">
|
||||
<i class="ki-filled ki-printer"></i> Print
|
||||
@@ -35,6 +39,10 @@
|
||||
@endsection
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
const datas = @json($lpjData);
|
||||
console.log(datas);
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
document.querySelectorAll('.currency-format').forEach(input => {
|
||||
input.addEventListener('input', function() {
|
||||
@@ -54,11 +62,11 @@
|
||||
const parseInput = (value) => parseFloat(value.replace(/[^0-9]/g, '')) || 0;
|
||||
|
||||
// Ambil elemen input dan parse nilainya
|
||||
let luasTanah = parseInput(document.getElementById('luas_tanah').value);
|
||||
let luasTanah = parseInput(document.getElementById('luas_tanah_penilai').value);
|
||||
let hargaPerMeterTanah = parseInput(document.querySelector('input[name="nilai_tanah_1"]').value);
|
||||
let totalLuasTanah = document.querySelector('input[name="nilai_tanah_2"]');
|
||||
|
||||
let luasBangunan = parseInput(document.getElementById('luas_bangunan').value);
|
||||
let luasBangunan = parseInput(document.getElementById('luas_bangunan_penilai').value);
|
||||
let hargaPerMeterBangunan = parseInput(document.querySelector('input[name="nilai_bangunan_1"]').value);
|
||||
let totalLuasBangunan = document.querySelector('input[name="nilai_bangunan_2"]');
|
||||
|
||||
@@ -108,7 +116,7 @@
|
||||
|
||||
|
||||
|
||||
function saveLpjSederhanadanStandard() {
|
||||
function saveLaporan() {
|
||||
const form = document.getElementById('form-lpj');
|
||||
const formData = new FormData(form);
|
||||
showLoadingSwal('Mengirim data ke server...');
|
||||
@@ -138,6 +146,7 @@
|
||||
confirmButtonText: 'OK'
|
||||
}).then((response) => {
|
||||
if (response.isConfirmed) {
|
||||
window.location.reload();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
<div class="card border border-agi-100 bg-white rounded-lg shadow-md overflow-hidden">
|
||||
<div class="card border border-agi-100 rounded-lg shadow-md overflow-hidden">
|
||||
<div class="card-header bg-agi-50">
|
||||
<h3 class="card-title uppercase">
|
||||
Order Penilaian
|
||||
</h3>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
|
||||
|
||||
<div class="py-4 px-6">
|
||||
<h1 class="text-md font-medium text-gray-900">Order Penilaian</h1>
|
||||
</div>
|
||||
|
||||
<div class="grid gap-5 grid-cols-2">
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
@@ -47,11 +46,13 @@
|
||||
|
||||
|
||||
|
||||
<div class="card border border-agi-100 bg-white rounded-lg shadow-md overflow-hidden">
|
||||
<div class="card border border-agi-100 rounded-lg shadow-md overflow-hidden">
|
||||
<div class="card-header bg-agi-50">
|
||||
<h3 class="card-title uppercase">
|
||||
Identitas Debitur
|
||||
</h3>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="py-4 px-6">
|
||||
<h1 class="text-md font-medium text-gray-900">Identitas Debitur</h1>
|
||||
</div>
|
||||
<div class="grid gap-5">
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
@@ -67,7 +68,7 @@
|
||||
<label class="form-label max-w-56">Nama Wakil Debitur</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="nama_wakil" class="input"
|
||||
placeholder="Masukkan Hubungan Calon Debitur">
|
||||
placeholder="Masukkan Hubungan Calon Debitur" value="{{ $forminspeksi['nama_wakil'] ?? '' }}">
|
||||
<em id="error-nama_wakil" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
@@ -75,45 +76,63 @@
|
||||
<label class="form-label max-w-56">Hubungan Calon Debitur</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="hub_calon_debitur" class="input"
|
||||
placeholder="Masukkan Hubungan Calon Debitur">
|
||||
placeholder="Masukkan Hubungan Calon Debitur" value="{{$forminspeksi['hub_calon_debitur'] ?? ''}}">
|
||||
|
||||
<em id="error-hub_calon_debitur" class="alert text-danger text-sm"></em>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{-- lokasi jaminan --}}
|
||||
@include('lpj::surveyor.components.lokasi-jaminan')
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="card border border-agi-100 bg-white rounded-lg shadow-md overflow-hidden">
|
||||
{{-- lokasi jaminan --}}
|
||||
<div class="card border border-agi-100 rounded-lg shadow-md">
|
||||
@include('lpj::surveyor.components.lokasi-jaminan')
|
||||
</div>
|
||||
|
||||
|
||||
<div class="card border border-agi-100 rounded-lg shadow-md overflow-hidden">
|
||||
<div class="card-header bg-agi-50">
|
||||
<h3 class="card-title uppercase">
|
||||
Data Data Jaminan
|
||||
</h3>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
<div class="py-4 px-6">
|
||||
<h1 class="text-md font-medium text-gray-900">Data Data Jaminan</h1>
|
||||
</div>
|
||||
<div class="grid gap-5">
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Model</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<select
|
||||
class="input tomselect w-full @error('model_unit') border-danger bg-danger-light @enderror"
|
||||
name="jenis_model">
|
||||
<option value="">Select Model Kendaraan </option>
|
||||
@if (isset($modelAlatBerat))
|
||||
@foreach ($modelAlatBerat as $item)
|
||||
<option value="{{ $item->name }}"
|
||||
{{ old('') == $item->name ? 'selected' : '' }}>{{ $item->name }}
|
||||
</option>
|
||||
<div class="flex-wrap items-stretch">
|
||||
<div class="flex flex-col items-start gap-4">
|
||||
@if (isset($basicData['modelAlatBerat']))
|
||||
@foreach ($basicData['modelAlatBerat'] as $item)
|
||||
<div class="flex items-center">
|
||||
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||
<input class="checkbox" name="jenis_model[]" type="checkbox"
|
||||
value="{{ $item->name }}"
|
||||
{{ in_array($item->name, old('jenis_model', [])) ||
|
||||
(isset($forminspeksi['jenis_model']) &&
|
||||
is_array($forminspeksi['jenis_model']) &&
|
||||
in_array($item->name, $forminspeksi['jenis_model']))
|
||||
? 'checked'
|
||||
: '' }}
|
||||
onclick="toggleCheckboxVisibility('jenis_model', 'jenis_model_lainnya', ['lainnya'])"/>
|
||||
{{ $item->name }}
|
||||
</label>
|
||||
@if (strcasecmp($item->name, 'lainnya') == 0)
|
||||
<input id="jenis_model_lainnya" type="text"
|
||||
style="{{ isset($forminspeksi['jenis_model']['lainnya']) && $forminspeksi['jenis_model']['lainnya'] ? '' : 'display: none;' }}"
|
||||
name="jenis_model_lainnya" class="input w-full mt-2"
|
||||
placeholder="Masukkan bentuk tanah..."
|
||||
value="{{ old('jenis_model_lainnya', $forminspeksi['jenis_model']['lainnya'] ?? '') }}"/>
|
||||
@endif
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
</select>
|
||||
|
||||
|
||||
</div>
|
||||
<em id="error-jenis_model" class="alert text-danger text-sm"></em>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -124,76 +143,91 @@
|
||||
'label' => 'Nomor Lambung',
|
||||
'name' => 'nomor_lambung',
|
||||
'index' => 0,
|
||||
'value' => old('nomor_lambung', $forminspeksi['nomor_lambung']),
|
||||
],
|
||||
[
|
||||
'label' => 'Model Unit',
|
||||
'name' => 'model_unit',
|
||||
'index' => 1,
|
||||
'value' => old('model_unit', $forminspeksi['model_unit']),
|
||||
],
|
||||
[
|
||||
'label' => 'Tahun Pembuatan',
|
||||
'name' => 'tahun_pembuatan',
|
||||
'index' => 2,
|
||||
'value' => old('tahun_pembuatan', $forminspeksi['tahun_pembuatan']),
|
||||
],
|
||||
[
|
||||
'label' => 'Merk',
|
||||
'name' => 'merk',
|
||||
'index' => 3,
|
||||
'value' => old('merk', $forminspeksi['merk']),
|
||||
],
|
||||
[
|
||||
'label' => 'Negara Pembuat',
|
||||
'name' => 'negara_pembuat',
|
||||
'index' => 4,
|
||||
'value' => old('negara_pembuat', $forminspeksi['negara_pembuat']),
|
||||
],
|
||||
[
|
||||
'label' => 'Tahun Pembelian',
|
||||
'name' => 'tahun_pembelian',
|
||||
'index' => 5,
|
||||
'value' => old('tahun_pembelian', $forminspeksi['tahun_pembelian']),
|
||||
],
|
||||
[
|
||||
'label' => 'Nomor Faktur/Invoice',
|
||||
'name' => 'nomor_faktur',
|
||||
'index' => 6,
|
||||
'value' => old('nomor_faktur', $forminspeksi['nomor_faktur']),
|
||||
],
|
||||
[
|
||||
'label' => 'Nomor Kontrak Pembelian',
|
||||
'name' => 'nomor_kontrak',
|
||||
'index' => 7,
|
||||
'value' => old('nomor_kontrak', $forminspeksi['nomor_kontrak']),
|
||||
],
|
||||
[
|
||||
'label' => 'Nama Pemilik',
|
||||
'name' => 'nama_pemilik',
|
||||
'index' => 8,
|
||||
'value' => old('nama_pemilik', $forminspeksi['nama_pemilik']),
|
||||
],
|
||||
[
|
||||
'label' => 'Alamaat Pemilik',
|
||||
'name' => 'alamat_pemilik',
|
||||
'index' => 9,
|
||||
'value' => old('alamat_pemilik', $forminspeksi['alamat_pemilik']),
|
||||
],
|
||||
[
|
||||
'label' => 'Nomor Asuransi',
|
||||
'name' => 'nomor_asuransi',
|
||||
'index' => 10,
|
||||
'value' => old('nomor_asuransi', $forminspeksi['nomor_asuransi']),
|
||||
],
|
||||
[
|
||||
'label' => 'Nomor Rangka',
|
||||
'name' => 'nomor_rangka',
|
||||
'index' => 11,
|
||||
'value' => old('nomor_rangka', $forminspeksi['nomor_rangka']),
|
||||
],
|
||||
[
|
||||
'label' => 'Nomor Mesin',
|
||||
'name' => 'nomor_mesin',
|
||||
'index' => 12,
|
||||
'value' => old('nomor_mesin', $forminspeksi['nomor_mesin']),
|
||||
],
|
||||
[
|
||||
'label' => 'Hour Meters',
|
||||
'name' => 'hour_mesters',
|
||||
'index' => 13,
|
||||
'value' => old('hour_mesters', $forminspeksi['hour_mesters']),
|
||||
],
|
||||
[
|
||||
'label' => 'Overhaul Mesin',
|
||||
'name' => 'overhaul_mesin',
|
||||
'index' => 14,
|
||||
'value' => old('overhaul_mesin', $forminspeksi['overhaul_mesin']),
|
||||
],
|
||||
];
|
||||
|
||||
@@ -206,9 +240,7 @@
|
||||
<label class="form-label max-w-56">{{ $item['label'] }}</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="{{ $item['name'] }}" class="input"
|
||||
placeholder="Masukkan {{ $item['label'] }}">
|
||||
|
||||
|
||||
placeholder="Masukkan {{ $item['label'] }}" value="{{$item['value'] ?? ''}}">
|
||||
<em id="error-{{ $item['name'] }}" class="alert text-danger text-sm"></em>
|
||||
|
||||
</div>
|
||||
@@ -221,11 +253,14 @@
|
||||
|
||||
|
||||
|
||||
<div class="card border border-agi-100 bg-white rounded-lg shadow-md overflow-hidden">
|
||||
<div class="card border border-agi-100 rounded-lg shadow-md overflow-hidden">
|
||||
<div class="card-header bg-agi-50">
|
||||
<h3 class="card-title uppercase">
|
||||
Kondisi Objek Jaminan
|
||||
</h3>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="py-4 px-6">
|
||||
<h1 class="text-md font-medium text-gray-900">Kondisi Objek Jaminan</h1>
|
||||
</div>
|
||||
|
||||
<div class="grid gap-5">
|
||||
@php
|
||||
|
||||
@@ -339,7 +374,7 @@
|
||||
<label class="form-label max-w-56">Perusahaan Asuransi</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="perusahaan_asuransi" class="input"
|
||||
placeholder="Pesurahaan Asuransi">
|
||||
placeholder="Pesurahaan Asuransi" value={{$forminspeksi['perusahaan_asuransi'] ?? ''}}>
|
||||
<em class="alert text-danger text-sm"></em>
|
||||
|
||||
</div>
|
||||
@@ -348,7 +383,7 @@
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Tahun Berakhir</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="date" name="tahun_berakhir" class="input" placeholder="Tahun berakhir">
|
||||
<input type="date" name="tahun_berakhir" class="input" placeholder="Tahun berakhir" value={{$forminspeksi['tahun_berakhir'] ?? ''}}>
|
||||
<em class="alert text-danger text-sm"></em>
|
||||
|
||||
</div>
|
||||
@@ -358,11 +393,13 @@
|
||||
</div>
|
||||
|
||||
|
||||
<div class="card border border-agi-100 bg-white rounded-lg overflow-hidden">
|
||||
<div class="card border border-agi-100 rounded-lg overflow-hidden">
|
||||
<div class="card-header bg-agi-50">
|
||||
<h3 class="card-title uppercase">
|
||||
Analisis Fakta
|
||||
</h3>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class=" py-4 ">
|
||||
<h1 class="text-md font-medium text-gray-900">Analisis Fakta</h1>
|
||||
</div>
|
||||
<div class="grid gap-5">
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Faktor Positif</label>
|
||||
@@ -398,9 +435,6 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Catatan Yang Perlu Diperhatikan</label>
|
||||
<div id="catatan-container" class="flex flex-wrap items-baseline w-full">
|
||||
|
||||
@@ -87,7 +87,7 @@
|
||||
<div id="perwakilan" class="flex items-baseline w-full gap-5">
|
||||
<div class="flex gap-4 items-center w-full">
|
||||
<input class="input" type="text" placeholder="Masukan Pihak Bank Selain Pj" type="text"
|
||||
name="pihak_bank" id="lat"
|
||||
name="pihak_bank"
|
||||
value="{{ old('pihak_bank', isset($forminspeksi['asset']['pihak_bank']) ? $forminspeksi['asset']['pihak_bank'] : '') }}">
|
||||
</div>
|
||||
</div>
|
||||
@@ -552,128 +552,5 @@
|
||||
loadSavedLocationData();
|
||||
});
|
||||
// Fungsi untuk memuat data lokasi yang tersimpan
|
||||
async function loadSavedLocationData() {
|
||||
const provinceCode = '{{ $cekAlamat['province_code'] ?? '' }}';
|
||||
const cityCode = '{{ $cekAlamat['city_code'] ?? '' }}';
|
||||
const districtCode = '{{ $cekAlamat['district_code'] ?? '' }}';
|
||||
const villageCode = '{{ $cekAlamat['village_code'] ?? '' }}';
|
||||
|
||||
// Set province
|
||||
const provinceSelect = document.getElementById('province_code');
|
||||
if (provinceCode && provinceSelect) {
|
||||
provinceSelect.value = provinceCode;
|
||||
await getCity(provinceCode);
|
||||
}
|
||||
|
||||
// Set city
|
||||
const citySelect = document.getElementById('city_code');
|
||||
if (cityCode && citySelect) {
|
||||
citySelect.value = cityCode;
|
||||
await getDistrict(cityCode);
|
||||
}
|
||||
|
||||
// Set district
|
||||
const districtSelect = document.getElementById('district_code');
|
||||
if (districtCode && districtSelect) {
|
||||
districtSelect.value = districtCode;
|
||||
await getVillage(districtCode);
|
||||
}
|
||||
|
||||
// Set village
|
||||
const villageSelect = document.getElementById('village_code');
|
||||
if (villageCode && villageSelect) {
|
||||
villageSelect.value = villageCode;
|
||||
}
|
||||
}
|
||||
|
||||
// Modifikasi fungsi existing
|
||||
async function getCity(provinceId) {
|
||||
try {
|
||||
const response = await fetch(`/locations/cities/province/${provinceId}`);
|
||||
const data = await response.json();
|
||||
|
||||
const cityDropdown = document.getElementById('city_code');
|
||||
if (cityDropdown) {
|
||||
cityDropdown.innerHTML = '<option value="">Pilih Kota/Kabupaten</option>';
|
||||
data.forEach(city => {
|
||||
const option = document.createElement('option');
|
||||
option.value = city.code;
|
||||
option.textContent = city.name;
|
||||
@if (isset($debitur->city_code))
|
||||
if (city.code === '{{ $debitur->city_code }}') {
|
||||
option.selected = true;
|
||||
}
|
||||
@endif
|
||||
|
||||
cityDropdown.appendChild(option);
|
||||
});
|
||||
|
||||
// Reset dropdown kecamatan dan desa
|
||||
document.getElementById('district_code').innerHTML = '<option value="">Pilih Kecamatan</option>';
|
||||
document.getElementById('village_code').innerHTML = '<option value="">Pilih Kelurahan</option>';
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error fetching cities:', error);
|
||||
}
|
||||
}
|
||||
|
||||
// Lakukan hal serupa untuk getDistrict dan getVillage
|
||||
async function getDistrict(cityId) {
|
||||
try {
|
||||
const response = await fetch(`/locations/districts/city/${cityId}`);
|
||||
const data = await response.json();
|
||||
|
||||
const districtDropdown = document.getElementById('district_code');
|
||||
if (districtDropdown) {
|
||||
districtDropdown.innerHTML = '<option value="">Pilih Kecamatan</option>';
|
||||
data.forEach(district => {
|
||||
const option = document.createElement('option');
|
||||
option.value = district.code;
|
||||
option.textContent = district.name;
|
||||
|
||||
// Cek apakah ini adalah kecamatan yang sebelumnya dipilih
|
||||
@if (isset($debitur->district_code))
|
||||
if (district.code === '{{ $debitur->district_code }}') {
|
||||
option.selected = true;
|
||||
}
|
||||
@endif
|
||||
|
||||
districtDropdown.appendChild(option);
|
||||
});
|
||||
|
||||
// Reset dropdown desa
|
||||
document.getElementById('village_code').innerHTML = '<option value="">Pilih Kelurahan</option>';
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error fetching districts:', error);
|
||||
}
|
||||
}
|
||||
|
||||
async function getVillage(districtId) {
|
||||
try {
|
||||
const response = await fetch(`/locations/villages/district/${districtId}`);
|
||||
const data = await response.json();
|
||||
|
||||
const villageDropdown = document.getElementById('village_code');
|
||||
if (villageDropdown) {
|
||||
villageDropdown.innerHTML = '<option value="">Pilih Desa/Kelurahan</option>';
|
||||
data.forEach(village => {
|
||||
const option = document.createElement('option');
|
||||
option.value = village.code;
|
||||
option.textContent = village.name;
|
||||
|
||||
// Cek apakah ini adalah desa yang sebelumnya dipilih
|
||||
@if (isset($debitur->village_code))
|
||||
if (village.code === '{{ $debitur->village_code }}') {
|
||||
option.selected = true;
|
||||
}
|
||||
@endif
|
||||
|
||||
villageDropdown.appendChild(option);
|
||||
});
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error fetching villages:', error);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@include('lpj::surveyor.js.utils')
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
<div class="card border border-agi-100 bg-white rounded-lg shadow-md overflow-hidden">
|
||||
<div class="card-header bg-agi-50">
|
||||
<h3 class="card-title uppercase">
|
||||
Order Penilaian
|
||||
</h3>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
|
||||
|
||||
<div class="py-4 px-6">
|
||||
<h1 class="text-md font-medium text-gray-900">Order Penilaian</h1>
|
||||
</div>
|
||||
|
||||
<div class="grid gap-5 grid-cols-2">
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
@@ -57,10 +56,13 @@
|
||||
|
||||
|
||||
<div class="card border border-agi-100 bg-white rounded-lg shadow-md overflow-hidden">
|
||||
<div class="card-header bg-agi-50">
|
||||
<h3 class="card-title uppercase">
|
||||
Identitas Debitur
|
||||
</h3>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="py-4 px-6">
|
||||
<h1 class="text-md font-medium text-gray-900">Identitas Debitur</h1>
|
||||
</div>
|
||||
|
||||
<div class="grid gap-5">
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
@@ -95,83 +97,35 @@
|
||||
</div>
|
||||
|
||||
{{-- lokasi jaminan --}}
|
||||
@include('lpj::surveyor.components.lokasi-jaminan')
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card border border-agi-100 rounded-lg shadow-md">
|
||||
@include('lpj::surveyor.components.lokasi-jaminan')
|
||||
</div>
|
||||
|
||||
|
||||
<div class="card border border-agi-100 bg-white rounded-lg shadow-md overflow-hidden">
|
||||
<div class="card-header bg-agi-50">
|
||||
<h1 class="text-md font-medium text-gray-900 uppercase">Data Data Jaminan</h1>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="py-4 px-6">
|
||||
<h1 class="text-md font-medium text-gray-900">Data Data Jaminan</h1>
|
||||
</div>
|
||||
<div class="grid gap-5">
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">BPKB</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<p class="text-2sm text-gray-700">N/A</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">STNK</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<p class="text-2sm text-gray-700">N/A</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56 text-md">Deskripsi kendaraan sesuai dokument :</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
</div>
|
||||
</div>
|
||||
@include('lpj::component.detail-jaminan', ['status' => true])
|
||||
|
||||
@php
|
||||
$inputDataJaminan = [
|
||||
[
|
||||
'label' => 'Nama pemilik',
|
||||
'name' => 'nama_pemilik',
|
||||
'index' => 0,
|
||||
],
|
||||
[
|
||||
'label' => 'Nomor polisi',
|
||||
'name' => 'nomor_polisi_jaminan',
|
||||
'index' => 1,
|
||||
],
|
||||
[
|
||||
'label' => 'Merek',
|
||||
'name' => 'merek_jaminan',
|
||||
'index' => 2,
|
||||
],
|
||||
[
|
||||
'label' => 'jenis',
|
||||
'name' => 'jenis',
|
||||
'index' => 3,
|
||||
],
|
||||
[
|
||||
'label' => 'Warna',
|
||||
'name' => 'warna_jaminan',
|
||||
'index' => 4,
|
||||
],
|
||||
[
|
||||
'label' => 'Nomor Rangka/NIK/VIN',
|
||||
'name' => 'nomor_rangka_jaminan',
|
||||
'index' => 5,
|
||||
],
|
||||
[
|
||||
'label' => 'Nomor Mesin',
|
||||
'name' => 'nomor_mesin_jaminan',
|
||||
'index' => 6,
|
||||
],
|
||||
[
|
||||
'label' => 'Masa Berlaku STNK',
|
||||
'name' => 'masa_stnk',
|
||||
'index' => 7,
|
||||
'value' => old('masa_stnk', $forminspeksi['masa_stnk'] ?? '')
|
||||
],
|
||||
[
|
||||
'label' => 'Masa Berlaku Pajak',
|
||||
'name' => 'masa_pajak',
|
||||
'index' => 8,
|
||||
'value' => old('masa_pajak', $forminspeksi['masa_pajak'] ?? '')
|
||||
],
|
||||
];
|
||||
@endphp
|
||||
@@ -182,7 +136,9 @@
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">{{ $item['label'] }}</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<p class="text-2sm text-gray-700">N/A</p>
|
||||
<input type="date" name="{{ $item['name'] }}" class="input"
|
||||
placeholder="Masukkan {{ $item['label'] }}" value="{{$item['value'] ?? ''}}">
|
||||
<em id="error-{{ $item['name'] }}" class="alert text-danger text-sm"></em>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@@ -193,10 +149,13 @@
|
||||
|
||||
|
||||
<div class="card border border-agi-100 bg-white rounded-lg shadow-md overflow-hidden">
|
||||
<div class="card-header bg-agi-50">
|
||||
<h3 class="card-title uppercase">
|
||||
Kondisi Fisik Objek
|
||||
</h3>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="py-4 px-6">
|
||||
<h1 class="text-md font-medium text-gray-900">Kondisi Fisik Objek</h1>
|
||||
</div>
|
||||
|
||||
<div class="grid gap-5">
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
@@ -627,10 +586,12 @@
|
||||
|
||||
|
||||
<div class="card border border-agi-100 bg-white rounded-lg overflow-hidden">
|
||||
<div class="card-header bg-agi-50">
|
||||
<h3 class="card-title uppercase">
|
||||
Analisis Fakta
|
||||
</h3>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class=" py-4 ">
|
||||
<h1 class="text-md font-medium text-gray-900">Analisis Fakta</h1>
|
||||
</div>
|
||||
<div class="grid gap-5">
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Faktor Positif</label>
|
||||
|
||||
@@ -1,38 +1,104 @@
|
||||
<div class="py-4 px-6">
|
||||
<h1 class="text-md font-medium text-gray-900">Lokasi Jaminan</h1>
|
||||
<div class="card-header bg-agi-50">
|
||||
<h3 class="card-title uppercase">
|
||||
Lokasi Jaminan
|
||||
</h3>
|
||||
</div>
|
||||
<div class="grid gap-5">
|
||||
<div class="card-body">
|
||||
<div class="grid gap-5">
|
||||
|
||||
|
||||
@php
|
||||
@php
|
||||
$inputDataLoaksi = [
|
||||
[
|
||||
'label' => 'Nama Jalan',
|
||||
'index' => 0,
|
||||
'name' => 'nama_jalan',
|
||||
'value' => old('nama_jalan', isset($forminspeksi['nama_jalan']) ? $forminspeksi['nama_jalan'] : ''),
|
||||
],
|
||||
[
|
||||
'label' => 'Perumahan/Gang',
|
||||
'index' => 1,
|
||||
'name' => 'perumahan_gang',
|
||||
'value' => old(
|
||||
'perumahan_gang',
|
||||
isset($forminspeksi['perumahan_gang']) ? $forminspeksi['perumahan_gang'] : '',
|
||||
),
|
||||
],
|
||||
[
|
||||
'label' => 'Blok/Nomor',
|
||||
'index' => 2,
|
||||
'name' => 'blok_nomor',
|
||||
'value' => old('blok_nomor', isset($forminspeksi['blok_nomor']) ? $forminspeksi['blok_nomor'] : ''),
|
||||
],
|
||||
];
|
||||
@endphp
|
||||
|
||||
$inputDataLoaksi = [];
|
||||
$inputDataLoaksi = [
|
||||
['label' => 'Nama Jalan', 'index' => 0, 'name' => 'nama_jalan', 'value' => old('nama_jalan', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->lokasi_jalan : '')],
|
||||
['label' => 'Perumahan/Gang', 'index' => 1, 'name' => 'perumahan_gang', 'value' => old('lokasi_perumahan_gang', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->lokasi_perumahan_gang : '')],
|
||||
['label' => 'Blok/Nomor', 'index' => 2, 'name' => 'blok_nomor', 'value' => old('blok_nomor', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->lokasi_blok_nomor : '')],
|
||||
['label' => 'Desa/Kelurahan', 'index' => 3, 'name' => 'desa_kelurahan', 'value' => old('desa_kelurahan', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->lokasi_desa_kelurahan : '')],
|
||||
['label' => 'Kecamatan', 'index' => 4, 'name' => 'kecamatan' , 'value' => old('kecamatan', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->lokasi_kecamatan : '')],
|
||||
['label' => 'Kota/Kotamadya', 'index' => 5, 'name' => 'kota_madya', 'value' => old('kota_madya', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->lokasi_kota_kotamadya : '')],
|
||||
['label' => 'Provinsi', 'index' => 6, 'name' => 'provinsi', 'value' => old('provinsi', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->lokasi_provinsi : '')],
|
||||
];
|
||||
@if (count($inputDataLoaksi) > 0)
|
||||
@foreach ($inputDataLoaksi as $item)
|
||||
<!-- Nomor Lambung -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">{{ $item['label'] }}</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="{{ $item['name'] }}" class="input"
|
||||
placeholder="Masukkan {{ $item['label'] }}" value="{{ $item['value'] }}">
|
||||
|
||||
@endphp
|
||||
|
||||
@if (count($inputDataLoaksi) > 0)
|
||||
@foreach ($inputDataLoaksi as $item)
|
||||
<!-- Nomor Lambung -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">{{ $item['label'] }}</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="{{ $item['name'] }}" class="input"
|
||||
placeholder="Masukkan {{ $item['label'] }}" value="{{ $item['value'] }}">
|
||||
|
||||
@error($item['name'])
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
@error($item['name'])
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
|
||||
<label for="province_code" class="form-label max-w-56">Provinsi</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<select id="province_code" name="province_code" class="input w-full" onchange="getCity(this.value)">
|
||||
<option value="">Select Province</option>
|
||||
@foreach ($provinces as $province)
|
||||
<option value="{{ $province->code }}"
|
||||
@if (
|
||||
(isset($cekAlamat['province_code']) && $cekAlamat['province_code'] == $province->code) ||
|
||||
(!isset($cekAlamat['province_code']) &&
|
||||
isset($debitur->province_code) &&
|
||||
$debitur->province_code == $province->code)) selected @endif>
|
||||
{{ $province->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
|
||||
<label for="city_code" class="form-label max-w-56">Kota/Kabupaten</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<select id="city_code" name="city_code" class="select w-full" onchange="getDistrict(this.value)">
|
||||
<option value="">Pilih Kota/Kabupaten</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
|
||||
<label for="district_code" class="form-label max-w-56">Kecamatan</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<select id="district_code" name="district_code" class="select w-full" onchange="getVillage(this.value)">
|
||||
<option value="">Pilih Kecamatan</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
|
||||
<label for="village_code" class="form-label max-w-56">Kelurahan</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<select id="village_code" name="village_code" class="select w-full">
|
||||
<option value="">Pilih Kelurahan</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
loadSavedLocationData();
|
||||
});
|
||||
</script>
|
||||
@include('lpj::surveyor.js.utils')
|
||||
|
||||
@@ -83,18 +83,21 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{-- lokasi jaminan --}}
|
||||
@include('lpj::surveyor.components.lokasi-jaminan')
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card border border-agi-100 rounded-lg shadow-md">
|
||||
@include('lpj::surveyor.components.lokasi-jaminan')
|
||||
</div>
|
||||
|
||||
|
||||
<div class="card border border-agi-100 bg-white rounded-lg shadow-md overflow-hidden">
|
||||
<div class="card-header bg-agi-50">
|
||||
<h3 class="card-title uppercase">
|
||||
Data Data Jaminan
|
||||
</h3>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="py-4 px-6">
|
||||
<h1 class="text-md font-medium text-gray-900">Data Data Jaminan</h1>
|
||||
</div>
|
||||
<div class="grid gap-5">
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Model</label>
|
||||
|
||||
@@ -177,4 +177,129 @@
|
||||
});
|
||||
newElement.dispatchEvent(event);
|
||||
}
|
||||
|
||||
async function loadSavedLocationData() {
|
||||
const provinceCode = '{{ $cekAlamat['province_code'] ?? '' }}';
|
||||
const cityCode = '{{ $cekAlamat['city_code'] ?? '' }}';
|
||||
const districtCode = '{{ $cekAlamat['district_code'] ?? '' }}';
|
||||
const villageCode = '{{ $cekAlamat['village_code'] ?? '' }}';
|
||||
|
||||
// Set province
|
||||
const provinceSelect = document.getElementById('province_code');
|
||||
if (provinceCode && provinceSelect) {
|
||||
provinceSelect.value = provinceCode;
|
||||
await getCity(provinceCode);
|
||||
}
|
||||
|
||||
// Set city
|
||||
const citySelect = document.getElementById('city_code');
|
||||
if (cityCode && citySelect) {
|
||||
citySelect.value = cityCode;
|
||||
await getDistrict(cityCode);
|
||||
}
|
||||
|
||||
// Set district
|
||||
const districtSelect = document.getElementById('district_code');
|
||||
if (districtCode && districtSelect) {
|
||||
districtSelect.value = districtCode;
|
||||
await getVillage(districtCode);
|
||||
}
|
||||
|
||||
// Set village
|
||||
const villageSelect = document.getElementById('village_code');
|
||||
if (villageCode && villageSelect) {
|
||||
villageSelect.value = villageCode;
|
||||
}
|
||||
}
|
||||
|
||||
// Modifikasi fungsi existing
|
||||
async function getCity(provinceId) {
|
||||
try {
|
||||
const response = await fetch(`/locations/cities/province/${provinceId}`);
|
||||
const data = await response.json();
|
||||
|
||||
const cityDropdown = document.getElementById('city_code');
|
||||
if (cityDropdown) {
|
||||
cityDropdown.innerHTML = '<option value="">Pilih Kota/Kabupaten</option>';
|
||||
data.forEach(city => {
|
||||
const option = document.createElement('option');
|
||||
option.value = city.code;
|
||||
option.textContent = city.name;
|
||||
@if (isset($debitur->city_code))
|
||||
if (city.code === '{{ $debitur->city_code }}') {
|
||||
option.selected = true;
|
||||
}
|
||||
@endif
|
||||
|
||||
cityDropdown.appendChild(option);
|
||||
});
|
||||
|
||||
// Reset dropdown kecamatan dan desa
|
||||
document.getElementById('district_code').innerHTML = '<option value="">Pilih Kecamatan</option>';
|
||||
document.getElementById('village_code').innerHTML = '<option value="">Pilih Kelurahan</option>';
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error fetching cities:', error);
|
||||
}
|
||||
}
|
||||
|
||||
// Lakukan hal serupa untuk getDistrict dan getVillage
|
||||
async function getDistrict(cityId) {
|
||||
try {
|
||||
const response = await fetch(`/locations/districts/city/${cityId}`);
|
||||
const data = await response.json();
|
||||
|
||||
const districtDropdown = document.getElementById('district_code');
|
||||
if (districtDropdown) {
|
||||
districtDropdown.innerHTML = '<option value="">Pilih Kecamatan</option>';
|
||||
data.forEach(district => {
|
||||
const option = document.createElement('option');
|
||||
option.value = district.code;
|
||||
option.textContent = district.name;
|
||||
|
||||
// Cek apakah ini adalah kecamatan yang sebelumnya dipilih
|
||||
@if (isset($debitur->district_code))
|
||||
if (district.code === '{{ $debitur->district_code }}') {
|
||||
option.selected = true;
|
||||
}
|
||||
@endif
|
||||
|
||||
districtDropdown.appendChild(option);
|
||||
});
|
||||
|
||||
// Reset dropdown desa
|
||||
document.getElementById('village_code').innerHTML = '<option value="">Pilih Kelurahan</option>';
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error fetching districts:', error);
|
||||
}
|
||||
}
|
||||
|
||||
async function getVillage(districtId) {
|
||||
try {
|
||||
const response = await fetch(`/locations/villages/district/${districtId}`);
|
||||
const data = await response.json();
|
||||
|
||||
const villageDropdown = document.getElementById('village_code');
|
||||
if (villageDropdown) {
|
||||
villageDropdown.innerHTML = '<option value="">Pilih Desa/Kelurahan</option>';
|
||||
data.forEach(village => {
|
||||
const option = document.createElement('option');
|
||||
option.value = village.code;
|
||||
option.textContent = village.name;
|
||||
|
||||
// Cek apakah ini adalah desa yang sebelumnya dipilih
|
||||
@if (isset($debitur->village_code))
|
||||
if (village.code === '{{ $debitur->village_code }}') {
|
||||
option.selected = true;
|
||||
}
|
||||
@endif
|
||||
|
||||
villageDropdown.appendChild(option);
|
||||
});
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error fetching villages:', error);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user