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'),
|
'luas_bangunan' => $request->input('luas_bangunan'),
|
||||||
'nilai_bangunan_1' => $request->input('nilai_bangunan_1'),
|
'nilai_bangunan_1' => $request->input('nilai_bangunan_1'),
|
||||||
'nilai_bangunan_2' => $request->input('nilai_bangunan_2'),
|
'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_1' => $request->input('nilai_sarana_pelengkap_1'),
|
||||||
'nilai_sarana_pelengkap_2' => $request->input('nilai_sarana_pelengkap_2'),
|
'nilai_sarana_pelengkap_2' => $request->input('nilai_sarana_pelengkap_2'),
|
||||||
'total_nilai_pasar_wajar' => $request->input('total_nilai_pasar_wajar'),
|
'total_nilai_pasar_wajar' => $request->input('total_nilai_pasar_wajar'),
|
||||||
|
|||||||
@@ -599,18 +599,20 @@ class PenilaianController extends Controller
|
|||||||
|
|
||||||
public function storePenilaiLaporan(Request $request)
|
public function storePenilaiLaporan(Request $request)
|
||||||
{
|
{
|
||||||
|
DB::beginTransaction();
|
||||||
try {
|
try {
|
||||||
|
|
||||||
$validatedRequest = app(FormSurveyorRequest::class);
|
$validatedRequest = app(FormSurveyorRequest::class);
|
||||||
$this->surveyorController->store($validatedRequest);
|
$this->surveyorController->store($validatedRequest);
|
||||||
|
|
||||||
$data = [
|
$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_1' => $request->input('nilai_tanah_1'),
|
||||||
'nilai_tanah_2' => $request->input('nilai_tanah_2'),
|
'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_1' => $request->input('nilai_bangunan_1'),
|
||||||
'nilai_bangunan_2' => $request->input('nilai_bangunan_2'),
|
'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_1' => $request->input('nilai_sarana_pelengkap_1'),
|
||||||
'nilai_sarana_pelengkap_2' => $request->input('nilai_sarana_pelengkap_2'),
|
'nilai_sarana_pelengkap_2' => $request->input('nilai_sarana_pelengkap_2'),
|
||||||
'total_nilai_pasar_wajar' => $request->input('total_nilai_pasar_wajar'),
|
'total_nilai_pasar_wajar' => $request->input('total_nilai_pasar_wajar'),
|
||||||
@@ -633,12 +635,14 @@ class PenilaianController extends Controller
|
|||||||
'lpj' => json_encode($data),
|
'lpj' => json_encode($data),
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
DB::commit();
|
||||||
return response()->json([
|
return response()->json([
|
||||||
'success' => true,
|
'success' => true,
|
||||||
'message' => 'Berhasil Update Laporan penilai',
|
'message' => 'Berhasil Update Laporan penilai',
|
||||||
'data' => $request->all(),
|
'data' => $request->all(),
|
||||||
], 200);
|
], 200);
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
|
DB::rollBack();
|
||||||
return response()->json([
|
return response()->json([
|
||||||
'success' => false,
|
'success' => false,
|
||||||
'message' => 'Terjadi kesalahan',
|
'message' => 'Terjadi kesalahan',
|
||||||
|
|||||||
@@ -351,17 +351,15 @@ class FormSurveyorRequest extends FormRequest
|
|||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'action' => 'required',
|
'action' => 'required',
|
||||||
'tanggal_survey' => 'required',
|
'nama_wakil' => 'required|string',
|
||||||
'nama_wakil' => 'required',
|
'hub_calon_debitur' => 'required|string',
|
||||||
'hub_calon_debitur' => 'required',
|
|
||||||
'dengan_wadeb' => 'required',
|
|
||||||
'nama_jalan' => 'required',
|
'nama_jalan' => 'required',
|
||||||
'perumahan_gang' => 'required',
|
'perumahan_gang' => 'required',
|
||||||
'blok' => 'required',
|
'blok_nomor' => 'required',
|
||||||
'desa_kelurahan' => 'required',
|
'village_code' => 'nullable|string',
|
||||||
'kecamatan' => 'required',
|
'district_code' => 'nullable|string',
|
||||||
'kota_madya' => 'required',
|
'city_code' => 'nullable|string',
|
||||||
'provinsi' => 'required',
|
'province_code' => 'nullable|string',
|
||||||
'jenis_model' => 'required',
|
'jenis_model' => 'required',
|
||||||
'nomor_lambung' => 'required',
|
'nomor_lambung' => 'required',
|
||||||
'model_unit' => 'required',
|
'model_unit' => 'required',
|
||||||
@@ -411,7 +409,6 @@ class FormSurveyorRequest extends FormRequest
|
|||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'action' => 'required',
|
'action' => 'required',
|
||||||
'tanggal_survey' => 'required',
|
|
||||||
'nama_wakil' => 'required',
|
'nama_wakil' => 'required',
|
||||||
'hub_calon_debitur' => 'required',
|
'hub_calon_debitur' => 'required',
|
||||||
'bandara' => 'required',
|
'bandara' => 'required',
|
||||||
|
|||||||
@@ -85,6 +85,9 @@ class SurveyorRequest extends FormRequest
|
|||||||
|
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
|
'foto-objek-jaminan' => [
|
||||||
|
'kategori' => 'required',
|
||||||
|
],
|
||||||
// Add more action specific rules here
|
// Add more action specific rules here
|
||||||
default => [],
|
default => [],
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -839,7 +839,7 @@
|
|||||||
|
|
||||||
<table style="width: 100%;">
|
<table style="width: 100%;">
|
||||||
<tr>
|
<tr>
|
||||||
<td style="vertical-align: top">Instansi yang relevan</td>
|
<td style="vertical-align: top;">Instansi yang relevan</td>
|
||||||
<td>:</td>
|
<td>:</td>
|
||||||
<td>
|
<td>
|
||||||
@php
|
@php
|
||||||
@@ -866,28 +866,32 @@
|
|||||||
'harga_diskon' => 'Indikasi Harga Transaksi',
|
'harga_diskon' => 'Indikasi Harga Transaksi',
|
||||||
];
|
];
|
||||||
@endphp
|
@endphp
|
||||||
<table>
|
@foreach (['pembanding1', 'pembanding2', 'pembanding3'] as $index => $pembanding)
|
||||||
<tr>
|
<table style="width: 100%; margin-bottom: 5px;">
|
||||||
|
<tr>
|
||||||
|
<td style="font-weight: bold;">Pembanding {{ $index + 1 }}</td>
|
||||||
|
</tr>
|
||||||
@foreach ($fields as $key => $label)
|
@foreach ($fields as $key => $label)
|
||||||
<tr>
|
<tr>
|
||||||
@foreach (['pembanding1', 'pembanding2', 'pembanding3'] as $pembanding)
|
<td style="width: 33%;">{{ $label }}</td>
|
||||||
<td style="padding: 8px;">{{ $label }}</td>
|
<td style="width: 5%;">:</td>
|
||||||
<td style="padding: 8px;">:</td>
|
<td style="width: 62%;">
|
||||||
<td style="padding: 8px;">
|
@if ($key == 'luas_tanah' || $key == 'luas_bangunan')
|
||||||
@if ($key == 'luas_tanah' || $key == 'luas_bangunan')
|
{{ $exportData[$pembanding][$key] ?? '-' }} m²
|
||||||
{{ $exportData[$pembanding][$key] ?? '-' }} m²
|
@elseif($key == 'harga' || $key == 'harga_diskon')
|
||||||
@elseif($key == 'harga' || $key == 'harga_diskon')
|
Rp. {{ $exportData[$pembanding][$key] ?? '-' }}
|
||||||
Rp. {{ $exportData[$pembanding][$key] ?? '-' }}
|
@else
|
||||||
@else
|
{{ $exportData[$pembanding][$key] ?? '-' }}
|
||||||
{{ $exportData[$pembanding][$key] ?? '-' }}
|
@endif
|
||||||
@endif
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
@endforeach
|
@endforeach
|
||||||
</tr>
|
</table>
|
||||||
@endforeach
|
@endforeach
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
|
||||||
|
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
@@ -926,7 +930,7 @@
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td style="padding: 8px; text-align: right;">Sarana Pelengkap
|
<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>
|
||||||
<td style="padding: 8px; text-align: right;">X
|
<td style="padding: 8px; text-align: right;">X
|
||||||
{{ $lpjData['nilai_sarana_pelengkap_1'] ?? '' }}</td>
|
{{ $lpjData['nilai_sarana_pelengkap_1'] ?? '' }}</td>
|
||||||
|
|||||||
@@ -1339,7 +1339,7 @@
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td style=" padding: 8px; text-align: right;">Sarana Pelengkap
|
<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
|
<td style=" padding: 8px; text-align: right;">X
|
||||||
{{ $lpjData['nilai_sarana_pelengkap_1'] ?? '' }}
|
{{ $lpjData['nilai_sarana_pelengkap_1'] ?? '' }}
|
||||||
</td>
|
</td>
|
||||||
|
|||||||
@@ -21,10 +21,14 @@
|
|||||||
|
|
||||||
@include('lpj::component.form-penilai', ['title' => 'Laporan'])
|
@include('lpj::component.form-penilai', ['title' => 'Laporan'])
|
||||||
<div class="flex card-footer justify-end gap-5">
|
<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>
|
<span id="saveButtonText">Save</span>
|
||||||
</button>
|
</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"
|
<a href="{{ route('penilai.print-out') }}?permohonanId={{ $permohonan->id }}&documentId={{ $documentId }}&inspeksiId={{ $inspeksiId }}&jaminanId={{ $jenisJaminanId }}&statusLpj=0"
|
||||||
class="btn btn-primary">
|
class="btn btn-primary">
|
||||||
<i class="ki-filled ki-printer"></i> Print
|
<i class="ki-filled ki-printer"></i> Print
|
||||||
@@ -35,6 +39,10 @@
|
|||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
|
||||||
|
const datas = @json($lpjData);
|
||||||
|
console.log(datas);
|
||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', function() {
|
document.addEventListener('DOMContentLoaded', function() {
|
||||||
document.querySelectorAll('.currency-format').forEach(input => {
|
document.querySelectorAll('.currency-format').forEach(input => {
|
||||||
input.addEventListener('input', function() {
|
input.addEventListener('input', function() {
|
||||||
@@ -54,11 +62,11 @@
|
|||||||
const parseInput = (value) => parseFloat(value.replace(/[^0-9]/g, '')) || 0;
|
const parseInput = (value) => parseFloat(value.replace(/[^0-9]/g, '')) || 0;
|
||||||
|
|
||||||
// Ambil elemen input dan parse nilainya
|
// 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 hargaPerMeterTanah = parseInput(document.querySelector('input[name="nilai_tanah_1"]').value);
|
||||||
let totalLuasTanah = document.querySelector('input[name="nilai_tanah_2"]');
|
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 hargaPerMeterBangunan = parseInput(document.querySelector('input[name="nilai_bangunan_1"]').value);
|
||||||
let totalLuasBangunan = document.querySelector('input[name="nilai_bangunan_2"]');
|
let totalLuasBangunan = document.querySelector('input[name="nilai_bangunan_2"]');
|
||||||
|
|
||||||
@@ -108,7 +116,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
function saveLpjSederhanadanStandard() {
|
function saveLaporan() {
|
||||||
const form = document.getElementById('form-lpj');
|
const form = document.getElementById('form-lpj');
|
||||||
const formData = new FormData(form);
|
const formData = new FormData(form);
|
||||||
showLoadingSwal('Mengirim data ke server...');
|
showLoadingSwal('Mengirim data ke server...');
|
||||||
@@ -138,6 +146,7 @@
|
|||||||
confirmButtonText: 'OK'
|
confirmButtonText: 'OK'
|
||||||
}).then((response) => {
|
}).then((response) => {
|
||||||
if (response.isConfirmed) {
|
if (response.isConfirmed) {
|
||||||
|
window.location.reload();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else {
|
} 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="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="grid gap-5 grid-cols-2">
|
||||||
|
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
<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="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="grid gap-5">
|
||||||
|
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.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>
|
<label class="form-label max-w-56">Nama Wakil Debitur</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
<input type="text" name="nama_wakil" class="input"
|
<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>
|
<em id="error-nama_wakil" class="alert text-danger text-sm"></em>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -75,45 +76,63 @@
|
|||||||
<label class="form-label max-w-56">Hubungan Calon Debitur</label>
|
<label class="form-label max-w-56">Hubungan Calon Debitur</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
<input type="text" name="hub_calon_debitur" class="input"
|
<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>
|
<em id="error-hub_calon_debitur" class="alert text-danger text-sm"></em>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{-- lokasi jaminan --}}
|
|
||||||
@include('lpj::surveyor.components.lokasi-jaminan')
|
|
||||||
</div>
|
</div>
|
||||||
</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="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="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>
|
<label class="form-label max-w-56">Model</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex-wrap items-stretch">
|
||||||
<select
|
<div class="flex flex-col items-start gap-4">
|
||||||
class="input tomselect w-full @error('model_unit') border-danger bg-danger-light @enderror"
|
@if (isset($basicData['modelAlatBerat']))
|
||||||
name="jenis_model">
|
@foreach ($basicData['modelAlatBerat'] as $item)
|
||||||
<option value="">Select Model Kendaraan </option>
|
<div class="flex items-center">
|
||||||
@if (isset($modelAlatBerat))
|
<label class="form-label flex items-center gap-2.5 text-nowrap">
|
||||||
@foreach ($modelAlatBerat as $item)
|
<input class="checkbox" name="jenis_model[]" type="checkbox"
|
||||||
<option value="{{ $item->name }}"
|
value="{{ $item->name }}"
|
||||||
{{ old('') == $item->name ? 'selected' : '' }}>{{ $item->name }}
|
{{ in_array($item->name, old('jenis_model', [])) ||
|
||||||
</option>
|
(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
|
@endforeach
|
||||||
@endif
|
@endif
|
||||||
</select>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<em id="error-jenis_model" class="alert text-danger text-sm"></em>
|
<em id="error-jenis_model" class="alert text-danger text-sm"></em>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -124,76 +143,91 @@
|
|||||||
'label' => 'Nomor Lambung',
|
'label' => 'Nomor Lambung',
|
||||||
'name' => 'nomor_lambung',
|
'name' => 'nomor_lambung',
|
||||||
'index' => 0,
|
'index' => 0,
|
||||||
|
'value' => old('nomor_lambung', $forminspeksi['nomor_lambung']),
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'label' => 'Model Unit',
|
'label' => 'Model Unit',
|
||||||
'name' => 'model_unit',
|
'name' => 'model_unit',
|
||||||
'index' => 1,
|
'index' => 1,
|
||||||
|
'value' => old('model_unit', $forminspeksi['model_unit']),
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'label' => 'Tahun Pembuatan',
|
'label' => 'Tahun Pembuatan',
|
||||||
'name' => 'tahun_pembuatan',
|
'name' => 'tahun_pembuatan',
|
||||||
'index' => 2,
|
'index' => 2,
|
||||||
|
'value' => old('tahun_pembuatan', $forminspeksi['tahun_pembuatan']),
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'label' => 'Merk',
|
'label' => 'Merk',
|
||||||
'name' => 'merk',
|
'name' => 'merk',
|
||||||
'index' => 3,
|
'index' => 3,
|
||||||
|
'value' => old('merk', $forminspeksi['merk']),
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'label' => 'Negara Pembuat',
|
'label' => 'Negara Pembuat',
|
||||||
'name' => 'negara_pembuat',
|
'name' => 'negara_pembuat',
|
||||||
'index' => 4,
|
'index' => 4,
|
||||||
|
'value' => old('negara_pembuat', $forminspeksi['negara_pembuat']),
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'label' => 'Tahun Pembelian',
|
'label' => 'Tahun Pembelian',
|
||||||
'name' => 'tahun_pembelian',
|
'name' => 'tahun_pembelian',
|
||||||
'index' => 5,
|
'index' => 5,
|
||||||
|
'value' => old('tahun_pembelian', $forminspeksi['tahun_pembelian']),
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'label' => 'Nomor Faktur/Invoice',
|
'label' => 'Nomor Faktur/Invoice',
|
||||||
'name' => 'nomor_faktur',
|
'name' => 'nomor_faktur',
|
||||||
'index' => 6,
|
'index' => 6,
|
||||||
|
'value' => old('nomor_faktur', $forminspeksi['nomor_faktur']),
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'label' => 'Nomor Kontrak Pembelian',
|
'label' => 'Nomor Kontrak Pembelian',
|
||||||
'name' => 'nomor_kontrak',
|
'name' => 'nomor_kontrak',
|
||||||
'index' => 7,
|
'index' => 7,
|
||||||
|
'value' => old('nomor_kontrak', $forminspeksi['nomor_kontrak']),
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'label' => 'Nama Pemilik',
|
'label' => 'Nama Pemilik',
|
||||||
'name' => 'nama_pemilik',
|
'name' => 'nama_pemilik',
|
||||||
'index' => 8,
|
'index' => 8,
|
||||||
|
'value' => old('nama_pemilik', $forminspeksi['nama_pemilik']),
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'label' => 'Alamaat Pemilik',
|
'label' => 'Alamaat Pemilik',
|
||||||
'name' => 'alamat_pemilik',
|
'name' => 'alamat_pemilik',
|
||||||
'index' => 9,
|
'index' => 9,
|
||||||
|
'value' => old('alamat_pemilik', $forminspeksi['alamat_pemilik']),
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'label' => 'Nomor Asuransi',
|
'label' => 'Nomor Asuransi',
|
||||||
'name' => 'nomor_asuransi',
|
'name' => 'nomor_asuransi',
|
||||||
'index' => 10,
|
'index' => 10,
|
||||||
|
'value' => old('nomor_asuransi', $forminspeksi['nomor_asuransi']),
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'label' => 'Nomor Rangka',
|
'label' => 'Nomor Rangka',
|
||||||
'name' => 'nomor_rangka',
|
'name' => 'nomor_rangka',
|
||||||
'index' => 11,
|
'index' => 11,
|
||||||
|
'value' => old('nomor_rangka', $forminspeksi['nomor_rangka']),
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'label' => 'Nomor Mesin',
|
'label' => 'Nomor Mesin',
|
||||||
'name' => 'nomor_mesin',
|
'name' => 'nomor_mesin',
|
||||||
'index' => 12,
|
'index' => 12,
|
||||||
|
'value' => old('nomor_mesin', $forminspeksi['nomor_mesin']),
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'label' => 'Hour Meters',
|
'label' => 'Hour Meters',
|
||||||
'name' => 'hour_mesters',
|
'name' => 'hour_mesters',
|
||||||
'index' => 13,
|
'index' => 13,
|
||||||
|
'value' => old('hour_mesters', $forminspeksi['hour_mesters']),
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'label' => 'Overhaul Mesin',
|
'label' => 'Overhaul Mesin',
|
||||||
'name' => 'overhaul_mesin',
|
'name' => 'overhaul_mesin',
|
||||||
'index' => 14,
|
'index' => 14,
|
||||||
|
'value' => old('overhaul_mesin', $forminspeksi['overhaul_mesin']),
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -206,9 +240,7 @@
|
|||||||
<label class="form-label max-w-56">{{ $item['label'] }}</label>
|
<label class="form-label max-w-56">{{ $item['label'] }}</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
<input type="text" name="{{ $item['name'] }}" class="input"
|
<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>
|
<em id="error-{{ $item['name'] }}" class="alert text-danger text-sm"></em>
|
||||||
|
|
||||||
</div>
|
</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="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">
|
<div class="grid gap-5">
|
||||||
@php
|
@php
|
||||||
|
|
||||||
@@ -339,7 +374,7 @@
|
|||||||
<label class="form-label max-w-56">Perusahaan Asuransi</label>
|
<label class="form-label max-w-56">Perusahaan Asuransi</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
<input type="text" name="perusahaan_asuransi" class="input"
|
<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>
|
<em class="alert text-danger text-sm"></em>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@@ -348,7 +383,7 @@
|
|||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
<label class="form-label max-w-56">Tahun Berakhir</label>
|
<label class="form-label max-w-56">Tahun Berakhir</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<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>
|
<em class="alert text-danger text-sm"></em>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@@ -358,11 +393,13 @@
|
|||||||
</div>
|
</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="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="grid gap-5">
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
<label class="form-label max-w-56">Faktor Positif</label>
|
<label class="form-label max-w-56">Faktor Positif</label>
|
||||||
@@ -398,9 +435,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
<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>
|
<label class="form-label max-w-56">Catatan Yang Perlu Diperhatikan</label>
|
||||||
<div id="catatan-container" class="flex flex-wrap items-baseline w-full">
|
<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 id="perwakilan" class="flex items-baseline w-full gap-5">
|
||||||
<div class="flex gap-4 items-center w-full">
|
<div class="flex gap-4 items-center w-full">
|
||||||
<input class="input" type="text" placeholder="Masukan Pihak Bank Selain Pj" type="text"
|
<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'] : '') }}">
|
value="{{ old('pihak_bank', isset($forminspeksi['asset']['pihak_bank']) ? $forminspeksi['asset']['pihak_bank'] : '') }}">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -552,128 +552,5 @@
|
|||||||
loadSavedLocationData();
|
loadSavedLocationData();
|
||||||
});
|
});
|
||||||
// Fungsi untuk memuat data lokasi yang tersimpan
|
// 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>
|
</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 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="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="grid gap-5 grid-cols-2">
|
||||||
|
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
<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 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="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="grid gap-5">
|
||||||
|
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
@@ -95,83 +97,35 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{-- lokasi jaminan --}}
|
{{-- lokasi jaminan --}}
|
||||||
@include('lpj::surveyor.components.lokasi-jaminan')
|
|
||||||
</div>
|
</div>
|
||||||
</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 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="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="grid gap-5">
|
||||||
|
@include('lpj::component.detail-jaminan', ['status' => true])
|
||||||
<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>
|
|
||||||
|
|
||||||
@php
|
@php
|
||||||
$inputDataJaminan = [
|
$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',
|
'label' => 'Masa Berlaku STNK',
|
||||||
'name' => 'masa_stnk',
|
'name' => 'masa_stnk',
|
||||||
'index' => 7,
|
'index' => 7,
|
||||||
|
'value' => old('masa_stnk', $forminspeksi['masa_stnk'] ?? '')
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'label' => 'Masa Berlaku Pajak',
|
'label' => 'Masa Berlaku Pajak',
|
||||||
'name' => 'masa_pajak',
|
'name' => 'masa_pajak',
|
||||||
'index' => 8,
|
'index' => 8,
|
||||||
|
'value' => old('masa_pajak', $forminspeksi['masa_pajak'] ?? '')
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
@endphp
|
@endphp
|
||||||
@@ -182,7 +136,9 @@
|
|||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
<label class="form-label max-w-56">{{ $item['label'] }}</label>
|
<label class="form-label max-w-56">{{ $item['label'] }}</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<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>
|
||||||
</div>
|
</div>
|
||||||
@endforeach
|
@endforeach
|
||||||
@@ -193,10 +149,13 @@
|
|||||||
|
|
||||||
|
|
||||||
<div class="card border border-agi-100 bg-white rounded-lg shadow-md overflow-hidden">
|
<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="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="grid gap-5">
|
||||||
|
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.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 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="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="grid gap-5">
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
<label class="form-label max-w-56">Faktor Positif</label>
|
<label class="form-label max-w-56">Faktor Positif</label>
|
||||||
|
|||||||
@@ -1,38 +1,104 @@
|
|||||||
<div class="py-4 px-6">
|
<div class="card-header bg-agi-50">
|
||||||
<h1 class="text-md font-medium text-gray-900">Lokasi Jaminan</h1>
|
<h3 class="card-title uppercase">
|
||||||
|
Lokasi Jaminan
|
||||||
|
</h3>
|
||||||
</div>
|
</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 = [];
|
@if (count($inputDataLoaksi) > 0)
|
||||||
$inputDataLoaksi = [
|
@foreach ($inputDataLoaksi as $item)
|
||||||
['label' => 'Nama Jalan', 'index' => 0, 'name' => 'nama_jalan', 'value' => old('nama_jalan', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->lokasi_jalan : '')],
|
<!-- Nomor Lambung -->
|
||||||
['label' => 'Perumahan/Gang', 'index' => 1, 'name' => 'perumahan_gang', 'value' => old('lokasi_perumahan_gang', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->lokasi_perumahan_gang : '')],
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
['label' => 'Blok/Nomor', 'index' => 2, 'name' => 'blok_nomor', 'value' => old('blok_nomor', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->lokasi_blok_nomor : '')],
|
<label class="form-label max-w-56">{{ $item['label'] }}</label>
|
||||||
['label' => 'Desa/Kelurahan', 'index' => 3, 'name' => 'desa_kelurahan', 'value' => old('desa_kelurahan', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->lokasi_desa_kelurahan : '')],
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
['label' => 'Kecamatan', 'index' => 4, 'name' => 'kecamatan' , 'value' => old('kecamatan', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->lokasi_kecamatan : '')],
|
<input type="text" name="{{ $item['name'] }}" class="input"
|
||||||
['label' => 'Kota/Kotamadya', 'index' => 5, 'name' => 'kota_madya', 'value' => old('kota_madya', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->lokasi_kota_kotamadya : '')],
|
placeholder="Masukkan {{ $item['label'] }}" value="{{ $item['value'] }}">
|
||||||
['label' => 'Provinsi', 'index' => 6, 'name' => 'provinsi', 'value' => old('provinsi', isset($analisa->analisaLingkungan) ? $analisa->analisaLingkungan->lokasi_provinsi : '')],
|
|
||||||
];
|
|
||||||
|
|
||||||
@endphp
|
@error($item['name'])
|
||||||
|
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||||
@if (count($inputDataLoaksi) > 0)
|
@enderror
|
||||||
@foreach ($inputDataLoaksi as $item)
|
</div>
|
||||||
<!-- 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
|
|
||||||
</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>
|
</div>
|
||||||
@endforeach
|
</div>
|
||||||
@endif
|
|
||||||
|
<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>
|
</div>
|
||||||
|
<script type="text/javascript">
|
||||||
|
document.addEventListener('DOMContentLoaded', () => {
|
||||||
|
loadSavedLocationData();
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
@include('lpj::surveyor.js.utils')
|
||||||
|
|||||||
@@ -83,18 +83,21 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{-- lokasi jaminan --}}
|
|
||||||
@include('lpj::surveyor.components.lokasi-jaminan')
|
|
||||||
</div>
|
</div>
|
||||||
</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 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="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="grid gap-5">
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
<label class="form-label max-w-56">Model</label>
|
<label class="form-label max-w-56">Model</label>
|
||||||
|
|||||||
@@ -177,4 +177,129 @@
|
|||||||
});
|
});
|
||||||
newElement.dispatchEvent(event);
|
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>
|
</script>
|
||||||
|
|||||||
Reference in New Issue
Block a user