Initial Commit

This commit is contained in:
2025-05-06 15:05:09 +07:00
commit 7b885d7d45
695 changed files with 119779 additions and 0 deletions

View File

@@ -0,0 +1,488 @@
<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 class="flex items-center gap-2">
<a href="{{ url()->previous() }}" class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back
</a>
</div>
</div>
<div class="card-body">
<div class="grid gap-5 grid-cols-2">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Tujuan Penilaian</label>
<div class="flex flex-wrap items-baseline w-full">
@if (isset($permohonan->tujuanPenilaian))
<p class="text-2sm text-gray-700">{{ $permohonan->tujuanPenilaian->name }}</p>
@endif
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Tanggal Survey</label>
<div class="flex flex-wrap items-base line w-full">
<p class="text-2sm text-gray-700">{{ $permohonan->created_at->format('d/m/Y') }}</p>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Cab/Direktorat</label>
<div class="flex flex-wrap items-baseline w-full">
@if (isset($permohonan->branch))
<p class="text-2sm text-gray-700">{{ $permohonan->branch->name }}</p>
@endif
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">AO</label>
<div class="flex flex-wrap items-baseline w-full">
@if (isset($permohonan->user))
<p class="text-2sm text-gray-700">{{ $permohonan->user->name }}</p>
@endif
</div>
</div>
</div>
</div>
</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">
Identitas Debitur
</h3>
</div>
<div class="card-body">
<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">Nama Calon Debitur</label>
<div class="flex flex-wrap items-baseline w-full">
@if (isset($permohonan->debiture->name))
<p class="text-2sm text-gray-700">{{ $permohonan->debiture->name }}</p>
@endif
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<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" value="{{ $forminspeksi['nama_wakil'] ?? '' }}">
<em id="error-nama_wakil" class="alert text-danger text-sm"></em>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<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" value="{{$forminspeksi['hub_calon_debitur'] ?? ''}}">
<em id="error-hub_calon_debitur" class="alert text-danger text-sm"></em>
</div>
</div>
</div>
</div>
</div>
{{-- 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="grid gap-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-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
</div>
<em id="error-jenis_model" class="alert text-danger text-sm"></em>
</div>
</div>
@php
$inputDataJaminan = [
[
'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'] ?? ""),
],
];
@endphp
@if (count($inputDataJaminan) > 0)
@foreach ($inputDataJaminan 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'] ?? ''}}">
<em id="error-{{ $item['name'] }}" class="alert text-danger text-sm"></em>
</div>
</div>
@endforeach
@endif
</div>
</div>
</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">
Kondisi Objek Jaminan
</h3>
</div>
<div class="card-body">
<div class="grid gap-5">
@php
$kondisiObjeck = [
[
'label' => 'Mesin dan Panel Instrument',
'value' => ['Terawat', 'Cukup Terawat', 'Tidak Terawat'],
'name' => 'mesin_panel',
'index' => 0,
],
[
'label' => 'Fungsi mesin dan panel instrument',
'value' => ['Berfungsi', 'Rusak'],
'name' => 'fungsi_panel',
'index' => 1,
],
[
'label' => 'Interior (jok, dll)',
'value' => ['Terawat', 'Cukup Terawat', 'Tidak Terawat'],
'name' => 'interior',
'index' => 2,
],
[
'label' => 'Rangka dan Karoseri',
'value' => ['Terawat', 'Cukup Terawat', 'Tidak Terawat'],
'name' => 'rangka_Karoseri',
'index' => 3,
],
[
'label' => 'Ban',
'value' => ['Standard', 'Tidak Standard'],
'name' => 'ban',
'index' => 4,
],
[
'label' => 'Velg',
'value' => ['Standard', 'Tidak Standard'],
'name' => 'velg',
'index' => 5,
],
[
'label' => 'Air Conditioner',
'value' => ['Ada', 'Tidak Ada'],
'name' => 'air_conditioner',
'index' => 6,
],
[
'label' => 'Aksesoris Tambahan lainnya',
'value' => ['Ada', 'Tidak Ada'],
'name' => 'aksesoris',
'index' => 7,
],
[
'label' => 'LCD',
'value' => ['Ada', 'Tidak Ada'],
'name' => 'lcd',
'index' => 8,
],
[
'label' => 'Perlengkapan Keamanan',
'value' => ['Ada', 'Tidak Ada'],
'name' => 'perlengkapan',
'index' => 9,
],
[
'label' => 'Asuransi',
'value' => ['Ada', 'Tidak Ada'],
'name' => 'asuransi',
'index' => 10,
],
];
@endphp
@if (count($kondisiObjeck) > 0)
@foreach ($kondisiObjeck 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">
<div class="flex flex-col items-start gap-4">
@if (isset($item['value']))
@foreach ($item['value'] as $value)
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56 gap-2.5" style="width: 500px">
<input class="checkbox" name="{{ $item['name'] }}[]" type="checkbox"
value="{{ $value }}"
{{ in_array($value, old($item['name'], $forminspeksi[$item['name']] ?? [])) ? 'checked' : '' }} />
{{ $value }}
</label>
<input type="text" name="{{ $item['name'] }}_input[]"
class="input w-full"
id="bentukTanahInput-{{ $loop->parent->index }}-{{ $loop->index }}"
placeholder="Masukkan {{ $value }}..."
value="{{ old($item['name'] . '_input.' . $loop->index, $forminspeksi[$item['name'] . '_input'][$loop->index] ?? '') }}">
</div>
@endforeach
@endif
</div>
<div class="w-full">
<em id="error-{{ $item['name'] }}" class="alert text-danger text-sm"></em>
<em id="error-{{ $item['name'] }}-input-{{ $loop->index }}"
class="alert text-danger text-sm"></em>
</div>
</div>
</div>
@endforeach
@endif
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<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" value={{$forminspeksi['perusahaan_asuransi'] ?? ''}}>
<em class="alert text-danger text-sm"></em>
</div>
</div>
<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" value={{$forminspeksi['tahun_berakhir'] ?? ''}}>
<em class="alert text-danger text-sm"></em>
</div>
</div>
</div>
</div>
</div>
<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="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>
<div id="fakta-positif-container" class="flex flex-wrap items-baseline w-full">
@if (!empty($forminspeksi['fakta_positif']))
@foreach ($forminspeksi['fakta_positif'] as $index => $positif)
<div class="fakta_positif flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="fakta_positif[]" rows="10">{{ old("fakta_positif.$index", $positif) }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button"
style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@endforeach
@else
<div class="fakta_positif flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="fakta_positif[]" rows="10">{{ old('fakta_positif.0', '') }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button" style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@endif
<button type="button" class="btn btn-primary btn-sm mt-5"
onclick="addClonableItem('fakta-positif-container', 'fakta_positif')">
<i class="ki-outline ki-plus"></i>
</button>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Faktor Negatif</label>
<div id="fakta-negatif-container" class="flex flex-wrap items-baseline w-full">
@if (!empty($forminspeksi['fakta_negatif']))
@foreach ($forminspeksi['fakta_negatif'] as $index => $negatif)
<div class="fakta_negatif flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="fakta_negatif[]" rows="10">{{ old("fakta_negatif.$index", $negatif) }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button"
style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@endforeach
@else
<div class="fakta_negatif flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="fakta_negatif[]" rows="10">{{ old('fakta_negatif.0', $forminspeksi['fakta_negatif'][0] ?? '') }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button" style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
<em id="error-fakta_negatif" class="alert text-danger text-sm"></em>
</div>
@endif
<button type="button" class="btn btn-primary btn-sm mt-5"
onclick="addClonableItem('fakta-negatif-container', 'fakta_negatif')">
<i class="ki-outline ki-plus"></i>
</button>
</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">
<div class="catatan flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="catatan[]" rows="10">{{ old('catatan.0', $forminspeksi['catatan'][0] ?? '') }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button" style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
<em id="error-catatan" class="alert text-danger text-sm"></em>
</div>
<button type="button"
onclick="addClonableItem('catatan-container', 'catatan')"
class="btn btn-primary btn-sm mt-5 ">
<i class="ki-outline ki-plus"></i>
</button>
</div>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,176 @@
<div class="card border border-agi-100 w-full bg-white rounded-lg shadow-md overflow-hidden">
<div class="card-header bg-agi-50">
<h3 class="card-title uppercase">
Analisa Unit
</h3>
</div>
<div class="card-body">
<div class="grid gap-5">
<!-- Luas tanah -->
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Luas Unit</label>
@if (isset($permohonan->documents))
@foreach ($permohonan->documents as $item)
@php
$total_luas_unit = 0;
$jenis_legalitas_jaminan_id = 0;
if (isset($item->detail)) {
$total_luas_unit = calculateTotalLuas($item->detail, 'luas_bangunan', 1, 27, 3);
}
@endphp
<input type="hidden" id="jenis_legalistas_jaminan_unit_id" name="jenis_legalistas_jaminan_unit_id"
class="input" value="{{ $jenis_legalitas_jaminan_id }}">
<input type="hidden" name="luas_unit_sesuai" class="input" value="{{ $total_luas_unit }}">
<p class="text-2sm text-gray-700">{{ $total_luas_unit }} m<sup>2</sup></p>
@endforeach
@endif
<div class="flex flex-wrap items-baseline w-full">
<div class="grid grid-cols-2 md:grid-cols-3 gap-4 mt-2">
<label class="form-label flex items-center gap-3 text-nowrap">
<input
onclick="toggleFieldVisibility('luas_unit','luas_unit_tidak_sesuai', ['tidak sesuai'])"
type="radio" class="radio" name="luas_unit" value="sesuai"
{{ old('luas_unit', isset($forminspeksi['luas_unit']['sesuai'])) ? 'checked' : '' }}>
<span class="ml-2">Sesuai</span>
</label>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input
onclick="toggleFieldVisibility('luas_unit','luas_unit_tidak_sesuai', ['tidak sesuai'])"
type="radio" class="radio" name="luas_unit" value="tidak sesuai"
{{ old('luas_unit', isset($forminspeksi['luas_unit']['tidak sesuai'])) ? 'checked' : '' }}>
<span class="ml-2">Tidak Sesuai</span>
</label>
<div id="luas_unit_tidak_sesuai" class="flex items-baseline gap-2"
style="{{ old('luas_unit', isset($forminspeksi['luas_unit']['tidak sesuai'])) ? '' : 'display: none;' }}">
<div class="input">
<input id="analisa_luas_unit_tidak_sesuai" type="text" name="luas_unit_tidak_sesuai"
class="number-format w-full" placeholder="Masukan Luas Tanah"
value="{{ old('luas_unit_tidak_sesuai', $forminspeksi['luas_unit_tidak_sesuai'] ?? '') }}">
<i>M<sup>2</sup></i>
</div>
{{-- <button type="button" class="btn btn-md btn-primary"
onclick="updateAnalisa('analisa_unit')">Save</button> --}}
</div>
</div>
<em id="error-luas_unit" class="alert text-danger text-sm"></em>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Kondisi Unit</label>
<div class="flex flex-wrap items-baseline w-full">
<div class="flex-wrap items-stretch">
<div class="flex flex-col items-start gap-2">
@if (isset($basicData['kondisiBangunan']))
@foreach ($basicData['kondisiBangunan'] as $item)
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="kondisi_unit[]" type="checkbox"
value="{{ $item->name }}"
{{ in_array($item->name, old('kondisi_unit', $forminspeksi['kondisi_unit'] ?? [])) ? 'checked' : '' }} />
{{ $item->name }}
</label>
@endforeach
@endif
</div>
<em id="error-kondisi_unit" class="alert text-danger text-sm"></em>
</div>
</div>
</div>
<!-- Posisi Unit -->
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Posisi Unit</label>
<div class="flex flex-wrap items-baseline w-full">
<div class="flex-wrap items-stretch">
<div class="flex flex-col items-start gap-2">
@if (isset($basicData['posisiUnit']))
@foreach ($basicData['posisiUnit'] as $item)
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="posisi_unit[]" type="checkbox"
value="{{ $item->name }}"
{{ in_array($item->name, old('posisi_unit', $forminspeksi['posisi_unit'] ?? [])) ? 'checked' : '' }} />
{{ $item->name }}
</label>
@endforeach
@endif
</div>
<em id="error-posisi_unit" class="alert text-danger text-sm"></em>
</div>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Lantai</label>
<div class="flex flex-wrap items-baseline w-full">
<div class="flex flex-col items-start gap-4">
@if (isset($basicData['lantai']))
@foreach ($basicData['lantai'] as $item)
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56 gap-2.5" style="width: 500px">
<input class="checkbox" name="lantai[]" type="checkbox"
value="{{ $item->name }}"
{{ in_array($item->name, old('lantai', $forminspeksi['lantai'] ?? [])) ? 'checked' : '' }} />
{{ $item->name }}
</label>
<input type="text" name="lantai_input[]" class="input w-full" id="lantaiInput"
placeholder="Masukkan {{ $item->name }}..."
value="{{ old('lantai_input.' . $loop->index, $forminspeksi['lantai_input'][$loop->index] ?? '') }}">
</div>
@endforeach
@endif
</div>
<em id="error-lantai" class="alert text-danger text-sm"></em>
</div>
</div>
<!-- Kondisi Fisik Tanah -->
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">View</label>
<div class="flex flex-wrap items-baseline w-full">
<div class="flex-wrap items-stretch">
<div class="flex flex-col items-start gap-2">
@if (isset($basicData['viewUnit']))
@foreach ($basicData['viewUnit'] as $item)
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="view[]" type="checkbox"
value="{{ $item->name }}"
{{ in_array($item->name, old('view', $forminspeksi['view'] ?? [])) ? 'checked' : '' }} />
{{ $item->name }}
</label>
@endforeach
@endif
</div>
<em id="error-view" class="alert text-danger text-sm"></em>
</div>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Bentuk Unit</label>
<div class="flex flex-wrap items-baseline w-full">
<div class="flex-wrap items-stretch">
<div class="flex flex-col items-start gap-2">
@if (isset($basicData['bentukUnit']))
@foreach ($basicData['bentukUnit'] as $item)
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="bentuk_unit[]" type="checkbox"
value="{{ $item->name }}"
{{ in_array($item->name, old('bentuk_unit', $forminspeksi['bentuk_unit'] ?? [])) ? 'checked' : '' }} />
{{ $item->name }}
</label>
@endforeach
@endif
</div>
<em id="error-bentuk_unit" class="alert text-danger text-sm"></em>
</div>
</div>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,405 @@
<div class="card border border-agi-100 w-full rounded-lg shadow-md overflow-hidden">
<div class="card-header light:bg-agi-50">
<h3 class="card-title uppercase">
Analisa Bangunan
</h3>
</div>
<div class="card-body">
<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">Luas Bangunan(IMB)</label>
<div class="mt-2">
@if (isset($permohonan->documents))
@foreach ($permohonan->documents as $item)
@php
$total_luas_bangunan = 0;
$jenis_legalitas_jaminan_id = 0;
if (isset($item->detail)) {
$total_luas_bangunan = calculateTotalLuas($item->detail, 'luas_bangunan', 10, 27, 3);
}
@endphp
<input type="hidden" id="jenis_legalistas_jaminan_bangunan_id"
name="jenis_legalistas_jaminan_bangunan_id" class="input"
value="{{ $jenis_legalitas_jaminan_id }}">
<input type="hidden" name="luas_bangunan_sesuai" class="input"
value="{{ $total_luas_bangunan }}">
<p class="text-2sm text-gray-700">{{ $total_luas_bangunan }} m<sup>2</sup></p>
@endforeach
@endif
<div class="flex-wrap items-stretch">
<div class="grid grid-cols-2 md:grid-cols-3 gap-4 mt-2">
<label class="form-label flex items-center gap-3 text-nowrap">
<input type="radio"
onclick="toggleFieldVisibility('luas_tanah_bagunan', 'luas_tanah_bagunan_tidak_sesuai', ['tidak sesuai'])"
class="radio" name="luas_tanah_bagunan" value="sesuai"
{{ old('luas_tanah_bagunan', isset($forminspeksi['bangunan']['luas_tanah_bagunan']['sesuai'])) ? 'checked' : '' }}>
<span class="ml-2">Sesuai</span>
</label>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input type="radio" class="radio" name="luas_tanah_bagunan"
onclick="toggleFieldVisibility('luas_tanah_bagunan', 'luas_tanah_bagunan_tidak_sesuai', ['tidak sesuai'])"
value="tidak sesuai"
{{ old('luas_tanah_bagunan', isset($forminspeksi['bangunan']['luas_tanah_bagunan']['tidak sesuai'])) ? 'checked' : '' }}>
<span class="ml-2">Tidak Sesuai</span>
</label>
@php
$statusKey = isset($forminspeksi['bangunan']['luas_tanah_bagunan']['sesuai'])
? 'sesuai'
: 'tidak sesuai';
$selectedData = $forminspeksi['bangunan']['luas_tanah_bagunan'][$statusKey] ?? null;
@endphp
<div id="luas_tanah_bagunan_tidak_sesuai" class="flex items-baseline gap-2"
style="{{ old('luas_tanah_bagunan_tidak_sesuai', $selectedData) ? '' : 'display: none' }}">
<div class="input">
<input type="text" id="analisa_bangunan_tidak_sesuai"
name="luas_tanah_bagunan_tidak_sesuai" class="w-full number-format"
placeholder="Masukan Luas Bangunan Tidak Sesuai..."
value="{{ old('luas_tanah_bagunan_tidak_sesuai', $forminspeksi['bangunan']['luas_tanah_bagunan']['tidak sesuai'] ?? '') }}">
</div>
{{-- <button type="button" class="btn btn-md btn-primary"
onclick="updateAnalisa('analisa_bangunan')">
Save
</button> --}}
</div>
</div>
<em id="error-luas_tanah_bagunan" class="alert text-danger text-sm"></em>
</div>
</div>
</div>
<!-- Jenis Bangunan -->
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Jenis Bangunan</label>
<div class="flex-wrap items-stretch">
<div class="flex flex-col items-start gap-4">
@if (isset($basicData['jenisBangunan']))
@foreach ($basicData['jenisBangunan'] as $item)
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="jenis_bangunan[]" type="checkbox"
value="{{ $item->name }}"
{{ (is_array(old('jenis_bangunan')) && in_array($item->name, old('jenis_bangunan'))) ||
(isset($forminspeksi['bangunan']['jenis_bangunan']) &&
(is_array($forminspeksi['bangunan']['jenis_bangunan']) &&
in_array($item->name, $forminspeksi['bangunan']['jenis_bangunan'])))
? 'checked'
: '' }}
onclick="toggleCheckboxVisibility('jenis_bangunan', 'jenis_bangunan_lainnya', ['lainnya'])" />
{{ $item->name }}
</label>
@if (strcasecmp($item->name, 'Lainnya') == 0)
<input id="jenis_bangunan_lainnya" type="text" style="display: none;"
name="jenis_bangunan_lainnya" class="input w-full mt-2"
placeholder="Masukkan lainnya..." />
@endif
@endforeach
@endif
</div>
<em id="error-jenis_bangunan" class="alert text-danger text-sm"></em>
</div>
</div>
<!-- Kondisi Bangunan -->
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Kondisi Bangunan</label>
<div class="flex-wrap items-stretch">
<div class="flex flex-col items-start gap-4">
@if (isset($basicData['kondisiBangunan']))
@foreach ($basicData['kondisiBangunan'] as $item)
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="kondisi_bangunan[]" type="checkbox"
value="{{ $item->name }}"
{{ in_array($item->name, old('kondisi_bangunan', $forminspeksi['bangunan']['kondisi_bangunan'] ?? [])) ? 'checked' : '' }} />
{{ $item->name }}
</label>
@if (strcasecmp($item->name, 'lainnya') == 0)
<div class="flex items-center">
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="kondisi_bangunan[]" type="checkbox"
value="{{ $item->name }}"
{{ in_array($item->name, old('kondisi_bangunan', $forminspeksi['bangunan']['kondisi_bangunan'] ?? [])) ? 'checked' : '' }} />
{{ $item->name }}
</label>
<input type="text" name="kondisi_bangunan_lainnya" class="input mt-2"
id="bentukTanahInput" placeholder="Masukkan Kondisi Bangunan..."
value="{{ old('kondisi_bangunan_lainnya', $forminspeksi['bangunan']['kondisi_bangunan_lainnya'] ?? '') }}">
</div>
@endif
@endforeach
@endif
</div>
<em id="error-kondisi_bangunan" class="alert text-danger text-sm"></em>
</div>
</div>
<!-- Sifat Bangunan -->
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Sifat Bangunan</label>
<div class="flex-wrap items-stretch">
<div class="flex flex-col items-start gap-4">
@if (isset($basicData['sifatBangunan']))
@foreach ($basicData['sifatBangunan'] as $item)
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56 gap-2.5" style="width: 500px">
<input class="checkbox" name="sifat_bangunan[]" type="checkbox"
value="{{ $item->name }}"
{{ in_array($item->name, old('sifat_bangunan', $forminspeksi['bangunan']['sifat_bangunan'] ?? [])) ? 'checked' : '' }} />
{{ $item->name }}
</label>
<input type="text" name="sifat_bangunan_input[]" class="input w-full"
id="sifat_bangunan" placeholder="Masukkan {{ $item->name }}..."
value="{{ old('sifat_bangunan_input.' . $loop->index, $forminspeksi['bangunan']['sifat_bangunan_input'][$loop->index] ?? '') }}">
</div>
@endforeach
@endif
</div>
<em id="error-sifat_bangunan" class="alert text-danger text-sm"></em>
</div>
</div>
<!-- Spek Bangunan -->
<div class="gap-2.5">
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Spek Bangunan</label>
<div class="flex flex-wrap items-baseline w-full" id="spek-bangunan-container">
@if (isset($forminspeksi['bangunan']) && is_array($forminspeksi['bangunan']))
@foreach ($forminspeksi['bangunan']['spesifikasi_bangunan'] as $index => $bangunan)
<div class="spek-bangunan w-full gap-4 mt-5">
<input type="hidden" name="nama_bangunan[]"
value="{{ isset($bangunan['bagunan']) ? $bangunan['bagunan'] : 'Bangunan ' . ($index + 1) }}"
required>
<label
class="building-label form-label">{{ isset($bangunan['bagunan']) ? $bangunan['bagunan'] : 'Bangunan ' . ($index + 1) }}</label>
<div class="grid grid-cols-2 md:grid-cols-3 gap-4 mt-2 w-full">
@if (@isset($basicData['spekKategoriBangunan']))
@foreach ($basicData['spekKategoriBangunan'] as $item)
<div>
<input type="hidden" name="spek_kategori_bangunan[]"
value="{{ $item->name }}">
<label
class="form-label flex items-center gap-3 text-nowrap">{{ $item->name }}</label>
<div class="flex flex-wrap items-baseline w-full">
<div class="flex flex-col items-start gap-4"
style="margin-top: 10px">
@foreach ($basicData['spekBangunan'] as $spek)
@if ($spek->spek_kategori_bangunan_id == $item->id)
<label
class="form-label flex items-center gap-2.5">
<input class="checkbox"
name="spek_bangunan[{{ $index }}][{{ $item->name }}][]"
type="checkbox"
value="{{ $spek->name }}"
{{ isset($bangunan['spek_kategori_bangunan'][$item->name]) &&
in_array($spek->name, $bangunan['spek_kategori_bangunan'][$item->name])
? 'checked'
: '' }} />
{{ $spek->name }}
</label>
@endif
@endforeach
<label class="form-label flex items-center gap-2.5 mt-2">
<input class="input" type="text"
name="spek_bangunan[{{ $index }}][{{ $item->name }}][lainnya]"
placeholder="Lainnya (sebutkan)"
value="{{ isset($bangunan['spek_kategori_bangunan'][$item->name]['lainnya']) ? $bangunan['spek_kategori_bangunan'][$item->name]['lainnya'] : '' }}">
</label>
</div>
<em id="error-spek_bangunan_{{ $item->name }}"
class="alert text-danger text-sm"></em>
</div>
</div>
@endforeach
@endif
</div>
<button type="button"
class="mt-2 btn btn-danger btn-outline btn-xs delete-button"
style="display: none;">Hapus</button>
</div>
@endforeach
@else
<div class="spek-bangunan w-full gap-4 mt-5">
<input type="hidden" name="nama_bangunan[]" value="Bangunan 1" required>
<label class="building-label form-label">Bangunan 1</label>
<div class="grid grid-cols-2 md:grid-cols-3 gap-4 mt-2 w-full">
@if (@isset($basicData['spekKategoriBangunan']))
@foreach ($basicData['spekKategoriBangunan'] as $item)
<div>
<input type="hidden" name="spek_kategori_bangunan[]"
value="{{ $item->name }}">
<label
class="form-label flex items-center gap-3 text-nowrap">{{ $item->name }}</label>
<div class="flex flex-wrap items-baseline w-full">
<div class="flex flex-col items-start gap-4"
style="margin-top: 10px">
@foreach ($basicData['spekBangunan'] as $spek)
@if ($spek->spek_kategori_bangunan_id == $item->id)
<label class="form-label flex items-center gap-2.5">
<input class="checkbox"
name="spek_bangunan[0][{{ $item->name }}][]"
type="checkbox"
value="{{ $spek->name }}" />
{{ $spek->name }}
</label>
@endif
@endforeach
<label class="form-label flex items-center gap-2.5 mt-2">
<input class=input" type="text"
name="spek_bangunan[0][{{ $item->name }}][lainnya]"
placeholder="Lainnya (sebutkan)">
</label>
</div>
<em id="error-spek_bangunan_{{ $item->name }}"
class="alert text-danger text-sm"></em>
</div>
</div>
@endforeach
@endif
</div>
<button type="button" class="mt-2 btn btn-danger btn-outline btn-xs delete-button"
style="display: none;">Hapus</button>
</div>
@endif
</div>
</div>
<div class="flex justify-end">
<button class="btn btn-xs btn-primary" type="button" id="addBagunan">
tambah bangunan
<i class="ki-filled ki-plus"></i>
</button>
</div>
</div>
<!-- Sarana pelengkap -->
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Sarana Pelengkap</label>
<div class="flex-wrap items-stretch">
<div class="flex flex-col items-start gap-4">
@if (isset($basicData['saranaPelengkap']))
@foreach ($basicData['saranaPelengkap'] as $item)
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56 gap-2.5" style="width: 500px">
<input class="checkbox" name="sarana_pelengkap[]" type="checkbox"
value="{{ $item->name }}"
{{ in_array($item->name, (array) old('sarana_pelengkap', $forminspeksi['bangunan']['sarana_pelengkap'] ?? [])) ? 'checked' : '' }} />
{{ $item->name }}
</label>
<input type="text" name="sarana_pelengkap_input[]" class="input w-full"
placeholder="Masukkan {{ $item->name }}..."
value="{{ old('sarana_pelengkap_input.' . $loop->index, $forminspeksi['bangunan']['sarana_pelengkap_input'][$loop->index] ?? '') }}">
</div>
@endforeach
@endif
</div>
<em id="error-sarana_pelengkap" class="alert text-danger text-sm"></em>
</div>
</div>
</div>
</div>
</div>
@push('scripts')
<script>
const spekBangunanContainer = document.getElementById('spek-bangunan-container');
function updateDeleteButtonsVisibility() {
const allDeleteButtons = spekBangunanContainer.querySelectorAll('.delete-button');
allDeleteButtons.forEach(button => {
button.style.display = spekBangunanContainer.querySelectorAll('.spek-bangunan').length > 1 ?
'inline-block' : 'none';
});
}
function updateBuildingLabels() {
const allSpekBangunan = spekBangunanContainer.querySelectorAll('.spek-bangunan');
allSpekBangunan.forEach((div, index) => {
const label = div.querySelector('.building-label');
const nameInput = div.querySelector('input[name^="nama_bangunan"]');
if (label) {
const buildingName = `Bangunan ${index + 1}`;
label.textContent = buildingName;
if (nameInput) {
nameInput.value = buildingName;
}
}
});
}
function updateInputNames(container, index) {
container.querySelectorAll('input').forEach(input => {
if (input.name) {
if (input.name.includes('[')) {
if (input.name.startsWith('spek_bangunan')) {
// Handle spek_bangunan inputs
const matches = input.name.match(/spek_bangunan\[\d+\]\[(.*?)\]/);
if (matches) {
input.name = `spek_bangunan[${index}][${matches[1]}][]`;
}
} else {
// Handle lainnya array inputs
input.name = input.name.replace(/\[\d*\]/, `[${index}]`);
}
}
}
});
}
document.getElementById('addBagunan').addEventListener('click', function() {
const newDiv = spekBangunanContainer.querySelector('.spek-bangunan').cloneNode(true);
const newIndex = spekBangunanContainer.querySelectorAll('.spek-bangunan').length;
// Reset and update inputs
newDiv.querySelectorAll('input').forEach(input => {
if (input.type === 'checkbox') {
input.checked = false;
} else {
input.value = '';
}
});
// Update input names
updateInputNames(newDiv, newIndex);
// Add delete button handler
const deleteButton = newDiv.querySelector('.delete-button');
deleteButton.addEventListener('click', function() {
newDiv.remove();
updateDeleteButtonsVisibility();
updateBuildingLabels();
});
// Append and update UI
spekBangunanContainer.appendChild(newDiv);
updateDeleteButtonsVisibility();
updateBuildingLabels();
});
// Initialize on page load
document.addEventListener('DOMContentLoaded', () => {
updateDeleteButtonsVisibility();
updateBuildingLabels();
// Add delete handlers to existing buttons
spekBangunanContainer.querySelectorAll('.delete-button').forEach(button => {
button.addEventListener('click', function() {
if (spekBangunanContainer.querySelectorAll('.spek-bangunan').length > 1) {
this.closest('.spek-bangunan').remove();
updateDeleteButtonsVisibility();
updateBuildingLabels();
}
});
});
});
</script>
@endpush

View File

@@ -0,0 +1,159 @@
<div class="grid grid-cols-1 lg:grid-cols-2 gap-5 lg:gap-7.5">
@foreach ($permohonan->documents as $dokumen)
@php
$jaminanId = $dokumen->id;
$currentInspeksi = $inspeksiData[$jaminanId] ?? null;
$tanahBangunanTypes = ['KAPAL', 'PESAWAT', 'KENDARAAN', 'ALAT BERAT', 'MESIN'];
$href = [
[
'label' => 'form inspeksi',
'url' =>
route('surveyor.inspeksi', [
'id' => $permohonan->id,
]) . "?dokument={$jaminanId}&jenis_jaminan={$dokumen->jenisJaminan->id}",
'show' => true,
'icon' => !empty($currentInspeksi['data_form']),
],
];
if (!in_array(strtoupper($dokumen->jenisJaminan->name), $tanahBangunanTypes)) {
$denahLabel = strtoupper($dokumen->jenisJaminan->name);
$href[] = [
'label' => 'denah ' . $denahLabel,
'url' =>
route('surveyor.denah', [
'id' => $permohonan->id,
]) . "?dokument={$jaminanId}&jenis_jaminan={$dokumen->jenisJaminan->id}",
'show' => true,
'icon' => !empty($currentInspeksi['denah_form']),
];
}
$href = array_merge($href, [
[
'label' => 'foto',
'url' =>
route('surveyor.foto', [
'id' => $permohonan->id,
]) . "?dokument={$jaminanId}&jenis_jaminan={$dokumen->jenisJaminan->id}",
'show' => true,
'icon' => !empty($currentInspeksi['foto_form']),
],
[
'label' => 'data pembanding',
'url' =>
route('surveyor.data-pembanding', [
'id' => $permohonan->id,
]) . "?dokument={$jaminanId}&jenis_jaminan={$dokumen->jenisJaminan->id}",
'show' => true,
'icon' => !empty($currentInspeksi['data_pembanding']),
],
]);
@endphp
<div class="card border border-agi-100 border-2 border-dashed border-brand-clarity bg-center bg-[length:600px] bg-no-repeat add-new-bg grid gap-5"
style="padding: 20px">
<div class="card-group flex items-center flex-wrap sm:flex-nowrap justify-between py-4 gap-2.5">
<div class="flex items-center gap-3.5">
<div class="relative size-[50px] shrink-0">
<svg class="w-full h-full stroke-brand-clarity fill-light" fill="none" height="48"
viewBox="0 0 44 48" width="44" xmlns="http://www.w3.org/2000/svg">
<path
d="M16 2.4641C19.7128 0.320509 24.2872 0.320508 28 2.4641L37.6506 8.0359C41.3634 10.1795 43.6506 14.141 43.6506 18.4282V29.5718C43.6506 33.859 41.3634 37.8205 37.6506 39.9641L28 45.5359C24.2872 47.6795 19.7128 47.6795 16 45.5359L6.34937 39.9641C2.63655 37.8205 0.349365 33.859 0.349365 29.5718V18.4282C0.349365 14.141 2.63655 10.1795 6.34937 8.0359L16 2.4641Z"
fill=""></path>
<path
d="M16.25 2.89711C19.8081 0.842838 24.1919 0.842837 27.75 2.89711L37.4006 8.46891C40.9587 10.5232 43.1506 14.3196 43.1506 18.4282V29.5718C43.1506 33.6804 40.9587 37.4768 37.4006 39.5311L27.75 45.1029C24.1919 47.1572 19.8081 47.1572 16.25 45.1029L6.59937 39.5311C3.04125 37.4768 0.849365 33.6803 0.849365 29.5718V18.4282C0.849365 14.3196 3.04125 10.5232 6.59937 8.46891L16.25 2.89711Z"
stroke=""></path>
</svg>
<div class="absolute leading-none left-2/4 top-2/4 -translate-y-2/4 -translate-x-2/4">
<i class="ki-filled ki-additem text-2xl text-brand"></i>
</div>
</div>
</div>
<div class="flex items-center gap-2.5">
<span class="flex items-center gap-1.5 leading-none font-medium text-sm text-gray-900">
{{ $dokumen->jenisJaminan->name ?? '' }}
</span>
</div>
</div>
@if (strtolower($permohonan->tujuanPenilaian->name) == 'rap')
<a href="{{ route('surveyor.inspeksi', ['id' => $permohonan->id]) .
'?' .
http_build_query([
'dokument' => $jaminanId,
'jenis_jaminan' => $dokumen->jenisJaminan->id,
]) }}"
class="flex items-center justify-between border border-gray-200 rounded-xl gap-2 px-4 py-4 btn-outline {{ !empty($currentInspeksi['data_form']) ? 'btn-success' : 'btn-primary' }} hover:btn-light">
<div class="flex items-center gap-3.5">
<div class="flex flex-col">
<h1 class="text-sm font-medium text-gray-900 mb-px uppercase">
Form Inspeksi RAP
</h1>
</div>
</div>
<div class="flex items-center gap-5">
<div class="flex gap-0.5">
<div
class="btn btn-sm btn-icon btn-clear {{ !empty($currentInspeksi['data_form']) ? '' : 'btn-light' }}">
<i
class="ki-filled {{ !empty($currentInspeksi['data_form']) ? 'ki-check-circle' : 'ki-notepad-edit' }}"></i>
</div>
</div>
</div>
</a>
<a href="{{ route('surveyor.foto', ['id' => $permohonan->id]) .
'?' .
http_build_query([
'dokument' => $jaminanId,
'jenis_jaminan' => $dokumen->jenisJaminan->id,
]) }}"
class="flex items-center justify-between border border-gray-200 rounded-xl gap-2 px-4 py-4 btn-outline {{ !empty($currentInspeksi['foto_form']) ? 'btn-success' : 'btn-primary' }} hover:btn-light">
<div class="flex items-center gap-3.5">
<div class="flex flex-col">
<h1 class="text-sm font-medium text-gray-900 mb-px uppercase">
Foto
</h1>
</div>
</div>
<div class="flex items-center gap-5">
<div class="flex gap-0.5">
<div
class="btn btn-sm btn-icon btn-clear {{ !empty($currentInspeksi['foto_form']) ? '' : 'btn-light' }}">
<i
class="ki-filled {{ !empty($currentInspeksi['foto_form']) ? 'ki-check-circle' : 'ki-notepad-edit' }}"></i>
</div>
</div>
</div>
</a>
@else
@foreach ($href as $item)
@if ($item['show'])
<a href="{{ $item['url'] }}"
class="flex items-center justify-between border border-gray-200 rounded-xl gap-2 px-4 py-4 btn-outline {{ $item['icon'] ? 'btn-success' : 'btn-primary' }} hover:btn-light">
<div class="flex items-center gap-3.5">
<div class="flex flex-col">
<h1 class="text-sm font-medium text-gray-900 mb-px uppercase">
{{ $item['label'] }}
</h1>
</div>
</div>
<div class="flex items-center gap-5">
<div class="flex gap-0.5">
<div class="btn btn-sm btn-icon btn-clear {{ $item['icon'] ? '' : 'btn-light' }}">
<i
class="ki-filled {{ $item['icon'] ? 'ki-check-circle' : 'ki-notepad-edit' }}"></i>
</div>
</div>
</div>
</a>
@endif
@endforeach
@endif
</div>
@endforeach
</div>

View File

@@ -0,0 +1,821 @@
@extends('layouts.main')
@section('breadcrumbs')
{{ Breadcrumbs::render(request()->route()->getName()) }}
@endsection
@section('content')
<div class="w-full grid gap-5 lg:gap-7.5">
<div class="grid gap-5">
<div class="card-grid min-w-full" data-datatable="false" data-datatable-page-size="10"
data-datatable-state-save="false" id="data-table" data-api-url="">
@php
$processedCategories = [];
$tanahBangunanTypes = ['KAPAL', 'PESAWAT', 'KENDARAAN', 'ALAT BERAT', 'MESIN'];
$dokumentName = null;
@endphp
<form id="dataPembandingForm" method="POST" enctype="multipart/form-data" class="grid gap-5">
@csrf
<input type="hidden" name="permohonan_id" value="{{ $permohonan->id }}">
<input type="hidden" name="dokument_id" value="{{ request('dokument') }}">
<input type="hidden" name="nomor_registrasi" value="{{ $permohonan->nomor_registrasi }}">
<div class="card">
<div class="card-body">
@foreach ($permohonan->debiture->documents as $dokumen)
@if ($dokumen->jenisJaminan)
@php
$dokumentName = $dokumen->jenisJaminan->name;
$formKategori = json_decode($dokumen->jenisJaminan->form_kategori, true);
$kategoriArray = is_array($formKategori) ? $formKategori : [$formKategori];
$kategoriUnik = array_unique($kategoriArray);
@endphp
<input type="hidden" name="action"
value="{{ is_array($formKategori) ? implode(',', $formKategori) : $formKategori }}">
<input type="hidden" name="type" value="{{ implode(',', $kategoriUnik) }}">
@if (!in_array(strtoupper($dokumentName), $tanahBangunanTypes))
@include('lpj::surveyor.components.pembanding-tanah-bangunan-unit')
@else
@include('lpj::surveyor.components.pembanding-kendaraan')
@endif
@endif
@endforeach
</div>
</div>
<div class="card">
<div class="card-body ">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5" style="margin: 20px">
<label class="form-label lg:form-label max-w-56 ">Catatan yang Perlu Diperhatikan
</label>
<div class="w-full">
<div id="keterangan-container" class="flex items-baseline flex-wrap gap-2.5 w-full">
<div class="keterangan flex items-center gap-2 mt-2 textarea-group w-full">
<textarea name="keterangan" class="textarea mt-2" placeholder="Masukkan catatan penting" rows="10">{{ $comparisons['keterangan'] ?? old('keterangan') }}</textarea>
<em id="error-keterangan" class="alert text-danger text-sm"></em>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="card-footer">
<div class="flex justify-end gap-2">
<button type="button" onclick="submitData()" class="btn btn-primary">
<i class="ki-duotone ki-save-2 fs-2"></i>
Simpan
</button>
</div>
</div>
</form>
</div>
</div>
</div>
@endsection
@push('scripts')
@include('lpj::surveyor.js.utils')
<script>
let columnCount = 1;
// Fungsi calculate prices yang diperbaiki
function calculatePrices(type = 'main', index = null) {
let hargaInput, diskonInput, totalInput, hargaDiskonInput;
// Tentukan input berdasarkan tipe (main atau pembanding)
if (type === 'main') {
// hargaPenawaranInput = document.querySelector('input[name="harga_penawaran"]');
hargaInput = document.querySelector('input[name="harga"]');
diskonInput = document.querySelector('input[name="diskon"]');
totalInput = document.querySelector('input[name="total"]');
} else {
const hargaInputs = document.getElementsByName('harga_pembanding[]');
const diskonInputs = document.getElementsByName('diskon_pembanding[]');
const totalInputs = document.getElementsByName('total_pembanding[]');
// Pastikan index valid
if (index !== null && index < hargaInputs.length) {
// hargaPenawaranInput = hargaPenawarans[index]
hargaInput = hargaInputs[index];
diskonInput = diskonInputs[index];
totalInput = totalInputs[index];
// hargaDiskonInput = hargaDiskonInputs[index];
} else {
return; // Keluar jika index tidak valid
}
}
// Validasi input
if (!hargaInput || !diskonInput || !totalInput) {
return;
}
const harga = parseFloat(hargaInput.value.replace(/[^\d]/g, '') || '0');
let diskonInput_value = diskonInput.value.replace(',', '.');
let diskon = parseFloat(diskonInput_value.replace(/[^\d.]/g, '') || '0');
// Batasi diskon maksimal 100%
diskon = Math.min(diskon, 100);
const total = harga;
const hargaPermeterSetelahDiskon = harga - (harga * (diskon / 100))
console.log(hargaPermeterSetelahDiskon);
// Update nilai dengan format currency
totalInput.value = formatCurrency(hargaPermeterSetelahDiskon.toString());
}
// Update fungsi fillPembandingData
function fillPembandingData(data, index) {
if (!data) return;
function setArrayInputValue(name, value, index) {
const element = document.getElementsByName(name)[index];
if (element) {
if (element.tagName === "SELECT") {
const options = Array.from(element.options);
const optionToSelect = options.find(option => option.value === value);
if (optionToSelect) {
optionToSelect.selected = true;
} else {
element.selectedIndex = 0;
}
} else {
// Format currency untuk input harga
if (name.includes('diskon')) {
element.value = value || '0';
} else {
element.value = value || '';
}
}
}
}
const arrayData = ['KAPAL', 'PESAWAT', 'KENDARAAN', 'ALAT BERAT', 'MESIN'];
const dk = @json($dokumentName);
const normalizedDk = dk.replace(/-/g, ' ').toUpperCase();
// Cek apakah arrayData berisi normalizedDk
const useFirstInputs = arrayData.includes(normalizedDk);
const currentData = Array.isArray(data) ? data[index] : data;
const inputs = useFirstInputs ? {
'nama_pembanding[]': currentData.nama,
'type_pembanding[]': currentData.type,
'warna_pembanding[]': currentData.warna,
'lokasi_pembanding[]': currentData.lokasi,
'sumber_data_pembanding[]': currentData.sumber_data,
'tahun_pembanding[]': currentData.tahun,
'transmisi_pembanding[]': currentData.transmisi,
'tahun_pembuatan_pembanding[]': currentData.tahun_pembuatan,
'merek_buatan_pembanding[]': currentData.merek_buatan,
'kapasitas_pembanding[]': currentData.kapasitas,
'power_pembanding[]': currentData.power,
'kondisi_pembanding[]': currentData.kondisi,
'kordinat_lat_pembanding[]': currentData.kordinat_lat,
'kordinat_lng_pembanding[]': currentData.kordinat_lng,
'address_pembanding[]': currentData.address,
'village_code_pembanding[]': currentData.village_code,
'district_code_pembanding[]': currentData.district_code,
'city_code_pembanding[]': currentData.city_code,
'province_code_pembanding[]': currentData.province_code,
'harga_pembanding[]': currentData.harga,
'harga_diskon_pembanding[]': currentData.harga_diskon,
'total_pembanding[]': currentData.total,
'diskon_pembanding[]': currentData.diskon,
'telepon_pembanding[]': currentData.telepon,
// 'penawaran_pembanding[]': currentData.penawaran
} : {
'jenis_aset_pembanding[]': currentData.jenis_aset,
'luas_tanah_pembanding[]': currentData.luas_tanah,
'luas_bangunan_pembanding[]': currentData.luas_bangunan,
'status_nara_sumber_pembanding[]': currentData.status_nara_sumber,
'nama_nara_sumber_pembanding[]': currentData.nama_nara_sumber,
'kordinat_lat_pembanding[]': currentData.kordinat_lat,
'kordinat_lng_pembanding[]': currentData.kordinat_lng,
'address_pembanding[]': currentData.address,
'village_code_pembanding[]': currentData.village_code,
'district_code_pembanding[]': currentData.district_code,
'city_code_pembanding[]': currentData.city_code,
'province_code_pembanding[]': currentData.province_code,
'harga_pembanding[]': currentData.harga,
'harga_diskon_pembanding[]': currentData.harga_diskon,
'total_pembanding[]': currentData.total,
'diskon_pembanding[]': currentData.diskon,
'hak_properti_pembanding[]': currentData.hak_properti,
'telepon_pembanding[]': currentData.telepon,
// 'penawaran_pembanding[]': currentData.penawaran,
'tanggal_pembanding[]': currentData.tanggal,
// 'harga_penawaran_pembanding[]':currentData.harga_penawaran
};
Object.entries(inputs).forEach(([name, value]) => {
setArrayInputValue(name, value, index);
});
// Handle foto objek
if (data.foto_objek) {
const imageId = `uploadedImage${index + 2}`;
const preview = document.getElementById(imageId);
if (preview) {
preview.src = `/storage/${data.foto_objek}`;
preview.classList.remove('hidden');
}
}
// Handle lokasi secara berurutan
if (data.province_code) {
setTimeout(() => {
getCity(data.province_code, index + 1).then(() => {
if (data.city_code) {
setArrayInputValue('city_code_pembanding[]', data.city_code, index);
getDistrict(data.city_code, index + 1).then(() => {
if (data.district_code) {
setArrayInputValue('district_code_pembanding[]', data
.district_code, index);
getVillage(data.district_code, index + 1).then(() => {
if (data.village_code) {
setArrayInputValue('village_code_pembanding[]',
data.village_code, index);
}
});
}
});
}
});
}, 100);
}
// Hitung harga setelah data terisi
setTimeout(() => calculatePrices(index), 200);
}
// Update event listener untuk input harga dan diskon
function initializePriceCalculation() {
// Event listener untuk input utama
const mainHargaInput = document.querySelector('input[name="harga"]');
// const mainHargaPenawaranInput = document.querySelector('input[name="harga_penawaran"]');
const mainDiskonInput = document.querySelector('input[name="diskon"]');
if (mainHargaInput) {
mainHargaInput.addEventListener('input', () => calculatePrices('main'));
}
// if (mainHargaPenawaranInput) {
// mainHargaPenawaranInput.addEventListener('input', () => calculatePrices('main'));
// }
if (mainDiskonInput) {
mainDiskonInput.addEventListener('input', () => calculatePrices('main'));
}
// Event listener untuk input pembanding
const pembandingHargaInputs = document.getElementsByName('harga_pembanding[]');
// const pembandingHargaPenawaranInput = document.getElementsByName('harga_penawaran_pembanding[]');
const pembandingDiskonInputs = document.getElementsByName('diskon_pembanding[]');
pembandingHargaInputs.forEach((input, index) => {
input.addEventListener('input', () => calculatePrices('pembanding', index));
});
// pembandingHargaPenawaranInput.forEach((input, index) => {
// input.addEventListener('input', () => calculatePrices('pembanding', index));
// });
pembandingDiskonInputs.forEach((input, index) => {
input.addEventListener('input', () => calculatePrices('pembanding', index));
});
}
document.addEventListener('DOMContentLoaded', function() {
try {
const inspectionData = {!! isset($inspectionData) ? json_encode($inspectionData) : 'null' !!};
const comparisons = {!! isset($comparisons) ? json_encode($comparisons) : 'null' !!};
console.log('inspectionData:', inspectionData);
console.log('comparisons:', comparisons);
initializeFirstPembandingListeners();
ensureLocationEventListeners();
initializePriceCalculation();
if (comparisons) {
comparisons.data_pembanding.forEach((comparison, index) => {
if (index > 0) {
addColumn();
}
fillPembandingData(comparison, index);
});
}
updateRemoveButtonVisibility();
initializeEventListeners();
} catch (error) {
console.error('Error initializing form:', error);
}
});
function addColumn() {
columnCount++;
const table = document.getElementById('dataTable');
const headerRow = table.querySelector('thead tr');
const bodyRows = table.querySelectorAll('tbody tr');
const newHeader = document.createElement('th');
newHeader.className = 'px-4 py-3 min-w-[250px]';
newHeader.textContent = `Data Pembanding ${columnCount}`;
headerRow.appendChild(newHeader);
bodyRows.forEach(row => {
const newCell = document.createElement('td');
newCell.className = 'px-4 py-2';
const firstInputCell = row.querySelector('td:last-child');
if (firstInputCell) {
const clonedContent = firstInputCell.innerHTML;
newCell.innerHTML = clonedContent;
const inputs = newCell.querySelectorAll('input, select, textarea');
inputs.forEach((input) => {
if (input.type === 'file') {
const newImageId = `uploadedImage${columnCount + 1}`;
const preview = newCell.querySelector('img');
if (preview) {
preview.id = newImageId;
preview.classList.add('hidden');
input.onchange = function() {
const file = this.files[0];
if (file) {
const validExtensions = ['image/jpeg', 'image/png', 'image/gif',
'image/webp'
];
if (validExtensions.includes(file.type)) {
previewImage(this, newImageId);
} else {
Swal.fire({
icon: 'error',
title: 'Format Tidak Didukung',
text: 'Hanya file gambar dengan format JPG, PNG, GIF, atau WEBP yang diperbolehkan.',
position: 'top-end',
toast: true,
showConfirmButton: false,
timer: 3000,
timerProgressBar: true
});
this.value = '';
}
}
};
}
}
if (input.tagName === 'SELECT') {
const baseId = input.id.replace(/_\d+$/, '').replace('_pembanding', '');
const newId = `${baseId}_pembanding_${columnCount}`;
input.id = newId;
if (input.name.includes('jenis_aset')) {
const originalOptions = document.querySelector(
'select[name="jenis_aset_pembanding[]"]').innerHTML;
input.innerHTML = originalOptions;
} else if (!input.id.includes('province')) {
// Reset opsi untuk select lokasi
input.innerHTML = `<option value="">Pilih ${
input.id.includes('city') ? 'Kota/Kabupaten' :
input.id.includes('district') ? 'Kecamatan' :
'Desa/Kelurahan'
}</option>`;
}
if (input.id.includes('province')) {
input.onchange = function() {
handleProvinceChange(this);
};
} else if (input.id.includes('city')) {
input.onchange = function() {
handleCityChange(this);
};
} else if (input.id.includes('district')) {
input.onchange = function() {
handleDistrictChange(this);
};
}
}
if (input.type !== 'file' && input.tagName !== 'SELECT') {
input.value = '';
}
if (input.classList.contains('currency-format')) {
input.addEventListener('input', function() {
handleCurrencyInput(this);
// Calculate prices if needed
if (input.name.includes('harga_pembanding') ||
input.name.includes('diskon_pembanding')) {
const inputs = document.getElementsByName(input.name);
const index = Array.from(inputs).indexOf(this);
calculatePrices('pembanding', index);
}
});
}
// Specific handling for discount to limit to 100%
if (input.name.includes('diskon_pembanding')) {
input.addEventListener('input', function() {
let value =
this.value = value.toString();
});
}
});
}
row.appendChild(newCell);
});
initializePriceCalculation();
updateRemoveButtonVisibility();
}
function handleCurrencyInput(input) {
const value = input.value.replace(/[^\d]/g, '');
input.value = formatCurrency(value);
}
function removeColumn() {
if (columnCount > 1) {
const table = document.getElementById('dataTable');
const rows = table.querySelectorAll('tr');
rows.forEach(row => {
row.deleteCell(-1);
});
columnCount--;
updateRemoveButtonVisibility();
}
}
function updateRemoveButtonVisibility() {
const removeBtn = document.getElementById('removeColumnBtn');
if (removeBtn) {
removeBtn.style.display = columnCount > 1 ? 'inline-flex' : 'none';
}
}
function initializeEventListeners() {
document.getElementById('addColumnBtn').addEventListener('click', addColumn);
document.getElementById('removeColumnBtn').addEventListener('click', removeColumn);
reinitializeEventListeners();
}
function reinitializeEventListeners() {
// Event listener yang sudah ada
document.querySelectorAll('.currency-format').forEach(input => {
input.addEventListener('input', function() {
formatCurrency(this);
});
});
document.querySelectorAll('.number-format').forEach(input => {
input.addEventListener('input', function() {
formatNumber(this);
});
});
// Tambahkan kalkulasi harga
initializePriceCalculation();
// Location event listeners
ensureLocationEventListeners();
}
function initializeCurrencyFormat() {
document.querySelectorAll('.currency-format').forEach(input => {
input.addEventListener('input', function() {
formatCurrency(this);
});
});
}
function initializeFirstPembandingListeners() {
const firstProvinceSelect = document.getElementById('province_code_pembanding');
if (firstProvinceSelect) {
firstProvinceSelect.addEventListener('change', function() {
const provinceId = this.value;
if (provinceId) {
getCity(provinceId, 1);
}
});
}
const firstCitySelect = document.getElementById('city_code_pembanding');
if (firstCitySelect) {
firstCitySelect.addEventListener('change', function() {
const cityId = this.value;
if (cityId) {
getDistrict(cityId, 1);
}
});
}
const firstDistrictSelect = document.getElementById('district_code_pembanding');
if (firstDistrictSelect) {
firstDistrictSelect.addEventListener('change', function() {
const districtId = this.value;
if (districtId) {
getVillage(districtId, 1);
}
});
}
}
function ensureLocationEventListeners() {
document.querySelectorAll('[id^="province_code_pembanding"]').forEach(select => {
select.onchange = function() {
handleProvinceChange(this);
};
});
document.querySelectorAll('[id^="city_code_pembanding"]').forEach(select => {
select.onchange = function() {
handleCityChange(this);
};
});
document.querySelectorAll('[id^="district_code_pembanding"]').forEach(select => {
select.onchange = function() {
handleDistrictChange(this);
};
});
}
function handleProvinceChange(provinceSelect) {
const provinceId = provinceSelect.value;
let columnIndex;
if (provinceSelect.id === 'province_code_pembanding') {
columnIndex = 1;
} else {
columnIndex = provinceSelect.id.split('_').pop();
}
if (provinceId) {
getCity(provinceId, columnIndex);
}
}
function handleCityChange(citySelect) {
const cityId = citySelect.value;
let columnIndex;
if (citySelect.id === 'city_code_pembanding') {
columnIndex = 1;
} else {
columnIndex = citySelect.id.split('_').pop();
}
if (cityId) {
getDistrict(cityId, columnIndex);
}
}
function handleDistrictChange(districtSelect) {
const districtId = districtSelect.value;
let columnIndex;
if (districtSelect.id === 'district_code_pembanding') {
columnIndex = 1;
} else {
columnIndex = districtSelect.id.split('_').pop();
}
if (districtId) {
getVillage(districtId, columnIndex);
}
}
async function getCity(provinceId, columnIndex) {
try {
const response = await fetch(`/locations/cities/province/${provinceId}`);
const data = await response.json();
const cityDropdown = columnIndex === 1 ?
document.getElementById('city_code_pembanding') :
document.getElementById(`city_code_pembanding_${columnIndex}`);
if (cityDropdown) {
cityDropdown.innerHTML = '<option value="">Pilih Kota/Kabupaten</option>';
data.forEach(city => {
cityDropdown.innerHTML += `<option value="${city.code}">${city.name}</option>`;
});
}
} catch (error) {
console.error('Error fetching cities:', error);
}
}
async function getDistrict(cityId, columnIndex) {
try {
const response = await fetch(`/locations/districts/city/${cityId}`);
const data = await response.json();
const districtDropdown = columnIndex === 1 ?
document.getElementById('district_code_pembanding') :
document.getElementById(`district_code_pembanding_${columnIndex}`);
if (districtDropdown) {
districtDropdown.innerHTML = '<option value="">Pilih Kecamatan</option>';
data.forEach(district => {
districtDropdown.innerHTML +=
`<option value="${district.code}">${district.name}</option>`;
});
}
} catch (error) {
console.error('Error fetching districts:', error);
}
}
async function getVillage(districtId, columnIndex) {
try {
const response = await fetch(`/locations/villages/district/${districtId}`);
const data = await response.json();
const villageDropdown = columnIndex === 1 ?
document.getElementById('village_code_pembanding') :
document.getElementById(`village_code_pembanding_${columnIndex}`);
if (villageDropdown) {
villageDropdown.innerHTML = '<option value="">Pilih Desa/Kelurahan</option>';
data.forEach(village => {
villageDropdown.innerHTML += `<option value="${village.code}">${village.name}</option>`;
});
}
} catch (error) {
console.error('Error fetching villages:', error);
}
}
function submitData() {
showLoadingSwal('Mengirim data ke server...');
const form = document.querySelector('form');
const formData = new FormData(form);
console.log('Form data entries:', Array.from(formData.entries()));
$.ajax({
url: '{{ route('surveyor.storeDataPembanding') }}',
type: 'POST',
data: formData,
processData: false,
contentType: false,
headers: {
'X-CSRF-TOKEN': '{{ csrf_token() }}'
},
success: function(result) {
hideLoadingSwal();
console.log(result);
if (result.success) {
Swal.fire({
title: 'Berhasil!',
text: result.message,
icon: 'success',
confirmButtonText: 'OK'
}).then((result) => {
if (result.isConfirmed) {
if ("{{ Request::is('penilai/show-data-pembanding/*/edit') }}") {
console.log(
'Current route matches');
} else {
// window.location.href =
// "{{ route('surveyor.show', ['id' => $permohonan->id]) }}";
}
}
});
} else {
Swal.fire({
title: 'Error!',
text: result.message || 'Terjadi kesalahan',
icon: 'error',
confirmButtonText: 'OK'
});
}
},
error: function(xhr, status, error) {
hideLoadingSwal();
const response = JSON.parse(xhr.responseText);
console.error('Error:', response.message);
Swal.fire({
title: 'Error!',
text: response.message || 'Terjadi kesalahan',
icon: 'error',
confirmButtonText: 'OK'
});
}
});
}
document.addEventListener('DOMContentLoaded', function() {
// Initialize currency format for existing inputs
document.querySelectorAll('.currency-format').forEach(input => {
input.addEventListener('input', function() {
handleCurrencyInput(this);
});
// Format initial values if they exist
if (input.value) {
input.value = formatCurrency(input.value);
}
});
// hide the "Lihat Objek Penilaian" toggle
const tableContainer = document.querySelector('.scrollable-x-auto');
const toggleContainer = document.createElement('div');
toggleContainer.className = 'flex items-center gap-4 mb-4 p-3 bg-gray-50 rounded';
const objekToggle = createCustomSwitch('Lihat Objek Penilaian', false, function(checked) {
toggleColumn(1, checked);
});
toggleContainer.appendChild(objekToggle);
tableContainer.parentNode.insertBefore(toggleContainer, tableContainer);
function createCustomSwitch(label, initialState, onChangeCallback) {
const container = document.createElement('div');
const switchLabel = document.createElement('label');
switchLabel.className = 'switch';
const input = document.createElement('input');
input.name = "check";
input.type = "checkbox";
input.value = "1";
input.checked = initialState;
const span = document.createElement('span');
span.className = 'switch-label';
span.textContent = label;
switchLabel.appendChild(input);
switchLabel.appendChild(span);
container.appendChild(switchLabel);
input.addEventListener('change', function() {
onChangeCallback(this.checked);
});
return container;
}
function toggleColumn(columnIndex, show) {
const table = document.getElementById('dataTable');
const rows = table.querySelectorAll('tr');
rows.forEach(row => {
const cells = row.querySelectorAll('td, th');
if (cells.length === 1 && cells[0].hasAttribute('colspan')) {
return;
}
if (cells[columnIndex]) {
cells[columnIndex].style.display = show ? '' : 'none';
}
});
const headerRow = table.querySelector('thead tr');
const headerCells = headerRow.querySelectorAll('th');
if (headerCells[columnIndex]) {
headerCells[columnIndex].style.display = show ? '' : 'none';
}
}
toggleColumn(1, false);
});
</script>
@endpush

View File

@@ -0,0 +1,418 @@
@extends('layouts.main')
@section('breadcrumbs')
{{ Breadcrumbs::render(request()->route()->getName()) }}
@endsection
@section('content')
<style>
.pdf-preview {
width: 100%;
max-width: 100%;
border: 1px solid #ddd;
margin-top: 10px;
}
</style>
@include('lpj::assetsku.includenya')
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
<div class="card border border-agi-100 min-w-full">
<div class="card-header bg-agi-50">
<h3 class="card-title">Denah</h3>
<div class="flex items-center gap-2">
<a href="{{ route('surveyor.show', ['id' => $permohonan->id]) }}?form=denah" class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back
</a>
</div>
</div>
<div class="mx-8">
@include('lpj::component.detail-jaminan', ['status' => true])
</div>
</div>
<div class="card">
<div class="card-body">
<form id="formDenah" method="POST" enctype="multipart/form-data" class="w-full">
@csrf
<input type="hidden" value="{{ $permohonan->id }}" name="permohonan_id">
<input type="hidden" name="dokument_id" value="{{ request('dokument') }}">
<input type="hidden" name="nomor_registrasi" value="{{ $permohonan->nomor_registrasi }}">
<!-- Container untuk daftar denah -->
<div id="denah-container">
@if (isset($formDenah['denahs']) && is_array($formDenah['denahs']) && count($formDenah['denahs']) > 0)
@foreach ($formDenah['denahs'] as $index => $denah)
<div class="denah-item grid gap-5 mb-5 border p-4 rounded">
<div class="flex flex-wrap gap-4">
<div class="flex w-full items-baseline flex-wrap lg:flex-nowrap gap-4">
<label class="form-label max-w-56">
<span class="form-label">Upload Denah (Foto/PDF)</span>
</label>
<div class="w-full grid gap-5">
<!-- Preview Container -->
<div class="preview-container-{{ $index }}">
@if (isset($denah['foto_denah']))
@php
$fileExtension = pathinfo(
$denah['foto_denah'],
PATHINFO_EXTENSION,
);
@endphp
@if (in_array($fileExtension, ['jpg', 'jpeg', 'png']))
<img src="{{ asset('storage/' . $denah['foto_denah']) }}"
style="max-width: 30rem;">
@elseif($fileExtension === 'pdf')
<embed src="{{ asset('storage/' . $denah['foto_denah']) }}"
type="application/pdf" width="100%" height="500px">
@endif
@endif
</div>
<div class="input-group w-full flex gap-2">
<input type="file" name="foto_denah[]"
class="file-input file-input-bordered w-full"
data-index="{{ $index }}" accept=".jpg,.jpeg,.png,.pdf"
onchange="previewFile(this)">
</div>
</div>
</div>
</div>
<div class="flex flex-wrap lg:flex-nowrap w-full gap-4">
<div class="w-full">
<div class="flex flex-wrap gap-4">
<div class="flex w-full items-center justify-center gap-4">
<label class="form-label max-w-56">
<span class="form-label">Nama Denah</span>
</label>
<input type="text" name="nama_denah[]" class="input w-full"
value="{{ $denah['nama_denah'] ?? '' }}">
</div>
</div>
</div>
<div class="w-full">
<div class="flex flex-wrap gap-4">
<div class="flex w-full items-center justify-center gap-4">
<label class="form-label max-w-56">
<span class="form-label"> Luas</span>
</label>
<input type="text" name="luas_denah[]"
class="input w-full number-format"
value="{{ isset($denah['luas_denah']) ? $denah['luas_denah'] . ' m²' : '' }}"
onkeyup="formatNumber(this)">
</div>
</div>
</div>
@if ($index > 0)
<div class="flex items-center">
<button type="button" class="btn btn-danger remove-denah">
<i class="ki-filled ki-minus"></i>
</button>
</div>
@endif
</div>
</div>
@endforeach
@else
<!-- Tambahkan satu elemen default jika tidak ada data -->
<div class="denah-item grid gap-5 mb-5 border p-4 rounded">
<!-- Isi dengan elemen default seperti sebelumnya -->
<div class="flex flex-wrap gap-4">
<div class="flex w-full items-baseline flex-wrap lg:flex-nowrap gap-4">
<label class="form-label max-w-56">
<span class="form-label">Upload Denah (Foto/PDF)</span>
</label>
<div class="w-full grid gap-5">
<div class="preview-container-0">
<!-- Preview akan ditampilkan di sini -->
</div>
<div class="input-group w-full flex gap-2">
<input type="file" name="foto_denah[]"
class="file-input file-input-bordered w-full" data-index="0"
accept=".jpg,.jpeg,.png,.pdf" onchange="previewFile(this)">
</div>
</div>
</div>
</div>
<div class="flex flex-wrap lg:flex-nowrap w-full gap-4">
<div class="w-full">
<div class="flex flex-wrap gap-4">
<div class="flex w-full items-center justify-center gap-4">
<label class="form-label max-w-56">
<span class="form-label">Nama Denah</span>
</label>
<input type="text" name="nama_denah[]" class="input w-full">
</div>
</div>
</div>
<div class="w-full">
<div class="flex flex-wrap gap-4">
<div class="flex w-full items-center justify-center gap-4">
<label class="form-label max-w-56">
<span class="form-label"> Luas</span>
</label>
<input type="text" name="luas_denah[]" class="input w-full number-format"
onkeyup="formatNumber(this)">
</div>
</div>
</div>
</div>
</div>
@endif
</div>
<div class="w-full p-4">
<div class="flex flex-wrap gap-4">
<div class="flex w-full items-center justify-center gap-4">
<label class="form-label max-w-56">
<span class="form-label">Total Luas</span>
</label>
<input type="text" name="total_luas" id="totalLuas" class="input w-full number-format" readonly>
</div>
</div>
</div>
<div class="flex justify-end gap-2" style="margin-right: 20px; margin-top: 20px">
<button type="button" class="btn btn-success" id="saveButton" onclick="submitDenah()">
<span id="saveButtonText">Save</span>
</button>
<button class="btn btn-primary" type="button" id="tambahDenah">
Tambah Denah
</button>
</div>
</form>
</div>
</div>
</div>
@endsection
@push('scripts')
@include('lpj::surveyor.js.utils')
<script>
const datas = @json($denah);
let denahIndex = 1; // Mulai dari 1 karena sudah ada satu elemen default
document.addEventListener('DOMContentLoaded', function() {
// Format number input
document.querySelectorAll('.number-format').forEach(input => {
input.addEventListener('input', function() {
formatNumber(this);
});
input.addEventListener('focus', function() {
if (this.value === 'm²') {
this.setSelectionRange(0, 0); // Kursor di awal
}
});
});
// Tambah Denah
document.getElementById('tambahDenah').addEventListener('click', function() {
const denahContainer = document.getElementById('denah-container');
const newDenah = createDenahElement(denahIndex);
denahContainer.appendChild(newDenah);
denahIndex++;
const newInputs = newDenah.querySelectorAll('.number-format');
newInputs.forEach(input => {
input.addEventListener('input', function() {
formatNumber(this);
});
input.addEventListener('focus', function() {
if (this.value === 'm²') {
this.setSelectionRange(0, 0); // Kursor di awal
}
});
});
});
// Event delegation untuk tombol hapus denah
document.getElementById('denah-container').addEventListener('click', function(e) {
if (e.target.closest('.remove-denah')) {
e.target.closest('.denah-item').remove();
}
});
});
function calculateTotalLuas() {
let totalLuas = 0;
const luasInputs = document.querySelectorAll('input[name="luas_denah[]"]');
luasInputs.forEach(input => {
const value = parseFloat(input.value.replace(/[^0-9.]/g, ''));
if (!isNaN(value)) {
totalLuas += value;
}
});
const totalLuasInput = document.getElementById('totalLuas');
totalLuasInput.value = totalLuas ? `${totalLuas.toLocaleString()} m²` : '';
}
// Tambahkan event listener untuk setiap input luas_denah[]
document.addEventListener('input', function (e) {
if (e.target && e.target.name === 'luas_denah[]') {
calculateTotalLuas();
}
});
// Jalankan hitung ulang saat halaman dimuat (jika ada nilai default)
document.addEventListener('DOMContentLoaded', calculateTotalLuas);
function createDenahElement(index) {
const denahItem = document.createElement('div');
denahItem.className = 'denah-item grid gap-5 mb-5 border p-4 rounded';
denahItem.innerHTML = `
<div class="flex flex-wrap gap-4">
<div class="flex w-full items-baseline flex-wrap lg:flex-nowrap gap-4">
<label class="form-label max-w-56">
<span class="form-label">Upload Denah (Foto/PDF)</span>
</label>
<div class="w-full grid gap-5">
<div class="preview-container-${index}">
<!-- Preview akan ditampilkan di sini -->
</div>
<div class="input-group w-full flex gap-2">
<input type="file" name="foto_denah[]"
class="file-input file-input-bordered w-full"
data-index="${index}"
accept=".jpg,.jpeg,.png,.pdf"
onchange="previewFile(this)">
</div>
</div>
</div>
</div>
<div class="flex flex-wrap lg:flex-nowrap w-full gap-4">
<div class="w-full">
<div class="flex flex-wrap gap-4">
<div class="flex w-full items-center justify-center gap-4">
<label class="form-label max-w-56">
<span class="form-label">Nama Denah</span>
</label>
<input type="text" name="nama_denah[]" class="input w-full">
</div>
</div>
</div>
<div class="w-full">
<div class="flex flex-wrap gap-4">
<div class="flex w-full items-center justify-center gap-4">
<label class="form-label max-w-56">
<span class="form-label"> Luas</span>
</label>
<input type="text" name="luas_denah[]"
class="input w-full number-format"
onkeyup="formatNumber(this)">
</div>
</div>
</div>
<div class="flex items-center">
<button type="button" class="btn btn-danger remove-denah">
<i class="ki-filled ki-minus"></i>
</button>
</div>
</div>
`;
return denahItem;
}
function previewFile(input) {
const index = input.getAttribute('data-index');
const previewContainer = document.querySelector(`.preview-container-${index}`);
const file = input.files[0];
// Hapus preview sebelumnya
previewContainer.innerHTML = '';
if (file) {
if (file.type.startsWith('image/')) {
// Jika file adalah gambar
const img = document.createElement('img');
img.style.maxWidth = '30rem';
const reader = new FileReader();
reader.onload = function(e) {
img.src = e.target.result;
}
reader.readAsDataURL(file);
previewContainer.appendChild(img);
} else if (file.type === 'application/pdf') {
// Jika file adalah PDF
const pdfEmbed = document.createElement('embed');
pdfEmbed.src = URL.createObjectURL(file);
pdfEmbed.type = 'application/pdf';
pdfEmbed.width = '100%';
pdfEmbed.height = '500px';
pdfEmbed.className = 'pdf-preview';
previewContainer.appendChild(pdfEmbed);
}
}
}
function submitDenah() {
showLoadingSwal('Mengirim data ke server...');
document.querySelectorAll('.number-format').forEach(input => {
if (input.value.includes('m²')) {
input.value = input.value.replace('m²', '').trim();
}
});
const formElement = $('#formDenah')[0];
const formData = new FormData(formElement);
$.ajax({
url: '{{ route('surveyor.storeDenah') }}',
type: 'POST',
data: formData,
processData: false,
contentType: false,
headers: {
'X-CSRF-TOKEN': '{{ csrf_token() }}'
},
success: function(response) {
if (response.success) {
hideLoadingSwal();
Swal.fire({
title: 'Berhasil!',
text: response.message,
icon: 'success',
confirmButtonText: 'OK'
}).then((response) => {
if (response.isConfirmed) {
// window.location.href =
// '{{ route('surveyor.show', ['id' => $permohonan->id]) }}';
}
});
} else {
Swal.fire({
title: 'Error!',
text: response.message || 'Terjadi kesalahan',
icon: 'error',
confirmButtonText: 'OK'
});
}
},
error: function(xhr, status, error) {
let errors = xhr.responseJSON?.errors;
$('.alert').text('');
if (errors) {
$.each(errors, function(key, value) {
$(`#error-${key}`).text(value[0]);
});
}
hideLoadingSwal();
toastrErrorBuild(error);
},
});
}
</script>
@endpush

View File

@@ -0,0 +1,222 @@
{{-- analisa fakta --}}
<div class="card border border-agi-100 rounded-lg overflow-hidden">
<div class="card-header light:bg-agi-50">
<h3 class="card-title uppercase">
Analisa Fakta
</h3>
</div>
<div class="card-body">
<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>
<div id="fakta-positif-container" class="flex flex-wrap items-baseline w-full">
@if (!empty($forminspeksi['fakta']['fakta_positif']))
@foreach ($forminspeksi['fakta']['fakta_positif'] as $index => $positif)
<div class="fakta_positif flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="fakta_positif[]" rows="10">{{ old("fakta_positif.$index", $positif) }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button"
style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@endforeach
@else
<div class="fakta_positif flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="fakta_positif[]" rows="10">{{ old('fakta_positif.0', '') }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button" style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@endif
<button type="button" class="btn btn-primary btn-sm mt-5"
onclick="addClonableItem('fakta-positif-container', 'fakta_positif')">
<i class="ki-outline ki-plus"></i>
</button>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Faktor Negatif</label>
<div id="fakta-negatif-container" class="flex flex-wrap items-baseline w-full">
@if (!empty($forminspeksi['fakta']['fakta_negatif']))
@foreach ($forminspeksi['fakta']['fakta_negatif'] as $index => $negatif)
<div class="fakta_negatif flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="fakta_negatif[]" rows="10">{{ old("fakta_negatif.$index", $negatif) }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button"
style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@endforeach
@else
<div class="fakta_negatif flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="fakta_negatif[]" rows="10">{{ old('fakta_negatif.0', $forminspeksi['fakta']['fakta_negatif'][0] ?? '') }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button" style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
<em id="error-fakta_negatif" class="alert text-danger text-sm"></em>
</div>
@endif
<button type="button" class="btn btn-primary btn-sm mt-5"
onclick="addClonableItem('fakta-negatif-container', 'fakta_negatif')">
<i class="ki-outline ki-plus"></i>
</button>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Rute Menuju</label>
<div class="flex flex-wrap items-baseline w-full">
<textarea class="textarea mt-2" name="rute_menuju" rows="10">{{ old('rute_menuju.0', $forminspeksi['fakta']['rute_menuju'] ?? '') }}</textarea>
<em id="error-rute_menuju" class="alert text-danger text-sm"></em>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Batas Batas</label>
<div class="flex flex-wrap items-baseline w-full">
<div class="grid grid-cols-1 gap-4 items-center w-full">
@if (isset($basicData['arahMataAngin']))
@foreach ($basicData['arahMataAngin'] as $item)
@php
$isChecked = in_array(
$item->name,
old('batas_batas', $forminspeksi['fakta']['batas_batas'] ?? []),
);
$inputValue = old(
'batas_batas_input.' . $item->name,
$forminspeksi['fakta']['batas_batas_input'][$item->name] ?? '',
);
@endphp
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56 gap-2.5" style="width: 500px">
<input class="checkbox" name="batas_batas[]" type="checkbox"
value="{{ $item->name }}" {{ $isChecked ? 'checked' : '' }} />
{{ $item->name }}
</label>
<input type="text" name="batas_batas_input[{{ $item->name }}]"
class="input w-full" placeholder="Masukkan Batas {{ $item->name }}..."
value="{{ $inputValue }}">
</div>
@endforeach
@endif
</div>
<em id="error-batas_batas" class="alert text-danger text-sm"></em>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Kondisi lain terkait lingkungan</label>
<div class="flex flex-wrap items-baseline w-full" id="kondisi-lingkungan-container">
@if (!empty($forminspeksi['fakta']['kondisi_lingkungan']))
@foreach ($forminspeksi['fakta']['kondisi_lingkungan'] as $index => $kondisi_lingkungan)
<div class="kondisi_lingkungan flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="kondisi_lingkungan[]" rows="10">{{ old("kondisi_lingkungan.$index", $kondisi_lingkungan) }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button"
style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@endforeach
@else
<div class="kondisi_lingkungan flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="kondisi_lingkungan[]" rows="10" placeholder="Tambahkan keterangan">
{{ old('kondisi_lingkungan.0', $forminspeksi['fakta']['kondisi_lingkungan'][0] ?? '') }}
</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button" style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
<em id="error-kondisi_lingkungan" class="alert text-danger text-sm"></em>
</div>
@endif
<button class="btn btn-primary btn-sm mt-5" type="button"
onclick="addClonableItem('kondisi-lingkungan-container', 'kondisi_lingkungan')">
<i class="ki-outline ki-plus"></i>
</button>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Kondisi lain terkait Bangunan</label>
<div id="kondisi-lain-bangunan-container" class="flex flex-wrap items-baseline w-full">
@if (!empty($forminspeksi['fakta']['kondisi_lain_bangunan']))
@foreach ($forminspeksi['fakta']['kondisi_lain_bangunan'] as $index => $kondisi_lain_bangunan)
<div class="kondisi_lain_bangunan flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="kondisi_lain_bangunan[]" rows="10">{{ old("kondisi_lain_bangunan.$index", $kondisi_lain_bangunan) }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button"
style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@endforeach
@else
<div class="kondisi_lain_bangunan flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="kondisi_lain_bangunan[]" rows="10">{{ old('kondisi_lain_bangunan.0', $forminspeksi['fakta']['kondisi_lain_bangunan'][0] ?? '') }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button"
style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
<em id="error-kondisi_lain_bangunan" class="alert text-danger text-sm"></em>
</div>
@endif
<button type="button"
onclick="addClonableItem('kondisi-lain-bangunan-container', 'kondisi_lain_bangunan')"
class="btn btn-primary btn-sm mt-5 ">
<i class="ki-outline ki-plus"></i>
</button>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Informasi Terkait Dokumen</label>
<div id="informasi-dokument-container" class="flex flex-wrap items-baseline w-full">
@php
$informasi_dokument = isset($forminspeksi['fakta']['informasi_dokument'])
? (array) $forminspeksi['fakta']['informasi_dokument']
: [];
@endphp
@if (!empty($informasi_dokument))
@foreach ($informasi_dokument as $index => $document)
<div class="informasi_dokument flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="informasi_dokument[]" rows="10">{{ old("informasi_dokument.$index", $document) }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button"
style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@endforeach
@else
<div class="informasi_dokument flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="informasi_dokument[]" rows="10">{{ old('informasi_dokument.0', isset($forminspeksi['fakta']['informasi_dokument'][0]) ? $forminspeksi['fakta']['informasi_dokument'][0] : '') }}
</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button"
style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
<em id="error-informasi_dokument" class="alert text-danger text-sm"></em>
</div>
@endif
<button class="btn btn-primary btn-sm mt-5" type="button"
onclick="addClonableItem('informasi-dokument-container', 'informasi_dokument')">
<i class="ki-outline ki-plus"></i>
</button>
</div>
</div>
</div>
</div>
</div>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,615 @@
<div class=" card w-full border-agi-100 rounded-lg shadow-md ">
<div class="card-header light:bg-agi-50">
@php
$title = $title ?? 'Form Inspeksi';
@endphp
<h3 class="card-title uppercase">
{{ $title }}
</h3>
<div class="flex items-center gap-2">
@php
use Illuminate\Support\Facades\Route;
@endphp
@if (isset($id))
<a href="{{ route($backLink, ['id' => $id]) }}" class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back
</a>
@else
@if (Auth::user()->hasAnyRole(['administrator', 'senior-officer', 'EO Appraisal', 'DD Appraisal']) &&
Request::is('otorisator/show/*/Pelaporan'))
<a href="{{ route('otorisator.show', ['id' => $permohonan->id, 'type' => 'Pelaporan']) }}"
class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back
</a>
@elseif (Auth::user()->hasAnyRole(['administrator', 'surveyor', 'penilai']))
@if (Request::is('surveyor/inspeksi/*/create') && request()->has('dokument') && request()->has('jenis_jaminan'))
<a href="{{ route('surveyor.show', $permohonan->id) }}" class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back
</a>
@elseif (Request::is('penilai/*/*'))
<a href="{{ route('penilai.show', $permohonan->id) }}" class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back
</a>
@endif
@endif
@endif
{{-- <a href="{{ route('surveyor.show', ['id' => request('inspeksi')]) }}" class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back
</a> --}}
</div>
</div>
<div class="card-body">
<div class="grid gap-5 grid-cols-2">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Tujuan Penilaian</label>
<div class="flex flex-wrap items-baseline w-full">
@if (isset($permohonan->tujuanPenilaian))
<p class="text-2sm text-gray-700">{{ $permohonan->tujuanPenilaian->name }}</p>
@endif
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Tanggal Survey</label>
<div class="flex flex-wrap items-base line w-full">
<p class="text-2sm text-gray-700">{{ $permohonan->created_at->format('d/m/Y') }}</p>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Cab/Direktorat</label>
<div class="flex flex-wrap items-baseline w-full">
@if (isset($permohonan->branch))
<p class="text-2sm text-gray-700">{{ $permohonan->branch->name }}</p>
@endif
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">AO</label>
<div class="flex flex-wrap items-baseline w-full">
@if (isset($permohonan->user))
<p class="text-2sm text-gray-700">{{ $permohonan->user->name }}</p>
@endif
</div>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5" style="margin-top: 20px">
<label class="form-label max-w-56">Debitur/Perwakilan</label>
@if (isset($forminspeksi['asset']['debitur_perwakilan']) && !empty($forminspeksi['asset']['debitur_perwakilan']))
<div id="perwakilan" class="flex flex-wrap items-baseline w-full gap-5">
@foreach ($forminspeksi['asset']['debitur_perwakilan'] as $key => $item)
<div class="perwakilan flex flex-wrap w-full items-baseline gap-2 ">
<input type="text" class="input form-control" name="debitur_perwakilan[]"
value="{{ old('debitur_perwakilan.' . $key, $item) }}"
placeholder="Masukkan Debitur/Perwakilan" />
<button type="button" class="btn btn-danger btn-outline btn-xs remove-btn">Hapus</button>
</div>
@endforeach
</div>
@else
<div id="perwakilan" class="flex flex-wrap items-baseline w-full gap-5">
<div class="perwakilan flex flex-wrap w-full items-baseline gap-2 ">
<input type="text" class="input form-control" name="debitur_perwakilan[]"
value="{{ old('debitur_perwakilan') }}" placeholder="Masukkan Debitur/Perwakilan" />
<button type="button" class="btn btn-danger btn-outline btn-xs remove-btn"
style="display: none">Hapus
</button>
</div>
</div>
@endif
<button onclick="addClonableItem('perwakilan', 'perwakilan')" type="button" class="btn-md btn btn-primary">
<i class="ki-filled ki-plus"></i>
</button>
<em id="error-debitur_perwakilan" class="alert text-danger text-sm"></em>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5" style="margin-top: 20px">
<label class="form-label max-w-56">Pihak Bank</label>
<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"
value="{{ old('pihak_bank', isset($forminspeksi['asset']['pihak_bank']) ? $forminspeksi['asset']['pihak_bank'] : '') }}">
</div>
</div>
</div>
</div>
</div>
<div class="card border border-agi-100 w-full rounded-lg shadow-md overflow-hidden">
<div class="card-header light:bg-agi-50">
<h1 class="text-md font-medium text-gray-900 uppercase">Nama Cadeb/Debitur</h1>
</div>
<div class="card-body">
<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">Nama</label>
<div class="flex flex-wrap items-baseline w-full">
@if (isset($permohonan->debiture))
<p class="text-2sm text-gray-700">{{ $permohonan->debiture->name }}</p>
@endif
</div>
</div>
</div>
</div>
</div>
<div class="card border border-agi-100 w-full rounded-lg shadow-md ">
<div class="card-header light:bg-agi-50">
<h1 class="text-md font-medium text-gray-900 uppercase">Deskripsi Aset jaminan</h1>
</div>
<div class="card-body">
<div class="grid gap-5 w-full">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Jenis Aset</label>
<div>
<div class="flex flex-wrap items-baseline w-full">
@if (isset($permohonan->documents))
@foreach ($permohonan->documents as $item)
<p class="text-2sm text-gray-700">{{ $item->jenisJaminan->name }}</p>
<input type="hidden" name="jenis_asset_name" value="{{ $item->jenisJaminan->name }}">
@endforeach
@endif
</div>
<div class="flex-wrap items-stretch">
<div class="grid grid-cols-3 md:grid-cols-3 gap-4 mt-2">
<label class="form-label flex items-center gap-3 text-nowrap">
<input onclick="toggleFieldVisibility('jenis_asset', 'jenis_asset', ['tidak sesuai'])"
type="radio" class="radio" name="jenis_asset" value="sesuai"
{{ isset($forminspeksi['asset']['jenis_asset']['sesuai']) ? 'checked' : '' }}>
<span class="ml-2">Ya</span>
</label>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input onclick="toggleFieldVisibility('jenis_asset', 'jenis_asset', ['tidak sesuai'])"
type="radio" class="radio" name="jenis_asset" value="tidak sesuai"
{{ isset($forminspeksi['asset']['jenis_asset']['tidak sesuai']) ? 'checked' : '' }}>
<span class="ml-2">Tidak</span>
</label>
<!-- Select dropdown untuk "Tidak Sesuai" -->
@php
$statusKey = isset($forminspeksi['asset']['jenis_asset']['sesuai'])
? 'sesuai'
: 'tidak sesuai';
$selectedValue = $forminspeksi['asset']['jenis_asset'][$statusKey] ?? null;
@endphp
<div id="jenis_asset" class="flex items-baseline gap-2"
style="{{ old('jenis_asset_tidak_sesuai', isset($forminspeksi['asset']['jenis_asset']['tidak sesuai'])) ? '' : 'display: none;' }}">
<select id="jenis_asset_tidak_sesuai" class="input w-full"
name="jenis_asset_tidak_sesuai" onchange="handleJenisAssetChange(this)">
<option value="">Pilih Jenis Aset</option>
@if (isset($basicData['jenisJaminan']))
@foreach ($basicData['jenisJaminan'] as $item)
<option value="{{ $item->name }}"
{{ old('jenis_asset_tidak_sesuai', $selectedValue) == $item->name ? 'selected' : '' }}>
{{ old('jenis_asset_tidak_sesuai', $selectedValue) == $item->name ? 'selected' : '' }}>
{{ $item->name }}
</option>
@endforeach
@endif
</select>
</div>
<!-- Input untuk "Lainnya" -->
<input id="jenis_asset_lainnya" type="text" name="jenis_asset_lainnya"
class="input w-full mt-2" placeholder="Masukkan Jenis Aset Lainnya..."
value="{{ old('jenis_asset_lainnya', isset($forminspeksi['asset']['jenis_asset']['Lainnya']) ? $forminspeksi['asset']['jenis_asset']['Lainnya'] : '') }}"
style="{{ old('jenis_asset_lainnya', isset($forminspeksi['asset']['jenis_asset']['Lainnya'])) == 'Lainnya' ? '' : 'display: none;' }}" />
</div>
<em id="error-jenis_asset" class="alert text-danger text-sm"></em>
</div>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Alamat</label>
<div class="w-full">
@foreach ($permohonan->documents as $dokumen)
@php
$alamat = $dokumen;
@endphp
@endforeach
<span class="text-2sm text-gray-700">
{{ formatAlamat($dokumen) }}
</span>
<div class="flex-wrap items-stretch">
<div class="grid grid-cols-3 md:grid-cols-3 gap-4 mt-2">
<label class="form-label flex items-center gap-3 text-nowrap">
<input onclick="createAlamat('sesuai')" type="radio" class="radio"
name="alamat_sesuai" value="sesuai"
{{ old('jenis_asset', isset($forminspeksi['asset']['alamat']['sesuai'])) ? 'checked' : '' }}>
<span class="ml-2">Ya</span>
</label>
<label class="form-label flex items-center gap-3 text-nowrap">
<input onclick="createAlamat('tidak sesuai')" type="radio" class="radio"
name="alamat_sesuai" value="tidak sesuai"
{{ old('jenis_asset', isset($forminspeksi['asset']['alamat']['tidak sesuai'])) ? 'checked' : '' }}>
<span class="ml-2">Tidak</span>
</label>
</div>
<em id="error-alamat_sesuai" class="alert text-danger text-sm"></em>
<em id="error-alamat_sesuai" class="alert text-danger text-sm"></em>
</div>
@php
$statusKey = isset($forminspeksi['asset']['alamat']['sesuai']) ? 'sesuai' : 'tidak sesuai';
$address = $forminspeksi['asset']['alamat'][$statusKey] ?? null;
@endphp
<div id="alamat_form" class="grid gap-2 mt-5" style="display: none;">
</div>
</div>
</div>
</div>
</div>
</div>
<div class="card border border-agi-100 w-full rounded-lg shadow-md overflow-hidden">
<div class="card-header light:bg-agi-50">
<h1 class="text-md font-medium text-gray-900 uppercase">Titik Koordinat Google Maps</h1>
</div>
<div class="card-body">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Koordinat</label>
<div id="perwakilan" class="flex items-baseline w-full gap-5">
<div class="grid grid-cols-2 gap-4 items-center w-full">
<input class="input" type="text" placeholder="Masukan Koordinat Latitude" type="text"
name="kordinat_lat" id="lat"
value="{{ old('kordinat_lat', isset($forminspeksi['asset']['kordinat_lat']) ? $forminspeksi['asset']['kordinat_lat'] : '') }}">
<input class="input" type="text" placeholder="Masukan Koordinat Longitude"
name="kordinat_lng" id="lng"
value="{{ old('kordinat_lng', isset($forminspeksi['asset']['kordinat_lng']) ? $forminspeksi['asset']['kordinat_lng'] : '') }}">
</div>
<a onclick="getCoordinates()" type="button" class="btn btn-md btn-outline btn-primary">
<i class="ki-filled ki-map"></i>Ambil
Koordinat </a>
<a target="_blank" href="https://www.google.com/maps" type="button"
class="btn btn-md btn-outline btn-success">
<i class="ki-filled ki-map"></i>Ke google Maps</a>
</div>
</div>
</div>
</div>
<div class="card border border-agi-100 w-full rounded-lg shadow-md overflow-hidden">
<div class="card-header light:bg-agi-50">
<h1 class="text-md font-medium text-gray-900 uppercase">Status</h1>
</div>
<div class="card-body w-full">
@include('lpj::component.detail-jaminan', ['status' => true])
{{-- <div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
<label class="form-label font-medium max-w-56">Nomor NIB</label>
<div class="flex flex-wrap items-baseline w-full">
<input type="text" name="nomor_nib" class="input w-full"
value="{{ isset($forminspeksi['asset']['nomor_nib']) ? $forminspeksi['asset']['nomor_nib'] : '' }}"
placeholder="Masukkan Nomor NIB">
</div>
</div> --}}
<div class=" mx-auto rounded-lg overflow-hidden">
<div class="py-4 ">
<h1 class="text-md font-medium text-gray-900">Hubungan cadeb/debitur dengan Pemilik Jaminan</h1>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Pemilik Jaminan</label>
<div>
<div class="flex flex-wrap items-baseline w-full">
@foreach ($permohonan->documents as $dokumen)
@php
$hubCadebPemilik = $dokumen->pemilik->hubungan_pemilik->name ?? 'N/A';
@endphp
<label class="form-label">
{{ $hubCadebPemilik }}
</label>
<input type="hidden" name="hub_cadeb_sesuai" value="{{ $hubCadebPemilik }}"
id="">
@endforeach
</div>
<div class="flex-wrap items-stretch">
<div class="grid grid-cols-3 md:grid-cols-3 gap-4 mt-2">
<label class="form-label flex items-center gap-3 text-nowrap">
<input
onclick="toggleFieldVisibility('hub_cadeb','hub_cadeb_tidak_sesuai', ['tidak sesuai'])"
type="radio" class="radio" name="hub_cadeb" value="sesuai"
{{ old('hub_cadeb', isset($forminspeksi['asset']['hub_cadeb']['sesuai'])) ? 'checked' : '' }}>
<span class="ml-2">Ya</span>
</label>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input
onclick="toggleFieldVisibility('hub_cadeb','hub_cadeb_tidak_sesuai', ['tidak sesuai'])"
type="radio" class="radio" name="hub_cadeb" value="tidak sesuai"
{{ old('hub_cadeb', isset($forminspeksi['asset']['hub_cadeb']['tidak sesuai'])) ? 'checked' : '' }}>
<span class="ml-2">Tidak</span>
</label>
<!-- Select dropdown untuk "Tidak Sesuai" -->
@php
$statusKey = isset($forminspeksi['asset']['hub_cadeb']['sesuai'])
? 'sesuai'
: 'tidak sesuai';
$selectedData = $forminspeksi['asset']['hub_cadeb'][$statusKey] ?? null;
@endphp
<select id="hub_cadeb_tidak_sesuai" class="input w-full" name="hub_cadeb_tidak_sesuai"
style="{{ $statusKey != 'sesuai' ? '' : 'display: none;' }}">
<option value="">Select Hubungan Cadeb</option>
@if (isset($basicData['hubCadeb']))
@foreach ($basicData['hubCadeb'] as $item)
@if ($item->name != $hubCadebPemilik)
<option value="{{ $item->name }}"
{{ old('hub_cadeb_tidak_sesuai', $selectedData) == $item->name ? 'selected' : '' }}>
{{ $item->name }}
</option>
@endif
@endforeach
@endif
</select>
</div>
<em id="error-hub_cadeb" class="alert text-danger text-sm"></em>
</div>
</div>
</div>
</div>
<div class=" mx-auto rounded-lg overflow-hidden">
<div class="py-4 ">
<h1 class="text-md font-medium text-gray-900">Hubungan Cadeb/Debitur dengan Penghuni Jaminan</h1>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Penghuni Jaminan</label>
<div class="mt-2">
<div class="flex flex-wrap items-baseline w-full text-sm">
<input type="hidden" name="hub_cadeb_penghuni_sesuai" value="ditempati sendiri"
id="">
</div>
<div class="flex-wrap items-stretch">
<div class="grid grid-cols-3 md:grid-cols-3 gap-4 mt-2">
<label class="form-label flex items-center gap-3 text-nowrap">
<input
onclick="toggleFieldVisibility('hub_cadeb_penghuni','hub_penghuni_tidak_sesuai', ['tidak sesuai'])"
type="radio" class="radio" name="hub_cadeb_penghuni" value="sesuai"
{{ old('hub_cadeb_penghuni', isset($forminspeksi['asset']['hub_cadeb_penghuni'])) ? 'checked' : '' }}>
<span class="ml-2">Ditempati Sendiri</span>
</label>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input
onclick="toggleFieldVisibility('hub_cadeb_penghuni','hub_penghuni_tidak_sesuai', ['tidak sesuai'])"
type="radio" class="radio" name="hub_cadeb_penghuni" value="tidak sesuai"
{{ old('hub_cadeb_penghuni', $forminspeksi['asset']['hub_cadeb_penghuni']['tidak sesuai'] ?? false) ? 'checked' : '' }}>
<span class="ml-2">Tidak</span>
</label>
<!-- Select dropdown untuk "Tidak Sesuai" -->
@php
$statusKey = isset($forminspeksi['asset']['hub_cadeb_penghuni']['sesuai'])
? 'sesuai'
: 'tidak sesuai';
$selectedData = $forminspeksi['asset']['hub_cadeb_penghuni'][$statusKey] ?? null;
@endphp
<input id="hub_penghuni_tidak_sesuai" class="input" name="hub_penghuni_tidak_sesuai"
placeholder="Masukkan Hubungan penghuni jaminan"
value="{{ old('hub_penghuni_tidak_sesuai', isset($selectedData) ? $selectedData : '') }}"
style="{{ $statusKey != 'sesuai' ? '' : 'display: none;' }}">
</div>
<em id="error-hub_cadeb_penghuni" class="alert text-danger text-sm"></em>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
function getCoordinates() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(
(position) => {
// Ambil latitude dan longitude
const lat = position.coords.latitude;
const lng = position.coords.longitude;
// Masukkan ke dalam input field
document.getElementById('lat').value = lat;
document.getElementById('lng').value = lng;
toastrSuccessBuild('Koordinat berhasil diambil!');
},
(error) => {
// Handle error
switch (error.code) {
case error.PERMISSION_DENIED:
toastrErrorBuild('Pengguna menolak permintaan geolokasi.');
break;
case error.POSITION_UNAVAILABLE:
toastrErrorBuild('Informasi lokasi tidak tersedia.');
break;
case error.TIMEOUT:
toastrErrorBuild('Permintaan geolokasi mengalami timeout.');
break;
case error.UNKNOWN_ERROR:
toastrErrorBuild('Terjadi kesalahan yang tidak diketahui.');
break;
}
}
);
} else {
toastrErrorBuild('Geolocation tidak didukung oleh browser ini.');
}
}
document.addEventListener('DOMContentLoaded', function() {
// Cek radio button saat halaman dimuat
const sesuaiRadio = document.querySelector('input[name="alamat_sesuai"][value="sesuai"]');
const tidakSesuaiRadio = document.querySelector('input[name="alamat_sesuai"][value="tidak sesuai"]');
// Jika "Ya" sudah tercentang saat load halaman
if (sesuaiRadio.checked) {
createAlamat('sesuai');
}
// Jika "Tidak" sudah tercentang saat load halaman
if (tidakSesuaiRadio.checked) {
createAlamat('tidak sesuai');
}
});
function createAlamat(data) {
const createElementAlamat = document.getElementById('alamat_form');
if (data == 'sesuai') {
createElementAlamat.innerHTML = `
<div class="grid gap-2.5 w-full" >
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
<label for="address" class="form-label max-w-56">Terletak di.</label>
<div class="flex flex-wrap items-baseline w-full">
<input type="text" id="address" name="address" class="input w-full "
value="{{ isset($alamat->address) ? $alamat->address : old('address') }}">
</div>
</div>
<input type="hidden" name="province_code"
value="{{ isset($alamat->province) ? $alamat->province->code : '' }}">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
<label for="province" class="form-label max-w-56">Provinsi</label>
<div class="flex flex-wrap items-baseline w-full">
<input type="text" id="province" class="input w-full cursor-not-allowed" readonly
value="{{ isset($alamat->province) ? $alamat->province->name : '' }}">
</div>
</div>
<input type="hidden" name="city_code"
value="{{ isset($alamat->city) ? $alamat->city->code : '' }}">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
<label for="city" class="form-label max-w-56">Kabupaten/Kota</label>
<div class="flex flex-wrap items-baseline w-full">
<input type="text" id="city" class="input w-full cursor-not-allowed" readonly
value="{{ isset($alamat->city) ? $alamat->city->name : '' }}">
</div>
</div>
<input type="hidden" name="district_code"
value="{{ isset($alamat->district) ? $alamat->district->code : '' }}">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
<label for="district" class="form-label max-w-56">Kecamatan</label>
<div class="flex flex-wrap items-baseline w-full">
<input type="text" id="district" class="input w-full cursor-not-allowed" readonly
value="{{ isset($alamat->district) ? $alamat->district->name : '' }}">
</div>
</div>
<input type="hidden" name="village_code"
value="{{ isset($alamat->village) ? $alamat->village->code : '' }}">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
<label for="village" class="form-label max-w-56">Desa/Kelurahan</label>
<div class="flex flex-wrap items-baseline w-full">
<input type="text" id="village" class="input w-full cursor-not-allowed" readonly
value="{{ isset($alamat->village) ? $alamat->village->name : '' }}">
</div>
</div>
</div>
`;
}
if (data === 'tidak sesuai') {
createElementAlamat.style.display = 'block';
createElementAlamat.innerHTML = `
<div class="grid gap-2.5 w-full">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
<label for="address" class="form-label max-w-56">Terletak di.</label>
<div class="flex flex-wrap items-baseline w-full">
<input type="text" id="address" name="address" class="input w-full"
placeholder="Masukkan Jl." value="{{ old('address', $cekAlamat['address'] ?? '') }}">
</div>
</div>
<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>
<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">Desa/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>
`;
loadSavedLocationData();
}
}
document.addEventListener('DOMContentLoaded', () => {
loadSavedLocationData();
});
function handleJenisAssetChange(select) {
const lainnyaInput = document.getElementById('jenis_asset_lainnya');
if (select.value === 'Lainnya') {
lainnyaInput.style.display = 'block';
} else {
lainnyaInput.style.display = 'none';
lainnyaInput.value = ''; // Reset nilai input jika bukan "lainnya"
}
}
</script>
@include('lpj::surveyor.js.utils')

View File

@@ -0,0 +1,407 @@
<!-- Informasi Tata Ruang -->
<div class="card border border-agi-100 w-full ">
<div class="card-header light:bg-agi-50">
<h3 class="card-title uppercase">
@if (strtolower($permohonan->tujuanPenilaian->name) == 'rap')
ATURAN TATA KOTA
@else
Informasi Dinas Tata Ruang
@endif
</h3>
</div>
<div class="card-body">
<!-- Informasi Tata Ruang Form -->
<div class="grid gap-5">
@php
$inputDinasTata = [
[
'label' => 'Peruntukan',
'name' => 'peruntukan',
'index' => 0,
'value' => old(
'peruntukan',
isset($forminspeksi['fakta']['peruntukan']) ? $forminspeksi['fakta']['peruntukan'] : '',
),
],
[
'label' => 'KDB',
'name' => 'kdb',
'index' => 1,
'value' => old(
'kdb',
isset($forminspeksi['fakta']['kdb']) ? $forminspeksi['fakta']['kdb'] : '',
),
],
[
'label' => 'KDH',
'name' => 'kdh',
'index' => 2,
'value' => old(
'kdh',
isset($forminspeksi['fakta']['kdh']) ? $forminspeksi['fakta']['kdh'] : '',
),
],
[
'label' => 'GSB',
'name' => 'gsb',
'index' => 3,
'value' => old(
'gsb',
isset($forminspeksi['fakta']['gsb']) ? $forminspeksi['fakta']['gsb'] : '',
),
],
[
'label' => 'Max Lantai',
'name' => 'max_lantai',
'index' => 4,
'value' => old(
'max_lantai',
isset($forminspeksi['fakta']['max_lantai']) ? $forminspeksi['fakta']['max_lantai'] : '',
),
],
[
'label' => 'KLB',
'name' => 'klb',
'index' => 5,
'value' => old(
'klb',
isset($forminspeksi['fakta']['klb']) ? $forminspeksi['fakta']['klb'] : '',
),
],
[
'label' => 'GSS',
'name' => 'gss',
'index' => 6,
'value' => old(
'gss',
isset($forminspeksi['fakta']['gss']) ? $forminspeksi['fakta']['gss'] : '',
),
],
[
'label' => 'Pelebaran Jalan',
'name' => 'pelebaran_jalan',
'index' => 7,
'value' => old(
'pelebaran_jalan',
isset($forminspeksi['fakta']['pelebaran_jalan'])
? $forminspeksi['fakta']['pelebaran_jalan']
: '',
),
],
[
'label' => 'Nama Petugas TK',
'name' => 'nama_petugas',
'index' => 8,
'value' => old(
'nama_petugas',
isset($forminspeksi['fakta']['nama_petugas']) ? $forminspeksi['fakta']['nama_petugas'] : '',
),
],
];
@endphp
@if (count($inputDinasTata) > 0)
@foreach ($inputDinasTata as $item)
<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"></em>
@enderror
</div>
</div>
@endforeach
@endif
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">
<span class="form-label">Gambar Surat Ukur</span>
</label>
<div class="input-group w-full flex gap-2">
<input class="upload_gs" type="hidden" name="upload_gs" value="upload_gs">
<div class="w-full">
<input id="inputGistaru" type="file" name="upload_gs"
class="file-input file-input-bordered w-full"
accept=".jpg,.jpeg,.png,.gif,.bmp,.tiff,.tif,.webp,.svg"
onchange="uploadFile(this, 'upload-gs-preview', 'upload_gs')">
<img id="upload-gs-preview"
src="{{ isset($forminspeksi['upload_gs']) && is_string($forminspeksi['upload_gs']) && !empty($forminspeksi['upload_gs']) ? asset('storage/' . $forminspeksi['upload_gs']) : '' }}"
alt="Foto Gs" class="mt-2 max-w-full h-auto"
style="{{ isset($forminspeksi['upload_gs']) && is_string($forminspeksi['upload_gs']) && !empty($forminspeksi['upload_gs']) ? '' : 'display: none;' }} max-width: 30rem;" />
</div>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">
<span class="form-label">Sentuh Tanahku</span>
</label>
<div class="input-group w-full flex gap-2">
<input class="name_rute" type="hidden" name="name_rute" value="rute">
<div class="w-full">
<input id="inputGistaru" type="file" name="foto_sentuh_tanahku"
class="file-input file-input-bordered w-full"
accept=".jpg,.jpeg,.png,.gif,.bmp,.tiff,.tif,.webp,.svg"
onchange="uploadFile(this, 'sentuh_tanahku-preview', 'foto_sentuh_tanahku')"
>
<img id="sentuh_tanahku-preview"
src="{{ isset($forminspeksi['foto_sentuh_tanahku']) && is_string($forminspeksi['foto_sentuh_tanahku']) && !empty($forminspeksi['foto_sentuh_tanahku']) ? asset('storage/' . $forminspeksi['foto_sentuh_tanahku']) : '' }}"
alt="Foto Bhumi" class="mt-2 max-w-full h-auto"
style="{{ isset($forminspeksi['foto_sentuh_tanahku']) && is_string($forminspeksi['foto_sentuh_tanahku']) && !empty($forminspeksi['foto_sentuh_tanahku']) ? '' : 'display: none;' }} max-width: 30rem;"/>
</div>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">
<span class="form-label">Gistaru</span>
</label>
<div class="input-group w-full flex gap-2">
<input class="name_rute" type="hidden" name="name_rute" value="rute">
<div class="w-full">
<input id="inputGistaru" type="file" name="foto_gistaru"
class="file-input file-input-bordered w-full"
accept=".jpg,.jpeg,.png,.gif,.bmp,.tiff,.tif,.webp,.svg"
onchange="uploadFile(this, 'gistaru-preview', 'foto_gistaru')">
<img id="gistaru-preview"
src="{{ isset($forminspeksi['foto_gistaru']) && is_string($forminspeksi['foto_gistaru']) && !empty($forminspeksi['foto_gistaru']) ? asset('storage/' . $forminspeksi['foto_gistaru']) : '' }}"
alt="Foto Bhumi" class="mt-2 max-w-full h-auto"
style="{{ isset($forminspeksi['foto_gistaru']) && is_string($forminspeksi['foto_gistaru']) && !empty($forminspeksi['foto_gistaru']) ? '' : 'display: none;' }} max-width: 30rem;" />
</div>
<a href="https://gistaru.atrbpn.go.id/rtronline" type="button" class="btn btn-light"
target="_blank">
<i class="ki-filled ki-map"></i> Gistaru
</a>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">
<span class="form-label ">Bhumi</span>
</label>
<div class="input-group w-full flex gap-2">
<input class="name_rute" type="hidden" name="name_rute" value="rute">
<div class="w-full grid gap-2">
<input id="inputBhumi" type="file" name="foto_bhumi"
class="file-input file-input-bordered w-full "
accept=".jpg,.jpeg,.png,.gif,.bmp,.tiff,.tif,.webp,.svg"
onchange="uploadFile(this, 'bhumi-preview', 'foto_bhumi')">
@php
$bhumiPath = isset($forminspeksi['foto_bhumi']) && is_string($forminspeksi['foto_bhumi']) && !empty($forminspeksi['foto_bhumi'])
? asset('storage/' . $forminspeksi['foto_bhumi'])
: '';
@endphp
<img id="bhumi-preview"
src="{{ $bhumiPath }}"
alt="Foto Bhumi" class="mt-2 max-w-full h-auto"
style="{{ $bhumiPath ? '' : 'display: none;' }} max-width: 30rem;" />
</div>
<a href="https://bhumi.atrbpn.go.id/peta" type="button" class="btn btn-light" target="_blank">
<i class="ki-filled ki-map"></i> Bhumi
</a>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">
<span class="form-label">Blad Tata Ruang Perdaerah</span>
</label>
<div class="input-group w-full flex gap-2">
<input class="name_rute" type="hidden" name="name_rute" value="rute">
<div class="w-full">
<input id="inputArgisRegion" type="file" name="foto_argis_region"
class="file-input file-input-bordered w-full"
accept=".jpg,.jpeg,.png,.gif,.bmp,.tiff,.tif,.webp,.svg"
onchange="uploadFile(this, 'argis-region-preview', 'foto_argis_region')">
@php
$argisRegionPath = isset($forminspeksi['foto_argis_region']) && is_string($forminspeksi['foto_argis_region']) && !empty($forminspeksi['foto_argis_region'])
? asset('storage/' . $forminspeksi['foto_argis_region'])
: '';
@endphp
<img id="argis-region-preview"
src="{{ $argisRegionPath }}"
alt="Foto Argis Region" class="mt-2 max-w-full h-auto"
style="{{ $argisRegionPath ? '' : 'display: none;' }} max-width: 30rem;">
</div>
< </div>
</div>
</div>
<!-- Upload Photo Button -->
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5" style="margin-top: 20px">
<label for="" class="form-label max-w-56 text-sm font-medium text-gray-700">Upload
Peta</label>
<div class="w-full grid gap-5">
<div class="input-group w-full flex gap-2">
<input id="foto_tempat" type="file" name="foto_tempat"
class="file-input file-input-bordered w-full"
accept=".jpg,.jpeg,.png,.gif,.bmp,.tiff,.tif,.webp,.svg"
onchange="uploadFile(this, 'foto_tempat-preview', 'foto_tempat')">
<button type="button" id="btnCamera" class="btn btn-light"
data-modal-toggle="#cameraModal">
<i class="ki-outline ki-abstract-33"></i> Camera
</button>
</div>
@php
$fotoTempat = isset($forminspeksi['foto_tempat']) && is_string($forminspeksi['foto_tempat']) && !empty($forminspeksi['foto_tempat'])
? asset('storage/' . $forminspeksi['foto_tempat'])
: '';
@endphp
<img id="foto_tempat-preview" src="{{ $fotoTempat ?: '' }}" alt="Foto Tempat"
class="mt-2 max-w-full h-auto"
style="max-width: 30rem; {{ $fotoTempat ? '' : 'display: none;' }}">
</div>
</div>
<!-- Notes Section -->
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5" style="margin-top: 20px">
<label class="form-label lg:form-label max-w-56 ">Catatan yang Perlu Diperhatikan
</label>
<div class="w-full">
<div id="keterangan-container" class="flex items-baseline flex-wrap gap-2.5 w-full">
@if (!empty($forminspeksi['fakta']['keterangan']) && is_array($forminspeksi['fakta']['keterangan']))
@foreach ($forminspeksi['fakta']['keterangan'] as $index => $item)
<div class="keterangan flex items-center gap-2 mt-2 textarea-group w-full">
<textarea name="keterangan[]" class="textarea mt-2" placeholder="Masukkan catatan penting" rows="10">{{ old("keterangan.$index", $item) }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button"
style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@endforeach
@else
<div class="keterangan flex items-center gap-2 mt-2 textarea-group w-full">
<textarea name="keterangan[]" class="textarea mt-2" placeholder="Masukkan catatan penting" rows="10"></textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button"
style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
<em id="error-keterangan" class="alert text-danger text-sm"></em>
</div>
@endif
</div>
<button type="button" onclick="addClonableItem('keterangan-container', 'keterangan')"
class="btn btn-primary btn-sm mt-5 ">
<i class="ki-outline ki-plus"></i>
</button>
</div>
</div>
</div>
</div>
@include('lpj::surveyor.components.modal-kamera')
@push('scripts')
<script stype="text/javascript">
function uploadFile(inputElement, previewElement, url) {
// Ambil file dari elemen input
const file = inputElement.files[0];
if (!file) {
Swal.fire({
icon: 'warning',
title: 'Tidak ada file yang dipilih.',
toast: true,
position: 'top-end',
showConfirmButton: false,
timer: 1500
});
return;
}
if (inputElement.files && file) {
var reader = new FileReader();
reader.onload = function(e) {
$('#' + previewElement).attr('src', e.target.result).show();
}
reader.readAsDataURL(inputElement.files[0]);
} else {
$('#' + previewElement).hide();
}
// Buat FormData untuk mengirim file
const formData = new FormData();
const dokument = "{{ request('dokument') }}";
const permohonan = "{{ $permohonan->id }}";
formData.append('file', file);
formData.append('dokument_id', dokument);
formData.append('permohonan_id', permohonan);
$.ajax({
url: '/surveyor/upload-file-foto/' + url,
type: 'POST',
headers: {
'X-CSRF-TOKEN': '{{ csrf_token() }}'
},
data: formData,
processData: false,
contentType: false,
success: function(response) {
if (response.success) {
// Tampilkan pesan sukses
Swal.fire({
icon: 'success',
title: response.message || 'File berhasil diunggah!',
toast: true,
position: 'top-end',
showConfirmButton: false,
timer: 1500
});
// Perbarui elemen preview
$(previewElement).attr('src', response.data.path).show();
$(inputElement).data('file-name', response.data.file_name);
} else {
// Tampilkan pesan kesalahan dari server
Swal.fire({
icon: 'error',
title: response.message || 'Gagal mengunggah file!',
toast: true,
position: 'top-end',
showConfirmButton: false,
timer: 1500
});
}
},
error: function(xhr, status, error) {
// Tampilkan pesan kesalahan
Swal.fire({
icon: 'error',
title: xhr.responseJSON?.message || 'Terjadi kesalahan saat mengunggah file.',
toast: true,
position: 'top-end',
showConfirmButton: false,
timer: 1500
});
console.error(`Error: ${error}`);
}
});
}
</script>
@include('lpj::surveyor.js.camera-editor')
@endpush

View File

@@ -0,0 +1,616 @@
@extends('layouts.main')
@section('breadcrumbs')
{{ Breadcrumbs::render(request()->route()->getName()) }}
@endsection
@section('content')
@include('lpj::assetsku.includenya')
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
<form id="formInspeksi" method="POST" enctype="multipart/form-data" class="grid gap-5">
@csrf
<input id="permohonan_id" type="hidden" name="permohonan_id" value="{{ $permohonan->id }}">
<input id="dokument_id" type="hidden" name="dokument_id" value="{{ request('dokument') }}">
<input type="hidden" name="nomor_registrasi" value="{{ $permohonan->nomor_registrasi }}">
@if (strtolower($permohonan->tujuanPenilaian->name) == 'rap')
<input type="hidden" name="action" value="rap">
<input type="hidden" name="type" value="rap">
@include('lpj::surveyor.components.header')
@include('lpj::surveyor.components.rap')
@else
@foreach ($permohonan->debiture->documents as $dokumen)
@if ($dokumen->jenisJaminan)
@php
$formKategori = json_decode($dokumen->jenisJaminan->form_kategori, true);
@endphp
@if (isset($formKategori) && $formKategori)
@php
$kategoriArray = is_array($formKategori) ? $formKategori : [$formKategori];
$kategoriUnik = array_unique($kategoriArray);
@endphp
<input type="hidden" name="action" value="{{ implode(',', $kategoriUnik) }}">
<input type="hidden" name="type" value="{{ implode(',', $kategoriUnik) }}">
@if (array_intersect($kategoriUnik, ['tanah', 'bangunan', 'apartemen-kantor']))
@include('lpj::surveyor.components.header')
@endif
@foreach ($kategoriUnik as $kategori)
{{-- Tampilkan komponen sesuai kategori --}}
@include('lpj::surveyor.components.' . str_replace('-', '-', $kategori), [
'dokumen' => $dokumen,
])
@endforeach
@endif
@endif
@endforeach
@endif
<div class="card border border-agi-100 w-full rounded-lg shadow-md overflow-hidden">
<div class="card-header light:bg-agi-50">
<h3 class="card-title uppercase">
Tanda Tangan
</h3>
</div>
<div class="card-body">
<div class="flex items-baseline justify-between flex-wrap lg:flex-nowrap">
@foreach (['penilai', 'cabang', 'debitur', 'kjpp'] as $type)
@include('lpj::component.signature-pad', ['type' => $type])
@endforeach
</div>
</div>
<div class="card-footer">
<span class="text-sm text-danger">* Harap Menyimpan tanda tangan terlebih dahulu</span>
</div>
</div>
<div class="flex justify-end gap-2" style="margin-right: 20px; margin-top: 20px">
<button type="button" class="btn btn-primary" id="saveButton" onclick="submitData()">
<i class="ki-filled ki-save-2"></i>
<span id="saveButtonText">Simpan</span>
</button>
<a href="{{ route('surveyor.print_out_inspeksi', ['permohonan_id' => $permohonan->id, 'dokument_id' => request('dokument'), 'jenis_jaminan_id' => request('jenis_jaminan')]) }}"
class="btn btn-info" id="saveButton">
<i class="ki-filled ki-printer"></i>
<span>Cetak Form Inspeksi</span>
</a>
</div>
</form>
</div>
@php
use Modules\Usermanagement\Models\User;
$cabangUser = User::where('id', $permohonan->user->id)->first();
// print_r($cabangUser->sign);
@endphp
@endsection
@push('scripts')
<script src="{{ asset('vendor/signature.pad.js') }}"></script>
<script type="text/javascript">
const datas = @json($forminspeksi);
console.log(datas);
document.addEventListener('DOMContentLoaded', function() {
const signaturePads = {};
const types = ['penilai', 'cabang', 'debitur', 'kjpp'];
// Initialize all signature pads
types.forEach(type => initSignaturePad(type));
function initSignaturePad(type) {
const canvas = document.getElementById(`signature-pad-${type}`);
if (!canvas) return;
// Improved canvas sizing with strict boundary control
function resizeCanvas() {
const container = canvas.closest('.signature-pad-container');
const containerWidth = container.clientWidth;
// Set canvas style dimensions
canvas.style.width = '100%';
canvas.style.height = `${containerWidth * 0.5}px`; // 2:1 aspect ratio
// Set actual canvas dimensions with high DPI support
const ratio = window.devicePixelRatio || 1;
canvas.width = containerWidth * ratio;
canvas.height = (containerWidth * 0.5) * ratio;
// Scale canvas context
const ctx = canvas.getContext('2d');
ctx.scale(ratio, ratio);
// Clear and redraw existing signature if any
if (signaturePads[type] && !signaturePads[type].isEmpty()) {
const signaturePad = signaturePads[type];
const imageData = signaturePad.toData();
signaturePad.clear();
signaturePad.fromData(imageData);
}
}
// Create signature pad with boundary and scaling control
const signaturePad = new SignaturePad(canvas, {
backgroundColor: 'rgba(255, 255, 255, 0)',
penColor: 'rgb(0, 0, 0)',
minWidth: 0.5,
maxWidth: 2.5,
throttle: 16,
dotSize: 2,
// Custom function to control signature drawing
onBegin: (event) => {
const ctx = canvas.getContext('2d');
const rect = canvas.getBoundingClientRect();
const scaleX = canvas.width / rect.width;
const scaleY = canvas.height / rect.height;
// Ensure drawing stays within canvas
if (
event.clientX < rect.left ||
event.clientX > rect.right ||
event.clientY < rect.top ||
event.clientY > rect.bottom
) {
return false;
}
}
});
signaturePads[type] = signaturePad;
// Initial resize
resizeCanvas();
// Load existing signature
if (type === 'penilai' || type === 'cabang') {
loadPenilaiAndCabangSignature(type, signaturePad);
} else {
loadSignature(type, signaturePad);
}
// Add event listeners
addEventListeners(type, signaturePad);
// Add resize listener
window.addEventListener('resize', () => {
resizeCanvas();
});
}
function drawSignature(signaturePad, imageUrl) {
const image = new Image();
image.crossOrigin = 'Anonymous';
image.onload = function() {
const ctx = signaturePad.canvas.getContext('2d');
const canvasWidth = signaturePad.canvas.width;
const canvasHeight = signaturePad.canvas.height;
// Clear previous content
ctx.clearRect(0, 0, canvasWidth, canvasHeight);
// Calculate scaling to fit within canvas while maintaining aspect ratio
const scale = Math.min(
canvasWidth / image.width,
canvasHeight / image.height
);
const scaledWidth = image.width * scale;
const scaledHeight = image.height * scale;
// Center the image
const x = (canvasWidth - scaledWidth) / 2;
const y = (canvasHeight - scaledHeight) / 2;
// Draw the scaled and centered image
ctx.drawImage(image, x, y, scaledWidth, scaledHeight);
};
image.onerror = function() {
console.error('Error loading signature image');
};
image.src = imageUrl;
}
function addEventListeners(type, signaturePad) {
document.getElementById(`save-${type}`)?.addEventListener('click', () => saveSignature(type,
signaturePad));
document.getElementById(`clear-${type}`)?.addEventListener('click', () => clearSignature(
signaturePad));
document.getElementById(`delete-${type}`)?.addEventListener('click', () => deleteSignature(type,
signaturePad));
}
function saveSignature(type, signaturePad) {
// Prevent saving empty signature for debitur and kjjp
if (signaturePad.isEmpty() && type !== 'penilai' && type !== 'cabang') {
Swal.fire({
icon: 'warning',
title: 'Peringatan',
text: 'Harap memberikan tanda tangan terlebih dahulu.'
});
return;
}
// Use high-quality PNG with appropriate scaling
const signatureDataUrl = signaturePad.isEmpty() ?
(type === 'penilai' ?
`{{ asset('storage/signatures/' . Auth::user()->id . '/' . Auth::user()->sign) }}` :
(type === 'cabang' ?
`{{ asset('storage/signatures/' . $cabangUser->id . '/' . $cabangUser->sign) }}` :
'')) :
signaturePad.toDataURL('image/png', 1.0); // Use full quality
const data = {
signature: signatureDataUrl,
type: type,
name: document.getElementById(`name-${type}`)?.value,
document_id: document.getElementById('dokument_id')?.value,
permohonan_id: document.getElementById('permohonan_id')?.value
};
Swal.fire({
title: 'Menyimpan...',
allowOutsideClick: false,
didOpen: () => Swal.showLoading()
});
fetch(`{{ url('/surveyor/signatures') }}`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-CSRF-TOKEN': '{{ csrf_token() }}',
},
body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => {
Swal.close();
if (data.success) {
Swal.fire({
icon: 'success',
title: 'Berhasil',
text: 'Tanda tangan berhasil disimpan!',
timer: 1500
});
} else {
throw new Error(data.message || 'Terjadi kesalahan');
}
})
.catch(error => {
Swal.fire({
icon: 'error',
title: 'Error',
text: error.message || 'Terjadi kesalahan saat menyimpan tanda tangan'
});
});
}
function drawSignature(signaturePad, imageUrl) {
const image = new Image();
image.crossOrigin = 'Anonymous'; // Handle cross-origin images
image.onload = function() {
const ctx = signaturePad.canvas.getContext('2d');
ctx.clearRect(0, 0, signaturePad.canvas.width, signaturePad.canvas.height);
// Calculate scaling to fit within canvas while maintaining aspect ratio
const scale = Math.min(
signaturePad.canvas.width / image.width,
signaturePad.canvas.height / image.height
);
const scaledWidth = image.width * scale;
const scaledHeight = image.height * scale;
const x = (signaturePad.canvas.width - scaledWidth) / 2;
const y = (signaturePad.canvas.height - scaledHeight) / 2;
ctx.drawImage(image, x, y, scaledWidth, scaledHeight);
};
image.onerror = function() {
console.error('Error loading signature image');
};
image.src = imageUrl;
}
function loadPenilaiAndCabangSignature(type, signaturePad) {
const nameInputElement = document.getElementById(`name-${type}`);
const params = new URLSearchParams({
document_id: document.getElementById('dokument_id')?.value,
permohonan_id: document.getElementById('permohonan_id')?.value
});
fetch(`{{ url('/surveyor/signatures/${type}') }}?${params}`)
.then(response => response.json())
.then(data => {
if (data.success && data.data?.signature) {
drawSignature(signaturePad, data.data.signature);
if (nameInputElement) {
nameInputElement.value = data.data.name || '';
}
} else {
const signUrl = type === 'penilai' ?
`{{ asset('storage/signatures/' . Auth::user()->id . '/' . Auth::user()->sign) }}` :
`{{ asset('storage/signatures/' . $cabangUser->id . '/' . $cabangUser->sign) }}`;
drawSignature(signaturePad, signUrl);
const defaultName = type === 'penilai' ?
`{{ Auth::user()->name }}` :
`{{ $cabangUser->name }}`;
if (nameInputElement) {
nameInputElement.value = defaultName;
}
}
})
.catch(error => console.error(`Error loading ${type} signature:`, error));
}
function saveSignature(type, signaturePad) {
if (signaturePad.isEmpty() && type !== 'penilai' && type !== 'cabang') {
Swal.fire({
icon: 'warning',
title: 'Peringatan',
text: 'Harap memberikan tanda tangan terlebih dahulu.'
});
return;
}
const signatureDataUrl = signaturePad.isEmpty() ?
(type === 'penilai' ?
`{{ asset('storage/signatures/' . Auth::user()->id . '/' . Auth::user()->sign) }}` :
(type === 'cabang' ?
`{{ asset('storage/signatures/' . $cabangUser->id . '/' . $cabangUser->sign) }}` :
'')) :
signaturePad.toDataURL('image/png');
const data = {
signature: signatureDataUrl,
type: type,
name: document.getElementById(`name-${type}`)?.value,
document_id: document.getElementById('dokument_id')?.value,
permohonan_id: document.getElementById('permohonan_id')?.value
};
Swal.fire({
title: 'Menyimpan...',
allowOutsideClick: false,
didOpen: () => Swal.showLoading()
});
fetch(`{{ url('/surveyor/signatures') }}`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-CSRF-TOKEN': '{{ csrf_token() }}',
},
body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => {
Swal.close();
if (data.success) {
Swal.fire({
icon: 'success',
title: 'Berhasil',
text: 'Tanda tangan berhasil disimpan!',
timer: 1500
});
} else {
throw new Error(data.message || 'Terjadi kesalahan');
}
})
.catch(error => {
Swal.fire({
icon: 'error',
title: 'Error',
text: error.message || 'Terjadi kesalahan saat menyimpan tanda tangan'
});
});
}
function loadSignature(type, signaturePad) {
const nameInputElement = document.getElementById(`name-${type}`);
const params = new URLSearchParams({
document_id: document.getElementById('dokument_id')?.value,
permohonan_id: document.getElementById('permohonan_id')?.value
});
fetch(`{{ url('/surveyor/signatures/${type}') }}?${params}`)
.then(response => response.json())
.then(data => {
if (data.success && data.data?.signature) {
drawSignature(signaturePad, data.data.signature);
}
if (nameInputElement) {
nameInputElement.value = data.data?.name || '';
}
})
.catch(error => console.error('Error loading signature:', error));
}
function drawSignature(signaturePad, imageUrl) {
const image = new Image();
image.onload = function() {
const ctx = signaturePad.canvas.getContext('2d');
ctx.clearRect(0, 0, signaturePad.canvas.width, signaturePad.canvas.height);
ctx.drawImage(image, 0, 0, signaturePad.canvas.width, signaturePad.canvas.height);
};
image.src = imageUrl;
}
function deleteSignature(type, signaturePad) {
Swal.fire({
title: 'Konfirmasi',
text: 'Apakah Anda yakin ingin menghapus tanda tangan ini?',
icon: 'warning',
showCancelButton: true,
confirmButtonText: 'Ya, Hapus',
cancelButtonText: 'Batal'
}).then((result) => {
if (result.isConfirmed) {
const data = {
type: type,
document_id: document.getElementById('dokument_id')?.value,
permohonan_id: document.getElementById('permohonan_id')?.value
};
fetch(`{{ url('/surveyor/signatures/${type}') }}`, {
method: 'DELETE',
headers: {
'Content-Type': 'application/json',
'X-CSRF-TOKEN': '{{ csrf_token() }}',
},
body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => {
if (data.success) {
clearSignature(signaturePad);
Swal.fire({
icon: 'success',
title: 'Berhasil',
text: 'Tanda tangan berhasil dihapus!',
timer: 1500
});
} else {
throw new Error(data.message || 'Terjadi kesalahan');
}
})
.catch(error => {
Swal.fire({
icon: 'error',
title: 'Error',
text: error.message ||
'Terjadi kesalahan saat menghapus tanda tangan'
});
});
}
});
}
function clearSignature(signaturePad) {
signaturePad.clear();
}
// Handle window resize untuk canvas responsif
window.addEventListener('resize', function() {
types.forEach(type => {
const canvas = document.getElementById(`signature-pad-${type}`);
if (canvas) {
setCanvasSize(canvas);
const signaturePad = signaturePads[type];
if (type === 'penilai' || type === 'cabang') {
loadPenilaiAndCabangSignature(type, signaturePad);
} else {
loadSignature(type, signaturePad);
}
}
});
});
});
function submitData() {
showLoadingSwal('Mengirim data ke server...');
const form = document.querySelector('form');
const formData = new FormData(form);
const fotoFields = [
'foto_gistaru',
'foto_bhumi',
'foto_argis_region',
'foto_tempat',
'foto_sentuh_tanahku',
'upload_gs'
];
fotoFields.forEach((field) => {
formData.delete(field);
});
$.ajax({
url: '{{ route('surveyor.store') }}',
type: 'POST',
data: formData,
processData: false,
contentType: false,
headers: {
'X-CSRF-TOKEN': '{{ csrf_token() }}'
},
success: function(response) {
hideLoadingSwal();
if (response.success) {
Swal.fire({
title: 'Berhasil!',
text: response.message,
icon: 'success',
confirmButtonText: 'OK'
}).then((response) => {
if (response.isConfirmed) {
// window.location.href =
// '{{ route('surveyor.show', ['id' => $permohonan->id]) }}';
}
});
} else {
Swal.fire({
title: 'Error!',
text: response.message || 'Terjadi kesalahan',
icon: 'error',
confirmButtonText: 'OK'
});
}
console.log(response);
},
error: function(xhr, status, error) {
hideLoadingSwal();
if (status === 'timeout') {
Swal.fire({
title: 'Timeout!',
text: 'Waktu permintaan habis. Silakan coba lagi.',
icon: 'warning',
confirmButtonText: 'OK'
});
return;
}
let errors = xhr.responseJSON?.errors;
$('.alert').text('');
if (errors) {
$.each(errors, function(key, value) {
$(`#error-${key}`).text(value[0]);
toastrErrorBuild(value[0]);
});
} else {
Swal.fire({
title: 'Error!',
text: xhr.responseJSON?.message || 'Terjadi kesalahan saat mengirim data.',
icon: 'error',
confirmButtonText: 'OK'
});
}
},
timeout: 10000
});
}
// Ensure existing remove buttons are functional
document.addEventListener('DOMContentLoaded', () => {
const removeButtons = document.querySelectorAll('.remove-btn');
removeButtons.forEach(button => {
button.addEventListener('click', function() {
this.closest('.perwakilan').remove();
});
});
document.querySelectorAll('.number-format').forEach(input => {
input.addEventListener('input', function() {
formatNumber(this);
});
});
});
</script>
@include('lpj::surveyor.js.utils')
@endpush

View File

@@ -0,0 +1,901 @@
<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 class="flex items-center gap-2">
<a href="{{ url()->previous() }}" class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back
</a>
</div>
</div>
<div class="card-body">
<div class="grid gap-5 grid-cols-2">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Tujuan Penilaian</label>
<div class="flex flex-wrap items-baseline w-full">
@if (isset($permohonan->tujuanPenilaian))
<p class="text-2sm text-gray-700">{{ $permohonan->tujuanPenilaian->name }}</p>
@endif
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Tanggal Survey</label>
<div class="flex flex-wrap items-base line w-full">
<p class="text-2sm text-gray-700">{{ $permohonan->created_at->format('d/m/Y') }}</p>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Cab/Direktorat</label>
<div class="flex flex-wrap items-baseline w-full">
@if (isset($permohonan->branch))
<p class="text-2sm text-gray-700">{{ $permohonan->branch->name }}</p>
@endif
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">AO</label>
<div class="flex flex-wrap items-baseline w-full">
@if (isset($permohonan->user))
<p class="text-2sm text-gray-700">{{ $permohonan->user->name }}</p>
@endif
</div>
</div>
</div>
</div>
</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">
Identitas Debitur
</h3>
</div>
<div class="card-body">
<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">Nama Calon Debitur</label>
<div class="flex flex-wrap items-baseline w-full">
@if (isset($permohonan->debiture->name))
<p class="text-2sm text-gray-700">{{ $permohonan->debiture->name }}</p>
@endif
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<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"
value="{{ old('nama_wakil_debitur', $forminspeksi['nama_wakil_debitur'] ?? '') }}">
<em id="error-nama_wakil_debitur" class="alert text-danger text-sm"></em>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<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"
value="{{ old('hub_calon_debitur', $forminspeksi['hub_calon_debitur'] ?? '') }}">
<em id="error-hub_calon_debitur" class="alert text-danger text-sm"></em>
</div>
</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-header bg-agi-50">
<h3 class="card-title uppercase">
Data Data Jaminan
</h3>
</div>
<div class="card-body rounded-lg overflow-hidden">
<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">Jenis Pesawat</label>
<div class="flex-wrap items-stretch">
<div class="flex flex-col items-start gap-4">
@if (isset($basicData['jenisKapal']))
@foreach ($basicData['jenisKapal'] as $item)
<div class="flex items-center">
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="jenis_kapal[]" type="checkbox"
value="{{ $item->name }}"
{{ in_array($item->name, old('jenis_kapal', [])) ||
(isset($forminspeksi['jenis_kapal']) &&
is_array($forminspeksi['jenis_kapal']) &&
in_array($item->name, $forminspeksi['jenis_kapal']))
? 'checked'
: '' }}
onclick="toggleCheckboxVisibility('jenis_kapal', 'jenis_kapal_lainnya', ['lainnya'])" />
{{ $item->name }}
</label>
@if (strcasecmp($item->name, 'lainnya') == 0)
<input id="jenis_kapal_lainnya" type="text"
style="{{ isset($forminspeksi['jenis_kapal_lainnya']) && $forminspeksi['jenis_kapal_lainnya'] ? '' : 'display: none;' }}"
name="jenis_kapal_lainnya" class="input w-full mt-2"
placeholder="Masukkan bentuk tanah..."
value="{{ old('jenis_kapal_lainnya', $forminspeksi['jenis_kapal_lainnya'] ?? '') }}" />
@endif
</div>
@endforeach
@endif
</div>
<em id="error-jenis_kapal" class="alert text-danger text-sm"></em>
</div>
</div>
@php
$inputDataJaminan = [
[
'label' => 'Size',
'value' => ['Small', 'Large', 'Medium', 'Very Large'],
'name' => 'size',
'index' => 0,
],
[
'label' => 'Kondisi',
'value' => ['Laik Laut', 'Sekrap', 'Rusak', 'Progress', 'Konversi'],
'name' => 'kondisi',
'index' => 1,
],
[
'label' => 'Klasifikasi
',
'value' => ['IACS', 'BKI', 'Lainnya'],
'name' => 'klasifikasi',
'index' => 2,
],
];
@endphp
@if (count($inputDataJaminan) > 0)
@foreach ($inputDataJaminan as $item)
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 mt-2">
<label class="form-label max-w-56">{{ $item['label'] }}</label>
<div class="flex flex-wrap items-baseline w-full">
<div class="flex flex-col items-start gap-4">
@if (isset($item['value']))
@foreach ($item['value'] as $value)
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56 gap-2.5" style="width: 500px">
<input class="checkbox" name="{{ $item['name'] }}[]" type="checkbox"
value="{{ $value }}"
{{ in_array($value, old($item['name'], $forminspeksi[$item['name']] ?? [])) ? 'checked' : '' }} />
{{ $value }}
</label>
</div>
@endforeach
@endif
</div>
<div class="w-full">
<em id="error-{{ $item['name'] }}" class="alert text-danger text-sm"></em>
<em id="error-{{ $item['name'] }}-input-{{ $loop->index }}"
class="alert text-danger text-sm"></em>
</div>
</div>
</div>
@endforeach
@endif
@php
$inputDataJaminan = [
[
'label' => 'Nama Kapal',
'name' => 'nama_kapal',
'value' => old('nama_kapal', $forminspeksi['nama_kapal'] ?? ''),
'index' => 0,
],
[
'label' => 'Pemilik Kapal',
'name' => 'pemilik_kapal',
'value' => old('pemilik_kapal', $forminspeksi['pemilik_kapal'] ?? ''),
'index' => 1,
],
[
'label' => 'Bendera',
'name' => 'bendera',
'value' => old('bendera', $forminspeksi['bendera'] ?? ''),
'index' => 2,
],
[
'label' => 'Nomor Tanda Selar',
'name' => 'nomor_selar',
'value' => old('nomor_selar', $forminspeksi['nomor_selar'] ?? ''),
'index' => 3,
],
[
'label' => 'Kapal',
'name' => 'kapal',
'value' => old('kapal', $forminspeksi['kapal'] ?? ''),
'index' => 4,
],
[
'label' => 'Galangan',
'name' => 'galangan_kapal',
'value' => old('galangan_kapal', $forminspeksi['galangan_kapal'] ?? ''),
'index' => 5,
],
[
'label' => 'Kapal/Shipyard',
'name' => 'kapal_shipyard',
'value' => old('kapal_shipyard', $forminspeksi['kapal_shipyard'] ?? ''),
'index' => 6,
],
[
'label' => 'Tahun Pembuatan',
'name' => 'tahun_pembuatan',
'value' => old('tahun_pembuatan', $forminspeksi['tahun_pembuatan'] ?? ''),
'index' => 7,
],
[
'label' => 'Tahun Lanuncing',
'name' => 'tahun_launcing',
'value' => old('tahun_launcing', $forminspeksi['tahun_launcing'] ?? ''),
'index' => 8,
],
[
'label' => 'DWT (ton)',
'name' => 'dwt',
'value' => old('dwt', $forminspeksi['dwt'] ?? ''),
'index' => 9,
],
[
'label' => 'LWT (ton)',
'name' => 'lwt',
'value' => old('lwt', $forminspeksi['lwt'] ?? ''),
'index' => 10,
],
[
'label' => 'Gross Tonnage (ton)',
'name' => 'gross_tonnage',
'value' => old('gross_tonnage', $forminspeksi['gross_tonnage'] ?? ''),
'index' => 11,
],
[
'label' => 'Net Tonnage (ton)',
'name' => 'net_tonnage',
'value' => old('net_tonnage', $forminspeksi['net_tonnage'] ?? ''),
'index' => 12,
],
[
'label' => 'Tenaga Mesin (HP)',
'name' => 'tenaga_mesin',
'value' => old('tenaga_mesin', $forminspeksi['tenaga_mesin'] ?? ''),
'index' => 13,
],
[
'label' => 'LOA',
'name' => 'loa',
'value' => old('loa', $forminspeksi['loa'] ?? ''),
'index' => 14,
],
[
'label' => 'LBP',
'name' => 'lbp',
'value' => old('lbp', $forminspeksi['lbp'] ?? ''),
'index' => 15,
],
[
'label' => 'Beam',
'name' => 'beam',
'value' => old('beam', $forminspeksi['beam'] ?? ''),
'index' => 16,
],
[
'label' => 'Depth',
'name' => 'depth',
'value' => old('depth', $forminspeksi['depth'] ?? ''),
'index' => 17,
],
[
'label' => 'Draft',
'name' => 'draft',
'value' => old('draft', $forminspeksi['draft'] ?? ''),
'index' => 18,
],
];
@endphp
@if (count($inputDataJaminan) > 0)
@foreach ($inputDataJaminan 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'] }}">
<em id="error-{{ $item['name'] }}" class="alert text-danger text-sm"></em>
</div>
</div>
@endforeach
@endif
</div>
</div>
</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">
Struktur Kapal
</h3>
</div>
<div class="card-body overflow-hidden">
<div class="grid gap-5">
@php
$inputStrukturKapal = [
[
'label' => 'Lambung Kapal',
'name' => 'lambung_kapal',
'value' => old('lambung_kapal', $forminspeksi['lambung_kapal'] ?? ''),
'index' => 0,
],
[
'label' => 'Dek',
'name' => 'dek',
'value' => old('dek', $forminspeksi['dek'] ?? ''),
'index' => 1,
],
[
'label' => 'Struktur Rangka',
'name' => 'struktur_rangka',
'value' => old('struktur_rangka', $forminspeksi['struktur_rangka'] ?? ''),
'index' => 2,
],
[
'label' => 'Palka',
'name' => 'palka',
'value' => old('palka', $forminspeksi['palka'] ?? ''),
'index' => 3,
],
[
'label' => 'Pondasi Mesin',
'name' => 'pondasi_mesin',
'value' => old('pondasi_mesin', $forminspeksi['pondasi_mesin'] ?? ''),
'index' => 4,
],
[
'label' => 'Area Mesin',
'name' => 'area_mesin',
'value' => old('area_mesin', $forminspeksi['area_mesin'] ?? ''),
'index' => 5,
],
[
'label' => 'Cat dan Korosi',
'name' => 'cat_dan_korosi',
'value' => old('cat_dan_korosi', $forminspeksi['cat_dan_korosi'] ?? ''),
'index' => 6,
],
[
'label' => 'Sistem Pengelasan',
'name' => 'sistem_pengelasan',
'value' => old('sistem_pengelasan', $forminspeksi['sistem_pengelasan'] ?? ''),
'index' => 7,
],
];
@endphp
@if (count($inputStrukturKapal) > 0)
@foreach ($inputStrukturKapal 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'] }}">
<em id="error_{{ $item['name'] }}" class="alert text-danger text-sm"></em>
</div>
</div>
@endforeach
@endif
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Deskripsi/Keterangan Lain Lain </label>
<div class="flex flex-wrap items-baseline w-full">
<textarea name="deskripsi_struktur" id="" class="textarea">{{ old('deskripsi_struktur', $forminspeksi['deskripsi_struktur'] ?? '') }}</textarea>
<em id="error_deskripsi_struktur" class="alert text-danger text-sm"></em>
</div>
</div>
</div>
</div>
</div>
{{-- Peralatan Keselamatan --}}
<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">
Peralatan Keselamatan
</h3>
</div>
<div class="card-body overflow-hidden">
<div class="grid gap-5">
@php
$inputPeralatan = [
[
'label' => 'Sekoci/Lifeboat',
'name' => 'sekoci',
'value' => old('sekoci', $forminspeksi['sekoci'] ?? ''),
'index' => 0,
],
[
'label' => 'Jaket Pelampung',
'name' => 'jaket_pelampung',
'value' => old('jaket_pelampung', $forminspeksi['jaket_pelampung'] ?? ''),
'index' => 1,
],
[
'label' => 'Alat Pemadam',
'name' => 'alat_pemadaman',
'value' => old('alat_pemadaman', $forminspeksi['alat_pemadaman'] ?? ''),
'index' => 2,
],
[
'label' => 'Rambu Darurat',
'name' => 'rambu_darurat',
'value' => old('rambu_darurat', $forminspeksi['rambu_darurat'] ?? ''),
'index' => 3,
],
[
'label' => 'Sistem Alarm',
'name' => 'sistem_alarm',
'value' => old('sistem_alarm', $forminspeksi['sistem_alarm'] ?? ''),
'index' => 4,
],
[
'label' => 'Sistem Pencegah',
'name' => 'sistem_pencegah',
'value' => old('sistem_pencegah', $forminspeksi['sistem_pencegah'] ?? ''),
'index' => 5,
],
[
'label' => 'Kebakaran',
'name' => 'kebakaran',
'value' => old('kebakaran', $forminspeksi['kebakaran'] ?? ''),
'index' => 6,
],
[
'label' => 'Lampu Darurat',
'name' => 'lampu_darurat',
'value' => old('lampu_darurat', $forminspeksi['lampu_darurat'] ?? ''),
'index' => 7,
],
];
@endphp
@if (count($inputPeralatan) > 0)
@foreach ($inputPeralatan 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'] }}">
<em id="error-{{ $item['name'] }}" class="alert text-danger text-sm"></em>
</div>
</div>
@endforeach
@endif
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Deskripsi/Keterangan Lain Lain </label>
<div class="flex flex-wrap items-baseline w-full">
<textarea name="deskripsi_peralatan" id="" class="textarea">{{ old('deskripsi_peralatan', $forminspeksi['deskripsi_peralatan'] ?? '') }}</textarea>
<em id="error-deskripsi_peralatan" class="alert text-danger text-sm"></em>
</div>
</div>
</div>
</div>
</div>
{{-- Sistwm Navigasi dan Komunikasi --}}
<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">
Sistem Navigasi dan Komunikasi
</h3>
</div>
<div class="card-body overflow-hidden">
<div class="grid gap-5">
@php
$inputDataLoaksi = [
[
'label' => 'Gps',
'name' => 'gps',
'value' => old('gps', $forminspeksi['gps'] ?? ''),
'index' => 0,
],
[
'label' => 'Radar',
'name' => 'radar',
'value' => old('radar', $forminspeksi['radar'] ?? ''),
'index' => 1,
],
[
'label' => 'Radio Komunikasi',
'name' => 'radio_komunikasi',
'value' => old('radio_komunikasi', $forminspeksi['radio_komunikasi'] ?? ''),
'index' => 2,
],
[
'label' => 'Lampu Navigasi',
'name' => 'lampu_navigasi',
'value' => old('lampu_navigasi', $forminspeksi['lampu_navigasi'] ?? ''),
'index' => 3,
],
[
'label' => 'Sistem Kendali otomatis',
'name' => 'sistem_kendali_otomatis',
'value' => old('sistem_kendali_otomatis', $forminspeksi['sistem_kendali_otomatis'] ?? ''),
'index' => 4,
],
[
'label' => 'Kompas',
'name' => 'kompas',
'value' => old('kompas', $forminspeksi['kompas'] ?? ''),
'index' => 5,
],
];
@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'] }}">
<em id="error-{{ $item['name'] }}" class="alert text-danger text-sm"></em>
</div>
</div>
@endforeach
@endif
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Deskripsi/Keterangan Lain Lain </label>
<div class="flex flex-wrap items-baseline w-full">
<textarea name="deskripsi_navigasi" id="" class="textarea">{{ old('deskripsi_navigasi', $forminspeksi['deskripsi_navigasi'] ?? '') }}</textarea>
<em id="error-deskripsi_navigasi" class="alert text-danger text-sm"></em>
</div>
</div>
</div>
</div>
</div>
{{-- Sistwm Mesin dan Penggerak Kapal --}}
<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">
Sistem Mesin dan Penggerak Kapal
</h3>
</div>
<div class="card-body overflow-hidden">
<div class="grid gap-5">
@php
$inputSistemPengerak = [
[
'label' => 'Mesin Utama',
'name' => 'mesin_utama',
'value' => old('mesin_utama', $forminspeksi['mesin_utama'] ?? ''),
'index' => 0,
],
[
'label' => 'Mesin Bantu',
'name' => 'mesin_bantu',
'value' => old('mesin_bantu', $forminspeksi['mesin_bantu'] ?? ''),
'index' => 1,
],
[
'label' => 'Pompa Pendingin',
'name' => 'pompa_pendingin',
'value' => old('pompa_pendingin', $forminspeksi['pompa_pendingin'] ?? ''),
'index' => 2,
],
[
'label' => 'Sistem Pelumasan',
'name' => 'sistem_pelumasan',
'value' => old('sistem_pelumasan', $forminspeksi['sistem_pelumasan'] ?? ''),
'index' => 3,
],
[
'label' => 'Propeller',
'name' => 'propeller',
'value' => old('propeller', $forminspeksi['propeller'] ?? ''),
'index' => 4,
],
[
'label' => 'Sistem Kelistrikan',
'name' => 'sistem_kelistrikan',
'value' => old('sistem_kelistrikan', $forminspeksi['sistem_kelistrikan'] ?? ''),
'index' => 5,
],
];
@endphp
@if (count($inputSistemPengerak) > 0)
@foreach ($inputSistemPengerak 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'] }}>
<em id="error-{{ $item['name'] }}" class="alert text-danger text-sm"></em>
</div>
</div>
@endforeach
@endif
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Deskripsi/Keterangan Lain Lain </label>
<div class="flex flex-wrap items-baseline w-full">
<textarea name="deskripsi_mesin_penggerak" id="" class="textarea">{{ old('deskripsi_mesin_penggerak', $forminspeksi['deskripsi_mesin_penggerak'] ?? '') }}</textarea>
<em id="error-deskripsi_mesin_penggerak" class="alert text-danger text-sm"></em>
</div>
</div>
</div>
</div>
</div>
{{-- Sistwm kelistrikan dan Elektronik --}}
<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">
Sistem Kelistrikan dan Elektronik
</h3>
</div>
<div class="card-body overflow-hidden">
<div class="grid gap-5">
@php
$inputSistemKelistrikan = [];
$inputSistemKelistrikan = [
[
'label' => 'Lampu Navigasi',
'name' => 'lampu_navigasi',
'value' => old('lampu_navigasi', $forminspeksi['lampu_navigasi'] ?? ''),
'index' => 0,
],
[
'label' => 'Sistem Penerangan',
'name' => 'sistem_penerangan',
'value' => old('sistem_penerangan', $forminspeksi['sistem_penerangan'] ?? ''),
'index' => 1,
],
[
'label' => 'Sistem Panel Distribusi',
'name' => 'sistem_panel_distribusi',
'value' => old('sistem_panel_distribusi', $forminspeksi['sistem_panel_distribusi'] ?? ''),
'index' => 2,
'index' => 2,
],
[
'label' => 'Kabel dan Perangkat Pendukung',
'name' => 'kabel_perangkat',
'value' => old('kabel_perangkat', $forminspeksi['kabel_perangkat'] ?? ''),
'index' => 3,
],
];
@endphp
@if (count($inputSistemKelistrikan) > 0)
@foreach ($inputSistemKelistrikan 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'] }}">
<em id="error-{{ $item['name'] }}" class="alert text-danger text-sm"></em>
</div>
</div>
@endforeach
@endif
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Deskripsi/Keterangan Lain Lain </label>
<div class="flex flex-wrap items-baseline w-full">
<textarea name="deskripsi_kelistrikan" id="" class="textarea">{{ old('deskripsi_kelistrikan', $forminspeksi['deskripsi_kelistrikan'] ?? '') }}</textarea>
<em id="error_deskripsi_kelistrikan" class="alert text-danger text-sm"></em>
</div>
</div>
</div>
</div>
</div>
{{-- Linkungan dan Kebersihan Kapal --}}
<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">
Linkungan dan Kebersihan Kapal
</h3>
</div>
<div class="card-body overflow-hidden">
<div class="grid gap-5">
@php
$inputLinkungan = [
[
'label' => 'Kebersihan Dek Luar',
'name' => 'kebersihan_dek_luar',
'value' => old('kebersihan_dek_luar', $forminspeksi['kebersihan_dek_luar'] ?? ''),
'index' => 0,
],
[
'label' => 'Tangki Limbah',
'name' => 'tangki_limbah',
'value' => old('tangki_limbah', $forminspeksi['tangki_limbah'] ?? ''),
'index' => 1,
],
[
'label' => 'Sistem Pengelolaan Limbah',
'name' => 'sistem_pengelolaan_limbah',
'value' => old('sistem_pengelolaan_limbah', $forminspeksi['sistem_pengelolaan_limbah'] ?? ''),
'index' => 2,
],
[
'label' => 'Pengelolaan Air Ballast',
'name' => 'pengelolaan_air_ballast',
'value' => old('pengelolaan_air_ballast', $forminspeksi['pengelolaan_air_ballast'] ?? ''),
'index' => 3,
'index' => 3,
],
];
@endphp
@if (count($inputLinkungan) > 0)
@foreach ($inputLinkungan 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'] }}>
<em id="error_{{ $item['name'] }}" class="alert text-danger text-sm"></em>
</div>
</div>
@endforeach
@endif
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Deskripsi/Keterangan Lain Lain </label>
<div class="flex flex-wrap items-baseline w-full">
<textarea name="deskripsi_kebersihan" id="" class="textarea">{{ old('deskripsi_kebersihan', $forminspeksi['deskripsi_kebersihan'] ?? '') }}</textarea>
<em id="error_deskripsi_kebersihan" class="alert text-danger text-sm"></em>
</div>
</div>
</div>
</div>
</div>
<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="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>
<div id="fakta-positif-container" class="flex flex-wrap items-baseline w-full">
@if (!empty($forminspeksi['fakta_positif']))
@foreach ($forminspeksi['fakta_positif'] as $index => $positif)
<div class="fakta_positif flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="fakta_positif[]" rows="10">{{ old("fakta_positif.$index", $positif) }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button"
style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@endforeach
@else
<div class="fakta_positif flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="fakta_positif[]" rows="10">{{ old('fakta_positif.0', '') }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button" style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@endif
<button type="button" class="btn btn-primary btn-sm mt-5"
onclick="addClonableItem('fakta-positif-container', 'fakta_positif')">
<i class="ki-outline ki-plus"></i>
</button>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Faktor Negatif</label>
<div id="fakta-negatif-container" class="flex flex-wrap items-baseline w-full">
@if (!empty($forminspeksi['fakta_negatif']))
@foreach ($forminspeksi['fakta_negatif'] as $index => $negatif)
<div class="fakta_negatif flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="fakta_negatif[]" rows="10">{{ old("fakta_negatif.$index", $negatif) }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button"
style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@endforeach
@else
<div class="fakta_negatif flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="fakta_negatif[]" rows="10">{{ old('fakta_negatif.0', $forminspeksi['fakta_negatif'][0] ?? '') }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button" style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
<em id="error-fakta_negatif" class="alert text-danger text-sm"></em>
</div>
@endif
<button type="button" class="btn btn-primary btn-sm mt-5"
onclick="addClonableItem('fakta-negatif-container', 'fakta_negatif')">
<i class="ki-outline ki-plus"></i>
</button>
</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">
<div class="catatan flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="catatan[]" rows="10">{{ old('catatan.0', $forminspeksi['catatan'][0] ?? '') }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button" style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
<em id="error-catatan" class="alert text-danger text-sm"></em>
</div>
<button type="button"
onclick="addClonableItem('catatan-container', 'catatan')"
class="btn btn-primary btn-sm mt-5 ">
<i class="ki-outline ki-plus"></i>
</button>
</div>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,750 @@
<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 class="flex items-center gap-2">
<a href="{{ url()->previous() }}" class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back
</a>
</div>
</div>
<div class="card-body">
<div class="grid gap-5 grid-cols-2">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Tujuan Penilaian</label>
<div class="flex flex-wrap items-baseline w-full">
@if (isset($permohonan->tujuanPenilaian))
<p class="text-2sm text-gray-700">{{ $permohonan->tujuanPenilaian->name }}</p>
@endif
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Tanggal Dibuat</label>
<div class="flex flex-wrap items-base line w-full">
<p class="text-2sm text-gray-700">{{ $permohonan->created_at->format('d/m/Y') }}</p>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Cab/Direktorat</label>
<div class="flex flex-wrap items-baseline w-full">
@if (isset($permohonan->branch))
<p class="text-2sm text-gray-700">{{ $permohonan->branch->name }}</p>
@endif
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">AO</label>
<div class="flex flex-wrap items-baseline w-full">
@if (isset($permohonan->user))
<p class="text-2sm text-gray-700">{{ $permohonan->user->name }}</p>
@endif
</div>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 mt-5">
<label class="form-label max-w-56">Tanggal Survey</label>
<div class="flex flex-wrap items-baseline w-full">
<input type="date" name="tanggal_survey" class="input"
placeholder="Masukkan Hubungan Calon Debitur" value="{{ $forminspeksi['tanggal_survey'] ?? "" }}">
<em id="error-tanggal_survey" class="alert text-danger text-sm"></em>
</div>
</div>
</div>
</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">
Identitas Debitur
</h3>
</div>
<div class="card-body">
<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">Nama Calon Debitur</label>
<div class="flex flex-wrap items-baseline w-full">
@if (isset($permohonan->debiture->name))
<p class="text-2sm text-gray-700">{{ $permohonan->debiture->name }}</p>
@endif
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<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" value="{{ $forminspeksi['nama_wakil'] ?? '' }}">
<em id="error-nama_wakil" class="alert text-danger text-sm"></em>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<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" value="{{$forminspeksi['hub_calon_debitur'] ?? ''}}">
<em id="error-hub_calon_debitur" class="alert text-danger text-sm"></em>
</div>
</div>
</div>
{{-- 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="grid gap-5">
@include('lpj::component.detail-jaminan', ['status' => true])
@php
$inputDataJaminan = [
[
'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
@if (count($inputDataJaminan) > 0)
@foreach ($inputDataJaminan 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="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
@endif
</div>
</div>
</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">
Kondisi Fisik Objek
</h3>
</div>
<div class="card-body">
<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">Kendaraan</label>
<div class="flex flex-wrap items-baseline w-full">
<div class="flex flex-col items-start gap-4">
@if (isset($basicData['jenisKendaraan']))
@foreach ($basicData['jenisKendaraan'] as $item)
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56 gap-2.5" style="width: 500px">
<input class="checkbox" name="kendaraan[]" type="checkbox"
value="{{ $item->name }}"
{{ in_array($item->name, old('kendaraan', $forminspeksi['kendaraan'] ?? [])) ? 'checked' : '' }} />
{{ $item->name }}
</label>
<input type="text" name="kendaraan_input[]" class="input w-full"
id="kendaraan_input" placeholder="Masukkan {{ $item->name }}..."
value="{{ old('kendaraan_input.' . $loop->index, $forminspeksi['kendaraan_input'][$loop->index] ?? '') }}">
</div>
@endforeach
@endif
</div>
<em id="error-kendaraan" class="alert text-danger text-sm"></em>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Kondisi</label>
<div class="flex flex-wrap items-baseline w-full">
<input type="text" name="kondisi" class="input" placeholder="Masukkan Kondisi" value="{{ $forminspeksi['kondisi'] ?? '' }}">
<em id="error-kondisi" class="alert text-danger text-sm"></em>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Nomor polisi</label>
<div class="mt-2">
@if (isset($permohonan->documents))
@foreach ($permohonan->documents as $item)
@php
$details = json_decode($item->detail);
$nomo_polisi = isset($details['nomo_polisi']) ? $details['nomo_polisi'] : 'N/A';
@endphp
<p class="text-2sm text-gray-700">{{ $nomo_polisi }} </p>
@endforeach
@endif
<div class="flex-wrap items-stretch">
<div class="flex flex-wrap items-baseline w-full">
<div class="grid grid-cols-3 md:grid-cols-3 gap-4 mt-2">
<label class="form-label flex items-center gap-3 text-nowrap">
<input type="radio" class="radio" name="nomor_polisi" value="sesuai"
onclick="toggleTidakSesuai('nomor_polisi', 'nomor_polis_tidak_sesuai')"
{{ old('nomor_polisi', $forminspeksi['nomor_polisi'] ?? '') == 'sesuai' ? 'checked' : '' }}>
<span class="ml-2">Sesuai</span>
</label>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input type="radio" class="radio" name="nomor_polisi" value="tidak sesuai"
onclick="toggleTidakSesuai('nomor_polisi', 'nomor_polis_tidak_sesuai')"
{{ old('nomor_polisi', $forminspeksi['nomor_polisi'] ?? '') == 'tidak sesuai' ? 'checked' : '' }}>
<span class="ml-2">Tidak Sesuai</span>
</label>
<input type="text" name="nomor_polis_tidak_sesuai" id="nomor_polis_tidak_sesuai"
class="input w-full" placeholder="Masukan Nomor polisi"
value="{{ old('nomor_polis_tidak_sesuai', $forminspeksi['nomor_polis_tidak_sesuai'] ?? '') }}"
style="{{ old('nomor_polisi', $forminspeksi['nomor_polisi'] ?? '') == 'tidak sesuai' ? '' : 'display: none;' }}">
</div>
<em id="error-nomor_polisi" class="alert text-danger text-sm"></em>
</div>
</div>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Merek</label>
<div class="mt-2">
@if (isset($permohonan->documents))
@foreach ($permohonan->documents as $item)
@php
$details = json_decode($item->detail);
$merek = isset($details['merek']) ? $details['merek'] : 'N/A';
@endphp
<p class="text-2sm text-gray-700">{{ $merek }} </p>
@endforeach
@endif
<div class="flex-wrap items-stretch">
<div class="flex flex-wrap items-baseline w-full">
<div class="grid grid-cols-3 md:grid-cols-3 gap-4 mt-2">
<label class="form-label flex items-center gap-3 text-nowrap">
<input type="radio" class="radio" name="merek" value="sesuai"
onclick="toggleTidakSesuai('merek', 'merek_tidak_sesuai')"
{{ old('merek', $forminspeksi['merek'] ?? '') == 'sesuai' ? 'checked' : '' }}>
<span class="ml-2">Sesuai</span>
</label>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input type="radio" class="radio" name="merek" value="tidak sesuai"
onclick="toggleTidakSesuai('merek', 'merek_tidak_sesuai')"
{{ old('merek', $forminspeksi['merek'] ?? '') == 'tidak sesuai' ? 'checked' : '' }}>
<span class="ml-2">Tidak Sesuai</span>
</label>
<input type="text" name="merek_tidak_sesuai" id="merek_tidak_sesuai"
class="input w-full" placeholder="Masukan Merek"
value="{{ old('merek_tidak_sesuai', $forminspeksi['merek_tidak_sesuai'] ?? '') }}"
style="{{ old('merek', $forminspeksi['merek'] ?? '') == 'tidak sesuai' ? '' : 'display: none;' }}">
</div>
<em id="error-merek" class="alert text-danger text-sm"></em>
</div>
</div>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Warna</label>
<div class="mt-2">
@if (isset($permohonan->documents))
@foreach ($permohonan->documents as $item)
@php
$details = json_decode($item->detail);
$warna = isset($details['warna']) ? $details['warna'] : 'N/A';
@endphp
<p class="text-2sm text-gray-700">{{ $warna }} </p>
@endforeach
@endif
<div class="flex-wrap items-stretch">
<div class="flex flex-wrap items-baseline w-full">
<div class="grid grid-cols-3 md:grid-cols-3 gap-4 mt-2">
<label class="form-label flex items-center gap-3 text-nowrap">
<input type="radio" class="radio" name="warna" value="sesuai"
onclick="toggleTidakSesuai('warna', 'warna_tidak_sesuai')"
{{ old('warna', $forminspeksi['warna'] ?? '') == 'sesuai' ? 'checked' : '' }}>
<span class="ml-2">Sesuai</span>
</label>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input type="radio" class="radio" name="warna" value="tidak sesuai"
onclick="toggleTidakSesuai('warna', 'warna_tidak_sesuai')"
{{ old('warna', $forminspeksi['warna'] ?? '') == 'tidak sesuai' ? 'checked' : '' }}>
<span class="ml-2">Tidak Sesuai</span>
</label>
<input type="text" name="warna_tidak_sesuai" id="warna_tidak_sesuai"
class="input w-full" placeholder="Masukan Warna"
value="{{ old('warna_tidak_sesuai', $forminspeksi['warna_tidak_sesuai'] ?? '') }}"
style="{{ old('warna', $forminspeksi['warna'] ?? '') == 'tidak sesuai' ? '' : 'display: none;' }}">
</div>
<em id="error-warna" class="alert text-danger text-sm"></em>
</div>
</div>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Nomor Rangka</label>
<div class="mt-2">
@if (isset($permohonan->documents))
@foreach ($permohonan->documents as $item)
@php
$details = json_decode($item->detail);
$nomor_rangka = isset($details['nomor_rangka']) ? $details['nomor_rangka'] : 'N/A';
@endphp
<p class="text-2sm text-gray-700">{{ $nomor_rangka }} </p>
@endforeach
@endif
<div class="flex-wrap items-stretch">
<div class="flex flex-wrap items-baseline w-full">
<div class="grid grid-cols-3 md:grid-cols-3 gap-4 mt-2">
<label class="form-label flex items-center gap-3 text-nowrap">
<input type="radio" class="radio" name="nomor_rangka" value="sesuai"
onclick="toggleTidakSesuai('nomor_rangka', 'nomor_rangka_tidak_sesuai')"
{{ old('nomor_rangka', $forminspeksi['nomor_rangka'] ?? '') == 'sesuai' ? 'checked' : '' }}>
<span class="ml-2">Sesuai</span>
</label>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input type="radio" class="radio" name="nomor_rangka" value="tidak sesuai"
onclick="toggleTidakSesuai('nomor_rangka', 'nomor_rangka_tidak_sesuai')"
{{ old('nomor_rangka', $forminspeksi['nomor_rangka'] ?? '') == 'tidak sesuai' ? 'checked' : '' }}>
<span class="ml-2">Tidak Sesuai</span>
</label>
<input type="text" name="nomor_rangka_tidak_sesuai" id="nomor_rangka_tidak_sesuai"
class="input w-full" placeholder="Masukan Nomor Rangka"
value="{{ old('nomor_rangka_tidak_sesuai', $forminspeksi['nomor_rangka_tidak_sesuai'] ?? '') }}"
style="{{ old('nomor_rangka', $forminspeksi['nomor_rangka'] ?? '') == 'tidak sesuai' ? '' : 'display: none;' }}">
</div>
<em id="error-nomor_rangka" class="alert text-danger text-sm"></em>
</div>
</div>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Nomor Mesin</label>
<div class="mt-2">
@if (isset($permohonan->documents))
@foreach ($permohonan->documents as $item)
@php
$details = json_decode($item->detail);
$nomor_mesin = isset($details['nomor_mesin']) ? $details['nomor_mesin'] : 'N/A';
@endphp
<p class="text-2sm text-gray-700">{{ $nomor_mesin }} </p>
@endforeach
@endif
<div class="flex-wrap items-stretch">
<div class="flex flex-wrap items-baseline w-full">
<div class="grid grid-cols-3 md:grid-cols-3 gap-4 mt-2">
<label class="form-label flex items-center gap-3 text-nowrap">
<input type="radio" class="radio" name="nomor_mesin" value="sesuai"
onclick="toggleTidakSesuai('nomor_mesin', 'nomor_mesin_tidak_sesuai')"
{{ old('nomor_mesin', $forminspeksi['nomor_mesin'] ?? '') == 'sesuai' ? 'checked' : '' }}>
<span class="ml-2">Sesuai</span>
</label>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input type="radio" class="radio" name="nomor_mesin" value="tidak sesuai"
onclick="toggleTidakSesuai('nomor_mesin', 'nomor_mesin_tidak_sesuai')"
{{ old('nomor_mesin', $forminspeksi['nomor_mesin'] ?? '') == 'tidak sesuai' ? 'checked' : '' }}>
<span class="ml-2">Tidak Sesuai</span>
</label>
<input type="text" name="nomor_mesin_tidak_sesuai" id="nomor_mesin_tidak_sesuai"
class="input w-full" placeholder="Masukan Nomor Mesin"
value="{{ old('nomor_mesin_tidak_sesuai', $forminspeksi['nomor_mesin_tidak_sesuai'] ?? '') }}"
style="{{ old('nomor_mesin', $forminspeksi['nomor_mesin'] ?? '') == 'tidak sesuai' ? '' : 'display: none;' }}">
</div>
<em id="error-nomor_mesin" class="alert text-danger text-sm"></em>
</div>
</div>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Posisi Kilometer</label>
<div class="flex flex-wrap items-baseline w-full">
<input type="text" name="posisi_kilometer" class="input" placeholder="Posisi Kilometer" value="{{ $forminspeksi['posisi_kilometer'] ?? '' }}">
<em id="error-posisi_kilometer" class="alert text-danger text-sm"></em>
</div>
</div>
@php
$inputDataJaminan = [
[
'label' => 'Transmisi',
'value' => ['Otomatis', 'Manual'],
'name' => 'transmisi',
'index' => 0,
],
[
'label' => 'Mesin dan panel Instrument',
'value' => ['Terawat', 'Cukup Terawat', 'Tidak Terawat'],
'name' => 'mesin_panel_instrument',
'index' => 1,
],
[
'label' => 'Fungsi Mesin dan panel Instument',
'value' => ['Berfungsi', 'Rusak'],
'name' => 'fungsi_mesin_panel_instrument',
'index' => 2,
],
[
'label' => 'Interior',
'value' => ['Terawat', 'Cukup Terawat', 'Tidak Terawat'],
'name' => 'interior',
'index' => 3,
],
[
'label' => 'Jumlah pintu',
'value' => ['Dua Pintu', 'Empat Pintu', 'Lain-Lain'],
'name' => 'jumlah_pintu',
'index' => 4,
],
[
'label' => 'Rangka dan karoseri',
'value' => ['Terawat', 'Cukup Terawat', 'Tidak Terawat'],
'name' => 'rangka_karoseri',
'index' => 5,
],
[
'label' => 'Ban',
'value' => ['Standard', 'Tidak Standard'],
'name' => 'ban',
'index' => 6,
],
[
'label' => 'Velg',
'value' => ['Standard', 'Tidak Standard'],
'name' => 'velg',
'index' => 7,
],
[
'label' => 'Bamper Depan',
'value' => ['Terawat', 'Cukup Terawat', 'Tidak Terawat'],
'name' => 'bamper_depan',
'index' => 8,
],
[
'label' => 'Bamper Belakang',
'value' => ['Terawat', 'Cukup Terawat', 'Tidak Terawat'],
'name' => 'bamper_belakang',
'index' => 9,
],
[
'label' => 'Lampu depan',
'value' => ['Terawat', 'Cukup Terawat', 'Tidak Terawat'],
'name' => 'lampu_depan',
'index' => 10,
],
[
'label' => 'Lampu belakang',
'value' => ['Terawat', 'Cukup Terawat', 'Tidak Terawat'],
'name' => 'lampu_belakang',
'index' => 11,
],
[
'label' => 'Kaca kendaraan',
'value' => ['Terawat', 'Cukup Terawat', 'Tidak Terawat'],
'name' => 'kaca_kendaraan',
'index' => 12,
],
[
'label' => 'Air Conditioner',
'value' => ['Ada', 'Tidak Ada'],
'name' => 'air_conditioner',
'index' => 13,
],
[
'label' => 'Tape/Radio/CD dan perlengkapan (Equalizer, Booster, dll)',
'value' => ['Ada', 'Tidak Ada'],
'name' => 'tape_radio_cd',
'index' => 14,
],
[
'label' => 'Sensor parkir',
'value' => ['Ada', 'Tidak Ada'],
'name' => 'sensor_parkir',
'index' => 15,
],
[
'label' => 'Sensor Camera (360), Recorder',
'value' => ['Ada', 'Tidak Ada'],
'name' => 'sensor_camera_recorder',
'index' => 16,
],
[
'label' => 'Lcd',
'value' => ['Ada', 'Tidak Ada'],
'name' => 'lcd',
'index' => 17,
],
[
'label' => 'Sabuk Keselamatan',
'value' => ['Ada', 'Tidak Ada'],
'name' => 'sabuk_keselamatan',
'index' => 18,
],
[
'label' => 'Airbag',
'value' => ['Ada', 'Tidak Ada'],
'name' => 'airbag',
'index' => 19,
],
[
'label' => 'Asuransi',
'value' => ['Ada', 'Tidak Ada'],
'name' => 'asuransi',
'index' => 20,
],
];
@endphp
@if (count($inputDataJaminan) > 0)
@foreach ($inputDataJaminan as $item)
<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">
<div class="flex flex-col items-start gap-4">
@if (isset($item['value']))
@foreach ($item['value'] as $value)
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56 gap-2.5" style="width: 500px">
<input class="checkbox" name="{{ $item['name'] }}[]" type="checkbox"
value="{{ $value }}"
{{ in_array($value, old($item['name'], $forminspeksi[$item['name']] ?? [])) ? 'checked' : '' }} />
{{ $value }}
</label>
<input type="text" name="{{ $item['name'] }}_input[]"
class="input w-full"
id="bentukTanahInput-{{ $loop->parent->index }}-{{ $loop->index }}"
placeholder="Masukkan {{ $value }}..."
value="{{ old($item['name'] . '_input.' . $loop->index, $forminspeksi[$item['name'] . '_input'][$loop->index] ?? '') }}">
</div>
@endforeach
@endif
</div>
<div class="w-full">
<em id="error-{{ $item['name'] }}" class="alert text-danger text-sm"></em>
<em id="error-{{ $item['name'] }}-input-{{ $loop->index }}"
class="alert text-danger text-sm"></em>
</div>
</div>
</div>
@endforeach
@endif
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<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" value="{{ $forminspeksi['perusahaan_asuransi'] ?? '' }}">
<em class="alert text-danger text-sm"></em>
</div>
</div>
<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" value="{{ $forminspeksi['tahun_berakhir'] ?? "" }}">
<em class="alert text-danger text-sm"></em>
</div>
</div>
</div>
</div>
</div>
<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="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>
<div id="fakta-positif-container" class="flex flex-wrap items-baseline w-full">
@if (!empty($forminspeksi['fakta_positif']))
@foreach ($forminspeksi['fakta_positif'] as $index => $positif)
<div class="fakta_positif flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="fakta_positif[]" rows="10">{{ old("fakta_positif.$index", $positif) }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button"
style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@endforeach
@else
<div class="fakta_positif flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="fakta_positif[]" rows="10">{{ old('fakta_positif.0', '') }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button" style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@endif
<button type="button" class="btn btn-primary btn-sm mt-5"
onclick="addClonableItem('fakta-positif-container', 'fakta_positif')">
<i class="ki-outline ki-plus"></i>
</button>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Faktor Negatif</label>
<div id="fakta-negatif-container" class="flex flex-wrap items-baseline w-full">
@if (!empty($forminspeksi['fakta_negatif']))
@foreach ($forminspeksi['fakta_negatif'] as $index => $negatif)
<div class="fakta_negatif flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="fakta_negatif[]" rows="10">{{ old("fakta_negatif.$index", $negatif) }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button"
style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@endforeach
@else
<div class="fakta_negatif flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="fakta_negatif[]" rows="10">{{ old('fakta_negatif.0', $forminspeksi['fakta_negatif'][0] ?? '') }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button" style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
<em id="error-fakta_negatif" class="alert text-danger text-sm"></em>
</div>
@endif
<button type="button" class="btn btn-primary btn-sm mt-5"
onclick="addClonableItem('fakta-negatif-container', 'fakta_negatif')">
<i class="ki-outline ki-plus"></i>
</button>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Analisa makro</label>
<div id="analisa_makro-container" class="flex flex-wrap items-baseline w-full">
@if (!empty($forminspeksi['analisa_makro']))
@foreach ($forminspeksi['analisa_makro'] as $index => $negatif)
<div class="analisa_makro flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="analisa_makro[]" rows="10">{{ old("analisa_makro.$index", $negatif) }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button"
style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@endforeach
@else
<div class="analisa_makro flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="analisa_makro[]" rows="10">{{ old('analisa_makro.0', $forminspeksi['analisa_makro'][0] ?? '') }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button" style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
<em id="error-analisa_makro" class="alert text-danger text-sm"></em>
</div>
@endif
<button type="button" class="btn btn-primary btn-sm mt-5"
onclick="addClonableItem('analisa_makro-container', 'analisa_makro')">
<i class="ki-outline ki-plus"></i>
</button>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Kesimpulan</label>
<div id="kesimpulan-container" class="flex flex-wrap items-baseline w-full">
@if (!empty($forminspeksi['kesimpulan']))
@foreach ($forminspeksi['kesimpulan'] as $index => $negatif)
<div class="kesimpulan flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="kesimpulan[]" rows="10">{{ old("kesimpulan.$index", $negatif) }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button"
style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@endforeach
@else
<div class="kesimpulan flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="kesimpulan[]" rows="10">{{ old('kesimpulan.0', $forminspeksi['kesimpulan'][0] ?? '') }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button" style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
<em id="error-kesimpulan" class="alert text-danger text-sm"></em>
</div>
@endif
<button type="button" class="btn btn-primary btn-sm mt-5"
onclick="addClonableItem('kesimpulan-container', 'kesimpulan')">
<i class="ki-outline ki-plus"></i>
</button>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Kesimpulan</label>
<div id="catatan-container" class="flex flex-wrap items-baseline w-full">
@if (!empty($forminspeksi['catatan']))
@foreach ($forminspeksi['catatan'] as $index => $negatif)
<div class="catatan flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="catatan[]" rows="10">{{ old("catatan.$index", $negatif) }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button"
style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@endforeach
@else
<div class="catatan flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="catatan[]" rows="10">{{ old('catatan.0', $forminspeksi['catatan'][0] ?? '') }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button" style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
<em id="error-catatan" class="alert text-danger text-sm"></em>
</div>
@endif
<button type="button" class="btn btn-primary btn-sm mt-5"
onclick="addClonableItem('catatan-container', 'catatan')">
<i class="ki-outline ki-plus"></i>
</button>
</div>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,417 @@
<div class="card border border-agi-100 w-full rounded-lg shadow-md overflow-hidden">
<div class="card-header light:bg-agi-50">
<h3 class="card-title uppercase">
Analisa Lingkungan
</h3>
</div>
<div class="card-body">
<div class="grid gap-5">
<!-- Jarak dari Objek Utama -->
<div class=" rounded-lg">
<div class="grid grid-cols-2 gap-5">
<div>
<label class="block text-sm font-medium text-gray-700">Jarak Dari Jalan
Utama</label>
<input type="text" class="input mt-2" name="jarak_jalan_utama" placeholder="Km"
value="{{ old('jarak_jalan_utama', isset($forminspeksi['lingkungan']['jarak_jalan_utama']) ? $forminspeksi['lingkungan']['jarak_jalan_utama'] : '') }}">
</div>
<div>
<label class="block text-sm font-medium text-gray-700">Jalan</label>
<input type="text" name="jalan_linkungan" class="input mt-2"
placeholder="Masukkan Nama Jalan"
value="{{ old('jalan_linkungan', isset($forminspeksi['lingkungan']['jalan_linkungan']) ? $forminspeksi['lingkungan']['jalan_linkungan'] : '') }}">
</div>
<div>
<label class="block text-sm font-medium text-gray-700">Jarak ke CBD Point</label>
<input type="text" class="input mt-2" name="jarak_cbd_point" placeholder="Masukkan Jarak ke CBD Point"
value="{{ old('jarak_cbd_point', isset($forminspeksi['lingkungan']['jarak_cbd_point']) ? $forminspeksi['lingkungan']['jarak_cbd_point'] : '') }}">
</div>
<div>
<label class="block text-sm font-medium text-gray-700">Nama CBD Point</label>
<input type="text" class="input mt-2" name="nama_cbd_point" placeholder="Masukkan Nama CBD Point"
value="{{ old('nama_cbd_point', isset($forminspeksi['lingkungan']['nama_cbd_point']) ? $forminspeksi['lingkungan']['nama_cbd_point'] : '') }}">
</div>
</div>
<div class="w-full mt-4">
<label class="block text-sm font-medium text-gray-700">Lebar Perkerasan Jalan Depan objek</label>
@php
$lebarPerkerasanJalan = old(
'lebar_perkerasan_jalan',
$forminspeksi['lingkungan']['lebar_perkerasan_jalan'] ?? '',
);
@endphp
<input type="text" name="lebar_perkerasan_jalan" class="input mt-2" placeholder="Masukkan Lebar Perkerasan Jalan"
value="{{ $lebarPerkerasanJalan }}">
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Perkerasan Jalan</label>
<div class="flex flex-wrap items-baseline w-full">
<div class="flex flex-col items-start gap-4">
@if (isset($basicData['perkerasanJalan']))
@foreach ($basicData['perkerasanJalan'] as $item)
@php
$isChecked = in_array(
$item->name,
isset($forminspeksi['lingkungan']['perkerasan_jalan']['perkerasan_jalan'])
? $forminspeksi['lingkungan']['perkerasan_jalan']['perkerasan_jalan']
: [],
);
@endphp
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="perkerasan_jalan[]" type="checkbox"
value="{{ $item->name }}" {{ $isChecked ? 'checked' : '' }}
onclick="toggleCheckboxVisibility('perkerasan_jalan', 'perkerasan_jalan_lainnya', ['lainnya'])" />
{{ $item->name }}
</label>
@if (strcasecmp($item->name, 'Lainnya') == 0)
@php
$lainnyaValue = old(
'perkerasan_jalan_lainnya',
isset($forminspeksi['lingkungan']['perkerasan_jalan']['lainnya'])
? $forminspeksi['lingkungan']['perkerasan_jalan']['lainnya']
: '',
);
@endphp
<input id="perkerasan_jalan_lainnya" type="text"
style="{{ isset($forminspeksi['lingkungan']['perkerasan_jalan']['lainnya']) && $forminspeksi['lingkungan']['perkerasan_jalan']['lainnya'] ? '' : 'display: none' }}"
name="perkerasan_jalan_lainnya" class="input w-full mt-2"
value="{{ $lainnyaValue }}" placeholder="Masukkan lainnya..." />
@endif
@endforeach
@endif
</div>
<em id="error-perkerasan-jalan" class="alert text-danger text-sm"></em>
</div>
</div>
<!-- Lalulintas -->
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Lalu Lintas Depan Lokasi</label>
<div class="flex flex-wrap items-baseline w-full">
<div class="flex flex-col items-start gap-4">
@if (isset($basicData['laluLintasLokasi']))
@foreach ($basicData['laluLintasLokasi'] as $item)
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="lalu_lintas[]" type="checkbox"
value="{{ $item->name }}"
{{ isset($forminspeksi['lingkungan']['lalu_lintas']) && in_array($item->name, explode(',', is_array(old('lalu_lintas', $forminspeksi['lingkungan']['lalu_lintas'] ?? '')) ? implode(',', old('lalu_lintas', $forminspeksi['lingkungan']['lalu_lintas'] ?? '')) : old('lalu_lintas', $forminspeksi['lingkungan']['lalu_lintas'] ?? ''))) ? 'checked' : '' }} />
{{ $item->name }}
</label>
@endforeach
@endif
</div>
<em id="error-lalu-lintas" class="alert text-danger text-sm"></em>
</div>
</div>
<!-- Golongan Hidup Sekitar -->
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Golongan Masyarakat Sekitar</label>
<div class="flex flex-wrap items-baseline w-full">
<div class="flex flex-col items-start gap-4">
@if (isset($basicData['golMasySekitar']))
@foreach ($basicData['golMasySekitar'] as $item)
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="gol_mas_sekitar[]" type="checkbox"
value="{{ $item->name }}"
{{ isset($forminspeksi['lingkungan']['gol_mas_sekitar']) && in_array($item->name, explode(',', is_array(old('gol_mas_sekitar', $forminspeksi['lingkungan']['gol_mas_sekitar'] ?? '')) ? implode(',', old('gol_mas_sekitar', $forminspeksi['lingkungan']['gol_mas_sekitar'] ?? '')) : old('gol_mas_sekitar', $forminspeksi['lingkungan']['gol_mas_sekitar'] ?? ''))) ? 'checked' : '' }} />
{{ $item->name }}
</label>
@endforeach
@endif
</div>
<em id="error-gol_mas_sekitar" class="alert text-danger text-sm"></em>
</div>
</div>
<!-- Tingkat Keramaian -->
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Tingkat Keramaian</label>
<div class="flex flex-wrap items-baseline w-full">
<div class="flex flex-col items-start gap-4">
@if (isset($basicData['tingkatKeramaian']))
@foreach ($basicData['tingkatKeramaian'] as $item)
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="tingkat_keramaian[]" type="checkbox"
value="{{ $item->name }}"
{{ isset($forminspeksi['lingkungan']['tingkat_keramaian']) && in_array($item->name, explode(',', is_array(old('tingkat_keramaian', $forminspeksi['lingkungan']['tingkat_keramaian'] ?? '')) ? implode(',', old('tingkat_keramaian', $forminspeksi['lingkungan']['tingkat_keramaian'] ?? '')) : old('tingkat_keramaian', $forminspeksi['lingkungan']['tingkat_keramaian'] ?? ''))) ? 'checked' : '' }} />
{{ $item->name }}
</label>
@endforeach
@endif
</div>
<em id="error-tingkat_keramaian" class="alert text-danger text-sm"></em>
</div>
</div>
<!-- Terletak Di Area -->
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Terletak Di Area</label>
<div class="flex flex-wrap items-baseline w-full">
<div class="flex flex-col items-start gap-4">
@if (isset($basicData['terletakDiArea']))
@foreach ($basicData['terletakDiArea'] as $item)
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="terletak_diarea[]" type="checkbox"
value="{{ $item->name }}"
{{ isset($forminspeksi['lingkungan']['terletak_diarea']['terletak_diarea']) && in_array($item->name, explode(',', is_array(old('terletak_diarea', $forminspeksi['lingkungan']['terletak_diarea']['terletak_diarea'] ?? '')) ? implode(',', old('terletak_diarea', $forminspeksi['lingkungan']['terletak_diarea']['terletak_diarea'] ?? '')) : old('terletak_diarea', $forminspeksi['lingkungan']['terletak_diarea'] ?? ''))) ? 'checked' : '' }}
onclick="toggleCheckboxVisibility('terletak_diarea', 'terletak_diarea_lainnya', ['Lainnya'])" />
{{ $item->name }}
</label>
@if (strcasecmp($item->name, 'Lainnya') == 0)
@php
$lainnyaValue = old(
'terletak_diarea_lainnya',
isset($forminspeksi['lingkungan']['terletak_diarea']['lainnya'])
? $forminspeksi['lingkungan']['terletak_diarea']['lainnya']
: '',
);
@endphp
<input id="terletak_diarea_lainnya" type="text"
style="{{ isset($forminspeksi['lingkungan']['terletak_diarea']['lainnya']) && $forminspeksi['lingkungan']['terletak_diarea']['lainnya'] ? '' : 'display: none' }}"
name="terletak_diarea_lainnya" class="input w-full mt-2"
value="{{ $lainnyaValue }}" placeholder="Masukkan lainnya..." />
@endif
@endforeach
@endif
</div>
<em id="error-terletak_diarea" class="alert text-danger text-sm"></em>
</div>
</div>
<!-- Disekitar Lokasi -->
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Disekitar Lokasi</label>
<div class="flex flex-wrap items-baseline w-full">
<div class="flex flex-col gap-2 mt-2">
<label class="text-sm flex items-center gap-2.5 text-nowrap">
<input
onclick="toggleFieldVisibility('disekitar_lokasi', 'disekitar_lokasi_sesuai', ['ya'])"
type="radio" class="radio" name="disekitar_lokasi" value="ya"
{{ old('disekitar_lokasi', $forminspeksi['lingkungan']['disekitar_lokasi'] ?? '') == 'ya' ? 'checked' : '' }} />
<span class="ml-2">Telah ada bangunan</span>
</label>
<div class="flex w-full items-center gap-4">
<div id="disekitar_lokasi_sesuai" class="grid grid-cols-2 gap-4 mt-5 mb-5"
style="{{ old('disekitar_lokasi', $forminspeksi['lingkungan']['disekitar_lokasi'] ?? '') == 'ya' ? '' : 'display: none;' }}">
<div class="flex items-center gap-2">
<label for="" class="text-sm text-gray-700">Kondisi bangunan</label>
@php
$kondisi = ['Cukup', 'Baik', 'Kurang'];
@endphp
<select class="select" name="kondisi_bagunan_disekitar_lokasi" id="">
<option value="">pilih kondisi</option>
@foreach ($kondisi as $item)
<option value="{{ $item }}"
{{ old('kondisi_bagunan_disekitar_lokasi', $forminspeksi['lingkungan']['kondisi_bagunan_disekitar_lokasi'] ?? '') == $item ? 'selected' : '' }}>
{{ $item }}
</option>
@endforeach
</select>
</div>
<div class="flex items-center gap-2">
<label for="" class="text-sm text-gray-700">Sifat bangunan</label>
@php
$sifat = ['Permanen', 'Semi Permanen', 'Tidak Permanen'];
@endphp
<select class="select" name="sifat_bagunan_disekitar_lokasi" id="">
<option value="">pilih sifat bagunan</option>
@foreach ($sifat as $item)
<option value="{{ $item }}"
{{ old('sifat_bagunan_disekitar_lokasi', $forminspeksi['lingkungan']['sifat_bagunan_disekitar_lokasi'] ?? '') == $item ? 'selected' : '' }}>
{{ $item }}
</option>
@endforeach
</select>
</div>
</div>
</div>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input
onclick="toggleFieldVisibility('disekitar_lokasi', 'disekitar_lokasi_sesuai', ['ya'])"
type="radio" class="radio" name="disekitar_lokasi" value="tidak sesuai"
{{ old('disekitar_lokasi', $forminspeksi['lingkungan']['disekitar_lokasi'] ?? '') == 'tidak sesuai' ? 'checked' : '' }} />
<span class="ml-2">Belum ada bangunan</span>
</label>
</div>
<em id="error-terletak_diarea" class="alert text-danger text-sm"></em>
</div>
</div>
<!-- Dekat Makam -->
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Dekat Makam</label>
<div class="flex flex-wrap items-baseline w-full">
<div class="flex flex-col gap-2 mt-2">
<!-- Opsi Ya -->
<div class="flex w-full items-center gap-4">
<label class="text-sm flex items-center gap-2.5 text-nowrap">
<input onclick="toggleFieldVisibility('dekat_makam', 'dekat-makam', ['ya'])"
type="radio" class="radio" name="dekat_makam" value="ya"
{{ old('dekat_makam', $forminspeksi['lingkungan']['dekat_makam'] ?? '') == 'ya' ? 'checked' : '' }} />
<span class="ml-2">Ya</span>
</label>
<div id="dekat-makam" class="flex items-baseline gap-4 w-full"
style="{{ old('dekat_makam', $forminspeksi['lingkungan']['dekat_makam'] ?? '') == 'ya' ? 'display:flex;' : 'display:none;' }}">
<div class="flex items-center gap-2">
<label for="jarak_makam" class="form-label max-w-56">Jarak</label>
<input type="text" class="input mt-2" name="jarak_makam"
value="{{ old('jarak_makam', $forminspeksi['lingkungan']['jarak_makam'] ?? '') }}"
placeholder="Km" />
</div>
<div class="flex items-center gap-2">
<label for="nama_makam" class="form-label max-w-56">Nama TPU</label>
<input type="text" class="input mt-2 w-full" name="nama_makam"
value="{{ old('nama_makam', $forminspeksi['lingkungan']['nama_makam'] ?? '') }}"
placeholder="Nama TPU" />
</div>
</div>
</div>
<!-- Opsi Tidak -->
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input onclick="toggleFieldVisibility('dekat_makam', 'dekat-makam', ['ya'])"
type="radio" class="radio" name="dekat_makam" value="tidak"
{{ old('dekat_makam', $forminspeksi['lingkungan']['dekat_makam'] ?? '') == 'tidak' ? 'checked' : '' }} />
<span class="ml-2">Tidak</span>
</label>
</div>
<em id="error-dekat_makam" class="alert text-danger text-sm"></em>
</div>
</div>
<!-- Dekat Tps -->
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Dekat TPS</label>
<div class="flex flex-wrap items-baseline w-full">
<div class="flex flex-col gap-2 mt-2 w-full">
<!-- Opsi Ya -->
<div class="flex w-full items-center gap-4">
<label class="text-sm flex items-center gap-2.5 text-nowrap">
<input onclick="toggleFieldVisibility('dekat_tps', 'dekat-tps', ['ya'])"
type="radio" class="radio" name="dekat_tps" value="ya"
{{ old('dekat_tps', $forminspeksi['lingkungan']['dekat_tps'] ?? '') == 'ya' ? 'checked' : '' }} />
<span class="ml-2">Ya</span>
</label>
<div id="dekat-tps" class="flex flex-wrap gap-4 w-full"
style="{{ old('dekat_tps', $forminspeksi['lingkungan']['dekat_tps'] ?? '') == 'ya' ? 'display:flex;' : 'display:none;' }}">
<div class="flex items-center gap-2">
<label for="jarak_tps" class="form-label max-w-56">Jarak</label>
<input type="text" id="jarak_tps" class="input mt-2" name="jarak_tps"
value="{{ old('jarak_tps', $forminspeksi['lingkungan']['jarak_tps'] ?? '') }}"
placeholder="Km" />
</div>
<div class="flex items-center gap-2">
<label for="nama_tps" class="form-label max-w-56">Nama TPS</label>
<input type="text" id="nama_tps" class="input mt-2" name="nama_tps"
value="{{ old('nama_tps', $forminspeksi['lingkungan']['nama_tps'] ?? '') }}"
placeholder="Nama TPS" />
</div>
</div>
</div>
<!-- Opsi Tidak -->
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input onclick="toggleFieldVisibility('dekat_tps', 'dekat-tps', ['ya'])" type="radio"
class="radio" name="dekat_tps" value="tidak"
{{ old('dekat_tps', $forminspeksi['lingkungan']['dekat_tps'] ?? '') == 'tidak' ? 'checked' : '' }} />
<span class="ml-2">Tidak</span>
</label>
</div>
<em id="error-dekat_tps" class="alert text-danger text-sm"></em>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Dekat Lainnya</label>
<div class="flex flex-wrap items-baseline w-full">
<input type="text" class="input mt-2" name="dekat_lainnya"
value="{{ old('dekat_lainnya', $forminspeksi['lingkungan']['dekat_lainnya'] ?? '') }}"
placeholder="Masukkan Lainnya" />
<em id="error-dekat_makam" class="alert text-danger text-sm"></em>
</div>
</div>
<!-- Merupakan daerah -->
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Merupakan Daerah</label>
<div class="flex flex-wrap items-baseline w-full">
<div class="flex flex-col items-start gap-4">
@if (isset($basicData['merupakanDaerah']))
@foreach ($basicData['merupakanDaerah'] as $item)
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="merupakan_daerah[]" type="checkbox"
value="{{ $item->name }}"
{{ in_array($item->name, isset($forminspeksi['lingkungan']['merupakan_daerah']) ? $forminspeksi['lingkungan']['merupakan_daerah'] : []) ? 'checked' : '' }} />
{{ $item->name }}
</label>
@endforeach
@endif
</div>
<em id="error-merupakan_daerah" class="alert text-danger text-sm"></em>
</div>
</div>
<!-- Fasilitas Umum Sekitar -->
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Fasilitas Umum Dekat Objek</label>
<div class="flex flex-wrap items-baseline w-full">
<div class="flex flex-col items-start gap-4">
@if (isset($basicData['fasilitasObjek']))
@foreach ($basicData['fasilitasObjek'] as $item)
@php
$isChecked = in_array(
$item->name,
old(
'fasilitas_dekat_object',
$forminspeksi['lingkungan']['fasilitas_dekat_object'] ?? [],
),
);
$inputValue = old(
'fasilitas_dekat_object_input.' . $item->name,
$forminspeksi['lingkungan']['fasilitas_dekat_object_input'][$item->name] ?? '',
);
@endphp
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56 gap-2.5" style="width: 500px">
<input class="checkbox" name="fasilitas_dekat_object[]" type="checkbox"
value="{{ $item->name }}" {{ $isChecked ? 'checked' : '' }} />
{{ $item->name }}
</label>
<input type="text" name="fasilitas_dekat_object_input[{{ $item->name }}]"
class="input w-full" placeholder="Masukkan fasilitas {{ $item->name }}..."
value="{{ $inputValue }}">
</div>
@endforeach
@endif
</div>
<em id="error-fasilitas_dekat_object" class="alert text-danger text-sm"></em>
</div>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,101 @@
<div class="card-header bg-agi-50">
<h3 class="card-title uppercase">
Lokasi Jaminan
</h3>
</div>
<div class="card-body">
<div class="grid gap-5">
@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
@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
</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="">Pilih Provinsi</option>
@foreach ($provinces as $item)
<option value="{{ $item->code }}" {{ ($cekAlamat['province_code'] ?? '') == $item->code ? 'selected' : '' }}>{{ $item->name }}</option>
@endforeach
</select>
</div>
</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')

View File

@@ -0,0 +1,289 @@
<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 class="flex items-center gap-2">
<a href="{{ url()->previous() }}" class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back
</a>
</div>
</div>
<div class="card-body">
<div class="grid gap-5 grid-cols-2">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Tujuan Penilaian</label>
<div class="flex flex-wrap items-baseline w-full">
@if (isset($permohonan->tujuanPenilaian))
<p class="text-2sm text-gray-700">{{ $permohonan->tujuanPenilaian->name }}</p>
@endif
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Tanggal Survey</label>
<div class="flex flex-wrap items-base line w-full">
<p class="text-2sm text-gray-700">{{ $permohonan->created_at->format('d/m/Y') }}</p>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Cab/Direktorat</label>
<div class="flex flex-wrap items-baseline w-full">
@if (isset($permohonan->branch))
<p class="text-2sm text-gray-700">{{ $permohonan->branch->name }}</p>
@endif
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">AO</label>
<div class="flex flex-wrap items-baseline w-full">
@if (isset($permohonan->user))
<p class="text-2sm text-gray-700">{{ $permohonan->user->name }}</p>
@endif
</div>
</div>
</div>
</div>
</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">
Identitas Debitur
</h3>
</div>
<div class="card-body">
<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">Nama Calon Debitur</label>
<div class="flex flex-wrap items-baseline w-full">
@if (isset($permohonan->debiture->name))
<p class="text-2sm text-gray-700">{{ $permohonan->debiture->name }}</p>
@endif
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<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">
<em id="error-nama_wakil" class="alert text-danger text-sm"></em>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<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">
<em id="error-hub_calon_debitur" class="alert text-danger text-sm"></em>
</div>
</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-header bg-agi-50">
<h3 class="card-title uppercase">
Data Data Jaminan
</h3>
</div>
<div class="card-body">
<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>
<div class="flex flex-wrap items-baseline w-full">
<select
class="input tomselect w-full @error('hadapMataAngin') border-danger bg-danger-light @enderror"
name="hadapMataAngin">
<option value="">Select Model Kendaraan </option>
@if (isset($arahMataAngin))
@foreach ($arahMataAngin as $item)
<option value="{{ $item->name }}"
{{ old('hadapMataAngin') == $item->name ? 'selected' : '' }}>{{ $item->name }}
</option>
@endforeach
@endif
</select>
@error('hadapMataAngin')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
</div>
@php
$inputDataJaminan = [];
$inputDataJaminan = [
[
'label' => 'Tipe/Model',
'name' => 'tipe_model',
'index' => 0,
],
[
'label' => 'Merek',
'name' => 'merek',
'index' => 1,
],
[
'label' => 'Tahun Pembuatan',
'name' => 'tahun_pembuatan',
'index' => 2,
],
[
'label' => 'Negara Pembuat',
'name' => 'negara_pembuat',
'index' => 3,
],
[
'label' => 'Kondisi Mesin',
'name' => 'kondisi_mesin',
'index' => 4,
],
];
@endphp
@if (count($inputDataJaminan) > 0)
@foreach ($inputDataJaminan 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'] }}">
<em id="error-{{ $item['name'] }}" class="alert text-danger text-sm"></em>
</div>
</div>
@endforeach
@endif
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Deskripsi/Keterangan Lain Lain </label>
<div class="flex flex-wrap items-baseline w-full">
<textarea name="deskripsi" id="" class="textarea"></textarea>
@error('deskripsi')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
</div>
</div>
<div class="flex justify-end" style="margin-top: 10px">
<button class="btn btn-xs btn-primary" type="button" id="addBagunan">
tambah mesin
<i class="ki-filled ki-plus"></i>
</button>
</div>
</div>
</div>
<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="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>
<div id="fakta-positif-container" class="flex flex-wrap items-baseline w-full">
@if (!empty($forminspeksi['fakta_positif']))
@foreach ($forminspeksi['fakta_positif'] as $index => $positif)
<div class="fakta_positif flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="fakta_positif[]" rows="10">{{ old("fakta_positif.$index", $positif) }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button"
style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@endforeach
@else
<div class="fakta_positif flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="fakta_positif[]" rows="10">{{ old('fakta_positif.0', '') }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button" style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@endif
<button type="button" class="btn btn-primary btn-sm mt-5"
onclick="addClonableItem('fakta-positif-container', 'fakta_positif')">
<i class="ki-outline ki-plus"></i>
</button>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Faktor Negatif</label>
<div id="fakta-negatif-container" class="flex flex-wrap items-baseline w-full">
@if (!empty($forminspeksi['fakta_negatif']))
@foreach ($forminspeksi['fakta_negatif'] as $index => $negatif)
<div class="fakta_negatif flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="fakta_negatif[]" rows="10">{{ old("fakta_negatif.$index", $negatif) }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button"
style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@endforeach
@else
<div class="fakta_negatif flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="fakta_negatif[]" rows="10">{{ old('fakta_negatif.0', $forminspeksi['fakta_negatif'][0] ?? '') }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button" style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
<em id="error-fakta_negatif" class="alert text-danger text-sm"></em>
</div>
@endif
<button type="button" class="btn btn-primary btn-sm mt-5"
onclick="addClonableItem('fakta-negatif-container', 'fakta_negatif')">
<i class="ki-outline ki-plus"></i>
</button>
</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">
<div class="catatan flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="catatan[]" rows="10">{{ old('catatan.0', $forminspeksi['catatan'][0] ?? '') }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button" style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
<em id="error-catatan" class="alert text-danger text-sm"></em>
</div>
<button type="button"
onclick="addClonableItem('catatan-container', 'catatan')"
class="btn btn-primary btn-sm mt-5 ">
<i class="ki-outline ki-plus"></i>
</button>
</div>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,102 @@
<style>
.camera-container {
position: relative;
width: 100%;
height: auto;
}
video, canvas {
width: 100%;
height: auto;
}
</style>
<div class="modal fade" data-modal="true" id="cameraModal" data-backdrop="" data-keyboard="false">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title">Ambil Foto</h3>
<button type="button" class="btn btn-xs btn-icon btn-light" data-modal-dismiss="true" id="closeModal">
<i class="ki-outline ki-cross"></i>
</button>
</div>
<!-- Camera Interface -->
<div class="modal-body">
<div class="camera-container relative">
<video id="video" class="w-full h-auto" autoplay playsinline></video>
<canvas id="canvas" class="hidden w-full h-auto"></canvas>
<canvas id="drawingCanvas" class="hidden absolute top-0 left-0 w-full h-full"></canvas>
<div id="textOverlay" class="position-absolute top-0 left-0 w-100 h-100 pointer-events-none">
</div>
</div>
<div class="modal-footer mt-2">
<div id="cameraControls" class="flex justify-center gap-2 mt-4">
<button type="button" id="startButton" class="btn btn-primary">
<i class="ki-outline ki-camera"></i> Start Camera
</button>
<button type="button" id="takePhotoButton" class="btn btn-success" disabled>
<i class="ki-outline ki-photograph"></i> Ambil Foto
</button>
<button type="button" id="switchButton" class="btn btn-info" disabled>
<i class="ki-outline ki-arrows-circle"></i> Switch Camera
</button>
</div>
<!-- Editor Controls -->
<div id="editorControls" class=" flex flex-wrap gap-2 mt-4">
<div class="drawing-tools flex gap-2">
<button type="button" class="tool-btn btn btn-sm" data-tool="brush">
<i class="ki-filled ki-brush"></i>
</button>
<button type="button" class="tool-btn btn btn-sm" data-tool="rectangle">
<i class="ki-filled ki-frame"></i>
</button>
<button type="button" class="btn btn-light btn-sm tool-btn" data-tool="arrow">
<i class="ki-duotone ki-arrow-right fs-2"></i>
</button>
<button type="button" class="tool-btn btn btn-sm" data-tool="circle">
<i class="ki-filled ki-mouse-circle"></i>
</button>
<button type="button" class="tool-btn btn btn-sm" data-tool="text">
<i class="ki-filled ki-text"></i>
</button>
</div>
<div class="drawing-settings flex gap-2">
<input type="color" id="colorPicker" class="w-8 h-8 rounded">
<div class="flex items-center gap-2">
<input type="range" id="brushSize" min="1" max="20" value="5"
class="range range-sm">
<span id="brushSizeValue" class="text-sm">5px</span>
</div>
<input type="text" id="textInput" class="input" placeholder="Enter text">
<button type="button" class="btn btn-primary" id="confirmTextBtn">Add Text</button>
</div>
<div class="history-controls flex gap-2">
<button type="button" id="undoButton" class="btn btn-sm">
<i class="ki-filled ki-arrows-loop"></i>
</button>
<button type="button" id="resetButton" class="btn btn-sm">
<i class="ki-outline ki-trash"></i>
</button>
</div>
<div class="final-controls flex gap-2">
<button type="button" class="btn btn-light btn-sm" data-modal-dismiss="true">Cancel</button>
<button id="backButton" class="btn btn-warning btn-sm">
<i class="ki-outline ki-arrow-left"></i> Kembali
</button>
<button type="button" id="saveButton" class="btn btn-success btn-sm" data-modal-dismiss="true">
<i class="ki-outline ki-check"></i> Simpan
</button>
</div>
</div>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,430 @@
<div class="card-header bg-agi-50">
<h3 class="card-title">Data Pembanding</h3>
<div class="flex items-center gap-2">
@if (Request::is('penilai/show-data-pembanding/*/edit') && request()->has('dokument') && request()->has('jenis_jaminan'))
<a href="{{ url()->previous() }}" class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back
</a>
@else
<a href="{{ route('surveyor.show', ['id' => $permohonan->id]) }}" class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back
</a>
@endif
</div>
</div>
<div class="card-header bg-agi-50 py-5 flex-wrap flex justify-end">
<button type="button" id="addColumnBtn" class="btn btn-primary btn-sm">
<i class="ki-filled ki-plus"></i> Tambah Pembanding
</button>
<button type="button" id="removeColumnBtn" class="btn btn-danger btn-sm ml-2" style="display: none;">
<i class="ki-filled ki-minus"></i> Hapus Pembanding
</button>
</div>
<div class="card-body">
<div class="scrollable-x-auto">
<table id="dataTable" class="table table-auto table-border align-middle text-gray-700 font-medium text-sm">
<thead class="bg-gray-50 sticky top-0">
<tr>
<th class="px-4 py-3 min-w-[200px]">Parameter</th>
<th class="px-4 py-3 min-w-[250px]">Objek Penilaian</th>
<th class="px-4 py-3 min-w-[250px]">Data Pembanding 1</th>
</tr>
</thead>
<tbody>
<!-- Informasi Dasar -->
<tr class="bg-gray-100">
<td colspan="3" class="px-4 py-2 font-semibold">Informasi Dasar</td>
</tr>
<tr>
<td class="px-4 py-2">Foto</td>
<td class="px-4 py-2">
<div class="flex flex-col gap-2">
@php
$photos = $fotoForm['upload_foto'] ?? [];
if (!is_array($photos)) {
$photos = [];
}
$groupedPhotos = collect($photos)->groupBy('category');
$mainPhoto = $groupedPhotos->get('Tampak Depan', collect())->first();
// echo $mainPhoto;
@endphp
@if ($mainPhoto)
<img id="uploadedImage1" src="{{ asset('storage/' . $mainPhoto['path']) }}"
class="max-w-[200px]" alt="Uploaded Image">
@endif
<input type="file" name="foto_objek" class="file-input" accept="image/*"
onchange="previewImage(this, 'uploadedImage1')">
</div>
</td>
<td class="px-4 py-2">
<div class="flex flex-col gap-2">
<img id="uploadedImage2" class="max-w-[200px] hidden" alt="Pembanding Image">
<input type="file" name="foto_objek_pembanding[]" class="file-input" accept="image/*"
onchange="previewImage(this, 'uploadedImage2')">
</div>
</td>
</tr>
<!-- Data Properti -->
<tr class="bg-gray-100">
<td colspan="3" class="px-4 py-2 font-semibold">Data </td>
</tr>
<tr>
<td class="px-4 py-2">Nama</td>
<td class="px-4 py-2">
<input type="text" name="nama" class="input" value="{{ $inspectionData['nama'] ?? '' }}">
</td>
<td class="px-4 py-2">
<input type="text" name="nama_pembanding[]" class="input">
</td>
</tr>
<tr>
<td class="px-4 py-2">Tipe</td>
<td class="px-4 py-2">
<input type="text" name="type" class="input" value="{{ $inspectionData['type'] ?? '' }}">
</td>
<td class="px-4 py-2">
<input type="text" name="type_pembanding[]" class="input">
</td>
</tr>
<tr>
<td class="px-4 py-2">Warna</td>
<td class="px-4 py-2">
<input type="text" name="warna" class="input "
value="{{ $inspectionData['warna'] ?? '' }}">
</td>
<td class="px-4 py-2">
<input type="text" name="warna_pembanding[]" class="input">
</td>
</tr>
<tr>
<td class="px-4 py-2">Lokasi</td>
<td class="px-4 py-2">
<input type="text" name="lokasi" class="input"
value="{{ $inspectionData['lokasi'] ?? '' }}">
</td>
<td class="px-4 py-2">
<input type="text" name="lokasi_pembanding[]" class="input">
</td>
</tr>
<tr>
<td class="px-4 py-2">Sumber data</td>
<td class="px-4 py-2">
<input type="text" name="sumber_data" class="input"
value="{{ $inspectionData['sumber_data'] ?? '' }}">
</td>
<td class="px-4 py-2">
<input type="text" name="sumber_data_pembanding[]" class="input">
</td>
</tr>
<tr>
<td class="px-4 py-2">Tahun</td>
<td class="px-4 py-2">
<input type="text" name="tahun" class="input "
value="{{ $inspectionData['tahun'] ?? '' }}">
</td>
<td class="px-4 py-2">
<input type="text" name="tahun_pembanding[]" class="input ">
</td>
</tr>
<tr>
<td class="px-4 py-2">Transmisi</td>
<td class="px-4 py-2">
<input type="text" name="transmisi" class="input"
value="{{ is_array($inspectionData['transmisi'] ?? '') ? implode(', ', $inspectionData['transmisi']) : $inspectionData['transmisi'] ?? '' }}">
</td>
<td class="px-4 py-2">
<input type="text" name="transmisi_pembanding[]" class="input ">
</td>
</tr>
<!-- Informasi Harga -->
<tr class="bg-gray-100">
<td colspan="3" class="px-4 py-2 font-semibold">Spesifikasi</td>
</tr>
<tr>
<td class="px-4 py-2">Tahun Pembuatan
</td>
<td class="px-4 py-2">
<input type="text" name="tahun_pembuatan" class="input number-format"
value="{{ $inspectionData['tahun_pembuatan'] ?? '' }}">
</td>
<td class="px-4 py-2">
<input type="text" name="tahun_pembuatan_pembanding[]" class="input">
</td>
</tr>
<tr>
<td class="px-4 py-2">Merek / Buatan
</td>
<td class="px-4 py-2">
<input type="text" name="merek_buatan" class="input"
value="{{ $inspectionData['merek_buatan'] ?? '' }}">
</td>
<td class="px-4 py-2">
<input type="text" name="merek_buatan_pembanding[]" class="input">
</td>
</tr>
<tr>
<td class="px-4 py-2">Kapasitas / HP
</td>
<td class="px-4 py-2">
<input type="text" name="kapasitas" class="input"
value="{{ $inspectionData['kapasitas'] ?? '' }}">
</td>
<td class="px-4 py-2">
<input type="text" name="kapasitas_pembanding[]" class="input">
</td>
</tr>
<tr>
<td class="px-4 py-2">Power</td>
<td class="px-4 py-2">
<input type="text" name="power" class="input"
value="{{ $inspectionData['power'] ?? '' }}">
</td>
<td class="px-4 py-2">
<input type="text" name="power_pembanding[]" class="input">
</td>
</tr>
<tr>
<td class="px-4 py-2">Kondisi</td>
<td class="px-4 py-2">
<input type="text" name="kondisi" class="input"
value="{{ $inspectionData['kondisi'] ?? '' }}">
</td>
<td class="px-4 py-2">
<input type="text" name="kondisi_pembanding[]" class="input">
</td>
</tr>
<!-- Lokasi -->
<tr class="bg-gray-100">
<td colspan="3" class="px-4 py-2 font-semibold">Lokasi</td>
</tr>
<tr>
<td class="px-4 py-2">Koordinat</td>
<td class="px-4 py-2">
<div class="grid grid-cols-2 gap-2">
<input type="text" name="kordinat_lat" class="input" placeholder="Latitude"
value="{{ $inspectionData['kordinat_lat'] ?? '' }}">
<input type="text" name="kordinat_lng" class="input" placeholder="Longitude"
value="{{ $inspectionData['kordinat_lng'] ?? '' }}">
</div>
</td>
<td class="px-4 py-2">
<div class="grid grid-cols-2 gap-2">
<input type="text" name="kordinat_lat_pembanding[]" class="input"
placeholder="Latitude">
<input type="text" name="kordinat_lng_pembanding[]" class="input"
placeholder="Longitude">
</div>
</td>
</tr>
<tr>
<td class="px-4 py-2">Alamat</td>
<td class="px-4 py-2">
@php
$address = $inspectionData['nama_jalan'] ?? null;
@endphp
<textarea name="nama_jalan" class="input py-2" rows="2">{{ $address }}</textarea>
</td>
<td class="px-4 py-2">
<textarea name="address_pembanding[]" class="input py-2" rows="2"></textarea>
</td>
</tr>
<tr>
<td class="px-4 py-2">Provinsi</td>
<td class="px-4 py-2">
<select id="province_code" name="province_code" class="input w-full">
<option value="">Select Province</option>
@foreach ($provinces as $province)
@php
$selectedProvince = $inspectionData['alamat']['sesuai']['province_code'] ?? null;
@endphp
<option value="{{ $province->code }}"
{{ $selectedProvince == $province->code ? 'selected' : '' }}>
{{ $province->name }}
</option>
@endforeach
</select>
</td>
<td class="px-4 py-2">
<select id="province_code_pembanding" name="province_code_pembanding[]"
onchange="handleProvinceChange(this)" class="input w-full">
<option value="">Pilih Provinsi</option>
@foreach ($provinces as $province)
<option value="{{ $province->code }}">{{ $province->name }}
</option>
@endforeach
</select>
</td>
</tr>
<tr>
<td class="px-4 py-2">Kabupaten/Kota</td>
<td class="px-4 py-2">
<select id="city_code" name="city_code" class="select w-full">
@php
$selectedCity = $inspectionData['alamat']['sesuai']['city_code'] ?? null;
@endphp
<option value="">Pilih Kota/Kabupaten</option>
@if (isset($selectedCity))
@foreach ($cities as $city)
<option value="{{ $city->code }}"
{{ $selectedCity == $city->code ? 'selected' : '' }}>
{{ $city->name }}
</option>
@endforeach
@endif
</select>
</td>
<td class="px-4 py-2">
<select id="city_code_pembanding" name="city_code_pembanding[]"
onchange="handleCityChange(this)" class="input w-full">
<option value="">Pilih Kota/Kabupaten</option>
</select>
</td>
</tr>
<tr>
<td class="px-4 py-2">Kecamatan</td>
<td class="px-4 py-2">
<select id="district_code" name="district_code" class="select w-full">
@php
$selectedDisrict = $inspectionData['alamat']['sesuai']['district_code'] ?? null;
@endphp
<option value="">Pilih Kecamatan</option>
@if (isset($selectedDisrict))
@foreach ($districts as $district)
<option value="{{ $district->code }}"
{{ $selectedDisrict == $district->code ? 'selected' : '' }}>
{{ $district->name }}
</option>
@endforeach
@endif
</select>
</td>
<td class="px-4 py-2">
<select id="district_code_pembanding" name="district_code_pembanding[]"
onchange="handleDistrictChange(this)" class="input w-full">
<option value="">Pilih Kecamatan</option>
</select>
</td>
</tr>
<tr>
<td class="px-4 py-2">Desa/Kelurahan</td>
<td class="px-4 py-2">
<select id="village_code" name="village_code" class="select w-full">
@php
$selectedDesa = $inspectionData['alamat']['sesuai']['village_code'] ?? null;
@endphp
<option value="">Pilih Kecamatan</option>
@if (isset($selectedDesa))
@foreach ($villages as $village)
<option value="{{ $village->code }}"
{{ $selectedDesa == $village->code ? 'selected' : '' }}>
{{ $village->name }}
</option>
@endforeach
@endif
</select>
</td>
<td class="px-4 py-2">
<select id="village_code_pembanding" name="village_code_pembanding[]" class="input w-full">
<option value="">Pilih Desa/Kelurahan</option>
</select>
</td>
</tr>
<tr class="bg-gray-100">
<td colspan="3" class="px-4 py-2 font-semibold">Harga</td>
</tr>
<tr>
<td class="px-4 py-2">Harga Penawaran/ Transaksi(Rp)</td>
<td class="px-4 py-2">
<input type="text" name="harga" class="input currency-format"
value="{{ $inspectionData['asset']['harga'] ?? '' }}">
</td>
<td class="px-4 py-2">
<input type="text" name="harga_pembanding[]" class="input currency-format">
</td>
</tr>
<tr>
<td class="px-4 py-2">Diskon</td>
<td class="px-4 py-2">
<div class="input">
<input type="text" name="diskon" class=" currency"
value="{{ $inspectionData['asset']['diskon'] ?? '' }}">
<span class="btn btn-icon">
<i class="ki-outline ki-percentage"></i>
</span>
</div>
</td>
<td class=" px-4 py-2">
<div class="input">
<input type="text" name="diskon_pembanding[]" class="currency">
<span class="btn btn-icon">
<i class="ki-outline ki-percentage"></i>
</i>
</span>
</div>
</td>
</tr>
{{-- <tr style="display: none;">
<td class="px-4 py-2">Total</td>
<td class="px-4 py-2">
<input type="text" name="total" class="input currency"
value="{{ $inspectionData['total'] ?? '' }}">
</td>
<td class="px-4 py-2">
<input type="text" name="total_pembanding[]" class="input currency-format">
</td>
</tr> --}}
<tr>
<td class="px-4 py-2">Harga Setelah Diskon</td>
<td class="px-4 py-2">
<input type="text" name="total" class="input currency-format" readonly
value="{{ $inspectionData['asset']['total'] ?? '' }}">
</td>
<td class="px-4 py-2">
<input type="text" name="total_pembanding[]" readonly class="input currency-format">
</td>
</tr>
</tbody>
</table>
</div>
</div>

View File

@@ -0,0 +1,489 @@
<div class="card-header bg-agi-50">
<h3 class="card-title">Data Pembanding</h3>
<div class="flex items-center gap-2">
@if (Request::is('penilai/show-data-pembanding/*/edit') && request()->has('dokument') && request()->has('jenis_jaminan'))
<a href="{{ url()->previous() }}" class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back
</a>
@else
<a href="{{ route('surveyor.show', ['id' => $permohonan->id]) }}" class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back
</a>
@endif
</div>
</div>
<div class="card-header bg-agi-50 py-5 flex-wrap flex justify-end">
<button type="button" id="addColumnBtn" class="btn btn-primary btn-sm">
<i class="ki-filled ki-plus"></i> Tambah Pembanding
</button>
<button type="button" id="removeColumnBtn" class="btn btn-danger btn-sm ml-2" style="display: none;">
<i class="ki-filled ki-minus"></i> Hapus Pembanding
</button>
</div>
{{-- @php
print_r($inspectionData);
@endphp --}}
<div class="card-body">
<div class="scrollable-x-auto">
<table id="dataTable" class="table table-auto table-border align-middle text-gray-700 font-medium text-sm">
<thead class="bg-gray-50 sticky top-0">
<tr>
<th class="px-4 py-3 min-w-[200px]">Parameter</th>
<th class="px-4 py-3 min-w-[250px]">Objek Penilaian</th>
<th class="px-4 py-3 min-w-[250px]">Data Pembanding 1</th>
</tr>
</thead>
<tbody>
<!-- Informasi Dasar -->
<tr class="bg-gray-100">
<td colspan="3" class="px-4 py-2 font-semibold">Informasi Dasar</td>
</tr>
<tr>
<td class="px-4 py-2">Foto</td>
<td class="px-4 py-2">
<div class="flex flex-col gap-2">
@php
$photos = $fotoForm['upload_foto'] ?? [];
if (!is_array($photos)) {
$photos = [];
}
$groupedPhotos = collect($photos)->groupBy('category');
$mainPhoto = $groupedPhotos->get('Tampak Depan', collect())->first();
// echo $mainPhoto;
@endphp
@if ($mainPhoto)
<img id="uploadedImage1" src="{{ asset('storage/' . $mainPhoto['path']) }}"
class="max-w-[200px]" alt="Uploaded Image">
@endif
<input type="hidden" name="name_foto_objek" class="input"
value="{{ $mainPhoto['path'] ?? '' }}">
<input type="file" name="foto_objek" class="file-input" accept=".jpg,.jpeg,.png"
onchange="previewImage(this, 'uploadedImage1')">
</div>
</td>
<td class="px-4 py-2">
<div class="flex flex-col gap-2">
<img id="uploadedImage2" class="max-w-[200px] hidden" alt="Pembanding Image">
<input type="file" name="foto_objek_pembanding[]" class="file-input" accept=".jpg,.jpeg,.png"
onchange="previewImage(this, 'uploadedImage2')">
</div>
</td>
</tr>
<!-- Data Properti -->
<tr class="bg-gray-100">
<td colspan="3" class="px-4 py-2 font-semibold">Data Properti</td>
</tr>
<tr>
<td class="px-4 py-2">Jenis Aset</td>
<td class="px-4 py-2">
<select name="jenis_aset" class="select">
<option value="">Pilih Jenis Aset</option>
@php
$selectedKey =
old('jenis_aset') ??
($inspectionData['asset']['jenis_asset']['sesuai'] ??
($inspectionData['asset']['jenis_asset']['tidak sesuai'] ?? ''));
@endphp
@foreach ($data['jenisJaminan'] as $item)
<option value="{{ $item->name }}" {{ $selectedKey == $item->name ? 'selected' : '' }}>
{{ $item->name }}
</option>
@endforeach
</select>
</td>
<td class="px-4 py-2">
<select name="jenis_aset_pembanding[]" class="select">
<option value="">Pilih Jenis Aset</option>
@foreach ($data['jenisJaminan'] as $item)
<option value="{{ $item->name }}"
{{ ($inspectionData['jenis_aset'] ?? '') == $item->name ? 'selected' : '' }}>
{{ $item->name }}</option>
@endforeach
</select>
</td>
</tr>
<tr>
<td class="px-4 py-2">Luas Tanah ()</td>
@php
$cekLuas =
isset($inspectionData['tanah']['luas_tanah']) == 'sesuai' ? 'sesuai' : 'tidak sesuai';
@endphp
<td class="px-4 py-2">
<input type="text" name="luas_tanah" class="input "
value="{{ $inspectionData['tanah']['luas_tanah']['sesuai'] ?? ($inspectionData['tanah']['luas_tanah']['tidak sesuai'] ?? '') }}">
</td>
<td class="px-4 py-2">
<input type="text" name="luas_tanah_pembanding[]" class="input ">
</td>
</tr>
@php
$luasTanahData = [];
$nilai = 0;
// Memeriksa apakah key 'bangunan' ada di dalam $inspectionData
if (isset($inspectionData['bangunan']['luas_tanah_bagunan'])) {
$luasTanahData = $inspectionData['bangunan']['luas_tanah_bagunan'];
if (!empty($luasTanahData['sesuai'])) {
$nilai = $luasTanahData['sesuai'];
} elseif (!empty($luasTanahData['tidak sesuai'])) {
$nilai = $luasTanahData['tidak sesuai'];
}
}
@endphp
<tr>
<td class="px-4 py-2">Luas Bangunan ()</td>
<td class="px-4 py-2">
<input type="text" name="luas_tanah_bagunan" class="input"
value="{{ $inspectionData['bangunan']['luas_tanah_bagunan']['sesuai'] ?? ($inspectionData['bangunan']['luas_tanah_bagunan']['tidak sesuai'] ?? '') }}">
</td>
<td class="px-4 py-2">
<input type="text" name="luas_bangunan_pembanding[]" class="input ">
</td>
</tr>
<!-- Informasi Harga -->
<tr class="bg-gray-100">
<td colspan="3" class="px-4 py-2 font-semibold">Informasi</td>
</tr>
<tr>
<td class="px-4 py-2">Hak atas properti yang dialihkan</td>
<td class="px-4 py-2">
<input type="text" name="hak_properti" class="input"
value="{{ $inspectionData['asset']['hak_properti'] ?? '' }}">
</td>
<td class="px-4 py-2">
<input type="text" name="hak_properti_pembanding[]" class="input">
</td>
</tr>
{{-- <tr> --}}
{{-- <td class="px-4 py-2">Penawaran/ Transaksi</td>
<td class="px-4 py-2">
<input type="text" name="penawaran" class="input"
value="{{ $inspectionData['asset']['penawaran'] ?? '' }}"> --}}
{{-- <select class="input w-full" name="penawaran">
<option value="">Pilih</option>
<option value="Penawaran" {{ (isset($inspectionData['asset']['penawaran']) && $inspectionData['asset']['penawaran'] == 'Penawaran') ? 'selected' : '' }}>Penawaran</option>
<option value="Transaksi" {{ (isset($inspectionData['asset']['penawaran']) && $inspectionData['asset']['penawaran'] == 'Transaksi') ? 'selected' : '' }}>Transaksi</option>
</select> --}}
{{-- </td>
<td class="px-4 py-2">
<input type="text" name="penawaran_pembanding[]" class="input"> --}}
{{-- <select class="input w-full" name="penawaran_pembanding[]">
<option value="">Pilih</option>
<option value="Penawaran" {{ (isset($inspectionData['penawaran']) && $inspectionData['penawaran'] == 'Penawaran') ? 'selected' : '' }}>Penawaran</option>
<option value="Transaksi" {{ (isset($inspectionData['penawaran']) && $inspectionData['penawaran'] == 'Transaksi') ? 'selected' : '' }}>Transaksi</option>
</select> --}}
{{-- </td>
</tr> --}}
{{-- <tr>
<td class="px-4 py-2">Harga Penawaran/ Transaksi(Rp)</td>
<td class="px-4 py-2">
<input type="text" name="harga_penawaran" class="input currency-format"
value="{{ $inspectionData['asset']['harga_penawaran'] ?? '' }}">
</td>
<td class="px-4 py-2">
<input type="text" name="harga_penawaran_pembanding[]" class="input currency-format">
</td>
</tr> --}}
<tr>
<td class="px-4 py-2">Telepon Contact Person</td>
<td class="px-4 py-2">
<input type="text" name="telepon" class="input"
value="{{ $inspectionData['asset']['telepon'] ?? ($permohonan->debiture->phone ?? '') }}">
</td>
<td class="px-4 py-2">
<input type="text" name="telepon_pembanding[]" class="input">
</td>
</tr>
<tr>
<td class="px-4 py-2">Status Narasumber</td>
<td class="px-4 py-2">
<input type="text" name="status_nara_sumber" class="input"
value="{{ $inspectionData['asset']['status_nara_sumber'] ?? ($dokumen->pemilik->hubungan_pemilik->name ?? '') }}">
</td>
<td class="px-4 py-2">
<input type="text" name="status_nara_sumber_pembanding[]" class="input">
</td>
</tr>
<tr>
<td class="px-4 py-2">Nama Narasumber</td>
<td class="px-4 py-2">
<input type="text" name="nama_nara_sumber" class="input"
value="{{ $inspectionData['asset']['nama_nara_sumber'] ?? ($permohonan->debiture->name ?? '') }}">
</td>
<td class="px-4 py-2">
<input type="text" name="nama_nara_sumber_pembanding[]" class="input">
</td>
</tr>
<tr>
<td class="px-4 py-2">Tanggal Data</td>
<td class="px-4 py-2">
<input type="date" name="tanggal" class="input"
value="{{ $inspectionData['asset']['tanggal'] ?? '' }}">
</td>
<td class="px-4 py-2">
<input type="date" name="tanggal_pembanding[]" class="input">
</td>
</tr>
<!-- Lokasi -->
<tr class="bg-gray-100">
<td colspan="3" class="px-4 py-2 font-semibold">Lokasi</td>
</tr>
<tr>
<td class="px-4 py-2">Koordinat</td>
<td class="px-4 py-2">
<div class="grid grid-cols-2 gap-2">
<input type="text" name="kordinat_lat" class="input" placeholder="Latitude"
value="{{ $inspectionData['asset']['kordinat_lat'] ?? '' }}" pattern="^-?((1[0-7]\d|\d{1,2})(\.\d+)?|180(\.0+)?)$">
<input type="text" name="kordinat_lng" class="input" placeholder="Longitude"
value="{{ $inspectionData['asset']['kordinat_lng'] ?? '' }}" pattern="^-?((1[0-7]\d|\d{1,2})(\.\d+)?|180(\.0+)?)$">
</div>
</td>
<td class="px-4 py-2">
<div class="grid grid-cols-2 gap-2">
<input type="text" name="kordinat_lat_pembanding[]" class="input"
placeholder="Latitude" pattern="^-?((1[0-7]\d|\d{1,2})(\.\d+)?|180(\.0+)?)$">
<input type="text" name="kordinat_lng_pembanding[]" class="input"
placeholder="Longitude" pattern="^-?((1[0-7]\d|\d{1,2})(\.\d+)?|180(\.0+)?)$">
</div>
</td>
</tr>
<tr>
<td class="px-4 py-2">Alamat</td>
<td class="px-4 py-2">
@php
$statusAlamat = isset($inspectionData['asset']['alamat']['sesuai'])
? 'sesuai'
: 'tidak sesuai';
$address = $inspectionData['asset']['alamat'][$statusAlamat]['address'] ?? null;
@endphp
<textarea name="address" class="input py-2" rows="2">{{ $address }}</textarea>
</td>
<td class="px-4 py-2">
<textarea name="address_pembanding[]" class="input py-2" rows="2"></textarea>
</td>
</tr>
<tr>
<td class="px-4 py-2">Provinsi</td>
<td class="px-4 py-2">
<select id="province_code" name="province_code" class="input w-full">
@php
$statusKey = isset($inspectionData['asset']['alamat']['sesuai'])
? 'sesuai'
: 'tidak sesuai';
$address = $inspectionData['asset']['alamat'][$statusKey]['province_code'] ?? null;
@endphp
<option value="">Select Province</option>
@foreach ($provinces as $province)
@php
$statusKey = isset($inspectionData['asset']['alamat']['sesuai'])
? 'sesuai'
: 'tidak sesuai';
$selectedProvince =
$inspectionData['asset']['alamat'][$statusKey]['province_code'] ?? null;
@endphp
<option value="{{ $province->code }}"
{{ $selectedProvince == $province->code ? 'selected' : '' }}>
{{ $province->name }}
</option>
@endforeach
</select>
</td>
<td class="px-4 py-2">
<select id="province_code_pembanding" name="province_code_pembanding[]"
onchange="handleProvinceChange(this)" class="input w-full">
<option value="">Pilih Provinsi</option>
@foreach ($provinces as $province)
<option value="{{ $province->code }}">{{ $province->name }}
</option>
@endforeach
</select>
</td>
</tr>
<tr>
<td class="px-4 py-2">Kabupaten/Kota</td>
<td class="px-4 py-2">
<select id="city_code" name="city_code" class="select w-full">
@php
$statusKey = isset($inspectionData['asset']['alamat']['sesuai'])
? 'sesuai'
: 'tidak sesuai';
$selectedCity = $inspectionData['asset']['alamat'][$statusKey]['city_code'] ?? null;
@endphp
<option value="">Pilih Kota/Kabupaten</option>
@if (isset($selectedCity))
@foreach ($cities as $city)
<option value="{{ $city->code }}"
{{ $selectedCity == $city->code ? 'selected' : '' }}>
{{ $city->name }}
</option>
@endforeach
@endif
</select>
</td>
<td class="px-4 py-2">
<select id="city_code_pembanding" name="city_code_pembanding[]"
onchange="handleCityChange(this)" class="input w-full">
<option value="">Pilih Kota/Kabupaten</option>
</select>
</td>
</tr>
<tr>
<td class="px-4 py-2">Kecamatan</td>
<td class="px-4 py-2">
<select id="district_code" name="district_code" class="select w-full">
@php
$statusKey = isset($inspectionData['asset']['alamat']['sesuai'])
? 'sesuai'
: 'tidak sesuai';
$selectedDisrict =
$inspectionData['asset']['alamat'][$statusKey]['district_code'] ?? null;
@endphp
<option value="">Pilih Kecamatan</option>
@if (isset($selectedDisrict))
@foreach ($districts as $district)
<option value="{{ $district->code }}"
{{ $selectedDisrict == $district->code ? 'selected' : '' }}>
{{ $district->name }}
</option>
@endforeach
@endif
</select>
</td>
<td class="px-4 py-2">
<select id="district_code_pembanding" name="district_code_pembanding[]"
onchange="handleDistrictChange(this)" class="input w-full">
<option value="">Pilih Kecamatan</option>
</select>
</td>
</tr>
<tr>
<td class="px-4 py-2">Desa/Kelurahan</td>
<td class="px-4 py-2">
<select id="village_code" name="village_code" class="select w-full">
@php
$statusKey = isset($inspectionData['asset']['alamat']['sesuai'])
? 'sesuai'
: 'tidak sesuai';
$selectedDesa = $inspectionData['asset']['alamat'][$statusKey]['village_code'] ?? null;
@endphp
<option value="">Pilih Kecamatan</option>
@if (isset($selectedDesa))
@foreach ($villages as $village)
<option value="{{ $village->code }}"
{{ $selectedDesa == $village->code ? 'selected' : '' }}>
{{ $village->name }}
</option>
@endforeach
@endif
</select>
</td>
<td class="px-4 py-2">
<select id="village_code_pembanding" name="village_code_pembanding[]" class="input w-full">
<option value="">Pilih Desa/Kelurahan</option>
</select>
</td>
</tr>
<tr class="bg-gray-100">
<td colspan="3" class="px-4 py-2 font-semibold">Harga</td>
</tr>
<tr>
<td class="px-4 py-2">Harga Penawaran/ Transaksi(Rp)</td>
<td class="px-4 py-2">
<input type="text" name="harga" class="input currency-format"
value="{{ $inspectionData['asset']['harga'] ?? '' }}">
</td>
<td class="px-4 py-2">
<input type="text" name="harga_pembanding[]" class="input currency-format">
</td>
</tr>
<tr>
<td class="px-4 py-2">Diskon</td>
<td class="px-4 py-2">
<div class="input">
<input type="text" name="diskon" class=" currency"
value="{{ $inspectionData['asset']['diskon'] ?? '' }}">
<span class="btn btn-icon">
<i class="ki-outline ki-percentage"></i>
</span>
</div>
</td>
<td class=" px-4 py-2">
<div class="input">
<input type="text" name="diskon_pembanding[]" class="currency">
<span class="btn btn-icon">
<i class="ki-outline ki-percentage"></i>
</i>
</span>
</div>
</td>
</tr>
{{-- <tr style="">
<td class="px-4 py-2">Harga Setelah Diskon</td>
<td class="px-4 py-2">
<input type="text" name="total" class="input currency"
value="{{ $inspectionData['asset']['total'] ?? '' }}" readonly>
</td>
<td class="px-4 py-2">
<input type="text" name="total_pembanding[]" class="input currency-format" readonly>
</td>
</tr> --}}
<tr>
<td class="px-4 py-2">Harga Setelah Diskon</td>
<td class="px-4 py-2">
<input type="text" name="total" class="input currency-format" readonly
value="{{ $inspectionData['asset']['total'] ?? '' }}">
</td>
<td class="px-4 py-2">
<input type="text" name="total_pembanding[]" readonly class="input currency-format">
</td>
</tr>
</tbody>
</table>
</div>
</div>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,524 @@
@include('lpj::surveyor.components.print-out.header')
<div style="border: 1px solid #000;">
<table
style="width: 100%; border-top: none; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
<td style="text-align: center; margin-top: 5px; ">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
Tujuan Penilaian
</h2>
</td>
</tr>
</table>
<table style="width: 100%;">
<tr>
<td style="vertical-align: top;">
<table>
<tr>
<td style="width: 25%; padding: 2px;">Tujuan Penilai</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="vertical-align: top; padding: 2px;">
{{ $permohonan->tujuanPenilaian->name ?? '' }}</td>
</tr>
<tr>
<td style="width: 25%; padding: 2px; vertical-align: top;">Cabang/Pemohon</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td style="vertical-align: top; vertical-align: top;">
{{ $permohonan->debiture->branch->name ?? '' }} / {{ $permohonan->user->name ?? '' }}
</td>
</tr>
</table>
</td>
<td style="vertical-align: top;">
<table>
<tr>
<td style="width: 25%; padding: 2px; vertical-align: top;">Tanggal Dibuat</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td style="vertical-align: top; vertical-align: top;">
{{ formatTanggalIndonesia($permohonan->created_at) }}
</td>
</tr>
<tr>
<td style="width: 25%; padding: 2px;">
Tanggal Survey</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="vertical-align: top; padding: 2px;">
{{ formatTanggalIndonesia($permohonan->penilaian->tanggal_kunjungan) }}</td>
</tr>
</table>
</td>
</tr>
</table>
<table
style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
<td style="text-align: center; margin-top: 5px; ">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
Identitas Debitur
</h2>
</td>
</tr>
</table>
<table style="width: 100%">
<tr>
<td style="width: 20%; padding: 2px; vertical-align: top;">Nama</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td style="vertical-align: top; width: 79%;">{{ $permohonan->debiture->name ?? '' }}</td>
</tr>
<tr>
<td style="width: 20%; padding: 2px; vertical-align: top;">Nama Wakil</td>
<td style="width: 1%; padding: 2px; vertical-align: top;">:</td>
<td style="vertical-align: top; padding: 2px;">
{{ $forminspeksi['nama_wakil'] ?? '' }}
</td>
</tr>
<tr>
<td style="width: 20%; padding: 2px; vertical-align: top;">Hubungan Calon debitur</td>
<td style="width: 1%; padding: 2px; vertical-align: top;">:</td>
<td style="vertical-align: top; padding: 2px;">
{{ $forminspeksi['hub_calon_debitur'] ?? '' }}
</td>
</tr>
</table>
<table
style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
<td style="text-align: center; margin-top: 5px; ">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
Lokasi Jaminan
</h2>
</td>
</tr>
</table>
<table style="width: 100%">
<tr>
<td width="20%">Nama Jalan</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td> {{ $forminspeksi['nama_jalan'] ?? '' }}</td>
</tr>
<tr>
<td width="20%">Perumahan/Gang</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td> {{ $forminspeksi['perumahan_gang'] ?? '' }}</td>
</tr>
<tr>
<td width="20%">Blok/Nomor</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td> {{ $forminspeksi['blok_nomor'] ?? '' }}</td>
</tr>
<tr>
<td>Kelurahan</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td>{{ $alamat['village_code'] ?? '' }}</td>
</tr>
<tr>
<td>Kecamatan</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td>{{ $alamat['district_code'] ?? '' }}</td>
</tr>
<tr>
<td>Kotamadya</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td> {{ $alamat['city_code'] ?? '' }}</td>
</tr>
<tr>
<td>Propinsi</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td>{{ $alamat['province_code'] ?? '' }}</td>
</tr>
</table>
<div>
<table
style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
<td style="text-align: center; margin-top: 5px; ">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
Data data jaminan
</h2>
</td>
</tr>
</table>
<table style="width: 100%;">
<tr>
<td style="vertical-align: top; width: 25%;">Model</td>
<td width="1%" style="vertical-align: top;">:</td>
<td width="100%" style="vertical-align: top;">
<table style="width: 100%;">
@if (isset($basicData['modelAlatBerat']))
@foreach ($basicData['modelAlatBerat'] as $item)
<tr>
<td width="40%">
<label class="form-label max-w-56 gap-2.5">
<input class="checkbox" name="kendaraan[]" 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'
: '' }} />
{{ $item->name }}
</label>
</td>
<td width="1%"></td>
<td width="100%">
<p>{{ old('kendaraan_input.' . $loop->index, $forminspeksi['kendaraan_input'][$loop->index] ?? '') }}
</p>
</td>
</tr>
@endforeach
@endif
</table>
</td>
</tr>
@php
$inputDataJaminan = [
[
'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'] ?? ''),
],
];
@endphp
@foreach ($inputDataJaminan as $item)
<tr>
<td width="20%" style="vertical-align: top;">{{ $item['label'] }}</td>
<td width="1%" style="vertical-align: top;">:</td>
<td width="100%" style="vertical-align: top;">
{{ $item['value'] ?? '' }}
</td>
</tr>
@endforeach
</table>
</div>
<div>
<table
style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
<td style="text-align: center; margin-top: 5px; ">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
Kondisi Fisik Objek
</h2>
</td>
</tr>
</table>
<table style="width: 100%;">
@php
$kondisiObjeck = [
[
'label' => 'Mesin dan Panel Instrument',
'value' => ['Terawat', 'Cukup Terawat', 'Tidak Terawat'],
'name' => 'mesin_panel',
'index' => 0,
],
[
'label' => 'Fungsi mesin dan panel instrument',
'value' => ['Berfungsi', 'Rusak'],
'name' => 'fungsi_panel',
'index' => 1,
],
[
'label' => 'Interior (jok, dll)',
'value' => ['Terawat', 'Cukup Terawat', 'Tidak Terawat'],
'name' => 'interior',
'index' => 2,
],
[
'label' => 'Rangka dan Karoseri',
'value' => ['Terawat', 'Cukup Terawat', 'Tidak Terawat'],
'name' => 'rangka_Karoseri',
'index' => 3,
],
[
'label' => 'Ban',
'value' => ['Standard', 'Tidak Standard'],
'name' => 'ban',
'index' => 4,
],
[
'label' => 'Velg',
'value' => ['Standard', 'Tidak Standard'],
'name' => 'velg',
'index' => 5,
],
[
'label' => 'Air Conditioner',
'value' => ['Ada', 'Tidak Ada'],
'name' => 'air_conditioner',
'index' => 6,
],
[
'label' => 'Aksesoris Tambahan lainnya',
'value' => ['Ada', 'Tidak Ada'],
'name' => 'aksesoris',
'index' => 7,
],
[
'label' => 'LCD',
'value' => ['Ada', 'Tidak Ada'],
'name' => 'lcd',
'index' => 8,
],
[
'label' => 'Perlengkapan Keamanan',
'value' => ['Ada', 'Tidak Ada'],
'name' => 'perlengkapan',
'index' => 9,
],
[
'label' => 'Asuransi',
'value' => ['Ada', 'Tidak Ada'],
'name' => 'asuransi',
'index' => 10,
],
];
@endphp
@foreach ($kondisiObjeck as $item)
<tr>
<td style="vertical-align: top; width: 25%;">{{ $item['label'] }}</td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
<table style="width: 100%; border-collapse: collapse;">
@foreach ($item['value'] as $value)
<tr>
<td>
<label class="form-label max-w-56 gap-2.5" style="width: 500px">
<input class="checkbox" name="{{ $item['name'] }}[]" type="checkbox"
value="{{ $value }}"
{{ in_array($value, old($item['name'], $forminspeksi[$item['name']] ?? [])) ? 'checked' : '' }} />
{{ $value }}
@if ($forminspeksi[$item['name'] . '_input'][$loop->index] != null)
-
{{ old($item['name'] . '_input' . $loop->index, $forminspeksi[$item['name'] . '_input'][$loop->index] ?? '') }}
@endif
</label>
</td>
</tr>
@endforeach
</table>
</td>
</tr>
@endforeach
<tr>
<td style="vertical-align: top;">Perusahaan Asuransi</td>
<td width="1%" style="vertical-align: top;">:</td>
<td width="100%" style="vertical-align: top;">{{ $forminspeksi['perusahaan_asuransi'] ?? '' }}</td>
</tr>
<tr>
<td style="vertical-align: top;">Tahun Berakhir</td>
<td width="1%" style="vertical-align: top;">:</td>
<td width="100%" style="vertical-align: top;">
{{ isset($forminspeksi['tahun_berakhir']) ? formatTanggalIndonesia($forminspeksi['tahun_berakhir']) : '' }}
</td>
</tr>
</table>
</div>
<div>
<table
style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
ANalisa Fakta
</h2>
</td>
</tr>
</table>
<table style="width: 100%">
<tr>
<td width="25%" style="vertical-align: top;">Faktor Positif</td>
<td width="1%" style="vertical-align: top;">:</td>
<td width="100%" style="vertical-align: top;">
@isset($forminspeksi['fakta_positif'])
<table style="width: 100%; border-collapse: collapse;">
@foreach ($forminspeksi['fakta_positif'] as $key => $item)
<tr>
<td>{!! nl2br(e($item)) !!}</td>
</tr>
@endforeach
</table>
@endisset
</td>
</tr>
<tr>
<td width="25%" style="vertical-align: top;">Faktor Negatif</td>
<td width="1%" style="vertical-align: top;">:</td>
<td width="100%" style="vertical-align: top;">
@php
$faktaNegatif = $forminspeksi['fakta_negatif'] ?? [];
$faktaNegatifFiltered = is_array($faktaNegatif)
? array_filter($faktaNegatif, function ($item) {
return !empty(trim($item));
})
: [];
@endphp
@if (!empty($faktaNegatifFiltered))
<table style="width: 100%; border-collapse: collapse;">
@foreach ($faktaNegatifFiltered as $key => $item)
<tr>
<td>{!! nl2br(e($item)) !!}</td>
</tr>
@endforeach
</table>
@else
<p>Tidak ada faktor negatif yang teridentifikasi.</p>
@endif
</td>
</tr>
<tr>
<td width="20%" style="vertical-align: top;">Catatan yang perlu di perhatikan</td>
<td width="1%" style="vertical-align: top;">:</td>
<td width="100%" style="vertical-align: top;">
@php
$faktaNegatif = $forminspeksi['catatan'] ?? [];
$faktaNegatifFiltered = is_array($faktaNegatif)
? array_filter($faktaNegatif, function ($item) {
return !empty(trim($item));
})
: [];
@endphp
@if (!empty($faktaNegatifFiltered))
<table style="width: 100%; border-collapse: collapse;">
@foreach ($faktaNegatifFiltered as $key => $item)
<tr>
<td>{!! nl2br(e($item)) !!}</td>
</tr>
@endforeach
</table>
@else
<p>Tidak ada faktor negatif yang teridentifikasi.</p>
@endif
</td>
</tr>
</table>
</div>
</div>
@include('lpj::surveyor.components.print-out.footer')

View File

@@ -0,0 +1,142 @@
<div class="no-break">
<table style="width: 100%; border-top: 1px solid #000; border: 1px solid #000; border-collapse: collapse; ">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
Analisa Unit
</h2>
</td>
</tr>
</table>
<table>
<tr>
@php
$cekLuas =
old('luas_unit_radio') ??
(isset($forminspeksiluas_unit['luas_unit']['tidak sesuai']) ? 'tidak sesuai' : 'sesuai');
$luasSesuai = $forminspeksiluas_unit['luas_unit']['sesuai'] ?? null;
$luasTidakSesuai = $forminspeksiluas_unit['luas_unit']['tidak sesuai'] ?? null;
@endphp
<td style="padding: 2px;">Luas Unit</td>
<td style="padding: 2px;">:</td>
<td width="" style="text-align: left">
<table>
<tr>
<td>
<label>
<input type="radio" name="luas_tanah_radio" value="sesuai"
{{ $cekLuas == 'sesuai' ? 'checked' : '' }}>
Sesuai {{ $luasSesuai ? '- ' . $luasSesuai . ' m²' : '' }}
</label>
</td>
</tr>
<tr>
<td>
<label>
<input type="radio" name="luas_tanah_radio" value="tidak sesuai"
{{ $cekLuas == 'tidak sesuai' ? 'checked' : '' }}>
Tidak Sesuai {{ $luasTidakSesuai ? '- ' . $luasTidakSesuai . ' m² (luas fisik)' : '' }}
</label>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td><strong>Bentuk Unit</strong></td>
<td>
@if (isset($basicData['bentukUnit']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['bentukUnit'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['bentuk_unit']) && in_array($item->name, $forminspeksi['bentuk_unit']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
<tr>
<td><strong>Kondisi Unit</strong></td>
<td>
@if (isset($basicData['kondisiUnit']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['kondisiUnit'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['kondisi_unit']) && in_array($item->name, $forminspeksi['kondisi_unit']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
<tr>
<td><strong>Posisi Unit</strong></td>
<td>
@if (isset($basicData['posisiUnit']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['posisiUnit'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['posisi_unit']) && in_array($item->name, $forminspeksi['posisi_unit']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
<tr>
<td><strong>View Unit</strong></td>
<td>
@if (isset($basicData['view']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['view'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['view']) && in_array($item->name, $forminspeksi['view']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</table>
</div>

View File

@@ -0,0 +1,253 @@
<div class="no-break">
<table style="width: 100%; border: 1px solid #000; border-collapse: collapse; ">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
ANalisa Bangunan
</h2>
</td>
</tr>
</table>
<table>
<!-- Luas Tanah Bangunan -->
<tr>
@php
// Tentukan apakah sesuai atau tidak sesuai berdasarkan input lama atau data awal
$cekLuasBangunan = old('luas_bangunan') ?? (isset($forminspeksi['bangunan']['luas_tanah_bagunan']['tidak sesuai'])
? 'tidak sesuai'
: 'sesuai');
// Ambil nilai dari key yang sesuai
$luasBangunanSesuai = $forminspeksi['bangunan']['luas_tanah_bagunan']['sesuai'] ?? null;
$luasBangunanTidakSesuai = $forminspeksi['bangunan']['luas_tanah_bagunan']['tidak sesuai'] ?? null;
@endphp
<td width="25%" style="vertical-align: top;">Luas Bangunan (IMB)</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
<table>
<tr>
<td>
<label>
<input type="radio" name="luas_bangunan_radio" value="sesuai" {{ $cekLuasBangunan == 'sesuai' ? 'checked' : '' }}>
Sesuai {{ $luasBangunanSesuai ? '- ' .$luasBangunanSesuai . ' m²' : '' }}
</label>
</td>
</tr>
<tr>
<td>
<label>
<input type="radio" name="luas_bangunan_radio" value="tidak sesuai" {{ $cekLuasBangunan == 'tidak sesuai' ? 'checked' : '' }}>
Tidak Sesuai {{ $luasBangunanTidakSesuai ? '- '. $luasBangunanTidakSesuai . ' m² (luas fisik)' : '' }}
</label>
</td>
</tr>
</table>
</td>
</tr>
<!-- Jenis Bangunan -->
<tr>
<td style="vertical-align: top;">Jenis Bangunan</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['jenisBangunan']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['jenisBangunan'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['bangunan']['jenis_bangunan']) && in_array($item->name, $forminspeksi['bangunan']['jenis_bangunan']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<!-- Kondisi Bangunan -->
<tr>
<td style="vertical-align: top;">Kondisi Bangunan</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['kondisiBangunan']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['kondisiBangunan'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['bangunan']['kondisi_bangunan']) && in_array($item->name, $forminspeksi['bangunan']['kondisi_bangunan']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<!-- Sifat Bangunan -->
<tr>
<td style="vertical-align: top;">Sifat Bangunan</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['sifatBangunan']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['sifatBangunan'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox" name="sifat_bangunan[]" value="{{ $item->name }}"
{{ isset($forminspeksi['bangunan']['sifat_bangunan']) && in_array($item->name, $forminspeksi['bangunan']['sifat_bangunan']) ? 'checked' : '' }}>
{{ $item->name }}
@if (isset($forminspeksi['bangunan']['sifat_bangunan']) &&
in_array($item->name, $forminspeksi['bangunan']['sifat_bangunan']))
@php
$inputValues = isset($forminspeksi['bangunan']['sifat_bangunan_input'][$index])
? $forminspeksi['bangunan']['sifat_bangunan_input'][$index]
: null;
@endphp
@if ($inputValues)
<span class="label-checkbox"> - {{ $inputValues }}</span>
@endif
@endif
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
@if (isset($forminspeksi['bangunan']['spesifikasi_bangunan']) &&
count($forminspeksi['bangunan']['spesifikasi_bangunan']) > 0)
@foreach ($forminspeksi['bangunan']['spesifikasi_bangunan'] as $bangunanIndex => $bangunan)
<tr>
<td colspan="2">Spesifikasi Bangunan {{ $bangunanIndex + 1 }}</td>
</tr>
@if (isset($basicData['spekKategoriBangunan']))
@foreach ($basicData['spekKategoriBangunan'] as $index => $spesifikasi)
<tr>
<td style="vertical-align: top;">{{ $spesifikasi->name }}</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
<table class="checkbox-list">
@if (isset($basicData['spekBangunan']))
@php $count = 0; @endphp
<tr>
@foreach ($basicData['spekBangunan'] as $kategori)
@if ($kategori->spek_kategori_bangunan_id == $spesifikasi->id)
@php
$selectedValues = [];
if (
isset($bangunan['spek_kategori_bangunan'][$spesifikasi->name])
) {
$selectedValues = array_values(
$bangunan['spek_kategori_bangunan'][$spesifikasi->name],
);
}
$lainnyaValue =
$bangunan['spek_kategori_bangunan'][$spesifikasi->name][
'lainnya'
] ?? '';
@endphp
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox" class="checkbox-lainnya"
style="margin-right: 3px;"
name="spesifikasi_bangunan[{{ $bangunanIndex }}][{{ $spesifikasi->name }}][]"
value="{{ $kategori->name }}"
@if (in_array($kategori->name, $selectedValues)) checked @endif>
{{ $kategori->name }}
@if ($kategori->name == 'Lainnya')
<span class="text-lainnya"
style="display: {{ in_array('Lainnya', $selectedValues) ? 'inline' : 'none' }};">
: {{ $lainnyaValue }}
</span>
@endif
</label>
</td>
@php $count++; @endphp
@if ($count % 3 == 0)
</tr>
<tr>
@endif
@endif
@endforeach
</tr>
@endif
</table>
</td>
</tr>
@endforeach
@endif
@endforeach
@endif
<tr>
<td style="vertical-align: top;">Sarana Pelengkap</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['saranaPelengkap']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['saranaPelengkap'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox" name="sarana_pelengkap[]" value="{{ $item->name }}"
{{ isset($forminspeksi['bangunan']['sarana_pelengkap']) && in_array($item->name, $forminspeksi['bangunan']['sarana_pelengkap']) ? 'checked' : '' }}>
{{ $item->name }}
@if (isset($forminspeksi['bangunan']['sarana_pelengkap']) &&
in_array($item->name, $forminspeksi['bangunan']['sarana_pelengkap']))
@php
$inputValues = isset($forminspeksi['bangunan']['sarana_pelengkap_input'][$index])
? $forminspeksi['bangunan']['sarana_pelengkap_input'][$index]
: null;
@endphp
@if ($inputValues)
<span class="label-checkbox"> - {{ $inputValues }}</span>
@endif
@endif
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
</div>

View File

@@ -0,0 +1,118 @@
<div class="no-break" >
<table style="width: 100%; border: 1px solid #000; border-collapse: collapse;">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
ANalisa Fakta
</h2>
</td>
</tr>
</table>
<table>
<tr>
<td width="20%" style="vertical-align: top;">Faktor Positif</td>
<td width="1%" style="vertical-align: top;">:</td>
<td width="100%" style="vertical-align: top;">
@isset($forminspeksi['fakta']['fakta_positif'])
<table style="width: 100%; border-collapse: collapse;">
@foreach ($forminspeksi['fakta']['fakta_positif'] as $key => $item)
<tr>
<td>{!! nl2br(e($item)) !!}</td>
</tr>
@endforeach
</table>
@endisset
</td>
</tr>
<tr>
<td width="20%" style="vertical-align: top;">Faktor Negatif</td>
<td width="1%" style="vertical-align: top;">:</td>
<td width="100%" style="vertical-align: top;">
@php
$faktaNegatif = $forminspeksi['fakta']['fakta_negatif'] ?? [];
$faktaNegatifFiltered = is_array($faktaNegatif)
? array_filter($faktaNegatif, function ($item) {
return !empty(trim($item));
})
: [];
@endphp
@if (!empty($faktaNegatifFiltered))
<table style="width: 100%; border-collapse: collapse;">
@foreach ($faktaNegatifFiltered as $key => $item)
<tr>
<td>{!! nl2br(e($item)) !!}</td>
</tr>
@endforeach
</table>
@else
<p>Tidak ada faktor negatif yang teridentifikasi.</p>
@endif
</td>
</tr>
<tr>
<td width="20%" style="vertical-align: top;">Rute Munuju</td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
<p>{{ $forminspeksi['fakta']['rute_menuju'] ?? '' }}</p>
</td>
</tr>
<tr>
<td width="20%" style="vertical-align: top;">Batas Batas </td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@foreach ($forminspeksi['fakta']['batas_batas_input'] ?? [] as $arah => $batas)
@if ($batas)
<p> - {{ $arah }} : {{ $batas }}</p>
@endif
@endforeach
</td>
</tr>
<tr>
<td width="20%" style="vertical-align: top;">Kondisi lain terkait lingkungan </td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@foreach ($forminspeksi['fakta']['kondisi_lingkungan'] ?? [] as $kondisi)
<p>{!! nl2br(e($kondisi)) !!}</p>
@endforeach
</td>
</tr>
<tr>
<td width="20%" style="vertical-align: top;">Kondisi lain terkait Bangunan </td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@foreach ($forminspeksi['fakta']['kondisi_lain_bangunan'] ?? [] as $kondisiLain)
<p>{!! nl2br(e($kondisiLain)) !!}</p>
@endforeach
</td>
</tr>
<tr>
<td width="20%" style="vertical-align: top;">Informasi Terkait Dokumen </td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@foreach ($forminspeksi['fakta']['informasi_dokument'] ?? [] as $informasi)
<p>{!! nl2br(e($informasi)) !!}</p>
@endforeach
</td>
</tr>
</table>
</div>

View File

@@ -0,0 +1,130 @@
<div class="no-break">
<table style="width: 100%; border-collapse: collapse;">
<tr>
<td style="border: 1px solid #000;">
<table>
<tr>
<td>
Jakarta {{ formatTanggalIndonesia($permohonan->penilaian->waktu_penilaian) }}
</td>
</tr>
<tr>
<td>
TTD
</td>
</tr>
</table>
<table style="width: 100%; border-collapse: collapse; text-align: center;">
<tr>
@if (isset($forminspeksi['signature']['penilai']['image']) && !empty($forminspeksi['signature']['penilai']['image']))
@php
$imagePath = $forminspeksi['signature']['penilai']['image'];
$isBase64 = str_starts_with($imagePath, 'data:image');
if (!$isBase64) {
$relativePath = str_replace(url('storage') . '/', '', $imagePath);
$absolutePath = storage_path('app/public/' . $relativePath);
} else {
$absolutePath = $imagePath;
}
@endphp
<td style="width: 100px;">
<img style="width: 100px;" src="{{ $absolutePath }}" alt="">
</td>
@endif
@if (isset($forminspeksi['signature']['cabang']))
@php
$imagePath = $forminspeksi['signature']['cabang']['image'];
$isBase64 = str_starts_with($imagePath, 'data:image');
if (!$isBase64) {
$relativePath = str_replace(url('storage') . '/', '', $imagePath);
$absolutePath = storage_path('app/public/' . $relativePath);
} else {
$absolutePath = $imagePath;
}
@endphp
<td style="width: 100px;">
<img style="width: 100px;" src="{{ $absolutePath }}" alt="">
</td>
@endif
@if (isset($forminspeksi['signature']['debitur']))
<td style="width: 100px;">
<img style="width: 100px;" src="{{ $forminspeksi['signature']['debitur']['image'] }}"
alt="Debitur/Perwakilan">
</td>
@endif
<!-- K.J.P.P -->
@if (isset($forminspeksi['signature']['kjjp']))
<td style="width: 100px;">
<img style="width: 100px;" src="{{ $forminspeksi['signature']['kjjp']['image'] }}"
alt="KJPP">
</td>
@endif
</tr>
<tr>
@if (isset($forminspeksi['signature']['penilai']['name']))
<td style=" text-align: center">
<span>{{ ucwords(strtolower($forminspeksi['signature']['penilai']['name'])) }}</span>
<br />
<span>{{ ucwords(strtolower('PENILAI')) }}</span>
</td>
@endif
@if (isset($forminspeksi['signature']['cabang']['name']))
<td style=" text-align: center">
<span>{{ ucwords(strtolower($forminspeksi['signature']['cabang']['name'])) }}</span>
<br />
<span>{{ ucwords(strtolower('CABANG')) }}</span>
</td>
@endif
@if (isset($forminspeksi['signature']['debitur']['name']))
<td style=" text-align: center">
<span>{{ ucwords(strtolower($forminspeksi['signature']['debitur']['name'])) }}</span>
<br />
<span>{{ ucwords(strtolower('DEBITUR/PERWAKILAN')) }}</span>
</td>
@endif
@if (isset($forminspeksi['signature']['kjjp']['name']))
<td style=" text-align: center">
<span>{{ ucwords(strtolower($forminspeksi['signature']['kjjp']['name'])) }}</span>
<br />
<span>{{ strtoupper('K.J.P.P') }}</span>
</td>
@endif
</tr>
</table>
</td>
</tr>
</table>
</div>
<footer id="footer">
Cabang : {{ $permohonan->debiture->branch->name ?? '' }}
</footer>
<script type="text/php">
if (isset($pdf)) {
$pdf->page_script('
$font = $fontMetrics->get_font("Arial, Helvetica, sans-serif", "normal");
$size = 10;
$pageText = $PAGE_NUM;
$y = 800;
$x = 550;
$pdf->text($x, $y, $pageText, $font, $size);
');
}
</script>
</body>
</html>

View File

@@ -0,0 +1,208 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Hasil Inspeksi</title>
<style>
* {
font-size: 12px;
}
body {
font-family: Arial, sans-serif;
}
/** Define the header rules **/
@page {
margin-top: 100px;
margin-bottom: 50px;
}
#header {
position: fixed;
top: -80px;
left: 0;
right: 0;
height: 50px;
text-align: center;
padding-bottom: 10px;
}
.header-logo {
position: absolute;
left: 20px;
top: 10px;
max-height: 80px;
max-width: 150px;
}
.header-title {
margin-top: 20px;
}
#footer {
position: fixed;
bottom: -50px;
left: 0;
right: 0;
height: 50px;
text-align: center;
border-top: 1px solid #ddd;
padding-top: 10px;
font-size: 9px;
}
.page-number:after {
content: counter(page) " dari " counter(pages);
}
.content {
margin-top: 10px;
}
.page-break {
page-break-after: always;
}
#footer {
position: fixed;
bottom: -50px;
left: 0;
right: 0;
height: 50px;
text-align: left;
border-top: 1px solid #ddd;
padding-top: 10px;
font-size: 12px;
}
body {
margin-top: 3cm;
margin-bottom: 120px;
position: relative;
z-index: 1;
}
.border {
border: 1px solid #000;
}
.no-break {
page-break-inside: avoid;
page-break-before: auto;
page-break-after: auto;
}
.custom-table {
width: 100%;
border-collapse: collapse;
margin-bottom: 20px;
}
.custom-table td {
vertical-align: top;
}
.custom-table td:first-child {
font-weight: bold;
width: 30%;
/* Sesuaikan lebar kolom keterangan */
}
table.checkbox-list {
width: 100%;
border-collapse: collapse;
}
td.checkbox-item {
width: 33.33%;
vertical-align: top;
text-align: left;
}
label.checkbox-label {
display: flex;
align-items: center;
font-size: 12px;
}
label.checkbox-label input[type="checkbox"] {
margin-right: 6px;
transform: scale(1.3);
/* Memperkecil ukuran checkbox */
}
@media print {
table {
border-collapse: collapse;
}
tr {
page-break-inside: avoid;
}
td, th {
border: 1px solid #000;
}
}
</style>
</head>
@php
$data = '';
$dokument = null;
foreach ($permohonan->documents as $dokumen) {
$data .= $dokumen->jenisJaminan->name . ', ';
$dokument = $dokumen;
}
$data = rtrim($data, ', ');
$senior_officer = null;
if ($permohonan->debiture && $permohonan->documents) {
foreach ($permohonan->documents as $dokumen) {
$penilai = $permohonan->penilaian->userPenilai->where('role', 'penilai')->first();
$teams = $permohonan->region->teams;
if ($teams) {
foreach ($teams as $team) {
$team_users = $team->teamsUsers;
// print_r($team_users);
if ($team_users) {
foreach ($team_users as $team_user) {
$user = $team_user->user;
if ($user && $user->hasRole('senior-officer')) {
$senior_officer = $user;
break 3;
}
}
}
}
}
}
}
@endphp
<body style="width: 90%; margin: auto">
<header id="header">
<table style="width: 100%; border: none;">
<tr>
<td style="width: 20%; text-align: left;" class="header-left">
@include('lpj::component.logo-bag', ['width' => 150, 'height' => 40])
</td>
<td style="text-align: right;">
<div style="">
<p style="margin: 0; padding:0; font-size:10px;">Tanggal: {{ date('Y-m-d') }}</p>
<p style="margin: 0; padding:0; font-size:10px;">Waktu: {{ date('H:i:s') }}</p>
<p style="margin: 0; padding:0; font-size:10px;">User: {{ Auth::user()->name }}</p>
</div>
</td>
</tr>
</table>
</header>

View File

@@ -0,0 +1,103 @@
<div class="no-break" >
<table
style="width: 100%; border: 1px solid #000; border-collapse: collapse; ">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style="text-transform: uppercase; text-align: center; margin: 0;">Informasi Dinas Tata Ruang</h2>
</td>
</tr>
</table>
<table>
<tr>
<td width="20%" style="vertical-align: top;">Informasi Dinas Tata Ruang </td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@php
$informasi = [
'peruntukan',
'kdb',
'kdh',
'gsb',
'max_lantai',
'klb',
'gss',
'pelebaran_jalan',
'nama_petugas',
];
@endphp
@foreach ($informasi as $key)
@if (isset($forminspeksi['fakta'][$key]) && $forminspeksi['fakta'][$key] !== '-')
@php
$displayKey = ucfirst(str_replace('_', ' ', $key));
if (strlen($key) == 3) {
$displayKey = strtoupper($key);
}
@endphp
<p> - {{ $displayKey }}: {{ $forminspeksi['fakta'][$key] }}</p>
@endif
@endforeach
</td>
</tr>
@php
$fotoTypes = [
'upload_gs',
'foto_sentuh_tanahku',
'foto_gistaru',
'foto_bhumi',
'foto_argis_region',
'foto_tempat',
];
$customLabels = [
'upload_gs' => 'Gambar Situasi',
'foto_sentuh_tanahku' => 'Sentuh Tanahku',
'foto_gistaru' => 'Gistaru',
'foto_bhumi' => 'Bhumi',
'foto_argis_region' => 'Blad Tata Ruang ',
'foto_tempat' => 'Peta Lokasi',
];
// Memindahkan foto_tempat ke depan jika ada
if (($key = array_search('upload_gs', $fotoTypes)) !== false) {
unset($fotoTypes[$key]);
array_unshift($fotoTypes, 'upload_gs');
}
// Filter fotoTypes untuk memastikan hanya yang memiliki imagePath valid
$validPhotoTypes = array_filter($fotoTypes, function ($type) use ($forminspeksi) {
return isset($forminspeksi[$type]) && !empty($forminspeksi[$type]) && is_string($forminspeksi[$type]);
});
@endphp
@foreach ($validPhotoTypes as $type)
@php
$imagePath = $forminspeksi[$type] ?? null;
$imageUrl = is_string($imagePath) ? asset('storage/' . $imagePath) : null;
@endphp
@if ($imagePath && file_exists(storage_path('app/public/' . $imagePath)))
<tr>
<td style="20%"> {{ $customLabels[$type] ?? '' }}</td>
<td width="1%" style="vertical-align: top;"></td>
<td style="width: 79%">
<img src="{{ storage_path('app/public/' . $imagePath) }}" alt="{{ $imageUrl }}"
style="max-height: 400px; height: auto; max-width: 100%;">
</td>
</tr>
@endif
@endforeach
<tr>
<td width="20%" style="vertical-align: top;">Catatan yang Perlu Diperhatikan </td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@foreach ($forminspeksi['fakta']['keterangan'] ?? [] as $informasi)
<p>{!! nl2br(e($informasi)) !!}</p>
@endforeach
</td>
</tr>
</table>
</div>

View File

@@ -0,0 +1,713 @@
@include('lpj::surveyor.components.print-out.header')
<div style="border: 1px solid #000;">
<table
style="width: 100%; border-top: none; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
<td style="text-align: center; margin-top: 5px; ">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
Tujuan Penilaian
</h2>
</td>
</tr>
</table>
<table style="width: 100%;">
<tr>
<td style="vertical-align: top;">
<table>
<tr>
<td style="width: 25%; padding: 2px;">Tujuan Penilai</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="vertical-align: top; padding: 2px;">
{{ $permohonan->tujuanPenilaian->name ?? '' }}</td>
</tr>
<tr>
<td style="width: 25%; padding: 2px; vertical-align: top;">Cabang/Pemohon</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td style="vertical-align: top; vertical-align: top;">
{{ $permohonan->debiture->branch->name ?? '' }} / {{ $permohonan->user->name ?? '' }}
</td>
</tr>
</table>
</td>
<td style="vertical-align: top;">
<table>
<tr>
<td style="width: 25%; padding: 2px; vertical-align: top;">Tanggal Dibuat</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td style="vertical-align: top; vertical-align: top;">
{{ formatTanggalIndonesia($permohonan->created_at) }}
</td>
</tr>
<tr>
<td style="width: 25%; padding: 2px;">
Tanggal Survey</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="vertical-align: top; padding: 2px;">
{{ formatTanggalIndonesia($permohonan->penilaian->tanggal_kunjungan) }}</td>
</tr>
</table>
</td>
</tr>
</table>
<table
style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
<td style="text-align: center; margin-top: 5px; ">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
Identitas Debitur
</h2>
</td>
</tr>
</table>
<table style="width: 100%">
<tr>
<td style="width: 20%; padding: 2px; vertical-align: top;">Nama</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td style="vertical-align: top; width: 79%;">{{ $permohonan->debiture->name ?? '' }}</td>
</tr>
<tr>
<td style="width: 20%; padding: 2px;">Nama Wakil</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="vertical-align: top; padding: 2px;">
@if (isset($forminspeksi['asset']['debitur_perwakilan']) && !empty($forminspeksi['asset']['debitur_perwakilan']))
@foreach ($forminspeksi['asset']['debitur_perwakilan'] as $key => $item)
{{ $item }}
@endforeach
@endif
</td>
</tr>
<tr>
<td style="width: 20%; padding: 2px;">Hubungan Calon debitur</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="vertical-align: top; padding: 2px;">
@if (isset($forminspeksi['asset']['debitur_perwakilan']) && !empty($forminspeksi['asset']['debitur_perwakilan']))
@foreach ($forminspeksi['asset']['debitur_perwakilan'] as $key => $item)
{{ $item }}
@endforeach
@endif
</td>
</tr>
</table>
<table
style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
<td style="text-align: center; margin-top: 5px; ">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
Lokasi Jaminan
</h2>
</td>
</tr>
</table>
<table style="width: 100%">
<tr>
<td width="20%">Terletak di</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td> {{ $alamat['address'] ?? '' }}</td>
</tr>
<tr>
<td>Kelurahan</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td>{{ $alamat['village_code'] ?? '' }}</td>
</tr>
<tr>
<td>Kecamatan</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td>{{ $alamat['district_code'] ?? '' }}</td>
</tr>
<tr>
<td>Kotamadya</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td> {{ $alamat['city_code'] ?? '' }}</td>
</tr>
<tr>
<td>Propinsi</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td>{{ $alamat['province_code'] ?? '' }}</td>
</tr>
</table>
<div class="no-break" style="border-bottom: 1px solid #000;">
<table
style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
<td style="text-align: center; margin-top: 5px; ">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
STATUS KEPEMILIKAN, HUBUNGAN DAN PENGHUNI
</h2>
</td>
</tr>
</table>
<table>
@include('lpj::component.print-out-dokument')
<tr>
@php
// Ambil nilai sesuai dan tidak sesuai
$hubCadebSesuai = $forminspeksi['asset']['hub_cadeb']['sesuai'] ?? null;
$hubCadebTidakSesuai = $forminspeksi['asset']['hub_cadeb']['tidak sesuai'] ?? null;
@endphp
<td style="vertical-align: top;">Hubungan Pemilik Jaminan dengan Debitur</td>
<td style="width:1%; padding: 2px; vertical-align: top;">:</td>
<td>
<div style="margin-bottom: 10px;">
<label>
<input type="radio" name="hubCadebStatus" value="sesuai"
{{ $hubCadebSesuai ? 'checked' : '' }}> Sesuai
</label>
<label style="margin-left: 20px;">
<input type="radio" name="hubCadebStatus" value="tidak sesuai"
{{ $hubCadebTidakSesuai ? 'checked' : '' }}> Tidak Sesuai
</label>
</div>
@if (!empty($basicData['hubCadeb']))
<table>
<tr>
@php $count = 0; @endphp
@foreach ($basicData['hubCadeb'] as $item)
<td>
<label>
<input type="checkbox"
{{ isset($item->name) && ($hubCadebSesuai === $item->name || $hubCadebTidakSesuai === $item->name) ? 'checked' : '' }}>
{{ $item->name ?? '' }}
</label>
</td>
@php $count++; @endphp
@if ($count % 3 === 0)
</tr>
<tr>
@endif
@endforeach
@if ($count % 3 !== 0)
@for ($i = 0; $i < 3 - ($count % 3); $i++)
<td></td>
@endfor
@endif
</tr>
</table>
@endif
</td>
</tr>
<tr>
@php
$statusKey = isset($forminspeksi['asset']['hub_cadeb_penghuni']['sesuai']) ? 'sesuai' : 'tidak sesuai';
$selectedData = $forminspeksi['asset']['hub_cadeb_penghuni'][$statusKey] ?? null;
@endphp
<td style="vertical-align: top; width: 20%; padding: 2px;">Hubungan Penghuni Jaminan dengan Debitur</td>
<td style="width:1%; padding: 2px; vertical-align: top;">:</td>
<td style="vertical-align: top;">
@if (isset($selectedData))
{{ $selectedData ?? '' }}
</td>
@endif
</td>
</tr>
</table>
</div>
<div>
<table
style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
<td style="text-align: center; margin-top: 5px; ">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
Kondisi Fisik Objek
</h2>
</td>
</tr>
</table>
<table style="width: 100%;">
<tr>
<td style="vertical-align: top; width: 25%;">Kendaraan</td>
<td width="1%" style="vertical-align: top;">:</td>
<td width="100%" style="vertical-align: top;">
<table style="width: 100%;">
@if (isset($basicData['jenisKendaraan']))
@foreach ($basicData['jenisKendaraan'] as $item)
<tr>
<td width="40%">
<label class="form-label max-w-56 gap-2.5">
<input class="checkbox" name="kendaraan[]" type="checkbox"
value="{{ $item->name }}"
{{ in_array($item->name, old('kendaraan', $forminspeksi['kendaraan'] ?? [])) ? 'checked' : '' }} />
{{ $item->name }}
</label>
</td>
<td width="1%"></td>
<td width="100%">
<p>{{ old('kendaraan_input.' . $loop->index, $forminspeksi['kendaraan_input'][$loop->index] ?? '') }}</p>
</td>
</tr>
@endforeach
@endif
</table>
</td>
</tr>
<tr>
<td style="vertical-align: top;">Kondisi</td>
<td width="1%" style="vertical-align: top;">:</td>
<td width="100%" style="vertical-align: top;"></td>
</tr>
<tr>
<td style="vertical-align: top;">Nomor Polisi</td>
<td width="1%" style="vertical-align: top;">:</td>
<td width="100%" style="vertical-align: top;">
<table>
<tr>
<td>
<label>
<input type="radio" name="luas_bangunan_radio" value="sesuai" >
Sesuai
</label>
</td>
</tr>
<tr>
<td>
<label>
<input type="radio" name="luas_bangunan_radio" value="tidak sesuai" >
Tidak Sesuai
</label>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td style="vertical-align: top;">Merek</td>
<td width="1%" style="vertical-align: top;">:</td>
<td width="100%" style="vertical-align: top;">
<table>
<tr>
<td>
<label>
<input type="radio" name="luas_bangunan_radio" value="sesuai" >
Sesuai
</label>
</td>
</tr>
<tr>
<td>
<label>
<input type="radio" name="luas_bangunan_radio" value="tidak sesuai" >
Tidak Sesuai
</label>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td style="vertical-align: top;">Warana</td>
<td width="1%" style="vertical-align: top;">:</td>
<td width="100%" style="vertical-align: top;">
<table>
<tr>
<td>
<label>
<input type="radio" name="luas_bangunan_radio" value="sesuai" >
Sesuai
</label>
</td>
</tr>
<tr>
<td>
<label>
<input type="radio" name="luas_bangunan_radio" value="tidak sesuai" >
Tidak Sesuai
</label>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td style="vertical-align: top;">Nomor Rangka</td>
<td width="1%" style="vertical-align: top;">:</td>
<td width="100%" style="vertical-align: top;">
<table>
<tr>
<td>
<label>
<input type="radio" name="luas_bangunan_radio" value="sesuai" >
Sesuai
</label>
</td>
</tr>
<tr>
<td>
<label>
<input type="radio" name="luas_bangunan_radio" value="tidak sesuai" >
Tidak Sesuai
</label>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td style="vertical-align: top;">Nomor Mesin</td>
<td width="1%" style="vertical-align: top;">:</td>
<td width="100%" style="vertical-align: top;">
<table>
<tr>
<td>
<label>
<input type="radio" name="luas_bangunan_radio" value="sesuai" >
Sesuai
</label>
</td>
</tr>
<tr>
<td>
<label>
<input type="radio" name="luas_bangunan_radio" value="tidak sesuai" >
Tidak Sesuai
</label>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td style="vertical-align: top;">Posisi Kilometer</td>
<td width="1%" style="vertical-align: top;">:</td>
<td width="100%" style="vertical-align: top;">
<table>
<tr>
<td>
<label>
<input type="radio" name="luas_bangunan_radio" value="sesuai" >
Sesuai
</label>
</td>
</tr>
<tr>
<td>
<label>
<input type="radio" name="luas_bangunan_radio" value="tidak sesuai" >
Tidak Sesuai
</label>
</td>
</tr>
</table>
</td>
</tr>
@php
$inputDataJaminan = [
[
'label' => 'Transmisi',
'value' => ['Otomatis', 'Manual'],
'name' => 'transmisi',
'index' => 0,
],
[
'label' => 'Mesin dan panel Instrument',
'value' => ['Terawat', 'Cukup Terawat', 'Tidak Terawat'],
'name' => 'mesin_panel_instrument',
'index' => 1,
],
[
'label' => 'Fungsi Mesin dan panel Instument',
'value' => ['Berfungsi', 'Rusak'],
'name' => 'fungsi_mesin_panel_instrument',
'index' => 2,
],
[
'label' => 'Interior',
'value' => ['Terawat', 'Cukup Terawat', 'Tidak Terawat'],
'name' => 'interior',
'index' => 3,
],
[
'label' => 'Jumlah pintu',
'value' => ['Dua Pintu', 'Empat Pintu', 'Lain-Lain'],
'name' => 'jumlah_pintu',
'index' => 4,
],
[
'label' => 'Rangka dan karoseri',
'value' => ['Terawat', 'Cukup Terawat', 'Tidak Terawat'],
'name' => 'rangka_karoseri',
'index' => 5,
],
[
'label' => 'Ban',
'value' => ['Standard', 'Tidak Standard'],
'name' => 'ban',
'index' => 6,
],
[
'label' => 'Velg',
'value' => ['Standard', 'Tidak Standard'],
'name' => 'velg',
'index' => 7,
],
[
'label' => 'Bamper Depan',
'value' => ['Terawat', 'Cukup Terawat', 'Tidak Terawat'],
'name' => 'bamper_depan',
'index' => 8,
],
[
'label' => 'Bamper Belakang',
'value' => ['Terawat', 'Cukup Terawat', 'Tidak Terawat'],
'name' => 'bamper_belakang',
'index' => 9,
],
[
'label' => 'Lampu depan',
'value' => ['Terawat', 'Cukup Terawat', 'Tidak Terawat'],
'name' => 'lampu_depan',
'index' => 10,
],
[
'label' => 'Lampu belakang',
'value' => ['Terawat', 'Cukup Terawat', 'Tidak Terawat'],
'name' => 'lampu_belakang',
'index' => 11,
],
[
'label' => 'Kaca kendaraan',
'value' => ['Terawat', 'Cukup Terawat', 'Tidak Terawat'],
'name' => 'kaca_kendaraan',
'index' => 12,
],
[
'label' => 'Air Conditioner',
'value' => ['Ada', 'Tidak Ada'],
'name' => 'air_conditioner',
'index' => 13,
],
[
'label' => 'Tape/Radio/CD dan perlengkapan (Equalizer, Booster, dll)',
'value' => ['Ada', 'Tidak Ada'],
'name' => 'tape_radio_cd',
'index' => 14,
],
[
'label' => 'Sensor parkir',
'value' => ['Ada', 'Tidak Ada'],
'name' => 'sensor_parkir',
'index' => 15,
],
[
'label' => 'Sensor Camera (360), Recorder',
'value' => ['Ada', 'Tidak Ada'],
'name' => 'sensor_camera_recorder',
'index' => 16,
],
[
'label' => 'Lcd',
'value' => ['Ada', 'Tidak Ada'],
'name' => 'lcd',
'index' => 17,
],
[
'label' => 'Sabuk Keselamatan',
'value' => ['Ada', 'Tidak Ada'],
'name' => 'sabuk_keselamatan',
'index' => 18,
],
[
'label' => 'Airbag',
'value' => ['Ada', 'Tidak Ada'],
'name' => 'airbag',
'index' => 19,
],
[
'label' => 'Asuransi',
'value' => ['Ada', 'Tidak Ada'],
'name' => 'asuransi',
'index' => 20,
],
];
@endphp
@foreach ($inputDataJaminan as $item)
<tr>
<td style="vertical-align: top; width: 25%;">{{ $item['label'] }}</td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
<table style="width: 100%; border-collapse: collapse;">
@foreach ($item['value'] as $value)
<tr>
<td>
<label class="form-label max-w-56 gap-2.5" style="width: 500px">
<input class="checkbox" name="{{ $item['name'] }}[]" type="checkbox"
value="{{ $value }}"
{{ in_array($value, old($item['name'], $forminspeksi[$item['name']] ?? [])) ? 'checked' : '' }} />
{{ $value }}
@if ($forminspeksi[$item['name'] . '_input'][$loop->index] != null)
-
{{ old($item['name'] . '_input' . $loop->index, $forminspeksi[$item['name'] . '_input'][$loop->index] ?? '') }}
@endif
</label>
</td>
</tr>
@endforeach
</table>
</td>
</tr>
@endforeach
<tr>
<td style="vertical-align: top;">Perusahaan Asuransi</td>
<td width="1%" style="vertical-align: top;">:</td>
<td width="100%" style="vertical-align: top;">{{ $forminspeksi['perusahaan_asuransi'] ?? '' }}</td>
</tr>
<tr>
<td style="vertical-align: top;">Tahun Berakhir</td>
<td width="1%" style="vertical-align: top;">:</td>
<td width="100%" style="vertical-align: top;">
{{ isset($forminspeksi['tahun_berakhir']) ? formatTanggalIndonesia($forminspeksi['tahun_berakhir']) : '' }}
</td>
</tr>
</table>
</div>
<div>
<table
style="width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse; border-left: none; border-right: none;">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
ANalisa Fakta
</h2>
</td>
</tr>
</table>
<table style="width: 100%">
<tr>
<td width="25%" style="vertical-align: top;">Faktor Positif</td>
<td width="1%" style="vertical-align: top;">:</td>
<td width="100%" style="vertical-align: top;">
@isset($forminspeksi['fakta_positif'])
<table style="width: 100%; border-collapse: collapse;">
@foreach ($forminspeksi['fakta_positif'] as $key => $item)
<tr>
<td>{!! nl2br(e($item)) !!}</td>
</tr>
@endforeach
</table>
@endisset
</td>
</tr>
<tr>
<td width="25%" style="vertical-align: top;">Faktor Negatif</td>
<td width="1%" style="vertical-align: top;">:</td>
<td width="100%" style="vertical-align: top;">
@php
$faktaNegatif = $forminspeksi['fakta_negatif'] ?? [];
$faktaNegatifFiltered = is_array($faktaNegatif)
? array_filter($faktaNegatif, function ($item) {
return !empty(trim($item));
})
: [];
@endphp
@if (!empty($faktaNegatifFiltered))
<table style="width: 100%; border-collapse: collapse;">
@foreach ($faktaNegatifFiltered as $key => $item)
<tr>
<td>{!! nl2br(e($item)) !!}</td>
</tr>
@endforeach
</table>
@else
<p>Tidak ada faktor negatif yang teridentifikasi.</p>
@endif
</td>
</tr>
<tr>
<td width="25%" style="vertical-align: top;">Analisa Makro</td>
<td width="1%" style="vertical-align: top;">:</td>
<td width="100%" style="vertical-align: top;">
@php
$faktaNegatif = $forminspeksi['analisa_makro'] ?? [];
$faktaNegatifFiltered = is_array($faktaNegatif)
? array_filter($faktaNegatif, function ($item) {
return !empty(trim($item));
})
: [];
@endphp
@if (!empty($faktaNegatifFiltered))
<table style="width: 100%; border-collapse: collapse;">
@foreach ($faktaNegatifFiltered as $key => $item)
<tr>
<td>{!! nl2br(e($item)) !!}</td>
</tr>
@endforeach
</table>
@else
<p>Tidak ada faktor negatif yang teridentifikasi.</p>
@endif
</td>
</tr>
<tr>
<td width="20%" style="vertical-align: top;">Kesimpulan</td>
<td width="1%" style="vertical-align: top;">:</td>
<td width="100%" style="vertical-align: top;">
@php
$faktaNegatif = $forminspeksi['catatan'] ?? [];
$faktaNegatifFiltered = is_array($faktaNegatif)
? array_filter($faktaNegatif, function ($item) {
return !empty(trim($item));
})
: [];
@endphp
@if (!empty($faktaNegatifFiltered))
<table style="width: 100%; border-collapse: collapse;">
@foreach ($faktaNegatifFiltered as $key => $item)
<tr>
<td>{!! nl2br(e($item)) !!}</td>
</tr>
@endforeach
</table>
@else
<p>Tidak ada faktor negatif yang teridentifikasi.</p>
@endif
</td>
</tr>
</table>
</div>
</div>
@include('lpj::surveyor.components.print-out.footer')

View File

@@ -0,0 +1,313 @@
<div class="no-break">
<table style="width: 100%; border: 1px solid #000; border-collapse: collapse; ">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
Analisa Lingkungan
</td>
</tr>
</table>
<table>
<tr>
<td>
<table>
<tr>
<td width="25%">Jarak Jalan Utama</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>{{ $forminspeksi['lingkungan']['jarak_jalan_utama'] ?? '' }} {{ $forminspeksi['lingkungan']['jalan_linkungan'] ?? '' }}</td>
</tr>
<tr>
<td>Jarak CBD Point</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>{{ $forminspeksi['lingkungan']['jarak_cbd_point'] ?? '' }} {{ $forminspeksi['lingkungan']['nama_cbd_point'] ?? '' }}</td>
</tr>
<tr>
<td>Lebar Perkerasan Jalan</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>{{ $forminspeksi['lingkungan']['lebar_perkerasan_jalan'] ?? '' }}</td>
</tr>
<tr>
<td style="vertical-align: top;">Perkerasan Jalan</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['perkerasanJalan']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['perkerasanJalan'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['lingkungan']['perkerasan_jalan']['perkerasan_jalan']) && in_array($item->name, $forminspeksi['lingkungan']['perkerasan_jalan']['perkerasan_jalan']) ? 'checked' : '' }}>
{{ $item->name }}
@if ($item->name == 'Lainnya')
{{ isset($forminspeksi['lingkungan']['perkerasan_jalan']['lainnya']) ? ' (' . $forminspeksi['lingkungan']['perkerasan_jalan']['lainnya'] . ')' : '' }}
@endif
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<tr>
<td style="vertical-align: top;">Lalu Lintas Depan Lokasi</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['laluLintasLokasi']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['laluLintasLokasi'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['lingkungan']['lalu_lintas']) && in_array($item->name, $forminspeksi['lingkungan']['lalu_lintas']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<tr>
<td style="vertical-align: top;">Golongan Masyarakat Sekitar</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['golMasySekitar']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['golMasySekitar'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['lingkungan']['gol_mas_sekitar']) && in_array($item->name, $forminspeksi['lingkungan']['gol_mas_sekitar']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<tr>
<td style="vertical-align: top;">Tingkat Keramaian</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['tingkatKeramaian']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['tingkatKeramaian'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['lingkungan']['tingkat_keramaian']) && in_array($item->name, $forminspeksi['lingkungan']['tingkat_keramaian']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<tr>
<td style="vertical-align: top;">Terletak Di Area</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['terletakDiArea']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['terletakDiArea'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['lingkungan']['terletak_diarea']['terletak_diarea']) && in_array($item->name, $forminspeksi['lingkungan']['terletak_diarea']['terletak_diarea'] ?? '') ? 'checked' : '' }}>
{{ $item->name }}
@if ($item->name == 'Lainnya')
{{ isset($forminspeksi['lingkungan']['terletak_diarea']['lainnya']) ? ' (' . $forminspeksi['lingkungan']['terletak_diarea']['lainnya'] . ')' : '' }}
@endif
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<tr>
<td style="vertical-align: top;">Disekitar Lokasi</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
<div class="checkbox-item">
<label class="checkbox-label">
<input type="radio" name="disekitar_lokasi" value="Telah ada bangunan"
{{ ($forminspeksi['lingkungan']['disekitar_lokasi'] ?? '') == 'ya' ? 'checked' : '' }}>
Telah ada bangunan
@if (($forminspeksi['lingkungan']['disekitar_lokasi'] ?? '') == 'ya')
- Kondisi Bangunan:
{{ $forminspeksi['lingkungan']['kondisi_bagunan_disekitar_lokasi'] ?? '' }}
, Sifat Bangunan:
{{ $forminspeksi['lingkungan']['sifat_bagunan_disekitar_lokasi'] ?? '' }}
@endif
</label>
<label class="checkbox-label">
<input type="radio" name="disekitar_lokasi" value="Belum ada bangunan"
{{ ($forminspeksi['lingkungan']['disekitar_lokasi'] ?? '') == 'tidak' ? 'checked' : '' }}>
Belum ada bangunan
</label>
</div>
</td>
</tr>
<tr>
<td style="vertical-align: top;">Dekat Makam</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
<div class="checkbox-item">
<label class="checkbox-label">
<input type="radio" name="disekitar_lokasi" value="ya"
{{ ($forminspeksi['lingkungan']['dekat_makam'] ?? '') == 'ya' ? 'checked' : '' }}>
Ya
@if (($forminspeksi['lingkungan']['dekat_makam'] ?? '') == 'ya')
- Nama Makam:
{{ $forminspeksi['lingkungan']['nama_makam'] ?? '' }}
, Jarak Makam:
{{ $forminspeksi['lingkungan']['jarak_makam'] ?? '' }}
@endif
</label>
<label class="checkbox-label">
<input type="radio" name="disekitar_lokasi" value="tidak"
{{ ($forminspeksi['lingkungan']['dekat_makam'] ?? '') == 'tidak' ? 'checked' : '' }}>
Tidak
</label>
</div>
</td>
</tr>
<tr>
<td style="vertical-align: top;">Dekat TPS</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
<div class="checkbox-item">
<label class="checkbox-label">
<input type="radio" name="disekitar_lokasi" value="ya"
{{ ($forminspeksi['lingkungan']['dekat_tps'] ?? '') == 'ya' ? 'checked' : '' }}>
Ya
@if (($forminspeksi['lingkungan']['dekat_tps'] ?? '') == 'ya')
- Nama TPS:
{{ $forminspeksi['lingkungan']['nama_tps'] ?? '' }}
, Jarak TPS:
{{ $forminspeksi['lingkungan']['jarak_tps'] ?? '' }}
@endif
</label>
<label class="checkbox-label">
<input type="radio" name="disekitar_lokasi" value="tidak"
{{ ($forminspeksi['lingkungan']['dekat_tps'] ?? '') == 'tidak' ? 'checked' : '' }}>
Tidak
</label>
</div>
</td>
</tr>
<tr>
<td style="vertical-align: top;">Dekat Lainnya</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>{{ $forminspeksi['lingkungan']['dekat_lainnya'] ?? '' }}</td>
</tr>
<tr>
<td style="vertical-align: top;">Merupakan Daerah</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['merupakanDaerah']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['merupakanDaerah'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['lingkungan']['merupakan_daerah']) && in_array($item->name, $forminspeksi['lingkungan']['merupakan_daerah']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<tr>
<td style="vertical-align: top;">Fasilitas Umum Dekat Lokasi</td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@if (isset($basicData['fasilitasObjek']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['fasilitasObjek'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['lingkungan']['fasilitas_dekat_object']) && $forminspeksi['lingkungan']['fasilitas_dekat_object_input'][$item->name] ? 'checked' : '' }}>
{{ $item->name}} {{isset($forminspeksi['lingkungan']['fasilitas_dekat_object_input'][$item->name]) ? '('. $forminspeksi['lingkungan']['fasilitas_dekat_object_input'][$item->name] .')' : ''}}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>

View File

@@ -0,0 +1,640 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Hasil Inspeksi</title>
<style>
* {
font-size: 12px;
}
body {
font-family: Arial, sans-serif;
}
/** Define the header rules **/
@page {
margin-top: 100px;
margin-bottom: 50px;
}
#header {
position: fixed;
top: -80px;
left: 0;
right: 0;
height: 50px;
text-align: center;
padding-bottom: 10px;
}
.header-logo {
position: absolute;
left: 20px;
top: 10px;
max-height: 80px;
max-width: 150px;
}
.header-title {
margin-top: 20px;
}
#footer {
position: fixed;
bottom: -50px;
left: 0;
right: 0;
height: 50px;
text-align: center;
border-top: 1px solid #ddd;
padding-top: 10px;
font-size: 9px;
}
.page-number:after {
content: counter(page) " dari " counter(pages);
}
.content {
margin-top: 10px;
}
.page-break {
page-break-after: always;
}
#footer {
position: fixed;
bottom: -50px;
left: 0;
right: 0;
height: 50px;
text-align: left;
border-top: 1px solid #ddd;
padding-top: 10px;
font-size: 12px;
}
body {
margin-top: 3cm;
margin-bottom: 120px;
position: relative;
z-index: 1;
}
.border {
border: 1px solid #000;
}
.no-break {
page-break-inside: avoid;
page-break-before: auto;
page-break-after: auto;
}
.custom-table {
width: 100%;
border-collapse: collapse;
margin-bottom: 20px;
}
.custom-table td {
vertical-align: top;
}
.custom-table td:first-child {
font-weight: bold;
width: 30%;
/* Sesuaikan lebar kolom keterangan */
}
table.checkbox-list {
width: 100%;
border-collapse: collapse;
}
td.checkbox-item {
width: 33.33%;
vertical-align: top;
text-align: left;
}
label.checkbox-label {
display: flex;
align-items: center;
font-size: 12px;
}
label.checkbox-label input[type="checkbox"] {
margin-right: 6px;
transform: scale(1.3);
/* Memperkecil ukuran checkbox */
}
@media print {
table {
border-collapse: collapse;
}
tr {
page-break-inside: avoid;
}
td, th {
border: 1px solid #000;
}
}
</style>
</head>
@php
$data = '';
$dokument = null;
foreach ($permohonan->documents as $dokumen) {
$data .= $dokumen->jenisJaminan->name . ', ';
$dokument = $dokumen;
}
$data = rtrim($data, ', ');
$senior_officer = null;
if ($permohonan->debiture && $permohonan->documents) {
foreach ($permohonan->documents as $dokumen) {
$penilai = $permohonan->penilaian->userPenilai->where('role', 'penilai')->first();
$surveyor = $permohonan->penilaian->userPenilai->where('role', 'surveyor')->first();
$teams = $permohonan->region->teams;
if ($teams) {
foreach ($teams as $team) {
$team_users = $team->teamsUsers;
// print_r($team_users);
if ($team_users) {
foreach ($team_users as $team_user) {
$user = $team_user->user;
if ($user && $user->hasRole('senior-officer')) {
$senior_officer = $user;
break 3;
}
}
}
}
}
}
}
use Modules\Usermanagement\Models\User;
$surveyorUser = User::where('id', $surveyor->userPenilaiTeam->id)->first();
@endphp
<body style="width: 90%; margin: auto">
<header id="header">
<table style="width: 100%; border: none;">
<tr>
<td style="width: 20%; text-align: left;" class="header-left">
@include('lpj::component.logo-bag', ['width' => 150, 'height' => 40])
</td>
<td style="text-align: right;">
<div style="">
<p style="margin: 0; padding:0; font-size:10px;">
Tanggal: {{ \Carbon\Carbon::parse($permohonan->penilaian->updated_at)->format('d-m-Y') }}
</p>
<p style="margin: 0; padding:0; font-size:10px;">
Waktu: {{ \Carbon\Carbon::parse($permohonan->penilaian->updated_at)->format('H:i') }}
</p>
<p style="margin: 0; padding:0; font-size:10px;">User: {{ $surveyorUser->name }}</p>
</div>
</td>
</tr>
</table>
</header>
<div style="text-align: center; text-transform: uppercase; font-weight: bold;">
<h1 style="font-size: 14px;">
FORM INSPEKSI {{ $data ?? '' }}
</h1></div>
<div >
<table
style="width: 100%; border: 1px solid #000; border-collapse: collapse; ">
<tr>
<td style="text-align: center; margin-top: 5px; ">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
Tujuan Penilaian
</h2>
</td>
</tr>
</table>
<table style="width: 100%;">
<tr>
<td style="vertical-align: top;">
<table>
<tr>
<td style="width: 25%; padding: 2px;">Tujuan Penilai</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="vertical-align: top; padding: 2px;">
{{ $permohonan->tujuanPenilaian->name ?? '' }}</td>
</tr>
<tr>
<td style="width: 25%; padding: 2px; vertical-align: top;">Cabang/Pemohon</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td style="vertical-align: top; vertical-align: top;">
{{ $permohonan->debiture->branch->name ?? '' }} / {{ $permohonan->user->name ?? '' }}
</td>
</tr>
<tr>
<td style="width: 25%; padding: 2px; vertical-align: top;">Debitur/Perwakilan</td>
<td style="width: 1%; padding: 2px; vertical-align: top;">:</td>
<td style="vertical-align: top; padding: 2px;">
@if (isset($forminspeksi['asset']['debitur_perwakilan']) && !empty($forminspeksi['asset']['debitur_perwakilan']))
@foreach ($forminspeksi['asset']['debitur_perwakilan'] as $key => $item)
<p style="margin: 0; padding:0;">
{{ $item }}
</p>
@endforeach
@endif
</td>
</tr>
</table>
</td>
<td style="vertical-align: top;">
<table>
<tr>
<td style="width: 25%; padding: 2px;">
Tanggal Survey</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="vertical-align: top; padding: 2px;">
{{ formatTanggalIndonesia($permohonan->penilaian->updated_at) }}</td>
</tr>
<tr>
<td style="width: 25%; padding: 2px; vertical-align: top;">Pihak Bank</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td style="vertical-align: top; vertical-align: top;">
{{ isset($forminspeksi['asset']['pihak_bank']) ? $forminspeksi['asset']['pihak_bank'] : '' }}
</td>
</tr>
</table>
</td>
</tr>
</table>
<table
style="width: 100%; border: 1px solid #000; border-collapse: collapse; ">
<tr>
<td style="text-align: center; margin-top: 5px; ">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
Nama Cadeb/Debitur
</h2>
</td>
</tr>
</table>
<table style="width: 100%">
<tr>
<td style="width: 25%; padding: 2px; vertical-align: top;">Nama</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td style="vertical-align: top; width: 79%;">{{ $permohonan->debiture->name ?? '' }}</td>
</tr>
</table>
<table
style="width: 100%; border: 1px solid #000; border-collapse: collapse;">
<tr>
<td style="text-align: center; margin-top: 5px; ">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
Deskripsi Aset jaminan
</h2>
</td>
</tr>
</table>
<table style="width: 100%">
<tr>
@php
$statusKey = isset($forminspeksi['asset']['jenis_asset']['sesuai']) ? 'sesuai' : 'tidak sesuai';
$selectedData = $forminspeksi['asset']['jenis_asset'][$statusKey] ?? null;
$lainnya = isset($forminspeksi['asset']['jenis_asset']['Lainnya'])
? $forminspeksi['asset']['jenis_asset']['Lainnya']
: null;
@endphp
<td width="25%" style="padding: 2px; vertical-align: top;">Jenis Aset</td>
<td width="1%" style=" vertical-align: top;">:</td>
<td style="vertical-align: top; width: %;">
{{ $selectedData ?? '' }} {{ $lainnya ?? '' }}
</td>
</tr>
<tr>
<td style="width: 25%; padding: 2px; vertical-align: top;">Alamat</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td style="vertical-align: top;">
<table style="margin: 0">
<tr>
<td width="25%">Terletak di</td>
<td> {{ $alamat['address'] ?? '' }}</td>
</tr>
<tr>
<td>Kelurahan</td>
<td>{{ $alamat['village_code'] ?? '' }}</td>
</tr>
<tr>
<td>Kecamatan</td>
<td>{{ $alamat['district_code'] ?? '' }}</td>
</tr>
<tr>
<td>Kotamadya</td>
<td> {{ $alamat['city_code'] ?? '' }}</td>
</tr>
<tr>
<td>Propinsi</td>
<td>{{ $alamat['province_code'] ?? '' }}</td>
</tr>
</table>
</td>
</tr>
</table>
<table
style="width: 100%; border: 1px solid #000; border-collapse: collapse; ">
<tr>
<td style="text-align: center; margin-top: 5px; ">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
Titik Koordinat Google Maps
</h2>
</td>
</tr>
</table>
<table style="width: 100%">
<tr>
<td style="width: 25%; padding: 2px; vertical-align: top;">Titik Kordinat</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td style="vertical-align: top; width: 79%;">
{{ isset($forminspeksi['asset']['kordinat_lat']) ? $forminspeksi['asset']['kordinat_lat'] : '' }}
,
{{ isset($forminspeksi['asset']['kordinat_lng']) ? $forminspeksi['asset']['kordinat_lng'] : '' }}
</td>
</tr>
</table>
<div class="no-break" >
<table
style="width: 100%; border: 1px solid #000; border-collapse: collapse; ">
<tr>
<td style="text-align: center; margin-top: 5px; ">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
STATUS KEPEMILIKAN, HUBUNGAN DAN PENGHUNI
</h2>
</td>
</tr>
</table>
<table>
@include('lpj::component.print-out-dokument')
<tr>
@php
// Ambil nilai sesuai dan tidak sesuai
$hubCadebSesuai = $forminspeksi['asset']['hub_cadeb']['sesuai'] ?? null;
$hubCadebTidakSesuai = $forminspeksi['asset']['hub_cadeb']['tidak sesuai'] ?? null;
@endphp
<td style="vertical-align: top;">Hubungan Pemilik Jaminan dengan Debitur</td>
<td style="width:1%; padding: 2px; vertical-align: top;">:</td>
<td>
<div style="margin-bottom: 10px;">
<label>
<input type="radio" name="hubCadebStatus" value="sesuai"
{{ $hubCadebSesuai ? 'checked' : '' }}> Sesuai
</label>
<label style="margin-left: 20px;">
<input type="radio" name="hubCadebStatus" value="tidak sesuai"
{{ $hubCadebTidakSesuai ? 'checked' : '' }}> Tidak Sesuai
</label>
</div>
@if (!empty($basicData['hubCadeb']))
<table>
<tr>
@php $count = 0; @endphp
@foreach ($basicData['hubCadeb'] as $item)
<td>
<label>
<input type="checkbox"
{{ isset($item->name) && ($hubCadebSesuai === $item->name || $hubCadebTidakSesuai === $item->name) ? 'checked' : '' }}>
{{ $item->name ?? '' }}
</label>
</td>
@php $count++; @endphp
@if ($count % 3 === 0)
</tr>
<tr>
@endif
@endforeach
@if ($count % 3 !== 0)
@for ($i = 0; $i < 3 - ($count % 3); $i++)
<td></td>
@endfor
@endif
</tr>
</table>
@endif
</td>
</tr>
<tr>
@php
$statusKey = isset($forminspeksi['asset']['hub_cadeb_penghuni']['sesuai'])
? 'sesuai'
: 'tidak sesuai';
$selectedData = $forminspeksi['asset']['hub_cadeb_penghuni'][$statusKey] ?? null;
@endphp
<td style="vertical-align: top; width: 20%; padding: 2px;">Hubungan Penghuni Jaminan dengan Debitur</td>
<td style="width:1%; padding: 2px; vertical-align: top;">:</td>
<td style="vertical-align: top;">
@if (isset($selectedData))
{{ $selectedData ?? '' }}
</td>
@endif
</td>
</tr>
</table>
</div>
@if (strtolower($permohonan->tujuanPenilaian->name) == 'rap')
@include('lpj::surveyor.components.print-out.rap')
@else
@foreach ($permohonan->documents as $dokumen)
@if ($dokumen->jenisJaminan)
@php
$formKategori = json_decode($dokumen->jenisJaminan->form_kategori, true);
@endphp
@if (isset($formKategori) && $formKategori)
@php
$kategoriArray = is_array($formKategori) ? $formKategori : [$formKategori];
$kategoriUnik = array_unique($kategoriArray);
@endphp
@endif
@foreach ($kategoriUnik as $kategori)
{{-- Tampilkan komponen sesuai kategori jika file komponen ada --}}
@includeIf('lpj::surveyor.components.print-out.' . str_replace('-', '-', $kategori), [
'dokumen' => $dokumen,
])
@endforeach
@endif
@endforeach
@endif
</div>
<div class="no-break">
<table style="width: 100%; border-collapse: collapse;">
<tr>
<td>
<table>
<tr>
<td>
Jakarta {{ formatTanggalIndonesia($permohonan->penilaian->waktu_penilaian) }}
</td>
</tr>
<tr>
<td>
TTD
</td>
</tr>
</table>
<table style="width: 100%; border-collapse: collapse; text-align: center;">
<tr>
@if (isset($forminspeksi['signature']['penilai']['image']) && !empty($forminspeksi['signature']['penilai']['image']))
@php
$imagePath = $forminspeksi['signature']['penilai']['image'];
$isBase64 = str_starts_with($imagePath, 'data:image');
if (!$isBase64) {
$relativePath = str_replace(url('storage') . '/', '', $imagePath);
$absolutePath = storage_path('app/public/' . $relativePath);
} else {
$absolutePath = $imagePath;
}
@endphp
<td style="width: 100px;">
<img style="width: 100px;" src="{{ $absolutePath }}" alt="">
</td>
@endif
@if (isset($forminspeksi['signature']['cabang']))
@php
$imagePath = $forminspeksi['signature']['cabang']['image'];
$isBase64 = str_starts_with($imagePath, 'data:image');
if (!$isBase64) {
$relativePath = str_replace(url('storage') . '/', '', $imagePath);
$absolutePath = storage_path('app/public/' . $relativePath);
} else {
$absolutePath = $imagePath;
}
@endphp
<td style="width: 100px;">
<img style="width: 100px;" src="{{ $absolutePath }}" alt="">
</td>
@endif
@if (isset($forminspeksi['signature']['debitur']))
<td style="width: 100px;">
<img style="width: 100px;"
src="{{ $forminspeksi['signature']['debitur']['image'] }}"
alt="Debitur/Perwakilan">
</td>
@endif
<!-- K.J.P.P -->
@if (isset($forminspeksi['signature']['kjpp']))
<td style="width: 100px;">
<img style="width: 100px;"
src="{{ $forminspeksi['signature']['kjpp']['image'] }}" alt="KJPP">
</td>
@endif
</tr>
<tr>
@if (isset($forminspeksi['signature']['penilai']['name']))
<td style=" text-align: center">
<span>{{ ucwords(strtolower($forminspeksi['signature']['penilai']['name'])) }}</span>
<br />
<span>{{ ucwords(strtolower('PENILAI')) }}</span>
</td>
@endif
@if (isset($forminspeksi['signature']['cabang']['name']))
<td style=" text-align: center">
<span>{{ ucwords(strtolower($forminspeksi['signature']['cabang']['name'])) }}</span>
<br />
<span>{{ ucwords(strtolower('CABANG')) }}</span>
</td>
@endif
@if (isset($forminspeksi['signature']['debitur']['name']))
<td style=" text-align: center">
<span>{{ ucwords(strtolower($forminspeksi['signature']['debitur']['name'])) }}</span>
<br />
<span>{{ ucwords(strtolower('DEBITUR/PERWAKILAN')) }}</span>
</td>
@endif
@if (isset($forminspeksi['signature']['kjpp']['name']))
<td style=" text-align: center">
<span>{{ ucwords(strtolower($forminspeksi['signature']['kjpp']['name'])) }}</span>
<br />
<span>{{ strtoupper('K.J.P.P') }}</span>
</td>
@endif
</tr>
</table>
</td>
</tr>
</table>
</div>
<footer id="footer">
{{-- Cabang : {{ $permohonan->debiture->branch->name ?? '' }} --}}
</footer>
<script type="text/php">
if (isset($pdf)) {
$pdf->page_script('
$font = $fontMetrics->get_font("Arial, Helvetica, sans-serif", "normal");
$size = 10;
$pageText = $PAGE_NUM;
$y = 800;
$x = 550;
$pdf->text($x, $y, $pageText, $font, $size);
');
}
</script>
</body>
</html>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,497 @@
<div class="no-break" >
<table
style="width: 100%; border: 1px solid #000; border-collapse: collapse; ">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
PERIZINAN
</h2>
</td>
</tr>
</table>
<table>
@if (isset($forminspeksi['perizinan']) && is_array($forminspeksi['perizinan']) && count($forminspeksi['perizinan']) > 0)
@foreach ($forminspeksi['perizinan'] as $perizinan)
<tr>
<td style="width: 20%; padding: 2px;">Perizinan</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">{{ $perizinan['perizinan'] }}</td>
</tr>
@endforeach
@endif
@if (isset($forminspeksi['brosur_price_list']) && count($forminspeksi['brosur_price_list']) > 0)
@foreach ($forminspeksi['brosur_price_list'] as $perizinan)
<tr>
<td style="width: 20%; padding: 2px;">Brosur & Pricelist</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">{{ $perizinan['jenis'] }}</td>
</tr>
@endforeach
@endif
</table>
</div>
<div class="no-break" >
<table
style="width: 100%; border: 1px solid #000; border-collapse: collapse; ">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
DESKRIPSI DEVELOPER
</h2>
</td>
</tr>
</table>
<table style="width: 100%;">
<tr>
<td style="vertical-align: top; width: 20%; padding: 2px;">Pengalaman Developer & Proyek Yang Pernah
Dibuat</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td style="width: 79%;">{!! nl2br(e($forminspeksi['pengalaman_developer'] ?? 'Data tidak tersedia')) !!}</td>
</tr>
<tr>
<td style="vertical-align: top; width: 20%; padding: 2px;">Apakah Developer Anggota REI</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td>{!! nl2br(e($forminspeksi['developer_anggota'] ?? 'Data tidak tersedia')) !!}</td>
</tr>
@isset($forminspeksi['lainnya_developer'])
@foreach ($forminspeksi['lainnya_developer'] as $item)
<tr>
<td style="vertical-align: top; width: 20%; padding: 2px;">Lainnya</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td>
{!! nl2br(e($item)) !!}
</td>
</tr>
@endforeach
@endisset
</table>
</div>
<div class="no-break" >
<table
style="width: 100%; border: 1px solid #000; border-collapse: collapse; ">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
KONDISI, LINGKUNGAN DAN PROGRESS PEMBANGUNAN
</h2>
</td>
</tr>
</table>
<table style="width: 100%;">
<tr>
<td style="vertical-align: top; width: 20%; padding: 2px;">Kapan Mulai Dibangun & Target Penyelesaian
</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td>{!! nl2br(e($forminspeksi['kapan_mulai_dibangun'] ?? 'Data tidak tersedia')) !!}</td>
</tr>
<tr>
<td style="vertical-align: top; width: 20%; padding: 2px;">Kondisi Perumahan Saat Ini</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td>{!! nl2br(e($forminspeksi['kondisi_perumahan'] ?? 'Data tidak tersedia')) !!}</td>
</tr>
<tr>
<td style="vertical-align: top; width: 20%; padding: 2px;">Progress Pembangunan</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td>{!! nl2br(e($forminspeksi['progres_pembangunan'] ?? 'Data tidak tersedia')) !!}</td>
</tr>
<tr>
<td style="vertical-align: top; width: 20%; padding: 2px;">Kontraktor (internal/eksternal)</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td>{!! nl2br(e($forminspeksi['kontraktor'] ?? 'Data tidak tersedia')) !!}</td>
</tr>
<tr>
<td style="vertical-align: top; width: 20%; padding: 2px;">Lingkungan Sekitar</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td>{!! nl2br(e($forminspeksi['lingkungan_sekitar'] ?? 'Data tidak tersedia')) !!}</td>
</tr>
<tr>
<td style="vertical-align: top; width: 20%; padding: 2px;">Komplek Lain Disekitar Lokasi</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td>{!! nl2br(e($forminspeksi['komplek_disekitar'] ?? 'Data tidak tersedia')) !!}</td>
</tr>
<tr>
<td style="vertical-align: top; width: 20%; padding: 2px;">Pusat Keramaian Dekat Lokasi</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td>{!! nl2br(e($forminspeksi['pusat_keramaian'] ?? 'Data tidak tersedia')) !!}</td>
</tr>
<tr>
<td style="vertical-align: top; width: 20%; padding: 2px;">Transportasi Umum Yang Tersedia</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td>{!! nl2br(e($forminspeksi['transportasi_umum'] ?? 'Data tidak tersedia')) !!}</td>
</tr>
@isset($forminspeksi['lainnya_kondisi'])
@foreach ($forminspeksi['lainnya_kondisi'] as $item)
<tr>
<td style="vertical-align: top; width: 20%; padding: 2px;">Lainnya</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td>
{!! nl2br(e($item)) !!}
</td>
</tr>
@endforeach
@endisset
</table>
</div>
<div class="no-break" >
@isset($forminspeksi['partisi'])
<table
style="width: 100%; border: 1px solid #000; border-collapse: collapse; ">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
PARTISI BANGUNAN
</h2>
</td>
</tr>
</table>
<table style="width: 100%;">
@if (is_array($forminspeksi['partisi']))
@foreach ($forminspeksi['partisi'] as $key => $item)
@if (is_array($item))
<tr>
<td style="vertical-align: top; width: 20%; padding: 2px;">
{{ $item['nama'] ?? '' }}
</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td>
{{ $item['value'] ?? '' }}
</td>
</tr>
@endif
@endforeach
@endif
</table>
@endisset
</div>
<div class="no-break" >
@isset($forminspeksi['jumlah_unit'])
<table
style="width: 100%; border: 1px solid #000; border-collapse: collapse; ">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
JUMLAH UNIT, BLOK, TYPE DAN LUAS BANGUNAN
</h2>
</td>
</tr>
</table>
<table>
@foreach ($forminspeksi['jumlah_unit'] as $item)
<tr>
<td>
{!! nl2br(e($item)) !!}
</td>
</tr>
@endforeach
</table>
@endisset
</div>
<div class="no-break" >
@isset($forminspeksi['batas_batas_perumahan'])
<table
style="width: 100%; border: 1px solid #000; border-collapse: collapse; ">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
BATAS-BATAS PERUMAHAN
</h2>
</td>
</tr>
</table>
<table>
@foreach ($forminspeksi['batas_batas_perumahan'] as $item)
<tr>
<td>
{!! nl2br(e($item)) !!}
</td>
</tr>
@endforeach
</table>
@endisset
</div>
<div class="no-break" >
@isset($forminspeksi['fasus_fasum'])
<table
style="width: 100%; border: 1px solid #000; border-collapse: collapse; ">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
FASOS/FASUM
</h2>
</td>
</tr>
</table>
<table>
@foreach ($forminspeksi['fasus_fasum'] as $item)
<tr>
<td>
{!! nl2br(e($item)) !!}
</td>
</tr>
@endforeach
</table>
@endisset
</div>
<div class="no-break" >
@isset($forminspeksi['progres_penjualan'])
<table
style="width: 100%; border: 1px solid #000; border-collapse: collapse; ">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
PROGRES PENJUALAN SAAT INI
</h2>
</td>
</tr>
</table>
<table>
@foreach ($forminspeksi['progres_penjualan'] as $item)
<tr>
<td>
{!! nl2br(e($item)) !!}
</td>
</tr>
@endforeach
</table>
@endisset
</div>
<div class="no-break" >
@isset($forminspeksi['harga_unit'])
<table
style="width: 100%; border: 1px solid #000; border-collapse: collapse; ">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
HARGA UNIT
</h2>
</td>
</tr>
</table>
<<table>
@foreach ($forminspeksi['harga_unit'] as $item)
<tr>
<td>
{!! nl2br(e($item)) !!}
</td>
</tr>
@endforeach
</table>
@endisset
</div>
<div class="no-break" >
@isset($forminspeksi['target_market'])
<table
style="width: 100%; border: 1px solid #000; border-collapse: collapse; ">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
TARGet market
</h2>
</td>
</tr>
</table>
<table>
@foreach ($forminspeksi['target_market'] as $item)
<tr>
<td>
{!! nl2br(e($item)) !!}
</td>
</tr>
@endforeach
</table>
@endisset
</div>
<div class="no-break" >
@isset($forminspeksi['kerjasama_dengan_bank'])
<table
style="width: 100%; border: 1px solid #000; border-collapse: collapse; ">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
Kerjasama dengan bank lain
</h2>
</td>
</tr>
</table>
<table>
@foreach ($forminspeksi['kerjasama_dengan_bank'] as $item)
<tr>
<td>
{!! nl2br(e($item)) !!}
</td>
</tr>
@endforeach
</table>
@endisset
</div>
<div class="no-break" >
@isset($forminspeksi['rute_menuju_lokasi'])
<table
style="width: 100%; border: 1px solid #000; border-collapse: collapse; ">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
rute menuju lokasi
</h2>
</td>
</tr>
</table>
<table>
<tr>
<td>
{{ $forminspeksi['rute_menuju_lokasi'] ?? '' }}
</td>
</tr>
</table>
@endisset
</div>
<div class="no-break" >
@isset($forminspeksi['properti_sejenis'])
<table
style="width: 100%; border: 1px solid #000; border-collapse: collapse; ">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
properti sejenis
</h2>
</td>
</tr>
</table>
<table>
<tr>
<td>
{{ $forminspeksi['properti_sejenis'] ?? '' }}
</td>
</tr>
</table>
@endisset
</div>
<div class="no-break" >
@if (isset($forminspeksi['fakta']) && is_array($forminspeksi['fakta']))
<table
style="width: 100%; border: 1px solid #000; border-collapse: collapse; ">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
ATURAN TATA KOTA
</h2>
</td>
</tr>
</table>
<table>
@php
$informasi = [
'peruntukan',
'kdb',
'kdh',
'gsb',
'max_lantai',
'klb',
'gss',
'pelebaran_jalan',
'nama_petugas',
];
@endphp
@if (isset($forminspeksi['fakta']) && is_array($forminspeksi['fakta']))
@foreach ($informasi as $key)
@if (isset($forminspeksi['fakta'][$key]) && $forminspeksi['fakta'][$key] !== '-')
@php
$displayKey = ucfirst(str_replace('_', ' ', $key));
if (strlen($key) == 3) {
$displayKey = strtoupper($key);
}
@endphp
<p> - {{ $displayKey }}: {{ $forminspeksi['fakta'][$key] }}</p>
@endif
@endforeach
@endif
</table>
@endif
</div>
<div class="no-break" >
@isset($forminspeksi['fakta']['keterangan'])
<table
style="width: 100%; border: 1px solid #000; border-collapse: collapse; ">
<tr>
<td style="text-align: center; margin-top: 5px;">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
CATATAN LAINNYA
</h2>
</td>
</tr>
</table>
<table>
@foreach ($forminspeksi['fakta']['keterangan'] ?? [] as $keterangan)
<tr>
<td>
<p>{!! nl2br(e($keterangan)) !!}</p>
</td>
</tr>
@endforeach
</table>
@endisset
</div>

View File

@@ -0,0 +1,327 @@
<div class="no-break" >
<table
style="width: 100%; border: 1px solid #000; border-collapse: collapse; ">
<tr>
<td></td>
<td style="text-align: center; margin-top: 5px; ">
<h2 style=" text-transform: uppercase; text-align: center; margin: 0;">
ANalisa Tanah
</h2>
</td>
</tr>
</table>
<table style="width: 100%">
<tr>
@php
$cekLuas =
old('luas_tanah_radio') ??
(isset($forminspeksi['tanah']['luas_tanah']['tidak sesuai']) ? 'tidak sesuai' : 'sesuai');
$luasSesuai = $forminspeksi['tanah']['luas_tanah']['sesuai'] ?? null;
$luasTidakSesuai = $forminspeksi['tanah']['luas_tanah']['tidak sesuai'] ?? null;
@endphp
<td width="25%" style="vertical-align: top;">Luas Tanah</td>
<td width="1%" style="vertical-align: top;">:</td>
<td width="" style="text-align: left">
<table>
<tr>
<td>
<label>
<input type="radio" name="luas_tanah_radio" value="sesuai"
{{ $cekLuas == 'sesuai' ? 'checked' : '' }}>
Sesuai {{ $luasSesuai ? '- ' . $luasSesuai . ' m²' : '' }}
</label>
</td>
</tr>
<tr>
<td>
<label>
<input type="radio" name="luas_tanah_radio" value="tidak sesuai"
{{ $cekLuas == 'tidak sesuai' ? 'checked' : '' }}>
Tidak Sesuai {{ $luasTidakSesuai ? '- ' . $luasTidakSesuai . ' m² (luas fisik)' : '' }}
</label>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>Hadap mata Angin</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
<label>
<input type="radio" name="tusuk_sate" value="Ya"
{{ isset($forminspeksi['tanah']['hadap_mata_angin']['sesuai']) && $forminspeksi['tanah']['hadap_mata_angin']['sesuai'] ? 'checked' : '' }}>
sesuai
</label>
<label>
<input type="radio" name="hadap_mata_angin" value="tidak sesuai"
{{ isset($forminspeksi['tanah']['hadap_mata_angin']['tidak sesuai']) && $forminspeksi['tanah']['hadap_mata_angin']['tidak sesuai'] ? 'checked' : '' }}>
Tidak
@if (isset($forminspeksi['tanah']['hadap_mata_angin']['tidak sesuai']) &&
$forminspeksi['tanah']['hadap_mata_angin']['tidak sesuai']
)
{{ isset($forminspeksi['tanah']['hadap_mata_angin']['tidak sesuai']) ? ' (' . $forminspeksi['tanah']['hadap_mata_angin']['tidak sesuai'] . ')' : '' }}
@endif
</label>
</td>
</tr>
<!-- Bentuk Tanah -->
<tr>
<td style="vertical-align: top;">Bentuk Tanah</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['bentukTanah']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['bentukTanah'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['tanah']['bentuk_tanah']['bentuk_tanah']) && in_array($item->name, $forminspeksi['tanah']['bentuk_tanah']['bentuk_tanah']) ? 'checked' : '' }}>
{{ $item->name }}
@if ($item->name == 'Lainnya')
{{ isset($forminspeksi['tanah']['bentuk_tanah']['lainnya']) ? ' (' . $forminspeksi['tanah']['bentuk_tanah']['lainnya'] . ')' : '' }}
@endif
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<!-- Kontur Tanah -->
<tr>
<td style="vertical-align: top;">Kontur Tanah</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['konturTanah']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['konturTanah'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['tanah']['kontur_tanah']) && in_array($item->name, $forminspeksi['tanah']['kontur_tanah']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<!-- Ketinggian Tanah -->
<tr>
<td style="vertical-align: top;">Beda Ketinggian Dengan Jalan</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['ketinggianTanah']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['ketinggianTanah'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['tanah']['ketinggian_tanah']['ketinggian']) && in_array($item->name, $forminspeksi['tanah']['ketinggian_tanah']['ketinggian']) ? 'checked' : '' }}>
{{ $item->name }}
@if ($item->name == 'Lebih Tinggi')
{{ isset($forminspeksi['tanah']['ketinggian_tanah']['lebih_tinggi']) ? ' (' . $forminspeksi['tanah']['ketinggian_tanah']['lebih_tinggi'] . ')' : '' }}
@endif
@if ($item->name == 'Lebih Rendah')
{{ isset($forminspeksi['tanah']['ketinggian_tanah']['lebih_rendah']) ? ' (' . $forminspeksi['tanah']['ketinggian_tanah']['lebih_rendah'] . ')' : '' }}
@endif
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<tr>
<td style="vertical-align: top;">Kontur Jalan Depan Objek</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
<table>
<tr>
<td>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input type="radio" class="radio" name="kontur_jalan" value="menurun"
{{ old('kontur_jalan', isset($forminspeksi['tanah']['kontur_jalan']) ? $forminspeksi['tanah']['kontur_jalan'] : '') == 'menurun' ? 'checked' : '' }}>
<span class="ml-2">Menurun</span>
</label>
</td>
</tr>
<tr>
<td>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input type="radio" class="radio" name="kontur_jalan" value="rata"
{{ old('kontur_jalan', isset($forminspeksi['tanah']['kontur_jalan']) ? $forminspeksi['tanah']['kontur_jalan'] : '') == 'rata' ? 'checked' : '' }}>
<span class="ml-2">Rata</span>
</label>
</td>
</tr>
<tr>
<td>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input type="radio" class="radio" name="kontur_jalan" value="Menanjak"
{{ old('kontur_jalan', isset($forminspeksi['tanah']['kontur_jalan']) ? $forminspeksi['tanah']['kontur_jalan'] : '') == 'Menanjak' ? 'checked' : '' }}>
<span class="ml-2">Menanjak</span>
</label>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td style="vertical-align: top;">Posisi Kavling</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['posisiKavling']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['posisiKavling'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['tanah']['posisi_kavling']['posisi_kavling']) && in_array($item->name, $forminspeksi['tanah']['posisi_kavling']['posisi_kavling']) ? 'checked' : '' }}>
{{ $item->name }}
@if ($item->name == 'Lainnya')
{{ isset($forminspeksi['tanah']['posisi_kavling']['lainnya']) ? ' (' . $forminspeksi['tanah']['posisi_kavling']['lainnya'] . ')' : '' }}
@endif
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
<!-- Kondisi Fisik Tanah -->
<tr>
<td style="vertical-align: top;">Tusuk Sate</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
<table>
<tr>
<td>
<label>
<input type="radio" name="tusuk_sate" value="Ya"
{{ isset($forminspeksi['tanah']['tusuk_sate']['Ya']) && $forminspeksi['tanah']['tusuk_sate']['Ya'] ? 'checked' : '' }}>
Ya
@if (isset($forminspeksi['tanah']['tusuk_sate']['Ya']) && $forminspeksi['tanah']['tusuk_sate']['Ya'])
{{ isset($forminspeksi['tanah']['tusuk_sate']['Ya']) ? ' (' . $forminspeksi['tanah']['tusuk_sate']['Ya'] . ')' : '' }}
@endif
</label>
</td>
</tr>
<tr>
<td>
<label>
<input type="radio" name="tusuk_sate" value="Tidak"
{{ isset($forminspeksi['tanah']['tusuk_sate']['Tidak']) && $forminspeksi['tanah']['tusuk_sate']['Tidak'] ? 'checked' : '' }}>
Tidak
</label>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td style="vertical-align: top;">Lockland</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
<table>
<tr>
<td>
<label>
<input type="radio" name="lockland" value="yes"
{{ isset($forminspeksi['tanah']['lockland']) && $forminspeksi['tanah']['lockland'] == 'yes' ? 'checked' : '' }}>
Ya
</label>
</td>
</tr>
<tr>
<td>
<label>
<input type="radio" name="lockland" value="no"
{{ isset($forminspeksi['tanah']['lockland']) && $forminspeksi['tanah']['lockland'] == 'no' ? 'checked' : '' }}>
Tidak
</label>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td style="vertical-align: top;">Kondisi Fisik Tanah</td>
<td width="1%" style="vertical-align: top;">:</td>
<td>
@if (isset($basicData['kondisiFisikTanah']))
<table class="checkbox-list">
<tr>
@foreach ($basicData['kondisiFisikTanah'] as $index => $item)
@if ($index % 3 == 0 && $index > 0)
</tr>
<tr>
@endif
<td class="checkbox-item">
<label class="checkbox-label">
<input type="checkbox"
{{ isset($forminspeksi['tanah']['kondisi_fisik_tanah']['kondisi_fisik_tanah']) && in_array($item->name, $forminspeksi['tanah']['kondisi_fisik_tanah']['kondisi_fisik_tanah']) ? 'checked' : '' }}>
{{ $item->name }}
</label>
</td>
@endforeach
</tr>
</table>
@endif
</td>
</tr>
</table>
</div>

View File

@@ -0,0 +1,728 @@
<div class="card border border-agi-100 w-full rounded-lg shadow-md overflow-hidden">
<div class="card-header bg-agi-50">
<h3 class="card-title uppercase">
Perizinan
</h3>
</div>
<div class="card-body">
<div class="grid gap-5">
<!-- Bagian Perizinan -->
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
<label class="form-label max-w-56">Perizinan Lainnya</label>
<div class="flex-wrap items-stretch w-full">
<div class="flex flex-col items-start gap-4 w-full">
@if (isset($basicData['perizinan']))
@foreach ($basicData['perizinan'] as $key => $item)
<div class="flex items-center gap-4 w-full">
<label class="form-label flex items-center gap-2.5 text-nowrap min-w-[200px]">
<input class="checkbox"
name="perizinan[{{ $key }}]"
type="checkbox"
value="{{ $item->name }}"
@checked(in_array($item->name, old('perizinan', [])) ||
(isset($forminspeksi['perizinan']) &&
in_array($item->name, array_column($forminspeksi['perizinan'], 'perizinan'))))>
{{ $item->name }}
</label>
<div class="grid gap-2.5 w-full">
<div class="flex items-center gap-4 w-full">
@php
$existingFile = isset($forminspeksi['perizinan'])
? collect($forminspeksi['perizinan'])->firstWhere('perizinan', $item->name)
: null;
@endphp
@if ($existingFile)
<div class="flex items-center gap-4 w-full">
<span class="text-sm text-gray-600">
{{ basename($existingFile['perizinan_file']) }}
</span>
<span class="flex-none badge badge-sm badge-outline badge-warning mt-2"
onclick="viewPDF('{{ Storage::url($existingFile['perizinan_file']) }}')">
<i class="ki-filled ki-eye mr-2"></i>Preview
</span>
</div>
@endif
</div>
<div class="flex items-center gap-4 w-full">
<input class="file-input w-full"
name="perizinan_file[{{ $key }}]"
type="file"
accept=".pdf"
data-index="{{ $key }}">
</div>
</div>
</div>
@endforeach
@endif
</div>
</div>
</div>
<!-- Bagian Brosur & Pricelist -->
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
<label class="form-label max-w-56">Brosur & Pricelist</label>
<div class="flex-wrap items-stretch w-full">
@php
$brosurItems = [
[
'label' => 'Brosur',
'name' => 'brosur_price_list',
'inputname' => 'brosur_price_list_file',
],
[
'label' => 'Pricelist',
'name' => 'brosur_price_list',
'inputname' => 'brosur_price_list_file',
],
];
@endphp
<div class="flex flex-col items-start gap-4 w-full">
@foreach ($brosurItems as $index => $item)
<div class="flex items-center gap-4 w-full">
<label class="form-label flex items-center gap-2.5 text-nowrap min-w-[200px]">
<input class="checkbox"
name="{{ $item['name'] }}[{{ $index }}]"
type="checkbox"
value="{{ $item['label'] }}"
@checked(in_array($item['label'], old('brosur_price_list', [])) ||
(isset($forminspeksi['brosur_price_list']) &&
in_array($item['label'], array_column($forminspeksi['brosur_price_list'], 'jenis'))))>
{{ $item['label'] }}
</label>
<div class="grid gap-2.5 w-full">
<div class="flex items-center gap-4 w-full">
@php
$existingFile = isset($forminspeksi['brosur_price_list'])
? collect($forminspeksi['brosur_price_list'])->firstWhere('jenis', $item['label'])
: null;
@endphp
@if ($existingFile)
<div class="flex items-center gap-4 w-full">
<span class="text-sm text-gray-600">
{{ basename($existingFile['file_path']) }}
</span>
<span class="flex-none badge badge-sm badge-outline badge-warning mt-2"
onclick="viewPDF('{{ Storage::url($existingFile['file_path']) }}')">
<i class="ki-filled ki-eye mr-2"></i>Preview
</span>
</div>
@endif
</div>
<div class="flex items-center gap-4 w-full">
<input class="file-input w-full"
name="{{ $item['inputname'] }}[{{ $index }}]"
type="file"
accept=".pdf"
data-index="{{ $index }}"
id="file_{{ $index }}">
</div>
</div>
</div>
@endforeach
</div>
</div>
</div>
</div>
</div>
</div>
<div class="card border border-agi-100 w-full rounded-lg shadow-md overflow-hidden">
<div class="card-header bg-agi-50">
<h3 class="card-title uppercase">
Deskripsi developer
</h3>
</div>
<div class="card-body">
<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">Pengalaman Developer & Proyek Yang Pernah Dibuat</label>
<div id="fakta-positif-container" class="flex flex-wrap items-baseline w-full">
@if (!empty($forminspeksi['pengalaman_developer']))
<div class="fakta_positif flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="pengalaman_developer" rows="10">{{ old('pengalaman_developer', $forminspeksi['pengalaman_developer']) }}</textarea>
</div>
@else
<div class="pengalaman_developer flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="pengalaman_developer" rows="10">{{ old('pengalaman_developer') }}</textarea>
</div>
@endif
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Apakah Developer Anggota REI</label>
<div id="fakta-positif-container" class="flex flex-wrap items-baseline w-full">
@if (!empty($forminspeksi['developer_anggota']))
<div class="developer_anggota flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="developer_anggota" rows="10">{{ old('developer_anggota', $forminspeksi['developer_anggota']) }}</textarea>
</div>
@else
<div class="developer_anggota flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="developer_anggota" rows="10">{{ old('developer_anggota') }}</textarea>
</div>
@endif
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Lainnya</label>
<div class="w-full">
<div id="lainnya_developer-container" class="flex flex-wrap items-baseline w-full">
@if (!empty($forminspeksi['lainnya_developer']))
@foreach ($forminspeksi['lainnya_developer'] as $index => $item)
<div class="lainnya_developer flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="lainnya_developer[]" rows="10">{{ old("lainnya_developer.$index", $item) }}</textarea>
</div>
<button class="btn btn-danger btn-sm remove-btn" type="button" style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
@endforeach
@else
<div class="lainnya_developer flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="lainnya_developer[]" rows="10">{{ old('lainnya_developer.0', '') }}</textarea>
</div>
<button class="btn btn-danger btn-sm remove-btn" type="button" style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
@endif
</div>
<button type="button" class="btn btn-primary btn-sm mt-5"
onclick="addClonableItem('lainnya_developer-container', 'lainnya_developer')">
<i class="ki-outline ki-plus"></i>
</button>
</div>
</div>
</div>
</div>
</div>
<div class="card border border-agi-100 w-full rounded-lg shadow-md overflow-hidden">
<div class="card-header bg-agi-50">
<h3 class="card-title uppercase">
KONDISI, LINGKUNGAN DAN PROGRESS PEMBANGUNAN
</h3>
</div>
<div class="card-body">
<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">Kapan Mulai Dibangun & Target Penyelesaian</label>
<div id="fakta-positif-container" class="flex flex-wrap items-baseline w-full">
@if (!empty($forminspeksi['kapan_mulai_dibangun']))
<div class="kapan_mulai_dibangun flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="kapan_mulai_dibangun" rows="10">{{ old('kapan_mulai_dibangun', $forminspeksi['kapan_mulai_dibangun']) }}</textarea>
</div>
@else
<div class="kapan_mulai_dibangun flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="kapan_mulai_dibangun" rows="10">{{ old('kapan_mulai_dibangun') }}</textarea>
</div>
@endif
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Kondisi Perumahan Saat Ini</label>
<div id="fakta-positif-container" class="flex flex-wrap items-baseline w-full">
@if (!empty($forminspeksi['kondisi_perumahan']))
<div class="kondisi_perumahan flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="kondisi_perumahan" rows="10">{{ old('kondisi_perumahan', $forminspeksi['kondisi_perumahan']) }}</textarea>
</div>
@else
<div class="kondisi_perumahan flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="kondisi_perumahan" rows="10">{{ old('kondisi_perumahan') }}</textarea>
</div>
@endif
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Progress Pembangunan</label>
<div id="fakta-positif-container" class="flex flex-wrap items-baseline w-full">
@if (!empty($forminspeksi['progres_pembangunan']))
<div class="progres_pembangunan flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="progres_pembangunan" rows="10">{{ old('progres_pembangunan', $forminspeksi['progres_pembangunan']) }}</textarea>
</div>
@else
<div class="progres_pembangunan flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="progres_pembangunan" rows="10">{{ old('progres_pembangunan') }}</textarea>
</div>
@endif
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Kontraktor (internal/eksternal)</label>
<div id="fakta-positif-container" class="flex flex-wrap items-baseline w-full">
@if (!empty($forminspeksi['kontraktor']))
<div class="kontraktor flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="kontraktor" rows="10">{{ old('kontraktor', $forminspeksi['kontraktor']) }}</textarea>
</div>
@else
<div class="kontraktor flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="kontraktor" rows="10">{{ old('kontraktor') }}</textarea>
</div>
@endif
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Lingkungan Sekitar</label>
<div id="fakta-positif-container" class="flex flex-wrap items-baseline w-full">
@if (!empty($forminspeksi['lingkungan_sekitar']))
<div class="lingkungan_sekitar flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="lingkungan_sekitar" rows="10">{{ old('lingkungan_sekitar', $forminspeksi['lingkungan_sekitar']) }}</textarea>
</div>
@else
<div class="lingkungan_sekitar flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="lingkungan_sekitar" rows="10">{{ old('lingkungan_sekitar') }}</textarea>
</div>
@endif
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Komplek Lain Disekitar Lokasi</label>
<div id="fakta-positif-container" class="flex flex-wrap items-baseline w-full">
@if (!empty($forminspeksi['komplek_disekitar']))
<div class="komplek_disekitar flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="komplek_disekitar" rows="10">{{ old('komplek_disekitar', $forminspeksi['komplek_disekitar']) }}</textarea>
</div>
@else
<div class="komplek_disekitar flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="komplek_disekitar" rows="10">{{ old('komplek_disekitar') }}</textarea>
</div>
@endif
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Pusat Keramaian Dekat Lokasi</label>
<div id="fakta-positif-container" class="flex flex-wrap items-baseline w-full">
@if (!empty($forminspeksi['pusat_keramaian']))
<div class="pusat_keramaian flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="pusat_keramaian" rows="10">{{ old('pusat_keramaian', $forminspeksi['pusat_keramaian']) }}</textarea>
</div>
@else
<div class="pusat_keramaian flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="pusat_keramaian" rows="10">{{ old('pusat_keramaian') }}</textarea>
</div>
@endif
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Transportasi Umum Yang Tersedia</label>
<div id="fakta-positif-container" class="flex flex-wrap items-baseline w-full">
@if (!empty($forminspeksi['transportasi_umum']))
<div class="transportasi_umum flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="transportasi_umum" rows="10">{{ old('transportasi_umum', $forminspeksi['transportasi_umum']) }}</textarea>
</div>
@else
<div class="transportasi_umum flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="transportasi_umum" rows="10">{{ old('transportasi_umum') }}</textarea>
</div>
@endif
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Lainnya</label>
<div id="lainnya-kondisi-container" class="flex flex-wrap items-baseline w-full">
@if (!empty($forminspeksi['lainnya_kondisi']))
@foreach ($forminspeksi['lainnya_kondisi'] as $index => $positif)
<div class="lainnya_kondisi flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="lainnya_kondisi[]" rows="10">{{ old("lainnya_kondisi.$index", $positif) }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button"
style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@endforeach
@else
<div class="lainnya_kondisi flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="lainnya_kondisi[]" rows="10">{{ old('lainnya_kondisi.0', '') }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button" style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@endif
<button type="button" class="btn btn-primary btn-sm mt-5"
onclick="addClonableItem('lainnya-kondisi-container', 'lainnya_kondisi')">
<i class="ki-outline ki-plus"></i>
</button>
</div>
</div>
</div>
</div>
</div>
<div class="card border border-agi-100 w-full rounded-lg shadow-md overflow-hidden">
<div class="card-header bg-agi-50">
<h3 class="card-title uppercase">
PARTISI BANGUNAN
</h3>
</div>
<div class="card-body">
<div class="grid gap-2.5">
@if (isset($basicData['spekKategoriBangunan']))
@foreach ($basicData['spekKategoriBangunan'] as $item)
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">{{ $item->name ?? '' }}</label>
<div class="flex flex-wrap items-baseline w-full">
<input type="hidden" name="partisi[{{ $item->name }}][nama]"
value="{{ $item->name ?? '' }}">
<input type="text" name="partisi[{{ $item->name }}][value]" class="input"
placeholder="Masukkan {{ $item->name }}"
value="{{ isset($forminspeksi['partisi'][$item->name]['value']) ? $forminspeksi['partisi'][$item->name]['value'] : old('partisi.' . $item->name . '.value') }}">
</div>
</div>
@endforeach
@endif
</div>
</div>
</div>
<div class="card border border-agi-100 w-full rounded-lg shadow-md overflow-hidden">
<div class="card-header bg-agi-50">
<h3 class="card-title uppercase">
JUMLAH UNIT, BLOK, TYPE DAN LUAS BANGUNAN
</h3>
</div>
<div class="card-body">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div id="jumlah-unit" class="flex flex-wrap items-baseline w-full">
@if (!empty($forminspeksi['jumlah_unit']))
@foreach ($forminspeksi['jumlah_unit'] as $index => $positif)
<div class="jumlah_unit flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="jumlah_unit[]" rows="10">{{ old("jumlah_unit.$index", $positif) }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button" style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@endforeach
@else
<div class="jumlah_unit flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="jumlah_unit[]" rows="10">{{ old('jumlah_unit.0', '') }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button" style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@endif
</div>
</div>
<button type="button" class="btn btn-primary btn-sm mt-5"
onclick="addClonableItem('jumlah-unit', 'jumlah_unit')">
<i class="ki-outline ki-plus"></i>
</button>
</div>
</div>
<div class="card border border-agi-100 w-full rounded-lg shadow-md overflow-hidden">
<div class="card-header bg-agi-50">
<h3 class="card-title uppercase">
BATAS-BATAS PERUMAHAN
</h3>
</div>
<div class="card-body">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div id="bata-perumahan-container" class="flex flex-wrap items-baseline w-full">
@if (!empty($forminspeksi['batas_batas_perumahan']))
@foreach ($forminspeksi['batas_batas_perumahan'] as $index => $positif)
<div class="batas_batas_perumahan flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="batas_batas_perumahan[]" rows="10">{{ old("batas_batas_perumahan.$index", $positif) }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button" style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@endforeach
@else
<div class="batas_batas_perumahan flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="batas_batas_perumahan[]" rows="10">{{ old('batas_batas_perumahan.0', '') }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button" style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@endif
</div>
</div>
<button type="button" class="btn btn-primary btn-sm mt-5"
onclick="addClonableItem('bata-perumahan-container', 'batas_batas_perumahan')">
<i class="ki-outline ki-plus"></i>
</button>
</div>
</div>
<div class="card border border-agi-100 w-full rounded-lg shadow-md overflow-hidden">
<div class="card-header bg-agi-50">
<h3 class="card-title uppercase">
FASOS/FASUM
</h3>
</div>
<div class="card-body">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div id="fasos-fasum-container" class="flex flex-wrap items-baseline w-full">
@if (!empty($forminspeksi['fasus_fasum']))
@foreach ($forminspeksi['fasus_fasum'] as $index => $positif)
<div class="fasus_fasum flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="fasus_fasum[]" rows="10">{{ old("fasus_fasum.$index", $positif) }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button" style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@endforeach
@else
<div class="fasus_fasum flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="fasus_fasum[]" rows="10">{{ old('fasus_fasum.0', '') }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button" style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@endif
</div>
</div>
<button type="button" class="btn btn-primary btn-sm mt-5"
onclick="addClonableItem('fasos-fasum-container', 'fasus_fasum')">
<i class="ki-outline ki-plus"></i>
</button>
</div>
</div>
<div class="card border border-agi-100 w-full rounded-lg shadow-md overflow-hidden">
<div class="card-header bg-agi-50">
<h3 class="card-title uppercase">
PROGRES PENJUALAN SAAT INI
</h3>
</div>
<div class="card-body">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div id="progres-penjualan-container" class="flex flex-wrap items-baseline w-full">
@if (!empty($forminspeksi['progres_penjualan']))
@foreach ($forminspeksi['progres_penjualan'] as $index => $positif)
<div class="progres_penjualan flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="progres_penjualan[]" rows="10">{{ old("progres_penjualan.$index", $positif) }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button" style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@endforeach
@else
<div class="progres_penjualan flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="progres_penjualan[]" rows="10">{{ old('progres_penjualan.0', '') }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button" style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@endif
</div>
</div>
<button type="button" class="btn btn-primary btn-sm mt-5"
onclick="addClonableItem('progres-penjualan-container', 'progres_penjualan')">
<i class="ki-outline ki-plus"></i>
</button>
</div>
</div>
<div class="card border border-agi-100 w-full rounded-lg shadow-md overflow-hidden">
<div class="card-header bg-agi-50">
<h3 class="card-title uppercase">
HARGA UNIT
</h3>
</div>
<div class="card-body">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div id="harga-unit-container" class="flex flex-wrap items-baseline w-full">
@if (!empty($forminspeksi['harga_unit']))
@foreach ($forminspeksi['harga_unit'] as $index => $positif)
<div class="harga_unit flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="harga_unit[]" rows="10">{{ old("harga_unit.$index", $positif) }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button" style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@endforeach
@else
<div class="harga_unit flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="harga_unit[]" rows="10">{{ old('harga_unit.0', '') }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button" style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@endif
</div>
</div>
<button type="button" class="btn btn-primary btn-sm mt-5"
onclick="addClonableItem('harga-unit-container', 'harga_unit')">
<i class="ki-outline ki-plus"></i>
</button>
</div>
</div>
<div class="card border border-agi-100 w-full rounded-lg shadow-md overflow-hidden">
<div class="card-header bg-agi-50">
<h3 class="card-title uppercase">
TARGET MARKET
</h3>
</div>
<div class="card-body">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div id="target_market-container" class="flex flex-wrap items-baseline w-full">
@if (!empty($forminspeksi['target_market']))
@foreach ($forminspeksi['target_market'] as $index => $positif)
<div class="target_market flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="target_market[]" rows="10">{{ old("target_market.$index", $positif) }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button" style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@endforeach
@else
<div class="target_market flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="target_market[]" rows="10">{{ old('target_market.0', '') }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button" style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@endif
</div>
</div>
<button type="button" class="btn btn-primary btn-sm mt-5"
onclick="addClonableItem('target_market-container', 'target_market')">
<i class="ki-outline ki-plus"></i>
</button>
</div>
</div>
<div class="card border border-agi-100 w-full rounded-lg shadow-md overflow-hidden">
<div class="card-header bg-agi-50">
<h3 class="card-title uppercase">
KERJASAMA DENGAN BANK LAIN
</h3>
</div>
<div class="card-body">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div id="kerjasama_dengan_bank-container" class="flex flex-wrap items-baseline w-full">
@if (!empty($forminspeksi['kerjasama_dengan_bank']))
@foreach ($forminspeksi['kerjasama_dengan_bank'] as $index => $positif)
<div class="kerjasama_dengan_bank flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="kerjasama_dengan_bank[]" rows="10">{{ old("kerjasama_dengan_bank.$index", $positif) }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button" style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@endforeach
@else
<div class="kerjasama_dengan_bank flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="kerjasama_dengan_bank[]" rows="10">{{ old('kerjasama_dengan_bank.0', '') }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button" style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@endif
</div>
</div>
<button type="button" class="btn btn-primary btn-sm mt-5"
onclick="addClonableItem('kerjasama_dengan_bank-container', 'kerjasama_dengan_bank')">
<i class="ki-outline ki-plus"></i>
</button>
</div>
</div>
<div class="card border border-agi-100 w-full rounded-lg shadow-md overflow-hidden">
<div class="card-header bg-agi-50">
<h3 class="card-title uppercase">
RUTE MENUJU LOKASI
</h3>
</div>
<div class="card-body">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div id="fakta-positif-container" class="flex flex-wrap items-baseline w-full">
@if (!empty($forminspeksi['rute_menuju_lokasi']))
<div class="rute_menuju_lokasi flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="rute_menuju_lokasi" rows="10">{{ old('rute_menuju_lokasi', $forminspeksi['rute_menuju_lokasi']) }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button" style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@else
<div class="rute_menuju_lokasi flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="rute_menuju_lokasi" rows="10">{{ old('rute_menuju_lokasi') }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button" style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@endif
</div>
</div>
</div>
</div>
<div class="card border border-agi-100 w-full rounded-lg shadow-md overflow-hidden">
<div class="card-header bg-agi-50">
<h3 class="card-title uppercase">
Properti Sejenis
</h3>
</div>
<div class="card-body">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div id="fakta-positif-container" class="flex flex-wrap items-baseline w-full">
@if (!empty($forminspeksi['properti_sejenis']))
<div class="properti_sejenis flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="properti_sejenis" rows="10">{{ old('properti_sejenis', $forminspeksi['properti_sejenis']) }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button" style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@else
<div class="properti_sejenis flex items-center gap-2 mt-2 textarea-group w-full">
<textarea class="textarea mt-2" name="properti_sejenis" rows="10">{{ old('properti_sejenis') }}</textarea>
<button class="btn btn-danger btn-sm remove-btn" type="button" style="display: none;">
<i class="ki-outline ki-trash"></i>
</button>
</div>
@endif
</div>
</div>
</div>
</div>
@include('lpj::surveyor.components.informasi')

View File

@@ -0,0 +1,354 @@
<div class="card border border-agi-100 w-full rounded-lg shadow-md overflow-hidden">
<div class="card-header light:bg-agi-50">
<h3 class="card-title uppercase">
Analisa Tanah
</h3>
</div>
<div class="card-body">
<div class="grid gap-5">
<!-- Luas tanah -->
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Luas Tanah</label>
<div class="mt-2">
@if (isset($permohonan->documents))
@foreach ($permohonan->documents as $item)
@php
// 27
$total_luas_tanah = 0;
$jenis_legalitas_jaminan_id = 0;
if (isset($item->detail)) {
$total_luas_tanah = calculateTotalLuas($item->detail, 'luas_tanah', 1, 27, 3);
}
@endphp
<input type="hidden" id="jenis_legalistas_jaminan_tanah_id"
name="jenis_legalistas_jaminan_tanah_id" class="input"
value="{{ $jenis_legalitas_jaminan_id }}">
<input type="hidden" name="luas_tanah_sesuai" class="input"
value="{{ $total_luas_tanah }}">
<p class="text-2sm text-gray-700">{{ $total_luas_tanah }} m<sup>2</sup></p>
@endforeach
@endif
<div class="flex-wrap items-stretch">
<div class="grid grid-cols-3 md:grid-cols-3 gap-4 mt-2">
<label class="form-label flex items-center gap-3 text-nowrap">
<input type="radio" class="radio" name="luas_tanah" value="sesuai"
onclick="toggleFieldVisibility('luas_tanah', 'luas_tanah_tidak_sesuai', ['tidak sesuai'])"
{{ old('luas_tanah', isset($forminspeksi['tanah']['luas_tanah']['sesuai'])) ? 'checked' : '' }}>
<span class="ml-2">Sesuai</span>
</label>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input type="radio" class="radio" name="luas_tanah" value="tidak sesuai"
onclick="toggleFieldVisibility('luas_tanah', 'luas_tanah_tidak_sesuai', ['tidak sesuai'])"
{{ old('luas_tanah', isset($forminspeksi['tanah']['luas_tanah']['tidak sesuai'])) ? 'checked' : '' }}>
<span class="ml-2">Tidak Sesuai</span>
</label>
<div id="luas_tanah_tidak_sesuai" class="flex items-baseline gap-2"
style="{{ old('luas_tanah', isset($forminspeksi['tanah']['luas_tanah']['tidak sesuai'])) ? '' : 'display: none;' }}">
<div class="input">
<input id="analisa_tanah_tidak_sesuai" type="text" name="luas_tanah_tidak_sesuai"
class="w-full number-format" placeholder="Masukan Luas Tanah"
value="{{ old('luas_tanah_tidak_sesuai', $forminspeksi['tanah']['luas_tanah']['tidak sesuai'] ?? '') }}">
</div>
{{-- <button type="button" class="btn btn-md btn-primary"
onclick="updateAnalisa('analisa_tanah')">Save
</button> --}}
</div>
</div>
<em id="error-luas_tanah" class="alert text-danger text-sm"></em>
</div>
</div>
</div>
<!-- Hadap Mata Angin -->
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<input type="hidden" name="hadap_mata_angin_sesuai" class="input" value="sesuai">
<label class="form-label max-w-56">Hadap Mata Angin</label>
<div class="mt-2">
<div class="flex-wrap items-stretch">
<div class="grid grid-cols-3 md:grid-cols-3 gap-4 mt-2">
<label class="form-label flex items-center gap-3 text-nowrap">
<input type="radio" class="radio" name="hadap_mata_angin" value="sesuai"
onclick="toggleFieldVisibility('hadap_mata_angin', 'hadap_mata_angin_tidak_sesuai' ,['tidak sesuai'])"
{{ old('hadap_mata_angin', isset($forminspeksi['tanah']['hadap_mata_angin']['sesuai'])) ? 'checked' : '' }}>
<span class="ml-2">Sesuai</span>
</label>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input type="radio" class="radio" name="hadap_mata_angin" value="tidak sesuai"
onclick="toggleFieldVisibility('hadap_mata_angin', 'hadap_mata_angin_tidak_sesuai' ,['tidak sesuai'])"
{{ old('hadap_mata_angin', isset($forminspeksi['tanah']['hadap_mata_angin']['tidak sesuai'])) ? 'checked' : '' }}>
<span class="ml-2">Tidak Sesuai</span>
</label>
<!-- Select dropdown untuk "Tidak Sesuai" -->
<div id="hadap_mata_angin_tidak_sesuai" class="flex items-baseline gap-2"
style="{{ old('hadap_mata_angin', isset($forminspeksi['tanah']['hadap_mata_angin']['tidak sesuai'])) ? '' : 'display: none;' }}">
<select class="input w-full
id="
hadap_mata_angin_tidak_sesuai" name="hadap_mata_angin_tidak_sesuai">
@php
$statusKey = isset($forminspeksi['tanah']['hadap_mata_angin']['sesuai'])
? 'sesuai'
: 'tidak sesuai';
$selectedData = $forminspeksi['tanah']['hadap_mata_angin'][$statusKey] ?? null;
@endphp
<option value="">Select Hadap Mata Angin</option>
@if (isset($basicData['arahMataAngin']))
@foreach ($basicData['arahMataAngin'] as $item)
<option value="{{ $item->name }}"
{{ old('hadap_mata_angin_tidak_sesuai', $selectedData ?? '') == $item->name ? 'selected' : '' }}>
{{ $item->name }}
</option>
@endforeach
@endif
</select>
{{-- <button type="button" class="btn btn-md btn-primary" onclick="updateAnalisa('hadap_mata_angin')">Save</button> --}}
</div>
</div>
<em id="error-hadap_mata_angin" class="alert text-danger text-sm"></em>
</div>
</div>
</div>
<!-- Bentuk Tanah -->
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Bentuk Tanah</label>
<div class="flex-wrap items-stretch">
<div class="flex flex-col items-start gap-4">
@if (isset($basicData['bentukTanah']))
@foreach ($basicData['bentukTanah'] as $item)
<div class="flex items-center">
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="bentuk_tanah[]" type="checkbox"
value="{{ $item->name }}"
{{ in_array($item->name, old('bentuk_tanah', [])) ||
(isset($forminspeksi['tanah']['bentuk_tanah']['bentuk_tanah']) &&
is_array($forminspeksi['tanah']['bentuk_tanah']['bentuk_tanah']) &&
in_array($item->name, $forminspeksi['tanah']['bentuk_tanah']['bentuk_tanah']))
? 'checked'
: '' }}
onclick="toggleCheckboxVisibility('bentuk_tanah', 'bentuk_tanah_lainnya', ['lainnya'])" />
{{ $item->name }}
</label>
@if (strcasecmp($item->name, 'lainnya') == 0)
<input id="bentuk_tanah_lainnya" type="text"
style="{{ isset($forminspeksi['tanah']['bentuk_tanah']['lainnya']) && $forminspeksi['tanah']['bentuk_tanah']['lainnya'] ? '' : 'display: none;' }}"
name="bentuk_tanah_lainnya" class="input w-full mt-2"
placeholder="Masukkan bentuk tanah..."
value="{{ old('bentuk_tanah_lainnya', $forminspeksi['tanah']['bentuk_tanah']['lainnya'] ?? '') }}" />
@endif
</div>
@endforeach
@endif
</div>
<em id="error-bentuk_tanah" class="alert text-danger text-sm"></em>
</div>
</div>
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Kontur Tanah</label>
<div class="flex-wrap items-stretch">
<div class="flex flex-col items-start gap-4">
@if (isset($basicData['konturTanah']))
@foreach ($basicData['konturTanah'] as $item)
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="kontur_tanah[]" type="checkbox"
value="{{ $item->name }}"
{{ in_array($item->name, old('kontur_tanah', $forminspeksi['tanah']['kontur_tanah'] ?? [])) ? 'checked' : '' }} />
{{ $item->name }}
</label>
@endforeach
@endif
</div>
<em id="error-kontur_tanah" class="alert text-danger text-sm"></em>
</div>
</div>
<!-- Beda Ketinggian Dengan Jalan -->
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Beda Ketinggian Dengan Jalan</label>
<div class="flex-wrap items-stretch">
<div class="flex flex-col items-start gap-4">
@if (isset($basicData['ketinggianTanah']))
@foreach ($basicData['ketinggianTanah'] as $item)
<div class="flex flex-col gap-2">
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="ketinggian_jalan[]" type="checkbox"
value="{{ $item->name }}"
{{ in_array($item->name, old('ketinggian_jalan', $forminspeksi['tanah']['ketinggian_jalan'] ?? [])) ? 'checked' : '' }}
onclick="toggleMultipleFields('ketinggian_jalan', {
'Lebih Tinggi': 'input-lebih-tinggi',
'Lebih Rendah': 'input-lebih-rendah'
})" />
{{ $item->name }}
</label>
@if (strcasecmp($item->name, 'Lebih Tinggi') == 0)
<input id="input-lebih-tinggi" type="text"
style="{{ isset($forminspeksi['tanah']['ketinggian_tanah']['lebih_tinggi']) && $forminspeksi['tanah']['ketinggian_tanah']['lebih_tinggi'] ? '' : 'display: none;' }}"
name="ketinggian_lebih_tinggi" class="input w-full mt-2" placeholder="Masukkan Ketinggian..."
value="{{ old('ketinggian_lebih_tinggi', $forminspeksi['tanah']['ketinggian_tanah']['lebih_tinggi'] ?? '') }}" />
@elseif (strcasecmp($item->name, 'Lebih Rendah') == 0)
<input id="input-lebih-rendah" type="text"
style="{{ isset($forminspeksi['tanah']['ketinggian_tanah']['lebih_rendah']) && $forminspeksi['tanah']['ketinggian_tanah']['lebih_rendah'] ? '' : 'display: none;' }}"
name="ketinggian_lebih_rendah" class="input w-full mt-2" placeholder="Masukkan Ketinggian..."
value="{{ old('ketinggian_lebih_rendah', $forminspeksi['tanah']['ketinggian_tanah']['lebih_rendah'] ?? '') }}" />
@endif
</div>
@endforeach
@endif
</div>
<em id="error-ketinggian_jalan" class="alert text-danger text-sm"></em>
</div>
</div>
<!-- Kontur Jalan Depan Objek -->
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Kontur Jalan Depan Objek</label>
<div class="flex-wrap items-stretch">
<div class="grid grid-cols-2 md:grid-cols-3 gap-4">
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input type="radio" class="radio" name="kontur_jalan" value="menurun"
{{ old('kontur_jalan', isset($forminspeksi['tanah']['kontur_jalan']) ? $forminspeksi['tanah']['kontur_jalan'] : '') == 'menurun' ? 'checked' : '' }}>
<span class="ml-2">Menurun</span>
</label>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input type="radio" class="radio" name="kontur_jalan" value="rata"
{{ old('kontur_jalan', isset($forminspeksi['tanah']['kontur_jalan']) ? $forminspeksi['tanah']['kontur_jalan'] : '') == 'rata' ? 'checked' : '' }}>
<span class="ml-2">Rata</span>
</label>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input type="radio" class="radio" name="kontur_jalan" value="Menanjak"
{{ old('kontur_jalan', isset($forminspeksi['tanah']['kontur_jalan']) ? $forminspeksi['tanah']['kontur_jalan'] : '') == 'Menanjak' ? 'checked' : '' }}>
<span class="ml-2">Menanjak</span>
</label>
</div>
<em id="error-kontur_jalan" class="alert text-danger text-sm"></em>
</div>
</div>
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Posisi Kavling</label>
<div class="flex-wrap items-stretch">
<div class="flex flex-col items-start gap-4">
@if (isset($basicData['posisiKavling']))
@php
$selectedPosisiKavling = old(
'posisi_kavling',
$forminspeksi['tanah']['posisi_kavling']['posisi_kavling'] ?? [],
);
$lainnyaValue = old(
'posisi_kavling_lainnya',
$forminspeksi['tanah']['posisi_kavling']['lainnya'] ?? '',
);
@endphp
@foreach ($basicData['posisiKavling'] as $item)
<div class="flex items-center">
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="posisi_kavling[]" type="checkbox"
value="{{ $item->name }}"
{{ in_array($item->name, $selectedPosisiKavling) ? 'checked' : '' }}
onclick="toggleCheckboxVisibility('posisi_kavling', 'posisi_kavling_lainnya', ['Lainnya'])" />
{{ $item->name }}
</label>
@if (strcasecmp($item->name, 'Lainnya') == 0)
<input id="posisi_kavling_lainnya" type="text"
style="{{ $lainnyaValue ? '' : 'display: none' }}"
name="posisi_kavling_lainnya" class="input w-full mt-2"
placeholder="Masukkan Posisi Kavling lainnya..."
value="{{ $lainnyaValue }}" />
@endif
</div>
@endforeach
@endif
</div>
<em id="error-posisi_kavling" class="alert text-danger text-sm"></em>
</div>
</div>
<!-- Tusuk Sate -->
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Tusuk Sate</label>
<div class="flex-wrap items-stretch">
<div class="grid grid-cols-2 md:grid-cols-3 gap-4 mt-2">
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input onclick="toggleFieldVisibility('tusuk_sate', 'tusuk_sate_ya', ['Ya'])"
type="radio" class="radio" name="tusuk_sate" value="Ya"
{{ old('tusuk_sate') == 'Ya' || (isset($forminspeksi['tanah']['tusuk_sate']['Ya']) && $forminspeksi['tanah']['tusuk_sate']['Ya']) ? 'checked' : '' }}>
<span class="ml-2">Ya</span>
@php
$statusKey = isset($forminspeksi['tanah']['tusuk_sate']['Ya']) ? 'Ya' : 'Tidak';
$selectedData = $forminspeksi['tanah']['tusuk_sate'][$statusKey] ?? null;
@endphp
<input id="tusuk_sate_ya" class="input" name="tusuk_sate_ya"
placeholder="Masukkan Tusuk Sate..."
value="{{ old('tusuk_sate_ya', isset($selectedData) ? $selectedData : '') }}"
style="{{ $statusKey == 'Ya' ? '' : 'display: none;' }}">
</label>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input onclick="toggleFieldVisibility('tusuk_sate', 'tusuk_sate_ya', ['Ya'])"
type="radio" class="radio" name="tusuk_sate" value="Tidak"
{{ old('tusuk_sate') == 'Tidak' || (isset($forminspeksi['tanah']['tusuk_sate']['Tidak']) && $forminspeksi['tanah']['tusuk_sate']['Tidak']) ? 'checked' : '' }}>
<span class="ml-2">Tidak</span>
</label>
</div>
<em id="error-tusuk_sate" class="alert text-danger text-sm"></em>
</div>
</div>
<!-- Lockland -->
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Lockland</label>
<div class="flex-wrap items-stretch">
<div class="grid grid-cols-2 md:grid-cols-3 gap-4 mt-2">
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input type="radio" class="radio" name="lockland" value="yes"
{{ old('lockland') == 'yes' || (isset($forminspeksi['tanah']['lockland']) && $forminspeksi['tanah']['lockland'] == 'yes') ? 'checked' : '' }}>
<span class="ml-2">Ya</span>
</label>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input type="radio" class="radio" name="lockland" value="no"
{{ old('lockland') == 'no' || (isset($forminspeksi['tanah']['lockland']) && $forminspeksi['tanah']['lockland'] == 'no') ? 'checked' : '' }}>
<span class="ml-2">Tidak</span>
</label>
</div>
<em id="error-lockland" class="alert text-danger text-sm"></em>
</div>
</div>
<!-- Kondisi Fisik Tanah -->
<div class="flex items-stretch flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Kondisi Fisik Tanah</label>
<div class="flex-wrap items-stretch">
<div class="flex flex-col items-start gap-4">
@if (isset($basicData['kondisiFisikTanah']))
@foreach ($basicData['kondisiFisikTanah'] as $item)
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="kondisi_fisik_tanah[]" type="checkbox"
value="{{ $item->name }}"
{{ in_array($item->name, old('kondisi_fisik_tanah', [])) || (isset($forminspeksi['tanah']['kondisi_fisik_tanah']['kondisi_fisik_tanah']) && in_array($item->name, $forminspeksi['tanah']['kondisi_fisik_tanah']['kondisi_fisik_tanah'])) ? 'checked' : '' }}
onclick="toggleInputLainnya(this, 'kondisi_fisik_tanah_lainnya', '{{ $item->name }}')" />
{{ $item->name }}
</label>
<!-- Display input field only if "lainnya" is selected -->
@if (strcasecmp($item->name, 'lainnya') == 0)
<div class="flex items-center">
<input type="text" name="kondisi_fisik_tanah_lainnya"
id="kondisi_fisik_tanah_lainnya" class="input mt-2"
placeholder="Masukkan Kondisi Fisik Tanah..." style="display: none;"
value="{{ old('kondisi_fisik_tanah_lainnya', isset($forminspeksi['tanah']['kondisi_fisik_tanah']['lainnya'])) }}">
</div>
@endif
@endforeach
@endif
</div>
<em id="error-kondisi_fisik_tanah" class="alert text-danger text-sm"></em>
</div>
</div>
</div>
</div>
</div>