Initial Commit
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
<div class="no-break">
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; border: 1px solid #000; text-align: center;">
|
||||
ANALISA UNIT
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
@php
|
||||
$cekLuas = isset($forminspeksi['luas_unit']['tidak sesuai'])
|
||||
? 'tidak sesuai'
|
||||
: 'sesuai';
|
||||
|
||||
$luas = $forminspeksi['luas_unit'][$cekLuas] ?? null;
|
||||
@endphp
|
||||
<td style="width: 25%; padding: 2px; vertical-align: top;">Luas Unit</td>
|
||||
<td style="width: 1%; padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="width: 74%; padding: 2px; vertical-align: top;">{{ $luas ?? '' }} <span>m²</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px; vertical-align: top;">Bentuk Unit</td>
|
||||
<td style="width: 1%; padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="width: 74%; padding: 2px; vertical-align: top;">
|
||||
@php
|
||||
$bentukUnit = $forminspeksi['bentuk_unit'] ?? [];
|
||||
@endphp
|
||||
|
||||
@if (!empty($bentukUnit))
|
||||
{{ implode(', ', $bentukUnit) }}
|
||||
@else
|
||||
-
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">Kondisi Unit</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">
|
||||
@php
|
||||
$bentukUnit = $forminspeksi['kondisi_unit'] ?? [];
|
||||
@endphp
|
||||
|
||||
@if (!empty($bentukUnit))
|
||||
{{ implode(', ', $bentukUnit) }}
|
||||
@else
|
||||
-
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">Posisi Unit</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">
|
||||
@php
|
||||
$bentukUnit = $forminspeksi['posisi_unit'] ?? [];
|
||||
@endphp
|
||||
|
||||
@if (!empty($bentukUnit))
|
||||
{{ implode(', ', $bentukUnit) }}
|
||||
@else
|
||||
-
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">View Unit</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">
|
||||
@php
|
||||
$bentukUnit = $forminspeksi['view'] ?? [];
|
||||
@endphp
|
||||
|
||||
@if (!empty($bentukUnit))
|
||||
{{ implode(', ', $bentukUnit) }}
|
||||
@else
|
||||
-
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
147
resources/views/penilai/components/analisa/bangunan.blade.php
Normal file
147
resources/views/penilai/components/analisa/bangunan.blade.php
Normal file
@@ -0,0 +1,147 @@
|
||||
<div class="no-break">
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; border: 1px solid #000; text-align: center;">
|
||||
ANALISA BANGUNAN
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table style="width: 100%">
|
||||
<tr>
|
||||
<td style=" width: 25%; padding: 2px; vertical-align: top;">Luas Bangunan</td>
|
||||
<td style=" width:1%; padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">
|
||||
@php
|
||||
$luasTanahBangunan =
|
||||
$forminspeksi['bangunan']['luas_tanah_bagunan'];
|
||||
|
||||
$output = !empty($luasTanahBangunan['sesuai'])
|
||||
? $luasTanahBangunan['sesuai']
|
||||
: (!empty($luasTanahBangunan['tidak sesuai'])
|
||||
? $luasTanahBangunan['tidak sesuai']
|
||||
: '-');
|
||||
@endphp
|
||||
|
||||
{{ $output }} <span>m²</span>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">Jenis Bangunan</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">
|
||||
@php
|
||||
$jenisBangunan =
|
||||
$forminspeksi['bangunan']['jenis_bangunan'] ?? [];
|
||||
@endphp
|
||||
|
||||
@if (!empty($jenisBangunan))
|
||||
{{ implode(', ', $jenisBangunan) }}
|
||||
@else
|
||||
-
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">Kondisi Bangunan</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">
|
||||
@php
|
||||
$kondisiBangunan =
|
||||
$forminspeksi['bangunan']['kondisi_bangunan'] ?? [];
|
||||
@endphp
|
||||
|
||||
@if (!empty($kondisiBangunan))
|
||||
{{ implode(', ', $kondisiBangunan) }}
|
||||
@else
|
||||
-
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">Sifat Bangunan</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
|
||||
<td style="padding: 2px; vertical-align: top;">
|
||||
@php
|
||||
$sifatBangunan =
|
||||
$forminspeksi['bangunan']['sifat_bangunan'][0] ?? '-';
|
||||
$sifatBangunanInput =
|
||||
$forminspeksi['bangunan']['sifat_bangunan_input'];
|
||||
|
||||
// Filter input yang tidak null
|
||||
$inputTambahan = array_filter($sifatBangunanInput, function (
|
||||
$value,
|
||||
) {
|
||||
return $value !== null && $value !== '';
|
||||
});
|
||||
|
||||
// Gabungkan sifat bangunan dengan input tambahan
|
||||
$output = $sifatBangunan;
|
||||
|
||||
if (!empty($inputTambahan)) {
|
||||
$output .= ' (' . implode(', ', $inputTambahan) . ')';
|
||||
}
|
||||
@endphp
|
||||
|
||||
{{ $output }}
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
@if (isset($forminspeksi['bangunan']['spesifikasi_bangunan']) && count($forminspeksi['bangunan']['spesifikasi_bangunan']) > 0)
|
||||
@foreach ($forminspeksi['bangunan']['spesifikasi_bangunan'] as $bangunanIndex => $bangunan)
|
||||
@if (count($forminspeksi['bangunan']['spesifikasi_bangunan']) > 1)
|
||||
<tr>
|
||||
<td colspan="2">Spesifikasi Bangunan {{ $bangunanIndex + 1 }}</td>
|
||||
</tr>
|
||||
@else
|
||||
<tr>
|
||||
<td colspan="2">Spesifikasi Bangunan</td>
|
||||
</tr>
|
||||
@endif
|
||||
|
||||
@if (isset($basicData['spekKategoriBangunan']))
|
||||
@foreach ($basicData['spekKategoriBangunan'] as $index => $spesifikasi)
|
||||
@if (!empty($spesifikasi->name)) <!-- Hanya tampilkan jika 'name' tidak kosong -->
|
||||
<tr>
|
||||
<td style="vertical-align: top;">{{ $spesifikasi->name }}</td>
|
||||
<td>:</td>
|
||||
<td>
|
||||
@php
|
||||
$selectedValue = null;
|
||||
$lainnyaValue = null;
|
||||
|
||||
if (isset($bangunan['spek_kategori_bangunan'][$spesifikasi->name])) {
|
||||
$selectedValues = $bangunan['spek_kategori_bangunan'][$spesifikasi->name];
|
||||
|
||||
// Ambil nilai pertama (bukan key) dari array
|
||||
$selectedValue = array_values(array_filter($selectedValues, function ($key) {
|
||||
return $key !== 'lainnya'; // Filter key lainnya
|
||||
}, ARRAY_FILTER_USE_KEY))[0] ?? null;
|
||||
|
||||
$lainnyaValue = $selectedValues['lainnya'] ?? null;
|
||||
}
|
||||
@endphp
|
||||
|
||||
@if ($selectedValue)
|
||||
<span>
|
||||
{{ $selectedValue }}
|
||||
@if ($selectedValue === 'Lainnya' && $lainnyaValue)
|
||||
: {{ $lainnyaValue }}
|
||||
@endif
|
||||
</span>
|
||||
@else
|
||||
<span>—</span>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
|
||||
|
||||
</table>
|
||||
</div>
|
||||
106
resources/views/penilai/components/analisa/fakta.blade.php
Normal file
106
resources/views/penilai/components/analisa/fakta.blade.php
Normal file
@@ -0,0 +1,106 @@
|
||||
<div class="no-break">
|
||||
<table class="judul" style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; border: 1px solid #000; text-align: center;">
|
||||
ANALISA FAKTA
|
||||
</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 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>
|
||||
|
||||
{{-- Faktor Negatif --}}
|
||||
<tr>
|
||||
<td width="25%" style="vertical-align: top;">Faktor Negatif</td>
|
||||
<td width="1%" style="vertical-align: top;">:</td>
|
||||
<td 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>
|
||||
|
||||
@if (!empty($forminspeksi['fakta']['rute_menuju']))
|
||||
<tr>
|
||||
<td width="25%" style="vertical-align: top;">Rute Menuju</td>
|
||||
<td width="1%" style="vertical-align: top;">:</td>
|
||||
<td style="vertical-align: top;">
|
||||
{!! nl2br(e($forminspeksi['fakta']['rute_menuju'] ?? '')) !!}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
|
||||
@if (!empty($forminspeksi['fakta']['batas_batas_input']))
|
||||
<tr>
|
||||
<td width="25%" 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>
|
||||
@endif
|
||||
|
||||
@if (!empty($forminspeksi['fakta']['kondisi_lingkungan']))
|
||||
<tr>
|
||||
<td width="25%" style="vertical-align: top;">Kondisi Lingkungan</td>
|
||||
<td width="1%" style="vertical-align: top;">:</td>
|
||||
<td style="vertical-align: top;">
|
||||
@foreach ($forminspeksi['fakta']['kondisi_lingkungan'] ?? [] as $kondisi)
|
||||
{!! nl2br(e($kondisi)) !!}
|
||||
@endforeach
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@if (!empty($forminspeksi['fakta']['informasi_dokument']))
|
||||
<tr>
|
||||
<td width="25%" style="vertical-align: top;">Informasi Lain terkait
|
||||
Dokumen</td>
|
||||
<td width="1%" style="vertical-align: top;">:</td>
|
||||
<td style="vertical-align: top;">
|
||||
@foreach ($forminspeksi['fakta']['informasi_dokument'] ?? [] as $informasi)
|
||||
{!! nl2br(e($informasi)) !!}
|
||||
@endforeach
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
|
||||
|
||||
</table>
|
||||
</div>
|
||||
@@ -0,0 +1,62 @@
|
||||
<div class="no-break">
|
||||
<table style="width: 100%">
|
||||
<tr>
|
||||
<td width="25%" 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>
|
||||
|
||||
@if (!empty($forminspeksi['fakta']['keterangan']))
|
||||
<tr>
|
||||
<td width="25%" style="vertical-align: top;">Catatan yang Perlu
|
||||
Diperhatikan</td>
|
||||
<td width="1%" style="vertical-align: top;">:</td>
|
||||
<td style="vertical-align: top;">
|
||||
@php
|
||||
$keterangan = $forminspeksi['fakta']['keterangan'] ?? '';
|
||||
if (is_array($keterangan)) {
|
||||
$keterangan = implode(', ', array_filter($keterangan));
|
||||
}
|
||||
@endphp
|
||||
|
||||
@if (!empty($keterangan))
|
||||
<table style="width: 100%; border-collapse: collapse;">
|
||||
<tr>
|
||||
<td>{!! nl2br(e($keterangan)) !!}</td>
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
</table>
|
||||
</div>
|
||||
131
resources/views/penilai/components/analisa/lingkungan.blade.php
Normal file
131
resources/views/penilai/components/analisa/lingkungan.blade.php
Normal file
@@ -0,0 +1,131 @@
|
||||
<div class="no-break">
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; border: 1px solid #000; text-align: center;">
|
||||
ANALISA LINGKUNGAN
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table style="width: 100%">
|
||||
@php
|
||||
$lingkungan = $forminspeksi['lingkungan'];
|
||||
$fasilitas = $lingkungan['fasilitas_dekat_object'] ?? [];
|
||||
$fasilitasInput = $lingkungan['fasilitas_dekat_object_input'] ?? [];
|
||||
@endphp
|
||||
|
||||
<tr>
|
||||
<td style=" width:25%; padding: 2px; vertical-align: top;">Jarak Jalan Utama</td>
|
||||
<td style=" width:1%; padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">{{ $lingkungan['jarak_jalan_utama'] ?? '-' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">Jalan Lingkungan</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">{{ $lingkungan['jalan_linkungan'] ?? '-' }}</td>
|
||||
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">Jarak CBD</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">{{ $lingkungan['jarak_cbd_point'] ?? '-' }}
|
||||
({{ $lingkungan['nama_cbd_point'] ?? '-' }})</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">Lebar Perkerasan Jalan</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">{{ $lingkungan['lebar_perkerasan_jalan'] ?? '-' }} m</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">Perkerasan Jalan</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:
|
||||
</td>
|
||||
<td style="padding: 2px; vertical-align: top;">
|
||||
{{ implode(', ', $lingkungan['perkerasan_jalan']['perkerasan_jalan'] ?? ['-']) }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">Lalu Lintas</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">{{ implode(', ', $lingkungan['lalu_lintas'] ?? ['-']) }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">Golongan Masyarakat Sekitar</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">{{ implode(', ', $lingkungan['gol_mas_sekitar'] ?? ['-']) }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">Tingkat Keramaian</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">
|
||||
{{ implode(', ', $lingkungan['tingkat_keramaian'] ?? ['-']) }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">Terletak di Area</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">
|
||||
{{ implode(', ', $lingkungan['terletak_diarea']['terletak_diarea'] ?? ['-']) }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">Kondisi Bangunan Sekitar</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">{{ $lingkungan['kondisi_bagunan_disekitar_lokasi'] ?? '-' }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">Sifat Bangunan Sekitar</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">{{ $lingkungan['sifat_bagunan_disekitar_lokasi'] ?? '-' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@if ($lingkungan['dekat_makam'] == 'ya')
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">Dekat Makam</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">Ya, Jarak {{ $lingkungan['jarak_makam'] ?? '-' }} m
|
||||
({{ $lingkungan['nama_makam'] ?? '-' }})
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
|
||||
@if ($lingkungan['dekat_tps'] == 'ya')
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">Dekat TPS</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">Ya, Jarak {{ $lingkungan['jarak_tps'] ?? '-' }} m
|
||||
({{ $lingkungan['nama_tps'] ?? '-' }})</td>
|
||||
</tr>
|
||||
@endif
|
||||
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">Daerah</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">
|
||||
{{ implode(', ', $lingkungan['merupakan_daerah'] ?? ['-']) }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@if (!empty($fasilitas))
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">Fasilitas Dekat Objek</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">
|
||||
@foreach ($fasilitas as $fas)
|
||||
{{ $fas }}
|
||||
@if (isset($fasilitasInput[$fas]))
|
||||
({{ $fasilitasInput[$fas] }})
|
||||
@endif
|
||||
@if (!$loop->last)
|
||||
,
|
||||
@endif
|
||||
@endforeach
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
</table>
|
||||
</div>
|
||||
155
resources/views/penilai/components/analisa/tanah.blade.php
Normal file
155
resources/views/penilai/components/analisa/tanah.blade.php
Normal file
@@ -0,0 +1,155 @@
|
||||
<div class="no-break">
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; border: 1px solid #000; text-align: center;">
|
||||
ANALISA TANAH
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
@php
|
||||
$cekLuas = isset($forminspeksi['tanah']['luas_tanah']['tidak sesuai']) ? 'tidak sesuai' : 'sesuai';
|
||||
|
||||
$luas = $forminspeksi['tanah']['luas_tanah'][$cekLuas] ?? null;
|
||||
@endphp
|
||||
<td style="width: 25%; padding: 2px; vertical-align: top;">Luas Tanah</td>
|
||||
<td style=" width:1%; padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="width: 74%; padding: 2px; vertical-align: top;">{{ $luas ?? '' }} <span>m²</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
@php
|
||||
$cekMataAngin = isset($forminspeksi['tanah']['hadap_mata_angin']['tidak sesuai'])
|
||||
? 'tidak sesuai'
|
||||
: 'sesuai';
|
||||
|
||||
$Arah = $forminspeksi['tanah']['hadap_mata_angin'][$cekMataAngin] ?? null;
|
||||
@endphp
|
||||
<td style="padding: 2px; vertical-align: top;">Hadap Mata Angin</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">{{ $Arah ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">Bentuk Tanah</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">
|
||||
@php
|
||||
$bentukTanah = isset($forminspeksi['tanah']['bentuk_tanah']['bentuk_tanah'])
|
||||
? $forminspeksi['tanah']['bentuk_tanah']['bentuk_tanah']
|
||||
: [];
|
||||
$lainnya = isset($forminspeksi['tanah']['bentuk_tanah']['lainnya'])
|
||||
? $forminspeksi['tanah']['bentuk_tanah']['lainnya']
|
||||
: null;
|
||||
@endphp
|
||||
|
||||
{{ !empty($bentukTanah) ? implode(', ', $bentukTanah) : '' }}
|
||||
|
||||
@if (!empty($bentukTanah) && in_array('Lainnya', $bentukTanah) && !is_null($lainnya))
|
||||
({{ $lainnya }})
|
||||
@endif
|
||||
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">Kontur Tanah</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">
|
||||
@php
|
||||
$konturTanah = $forminspeksi['tanah']['kontur_tanah'] ?? [];
|
||||
@endphp
|
||||
|
||||
@if (!empty($konturTanah))
|
||||
{{ implode(', ', $konturTanah) }}
|
||||
@else
|
||||
-
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">Beda Ketinggian dengan Jalan</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">
|
||||
@php
|
||||
$ketinggianTanah = $forminspeksi['tanah']['ketinggian_tanah'];
|
||||
$ketinggian = $ketinggianTanah['ketinggian'][0] ?? '-';
|
||||
$lebihTinggi = $ketinggianTanah['lebih_tinggi'];
|
||||
$lebihRendah = $ketinggianTanah['lebih_rendah'];
|
||||
@endphp
|
||||
|
||||
{{ $ketinggian }}
|
||||
@if ($ketinggian === 'Lebih Tinggi' && $lebihTinggi !== null)
|
||||
(Ketinggian: {{ $lebihTinggi }} cm)
|
||||
@elseif($ketinggian === 'Lebih Rendah' && $lebihRendah !== null)
|
||||
(Kerendahan: {{ $lebihRendah }} cm)
|
||||
@endif
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Kontur Jalan Depan Objek</td>
|
||||
<td>:</td>
|
||||
<td>
|
||||
{{ $forminspeksi['tanah']['kontur_jalan'] == 'menurun' ? 'Menurun' : 'Rata' }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Posisi Kavling</td>
|
||||
<td>:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">
|
||||
@php
|
||||
$posisiKavling = $forminspeksi['tanah']['posisi_kavling']['posisi_kavling'] ?? [];
|
||||
$lainnya = $forminspeksi['tanah']['posisi_kavling']['lainnya'] ?? null;
|
||||
@endphp
|
||||
|
||||
{{ !empty($posisiKavling) ? implode(', ', $posisiKavling) : '' }}
|
||||
|
||||
@if (!empty($posisiKavling) && in_array('Lainnya', $posisiKavling) && !empty($lainnya))
|
||||
({{ $lainnya }})
|
||||
@endif
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Tusuk Sate</td>
|
||||
<td>:</td>
|
||||
<td>
|
||||
{{ isset($forminspeksi['tanah']['tusuk_sate']) && is_array($forminspeksi['tanah']['tusuk_sate']) && !empty($forminspeksi['tanah']['tusuk_sate']['Ya']) ? 'Ya' : 'Tidak' }}
|
||||
|
||||
@if (isset($forminspeksi['tanah']['tusuk_sate']) &&
|
||||
is_array($forminspeksi['tanah']['tusuk_sate']) &&
|
||||
!empty($forminspeksi['tanah']['tusuk_sate']['Ya']))
|
||||
{{ isset($forminspeksi['tanah']['tusuk_sate_ya']) ? ' (' . $forminspeksi['tanah']['tusuk_sate_ya'] . ')' : '' }}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Lockland</td>
|
||||
<td>:</td>
|
||||
<td>
|
||||
{{ isset($forminspeksi['tanah']['lockland']) && $forminspeksi['tanah']['lockland'] == 'yes' ? 'Ya' : 'Tidak' }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">Kondisi Fisik Tanah</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">
|
||||
@php
|
||||
$kondisiFisikTanah = $forminspeksi['tanah']['kondisi_fisik_tanah']['kondisi_fisik_tanah'][0] ?? '-';
|
||||
$lainnya = $forminspeksi['tanah']['kondisi_fisik_tanah']['lainnya'] ?? null;
|
||||
@endphp
|
||||
|
||||
{{ $kondisiFisikTanah }}
|
||||
@if ($kondisiFisikTanah === 'Lainnya' && !empty($lainnya))
|
||||
({{ $lainnya }})
|
||||
@endif
|
||||
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
718
resources/views/penilai/components/call-report.blade.php
Normal file
718
resources/views/penilai/components/call-report.blade.php
Normal file
@@ -0,0 +1,718 @@
|
||||
@extends('layouts.main')
|
||||
|
||||
@section('breadcrumbs')
|
||||
{{ Breadcrumbs::render(request()->route()->getName()) }}
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
|
||||
@php
|
||||
$senior_officer = null;
|
||||
$jenisJaminan = null;
|
||||
$tanggalPenilaian = null;
|
||||
if ($permohonan->debiture && $permohonan->documents) {
|
||||
foreach ($permohonan->documents as $dokumen) {
|
||||
$penilai = $permohonan->penilaian->userPenilai->where('role', 'penilai')->first();
|
||||
$teams = $permohonan->region->teams;
|
||||
|
||||
$tanggalPenilaian = $permohonan->penilaian->waktu_penilaian;
|
||||
$jenisJaminan = $dokumen->jenisJaminan->name;
|
||||
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
|
||||
<form id="formInspeksi" method="POST" enctype="multipart/form-data" class="grid gap-5">
|
||||
@csrf
|
||||
|
||||
@foreach ($permohonan->documents as $dokumen)
|
||||
@if ($dokumen->jenisJaminan)
|
||||
@php
|
||||
$formKategori = json_decode($dokumen->jenisJaminan->form_kategori, true);
|
||||
$jenisAset = $dokumen->jenisJaminan->name;
|
||||
@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) }}">
|
||||
@endif
|
||||
@endif
|
||||
@endforeach
|
||||
|
||||
<input type="hidden" name="nomor_registrasi" value="{{ $permohonan->nomor_registrasi ?? '' }}">
|
||||
<input type="hidden" name="permohonan_id" value="{{ $permohonan->id ?? '' }}">
|
||||
<input type="hidden" name="dokument_id" value="{{ request('documentId') }}">
|
||||
|
||||
@include('lpj::assetsku.includenya')
|
||||
{{-- @include('lpj::surveyor.components.header')
|
||||
@include('lpj::surveyor.components.callReport') --}}
|
||||
@php
|
||||
$paparan = $permohonan->status === 'proses-paparan' ? 'Paparan' : 'Pelaporan';
|
||||
@endphp
|
||||
<div class="card">
|
||||
<div class="card-header bg-agi-50">
|
||||
<h3 class="card-title uppercase">
|
||||
CALL Report
|
||||
</h3>
|
||||
@php
|
||||
use Illuminate\Support\Facades\Route;
|
||||
@endphp
|
||||
<div class="flex items-center gap-2">
|
||||
|
||||
@if (Auth::user()->hasAnyRole(['administrator', 'senior-officer', 'EO Appraisal', 'DD Appraisal']) &&
|
||||
Route::currentRouteName('otorisator.show'))
|
||||
<a href="{{ route('otorisator.show', ['id' => $permohonan->id, 'type' => $paparan]) }}"
|
||||
class="btn btn-xs btn-info">
|
||||
<i class="ki-filled ki-exit-left"></i> Back
|
||||
</a>
|
||||
@elseif (Auth::user()->hasAnyRole(['administrator', 'surveyor']) && Route::currentRouteName('penilai.show'))
|
||||
<a href="{{ route('penilai.show', $permohonan->id) }}" class="btn btn-xs btn-info">
|
||||
<i class="ki-filled ki-exit-left"></i> Back
|
||||
</a>
|
||||
@endif
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body grid gap-5">
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Kepada</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="kepada" class="input w-full" placeholder="Masukkan..."
|
||||
value="{{ $callReport['kepada'] ?? old('kepada') }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Dari</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="dari" class="input w-full" placeholder="Masukkan..."
|
||||
value="{{ $callReport['dari'] ?? ($permohonan->branch->name ?? old('dari')) }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Nomor Laporan</label>
|
||||
<div class="flex flex-wrap items-base line w-full">
|
||||
<input type="text" name="nomor_laporan" class="input w-full cursor-not-allowed"
|
||||
placeholder="Masukkan..." value="{{ $nomorLaporan ?? '' }}" @readonly(true)>
|
||||
</div>
|
||||
</div>
|
||||
{{-- 250109828129/ --}}
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Tanggal</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="date" name="tanggal" class="input w-full" placeholder="Masukkan..."
|
||||
value="{{ $callReport['tanggal'] ?? '' }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Perihal</label>
|
||||
<div class="flex flex-wrap items-base line w-full">
|
||||
<input type="text" name="perihal" class="input w-full" placeholder="Masukkan..."
|
||||
value="{{ $callReport['perihal'] ?? '' }}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="card border border-agi-100 w-full bg-white rounded-lg shadow-md ">
|
||||
<div class="card-header bg-agi-50">
|
||||
<h1 class="text-md font-medium text-gray-900 uppercase">Menindak lanjuti permintaan <b>
|
||||
{{ $permohonan->tujuanPenilaian->name ?? '' }}</b>, BAG CABang
|
||||
<b>{{ $permohonan->branch->name }}</b>
|
||||
disampaikan hal sebagai berikut:
|
||||
</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">
|
||||
<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="nama_debiture" class="form-label max-w-56">Nama Debitur</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" id="nama_debiture" name="nama_debiture"
|
||||
class="input w-full cursor-not-allowed" placeholder="Nama Debiture"
|
||||
value="{{ $permohonan->debiture->name ?? old('nama_debiture') }}"
|
||||
@readonly(true)>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
|
||||
<label for="kjjp" class="form-label max-w-56">KJPP</label>
|
||||
<div class="flex flex-wrap items-baseline w-full ">
|
||||
<input type="text" id="kjjp" name="kjjp"
|
||||
class="input w-full cursor-not-allowed" placeholder="Masukkan kjjp"
|
||||
value="{{ preg_replace('/^K\\d+ - /', '', $permohonan->penawaran->nama_kjpp_sebelumnya ?? old('kjjp')) }}
|
||||
"
|
||||
@readonly(true)>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Jenis Aset</label>
|
||||
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" id="jenis_asset" name="jenis_asset"
|
||||
class="input w-full cursor-not-allowed" placeholder="Masukkan jenis_asset"
|
||||
value="{{ $jenisJaminan ?? old('jenis_asset') }}" @readonly(true)>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
|
||||
<label for="penilai" class="form-label max-w-56">Tanggal Penilaian </label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="datetime" id="tanggal_penilaian" name="tanggal_penilaian"
|
||||
class="input w-full cursor-not-allowed" placeholder="Masukkan Tanggal Penilai"
|
||||
value="{{ $tanggalPenilaian ?? old('penilai') }}" @readonly(true)>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card border border-agi-100 w-full bg-white rounded-lg shadow-md">
|
||||
<div class="card-header bg-agi-50">
|
||||
<h1 class="text-md font-medium text-gray-900 uppercase">lokasi objek
|
||||
|
||||
</h1>
|
||||
</div>
|
||||
|
||||
<div class="card-body grid gap-2.5 w-full">
|
||||
|
||||
<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($permohonan->debiture->province) ? $permohonan->debiture->province->name : '' }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<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($permohonan->debiture->city) ? $permohonan->debiture->city->name : '' }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<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($permohonan->debiture->district) ? $permohonan->debiture->district->name : '' }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<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($permohonan->debiture->village) ? $permohonan->debiture->village->name : '' }}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="card border border-agi-100 w-full bg-white rounded-lg shadow-md">
|
||||
<div class="card-header bg-agi-50">
|
||||
<h1 class="text-md font-medium text-gray-900 uppercase">Dokument</h1>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
@include('lpj::component.detail-jaminan', ['status' => true])
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="w-full grid grid-cols-1 lg:grid-cols-1 gap-4">
|
||||
|
||||
<!-- Bagian Nilai KJPP -->
|
||||
<div class="card border border-agi-100 w-full bg-white rounded-lg shadow-md">
|
||||
<div class="card-header bg-agi-50">
|
||||
<h1 class="text-md font-medium text-gray-900 uppercase">Nilai KJPP</h1>
|
||||
</div>
|
||||
<div class="card-body grid gap-5 w-full">
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
|
||||
<label for="lelang-1" class="form-label max-w-56">Lelang ke </label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" id="lelang-1" name="lelang_kjpp" class="input w-full"
|
||||
placeholder="Masukkan Lelang" value="{{ $callReport['lelang_kjpp'] ?? '' }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
|
||||
<label for="nilai-pasar-1" class="form-label max-w-56">Nilai Pasar Wajar (NPW)</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" id="nilai-pasar-1" name="nilai_pasar_kjpp"
|
||||
class="input w-full nilai-pasar currency-format" placeholder="Masukkan likuidasi" value="{{ $callReport['nilai_pasar_kjpp'] ?? '' }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
|
||||
<label for="likuidasi-1" class="form-label max-w-56">Nilai Likuidasi(%)</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" id="likuidasi-1" name="persentase_likuidasi_kjpp" class="input w-full likuidasi"
|
||||
placeholder="Masukkan likuidasi dalam bentuk persen" onkeyup="calculateTotal(this)"
|
||||
data-group="1" value="{{ $callReport['persentase_likuidasi_kjpp'] ?? '' }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
|
||||
<label for="total-likuidasi-1" class="form-label max-w-56">Total Nilai Likuidasi (NL)</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" id="total-likuidasi-1" name="hasil_nilai_likuidasi_kjpp"
|
||||
class="input w-full total-likuidasi currency-format" placeholder="Hasil perhitungan" value="{{ $callReport['hasil_nilai_likuidasi_kjpp'] ?? '' }}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Bagian Nilai Internal -->
|
||||
<div class="card border border-agi-100 w-full bg-white rounded-lg shadow-md hidden">
|
||||
<div class="card-header bg-agi-50">
|
||||
<h1 class="text-md font-medium text-gray-900 uppercase">Nilai Internal</h1>
|
||||
</div>
|
||||
<div class="card-body grid gap-5 w-full">
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
|
||||
<label for="lelang-2" class="form-label max-w-56">Lelang ke </label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" id="lelang-2" name="lelang_internal" class="input w-full"
|
||||
placeholder="Masukkan Lelang" value="{{ $callReport['lelang_internal'] ?? '' }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
|
||||
<label for="nilai-pasar-2" class="form-label max-w-56">Nilai Pasar Wajar (NPW)</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" id="nilai-pasar-2" name="nilai_pasar_internal"
|
||||
class="input w-full nilai-pasar currency-format" placeholder="Masukkan likuidasi" value="{{ $callReport['nilai_pasar_internal'] ?? '' }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
|
||||
<label for="likuidasi-2" class="form-label max-w-56">Nilai Likuidasi(%)</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" id="likuidasi-2" name="persentase_likuidasi_internal" class="input w-full likuidasi"
|
||||
placeholder="Masukkan likuidasi dalam bentuk persen" onkeyup="calculateTotal(this)"
|
||||
data-group="2" value="{{ $callReport['persentase_likuidasi_internal'] ?? '' }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
|
||||
<label for="total-likuidasi-2" class="form-label max-w-56">Total Nilai Likuidasi (NL)</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" id="total-likuidasi-2" name="hasil_nilai_likuidasi_internal"
|
||||
class="input w-full total-likuidasi currency-format" placeholder="Hasil perhitungan" value="{{ $callReport['hasil_nilai_likuidasi_internal'] ?? '' }}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="card border border-agi-100 w-full bg-white rounded-lg shadow-md ">
|
||||
<div class="card-header bg-agi-50">
|
||||
<h1 class="text-md font-medium text-gray-900 uppercase">Penilaian ke lokasi objek telah dilakukan oleh
|
||||
:
|
||||
</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">
|
||||
<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="staf" class="form-label max-w-56">Staf Subdit Appraisal </label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" id="staf" name="staf"
|
||||
class="input w-full cursor-not-allowed" placeholder="Masukkan Nama Staff"
|
||||
value="{{ $penilai->userPenilaiTeam->name ?? '' }}" @readonly(true)>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
|
||||
<label for="penilai" class="form-label max-w-56">Pihak KJPP</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" id="penilai" name="pihak_kjjpp" class="input w-full "
|
||||
value="{{ $callReport['pihak_kjjpp'] ?? ($forminspeksi['signature']['kjjp']['name'] ?? '') }}"
|
||||
placeholder="Masukkan Nama KJPP">
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
|
||||
<label for="pihak_bag" class="form-label max-w-56">Pihak BAGI Cab </label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
|
||||
<input type="text" id="pihak_bag" name="pihak_bag"
|
||||
class="input w-full cursor-not-allowed" placeholder="Masukkan Pihak Bag"
|
||||
value="{{ $permohonan->user->name ?? '' }} || {{ $permohonan->branch->name }}"
|
||||
@readonly(true)>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
|
||||
<label for="debitur_perwakilan" class="form-label max-w-56">Debitur/perwakilan debitur
|
||||
</label>
|
||||
|
||||
@if (isset($forminspeksi['asset']['debitur_perwakilan']))
|
||||
@foreach ($forminspeksi['asset']['debitur_perwakilan'] as $item)
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" id="debitur_perwakilan" name="debitur_perwakilan"
|
||||
class="input w-full cursor-not-allowed" placeholder="Masukkan Penilai"
|
||||
value="{{ $item ?? '' }}" @readonly(true)>
|
||||
</div>
|
||||
@endforeach
|
||||
@else
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" id="debitur_perwakilan" name="debitur_perwakilan"
|
||||
class="input w-full cursor-not-allowed" placeholder="Masukkan Penilai"
|
||||
value="{{ $permohonan->debiture->name ?? '' }}" @readonly(true)>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header bg-agi-50">
|
||||
<h3 class="card-title uppercase">
|
||||
Informasi yang didapatkan sebagai berikut :
|
||||
</h3>
|
||||
</div>
|
||||
<div class="card-body 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 " 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>
|
||||
|
||||
<div class="flex justify-end gap-2" style="margin-right: 20px; margin-top: 20px">
|
||||
@if (Auth::user()->hasAnyRole(['senior-officer', 'surveyor', 'administrator']))
|
||||
<button type="button" class="btn btn-primary" id="saveButton" onclick="submitData()" {{ $permohonan->status == 'proses-paparan' || $permohonan->status == 'proses-laporan' && Auth::user()->hasAnyRole(['surveyor']) ? 'disabled' : '' }}>
|
||||
<i class="ki-filled ki-save-2"></i>
|
||||
<span id="saveButtonText">Simpan</span>
|
||||
</button>
|
||||
@endif
|
||||
@if (Auth::user()->hasAnyRole(['senior-officer', 'EO Appraisal', 'DD Appraisal']))
|
||||
<a class="btn btn-info"
|
||||
href="{{ route('penilai.lampiran') }}?permohonanId={{ request('permohonanId') }}&documentId={{ request('documentId') }}&jaminanId={{ request('jaminanId') }}&statusLpj=1">
|
||||
Lampiran Foto dan Dokument
|
||||
</a>
|
||||
<a href="{{ route('surveyor.print_out_inspeksi', ['permohonan_id' => $permohonan->id, 'dokument_id' => request('documentId'), 'jenis_jaminan_id' => request('jaminanId')]) }}"
|
||||
class="btn btn-light">
|
||||
<i class="ki-filled ki-printer"></i>Cetak Hasil Inspeksi
|
||||
</a>
|
||||
<a class="btn btn-primary"
|
||||
onclick="checkLaporan('{{ $permohonan->id }}', '{{ request('documentId') }}',{{ request('jaminanId') }}, )">
|
||||
<i class="ki-filled ki-printer"></i> Cetak Laporan
|
||||
</a>
|
||||
@endif
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
@endsection
|
||||
@push('scripts')
|
||||
<script type="text/javascript">
|
||||
const callReports = @json($forminspeksi);
|
||||
console.log('callReport', callReports)
|
||||
|
||||
|
||||
function formatJson(formElement) {
|
||||
const formData = new FormData(formElement);
|
||||
const jsonData = {
|
||||
kepada: "",
|
||||
tanggal: "",
|
||||
nomor_laporan: "",
|
||||
perihal: "",
|
||||
pihak_kjjpp: "",
|
||||
dari: "",
|
||||
lelang_kjpp: "",
|
||||
nilai_pasar_kjpp: "",
|
||||
persentase_likuidasi_kjpp: "",
|
||||
hasil_nilai_likuidasi_kjpp: "",
|
||||
lelang_internal: "",
|
||||
nilai_pasar_internal: "",
|
||||
persentase_likuidasi_internal: "",
|
||||
hasil_nilai_likuidasi_internal: "",
|
||||
|
||||
};
|
||||
|
||||
|
||||
jsonData.perihal = document.querySelector('input[name="perihal"]')?.value.trim() || "";
|
||||
jsonData.pihak_kjjpp = document.querySelector('input[name="pihak_kjjpp"]')?.value.trim() || "";
|
||||
jsonData.dari = document.querySelector('input[name="dari"]')?.value.trim() || "";
|
||||
jsonData.tanggal = document.querySelector('input[name="tanggal"]')?.value.trim() || "";
|
||||
jsonData.kepada = document.querySelector('input[name="kepada"]')?.value.trim() || "";
|
||||
jsonData.nomor_laporan = document.querySelector('input[name="nomor_laporan"]')?.value.trim() || "";
|
||||
jsonData.lelang_kjpp = document.querySelector('input[name="lelang_kjpp"]')?.value.trim() || "";
|
||||
|
||||
// Ambil nilai lainnya
|
||||
jsonData.nilai_pasar_kjpp = cleanCurrencyValue(document.querySelector('input[name="nilai_pasar_kjpp"]')?.value.trim() ||
|
||||
"");
|
||||
jsonData.persentase_likuidasi_kjpp = cleanCurrencyValue(document.querySelector('input[name="persentase_likuidasi_kjpp"]')?.value
|
||||
.trim() || "");
|
||||
jsonData.hasil_nilai_likuidasi_kjpp = cleanCurrencyValue(document.querySelector('input[name="hasil_nilai_likuidasi_kjpp"]')
|
||||
?.value.trim() || "");
|
||||
|
||||
jsonData.lelang_internal = document.querySelector('input[name="lelang_internal"]')?.value.trim() || "";
|
||||
jsonData.nilai_pasar_internal = cleanCurrencyValue(document.querySelector('input[name="nilai_pasar_internal"]')?.value.trim() ||
|
||||
"");
|
||||
jsonData.persentase_likuidasi_internal = cleanCurrencyValue(document.querySelector('input[name="persentase_likuidasi_internal"]')?.value
|
||||
.trim() || "");
|
||||
jsonData.hasil_nilai_likuidasi_internal = cleanCurrencyValue(document.querySelector('input[name="hasil_nilai_likuidasi_internal"]')
|
||||
?.value.trim() || "");
|
||||
|
||||
return jsonData;
|
||||
}
|
||||
|
||||
function submitData() {
|
||||
showLoadingSwal('Mengirim data ke server...');
|
||||
const formElement = document.querySelector('form');
|
||||
// console.log('Form data entries:', Array.from(formData.entries()));
|
||||
const urlParams = new URLSearchParams(window.location.search);
|
||||
const permohonanId = {{ $permohonan->id }};
|
||||
const documentId = urlParams.get('documentId');
|
||||
|
||||
const faktaPositif = Array.from(document.querySelectorAll('[name="fakta_positif[]"]'))
|
||||
.map(textarea => textarea.value.trim())
|
||||
.filter(value => value !== '');
|
||||
|
||||
const faktaNegatif = Array.from(document.querySelectorAll('[name="fakta_negatif[]"]'))
|
||||
.map(textarea => textarea.value.trim())
|
||||
.filter(value => value !== '');
|
||||
const keterangan = Array.from(document.querySelectorAll('[name="keterangan[]"]'))
|
||||
.map(textarea => textarea.value.trim())
|
||||
.filter(value => value !== '');
|
||||
|
||||
const action = Array.from(document.querySelectorAll('input[name="action"]'))
|
||||
.map(input => input.value)
|
||||
.join(',') || "";
|
||||
const type = Array.from(document.querySelectorAll('input[name="type"]'))
|
||||
.map(input => input.value)
|
||||
.join(',') || "";
|
||||
const requestUrl =
|
||||
`{{ route('penilai.storeCallReport') }}?permohonan_id=${permohonanId}&dokument_id=${documentId}`;
|
||||
|
||||
|
||||
const jsonData = formatJson(formElement);
|
||||
$.ajax({
|
||||
url: requestUrl,
|
||||
type: 'POST',
|
||||
data: JSON.stringify({
|
||||
permohonan_id: permohonanId,
|
||||
dokument_id: documentId,
|
||||
|
||||
data: jsonData,
|
||||
fakta_positif: faktaPositif,
|
||||
fakta_negatif: faktaNegatif,
|
||||
action: action,
|
||||
type: type,
|
||||
keterangan: keterangan
|
||||
}),
|
||||
contentType: 'application/json',
|
||||
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.reload();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
Swal.fire({
|
||||
title: 'Error!',
|
||||
text: response.message || 'Terjadi kesalahan',
|
||||
icon: 'error',
|
||||
confirmButtonText: 'OK'
|
||||
});
|
||||
}
|
||||
console.log(response);
|
||||
},
|
||||
error: function(xhr, status, error) {
|
||||
|
||||
let errors = xhr.responseJSON?.errors;
|
||||
$('.alert').text('');
|
||||
if (errors) {
|
||||
$.each(errors, function(key, value) {
|
||||
$(`#error-${key}`).text(value[0]);
|
||||
toastrErrorBuild(value[0]);
|
||||
});
|
||||
// toastrErrorBuild(error);
|
||||
}
|
||||
hideLoadingSwal();
|
||||
console.log(errors);
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
<script>
|
||||
function calculateTotal(event) {
|
||||
const group = event.dataset.group;
|
||||
|
||||
// Ambil elemen-elemen terkait berdasarkan group
|
||||
const nilaiPasarInput = document.querySelector(`#nilai-pasar-${group}`);
|
||||
const nilaiLikuidasi = document.querySelector(`#likuidasi-${group}`);
|
||||
const totalLikuidasi = document.querySelector(`#total-likuidasi-${group}`);
|
||||
|
||||
const cleanNilaiPasar = cleanCurrencyValue(nilaiPasarInput.value);
|
||||
let cleanLikuidasi = cleanCurrencyValue(nilaiLikuidasi.value);
|
||||
|
||||
// Batasi likuidasi maksimal hingga 100
|
||||
cleanLikuidasi = Math.min(parseFloat(cleanLikuidasi) || 0, 100);
|
||||
|
||||
// Format nilai likuidasi dengan simbol %
|
||||
nilaiLikuidasi.value = cleanLikuidasi;
|
||||
|
||||
// Konversi ke angka untuk perhitungan
|
||||
const nilaiPasar = parseFloat(cleanNilaiPasar) || 0;
|
||||
const likuidasi = cleanLikuidasi / 100; // Konversi persentase ke desimal
|
||||
|
||||
// Hitung total likuidasi
|
||||
const totalNilaiLikuidasi = nilaiPasar * likuidasi;
|
||||
|
||||
// Tampilkan hasil dengan format yang benar
|
||||
totalLikuidasi.value = formatCurrency(totalNilaiLikuidasi.toString());
|
||||
}
|
||||
|
||||
|
||||
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);
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@include('lpj::surveyor.js.utils')
|
||||
@endpush
|
||||
141
resources/views/penilai/components/footer.blade.php
Normal file
141
resources/views/penilai/components/footer.blade.php
Normal file
@@ -0,0 +1,141 @@
|
||||
|
||||
<div class="page-break"></div>
|
||||
<div class="section">
|
||||
<table style="width: 100%; border-collapse: collapse; border: 1px solid #000;">
|
||||
<tr>
|
||||
<td style="width:20%; padding: 2px; border: 1px solid #000">Nama Debitur</td>
|
||||
<td style=" width: 1%; padding: 2px; border: 1px solid #000">:</td>
|
||||
<td style="padding: 2px; border: 1px solid #000">{{ $permohonan->debiture->name ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 2px; border: 1px solid #000">Nomor Laporan</td>
|
||||
<td style="padding: 2px; border: 1px solid #000">:</td>
|
||||
<td style="padding: 2px; border: 1px solid #000">{{ $nomorLaporan }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 2px; border: 1px solid #000">Tanggal Laporan</td>
|
||||
<td style="padding: 2px; border: 1px solid #000">:</td>
|
||||
<td style="padding: 2px; border: 1px solid #000">{{ formatTanggalIndonesia($tanggalLaporan) ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="border: 1px solid #000; text-align: center;">
|
||||
PETA DAN BLAD TATA RUANG
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div>
|
||||
@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) {
|
||||
// Check if value is a string (not an array) and file exists
|
||||
return isset($forminspeksi[$type]) &&
|
||||
is_string($forminspeksi[$type]) &&
|
||||
file_exists(storage_path('app/public/' . $forminspeksi[$type]));
|
||||
});
|
||||
@endphp
|
||||
|
||||
<table width="100%" border="0">
|
||||
@foreach ($validPhotoTypes as $type)
|
||||
@php
|
||||
$imagePath = $forminspeksi[$type] ?? null;
|
||||
@endphp
|
||||
@if ($imagePath && file_exists(storage_path('app/public/' . $imagePath)))
|
||||
<tr>
|
||||
<td style="width: 100%; vertical-align: top; text-align: center" class="photo-item border">
|
||||
<p style="margin: 0; font-size: 10px; text-align: center;">
|
||||
{{ $customLabels[$type] ?? '' }}
|
||||
</p>
|
||||
<img src="{{ storage_path('app/public/' . $imagePath) }}" alt="{{ $imagePath }}"
|
||||
style="max-height: 400px; height: auto; max-width: 100%;">
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@endforeach
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="page-break"></div>
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="border: 1px solid #000; text-align: center;">
|
||||
FOTO JAMINAN
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@include('lpj::penilai.components.foto-jaminan')
|
||||
</div>
|
||||
</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>
|
||||
<script>
|
||||
const datas = @json($forminspeksi);
|
||||
console.log(datas);
|
||||
const lpjData = @json($lpjData);
|
||||
console.log(lpjData);
|
||||
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
const checkboxes = document.querySelectorAll('.checkbox-lainnya');
|
||||
|
||||
checkboxes.forEach(checkbox => {
|
||||
checkbox.addEventListener('change', function() {
|
||||
const textLainnya = this.closest('label').querySelector('.text-lainnya');
|
||||
|
||||
if (this.checked && this.value === 'Lainnya') {
|
||||
textLainnya.style.display = 'inline';
|
||||
} else if (this.value === 'Lainnya') {
|
||||
textLainnya.style.display = 'none';
|
||||
}
|
||||
});
|
||||
|
||||
// Atur visibilitas awal
|
||||
if (checkbox.checked && checkbox.value === 'Lainnya') {
|
||||
const textLainnya = checkbox.closest('label').querySelector('.text-lainnya');
|
||||
textLainnya.style.display = 'inline';
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
169
resources/views/penilai/components/foto-jaminan.blade.php
Normal file
169
resources/views/penilai/components/foto-jaminan.blade.php
Normal file
@@ -0,0 +1,169 @@
|
||||
<style>
|
||||
/* General Styles */
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.photo-container {
|
||||
width: 100%;
|
||||
margin-bottom: 10px;
|
||||
clear: both;
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
|
||||
.photo-row {
|
||||
width: 100%;
|
||||
clear: both;
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
|
||||
.photo-item {
|
||||
|
||||
box-sizing: border-box;
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
|
||||
.photo-item:nth-child(2n) {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
/* Image Styling */
|
||||
.photo-item img {
|
||||
width: auto;
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
max-height: 400px;
|
||||
object-fit: contain;
|
||||
background-color: #f0f0f0;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
/* Clearfix */
|
||||
.clearfix::after {
|
||||
content: "";
|
||||
clear: both;
|
||||
display: table;
|
||||
}
|
||||
|
||||
/* Media Print */
|
||||
@media print {
|
||||
table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
td {
|
||||
vertical-align: top;
|
||||
text-align: center;
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
|
||||
.photo-image {
|
||||
height: 400px;
|
||||
max-height: 400px;
|
||||
}
|
||||
|
||||
.page-break {
|
||||
page-break-after: always;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@isset($basicData['foto'])
|
||||
@php
|
||||
$photos = $formFoto['upload_foto'] ?? [];
|
||||
if (!is_array($photos)) {
|
||||
$photos = [];
|
||||
}
|
||||
$groupedPhotos = collect($photos)->groupBy('category');
|
||||
|
||||
$mainPhotos = $groupedPhotos->filter(fn($_, $key) => strtolower($key) !== 'lainnya');
|
||||
$otherPhotos = $groupedPhotos->get('lainnya', collect());
|
||||
@endphp
|
||||
|
||||
@if ($groupedPhotos->isEmpty())
|
||||
<p class="text-gray-500">Tidak ada foto yang tersedia.</p>
|
||||
@else
|
||||
@foreach ($mainPhotos as $category => $photos)
|
||||
@php
|
||||
$groupedBySubcategory = $photos->groupBy('sub');
|
||||
@endphp
|
||||
|
||||
@foreach ($groupedBySubcategory as $subcategory => $subPhotos)
|
||||
@if (count($subPhotos) > 0)
|
||||
@foreach ($subPhotos->chunk(2) as $chunkedPhotos)
|
||||
<table width="100%" border="0"
|
||||
style="align-content: center; text-align: center; margin-bottom: 20px">
|
||||
@foreach ($chunkedPhotos as $item)
|
||||
@php
|
||||
$imagePath = storage_path('app/public/' . $item['path']);
|
||||
@endphp
|
||||
<tr>
|
||||
<td style="width: 100%; padding: 10px;" class="photo-item border">
|
||||
<p style="font-weight: medium; font-size: 10px">{{ $category }} -
|
||||
@isset($subcategory)
|
||||
@if (trim($subcategory) !== '')
|
||||
{{ $subcategory }} -
|
||||
@endif
|
||||
@endisset
|
||||
{{ $item['name'] ?? '' }}
|
||||
</p>
|
||||
@if ($statusLpj || file_exists($imagePath))
|
||||
<img src="{{ $imagePath }}" alt="{{ $item['path'] }}" class="photo-image">
|
||||
@endif
|
||||
@isset($item['description'])
|
||||
<p style="font-size:9px">{{ $item['description'] }}</p>
|
||||
@endisset
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@if (count($chunkedPhotos) < 2)
|
||||
<tr style="width: 100%;"></tr>
|
||||
@endif
|
||||
</table>
|
||||
<div class="page-break"></div>
|
||||
@endforeach
|
||||
@endif
|
||||
@endforeach
|
||||
@endforeach
|
||||
|
||||
@if (!$otherPhotos->isEmpty())
|
||||
@foreach ($otherPhotos->groupBy('sub') as $subcategory => $subPhotos)
|
||||
@if (count($subPhotos) > 0)
|
||||
@foreach ($subPhotos->chunk(2) as $chunkedPhotos)
|
||||
<table width="100%" border="0"
|
||||
style="align-content: center; text-align: center; margin-bottom: 20px">
|
||||
@foreach ($chunkedPhotos as $item)
|
||||
@php
|
||||
$imagePath = storage_path('app/public/' . $item['path']);
|
||||
@endphp
|
||||
<tr>
|
||||
<td style="width: 100%; padding: 10px;" class="photo-item border">
|
||||
<p style="font-weight: medium; font-size: 10px">Lainnya -
|
||||
@isset($subcategory)
|
||||
@if (trim($subcategory) !== '')
|
||||
{{ $subcategory }} -
|
||||
@endif
|
||||
@endisset
|
||||
{{ $item['name'] ?? '' }}
|
||||
</p>
|
||||
@if ($statusLpj || file_exists($imagePath))
|
||||
<img src="{{ $imagePath }}" alt="{{ $item['path'] }}" class="photo-image">
|
||||
@endif
|
||||
@isset($item['description'])
|
||||
<p style="font-size:9px">{{ $item['description'] }}</p>
|
||||
@endisset
|
||||
</td>
|
||||
@endforeach
|
||||
</tr>
|
||||
@if (count($chunkedPhotos) < 2)
|
||||
<tr style="width: 100%;"></tr>
|
||||
@endif
|
||||
</table>
|
||||
@endforeach
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
@endif
|
||||
@endisset
|
||||
168
resources/views/penilai/components/foto-lampiran.blade.php
Normal file
168
resources/views/penilai/components/foto-lampiran.blade.php
Normal file
@@ -0,0 +1,168 @@
|
||||
@isset($basicData['foto'])
|
||||
@php
|
||||
$photos = $formFoto['upload_foto'] ?? [];
|
||||
if (!is_array($photos)) {
|
||||
$photos = [];
|
||||
}
|
||||
$groupedPhotos = collect($photos)->groupBy('category');
|
||||
@endphp
|
||||
|
||||
@if ($groupedPhotos->isEmpty())
|
||||
<p class="text-gray-500">Tidak ada foto yang tersedia.</p>
|
||||
@else
|
||||
@foreach ($groupedPhotos as $category => $photos)
|
||||
<div class="mt-5">
|
||||
<h2 class="text-gray-800 font-bold text-xl mb-3">{{ $category ?? 'Tanpa Kategori' }}</h2>
|
||||
<div class="card border rounded-lg shadow-lg p-4">
|
||||
<!-- Carousel Container -->
|
||||
<div class="relative w-full overflow-hidden">
|
||||
<div class="flex transition-transform duration-500 ease-in-out" id="carousel-{{ $category }}">
|
||||
<span class="absolute top-0 right-2 text-white">
|
||||
<i class="ki-filled ki-maximize"></i>
|
||||
</span>
|
||||
@foreach ($photos as $index => $item)
|
||||
<div class="min-w-full flex flex-col items-center hover:cursor-pointer"
|
||||
onclick="openPreview('{{ asset('storage/' . $item['path']) }}', '{{ $item['name'] }}', '{{ $item['description'] }}')">
|
||||
|
||||
<div class="w-full overflow-hidden rounded-md" style="height: 500px;">
|
||||
@if (isset($item['path']))
|
||||
<img src="{{ asset('storage/' . $item['path']) }}"
|
||||
alt="Gambar {{ $index + 1 }}" class="w-full h-full object-cover">
|
||||
@else
|
||||
<p class="text-gray-500">Gambar tidak tersedia</p>
|
||||
@endif
|
||||
</div>
|
||||
<h3 class="text-gray-600 font-semibold text-lg mt-3">
|
||||
{{ $item['name'] ?? 'Foto - ' . ($index + 1) }}
|
||||
</h3>
|
||||
<p class="text-gray-500 text-sm mt-1">{{ $item['description'] ?? '-' }}</p>
|
||||
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
|
||||
<!-- Navigation Buttons -->
|
||||
<button
|
||||
class="absolute top-1/2 left-0 transform -translate-y-1/2 bg-gray-800 text-white rounded-full p-2 focus:outline-none"
|
||||
onclick="prevSlide('{{ $category }}')">
|
||||
<i class="ki-outline ki-left-square"></i>
|
||||
</button>
|
||||
<button
|
||||
class="absolute top-1/2 right-0 transform -translate-y-1/2 bg-gray-800 text-white rounded-full p-2 focus:outline-none"
|
||||
onclick="nextSlide('{{ $category }}')">
|
||||
<i class="ki-outline ki-right-square"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
@endisset
|
||||
|
||||
<script>
|
||||
let currentIndex = {};
|
||||
|
||||
function nextSlide(category) {
|
||||
if (!currentIndex[category]) currentIndex[category] = 0;
|
||||
|
||||
const carousel = document.getElementById(`carousel-${category}`);
|
||||
const totalSlides = carousel.children.length;
|
||||
|
||||
currentIndex[category] = (currentIndex[category] + 1) % totalSlides;
|
||||
carousel.style.transform = `translateX(-${currentIndex[category] * 100}%)`;
|
||||
}
|
||||
|
||||
function prevSlide(category) {
|
||||
if (!currentIndex[category]) currentIndex[category] = 0;
|
||||
|
||||
const carousel = document.getElementById(`carousel-${category}`);
|
||||
const totalSlides = carousel.children.length;
|
||||
|
||||
currentIndex[category] = (currentIndex[category] - 1 + totalSlides) % totalSlides;
|
||||
carousel.style.transform = `translateX(-${currentIndex[category] * 100}%)`;
|
||||
}
|
||||
|
||||
function openPreview(imagePath, name, description) {
|
||||
const previewModal = document.createElement('div');
|
||||
previewModal.className = 'fixed inset-0 bg-black bg-opacity-75 flex items-center justify-center z-50';
|
||||
previewModal.innerHTML = `
|
||||
<div class="relative">
|
||||
<h3 class="text-white font-semibold text-lg mt-3 text-center">${name}</h3>
|
||||
<img src="${imagePath}" class="max-w-full max-h-screen object-contain">
|
||||
<button class="absolute top-2 right-2 bg-red-500 text-white rounded-full p-2"
|
||||
onclick="closePreview(this)">×</button>
|
||||
|
||||
<p class="text-white text-sm mt-1">${description}</p>
|
||||
</div>
|
||||
`;
|
||||
document.body.appendChild(previewModal);
|
||||
}
|
||||
|
||||
|
||||
function closePreview(button) {
|
||||
const modal = button.closest('div.fixed');
|
||||
if (modal) {
|
||||
modal.remove();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
@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' => 'Tempat',
|
||||
];
|
||||
|
||||
if (($key = array_search('upload_gs', $fotoTypes)) !== false) {
|
||||
unset($fotoTypes[$key]);
|
||||
array_unshift($fotoTypes, 'upload_gs');
|
||||
}
|
||||
$adaFoto = false;
|
||||
if (isset($forminspeksi)) {
|
||||
foreach ($fotoTypes as $type) {
|
||||
$imagePath = $forminspeksi[$type] ?? null;
|
||||
if ($imagePath && file_exists(storage_path('app/public/' . $imagePath))) {
|
||||
$adaFoto = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@endphp
|
||||
|
||||
@if ($adaFoto)
|
||||
<div class="card">
|
||||
<div class="card-header bg-agi-50" id="basic_settings">
|
||||
<h3 class="card-title uppercase">
|
||||
GS, Tata Ruang dan Peta
|
||||
</h3>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div>
|
||||
@if (isset($forminspeksi))
|
||||
@forelse ($fotoTypes as $type)
|
||||
<div class="border photo-item">
|
||||
@php
|
||||
$imagePath = $forminspeksi[$type] ?? null;
|
||||
@endphp
|
||||
|
||||
@if ($imagePath && file_exists(storage_path('app/public/' . $imagePath)))
|
||||
<img src="{{ asset('storage/' . $imagePath) }}" alt="{{ $type }}"
|
||||
class="w-full h-auto object-cover">
|
||||
@endif
|
||||
<p class="mt-2 text-sm">{{ $customLabels[$type] ?? '' }}</p>
|
||||
</div>
|
||||
@empty
|
||||
<p>Tidak ada tipe foto yang tersedia</p>
|
||||
@endforelse
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
150
resources/views/penilai/components/header.blade.php
Normal file
150
resources/views/penilai/components/header.blade.php
Normal file
@@ -0,0 +1,150 @@
|
||||
<!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>Laporan Penilai Jaminan</title>
|
||||
|
||||
<style>
|
||||
* {
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
/** 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: 12px;
|
||||
}
|
||||
|
||||
.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;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
@php
|
||||
$data = '';
|
||||
foreach ($permohonan->documents as $dokumen) {
|
||||
$data .= $dokumen->jenisJaminan->name . ', ';
|
||||
|
||||
$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;
|
||||
$penilaiUser = User::where('id', $penilai->userPenilaiTeam->id)->first();
|
||||
|
||||
$data = rtrim($data, ', ');
|
||||
@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;">
|
||||
<p style="margin: 0; padding:0; font-size:10px;">
|
||||
Tanggal: {{ \Carbon\Carbon::parse(date('Y-m-d'))->format('d-m-Y') }}
|
||||
</p>
|
||||
<p style="margin: 0; padding:0; font-size:10px;">
|
||||
Waktu: {{ \Carbon\Carbon::parse(date('H:i:s'))->format('H:i:s') }}
|
||||
</p>
|
||||
<p style="margin: 0; padding:0; font-size:10px;">User: {{ Auth::user()->name }}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</header>
|
||||
@@ -0,0 +1,116 @@
|
||||
<div class="card-body grid gap-5">
|
||||
|
||||
@php
|
||||
$informasiPembanding = isset($inspeksi->data_pembanding) ? json_decode($inspeksi->data_pembanding, true) : [];
|
||||
@endphp
|
||||
|
||||
@if (isset($informasiPembanding['data_pembanding']))
|
||||
@foreach ($informasiPembanding['data_pembanding'] as $key => $item)
|
||||
<div class="border border-gray-200">
|
||||
<label class="px-5 py-5 form-label uppercase">Pembanding {{ $key + 1 }}
|
||||
</label>
|
||||
<div class="flex grid-col-md-2 gap-5 px-5">
|
||||
<div class="grid gap-2.5">
|
||||
<div class="image-container">
|
||||
<img
|
||||
src="{{ isset($item['foto_objek']) ? asset('storage/' . old('foto_objek', $item['foto_objek'])) : '#' }}"
|
||||
alt="Gambar foto_objek"
|
||||
class="responsive-image"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="grid gap-2.5 w-full">
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Jenis Properti</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<span>{{ $item['jenis_aset'] ?? '' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Alamat Lokasi</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<span>{{ $item['address'] ?? '' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Status Hak Tanah</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<span>{{ $item['hak_properti'] ?? '' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Harga Penawaran</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<span>{{ isset($item['harga']) ? formatRupiah($item['harga']) : '' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Indikasi Harga Transaksi</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<span>{{ isset($item['total']) ? formatRupiah($item['total']) : '' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Penjual (HP)</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<span>{{ $item['telepon'] ?? '' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Tanggal Data</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<span>{{ isset($item['tanggal']) ? formatTanggalIndonesia($item['tanggal']) : '' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">LT</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<span>{{ $item['luas_tanah'] ?? '' }} </span>
|
||||
<sup> m2</sup>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">LB</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<span>{{ $item['luas_bangunan'] ?? '' }} </span>
|
||||
<sup> m2</sup>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Titik Koordinat</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<span>{{ $item['kordinat_lat'] ?? '' }} , {{ $item['kordinat_lng'] ?? '' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
|
||||
|
||||
<style>
|
||||
|
||||
.image-container {
|
||||
max-width: 20rem;
|
||||
max-height: 15rem;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.responsive-image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: contain;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
@extends('layouts.main')
|
||||
|
||||
@section('breadcrumbs')
|
||||
{{ Breadcrumbs::render(request()->route()->getName()) }}
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<style>
|
||||
.list-decimal {
|
||||
list-style-type: decimal;
|
||||
margin: 0;
|
||||
padding-left: 1.25rem;
|
||||
line-height: 1.6;
|
||||
font-family: Arial, sans-serif;
|
||||
font-size: 16px;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.list-decimal li {
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
</style>
|
||||
@include('lpj::assetsku.includenya')
|
||||
<form id="form-lpj" method="post" class="w-full grid gap-5">
|
||||
<input type="hidden" name="permohonan_id" value="{{ $permohonan->id }}">
|
||||
<input type="hidden" name="dokument_id" value="{{ request('documentId') }}">
|
||||
<input type="hidden" name="nomor_registrasi" value="{{ $permohonan->nomor_registrasi }}">
|
||||
<input type="hidden" id="lpj-data" value="{{ json_encode($lpjData ?? []) }}" />
|
||||
@include('lpj::component.form-penilai')
|
||||
<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 ">DISCLAIMER
|
||||
</label>
|
||||
<div class="input-group w-full flex gap-2">
|
||||
<ol class="list-decimal pl-5 space-y-2">
|
||||
<li>PENILAIAN INI DIBUAT BERDASARKAN ATURAN YANG BERLAKU DI SUBDIT APPRAISAL</li>
|
||||
<li>LAPORAN INI DIBUAT BERDASARKAN DATA FOTOCOPY DOKUMEN YANG DITERIMA PENILAI DENGAN ASUMSI BAHWA DATA
|
||||
TERSEBUT SESUAI DENGAN DOKUMEN ASLINYA</li>
|
||||
<li>PENILAI TIDAK MELAKUKAN PEMBUKTIAN LEBIH RINCI ATAU PENGAKUAN TERTULIS DARI PIHAK YANG DITEMUI SAAT
|
||||
PENILAIAN, ATAS INFORMASI YANG DIBERIKAN SECARA LISAN SEHUBUNGAN DENGAN IDENTITAS DIRI DAN HUBUNGAN
|
||||
DI ANTARA PIHAK TERKAIT SAAT MELAKUKAN INSPEKSI OBJEK YANG DINILAI</li>
|
||||
<li>LAPORAN INI DIGUNAKAN HANYA UNTUK KEPENTINGAN INTERNAL DAN DILARANG MENYEBARKAN KEPADA PIHAK KETIGA
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex card-footer justify-end gap-5">
|
||||
@if (Auth::user()->hasAnyRole(['senior-officer', 'surveyor', 'administrator']))
|
||||
<button type="button" class="btn btn-primary" id="saveButton" onclick="saveLpjSederhanadanStandard()" {{ $permohonan->status == 'proses-paparan' || $permohonan->status == 'proses-laporan' && Auth::user()->hasAnyRole(['surveyor']) ? 'disabled' : '' }}>
|
||||
<i class="ki-filled ki-save-2"></i>
|
||||
<span id="saveButtonText">Simpan</span>
|
||||
</button>
|
||||
@endif
|
||||
@if (Auth::user()->hasAnyRole(['senior-officer', 'EO Appraisal', 'DD Appraisal', 'administrator']))
|
||||
<a class="btn btn-info"
|
||||
href="{{ route('penilai.lampiran') }}?permohonanId={{ $permohonan->id }}&documentId={{ request('documentId') }}&jaminanId={{ request('jaminanId') }}&statusLpj=1">
|
||||
Lampiran Foto dan Dokumen
|
||||
</a>
|
||||
<a href="{{ route('surveyor.print_out_inspeksi', ['permohonan_id' => $permohonan->id, 'dokument_id' => request('documentId'), 'jenis_jaminan_id' => request('jaminanId')]) }}" class="btn btn-light"
|
||||
>
|
||||
<i class="ki-filled ki-printer"></i> Cetak Hasil Inspeksi
|
||||
</a>
|
||||
<a class="btn btn-success"
|
||||
onclick="checkLaporan('{{ $permohonan->id }}', '{{ request('documentId') }}', {{ request('jaminanId') }}, )">
|
||||
<i class="ki-filled ki-printer"></i> Cetak Laporan
|
||||
</a>
|
||||
@endif
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
||||
|
||||
@include('lpj::surveyor.js.utils')
|
||||
548
resources/views/penilai/components/memo.blade.php
Normal file
548
resources/views/penilai/components/memo.blade.php
Normal file
@@ -0,0 +1,548 @@
|
||||
@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="form-memo" method="POST" class="w-full grid gap-5">
|
||||
<div class="card">
|
||||
<div class="card-header bg-agi-50">
|
||||
<h3 class="card-title uppercase">
|
||||
Memo Antar Kantor
|
||||
</h3>
|
||||
<div class="flex items-center gap-2">
|
||||
@php
|
||||
use Illuminate\Support\Facades\Route;
|
||||
@endphp
|
||||
@if (Auth::user()->hasAnyRole(['administrator', 'senior-officer', 'EO Appraisal', 'DD Appraisal']) &&
|
||||
Route::currentRouteName('otorisator.show'))
|
||||
<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']) && Route::currentRouteName('penilai.show'))
|
||||
<a href="{{ route('penilai.show', $permohonan->id) }}" class="btn btn-xs btn-info">
|
||||
<i class="ki-filled ki-exit-left"></i> Back
|
||||
</a>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body grid gap-5">
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Kepada</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="kepada" class="input w-full" placeholder="Masukkan..."
|
||||
value=" {{ $memo->kepada ?? '' }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Dari</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="dari" class="input w-full" placeholder="Masukkan..."
|
||||
value="{{ $memo->dari ?? '' }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Nomor Memo</label>
|
||||
<div class="flex flex-wrap items-base line w-full">
|
||||
<input type="text" name="nomor_memo" class="input w-full" placeholder="Masukkan..."
|
||||
value="{{ $nomorLaporan ?? '' }}" @readonly(true)>
|
||||
</div>
|
||||
</div>
|
||||
{{-- 250109828129/ --}}
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Tanggal</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="date" name="tanggal" class="input w-full" placeholder="Masukkan..."
|
||||
value="{{ $memo->tanggal ?? '' }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Perihal</label>
|
||||
<div class="flex flex-wrap items-base line w-full">
|
||||
<input type="text" name="perihal" class="input w-full" placeholder="Masukkan..."
|
||||
value="{{ $memo->perihal ?? '' }}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card border border-agi-100 w-full bg-white rounded-lg shadow-md ">
|
||||
<div class="card-header bg-agi-50">
|
||||
<h1 class="text-md font-medium text-gray-900 uppercase">Sehubungan dengan permintaan BAGI Cabang
|
||||
<b>{{ $permohonan->branch->name }}</b>, untuk dilakukan survey untuk penilaian baru/review, calon
|
||||
debitur/debitur an
|
||||
<b>{{ $permohonan->debiture->name }}</b>,dengan deskripsi sebagai berikut :
|
||||
</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 class="flex flex-wrap items-baseline w-full">
|
||||
|
||||
<select id="jenis_asset_tidak_sesuai" class="input w-full" name="jenis_asset_tidak_sesuai">
|
||||
<option value="">Select Jenis asset</option>
|
||||
@foreach ($basicData['jenisJaminan'] as $item)
|
||||
<option value="{{ $item->name }}"
|
||||
{{ ($memo->jenis_asset_tidak_sesuai ?? '') == $item->name ? 'selected' : '' }}>
|
||||
{{ $item->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<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="lokasi" class="form-label max-w-56">Lokasi</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" id="lokasi" name="lokasi" class="input w-full"
|
||||
placeholder="Masukkan Jl."
|
||||
value="{{ $memo->lokasi->lokasi ?? old('lokasi') }}">
|
||||
</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">
|
||||
<option value="">Pilih Provinsi</option>
|
||||
@foreach ($provinces as $item)
|
||||
<option value="{{ $item->code }}"
|
||||
{{ ($memo->lokasi->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">
|
||||
<option value="">Pilih Kota/Kabupaten</option>
|
||||
@if (isset($cities))
|
||||
@foreach ($cities as $item)
|
||||
<option value="{{ $item->code }}"
|
||||
{{ ($memo->lokasi->city_code ?? '') == $item->code ? 'selected' : '' }}>
|
||||
{{ $item->name }}</option>
|
||||
@endforeach
|
||||
@endif
|
||||
</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">
|
||||
<option value="">Pilih Kecamatan</option>
|
||||
@if (isset($districts))
|
||||
@foreach ($districts as $item)
|
||||
<option value="{{ $item->code }}"
|
||||
{{ ($memo->lokasi->district_code ?? '') == $item->code ? 'selected' : '' }}>
|
||||
{{ $item->name }}</option>
|
||||
@endforeach
|
||||
@endif
|
||||
</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>
|
||||
@if (isset($villages))
|
||||
@foreach ($villages as $item)
|
||||
<option value="{{ $item->code }}"
|
||||
{{ ($memo->lokasi->village_code ?? '') == $item->code ? 'selected' : '' }}>
|
||||
{{ $item->name }}</option>
|
||||
@endforeach
|
||||
@endif
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
|
||||
<label for="address" class="form-label max-w-56">Address</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="{{ $memo->lokasi->address ?? old('address') }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
|
||||
<label for="tanggal_survey" class="form-label max-w-56">Tanggal Survey</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="date-time" id="tanggal_survey" name="tanggal_survey"
|
||||
class="input w-full" placeholder="Masukkan Tanggal Survey"
|
||||
value="{{ $permohonan->penilaian->updated_at ?? old('tanggal_survey') }}"
|
||||
@readonly(true)>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
|
||||
<label for="penilai" class="form-label max-w-56">Penilai</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" id="penilai" name="penilai" class="input w-full"
|
||||
placeholder="Masukkan Penilai"
|
||||
value="{{ $memo->lokasi->penilai ?? old('penilai') }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header bg-agi-50">
|
||||
<h3 class="card-title uppercase">
|
||||
Dokumen
|
||||
</h3>
|
||||
</div>
|
||||
<div class="card-body grid gap-5">
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Terlampir</label>
|
||||
<div id="fakta-positif-container" class="flex flex-wrap items-baseline w-full">
|
||||
|
||||
<div class="terlampir flex items-center gap-2 mt-2 textarea-group w-full">
|
||||
<textarea class="textarea mt-2" name="terlampir[]" rows="3">{{ $memo->terlampir[0] ?? old('terlampir', '') }}</textarea>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Berdasarkan hasil survey dapat disampaikan sbb:</label>
|
||||
<div id="hasil_survey" class="flex flex-wrap items-baseline w-full">
|
||||
@if (!empty($memo->hasil_survey))
|
||||
@foreach ($memo->hasil_survey as $index => $positif)
|
||||
<div class="hasil_survey flex items-center gap-2 mt-2 textarea-group w-full">
|
||||
<textarea class="textarea mt-2" name="hasil_survey[]" rows="3">{{ old("hasil_survey.$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="hasil_survey flex items-center gap-2 mt-2 textarea-group w-full">
|
||||
<textarea class="textarea mt-2" name="hasil_survey[]" rows="3">{{ old('hasil_survey.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('hasil_survey', 'hasil_survey')">
|
||||
<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 dan saran</label>
|
||||
<div id="fakta-negatif-container" class="flex flex-wrap items-baseline w-full">
|
||||
@if (!empty($memo->kesimpulan_saran))
|
||||
@foreach ($memo->kesimpulan_saran as $index => $negatif)
|
||||
<div class="fakta_negatif flex items-center gap-2 mt-2 textarea-group w-full">
|
||||
<textarea class="textarea mt-2" name="kesimpulan_saran[]" rows="3">{{ old("kesimpulan_saran.$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_saran flex items-center gap-2 mt-2 textarea-group w-full">
|
||||
<textarea class="textarea mt-2" name="kesimpulan_saran[]" rows="3">{{ old('kesimpulan_saran.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_saran" 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', 'kesimpulan_saran')">
|
||||
<i class="ki-outline ki-plus"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card border border-agi-100 rounded-lg shadow-md">
|
||||
<div class="card-body">
|
||||
<div class=" py-4 flex items-center justify-between">
|
||||
<h1 class="text-md font-medium text-gray-900">Upload Foto</h1>
|
||||
</div>
|
||||
|
||||
<div class="dropzone" id="dropzone-upload">
|
||||
<div class="dz-message needsclick" data-foto-type="upload_foto">
|
||||
<i class="ki-duotone ki-file-up text-primary text-3xl"><span class="path1"></span><span
|
||||
class="path2"></span></i>
|
||||
<div class="ms-4">
|
||||
<h3 class="fs-5 fw-bold text-gray-900 mb-1">Drop files here or click to upload.</h3>
|
||||
<span class="fs-7 fw-semibold text-gray-500">Upload up to 10 files</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
<div id="existing-photos" class="flex gap-5"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{-- @include('lpj::penilai.components.foto-lampiran') --}}
|
||||
|
||||
<div class="flex card-footer justify-end gap-5">
|
||||
@if (Auth::user()->hasAnyRole(['senior-officer', 'surveyor', 'administrator']))
|
||||
<a class="btn btn-primary" onclick="saveMemo()"
|
||||
{{ $permohonan->status == 'proses-paparan' || ($permohonan->status == 'proses-laporan' && Auth::user()->hasAnyRole(['surveyor'])) ? 'disabled' : '' }}>
|
||||
<i class="ki-filled ki-save-2"></i>
|
||||
Simpan
|
||||
</a>
|
||||
@endif
|
||||
@if (Auth::user()->hasAnyRole(['administrator', 'senior-officer', 'EO Appraisal', 'DD Appraisal']))
|
||||
<a class="btn btn-info"
|
||||
href="{{ route('penilai.lampiran') }}?permohonanId={{ request('permohonanId') }}&documentId={{ request('documentId') }}&jaminanId={{ request('jaminanId') }}&statusLpj=1">
|
||||
Lampiran Foto dan Dokumen
|
||||
</a>
|
||||
<a href="{{ route('surveyor.print_out_inspeksi', ['permohonan_id' => $permohonan->id, 'dokument_id' => request('documentId'), 'jenis_jaminan_id' => request('jaminanId')]) }}"
|
||||
class="btn btn-light">
|
||||
<i class="ki-filled ki-printer"></i> Hasil Inspeksi
|
||||
</a>
|
||||
<a class="btn btn-success"
|
||||
onclick="checkLaporan('{{ $permohonan->id }}', '{{ request('documentId') }}', {{ request('jaminanId') }}, )">
|
||||
<i class="ki-filled ki-printer"></i> Cetak Laporan
|
||||
</a>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
@endsection
|
||||
@include('lpj::surveyor.js.utils')
|
||||
@push('scripts')
|
||||
<script>
|
||||
Dropzone.autoDiscover = false;
|
||||
let myDropzone;
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
myDropzone = new Dropzone("#dropzone-upload", {
|
||||
url: "{{ route('penilai.uploadTempPhoto') }}?permohonan_id={{ $permohonan->id }}&dokument_id={{ request('documentId') }}", // Temporary upload route
|
||||
paramName: "file",
|
||||
maxFilesize: 5, // MB
|
||||
acceptedFiles: "image/*",
|
||||
uploadMultiple: false,
|
||||
parallelUploads: 1,
|
||||
autoProcessQueue: true,
|
||||
headers: {
|
||||
'X-CSRF-TOKEN': '{{ csrf_token() }}'
|
||||
},
|
||||
init: function() {
|
||||
this.on("success", function(file, response) {
|
||||
file.serverId = response.id; // Store the server's file ID
|
||||
});
|
||||
|
||||
// Load existing photos
|
||||
loadExistingPhotos();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function loadExistingPhotos() {
|
||||
const existingPhotosContainer = document.getElementById('existing-photos');
|
||||
if (!existingPhotosContainer) return;
|
||||
|
||||
@if (isset($memo) && isset($memo->foto))
|
||||
let existingPhotos;
|
||||
try {
|
||||
existingPhotos = @json($memo->foto);
|
||||
} catch (e) {
|
||||
console.error('Error parsing existing photos:', e);
|
||||
return;
|
||||
}
|
||||
|
||||
if (Array.isArray(existingPhotos)) {
|
||||
const BASE_URL = "{{ asset('storage/') }}";
|
||||
existingPhotos.forEach(function(photoPath) {
|
||||
if (typeof photoPath === 'string') {
|
||||
const photoDiv = document.createElement('div');
|
||||
photoDiv.className = 'col-md-3 mb-3';
|
||||
|
||||
const img = document.createElement('img');
|
||||
img.src = BASE_URL + '/' + photoPath;
|
||||
img.className = 'img-fluid';
|
||||
img.style.maxHeight = '150px';
|
||||
const deleteButton = document.createElement('button');
|
||||
|
||||
deleteButton.className = 'btn btn-danger btn-sm mt-2';
|
||||
deleteButton.textContent = 'Hapus';
|
||||
deleteButton.type = 'button';
|
||||
deleteButton.onclick = function() {
|
||||
handleDeletePhoto(photoPath, photoDiv);
|
||||
};
|
||||
|
||||
photoDiv.appendChild(img);
|
||||
photoDiv.appendChild(deleteButton);
|
||||
existingPhotosContainer.appendChild(photoDiv);
|
||||
|
||||
if (myDropzone) {
|
||||
let mockFile = {
|
||||
name: photoPath.split('/').pop(),
|
||||
size: 12345
|
||||
};
|
||||
myDropzone.emit("addedfile", mockFile);
|
||||
myDropzone.emit("thumbnail", mockFile, photoPath);
|
||||
myDropzone.emit("complete", mockFile);
|
||||
mockFile.previewElement.classList.add("dz-success");
|
||||
mockFile.previewElement.classList.add("dz-complete");
|
||||
}
|
||||
}
|
||||
});
|
||||
} else {
|
||||
console.error('Existing photos is not an array:', existingPhotos);
|
||||
}
|
||||
@endif
|
||||
}
|
||||
|
||||
function handleDeletePhoto(photoPath, photoDiv) {
|
||||
const BASE_URL = "{{ asset('storage/') }}";
|
||||
Swal.fire({
|
||||
title: 'Hapus Foto?',
|
||||
text: "Foto ini akan dihapus secara permanen!",
|
||||
icon: 'warning',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
confirmButtonText: 'Ya, hapus!'
|
||||
}).then((result) => {
|
||||
if (result.isConfirmed) {
|
||||
$.ajax({
|
||||
url: "{{ route('penilai.deleteTempPhoto') }}",
|
||||
method: 'DELETE',
|
||||
data: {
|
||||
path: photoPath,
|
||||
permohonan_id: {{ $permohonan->id ?? 0 }},
|
||||
dokument_id: '{{ request('documentId') ?? '' }}',
|
||||
},
|
||||
headers: {
|
||||
'X-CSRF-TOKEN': '{{ csrf_token() }}'
|
||||
},
|
||||
success: function() {
|
||||
Swal.fire('Dihapus!', 'Foto berhasil dihapus.', 'success');
|
||||
photoDiv.remove();
|
||||
},
|
||||
error: function() {
|
||||
Swal.fire('Gagal!', 'Foto gagal dihapus.', 'error');
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
function saveMemo() {
|
||||
const form = document.getElementById('form-memo');
|
||||
const formData = new FormData(form);
|
||||
|
||||
const jsonData = {
|
||||
kepada: formData.get('kepada'),
|
||||
dari: formData.get('dari'),
|
||||
nomor_memo: formData.get('nomor_memo'),
|
||||
tanggal: formData.get('tanggal'),
|
||||
perihal: formData.get('perihal'),
|
||||
jenis_asset_tidak_sesuai: formData.get('jenis_asset_tidak_sesuai'),
|
||||
lokasi: {
|
||||
lokasi: formData.get('lokasi') || '',
|
||||
address: formData.get('address') || '',
|
||||
province_code: formData.get('province_code') || '',
|
||||
city_code: formData.get('city_code') || '',
|
||||
district_code: formData.get('district_code') || '',
|
||||
village_code: formData.get('village_code') || '',
|
||||
tanggal_survey: formData.get('tanggal_survey') || '',
|
||||
penilai: formData.get('penilai') || '',
|
||||
},
|
||||
terlampir: (formData.getAll('terlampir[]') || []),
|
||||
hasil_survey: (formData.getAll('hasil_survey[]') || []),
|
||||
kesimpulan_saran: (formData.getAll('kesimpulan_saran[]') || []),
|
||||
};
|
||||
|
||||
showLoadingSwal('Mengirim data ke server...');
|
||||
|
||||
const urlParams = new URLSearchParams(window.location.search);
|
||||
const permohonanId = urlParams.get('permohonanId');
|
||||
const documentId = urlParams.get('documentId');
|
||||
|
||||
// Create a new FormData object to send both JSON and files
|
||||
const sendFormData = new FormData();
|
||||
sendFormData.append('permohonan_id', permohonanId);
|
||||
sendFormData.append('document_id', documentId);
|
||||
sendFormData.append('memo', JSON.stringify(jsonData));
|
||||
|
||||
const requestUrl = `{{ route('penilai.storeMemoWithPhotos') }}`;
|
||||
|
||||
$.ajax({
|
||||
url: requestUrl,
|
||||
type: 'POST',
|
||||
data: sendFormData,
|
||||
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.reload();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
Swal.fire({
|
||||
title: 'Error!',
|
||||
text: response.message || 'Terjadi kesalahan',
|
||||
icon: 'error',
|
||||
confirmButtonText: 'OK'
|
||||
});
|
||||
}
|
||||
console.log(response);
|
||||
},
|
||||
error: function(xhr, status, error) {
|
||||
hideLoadingSwal();
|
||||
Swal.fire({
|
||||
title: 'Error!',
|
||||
text: 'Terjadi kesalahan saat mengirim data',
|
||||
icon: 'error',
|
||||
confirmButtonText: 'OK'
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
@endpush
|
||||
113
resources/views/penilai/components/paparan.blade.php
Normal file
113
resources/views/penilai/components/paparan.blade.php
Normal file
@@ -0,0 +1,113 @@
|
||||
@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">
|
||||
|
||||
@if (Auth::user()->hasAnyRole(['senior-officer', 'administrator','DD Appraisal']))
|
||||
@include('lpj::component.detail-jaminan', [
|
||||
'backLink' => 'otorisator.show',
|
||||
'id' => $permohonan->id,
|
||||
'type' => 'Paparan',
|
||||
])
|
||||
@else
|
||||
@include('lpj::component.detail-jaminan', [
|
||||
'backLink' => 'penilai.show',
|
||||
'id' => $permohonan->id,
|
||||
'title' => 'Paparan dokument',
|
||||
])
|
||||
@endif
|
||||
@include('lpj::penilai.components.foto-lampiran')
|
||||
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header bg-agi-50 uppercase">
|
||||
Kertas Kerja
|
||||
</div>
|
||||
<div class="card-body flex items-center justify-between">
|
||||
@php
|
||||
$url = '';
|
||||
$fileName = '';
|
||||
if ($penilai && $penilai->kertas_kerja) {
|
||||
$url = asset('storage/' . $penilai->kertas_kerja);
|
||||
$fileName = basename($penilai->kertas_kerja);
|
||||
}
|
||||
@endphp
|
||||
|
||||
@if ($penilai && $penilai->kertas_kerja)
|
||||
<button type="button" class="btn btn-primary" onclick="window.open('{{ $url }}', '_blank')">
|
||||
<i class="ki-outline ki-cloud-download"></i>
|
||||
Lihat Kertas Kerja</button>
|
||||
|
||||
<p class="text-2sm text-gray-700">{{ $fileName }}</p>
|
||||
@else
|
||||
<p class="text-2sm text-gray-700">Belum ada kertas kerja</p>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header bg-agi-50">
|
||||
<h3 class="card-title uppercase">
|
||||
Total Nilai Jaminan
|
||||
</h3>
|
||||
</div>
|
||||
<div class="card-body grid gap-2.5">
|
||||
|
||||
@php
|
||||
$labelNilai = [
|
||||
'bangunan' => 'Luas Bangunan',
|
||||
'tanah' => 'Luas Tanah',
|
||||
'apartement-kantor' => 'Luas Apartemen/Kantor',
|
||||
'alat-berat' => 'Luas Alat Berat',
|
||||
'mesin' => 'Luas Mesin',
|
||||
'kendaraan' => 'Luas Kendaraan',
|
||||
'pesawat' => 'Luas Pesawat',
|
||||
'kapal' => 'Luas Kapal',
|
||||
];
|
||||
|
||||
// if (strcasecmp($jenisAset, 'RUKO/RUKAN') === 0) {
|
||||
// $labelNilai['bangunan'] = 'Luas Unit';
|
||||
// unset($labelNilai['tanah']);
|
||||
// }
|
||||
@endphp
|
||||
@foreach ($labelNilai as $key => $label)
|
||||
@if (isset($lpjData['luas_' . $key]))
|
||||
<div class="flex grid-col-3 gap-2.5 w-full">
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
|
||||
<label for="province" class="form-label max-w-56">
|
||||
{{ $label }}
|
||||
</label>
|
||||
<label for="province" class="form-label max-w-56">
|
||||
{{ $lpjData['luas_' . $key] ?? '' }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
|
||||
<label for="province" class="form-label max-w-56">
|
||||
{{ $lpjData['nilai_' . $key . '_1'] ?? '' }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
|
||||
<label for="province" class="form-label max-w-56">
|
||||
{{ $lpjData['nilai_' . $key . '_2'] ?? '' }}
|
||||
</label>
|
||||
</div>
|
||||
@endif
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header bg-agi-50">
|
||||
<h3 class="card-title uppercase">
|
||||
Informasi dan pembanding
|
||||
</h3>
|
||||
</div>
|
||||
@include('lpj::penilai.components.informasi-pembanding')
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
305
resources/views/penilai/components/print-memo.blade.php
Normal file
305
resources/views/penilai/components/print-memo.blade.php
Normal file
@@ -0,0 +1,305 @@
|
||||
@include('lpj::penilai.components.header')
|
||||
@php
|
||||
$data = '';
|
||||
foreach ($permohonan->documents as $dokumen) {
|
||||
$data .= $dokumen->jenisJaminan->name . ', ';
|
||||
|
||||
$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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$data = rtrim($data, ', ');
|
||||
@endphp
|
||||
|
||||
|
||||
<main class="content">
|
||||
<table style="width: 100%">
|
||||
<tr>
|
||||
<td style="text-align: center; margin-top: 5px;">
|
||||
<h2 style="text-decoration: underline; text-transform: uppercase; text-align: center; margin: 0;">
|
||||
MEMO ANTAR KANTOR</h2>
|
||||
<p style="font-size: 12px; margin: 0;">NO: {{ $nomorLaporan ?? '' }}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr/>
|
||||
<table style="width: 100%">
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px;">Kepada</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">{{ $memo['kepada'] ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px;">Dari</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">{{ $memo['dari'] ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px;">Tanggal</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">{{ formatTanggalIndonesia($memo['tanggal']) }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px;">Perihal</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">{{ $memo['perihal'] ?? '' }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
Menindak lanjuti permintan penilaian jaminan dari {{ $permohonan->user->name }} AO Cabang
|
||||
{{ $permohonan->debiture->branch->name ?? '' }}
|
||||
tanggal {{ formatTanggalIndonesia($permohonan->created_at) ?? '' }}, dapat di sampaikan sebagai berikut:
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table style="margin: 5px 0; border-collapse: collapse; width: 100%;">
|
||||
<tr>
|
||||
<td style="">
|
||||
<h6 style="text-transform: uppercase; margin: 0; ">Data Debitur dan Jaminan</h2>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table style="width: 100%">
|
||||
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px;">Nama Calon Debitur</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">{{ $permohonan->debiture->name ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px;">Jenis Aset</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">{{ $data ?? '' }}</td>
|
||||
</tr>
|
||||
|
||||
@include('lpj::component.print-out-dokument')
|
||||
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px;">Atas Nama</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">{{ $permohonan->debiture->name ?? '' }}</td>
|
||||
</tr>
|
||||
|
||||
@if (!empty($memo['lokasi']['address']))
|
||||
@php
|
||||
$alamatFields = [
|
||||
'Terletak di' => 'address',
|
||||
'Desa/Kelurahan' => 'village_code',
|
||||
'Kecamatan' => 'district_code',
|
||||
'Kabupaten/Kota' => 'city_code',
|
||||
'Provinsi' => 'province_code'
|
||||
];
|
||||
@endphp
|
||||
|
||||
@foreach ($alamatFields as $label => $field)
|
||||
@if (!empty($alamat[$field]))
|
||||
<tr>
|
||||
<td width="25%">{{ $label }}</td>
|
||||
<td style="width: 1%; vertical-align: top;">:</td>
|
||||
<td>{{ $alamat[$field] }}</td>
|
||||
</tr>
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
<table style="margin: 5px 0; border-collapse: collapse; width: 100%;">
|
||||
<tr>
|
||||
<td style="">
|
||||
<h6 style="text-transform: uppercase; margin: 0; ">HASIL Kunjungan</h6>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table style="width: 100%">
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px;">Tanggal Kunjungan</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">
|
||||
{{ formatTanggalIndonesia($permohonan->penilaian->updated_at) }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px;">Surveyor</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">{{ $surveyor->userPenilaiTeam->name ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px;">Pihak Pemohon</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">{{ $permohonan->user->name ?? '' }} -
|
||||
{{ $permohonan->debiture->branch->name ?? '' }}</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px;">Pihak Cadeb/Debitur</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">{{ $permohonan->debiture->name ?? '' }}</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
<table>
|
||||
<tr>
|
||||
@isset($memo['hasil_survey'])
|
||||
@foreach ($memo['hasil_survey'] as $key => $item)
|
||||
<tr>
|
||||
<td>{{ $item }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endisset
|
||||
</tr>
|
||||
</table>
|
||||
<table style="margin: 5px 0; border-collapse: collapse; width: 100%;">
|
||||
<tr>
|
||||
<td style="">
|
||||
<h6 style="text-transform: uppercase; margin: 0; ">KESIMPULAN DAN SARAN</h6>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@isset($memo['kesimpulan_saran'])
|
||||
@foreach ($memo['kesimpulan_saran'] as $key => $item)
|
||||
<tr>
|
||||
<td> {{ $item }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endisset
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table style="width: 100%">
|
||||
<tr>
|
||||
<td>Demikian Kami Sampaikan, atas perhatiannya kami ucapkan terimakasih</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<table style="width: 100%; border-collapse: collapse; text-align: center;">
|
||||
@php
|
||||
use Modules\Usermanagement\Models\User;
|
||||
|
||||
$penilaiUser = User::where('id', $penilai->userPenilaiTeam->id)->first();
|
||||
$imagePathPenilai = storage_path(
|
||||
'app/public/signatures/' . $penilaiUser->id . '/' . $penilaiUser->sign,
|
||||
);
|
||||
|
||||
$soUser = User::where('id', $senior_officer->id)->first();
|
||||
$imagePathSo = storage_path('app/public/signatures/' . $soUser->id . '/' . $soUser->sign);
|
||||
|
||||
$imagePathEO = storage_path(
|
||||
'app/public/signatures/' .
|
||||
User::role('EO Appraisal')->first()->id .
|
||||
'/' .
|
||||
User::role('EO Appraisal')->first()->sign,
|
||||
);
|
||||
|
||||
$imagePathDD = storage_path(
|
||||
'app/public/signatures/' .
|
||||
User::role('DD Appraisal')->first()->id .
|
||||
'/' .
|
||||
User::role('DD Appraisal')->first()->sign,
|
||||
);
|
||||
@endphp
|
||||
<tr>
|
||||
<td style=" padding: 4px;height: 50px">
|
||||
@if (file_exists($imagePathPenilai))
|
||||
<img src="{{ $imagePathPenilai }}" alt="{{ $imagePathPenilai }}" width="80px">
|
||||
@endif
|
||||
</td>
|
||||
@if ($permohonan->approval_so != null)
|
||||
<td style=" padding: 4px;height: 50px">
|
||||
@if (file_exists($imagePathSo))
|
||||
<img src="{{ $imagePathSo }}" alt="{{ $imagePathSo }}" width="80px">
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
@if ($permohonan->approval_eo != null)
|
||||
<td style=" padding: 4px;height: 50px">
|
||||
@if (file_exists($imagePathEO))
|
||||
<img src="{{ $imagePathEO }}" alt="{{ $imagePathEO }}" width="80px">
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
@if ($permohonan->approval_dd != null)
|
||||
<td style=" padding: 4px;height: 50px">
|
||||
@if (file_exists($imagePathDD))
|
||||
<img src="{{ $imagePathDD }}" alt="{{ $imagePathDD }}" width="80px">
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
</tr>
|
||||
<tr>
|
||||
<td style=" padding: 4px;">{{ $penilai->userPenilaiTeam->name ?? '' }}</br>
|
||||
<span>
|
||||
{{ ucwords(strtolower('PENILAI')) }}
|
||||
</span>
|
||||
</td>
|
||||
@if ($permohonan->approval_so != null)
|
||||
<td style=" padding: 4px;">
|
||||
{{ $senior_officer->name ?? '' }}</br>
|
||||
<span>
|
||||
{{ ucwords(strtolower('SENIOR OFFICER')) }}
|
||||
</span>
|
||||
|
||||
</td>
|
||||
@endif
|
||||
|
||||
@if ($permohonan->approval_eo != null)
|
||||
<td style=" padding: 4px;">
|
||||
{{ User::role('EO Appraisal')->first()->name ?? '' }}</br>
|
||||
<span>
|
||||
{{ ucwords(strtolower('EXECUTIVE OFFICER')) }}
|
||||
</span>
|
||||
</td>
|
||||
@endif
|
||||
@if ($permohonan->approval_dd != null)
|
||||
<td style=" padding: 4px;">
|
||||
{{ User::role('DD Appraisal')->first()->name ?? '' }}</br>
|
||||
<span>
|
||||
{{ ucwords(strtolower('DEPUTY DIRECTOR')) }}
|
||||
</span>
|
||||
</td>
|
||||
@endif
|
||||
</tr>
|
||||
</table>
|
||||
</tr>
|
||||
</table>
|
||||
</main>
|
||||
<div class="page-break"></div>
|
||||
@if (isset($memo['foto']))
|
||||
|
||||
<table width="100%" border="0" style="align-content: center; text-align: center; margin-bottom: 20px">
|
||||
@foreach ($memo['foto'] as $item)
|
||||
@php
|
||||
$cleanedPath = str_replace('/storage/', '', $item);
|
||||
$imagePath = storage_path('app/public/' . $cleanedPath);
|
||||
@endphp
|
||||
<tr>
|
||||
<td style="width: 100%; padding: 10px;" class="photo-item border">
|
||||
<img src="{{ $imagePath }}" alt="{{ $item }}" class="photo-image">
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</table>
|
||||
@endif
|
||||
|
||||
@include('lpj::penilai.components.footer')
|
||||
@@ -0,0 +1,324 @@
|
||||
@include('lpj::penilai.components.header')
|
||||
@php
|
||||
$data = '';
|
||||
foreach ($permohonan->documents as $dokumen) {
|
||||
$data .= $dokumen->jenisJaminan->name . ', ';
|
||||
|
||||
$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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$data = rtrim($data, ', ');
|
||||
@endphp
|
||||
|
||||
|
||||
<main class="content">
|
||||
<table style="width: 100%">
|
||||
<tr>
|
||||
<td style="text-align: center; margin-top: 5px;">
|
||||
<h2 style="text-decoration: underline; text-transform: uppercase; text-align: center; margin: 0;">
|
||||
CALL Report</h2>
|
||||
<p style="font-size: 12px; margin: 0;">NO: {{ $nomorLaporan ?? '' }}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr />
|
||||
<table style="width: 100%">
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px;">Kepada</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">{{ $report['kepada'] ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px;">Dari</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">{{ $report['dari'] ?? '' }}</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px;">Tanggal</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">{{ formatTanggalIndonesia($report['tanggal']) }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px;">Perihal</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">{{ $report['perihal'] ?? '' }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
Menindak lanjuti permintan penilaian Tujuan Lelang, BAG Cab
|
||||
{{ $permohonan->debiture->branch->name ?? '' }}
|
||||
tanggal {{ formatTanggalIndonesia($report['tanggal']) ?? '' }}, dapat di sampaikan sebagai berikut:
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table style="width: 100%">
|
||||
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px;">Nama Debitur</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">{{ $permohonan->debiture->name ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px;">KJPP</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">{{ preg_replace('/^K\\d+ - /', '', $permohonan->penawaran->nama_kjpp_sebelumnya ?? '-') }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px;">Jenis Aset</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">{{ $data ?? '' }}</td>
|
||||
</tr>
|
||||
|
||||
@if (!empty($report['lokasi']['address']))
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px;">Lokasi Objek Penilaian</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">{{ $report['lokasi']['address'] ?? '' }},
|
||||
{{ $alamat['village_code'] ?? '' }} {{ $alamat['district_code'] ?? '' }},
|
||||
{{ $alamat['city_code'] ?? '' }}, {{ $alamat['province_code'] ?? '' }} </td>
|
||||
</tr>
|
||||
@endif
|
||||
|
||||
@include('lpj::component.print-out-dokument')
|
||||
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px;">Tanggal Penilaian</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">{{ isset($permohonan->penilaian->tanggal_kunjungan) ? formatTanggalIndonesia($permohonan->penilaian->tanggal_kunjungan) : '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px;">Lelang ke</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">{{ $report['lelang_kjpp'] ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px;">Nilai Pasar Wajar (NPW)</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">{{ isset($report['nilai_pasar_kjpp']) ? formatRupiah($report['nilai_pasar_kjpp']) : '-' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px;">
|
||||
Nilai Likuidasi
|
||||
{{ isset($report['persentase_likuidasi_kjpp']) ? '(' . $report['persentase_likuidasi_kjpp'] . '%)' : '-' }}
|
||||
</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">
|
||||
{{ isset($report['hasil_nilai_likuidasi_kjpp']) ? formatRupiah($report['hasil_nilai_likuidasi_kjpp']) : '-' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
</table>
|
||||
|
||||
<table style="margin: 5px 0; border-collapse: collapse; width: 100%;">
|
||||
<tr>
|
||||
<td style="">
|
||||
<h6 style="text-transform: uppercase; margin: 0; ">Penilaian ke lokasi objek telah dilakukan oleh :
|
||||
</h6>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table style="width: 100%">
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px;">Staf Subdit Appraisal </td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">
|
||||
{{ formatTanggalIndonesia($permohonan->penilaian->tanggal_kunjungan) }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px;">Pihak KJPP</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">{{ $forminspeksi['signature']['kjjp']['name'] ?? $report['pihak_kjjpp'] ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px;">Pihak BAGI Cab </td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">{{ $permohonan->user->name ?? '' }} -
|
||||
{{ $permohonan->debiture->branch->name ?? '' }}</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px;">Debitur/perwakilan debitur </td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">{{ $permohonan->debiture->name ?? '' }}</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
<table style="margin: 5px 0; border-collapse: collapse; width: 100%;">
|
||||
<tr>
|
||||
<td style="">
|
||||
<h6 style="text-transform: uppercase; margin: 0; ">Informasi yang didapatkan sebagai berikut : </h6>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table style="margin: 5px 0; border-collapse: collapse; width: 100%;">
|
||||
<tr>
|
||||
<td style="">
|
||||
<h6 style="text-transform: uppercase; margin: 0; ">Faktor Positif</h2>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@isset($forminspeksi['fakta']['fakta_positif'])
|
||||
@foreach ($forminspeksi['fakta']['fakta_positif'] as $key => $item)
|
||||
<tr>
|
||||
<td>{!! nl2br(e($item)) !!}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endisset
|
||||
</tr>
|
||||
</table>
|
||||
<table style="margin: 5px 0; border-collapse: collapse; width: 100%;">
|
||||
<tr>
|
||||
<td style="">
|
||||
<h6 style="text-transform: uppercase; margin: 0; ">Faktor negatif</h2>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@isset($forminspeksi['fakta']['fakta_negatif'])
|
||||
@foreach ($forminspeksi['fakta']['fakta_negatif'] as $key => $item)
|
||||
<tr>
|
||||
<td>{!! nl2br(e($item)) !!}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endisset
|
||||
</tr>
|
||||
</table>
|
||||
<table style="margin: 5px 0; border-collapse: collapse; width: 100%;">
|
||||
<tr>
|
||||
<td style="">
|
||||
<h6 style="text-transform: uppercase; margin: 0; ">Catatan Yang Perlu Diperhatikan</h6>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@isset($forminspeksi['fakta']['keterangan'])
|
||||
@foreach ($forminspeksi['fakta']['keterangan'] as $key => $item)
|
||||
<tr>
|
||||
<td>{!! nl2br(e($item)) !!}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endisset
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table style="width: 100%">
|
||||
<tr>
|
||||
<td>Demikian Kami Sampaikan, atas perhatiannya kami ucapkan terimakasih</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<table style="width: 100%; border-collapse: collapse; text-align: center;">
|
||||
@php
|
||||
use Modules\Usermanagement\Models\User;
|
||||
$penilaiUser = User::where('id', $penilai->userPenilaiTeam->id)->first();
|
||||
$imagePathPenilai = storage_path(
|
||||
'app/public/signatures/' . $penilaiUser->id . '/' . $penilaiUser->sign,
|
||||
);
|
||||
|
||||
$soUser = User::where('id', $senior_officer->id)->first();
|
||||
$imagePathSo = storage_path('app/public/signatures/' . $soUser->id . '/' . $soUser->sign);
|
||||
|
||||
$imagePathEO = storage_path(
|
||||
'app/public/signatures/' .
|
||||
User::role('EO Appraisal')->first()->id .
|
||||
'/' .
|
||||
User::role('EO Appraisal')->first()->sign,
|
||||
);
|
||||
|
||||
$imagePathDD = storage_path(
|
||||
'app/public/signatures/' .
|
||||
User::role('DD Appraisal')->first()->id .
|
||||
'/' .
|
||||
User::role('DD Appraisal')->first()->sign,
|
||||
);
|
||||
@endphp
|
||||
<tr>
|
||||
<td style=" padding: 4px;height: 50px">
|
||||
@if (file_exists($imagePathPenilai))
|
||||
<img src="{{ $imagePathPenilai }}" alt="{{ $imagePathPenilai }}" width="80px">
|
||||
@endif
|
||||
</td>
|
||||
@if ($permohonan->approval_so != null)
|
||||
<td style=" padding: 4px;height: 50px">
|
||||
@if (file_exists($imagePathSo))
|
||||
<img src="{{ $imagePathSo }}" alt="{{ $imagePathSo }}" width="80px">
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
@if ($permohonan->approval_eo != null)
|
||||
<td style=" padding: 4px;height: 50px">
|
||||
@if (file_exists($imagePathEO))
|
||||
<img src="{{ $imagePathEO }}" alt="{{ $imagePathEO }}" width="80px">
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
@if ($permohonan->approval_dd != null)
|
||||
<td style=" padding: 4px;height: 50px">
|
||||
@if (file_exists($imagePathDD))
|
||||
<img src="{{ $imagePathDD }}" alt="{{ $imagePathDD }}" width="80px">
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
</tr>
|
||||
<tr>
|
||||
<td style=" padding: 4px;">{{ $penilai->userPenilaiTeam->name ?? '' }}</br>
|
||||
<span>
|
||||
{{ ucwords(strtolower('PENILAI')) }}
|
||||
</span>
|
||||
</td>
|
||||
@if ($permohonan->approval_so != null)
|
||||
<td style=" padding: 4px;">
|
||||
{{ $senior_officer->name ?? '' }}</br>
|
||||
<span>
|
||||
{{ ucwords(strtolower('SENIOR OFFICER')) }}
|
||||
</span>
|
||||
|
||||
</td>
|
||||
@endif
|
||||
|
||||
@if ($permohonan->approval_eo != null)
|
||||
<td style=" padding: 4px;">
|
||||
{{ User::role('EO Appraisal')->first()->name ?? '' }}</br>
|
||||
<span>
|
||||
{{ ucwords(strtolower('EXECUTIVE OFFICER')) }}
|
||||
</span>
|
||||
</td>
|
||||
@endif
|
||||
@if ($permohonan->approval_dd != null)
|
||||
<td style=" padding: 4px;">
|
||||
{{ User::role('DD Appraisal')->first()->name ?? '' }}</br>
|
||||
<span>
|
||||
{{ ucwords(strtolower('DEPUTY DIRECTOR')) }}
|
||||
</span>
|
||||
</td>
|
||||
@endif
|
||||
</tr>
|
||||
</table>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</main>
|
||||
|
||||
@include('lpj::penilai.components.footer')
|
||||
502
resources/views/penilai/components/print-out-rap.blade.php
Normal file
502
resources/views/penilai/components/print-out-rap.blade.php
Normal file
@@ -0,0 +1,502 @@
|
||||
@include('lpj::penilai.components.header')
|
||||
@php
|
||||
$data = '';
|
||||
foreach ($permohonan->documents as $dokumen) {
|
||||
$data .= $dokumen->jenisJaminan->name . ', ';
|
||||
|
||||
$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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$data = rtrim($data, ', ');
|
||||
@endphp
|
||||
<main class="content">
|
||||
<div style="text-align: center; margin-top: 5px;">
|
||||
<h4 style="text-transform: uppercase; font-size: 16px; margin: 0;">Report Analisa Property
|
||||
{{ $data }}</h4>
|
||||
<p style="font-size: 12px; margin: 5px 0;">NO: {{ $nomorLaporan }}</p>
|
||||
</div>
|
||||
<hr />
|
||||
|
||||
<table style="width: 100%;">
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px; vertical-align: top;">Kepada</td>
|
||||
<td style="width: 1%; vertical-align: top;">:</td>
|
||||
<td style="width: 79%; vertical-align: top;">{{ $rap['kepada'] ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px;">Dari</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">{{ $rap['dari'] ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px;">Tanggal Survey</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">
|
||||
{{ formatTanggalIndonesia($permohonan->penilaian->waktu_penilaian) }}</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 ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px;">Ao</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="vertical-align: top; padding: 2px;">{{ $permohonan->user->name ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px; vertical-align: top;">Perwakilan Developer</td>
|
||||
<td style="width: 1%; vertical-align: top;">:</td>
|
||||
<td style="vertical-align: top;">{{ $forminspeksi['asset']['pihak_bank'] ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px;">Perihal</td>
|
||||
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%;">{{ $rap['perihal'] ?? '' }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div style="border-top: 1px solid black; width: 100%;"></div>
|
||||
<h2 style="text-transform: uppercase;">NAMA DEVELOPER</h2>
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px;">Nama</td>
|
||||
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%;">{{ $permohonan->debiture->name ?? '' }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h2 style="text-transform: uppercase;">NAMA PROYEK</h2>
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px;">Proyek</td>
|
||||
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%;">{{ $data ?? '' }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
<h2 style="text-transform: uppercase;">ALAMAT</h2>
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td width="25%">Terletak di</td>
|
||||
<td style="width: 1%; vertical-align: top;">:</td>
|
||||
<td> {{ $alamat['address'] ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Desa/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>Kabupaten/Kota</td>
|
||||
<td style="width: 1%; vertical-align: top;">:</td>
|
||||
<td> {{ $alamat['city_code'] ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Provinsi</td>
|
||||
<td style="width: 1%; vertical-align: top;">:</td>
|
||||
<td>{{ $alamat['province_code'] ?? '' }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
<h2 style="text-transform: uppercase;">DOKUMEN TERLAMPIR</h2>
|
||||
<table style="width: 100%;">
|
||||
|
||||
@include('lpj::component.print-out-dokument')
|
||||
|
||||
|
||||
@if (isset($forminspeksi['perizinan']) && is_array($forminspeksi['perizinan']) && count($forminspeksi['perizinan']) > 0)
|
||||
@foreach ($forminspeksi['perizinan'] as $perizinan)
|
||||
<tr>
|
||||
<td style="width: 25%; 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: 25%; 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>
|
||||
|
||||
<h2 style="text-transform: uppercase;">DESKRIPSI DEVELOPER</h2>
|
||||
<table style="width: 100%;">
|
||||
<tr>
|
||||
<td style="vertical-align: top; width: 25%; 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: 25%; 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: 25%; padding: 2px;">Lainnya</td>
|
||||
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
|
||||
<td>
|
||||
{!! nl2br(e($item)) !!}
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endisset
|
||||
</table>
|
||||
<h2 style="text-transform: uppercase;">KONDISI, LINGKUNGAN DAN PROGRESS PEMBANGUNAN</h2>
|
||||
<table style="width: 100%;">
|
||||
<tr>
|
||||
<td style="vertical-align: top; width: 25%; 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: 25%; 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: 25%; 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: 25%; 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: 25%; 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: 25%; 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: 25%; 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: 25%; 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: 25%; padding: 2px;">Lainnya</td>
|
||||
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
|
||||
<td>
|
||||
{!! nl2br(e($item)) !!}
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endisset
|
||||
</table>
|
||||
|
||||
@isset($forminspeksi['partisi'])
|
||||
<h2 style="text-transform: uppercase;">PARTISI BANGUNAN</h2>
|
||||
<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: 25%; 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
|
||||
|
||||
@isset($forminspeksi['jumlah_unit'])
|
||||
<h2 style="text-transform: uppercase;">JUMLAH UNIT, BLOK, TYPE DAN LUAS BANGUNAN</h2>
|
||||
<table>
|
||||
@foreach ($forminspeksi['jumlah_unit'] as $item)
|
||||
<tr>
|
||||
<td>
|
||||
{!! nl2br(e($item)) !!}
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</table>
|
||||
@endisset
|
||||
@isset($forminspeksi['batas_batas_perumahan'])
|
||||
<h2 style="text-transform: uppercase;">BATAS-BATAS PERUMAHAN</h2>
|
||||
<table>
|
||||
@foreach ($forminspeksi['batas_batas_perumahan'] as $item)
|
||||
<tr>
|
||||
<td>
|
||||
{!! nl2br(e($item)) !!}
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</table>
|
||||
@endisset
|
||||
@isset($forminspeksi['fasus_fasum'])
|
||||
<h2 style="text-transform: uppercase;">FASOS/FASUM</h2>
|
||||
<table>
|
||||
@foreach ($forminspeksi['fasus_fasum'] as $item)
|
||||
<tr>
|
||||
<td>
|
||||
{!! nl2br(e($item)) !!}
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</table>
|
||||
@endisset
|
||||
@isset($forminspeksi['progres_penjualan'])
|
||||
<h2 style="text-transform: uppercase;">PROGRES PENJUALAN SAAT INI</h2>
|
||||
<table>
|
||||
@foreach ($forminspeksi['progres_penjualan'] as $item)
|
||||
<tr>
|
||||
<td>
|
||||
{!! nl2br(e($item)) !!}
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</table>
|
||||
@endisset
|
||||
@isset($forminspeksi['harga_unit'])
|
||||
<h2 style="text-transform: uppercase;">HARGA UNIT</h2>
|
||||
<table>
|
||||
@foreach ($forminspeksi['harga_unit'] as $item)
|
||||
<tr>
|
||||
<td>
|
||||
{!! nl2br(e($item)) !!}
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</table>
|
||||
@endisset
|
||||
@isset($forminspeksi['target_market'])
|
||||
<h2 style="text-transform: uppercase;">TARGET MARKET</h2>
|
||||
<table>
|
||||
@foreach ($forminspeksi['target_market'] as $item)
|
||||
<tr>
|
||||
<td>
|
||||
{!! nl2br(e($item)) !!}
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</table>
|
||||
@endisset
|
||||
@isset($forminspeksi['kerjasama_dengan_bank'])
|
||||
<h2 style="text-transform: uppercase;">KERJASAMA DENGAN BANK LAIN</h2>
|
||||
<table>
|
||||
@foreach ($forminspeksi['kerjasama_dengan_bank'] as $item)
|
||||
<tr>
|
||||
<td>
|
||||
{!! nl2br(e($item)) !!}
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</table>
|
||||
@endisset
|
||||
@isset($forminspeksi['rute_menuju_lokasi'])
|
||||
<h2 style="text-transform: uppercase;">RUTE MENUJU LOKASI</h2>
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
{{ $forminspeksi['rute_menuju_lokasi'] ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
@endisset
|
||||
@isset($forminspeksi['properti_sejenis'])
|
||||
<h2 style="text-transform: uppercase;">PROPERTI SEJENIS</h2>
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
{{ $forminspeksi['properti_sejenis'] ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
@endisset
|
||||
@if (isset($forminspeksi['fakta']) && is_array($forminspeksi['fakta']))
|
||||
<h2 style="text-transform: uppercase;">ATURAN TATA KOTA</h2>
|
||||
<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
|
||||
|
||||
@isset($forminspeksi['fakta']['keterangan'])
|
||||
|
||||
|
||||
<h2 style="text-transform: uppercase;">CATATAN LAINNYA</h2>
|
||||
<table>
|
||||
@foreach ($forminspeksi['fakta']['keterangan'] ?? [] as $keterangan)
|
||||
<tr>
|
||||
<td>
|
||||
<p>{!! nl2br(e($keterangan)) !!}</p>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</table>
|
||||
@endisset
|
||||
<p>Demikian kami sampaikan, atas perhatiannya kami ucapkan terima kasih.</p>
|
||||
|
||||
<table style="width: 100%; border-collapse: collapse; text-align: center;">
|
||||
@php
|
||||
use Modules\Usermanagement\Models\User;
|
||||
|
||||
$penilaiUser = User::where('id', $penilai->userPenilaiTeam->id)->first();
|
||||
$imagePathPenilai = storage_path('app/public/signatures/' . $penilaiUser->id . '/' . $penilaiUser->sign);
|
||||
|
||||
$soUser = User::where('id', $senior_officer->id)->first();
|
||||
$imagePathSo = storage_path('app/public/signatures/' . $soUser->id . '/' . $soUser->sign);
|
||||
|
||||
$imagePathEO = storage_path(
|
||||
'app/public/signatures/' .
|
||||
User::role('EO Appraisal')->first()->id .
|
||||
'/' .
|
||||
User::role('EO Appraisal')->first()->sign,
|
||||
);
|
||||
|
||||
$imagePathDD = storage_path(
|
||||
'app/public/signatures/' .
|
||||
User::role('DD Appraisal')->first()->id .
|
||||
'/' .
|
||||
User::role('DD Appraisal')->first()->sign,
|
||||
);
|
||||
@endphp
|
||||
<tr>
|
||||
<td style=" padding: 4px;height: 50px">
|
||||
@if (file_exists($imagePathPenilai))
|
||||
<img src="{{ $imagePathPenilai }}" alt="{{ $imagePathPenilai }}" width="80px">
|
||||
@endif
|
||||
</td>
|
||||
@if ($permohonan->approval_so != null)
|
||||
<td style=" padding: 4px;height: 50px">
|
||||
@if (file_exists($imagePathSo))
|
||||
<img src="{{ $imagePathSo }}" alt="{{ $imagePathSo }}" width="80px">
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
@if ($permohonan->approval_eo != null)
|
||||
<td style=" padding: 4px;height: 50px">
|
||||
@if (file_exists($imagePathEO))
|
||||
<img src="{{ $imagePathEO }}" alt="{{ $imagePathEO }}" width="80px">
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
@if ($permohonan->approval_dd != null)
|
||||
<td style=" padding: 4px;height: 50px">
|
||||
@if (file_exists($imagePathDD))
|
||||
<img src="{{ $imagePathDD }}" alt="{{ $imagePathDD }}" width="80px">
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
</tr>
|
||||
<tr>
|
||||
<td style=" padding: 4px;">{{ $penilai->userPenilaiTeam->name ?? '' }}</br>
|
||||
<span>
|
||||
{{ ucwords(strtolower('PENILAI')) }}
|
||||
</span>
|
||||
</td>
|
||||
@if ($permohonan->approval_so != null)
|
||||
<td style=" padding: 4px;">
|
||||
{{ $senior_officer->name ?? '' }}</br>
|
||||
<span>
|
||||
{{ ucwords(strtolower('SENIOR OFFICER')) }}
|
||||
</span>
|
||||
|
||||
</td>
|
||||
@endif
|
||||
|
||||
@if ($permohonan->approval_eo != null)
|
||||
<td style=" padding: 4px;">
|
||||
{{ User::role('EO Appraisal')->first()->name ?? '' }}</br>
|
||||
<span>
|
||||
{{ ucwords(strtolower('EXECUTIVE OFFICER')) }}
|
||||
</span>
|
||||
</td>
|
||||
@endif
|
||||
@if ($permohonan->approval_dd != null)
|
||||
<td style=" padding: 4px;">
|
||||
{{ User::role('DD Appraisal')->first()->name ?? '' }}</br>
|
||||
<span>
|
||||
{{ ucwords(strtolower('DEPUTY DIRECTOR')) }}
|
||||
</span>
|
||||
</td>
|
||||
@endif
|
||||
</tr>
|
||||
</table>
|
||||
</main>
|
||||
@include('lpj::penilai.components.footer')
|
||||
1071
resources/views/penilai/components/print-out-sederhana.blade.php
Normal file
1071
resources/views/penilai/components/print-out-sederhana.blade.php
Normal file
File diff suppressed because it is too large
Load Diff
486
resources/views/penilai/components/print-out-standar.blade.php
Normal file
486
resources/views/penilai/components/print-out-standar.blade.php
Normal file
@@ -0,0 +1,486 @@
|
||||
@include('lpj::penilai.components.header')
|
||||
|
||||
@php
|
||||
$data = '';
|
||||
$dokument = null;
|
||||
foreach ($permohonan->documents as $dokumen) {
|
||||
$data .= $dokumen->jenisJaminan->name . ', ';
|
||||
$jenisAset = $dokumen->jenisJaminan->name;
|
||||
$dokument = $dokumen;
|
||||
}
|
||||
$data = rtrim($data, ', ');
|
||||
@endphp
|
||||
<main class="content">
|
||||
@php
|
||||
$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
|
||||
<div style="text-align: center; margin-top: 5px;">
|
||||
<h4 style="text-transform: uppercase; font-size: 16px; margin: 0;">LAPORAN PENILAIAN ATAS
|
||||
{{ $data }}</h4>
|
||||
<p style="font-size: 12px; margin: 5px 0;">NO: {{ $nomorLaporan }}</p>
|
||||
</div>
|
||||
<hr />
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="vertical-align: top;">
|
||||
<table>
|
||||
<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 ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
<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->jenisFasilitasKredit->name ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px;">Ao</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="vertical-align: top; padding: 2px;">{{ $permohonan->user->name ?? '' }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td style="vertical-align: top;">
|
||||
<table>
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px;">Tanggal Order</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="vertical-align: top; padding: 2px;">
|
||||
{{ formatTanggalIndonesia($permohonan->tanggal_permohonan) }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px;">Tanggal Survey</td>
|
||||
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
|
||||
<td style="vertical-align: top; width: 79%;">
|
||||
{{ formatTanggalIndonesia($permohonan->penilaian->waktu_penilaian) }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="no-break">
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; border: 1px solid #000; text-align: center;">
|
||||
IDENTITAS CADEB/DEBITUR
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 5%; padding: 2px; vertical-align: top;">Nama Debitur</td>
|
||||
<td style="width: 1%; vertical-align: top;">:</td>
|
||||
<td style="vertical-align: top; ">{{ $permohonan->debiture->name ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px; vertical-align: top;">Debitur / Wakil Debitur</td>
|
||||
<td style="width: 1%; vertical-align: top;">:</td>
|
||||
<td>{{ $permohonan->debiture->name ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px; vertical-align: top;">Pihak Bank selain Appraisal</td>
|
||||
<td style="width: 1%; vertical-align: top;">:</td>
|
||||
<td style="vertical-align: top;">{{ $forminspeksi['asset']['pihak_bank'] ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="no-break">
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; border: 1px solid #000; text-align: center;">
|
||||
DESKRIPSI DAN ALAMAT ASET
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td width="25%">Terletak di</td>
|
||||
<td style="width: 1%; vertical-align: top;">:</td>
|
||||
<td> {{ $alamat['address'] ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Desa/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>Kabupaten/Kota</td>
|
||||
<td style="width: 1%; vertical-align: top;">:</td>
|
||||
<td> {{ $alamat['city_code'] ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Provinsi</td>
|
||||
<td style="width: 1%; vertical-align: top;">:</td>
|
||||
<td>{{ $alamat['province_code'] ?? '' }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
{{-- <div class="no-break"> --}}
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; border: 1px solid #000; text-align: center;">
|
||||
DOKUMEN
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table style="width: 100%; ">
|
||||
@include('lpj::component.print-out-dokument')
|
||||
</table>
|
||||
{{-- </div> --}}
|
||||
|
||||
<div class="no-break">
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; border: 1px solid #000; text-align: center;">
|
||||
HUBUNGAN CADEB/DEBITUR DENGAN PEMILIK DAN PENGHUNI
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table style="width:100%">
|
||||
<tr>
|
||||
@php
|
||||
|
||||
$cekHub =
|
||||
isset($forminspeksi['asset']['hub_cadeb']) && $forminspeksi['asset']['hub_cadeb'] === 'sesuai'
|
||||
? 'sesuai'
|
||||
: 'tidak sesuai';
|
||||
|
||||
|
||||
$hubCadeb = $cekHub === 'sesuai'
|
||||
? ($forminspeksi['asset']['hub_cadeb']['sesuai'] ?? null)
|
||||
: ($forminspeksi['asset']['hub_cadeb']['tidak sesuai'] ?? null);
|
||||
@endphp
|
||||
<td style="width:25%; padding: 2px; vertical-align: top;">Hubungan Pemilik Jaminan dengan Debitur</td>
|
||||
<td style="width:1%; padding: 2px; vertical-align: top;">:</td>
|
||||
<td style=" padding: 2px; vertical-align: top;">{{ $hubCadeb ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@php
|
||||
|
||||
$cekHub =
|
||||
isset($forminspeksi['asset']['hub_cadeb_penghuni']) &&
|
||||
$forminspeksi['asset']['hub_cadeb_penghuni'] === 'sesuai'
|
||||
? 'sesuai'
|
||||
: 'tidak sesuai';
|
||||
|
||||
$hubCadeb = isset($forminspeksi['asset']['hub_cadeb_penghuni'][$cekHub])
|
||||
? ($forminspeksi['asset']['hub_cadeb_penghuni']['tidak sesuai'] ?? null)
|
||||
: ($forminspeksi['asset']['hub_cadeb_penghuni']['sesuai'] ?? null);
|
||||
@endphp
|
||||
<td style=" padding: 2px; vertical-align: top;">Hubungan Penghuni Jaminan dengan Debitur</td>
|
||||
<td style=" padding: 2px; vertical-align: top;">:</td>
|
||||
<td style=" padding: 2px; vertical-align: top;">{{ $hubCadeb ?? '' }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
@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
|
||||
|
||||
@foreach ($kategoriUnik as $kategori)
|
||||
@include('lpj::penilai.components.analisa.' . str_replace('-', '-', $kategori), [
|
||||
'dokumen' => $dokumen,
|
||||
])
|
||||
@endforeach
|
||||
@endif
|
||||
@endif
|
||||
@endforeach
|
||||
|
||||
<div class="no-break">
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; border: 1px solid #000; text-align: center;">
|
||||
INFORMASI DATA PEMBANDING
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@include('lpj::penilai.components.print-pembanding')
|
||||
</div>
|
||||
|
||||
<div class="no-break">
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; border: 1px solid #000; text-align: center;">
|
||||
TOTAL NILAI PASAR WAJAR
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table>
|
||||
<tr>
|
||||
<td colspan="3" style=" padding: 8px; text-align: left;">1. Total Nilai Pasar Wajar
|
||||
</td>
|
||||
</tr>
|
||||
@php
|
||||
$labelNilai = [
|
||||
'bangunan' => 'Luas Bangunan',
|
||||
'tanah' => 'Luas Tanah',
|
||||
'apartemen-kantor' => 'Luas Unit',
|
||||
'alat-berat' => 'Luas Alat Berat',
|
||||
'mesin' => 'Luas Mesin',
|
||||
'kendaraan' => 'Luas Kendaraan',
|
||||
'pesawat' => 'Luas Pesawat',
|
||||
'kapal' => 'Luas Kapal',
|
||||
];
|
||||
|
||||
if (strcasecmp($jenisAset, 'RUKO/RUKAN') === 0) {
|
||||
$labelNilai['bangunan'] = 'Luas Unit';
|
||||
unset($labelNilai['tanah']);
|
||||
}
|
||||
|
||||
@endphp
|
||||
@foreach ($labelNilai as $key => $label)
|
||||
@if (isset($lpjData['luas_' . $key]))
|
||||
<tr>
|
||||
<td style="padding: 3px; text-align: right; width:45%; ">
|
||||
{{ $label }} {{ $lpjData['luas_' . $key] ?? '' }} m<sup>2</sup>
|
||||
</td>
|
||||
<td style="padding: 3px; width:5%;">
|
||||
<span style="padding-left:20px; padding-right: 20px">X</span> Rp
|
||||
{{ $lpjData['nilai_' . $key . '_1'] ?? '' }}
|
||||
</td>
|
||||
<td style="padding: 3px; text-align: left; width:60%;">
|
||||
<span style="padding-left:20px; padding-right: 20px"> = </span> Rp
|
||||
{{ $lpjData['nilai_' . $key . '_2'] ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@endforeach
|
||||
|
||||
@if (isset($lpjData['npw_tambahan']))
|
||||
@foreach ($lpjData['npw_tambahan'] as $npw)
|
||||
<tr>
|
||||
<td style="padding: 3px; text-align: right;">
|
||||
{{ $npw['name'] }} {{ $npw['luas'] }} m<sup>2</sup>
|
||||
</td>
|
||||
<td style="padding: 3px;">
|
||||
<span style="padding-left:20px; padding-right: 20px">X</span> Rp
|
||||
{{ $npw['nilai_1'] }}
|
||||
</td>
|
||||
<td style="padding: 3px; text-align: left; width:70%">
|
||||
<span style="padding-left:20px; padding-right: 20px"> = </span> Rp
|
||||
{{ $npw['nilai_2'] }}
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endif
|
||||
<tr>
|
||||
<td style="padding: 3px; font-weight: bold; width:10%;">Total Nilai Pasar Wajar</td>
|
||||
<td style="padding: 3px; text-align: right; font-weight: bold; width:10%"></td>
|
||||
<td style="padding: 3px; text-align: left; font-weight: bold; width: 70%;">
|
||||
<span style="padding-left: 20px; padding-right: 20px;">=</span>
|
||||
<div style="display: inline-block; border-top: 1px solid black; padding-top: 3px;">
|
||||
Rp {{ $lpjData['total_nilai_pasar_wajar'] ?? '' }}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Total Nilai Likuidasi -->
|
||||
<tr>
|
||||
<td colspan="3" style="padding: 8px; text-align: left">
|
||||
2. Total Nilai Likuidasi
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 3px; text-align: right; width:10%">
|
||||
{{ $lpjData['likuidasi'] ?? '' }}%
|
||||
</td>
|
||||
<td style="padding: 3px; text-align: left; font-weight: bold; width:10%">
|
||||
<span style="padding-left:20px; padding-right: 20px">X</span> Total Nilai Pasar Wajar
|
||||
</td>
|
||||
<td style="padding: 3px; text-align: left; width:70%;">
|
||||
<span style="padding-left:20px; padding-right: 20px"> = </span> Rp
|
||||
{{ $lpjData['likuidasi_nilai_2'] ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
@php
|
||||
$keterangan = $lpjData['keterangan_penilai'] ?? '';
|
||||
if (is_array($keterangan)) {
|
||||
$keterangan = implode(', ', array_filter($keterangan));
|
||||
}
|
||||
@endphp
|
||||
@if (!empty($keterangan))
|
||||
<table style="width: 100% margin-top: 20px">
|
||||
<tr>
|
||||
<td style="width: 25%; vertical-align: top;">Catatan yang Perlu Diperhatikan</td>
|
||||
<td style="width:
|
||||
1%; vertical-align: top">:</td>
|
||||
<td style="vertical-align: top">
|
||||
|
||||
{!! nl2br(e($keterangan)) !!}
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@endif
|
||||
<div class="no-break">
|
||||
<table style="width: 100%">
|
||||
<tr>
|
||||
<td>Demikian laporan penilai jaminan ini di buat secara objektif, tanpa adanya pengaruh baik intern
|
||||
maupun ekstern</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table style="width: 100%; border-collapse: collapse; text-align: center;">
|
||||
@php
|
||||
use Modules\Usermanagement\Models\User;
|
||||
|
||||
$penilaiUser = User::where('id', $penilai->userPenilaiTeam->id)->first();
|
||||
$imagePathPenilai = storage_path(
|
||||
'app/public/signatures/' . $penilaiUser->id . '/' . $penilaiUser->sign,
|
||||
);
|
||||
|
||||
$soUser = User::where('id', $senior_officer->id)->first();
|
||||
$imagePathSo = storage_path('app/public/signatures/' . $soUser->id . '/' . $soUser->sign);
|
||||
|
||||
$imagePathEO = storage_path(
|
||||
'app/public/signatures/' .
|
||||
User::role('EO Appraisal')->first()->id .
|
||||
'/' .
|
||||
User::role('EO Appraisal')->first()->sign,
|
||||
);
|
||||
|
||||
$imagePathDD = storage_path(
|
||||
'app/public/signatures/' .
|
||||
User::role('DD Appraisal')->first()->id .
|
||||
'/' .
|
||||
User::role('DD Appraisal')->first()->sign,
|
||||
);
|
||||
@endphp
|
||||
<tr>
|
||||
<td style=" padding: 4px;height: 50px">
|
||||
@if (file_exists($imagePathPenilai))
|
||||
<img src="{{ $imagePathPenilai }}" alt="{{ $imagePathPenilai }}" width="80px">
|
||||
@endif
|
||||
</td>
|
||||
@if ($permohonan->approval_so != null)
|
||||
<td style=" padding: 4px;height: 50px">
|
||||
@if (file_exists($imagePathSo))
|
||||
<img src="{{ $imagePathSo }}" alt="{{ $imagePathSo }}" width="80px">
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
@if ($permohonan->approval_eo != null)
|
||||
<td style=" padding: 4px;height: 50px">
|
||||
@if (file_exists($imagePathEO))
|
||||
<img src="{{ $imagePathEO }}" alt="{{ $imagePathEO }}" width="80px">
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
@if ($permohonan->approval_dd != null)
|
||||
<td style=" padding: 4px;height: 50px">
|
||||
@if (file_exists($imagePathDD))
|
||||
<img src="{{ $imagePathDD }}" alt="{{ $imagePathDD }}" width="80px">
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
</tr>
|
||||
<tr>
|
||||
<td style=" padding: 4px;">{{ $penilai->userPenilaiTeam->name ?? '' }}</br>
|
||||
<span>
|
||||
{{ ucwords(strtolower('PENILAI')) }}
|
||||
</span>
|
||||
</td>
|
||||
@if ($permohonan->approval_so != null)
|
||||
<td style=" padding: 4px;">
|
||||
{{ $senior_officer->name ?? '' }}</br>
|
||||
<span>
|
||||
{{ ucwords(strtolower('SENIOR OFFICER')) }}
|
||||
</span>
|
||||
|
||||
</td>
|
||||
@endif
|
||||
|
||||
@if ($permohonan->approval_eo != null)
|
||||
<td style=" padding: 4px;">
|
||||
{{ User::role('EO Appraisal')->first()->name ?? '' }}</br>
|
||||
<span>
|
||||
{{ ucwords(strtolower('EXECUTIVE OFFICER')) }}
|
||||
</span>
|
||||
</td>
|
||||
@endif
|
||||
@if ($permohonan->approval_dd != null)
|
||||
<td style=" padding: 4px;">
|
||||
{{ User::role('DD Appraisal')->first()->name ?? '' }}</br>
|
||||
<span>
|
||||
{{ ucwords(strtolower('DEPUTY DIRECTOR')) }}
|
||||
</span>
|
||||
</td>
|
||||
@endif
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<hr />
|
||||
<table style="width: 100%; ">
|
||||
<div style="margin-top: 20px;">
|
||||
<label style="font-weight: bold;">DISCLAIMER</label>
|
||||
<div>
|
||||
<ol style="padding-left: 20px; list-style-type: decimal; margin-top: 0;">
|
||||
<li style="margin-bottom: 5px;">PENILAIAN INI DIBUAT BERDASARKAN ATURAN YANG
|
||||
BERLAKU DI SUBDIT APPRAISAL</li>
|
||||
<li style="margin-bottom: 5px;">LAPORAN INI DIBUAT BERDASARKAN DATA FOTOCOPY
|
||||
DOKUMEN YANG DITERIMA PENILAI DENGAN ASUMSI BAHWA DATA TERSEBUT SESUAI DENGAN
|
||||
DOKUMEN ASLINYA</li>
|
||||
<li style="margin-bottom: 5px;">PENILAI TIDAK MELAKUKAN PEMBUKTIAN LEBIH RINCI ATAU
|
||||
PENGAKUAN TERTULIS DARI PIHAK YANG DITEMUI SAAT PENILAIAN, ATAS INFORMASI YANG
|
||||
DIBERIKAN SECARA LISAN SEHUBUNGAN DENGAN IDENTITAS DIRI DAN HUBUNGAN DI ANTARA
|
||||
PIHAK TERKAIT SAAT MELAKUKAN INSPEKSI OBJEK YANG DINILAI</li>
|
||||
<li style="margin-bottom: 5px;">LAPORAN INI DIGUNAKAN HANYA UNTUK KEPENTINGAN
|
||||
INTERNAL DAN DILARANG MENYEBARKAN KEPADA PIHAK KETIGA</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</table>
|
||||
</main>
|
||||
@include('lpj::penilai.components.footer')
|
||||
@@ -0,0 +1,70 @@
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width:25%; vertical-align: top;">Informasi data pembanding</td>
|
||||
<td style="width:1%; vertical-align: top;">:</td>
|
||||
<td style="vertical-align: top;">
|
||||
@php
|
||||
$exportData = [];
|
||||
if (isset($dataPembanding['data_pembanding'])) {
|
||||
foreach ($dataPembanding['data_pembanding'] as $index => $pembanding) {
|
||||
$exportData['pembanding' . ($index + 1)] = $pembanding;
|
||||
}
|
||||
}
|
||||
|
||||
$fields = [
|
||||
'jenis_aset' => 'Jenis properti',
|
||||
'hak_properti' => 'Status Hak Tanah',
|
||||
'address' => 'Alamat Lokasi',
|
||||
'harga' => 'Harga Penawaran',
|
||||
'total' => 'Indikasi Harga Transaksi',
|
||||
'telepon' => 'Penjual (HP)',
|
||||
'luas_tanah' => 'Luas Tanah',
|
||||
'luas_bangunan' => 'Luas Bangunan',
|
||||
'tanggal' => 'Tanggal Data',
|
||||
'kordinat' => 'Titik Kordinat',
|
||||
];
|
||||
@endphp
|
||||
|
||||
@foreach ($exportData as $index => $data)
|
||||
<table style="width: 100%; margin-bottom: 15px; border-bottom: 1px solid #ddd;">
|
||||
<tr>
|
||||
<td style="font-weight: bold; padding-bottom: 8px;">
|
||||
Pembanding {{ substr($index, -1) }}
|
||||
</td>
|
||||
</tr>
|
||||
@foreach ($fields as $key => $label)
|
||||
<tr>
|
||||
<td style="width: 33%;">{{ $label }}</td>
|
||||
<td style="width: 5%;">:</td>
|
||||
<td style="width: 62%;">
|
||||
@if ($key == 'luas_tanah' || $key == 'luas_bangunan')
|
||||
{{ $data[$key] ?? '-' }} m²
|
||||
@elseif($key == 'harga' || $key == 'total')
|
||||
{{ isset($data[$key]) ? formatRupiah($data[$key]) : 0 }}
|
||||
|
||||
@elseif($key == 'tanggal')
|
||||
{{ isset($data[$key]) ? formatTanggalIndonesia($data[$key]) : '-' }}
|
||||
@elseif($key == 'telepon')
|
||||
{{ isset($data['telepon']) ? ubahNomorHp($data['telepon']) : '-' }}
|
||||
|
||||
@elseif($key == 'kordinat')
|
||||
@php
|
||||
$lat = $data['kordinat_lat'] ?? null;
|
||||
$lng = $data['kordinat_lng'] ?? null;
|
||||
@endphp
|
||||
@if ($lat && $lng)
|
||||
{{ $lat }},{{ $lng }}
|
||||
@else
|
||||
-
|
||||
@endif
|
||||
@else
|
||||
{{ $data[$key] ?? '-' }}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</table>
|
||||
@endforeach
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
284
resources/views/penilai/components/print-resume.blade.php
Normal file
284
resources/views/penilai/components/print-resume.blade.php
Normal file
@@ -0,0 +1,284 @@
|
||||
@include('lpj::penilai.components.header')
|
||||
|
||||
@php
|
||||
$data = '';
|
||||
foreach ($permohonan->documents as $dokumen) {
|
||||
$data .= $dokumen->jenisJaminan->name . ', ';
|
||||
|
||||
$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;
|
||||
$penilaiUser = User::where('id', $penilai->userPenilaiTeam->id)->first();
|
||||
|
||||
$data = rtrim($data, ', ');
|
||||
@endphp
|
||||
|
||||
<main class="content">
|
||||
<table style="width: 100%">
|
||||
<tr>
|
||||
<td style="text-align: center; margin-top: 5px;">
|
||||
<h2 style="text-decoration: underline; text-transform: uppercase; text-align: center; margin: 0;">
|
||||
Resume
|
||||
Penilaian
|
||||
</h2>
|
||||
<p style="font-size: 12px; margin: 0;">NO: {{ $nomorLaporan }}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table>
|
||||
|
||||
<tr>
|
||||
<td style="width: 20%">Pemohon</td>
|
||||
<td style="width: 1%">:</td>
|
||||
<td style="width: 100%">{{ $permohonan->user->name ?? '' }} -
|
||||
{{ $permohonan->debiture->branch->name ?? '' }}</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Atas Nama Cadeb</td>
|
||||
<td>:</td>
|
||||
<td>{{ $permohonan->debiture->name ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td idth="25%">Aset</td>
|
||||
<td width="1%">:</td>
|
||||
<td>{{ $data ?? '' }}</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@include('lpj::component.print-out-dokument')
|
||||
|
||||
|
||||
<tr>
|
||||
<td width="25%">Terletak di</td>
|
||||
<td style="width: 1%; vertical-align: top;">:</td>
|
||||
<td> {{ $alamat['address'] ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Desa/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>Kabupaten/Kota</td>
|
||||
<td style="width: 1%; vertical-align: top;">:</td>
|
||||
<td> {{ $alamat['city_code'] ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Provinsi</td>
|
||||
<td style="width: 1%; vertical-align: top;">:</td>
|
||||
<td>{{ $alamat['province_code'] ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Tanggal Survey</td>
|
||||
<td>:</td>
|
||||
<td>{{ isset($permohonan->penilaian->tanggal_kunjungan) ? formatTanggalIndonesia($permohonan->penilaian->tanggal_kunjungan) : '' }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Surveyor</td>
|
||||
<td>:</td>
|
||||
<td>{{ $surveyor->userPenilaiTeam->name ?? '' }}</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Tanggal Resume</td>
|
||||
<td>:</td>
|
||||
<td>{{ optional($resumeData)['tanggal_resume'] ? formatTanggalIndonesia($resumeData['tanggal_resume']) : '' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
<table style="margin: 5px 0; border-collapse: collapse; width: 100%;">
|
||||
<tr>
|
||||
<td style="">
|
||||
<h6 style="text-transform: uppercase; margin: 0; ">Faktor Positif</h2>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@isset($forminspeksi['fakta']['fakta_positif'])
|
||||
@foreach ($forminspeksi['fakta']['fakta_positif'] as $key => $item)
|
||||
<tr>
|
||||
<td>{!! nl2br(e($item)) !!}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endisset
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table style="margin: 5px 0; border-collapse: collapse; width: 100%;">
|
||||
<tr>
|
||||
<td style="">
|
||||
<h6 style="text-transform: uppercase; margin: 0; ">Faktor negatif</h2>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@isset($forminspeksi['fakta']['fakta_negatif'])
|
||||
@foreach ($forminspeksi['fakta']['fakta_negatif'] as $key => $item)
|
||||
<tr>
|
||||
<td>{!! nl2br(e($item)) !!}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endisset
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table style="margin: 5px 0; border-collapse: collapse; width: 100%;">
|
||||
<tr>
|
||||
<td style="">
|
||||
<h3 style="text-transform: uppercase; margin: 0; ">Kesimpulan Nilai Pasar Wajar</h2>
|
||||
</td>
|
||||
<td>:</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table style="margin: 5px 0; border-collapse: collapse; width: 100%;">
|
||||
<tr>
|
||||
<td style="">
|
||||
<h6 style="text-transform: uppercase; margin: 0; ">1. Sesuai Fisik</h6>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table border="1" style="width: 100%; border-collapse: collapse; margin-bottom: 10px;">
|
||||
|
||||
@foreach ($resumeData['fisik'] as $item)
|
||||
<tr>
|
||||
<td style="border: 1px solid #000; padding: 4px; text-align: center">Sertifikat</td>
|
||||
<td style="border: 1px solid #000; padding: 4px; text-align: center">Luas Tanah</td>
|
||||
<td style="border: 1px solid #000; padding: 4px; text-align: center">Luas Bangunan</td>
|
||||
<td style="border: 1px solid #000; padding: 4px; text-align: center">Nilai Pasar Wajar</td>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="border: 1px solid #000; padding: 4px; text-align: center">{{ $item['sertifikat'] ?? '' }}
|
||||
</td>
|
||||
<td style="border: 1px solid #000; padding: 4px; text-align: center">
|
||||
{{ isset($item['luas_tanah']) ? $item['luas_tanah'] . ' m²' : '-' }}</td>
|
||||
<td style="border: 1px solid #000; padding: 4px; text-align: center">
|
||||
{{ isset($item['luas_bangunan']) ? $item['luas_bangunan'] . ' m²' : '-' }}</td>
|
||||
<td style="border: 1px solid #000; padding: 4px; text-align: center">
|
||||
{{ isset($item['nilai']) ? formatRupiah($item['nilai']) : '-' }}</td>
|
||||
|
||||
</tr>
|
||||
@endforeach
|
||||
</table>
|
||||
|
||||
|
||||
@if (!empty($resumeData['tambahan']))
|
||||
@foreach ($resumeData['tambahan'] as $index => $item)
|
||||
<table style="margin: 5px 0; border-collapse: collapse; width: 100%;">
|
||||
<tr>
|
||||
<td style="">
|
||||
<h6 style="text-transform: uppercase; margin: 0; ">
|
||||
{{ $index + 2 }}. {{ $item['tambahan_nama_kesimpulan'] ?? '-' }}
|
||||
</h6>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table border="1" style="width: 100%; border-collapse: collapse; margin-bottom: 1px;">
|
||||
<tr>
|
||||
<td style="border: 1px solid #000; padding: 4px; text-align: center">Sertifikat</td>
|
||||
<td style="border: 1px solid #000; padding: 4px; text-align: center">Luas Tanah</td>
|
||||
<td style="border: 1px solid #000; padding: 4px; text-align: center">Luas Bangunan</td>
|
||||
<td style="border: 1px solid #000; padding: 4px; text-align: center">Nilai Pasar Wajar</td>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="border: 1px solid #000; padding: 4px; text-align: center">
|
||||
{{ $item['sertifikat'] ?? '-' }}</td>
|
||||
<td style="border: 1px solid #000; padding: 4px; text-align: center">
|
||||
{{ isset($item['luas_tanah']) ? $item['luas_tanah'] . ' m²' : '-' }}</td>
|
||||
<td style="border: 1px solid #000; padding: 4px; text-align: center">
|
||||
{{ isset($item['luas_bangunan']) ? $item['luas_bangunan'] . ' m²' : '-' }}</td>
|
||||
<td style="border: 1px solid #000; padding: 4px; text-align: center">
|
||||
{{ isset($item['nilai']) ? formatRupiah($item['nilai']) : '-' }}</td>
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
|
||||
<table style="margin: 5px 0; border-collapse: collapse; width: 100%;">
|
||||
<tr>
|
||||
<td style="">
|
||||
<h6 style="text-transform: uppercase; margin: 0; ">lain lain</h2>
|
||||
</td>
|
||||
</tr>
|
||||
@isset($forminspeksi['fakta']['keterangan'])
|
||||
@foreach ($forminspeksi['fakta']['keterangan'] as $key => $item)
|
||||
<tr>
|
||||
<td>{!! nl2br(e($item)) !!}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endisset
|
||||
|
||||
</table>
|
||||
|
||||
<table style="width: 100%">
|
||||
<tr>
|
||||
<td>
|
||||
<table>
|
||||
<div style="margin-top: 20px;">
|
||||
<label style="font-weight: bold;">DISCLAIMER</label>
|
||||
<div>
|
||||
<ol style="padding-left: 20px; list-style-type: decimal; margin-top: 0;">
|
||||
<li style="margin-bottom: 5px; ">LAPORAN RESUME INI DIKELUARKAN DIKARENAKAN BELUM
|
||||
DILAKUKANNYA PEMBAYARAN BIAYA PENILAIAN JAMINAN</li>
|
||||
<li style="margin-bottom: 5px;">LAPORAN RESUME INI TIDAK BISA DIJADIKAN SEBAGAI
|
||||
DASAR PENGAJUAN DAN ATAU PENCAIRAN KREDIT, LAPORAN YANG DIGUNAKAN TETAP WAJIB
|
||||
BERUPA LAPORAN PENILAIAN JAMINAN (LPJ)</li>
|
||||
<li style="margin-bottom: 5px;">DETAIL PER METER TANAH DAN BANGUNAN, SARANA
|
||||
PELENGKAP DLL AKAN TERCATAT DI LAPORAN PENILAIAN JAMINAN (LPJ) NANTI</li>
|
||||
<li style="margin-bottom: 5px;">LAPORAN RESUME INI HANYA DIGUNAKAN UNTUK KEPENTINGAN
|
||||
INTERNAL BAGI</li>
|
||||
<li style="margin-bottom: 5px;">LAPORAN RESUME INI HANYA BERLAKU <span
|
||||
style="color:red;">14 HARI KALENDER </span>
|
||||
TERHITUNG DARI TANGGAL RESUME INI DIBUAT SESUAI ATURAN YANG BERLAKU, APABILA
|
||||
LEWAT MAKA HARUS DILAKUKAN ORDER ULANG SESUAI PROSEDUR YANG BERLAKU</li>
|
||||
<li style="margin-bottom: 5px; text-transform: uppercase;">Apabila sudah melewati 6
|
||||
bulan, maka harus penilaian
|
||||
ulang kembali</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Resume ini sudah di setujui</td>
|
||||
</tr>
|
||||
</table>
|
||||
</main>
|
||||
|
||||
@include('lpj::penilai.components.footer')
|
||||
353
resources/views/penilai/components/rap-penilai.blade.php
Normal file
353
resources/views/penilai/components/rap-penilai.blade.php
Normal file
@@ -0,0 +1,353 @@
|
||||
@extends('layouts.main')
|
||||
|
||||
@section('breadcrumbs')
|
||||
{{ Breadcrumbs::render(request()->route()->getName()) }}
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<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 type="hidden" name="nomor_registrasi" value="{{ $permohonan->nomor_registrasi }}">
|
||||
<input type="hidden" name="permohonan_id" value="{{ $permohonan->id }}">
|
||||
<input type="hidden" name="dokument_id" value="{{ request('documentId') }}">
|
||||
<input type="hidden" name="action" value="rap">
|
||||
<input type="hidden" name="type" value="rap">
|
||||
@include('lpj::assetsku.includenya')
|
||||
@include('lpj::surveyor.components.header')
|
||||
@include('lpj::surveyor.components.rap')
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header bg-agi-50">
|
||||
<h3 class="card-title uppercase">
|
||||
RAP
|
||||
</h3>
|
||||
</div>
|
||||
<div class="card-body grid gap-5">
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Kepada</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="kepada" class="input w-full" placeholder="Masukkan..."
|
||||
value=" {{ $rap['kepada'] ?? '' }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Dari</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="text" name="dari" class="input w-full" placeholder="Masukkan..."
|
||||
value="{{ $rap['dari'] ?? '' }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Nomor RAP</label>
|
||||
<div class="flex flex-wrap items-base line w-full">
|
||||
<input type="text" name="nomor_rap" class="input w-full" placeholder="Masukkan..."
|
||||
value="{{ $nomorLaporan ?? '' }}" @readonly(true)>
|
||||
</div>
|
||||
</div>
|
||||
{{-- 250109828129/ --}}
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Tanggal</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="date" name="tanggal" class="input w-full" placeholder="Masukkan..."
|
||||
value="{{ $rap['tanggal'] ?? '' }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Perihal</label>
|
||||
<div class="flex flex-wrap items-base line w-full">
|
||||
<input type="text" name="perihal" class="input w-full" placeholder="Masukkan..."
|
||||
value="{{ $rap['perihal'] ?? '' }}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex justify-end gap-2" style="margin-right: 20px; margin-top: 20px">
|
||||
@if (Auth::user()->hasAnyRole(['senior-officer', 'surveyor', 'administrator']))
|
||||
<button type="button" class="btn btn-primary" id="saveButton" onclick="submitData()" {{ $permohonan->status == 'proses-paparan' || $permohonan->status == 'proses-laporan' && Auth::user()->hasAnyRole(['surveyor']) ? 'disabled' : '' }}>
|
||||
<i class="ki-filled ki-save-2"></i>
|
||||
<span id="saveButtonText" >Save</span>
|
||||
<div class="spinner-border spinner-border-sm text-light" role="status" style="display: none;"
|
||||
id="saveButtonSpinner">
|
||||
|
||||
</div>
|
||||
</button>
|
||||
@endif
|
||||
@if (Auth::user()->hasAnyRole(['senior-officer', 'EO Appraisal', 'DD Appraisal', 'administrator']))
|
||||
<a class="btn btn-info"
|
||||
href="{{ route('penilai.lampiran') }}?permohonanId={{ request('permohonanId') }}&documentId={{ request('documentId') }}&jaminanId={{ request('jaminanId') }}&statusLpj=1">
|
||||
Lampiran Foto dan Dokumen
|
||||
</a>
|
||||
<a href="{{ route('surveyor.print_out_inspeksi', ['permohonan_id' => $permohonan->id, 'dokument_id' => request('documentId'), 'jenis_jaminan_id' => request('jaminanId')]) }}" class="btn btn-light"
|
||||
>
|
||||
<i class="ki-filled ki-printer"></i> Cetak Hasil Inspeksi
|
||||
</a>
|
||||
<a class="btn btn-success"
|
||||
onclick="checkLaporan('{{ $permohonan->id }}', '{{ request('documentId') }}', {{ request('jaminanId') }}, )">
|
||||
<i class="ki-filled ki-printer"></i> Cetak Laporan
|
||||
</a>
|
||||
@endif
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
@endsection
|
||||
@push('scripts')
|
||||
<script type="text/javascript">
|
||||
const rap = @json($forminspeksi);
|
||||
console.log('rap', rap)
|
||||
|
||||
function updateAlamatFields(status) {
|
||||
// Ambil elemen formulir
|
||||
const addressForm = document.getElementById('alamat_form');
|
||||
const inputs = addressForm.querySelectorAll('input, select');
|
||||
const addressInput = document.getElementById('address');
|
||||
|
||||
if (status === 'sesuai') {
|
||||
addressInput.value = "{{ $dokumen->address ?? '' }}";
|
||||
inputs.forEach(element => {
|
||||
if (element.tagName === 'INPUT') {
|
||||
element.setAttribute('readonly', true);
|
||||
} else if (element.tagName === 'SELECT') {
|
||||
element.setAttribute('disabled', true);
|
||||
element.classList.add('disabled-input')
|
||||
}
|
||||
});
|
||||
|
||||
addressForm.style.display = 'grid';
|
||||
addressForm.disabled = true;
|
||||
addressForm.classList.add('disabled-input')
|
||||
|
||||
|
||||
} else if (status === 'tidak sesuai') {
|
||||
addressForm.style.display = 'grid';
|
||||
|
||||
addressForm.removeAttribute('disabled');
|
||||
addressForm.classList.remove('disabled-input')
|
||||
const formInspeksi = @json($forminspeksi);
|
||||
const addressInput = document.getElementById('address');
|
||||
|
||||
if (formInspeksi && formInspeksi.asset && formInspeksi.asset.alamat) {
|
||||
if (formInspeksi.asset.alamat['tidak sesuai'] && formInspeksi.asset.alamat['tidak sesuai'].address) {
|
||||
addressInput.value = formInspeksi.asset.alamat['tidak sesuai'].address;
|
||||
} else if (formInspeksi.asset.alamat['sesuai'] && formInspeksi.asset.alamat['sesuai'].address) {
|
||||
addressInput.value = formInspeksi.asset.alamat['sesuai'].address;
|
||||
} else {
|
||||
addressInput.value = "";
|
||||
}
|
||||
}
|
||||
|
||||
inputs.forEach(element => {
|
||||
if (element.tagName === 'INPUT') {
|
||||
element.removeAttribute('readonly');
|
||||
} else if (element.tagName === 'SELECT') {
|
||||
element.removeAttribute('disabled');
|
||||
element.classList.remove('disabled-input')
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function toggleFieldVisibility(fieldName, inputId, visibleValues = []) {
|
||||
const selectedValue = $(`[name="${fieldName}"]:checked`).val();
|
||||
const inputField = $(`#${inputId}`);
|
||||
|
||||
if (visibleValues.includes(selectedValue)) {
|
||||
inputField.show();
|
||||
} else {
|
||||
inputField.hide().val('');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function toggleCheckboxVisibility(fieldName, inputId, visibleValues = []) {
|
||||
const selectedValues = $(`[name="${fieldName}[]"]:checked`)
|
||||
.map(function() {
|
||||
return $(this).val().toLowerCase(); // Konversi nilai ke huruf kecil
|
||||
})
|
||||
.get();
|
||||
|
||||
const inputField = $(`#${inputId}`);
|
||||
|
||||
// Cek apakah salah satu nilai yang dipilih cocok dengan visibleValues
|
||||
const shouldShow = visibleValues.some(value => selectedValues.includes(value.toLowerCase()));
|
||||
|
||||
if (shouldShow) {
|
||||
inputField.show();
|
||||
} else {
|
||||
inputField.hide().val('');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function toggleMultipleFields(fieldName, mappings) {
|
||||
// Ambil semua nilai checkbox yang dicentang
|
||||
const selectedValues = $(`[name="${fieldName}[]"]:checked`)
|
||||
.map(function() {
|
||||
return $(this).val().toLowerCase(); // Konversi nilai ke huruf kecil
|
||||
})
|
||||
.get();
|
||||
|
||||
// Iterasi melalui setiap mapping
|
||||
for (const [key, inputId] of Object.entries(mappings)) {
|
||||
const inputField = $(`#${inputId}`);
|
||||
|
||||
// Tampilkan input jika nilai yang relevan dipilih
|
||||
if (selectedValues.includes(key.toLowerCase())) {
|
||||
inputField.show();
|
||||
} else {
|
||||
inputField.hide().val(''); // Sembunyikan dan reset nilai
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function toggleAlamatVisibility(idSesuai, idTidakSesuai, selectedValue) {
|
||||
// Ambil elemen berdasarkan ID
|
||||
const alamatSesuai = document.getElementById(idSesuai);
|
||||
const alamatTidakSesuai = document.getElementById(idTidakSesuai);
|
||||
|
||||
// Periksa nilai yang dipilih dan tampilkan elemen yang sesuai
|
||||
if (selectedValue === 'sesuai') {
|
||||
alamatSesuai.style.display = 'grid'; // Tampilkan "Alamat Sesuai"
|
||||
alamatTidakSesuai.style.display = 'none'; // Sembunyikan "Alamat Tidak Sesuai"
|
||||
} else if (selectedValue === 'tidak sesuai') {
|
||||
alamatSesuai.style.display = 'none'; // Sembunyikan "Alamat Sesuai"
|
||||
alamatTidakSesuai.style.display = 'grid'; // Tampilkan "Alamat Tidak Sesuai"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
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()));
|
||||
const urlParams = new URLSearchParams(window.location.search);
|
||||
const permohonanId = {{ $permohonan->id }};
|
||||
const documentId = urlParams.get('documentId');
|
||||
|
||||
const requestUrl =
|
||||
`{{ route('penilai.storeRap') }}?permohonanId=${permohonanId}&documentId=${documentId}`;
|
||||
$.ajax({
|
||||
url: requestUrl,
|
||||
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.reload();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
Swal.fire({
|
||||
title: 'Error!',
|
||||
text: response.message || 'Terjadi kesalahan',
|
||||
icon: 'error',
|
||||
confirmButtonText: 'OK'
|
||||
});
|
||||
}
|
||||
console.log(response);
|
||||
},
|
||||
error: function(xhr, status, error) {
|
||||
|
||||
let errors = xhr.responseJSON?.errors;
|
||||
$('.alert').text('');
|
||||
if (errors) {
|
||||
$.each(errors, function(key, value) {
|
||||
$(`#error-${key}`).text(value[0]);
|
||||
toastrErrorBuild(value[0]);
|
||||
});
|
||||
// toastrErrorBuild(error);
|
||||
}
|
||||
hideLoadingSwal();
|
||||
console.log(errors);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 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);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
|
||||
function updateAnalisa(params) {
|
||||
const inputMap = {
|
||||
jenis_asset: 'jenis_asset_tidak_sesuai',
|
||||
analisa_tanah: 'analisa_tanah_tidak_sesuai',
|
||||
analisa_unit: 'analisa_luas_unit_tidak_sesuai',
|
||||
analisa_bangunan: 'analisa_bangunan_tidak_sesuai',
|
||||
};
|
||||
|
||||
// Pastikan elemen ID ada di inputMap
|
||||
if (!inputMap[params]) {
|
||||
console.error('Parameter tidak valid:', params);
|
||||
return;
|
||||
}
|
||||
|
||||
// Ambil nilai berdasarkan parameter
|
||||
const inputValue = document.getElementById(inputMap[params]).value;
|
||||
const data = {
|
||||
[params === 'jenis_asset' ? 'jenis_asset' : params.replace('analisa_', 'luas_')]: inputValue,
|
||||
types: params
|
||||
};
|
||||
|
||||
$.ajax({
|
||||
url: '{{ route('surveyor.update_analisa', ['id' => $permohonan->id]) }}',
|
||||
type: 'POST',
|
||||
data: data,
|
||||
headers: {
|
||||
'X-CSRF-TOKEN': '{{ csrf_token() }}'
|
||||
},
|
||||
success: function(response) {
|
||||
console.log(response);
|
||||
if (response.success) {
|
||||
// window.location.href =
|
||||
// '{{ route('surveyor.show', ['id' => $permohonan->id]) }}';
|
||||
toastrSuccessBuild(response.message);
|
||||
}
|
||||
},
|
||||
error: function(xhr, status, error) {
|
||||
console.error('Terjadi error:', error);
|
||||
console.log('Status:', status);
|
||||
console.log('Response:', xhr.responseText);
|
||||
if (xhr.responseJSON.message) {
|
||||
toastrErrorBuild(xhr.responseJSON.message);
|
||||
} else {
|
||||
toastrErrorBuild('Terjadi kesalahan');
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
@include('lpj::surveyor.js.utils')
|
||||
@endpush
|
||||
694
resources/views/penilai/components/resume.blade.php
Normal file
694
resources/views/penilai/components/resume.blade.php
Normal file
@@ -0,0 +1,694 @@
|
||||
@extends('layouts.main')
|
||||
|
||||
@section('breadcrumbs')
|
||||
{{ Breadcrumbs::render(request()->route()->getName()) }}
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<style>
|
||||
.list-decimal {
|
||||
list-style-type: decimal;
|
||||
margin: 0;
|
||||
padding-left: 1.25rem;
|
||||
line-height: 1.6;
|
||||
font-family: Arial, sans-serif;
|
||||
font-size: 16px;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.list-decimal li {
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
</style>
|
||||
@include('lpj::assetsku.includenya')
|
||||
@php
|
||||
$paparan = $permohonan->status === 'proses-paparan' ? 'Paparan' : 'Pelaporan';
|
||||
@endphp
|
||||
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto ">
|
||||
|
||||
<form id="formResume" method="POST" class="w-full grid gap-5">
|
||||
@csrf
|
||||
|
||||
@foreach ($permohonan->documents as $dokumen)
|
||||
@if ($dokumen->jenisJaminan)
|
||||
@php
|
||||
$formKategori = json_decode($dokumen->jenisJaminan->form_kategori, true);
|
||||
$jenisAset = $dokumen->jenisJaminan->name;
|
||||
@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) }}">
|
||||
@endif
|
||||
@endif
|
||||
@endforeach
|
||||
<div class="card">
|
||||
<div class="card-header bg-agi-50">
|
||||
<h3 class="card-title uppercase">
|
||||
Data Jaminan
|
||||
</h3>
|
||||
@php
|
||||
use Illuminate\Support\Facades\Route;
|
||||
@endphp
|
||||
<div class="flex items-center gap-2">
|
||||
|
||||
@if (Auth::user()->hasAnyRole(['administrator', 'senior-officer', 'EO Appraisal', 'DD Appraisal']) &&
|
||||
Route::currentRouteName('otorisator.show'))
|
||||
<a href="{{ route('otorisator.show', ['id' => $permohonan->id, 'type' => $paparan]) }}"
|
||||
class="btn btn-xs btn-info">
|
||||
<i class="ki-filled ki-exit-left"></i> Back
|
||||
</a>
|
||||
@elseif (Auth::user()->hasAnyRole(['administrator', 'surveyor']) && Route::currentRouteName('penilai.show'))
|
||||
<a href="{{ route('penilai.show', $permohonan->id) }}" class="btn btn-xs btn-info">
|
||||
<i class="ki-filled ki-exit-left"></i> Back
|
||||
</a>
|
||||
@endif
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body 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">Nama Debitur</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 class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Alamat Object</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
@foreach ($permohonan->documents as $dokumen)
|
||||
<span class="text-2sm text-gray-700">
|
||||
{{ formatAlamat($dokumen->pemilik) }}
|
||||
</span>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Nomor Registrasi</label>
|
||||
<div class="flex flex-wrap items-base line w-full">
|
||||
<p class="text-2sm text-gray-700">{{ $permohonan->nomor_registrasi }}</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">Nomor Laporan</label>
|
||||
<div class="flex flex-wrap items-base line w-full">
|
||||
<p class="text-2sm text-gray-700">{{ $nomorLaporan ?? '' }}</p>
|
||||
</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 class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Tanggal Resume</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="date" name="tanggal_resume" class="input w-full" placeholder="Masukkan..."
|
||||
value="{{ $resumeData['tanggal_resume'] ?? '' }}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card ">
|
||||
<div class="card-header bg-agi-50">
|
||||
<h3 class="card-title uppercase">
|
||||
faktor
|
||||
</h3>
|
||||
</div>
|
||||
<div class="card-body 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>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="card border border-agi-100 min-w-full ">
|
||||
<div class="card-header bg-agi-50">
|
||||
<h3 class="card-title uppercase">
|
||||
KESIMPULAN NILAI PASAR WAJAR
|
||||
</h3>
|
||||
</div>
|
||||
<div class="card-body grid gap-5">
|
||||
|
||||
<div class="gird gap-5 ">
|
||||
<label class="form-label max-w-56">SESUAI FISIK</label>
|
||||
<div class="flex flex-wrap items-baseline w-full mt-5">
|
||||
<table class="table table-auto table-border align-middle text-gray-700 font-medium text-sm">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="text-center">Sertipikat</th>
|
||||
<th class="text-center">Luas Tanah</th>
|
||||
<th class="text-center">Luas Bangunan</th>
|
||||
<th class="text-center">Nilai Pasar Wajar</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
</thead>
|
||||
<tbody>
|
||||
@if (!empty($resumeData['fisik']))
|
||||
@foreach ($resumeData['fisik'] as $item)
|
||||
<tr>
|
||||
<td class="text-center">
|
||||
<input type="text" name="fisik_sertifikat[]"
|
||||
class="input number-format" value="{{ $item['sertifikat'] }}">
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<input type="text" name="fisik_luas_tanah[]"
|
||||
class="input number-format" value="{{ $item['luas_tanah'] }}">
|
||||
</td>
|
||||
<td class="text-center"> <input type="text"
|
||||
name="fisik_luas_bangunan[]" value="{{ $item['luas_bangunan'] }}"
|
||||
class="input number-format"></td>
|
||||
<td class="text-center">
|
||||
<input type="text" name="fisik_nilai[]"
|
||||
class="input currency-format nilai-pasar"
|
||||
value="{{ $item['nilai'] }}">
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
@endforeach
|
||||
@else
|
||||
<tr>
|
||||
<td class="text-center">
|
||||
<input type="text" name="fisik_sertifikat[]"
|
||||
class="input number-format">
|
||||
</td>
|
||||
|
||||
@if (isset($permohonan->documents))
|
||||
@foreach ($permohonan->documents as $item)
|
||||
@php
|
||||
$luas_tanah = '';
|
||||
$luas_bangunan = '';
|
||||
if ($item->detail) {
|
||||
foreach ($item->detail as $luas) {
|
||||
if (
|
||||
isset($luas->name) &&
|
||||
$luas->name === 'Sertifikat'
|
||||
) {
|
||||
$details = json_decode($luas->details, true);
|
||||
$luas_tanah = isset($details['luas_tanah'])
|
||||
? $details['luas_tanah']
|
||||
: '';
|
||||
break;
|
||||
}
|
||||
|
||||
if (isset($luas->name) && $luas->name === 'IMB') {
|
||||
$details = json_decode($luas->details, true);
|
||||
$luas_bangunan = isset($details['luas_bangunan'])
|
||||
? $details['luas_bangunan']
|
||||
: '';
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@endphp
|
||||
@endforeach
|
||||
@endif
|
||||
<td class="text-center">
|
||||
<input type="text" name="fisik_luas_tanah[]"
|
||||
class="input number-format" value="{{ $luas_tanah }}">
|
||||
</td>
|
||||
<td class="text-center"> <input type="text" name="fisik_luas_bangunan[]"
|
||||
class="input number-format" value="{{ $luas_bangunan }}"></td>
|
||||
<td class="text-center">
|
||||
<input type="text" name="fisik_nilai[]"
|
||||
class="input currency-format nilai-pasar">
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
@endif
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if (!empty($resumeData['tambahan']))
|
||||
@foreach ($resumeData['tambahan'] as $counter => $item)
|
||||
<div id="kesimpulan" class="gird gap-5 ">
|
||||
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
|
||||
<table
|
||||
class="table table-auto table-border align-middle text-gray-700 font-medium text-sm mt-5">
|
||||
<input class="input" name="tambahan_nama_kesimpulan[]"
|
||||
placeholder="Masukkan Nama Kesimpulan" type="text"
|
||||
value="{{ $item['tambahan_nama_kesimpulan'] ?? '' }}">
|
||||
|
||||
|
||||
<thead>
|
||||
|
||||
<tr>
|
||||
<th class="text-center">Sertipikat</th>
|
||||
<th class="text-center">Luas Tanah</th>
|
||||
<th class="text-center">Luas Bangunan</th>
|
||||
<th class="text-center">Nilai Pasar Wajar</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
<tr>
|
||||
<td class="text-center">
|
||||
<input type="text" name="tambahan_sertifikat[]"
|
||||
class="input number-format" value="{{ $item['sertifikat'] }}">
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<input type="text" name="tambahan_luas_tanah[]"
|
||||
class="input number-format" value="{{ $item['luas_tanah'] }}">
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<input type="text" name="tambahan_luas_bangunan[]"
|
||||
class="input number-format" value="{{ $item['luas_bangunan'] }}">
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<input type="text" name="tambahan_nilai[]"
|
||||
class="input currency-format nilai-pasar"
|
||||
value="{{ $item['nilai'] }}">
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
<div id="kesimpulan" class="grid gap-5 w-full"></div>
|
||||
<div class="">
|
||||
<button type="button" class="btn btn-primary btn-sm mt-5" onclick="tambahKesimpulanNilai()">
|
||||
<i class="ki-outline ki-plus"></i>
|
||||
Kesimpulan Nilai
|
||||
</button>
|
||||
</div>
|
||||
|
||||
|
||||
<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 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 ">DISCLAIMER
|
||||
</label>
|
||||
<div class="input-group w-full flex gap-2">
|
||||
<ol class="list-decimal pl-5 space-y-2">
|
||||
<li>LAPORAN RESUME INI DIKELUARKAN DIKARENAKAN BELUM DILAKUKANNYA PEMBAYARAN BIAYA PENILAIAN
|
||||
JAMINAN
|
||||
</li>
|
||||
<li>LAPORAN RESUME INI TIDAK BISA DIJADIKAN SEBAGAI DASAR PENGAJUAN DAN ATAU PENCAIRAN
|
||||
KREDIT, LAPORAN YANG
|
||||
DIGUNAKAN TETAP WAJIB BERUPA LAPORAN PENILAIAN JAMINAN (LPJ)
|
||||
</li>
|
||||
<li>DETAIL PER METER TANAH DAN BANGUNAN, SARANA PELENGKAP DLL AKAN TERCATAT DI LAPORAN
|
||||
PENILAIAN JAMINAN
|
||||
(LPJ) NANTI
|
||||
</li>
|
||||
<li>LAPORAN RESUME INI HANYA DIGUNAKAN UNTUK KEPENTINGAN INTERNAL BAGI
|
||||
</li>
|
||||
<li>LAPORAN RESUME INI HANYA BERLAKU 14 HARI KALENDER TERHITUNG DARI TANGGAL RESUME INI
|
||||
DIBUAT SESUAI ATURAN
|
||||
YANG BERLAKU, APABILA LEWAT MAKA HARUS DILAKUKAN ORDER ULANG SESUAI PROSEDUR YANG
|
||||
BERLAKU
|
||||
</li>
|
||||
<li class="uppercase">Apabila sudah melewati 6 bulan, maka harus penilaian ulang kembali
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex card-footer justify-end gap-5">
|
||||
|
||||
@if (Auth::user()->hasAnyRole(['senior-officer', 'surveyor', 'administrator']))
|
||||
<button type="button" class="btn btn-primary" onclick="saveResume()" {{ $permohonan->status == 'proses-paparan' || $permohonan->status == 'proses-laporan' && Auth::user()->hasAnyRole(['surveyor']) ? 'disabled' : '' }}>
|
||||
<i class="ki-filled ki-save-2"></i>
|
||||
Simpan</button>
|
||||
@endif
|
||||
|
||||
@if (Auth::user()->hasAnyRole(['senior-officer', 'EO Appraisal', 'DD Appraisal', 'administrator']))
|
||||
<a class="btn btn-info"
|
||||
href="{{ route('penilai.lampiran') }}?permohonanId={{ request('permohonanId') }}&documentId={{ request('documentId') }}&jaminanId={{ request('jaminanId') }}&statusLpj=1">
|
||||
Lampiran Foto dan Dokumen
|
||||
</a>
|
||||
<a href="{{ route('surveyor.print_out_inspeksi', ['permohonan_id' => $permohonan->id, 'dokument_id' => request('documentId'), 'jenis_jaminan_id' => request('jaminanId')]) }}"
|
||||
class="btn btn-light">
|
||||
<i class="ki-filled ki-printer"></i>Cetak Hasil Inspeksi
|
||||
</a>
|
||||
<a class="btn btn-success"
|
||||
onclick="checkLaporan('{{ $permohonan->id }}', '{{ request('documentId') }}', {{ request('jaminanId') }}, )">
|
||||
<i class="ki-filled ki-printer"></i> Cetak Laporan
|
||||
</a>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
@endsection
|
||||
@include('lpj::surveyor.js.utils')
|
||||
<script type="text/javascript">
|
||||
let data = @json($resumeData ?? 0);
|
||||
console.log(data);
|
||||
let counter = 3;
|
||||
|
||||
function tambahKesimpulanNilai() {
|
||||
const kesimpulan = document.getElementById('kesimpulan');
|
||||
|
||||
kesimpulan.innerHTML += `
|
||||
<div class="grid gap-5 w-full mt-5" id="kesimpulan-${counter}">
|
||||
|
||||
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<div class="tabel-container w-full">
|
||||
<table class="table table-auto table-border align-middle text-gray-700 font-medium text-sm mt-5">
|
||||
|
||||
<input type="text" name="tambahan_nama_kesimpulan[]"
|
||||
class="input number-format"
|
||||
placeholder="Masukkan Nama Kesimpulan.."
|
||||
>
|
||||
|
||||
<thead>
|
||||
|
||||
<tr>
|
||||
<th class="text-center">Sertipikat</th>
|
||||
<th class="text-center">Luas Tanah</th>
|
||||
<th class="text-center">Luas Bangunan</th>
|
||||
<th class="text-center">Nilai Pasar Wajar</th>
|
||||
|
||||
<th class="text-center">Aksi</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
<td class="text-center">
|
||||
<input type="text" name="tambahan_sertifikat[]"
|
||||
class="input number-format">
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<input type="text" name="tambahan_luas_tanah[]"
|
||||
class="input number-format">
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<input type="text" name="tambahan_luas_bangunan[]"
|
||||
class="input number-format">
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<input type="text" name="tambahan_nilai[]"
|
||||
class="input currency-format nilai-pasar">
|
||||
</td>
|
||||
|
||||
|
||||
<td class="text-center">
|
||||
<button type="button" class="btn btn-danger" onclick="deleteRow(this)">Delete</button>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
|
||||
const newCurrencyInputs = kesimpulan.querySelectorAll(`#kesimpulan-${counter} .currency-format`);
|
||||
newCurrencyInputs.forEach(input => {
|
||||
input.addEventListener('input', function() {
|
||||
handleCurrencyInput(this);
|
||||
});
|
||||
|
||||
// Format initial value jika ada
|
||||
if (input.value) {
|
||||
input.value = formatCurrency(input.value);
|
||||
}
|
||||
});
|
||||
counter++;
|
||||
}
|
||||
|
||||
function deleteRow(button) {
|
||||
const rowContainer = button.closest('.grid');
|
||||
rowContainer.remove();
|
||||
updateLabelNumbers();
|
||||
}
|
||||
|
||||
function updateLabelNumbers() {
|
||||
const labels = document.querySelectorAll('.kesimpulan');
|
||||
labels.forEach((label, index) => {
|
||||
// Update setiap label dengan nomor yang benar
|
||||
label.textContent = `${index + 1}. SESUAI IMB`;
|
||||
});
|
||||
}
|
||||
|
||||
function saveResume() {
|
||||
showLoadingSwal('Mengirim data keserver ...');
|
||||
|
||||
const formElement = document.querySelector('form');
|
||||
const jsonData = formToJson(formElement);
|
||||
console.log('Data dalam format JSON:', JSON.stringify(jsonData, null, 2));
|
||||
|
||||
const urlParams = new URLSearchParams(window.location.search); // Mengambil query parameters dari URL
|
||||
const permohonanId = urlParams.get('permohonanId');
|
||||
const documentId = urlParams.get('documentId');
|
||||
const faktaPositif = Array.from(document.querySelectorAll('[name="fakta_positif[]"]'))
|
||||
.map(textarea => textarea.value.trim())
|
||||
.filter(value => value !== '');
|
||||
|
||||
const faktaNegatif = Array.from(document.querySelectorAll('[name="fakta_negatif[]"]'))
|
||||
.map(textarea => textarea.value.trim())
|
||||
.filter(value => value !== '');
|
||||
const keterangan = Array.from(document.querySelectorAll('[name="keterangan[]"]'))
|
||||
.map(textarea => textarea.value.trim())
|
||||
.filter(value => value !== '');
|
||||
|
||||
const action = Array.from(document.querySelectorAll('input[name="action"]'))
|
||||
.map(input => input.value)
|
||||
.join(',') || "";
|
||||
const type = Array.from(document.querySelectorAll('input[name="type"]'))
|
||||
.map(input => input.value)
|
||||
.join(',') || "";
|
||||
|
||||
const requestUrl =
|
||||
`{{ route('penilai.storeResume') }}`;
|
||||
|
||||
|
||||
$.ajax({
|
||||
url: requestUrl,
|
||||
type: 'POST',
|
||||
data: JSON.stringify({
|
||||
permohonan_id: permohonanId,
|
||||
dokument_id: documentId,
|
||||
resume: jsonData,
|
||||
fakta_positif: faktaPositif,
|
||||
fakta_negatif: faktaNegatif,
|
||||
action: action,
|
||||
type: type,
|
||||
keterangan: keterangan
|
||||
|
||||
}),
|
||||
contentType: 'application/json',
|
||||
|
||||
|
||||
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.reload();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
Swal.fire({
|
||||
title: 'Error!',
|
||||
text: response.message || 'Terjadi kesalahan',
|
||||
icon: 'error',
|
||||
confirmButtonText: 'OK'
|
||||
});
|
||||
}
|
||||
console.log(response);
|
||||
},
|
||||
error: function(xhr, status, error) {
|
||||
|
||||
let errors = xhr.responseJSON?.errors;
|
||||
$('.alert').text('');
|
||||
if (errors) {
|
||||
$.each(errors, function(key, value) {
|
||||
$(`#error-${key}`).text(value[0]);
|
||||
toastrErrorBuild(value[0]);
|
||||
});
|
||||
// toastrErrorBuild(error);
|
||||
}
|
||||
hideLoadingSwal();
|
||||
console.log(errors);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function formToJson(formElement) {
|
||||
const formData = new FormData(formElement);
|
||||
const jsonData = {
|
||||
tanggal_resume: "",
|
||||
fisik: [],
|
||||
tambahan: []
|
||||
};
|
||||
|
||||
|
||||
// Ambil data fisik
|
||||
document.querySelectorAll('table tbody tr').forEach(row => {
|
||||
const fisikData = {
|
||||
sertifikat: row.querySelector('input[name="fisik_sertifikat[]"]')?.value || "",
|
||||
luas_tanah: row.querySelector('input[name="fisik_luas_tanah[]"]')?.value || "",
|
||||
luas_bangunan: row.querySelector('input[name="fisik_luas_bangunan[]"]')?.value || "",
|
||||
nilai: cleanCurrencyValue(row.querySelector('input[name="fisik_nilai[]"]')?.value || "")
|
||||
};
|
||||
if (fisikData.sertifikat) {
|
||||
jsonData.fisik.push(fisikData);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
document.querySelectorAll('#kesimpulan > div').forEach(row => {
|
||||
const imbData = {
|
||||
tambahan_nama_kesimpulan: row.querySelector('input[name="tambahan_nama_kesimpulan[]"]')
|
||||
?.value || "",
|
||||
sertifikat: row.querySelector('input[name="tambahan_sertifikat[]"]')?.value || "",
|
||||
luas_tanah: row.querySelector('input[name="tambahan_luas_tanah[]"]')?.value || "",
|
||||
luas_bangunan: row.querySelector('input[name="tambahan_luas_bangunan[]"]')?.value || "",
|
||||
nilai: cleanCurrencyValue(row.querySelector('input[name="tambahan_nilai[]"]')?.value || "")
|
||||
};
|
||||
console.log(imbData);
|
||||
if (imbData.sertifikat) {
|
||||
jsonData.tambahan.push(imbData);
|
||||
}
|
||||
});
|
||||
|
||||
const tanggal_resume = formElement.querySelector('input[name="tanggal_resume"]')?.value || "";
|
||||
jsonData.tanggal_resume = tanggal_resume;
|
||||
|
||||
return jsonData;
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
74
resources/views/penilai/edit.blade.php
Normal file
74
resources/views/penilai/edit.blade.php
Normal file
@@ -0,0 +1,74 @@
|
||||
@extends('layouts.main')
|
||||
|
||||
@section('breadcrumbs')
|
||||
{{ Breadcrumbs::render('penilai.edit') }}
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
|
||||
<div class="card border border-agi-100 pb-2.5">
|
||||
<div class="card-header bg-agi-50" id="basic_settings">
|
||||
<div class="card-title flex flex-row gap-1.5">
|
||||
Upload File Paparan
|
||||
</div>
|
||||
<div class="flex items-center gap-2">
|
||||
<a href="{{ route('penilai.index') }}" class="btn btn-xs btn-info"><i class="ki-filled ki-exit-left"></i> Back</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<form action="{{ route('penilai.storePaparan',['id'=> $permohonan->id]) }}" method="POST" class="grid gap-5" enctype="multipart/form-data">
|
||||
@csrf
|
||||
<input type="hidden" name="permohonan_id" value="{{ $permohonan->id }}">
|
||||
<input type="hidden" name="dokument_id" value="{{ request('document_id') }}">
|
||||
<input type="hidden" name="inspeksi_id" value="{{ request('inspeksi_id') }}">
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
Nomor Registrasi
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input readonly type="text" name="nomor_registrasi" id="nomor_registrasi" class="input w-full @error('nomor_registrasi') border-danger bg-danger-light @enderror" value="{{ old('nomor_registrasi', $permohonan->nomor_registrasi ?? '') }}" placeholder="Nomor Registrasi">
|
||||
@error('nomor_registrasi')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
Debitur
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input readonly type="text" name="debitur" id="debitur" class="input w-full @error('debitur') border-danger bg-danger-light @enderror" value="{{ old('debitur', $permohonan->debiture->name ?? '') }}" placeholder="Debitur">
|
||||
@error('debitur')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
File Paparan
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input type="file" name="file_paparan" id="file_paparan" class="file-input w-full @error('file_paparan') border-danger bg-danger-light @enderror" accept=".pdf,.jpg,.jpeg,.png">
|
||||
@error('file_paparan')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex justify-end">
|
||||
<button type="submit" class="btn btn-primary">
|
||||
Proses
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
|
||||
@push('scripts')
|
||||
|
||||
@endpush
|
||||
356
resources/views/penilai/index.blade.php
Normal file
356
resources/views/penilai/index.blade.php
Normal file
@@ -0,0 +1,356 @@
|
||||
@extends('layouts.main')
|
||||
|
||||
@section('breadcrumbs')
|
||||
{{ Breadcrumbs::render('penilai') }}
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
|
||||
|
||||
|
||||
<div class="card border border-agi-100 card-grid min-w-full" data-datatable="false" data-datatable-page-size="10"
|
||||
data-datatable-state-save="false" id="penilai-table" data-api-url="{{ route('penilai.dataForTables') }}">
|
||||
<div class="card-header bg-agi-50 py-5 flex-wrap">
|
||||
<h3 class="card-title">
|
||||
Penilai
|
||||
</h3>
|
||||
<div class="flex flex-wrap gap-2 lg:gap-5">
|
||||
<div class="flex">
|
||||
<label class="input input-sm"> <i class="ki-filled ki-magnifier"> </i>
|
||||
<input placeholder="Search Penilai" id="search" type="text" value="">
|
||||
</label>
|
||||
</div>
|
||||
<div class="flex flex-wrap gap-2.5">
|
||||
<div class="h-[24px] border border-r-gray-200"></div>
|
||||
<a class="btn btn-sm btn-light" href="#"> Export to Excel </a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
<div class="scrollable-x-auto">
|
||||
<table class="table table-auto table-border align-middle text-gray-700 font-medium text-sm"
|
||||
data-datatable-table="true">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="w-14">
|
||||
<input class="checkbox checkbox-sm" data-datatable-check="true" type="checkbox" />
|
||||
</th>
|
||||
<th class="min-w-[150px]" data-datatable-column="nomor_registrasi">
|
||||
<span class="sort"> <span class="sort-label"> Nomor Registrasi </span>
|
||||
<span class="sort-icon"> </span> </span>
|
||||
</th>
|
||||
<th class="min-w-[150px]" data-datatable-column="debitur_id">
|
||||
<span class="sort"> <span class="sort-label"> Debitur </span>
|
||||
<span class="sort-icon"> </span> </span>
|
||||
</th>
|
||||
<th class="min-w-[150px]" data-datatable-column="branch_id">
|
||||
<span class="sort"> <span class="sort-label"> Pemohon(Cabang/Direktorat) </span>
|
||||
<span class="sort-icon"> </span> </span>
|
||||
</th>
|
||||
<th class="min-w-[150px]" data-datatable-column="user_id">
|
||||
<span class="sort"> <span class="sort-label"> AO </span>
|
||||
<span class="sort-icon"> </span> </span>
|
||||
</th>
|
||||
<th class="min-w-[150px]" data-datatable-column="tujuan_penilaian_id">
|
||||
<span class="sort"> <span class="sort-label"> Tujuan Penilaian </span>
|
||||
<span class="sort-icon"> </span> </span>
|
||||
</th>
|
||||
<th class="min-w-[150px]" data-datatable-column="jenis_fasilitas_kredit_id">
|
||||
<span class="sort"> <span class="sort-label"> Fasilitas Kredit </span>
|
||||
<span class="sort-icon"> </span> </span>
|
||||
</th>
|
||||
<th class="min-w-[150px]" data-datatable-column="jenis_laporan">
|
||||
<span class="sort"> <span class="sort-label"> Jenis Laporan </span>
|
||||
<span class="sort-icon"> </span> </span>
|
||||
</th>
|
||||
<th class="min-w-[150px]" data-datatable-column="tanggal_survei">
|
||||
<span class="sort"> <span class="sort-label"> Tanggal Survei </span>
|
||||
<span class="sort-icon"> </span> </span>
|
||||
</th>
|
||||
<th class="min-w-[150px]" data-datatable-column="due_date_sla">
|
||||
<span class="sort"> <span class="sort-label"> Due Date SLA </span>
|
||||
<span class="sort-icon"> </span> </span>
|
||||
</th>
|
||||
<th class="min-w-[150px]" data-datatable-column="status">
|
||||
<span class="sort"> <span class="sort-label"> Status</span>
|
||||
<span class="sort-icon"> </span> </span>
|
||||
</th>
|
||||
<th class="min-w-[50px] text-center" data-datatable-column="actions">Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
<div
|
||||
class="card-footer justify-center md:justify-between flex-col md:flex-row gap-3 text-gray-600 text-2sm font-medium">
|
||||
<div class="flex items-center gap-2">
|
||||
Show
|
||||
<select class="select select-sm w-16" data-datatable-size="true" name="perpage"> </select> per
|
||||
page
|
||||
</div>
|
||||
<div class="flex items-center gap-4">
|
||||
<span data-datatable-info="true"> </span>
|
||||
<div class="pagination" data-datatable-pagination="true">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
|
||||
@push('scripts')
|
||||
<script type="text/javascript">
|
||||
function formatDate(date) {
|
||||
const day = date.getDate().toString().padStart(2, '0');
|
||||
const month = (date.getMonth() + 1).toString().padStart(2, '0');
|
||||
// Months are 0-indexed
|
||||
const year = date.getFullYear();
|
||||
|
||||
return `${day} ${getIndonesianMonth(month)} ${year}`;
|
||||
}
|
||||
|
||||
function getIndonesianMonth(month) {
|
||||
const months = ['Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni',
|
||||
'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember'
|
||||
];
|
||||
return months[month -
|
||||
1];
|
||||
}
|
||||
</script>
|
||||
<script type="module">
|
||||
const element = document.querySelector('#penilai-table');
|
||||
const searchInput = document.getElementById('search');
|
||||
|
||||
const apiUrl = element.getAttribute('data-api-url');
|
||||
const dataTableOptions = {
|
||||
apiEndpoint: apiUrl,
|
||||
pageSize: 5,
|
||||
columns: {
|
||||
select: {
|
||||
render: (item, data, context) => {
|
||||
const checkbox = document.createElement('input');
|
||||
checkbox.className = 'checkbox checkbox-sm';
|
||||
checkbox.type = 'checkbox';
|
||||
checkbox.value = data.id.toString();
|
||||
checkbox.setAttribute('data-datatable-row-check', 'true');
|
||||
return checkbox.outerHTML.trim();
|
||||
},
|
||||
},
|
||||
nomor_registrasi: {
|
||||
title: 'Nomor Registrasi',
|
||||
},
|
||||
debitur_id: {
|
||||
title: 'Debitur',
|
||||
render: (item, data) => {
|
||||
return data.debiture && data.debiture.name ? `${data.debiture.name}` : '-';
|
||||
},
|
||||
},
|
||||
branch_id: {
|
||||
title: 'Cabang Pemohon',
|
||||
render: (item, data) => {
|
||||
return data.branch && data.branch.name ? `${data.branch.name}` : '-';
|
||||
},
|
||||
},
|
||||
user_id: {
|
||||
title: 'User Pemohon',
|
||||
render: (item, data) => {
|
||||
return data.user && data.user.name ? `${data.user.name}` : '-';
|
||||
},
|
||||
},
|
||||
tujuan_penilaian_id: {
|
||||
title: 'Tujuan Penilaian',
|
||||
render: (item, data) => {
|
||||
return data.tujuan_penilaian && data.tujuan_penilaian.name ?
|
||||
`${data.tujuan_penilaian.name}` : '-';
|
||||
},
|
||||
},
|
||||
jenis_fasilitas_kredit_id: {
|
||||
title: 'Fasilitas Kredit',
|
||||
render: (item, data) => {
|
||||
return data.jenisfasilitas_kredit && data.jenisfasilitas_kredit.name ?
|
||||
`${data.jenisfasilitas_kredit.name}` : '-';
|
||||
},
|
||||
},
|
||||
jenis_laporan: {
|
||||
title: 'Jenis Laporan',
|
||||
render: (item, data) => {
|
||||
return data.penilai?.type;
|
||||
},
|
||||
},
|
||||
tanggal_survei: {
|
||||
title: 'Tanggal Survei',
|
||||
render: (item, data) => {
|
||||
if (data.penilaian.waktu_penilaian) {
|
||||
return `${formatDate(new Date(data.penilaian.waktu_penilaian))}`;
|
||||
}
|
||||
return `${formatDate(new Date(data.penilaian.created_at))}`;
|
||||
},
|
||||
},
|
||||
due_date_sla: {
|
||||
title: 'Due Date SLA',
|
||||
render: (item, data) => {
|
||||
const tujuan_penilaian = data.tujuan_penilaian.name;
|
||||
const tipe_laporan = data.penilai?.type;
|
||||
const nilai_plafond = data.penilaian.nilaiPlafond?.name;
|
||||
let waktu_penilaian = new Date(data.penilaian.created_at);
|
||||
if (data.penilaian.waktu_penilaian) {
|
||||
waktu_penilaian = new Date(data.penilaian.waktu_penilaian);
|
||||
}
|
||||
|
||||
if (tujuan_penilaian.name === "RAP") {
|
||||
waktu_penilaian.setDate(waktu_penilaian.getDate() + 3);
|
||||
} else {
|
||||
if (tipe_laporan === "sederhana") {
|
||||
waktu_penilaian.setDate(waktu_penilaian.getDate() + 2);
|
||||
} else if (tipe_laporan === "standar") {
|
||||
if (nilai_plafond === "2 M - 5 M") {
|
||||
waktu_penilaian.setDate(waktu_penilaian.getDate() + 3);
|
||||
} else if (nilai_plafond === "< 2M") {
|
||||
waktu_penilaian.setDate(waktu_penilaian.getDate() + 3);
|
||||
} else {
|
||||
waktu_penilaian.setDate(waktu_penilaian.getDate() + 5);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
return formatDate(waktu_penilaian);
|
||||
|
||||
},
|
||||
},
|
||||
status: {
|
||||
title: 'Status',
|
||||
render: (item, data) => {
|
||||
return `<span class="badge badge-sm badge-default uppercase flex justify-center">${data.status.replace(/-/g, ' ')}</span>`;
|
||||
},
|
||||
},
|
||||
actions: {
|
||||
title: 'Action',
|
||||
render: (item, data) => {
|
||||
if (data.status === 'survey-completed' || data.status === 'proses-laporan' || data
|
||||
.status === 'paparan' || data.status === 'proses-paparan' || data.status ===
|
||||
'paparan' || data.status == 'revisi-laporan' || data.status === 'done' || data
|
||||
.status === 'revisi-paparan' || data.status === 'unfreeze-sla' || data.status === 'reject-freeze') {
|
||||
return `
|
||||
<div class="flex flex-nowrap justify-center gap-1.5">
|
||||
<a class="btn btn-sm btn-icon btn-clear btn-info" href="penilai/${data.id}/show">
|
||||
<i class="ki-outline ki-eye"></i>
|
||||
</a>
|
||||
<button type="button"
|
||||
class="btn btn-sm btn-icon btn-clear btn-warning"
|
||||
onclick="surveyorFreeze('${data.id}', '${data.nomor_registrasi}', '${data.debiture?.name}')"
|
||||
title="Freeze SLA">
|
||||
<i class="ki-filled ki-arrow-circle-right"></i>
|
||||
</button>
|
||||
</div>`;
|
||||
} else if (data.status === 'request-freeze') {
|
||||
return `
|
||||
<div class="flex flex-nowrap justify-center">
|
||||
<a class="btn btn-sm btn-icon btn-clear btn-warning" onclick="showLoadingSwal('Masih dalam proses pengajuan freeze...')">
|
||||
<i class="ki-filled ki-watch"></i>
|
||||
</a>
|
||||
</div>`;
|
||||
}else if(data.status === 'freeze'){
|
||||
return ` <div class="flex flex-nowrap justify-center gap-1.5">
|
||||
<a class="btn btn-sm btn-icon btn-clear btn-info" href="penilai/${data.id}/show">
|
||||
<i class="ki-outline ki-eye"></i>
|
||||
</a>
|
||||
</div>`
|
||||
} else{
|
||||
return `<div class="flex flex-nowrap justify-center">
|
||||
<a class="btn btn-sm btn-icon btn-clear btn-success" onclick="showLoadingSwal('Masih Menunggu proses ...')">
|
||||
<i class="ki-filled ki-watch"></i>
|
||||
</a>
|
||||
</div>`
|
||||
}
|
||||
|
||||
},
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
let dataTable = new KTDataTable(element, dataTableOptions);
|
||||
// Custom search functionality
|
||||
searchInput.addEventListener('input', function() {
|
||||
const searchValue = this.value.trim();
|
||||
dataTable.search(searchValue, true);
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
<script>
|
||||
function surveyorFreeze(permohonanId, noReg, debitur) {
|
||||
|
||||
Swal.fire({
|
||||
title: 'Apakah Anda yakin?',
|
||||
text: "Yakin akan Request Freeze dengan " + noReg + " untuk Debitur " + debitur +
|
||||
" ?",
|
||||
icon: 'warning',
|
||||
input: 'textarea',
|
||||
inputLabel: 'Keterangan',
|
||||
inputPlaceholder: 'Masukkan keterangan...',
|
||||
inputAttributes: {
|
||||
'aria-label': 'Masukkan keterangan'
|
||||
},
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
confirmButtonText: 'Ya, Lanjutkan!',
|
||||
cancelButtonText: 'Batal',
|
||||
}).then((result) => {
|
||||
if (result.isConfirmed) {
|
||||
const userMessage = result.value || ''; // Ambil pesan dari textarea
|
||||
$.ajaxSetup({
|
||||
headers: {
|
||||
'X-CSRF-TOKEN': '{{ csrf_token() }}'
|
||||
},
|
||||
});
|
||||
$.ajax({
|
||||
url: `/surveyor/storeFreeze/${permohonanId}`,
|
||||
type: 'POST',
|
||||
data: {
|
||||
keterangan: userMessage
|
||||
},
|
||||
success: (response) => {
|
||||
Swal.fire('Berhasil!',
|
||||
response.message,
|
||||
'success').then(() => {
|
||||
window.location.reload();
|
||||
});
|
||||
console.log(response);
|
||||
},
|
||||
error: (error) => {
|
||||
console.error('Error:', error);
|
||||
Swal.fire('Gagal!', 'Terjadi kesalahan saat melakukan Freeze.',
|
||||
'error');
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function showLoadingSwal(message, duration = 5000) {
|
||||
Swal.fire({
|
||||
title: message,
|
||||
allowOutsideClick: false,
|
||||
didOpen: () => {
|
||||
Swal.showLoading();
|
||||
},
|
||||
timer: duration, // Durasi dalam milidetik
|
||||
timerProgressBar: true, // Menampilkan progres bar timer
|
||||
}).then((result) => {
|
||||
if (result.dismiss === Swal.DismissReason.timer) {
|
||||
console.log('Dialog loading otomatis ditutup.');
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
@endpush
|
||||
114
resources/views/penilai/lampiran.blade.php
Normal file
114
resources/views/penilai/lampiran.blade.php
Normal file
@@ -0,0 +1,114 @@
|
||||
@extends('layouts.main')
|
||||
|
||||
@section('breadcrumbs')
|
||||
{{ Breadcrumbs::render(request()->route()->getName()) }}
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
|
||||
@if (Auth::user()->hasAnyRole(['senior-officer', 'administrator','DD Appraisal', 'EO Appraisal']) && Request::is('penilai/lampiran'))
|
||||
@include('lpj::component.detail-jaminan', [
|
||||
'backLink' => 'otorisator.view-laporan',
|
||||
'queryParams' => [
|
||||
'permohonanId' => request()->query('permohonanId'),
|
||||
'documentId' => request()->query('documentId'),
|
||||
'inspeksiId' => request()->query('inspeksiId'),
|
||||
'jaminanId' => request()->query('jaminanId'),
|
||||
'statusLpj' => 1,
|
||||
],
|
||||
'title' => 'Paparan dokument',
|
||||
])
|
||||
@else
|
||||
@include('lpj::component.detail-jaminan', [
|
||||
'backLink' => 'penilai.show',
|
||||
'id' => $permohonan->id,
|
||||
'title' => 'Lampiran foto dan dokumen',
|
||||
])
|
||||
@endif
|
||||
|
||||
@include('lpj::penilai.components.foto-lampiran')
|
||||
|
||||
|
||||
@if (isset($formDenah['denahs']) && is_array($formDenah['denahs']) && count($formDenah['denahs']) > 0)
|
||||
<div class="card ">
|
||||
<div class="card-header bg-agi-50 uppercase">
|
||||
Denah
|
||||
</div>
|
||||
@foreach ($formDenah['denahs'] as $index => $denah)
|
||||
<div class="card-body ">
|
||||
<div class="w-full grid gap-5 ">
|
||||
<!-- Preview Container -->
|
||||
<div class="preview-container-{{ $index }}" class="flex items-center">
|
||||
@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']) }}" class="max-w-full max-h-screen object-contain">
|
||||
@elseif($fileExtension === 'pdf')
|
||||
<embed src="{{ asset('storage/' . $denah['foto_denah']) }}" type="application/pdf"
|
||||
width="100%" height="500px">
|
||||
@endif
|
||||
@endif
|
||||
</div>
|
||||
<div class="flex flex-wrap lg:flex-nowrap w-full gap-4 text-start">
|
||||
<div class="w-full">
|
||||
<div class="flex flex-wrap gap-4">
|
||||
<div class="flex w-full items-center justify-start gap-4">
|
||||
<label class="form-label max-w-56">
|
||||
<span class="form-label">Nama Denah</span>
|
||||
</label>
|
||||
<p class="text-md text-gray-700">
|
||||
{{ isset($denah['nama_denah']) ? $denah['nama_denah'] : '' }}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-wrap gap-4">
|
||||
<div class="flex w-full items-center justify-start gap-4">
|
||||
<label class="form-label max-w-56">
|
||||
<span class="form-label">Total Luas</span>
|
||||
</label>
|
||||
<p class="text-md text-gray-700">
|
||||
{{ isset($denah['luas_denah']) ? $denah['luas_denah'] . ' m²' : '' }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="border-b border-b-gray-200 mt-5"></div>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if ($penilai && $penilai->kertas_kerja)
|
||||
<div class="card">
|
||||
<div class="card-header bg-agi-50 uppercase">
|
||||
Kertas Kerja
|
||||
</div>
|
||||
<div class="card-body flex items-center justify-between">
|
||||
|
||||
@php
|
||||
$url = '';
|
||||
$fileName = '';
|
||||
if ($penilai && $penilai->kertas_kerja) {
|
||||
$url = asset('storage/' . $penilai->kertas_kerja);
|
||||
$fileName = basename($penilai->kertas_kerja);
|
||||
}
|
||||
@endphp
|
||||
|
||||
@if ($penilai && $penilai->kertas_kerja)
|
||||
<button type="button" class="btn btn-primary" onclick="window.open('{{ $url }}', '_blank')">
|
||||
<i class="ki-outline ki-cloud-download"></i>
|
||||
Lihat Kertas Kerja</button>
|
||||
|
||||
<p class="text-2sm text-gray-700">{{ $fileName }}</p>
|
||||
@else
|
||||
<p class="text-2sm text-gray-700">Belum ada kertas kerja</p>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
@endsection
|
||||
754
resources/views/penilai/show.blade.php
Normal file
754
resources/views/penilai/show.blade.php
Normal file
@@ -0,0 +1,754 @@
|
||||
@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">
|
||||
<div class="card border border-agi-100 pb-2.5">
|
||||
<div class="card-header light:light:bg-agi-50" id="basic_settings">
|
||||
<h3 class="card-title">
|
||||
Detail Penilaian
|
||||
</h3>
|
||||
<div class="flex items-center gap-2">
|
||||
<a href="{{ route('penilai.index') }}" class="btn btn-xs btn-info"><i class="ki-filled ki-exit-left"></i>
|
||||
Back</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body grid gap-5">
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
Nomor Registrasi
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<p class="flex w-full text-gray-600 font-medium text-sm">
|
||||
{{ isset($permohonan->nomor_registrasi) ? $permohonan->nomor_registrasi : '' }}</p>
|
||||
</div>
|
||||
<label class="form-label max-w-56">
|
||||
Nama Debitur
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<p class="flex w-full text-gray-600 font-medium text-sm">
|
||||
{{ isset($permohonan->debiture->name) ? $permohonan->debiture->name : '' }}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
Cabang
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<p class="flex w-full text-gray-600 font-medium text-sm">
|
||||
{{ isset($permohonan->branch->name) ? $permohonan->branch->name : '' }}</p>
|
||||
</div>
|
||||
<label class="form-label max-w-56">
|
||||
Alamat Jaminan
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<p class="flex w-full text-gray-600 font-medium text-sm">
|
||||
{{ formatAlamat($permohonan->debiture) }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
Nama AO/Pemohon
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<p class="flex w-full text-gray-600 font-medium text-sm">
|
||||
{{ isset($permohonan->user->name) ? $permohonan->user->name : '' }}</p>
|
||||
</div>
|
||||
<label class="form-label max-w-56">
|
||||
Fasilitas Kredit
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<p class="flex w-full text-gray-600 font-medium text-sm">
|
||||
{{ isset($permohonan->jenisFasilitasKredit->name) ? $permohonan->jenisFasilitasKredit->name : '' }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
Tanggal Permohonan
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<p class="flex w-full text-gray-600 font-medium text-sm">
|
||||
{{ formatTanggalIndonesia($permohonan->created_at) }}</p>
|
||||
</div>
|
||||
<label class="form-label max-w-56">
|
||||
CIF
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<p class="flex w-full text-gray-600 font-medium text-sm">
|
||||
{{ isset($permohonan->debiture->cif) ? $permohonan->debiture->cif : '' }}</p>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
Tanggal Konfirmasi Kunjungan
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<p class="flex w-full text-gray-600 font-medium text-sm">
|
||||
{{ formatTanggalIndonesia($permohonan->penilaian->waktu_penilaian) ?? '' }}</p>
|
||||
</div>
|
||||
@if (!in_array(strtolower($permohonan->tujuanPenilaian->name), ['penilaian ulang', 'asuransi', 'lelang']))
|
||||
|
||||
<label class="form-label max-w-56 ">
|
||||
Status Bayar
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<span
|
||||
class="text-md font-bold {{ $permohonan->status_bayar === 'belum_bayar' ? 'text-red-600' : 'text-green-600' }} uppercase">
|
||||
{{ str_replace('_', ' ', $permohonan->status_bayar) }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@foreach ($permohonan->documents as $dokumen)
|
||||
<div class="card border border-agi-100">
|
||||
<div class="card-body grid gap-5">
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
@php
|
||||
$surveyor = $permohonan->penilaian->userPenilai->where('role', 'surveyor')->first();
|
||||
$penilai = $permohonan->penilaian->userPenilai->where('role', 'penilai')->first();
|
||||
@endphp
|
||||
<label class="form-label max-w-56">
|
||||
Surveyor
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
|
||||
<p class="flex w-full text-gray-600 font-medium text-sm">
|
||||
{{ $surveyor->userPenilaiTeam->name }}
|
||||
</p>
|
||||
|
||||
<p class="flex w-full text-gray-600 font-medium text-sm">
|
||||
{{ checkRegionUserName($surveyor->userPenilaiTeam->id) }}
|
||||
</p>
|
||||
</div>
|
||||
<label class="form-label max-w-56">
|
||||
Penilai
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
|
||||
<p class="flex w-full text-gray-600 font-medium text-sm">
|
||||
{{ $penilai->userPenilaiTeam->name }}
|
||||
</p>
|
||||
|
||||
<p class="flex w-full text-gray-600 font-medium text-sm">
|
||||
{{ checkRegionUserName($penilai->userPenilaiTeam->id) }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
Tujuan Penilaian
|
||||
</label>
|
||||
<p class="flex text-gray-600 font-medium text-sm w-full">
|
||||
{{ $permohonan->tujuanPenilaian->name }}</p>
|
||||
<label class="form-label max-w-56">
|
||||
Jenis Jaminan
|
||||
</label>
|
||||
<p class="flex text-gray-600 font-medium text-sm w-full">
|
||||
@foreach ($permohonan->documents as $document)
|
||||
{{ $document->jenisjaminan->name }}
|
||||
@endforeach
|
||||
</p>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
Tanggal Survei
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<p class="flex w-full text-gray-600 font-medium text-sm">
|
||||
{{ formatTanggalIndonesia($permohonan->penilaian->updated_at) }}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
Tanggal Laporan
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<p class="flex w-full text-gray-600 font-medium text-sm">
|
||||
|
||||
@php
|
||||
$tglLaporan = getNomorLaporan($permohonan->id, $dokumen->id, 'tanggal_laporan');
|
||||
@endphp
|
||||
|
||||
{{ isset($tglLaporan) ? formatTanggalIndonesia($tglLaporan) : '-' }}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
No. Laporan
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<p class="flex w-full text-gray-600 font-medium text-sm">
|
||||
{{ getNomorLaporan($permohonan->id, $dokumen->id) ?? '-' }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if ($permohonan->status == 'revisi-laporan')
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
Catatan Revisi
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<p class="flex w-full text-gray-600 font-medium text-sm">
|
||||
{{ $permohonan->keterangan ?? '' }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
</div>
|
||||
@php
|
||||
|
||||
$jaminanId = $dokumen->id;
|
||||
$currentInspeksi = $inspeksiData[$jaminanId] ?? null;
|
||||
$tanahBangunanTypes = ['KAPAL', 'PESAWAT', 'ALAT BERAT'];
|
||||
@endphp
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full card-footer mt-2 ">
|
||||
<div class="flex gap-5">
|
||||
<a class="btn btn-primary"
|
||||
href="{{ route('penilai.lampiran') }}?permohonanId={{ $permohonan->id }}&documentId={{ $dokumen->id }}&jaminanId={{ $dokumen->jenis_jaminan_id }}">
|
||||
Lampiran Foto dan Dokumen
|
||||
</a>
|
||||
@if ($permohonan->status != 'freeze')
|
||||
@if (strtolower($permohonan->tujuanPenilaian->name) != 'rap')
|
||||
<a class="btn btn-primary" data-modal-toggle="#modal_2">
|
||||
Kertas Kerja
|
||||
</a>
|
||||
@endif
|
||||
<a class="btn btn-primary"
|
||||
onclick="paparan({{ $permohonan->id }}, {{ $dokumen->id }}, {{ $dokumen->jenis_jaminan_id }})">
|
||||
Paparan
|
||||
</a>
|
||||
|
||||
<div class="dropdown" data-dropdown="true" data-dropdown-trigger="click">
|
||||
<button class="dropdown-toggle btn btn-primary ">
|
||||
Pembuatan Laporan
|
||||
</button>
|
||||
|
||||
{{-- kios tanah bangunan kalo dalam mall ruko --}}
|
||||
<div class="dropdown-content w-full max-w-56 py-2">
|
||||
<div class="menu menu-default flex flex-col w-full">
|
||||
@if (strtolower($permohonan->tujuanPenilaian->name) == 'rap')
|
||||
<div class="menu-item">
|
||||
<a class="menu-link"
|
||||
onclick="rap('{{ $permohonan->id }}', '{{ $dokumen->id }}', {{ $dokumen->jenis_jaminan_id }})">
|
||||
<span class="menu-icon">
|
||||
<i class="ki-outline ki-message-programming">
|
||||
</i>
|
||||
</span>
|
||||
<span class="menu-title">
|
||||
RAP
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
@else
|
||||
{{-- pendapingan kjjp leleang --}}
|
||||
{{-- memo pendapingan lelang --}}
|
||||
{{-- existing di --}}
|
||||
<div class="menu-item">
|
||||
<a class="menu-link"
|
||||
onclick="memo('{{ $permohonan->id }}', '{{ $dokumen->id }}', {{ $dokumen->jenis_jaminan_id }})">
|
||||
<span class="menu-icon">
|
||||
<i class="ki-outline ki-badge">
|
||||
</i>
|
||||
</span>
|
||||
<span class="menu-title">
|
||||
MEMO
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
@if (!in_array(strtoupper($dokumen->jenisJaminan->name), $tanahBangunanTypes))
|
||||
@if ($permohonan->status_bayar === 'belum_bayar')
|
||||
<div class="menu-item">
|
||||
<a class="menu-link"
|
||||
onclick="resume('{{ $permohonan->id }}', '{{ $dokumen->id }}', {{ $dokumen->jenis_jaminan_id }})">
|
||||
<span class="menu-icon">
|
||||
<i class="ki-outline ki-profile-circle">
|
||||
</i>
|
||||
</span>
|
||||
<span class="menu-title">
|
||||
RESUME
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
{{-- untuk laporan standart itu non kerjasama tapi sederhanan in kerjasama --}}
|
||||
|
||||
<div class="menu-item">
|
||||
<a class="menu-link"
|
||||
onclick="seletSederhanaStandart('{{ $permohonan->id }}', '{{ $dokumen->id }}', {{ $dokumen->jenis_jaminan_id }}, '{{ $permohonan->jenisFasilitasKredit->name }}', '{{ $permohonan->status_bayar }}')">
|
||||
<span class="menu-icon">
|
||||
<i class="ki-outline ki-setting-2"></i>
|
||||
</span>
|
||||
<span class="menu-title">LPJ</span>
|
||||
</a>
|
||||
</div>
|
||||
@endif
|
||||
<div class="menu-item">
|
||||
<a class="menu-link"
|
||||
onclick="callReport('{{ $permohonan->id }}', '{{ $dokumen->id }}', {{ $dokumen->jenis_jaminan_id }})">
|
||||
<span class="menu-icon">
|
||||
<i class="ki-outline ki-profile-circle">
|
||||
</i>
|
||||
</span>
|
||||
<span class="menu-title">
|
||||
CALL REPORT
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
{{-- @if ($permohonan->penilaian->jenis_penilaian_id == 2 && $permohonan->tujuanPenilaian->id == 4) --}}
|
||||
|
||||
{{-- @endif --}}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if($permohonan->jenisPenilaian->name=="Eksternal")
|
||||
@if(isset($permohonan->laporanExternal->file_resume) || isset($permohonan->laporanExternal->file_laporan))
|
||||
<div class="dropdown" data-dropdown="true" data-dropdown-trigger="click">
|
||||
<button class="dropdown-toggle btn btn-primary">
|
||||
Laporan Eksternal
|
||||
</button>
|
||||
<div class="dropdown-content w-full max-w-56 py-2 !ml-[200px] !mt-[-20px]">
|
||||
<div class="menu menu-default flex flex-col w-full">
|
||||
@if(isset($permohonan->laporanExternal->file_resume) && !empty($permohonan->laporanExternal->file_resume))
|
||||
<div class="menu-item">
|
||||
<a class="menu-link" onclick="viewPDF('{{ Storage::url($permohonan->laporanExternal->file_resume) }}')">
|
||||
<span class="menu-icon">
|
||||
<i class="ki-outline ki-badge"></i>
|
||||
</span>
|
||||
<span class="menu-title">
|
||||
Resume
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
@endif
|
||||
@if(isset($permohonan->laporanExternal->file_laporan) && !empty($permohonan->laporanExternal->file_laporan))
|
||||
|
||||
<div class="menu-item">
|
||||
<a class="menu-link" onclick="viewPDF('{{ Storage::url($permohonan->laporanExternal->file_laporan) }}')">
|
||||
<span class="menu-icon">
|
||||
<i class="ki-outline ki-setting-2"></i>
|
||||
</span>
|
||||
<span class="menu-title">
|
||||
Laporan
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
@endif
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<div class="flex justify-end gap-5">
|
||||
|
||||
<a href="{{ route('surveyor.print_out_inspeksi', ['permohonan_id' => $permohonan->id, 'dokument_id' => $dokumen->id, 'jenis_jaminan_id' => $dokumen->jenis_jaminan_id]) }}"
|
||||
class="btn btn-light">
|
||||
<i class="ki-filled ki-printer"></i> Cetak Hasil Inspeksi
|
||||
</a>
|
||||
|
||||
<a class="btn btn-outline btn-info "
|
||||
onclick="checkLaporan('{{ $permohonan->id }}', '{{ $dokumen->id }}', {{ $dokumen->jenis_jaminan_id }}, 1 )">
|
||||
<i class="ki-filled ki-eye"></i>
|
||||
Lihat Laporan
|
||||
</a>
|
||||
|
||||
<a class="btn btn-success"
|
||||
onclick="checkLaporan('{{ $permohonan->id }}', '{{ $dokumen->id }}', {{ $dokumen->jenis_jaminan_id }}, 0 )">
|
||||
<i class="ki-filled ki-printer"></i>
|
||||
Cetak Laporan
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@if ($permohonan->status != 'freeze')
|
||||
<div class="flex justify-start gap-5">
|
||||
<a class="btn btn-success" onclick="savePenilai()">
|
||||
<i class="ki-filled ki-paper-plane"></i>
|
||||
REPORT
|
||||
</a>
|
||||
|
||||
<a class="btn btn-warning"
|
||||
{{ $permohonan->status == 'proses-paparan' || $permohonan->status == 'proses-laporan' ? 'disabled' : '' }}
|
||||
onclick="revisiSurveyor('{{ $permohonan->id }}', '{{ $permohonan->debiture->name }}', '{{ $permohonan->nomor_registrasi }}')">
|
||||
<i class="ki-filled ki-arrow-circle-right"></i>
|
||||
REVISI
|
||||
</a>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="modal" data-modal="true" id="modal_2">
|
||||
<div class="modal-content modal-center-y max-w-[600px]">
|
||||
<div class="modal-header">
|
||||
<h3 class="modal-title">
|
||||
Kertas Kerja
|
||||
</h3>
|
||||
<button class="btn btn-xs btn-icon btn-light" data-modal-dismiss="true">
|
||||
<i class="ki-outline ki-cross">
|
||||
</i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body grid gap-5">
|
||||
@php
|
||||
$jenisJaminanId = null;
|
||||
|
||||
$documentId = null;
|
||||
$firstDocument = $permohonan->documents->first(); // Ambil dokumen pertama
|
||||
|
||||
if ($firstDocument) {
|
||||
$documentId = $firstDocument->id;
|
||||
|
||||
// Ambil ID inspeksi pertama (jika ada)
|
||||
|
||||
|
||||
// Ambil jenis jaminan jika ada
|
||||
if ($firstDocument->jenisjaminan) {
|
||||
$jenisJaminanId = $firstDocument->jenisjaminan->id;
|
||||
}
|
||||
} else {
|
||||
$documentId = 'Tidak ada dokumen';
|
||||
|
||||
$jenisJaminanId = 'Tidak ada jenis jaminan';
|
||||
}
|
||||
|
||||
@endphp
|
||||
|
||||
<div class="flex items-baseline w-full">
|
||||
<label for="" class="form-label max-w-56">Import Kertas Kerja</label>
|
||||
<div class="flex justify-center items-center gap-2">
|
||||
<input type="file" id="kertas_kerja" class="file-input">
|
||||
<button type="button" class="btn btn-outline btn-success"
|
||||
onclick="uploadKertasKerja({{ $permohonan->id }}, '{{ $documentId }}', '{{ $jenisJaminanId }}')">Upload
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex justify-between items-center">
|
||||
@if (isset($permohonan->penilai) && isset($permohonan->penilai->kertas_kerja) && $permohonan->penilai->kertas_kerja)
|
||||
<span data-modal-dismiss="true" class="btn btn-warning btn-outline"
|
||||
onclick="viewPDF('{{ Storage::url($permohonan->penilai->kertas_kerja) }}')"><i
|
||||
class="ki-filled ki-eye mr-2"></i>Lihat Kertas Kerja</span>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@include('lpj::component.pdfviewer')
|
||||
|
||||
<script>
|
||||
function seletSederhanaStandart(permohonanId, documentId, jaminanId, fasilitasKredit, statusBayar) {
|
||||
if (statusBayar === 'belum_bayar') {
|
||||
Swal.fire({
|
||||
title: 'Jenis LPJ Ditentukan',
|
||||
text: 'Satus Pembayaran belum bayar. LPJ akan diarahkan ke resum.',
|
||||
icon: 'info',
|
||||
confirmButtonText: 'Lanjutkan',
|
||||
confirmButtonColor: '#3085d6',
|
||||
}).then(() => {
|
||||
resume(permohonanId, documentId, jaminanId)
|
||||
});
|
||||
|
||||
} else {
|
||||
fetch(
|
||||
`{{ url('/penilai/check-status-lpj') }}?permohonanId=${permohonanId}&documentId=${documentId}`
|
||||
)
|
||||
.then(response => response.json())
|
||||
.then(data => {
|
||||
if (data.status) {
|
||||
// Jika status LPJ sudah ada, arahkan langsung ke halaman
|
||||
if (data.status === 'standar') {
|
||||
showLoadingSwal('Tunggu ...');
|
||||
window.location.href =
|
||||
`{{ route('penilai.standar', $permohonan->id) }}?documentId=${documentId}&jaminanId=${jaminanId}`;
|
||||
} else if (data.status === 'sederhana') {
|
||||
showLoadingSwal('Tunggu ...');
|
||||
window.location.href =
|
||||
`{{ route('penilai.sederhana', $permohonan->id) }}?documentId=${documentId}&jaminanId=${jaminanId}`;
|
||||
}
|
||||
} else {
|
||||
if (fasilitasKredit.toUpperCase() === 'KPR KERJASAMA') {
|
||||
Swal.fire({
|
||||
title: 'Jenis LPJ Ditentukan',
|
||||
text: 'Jenis fasilitas kredit adalah KPR Kerjasama. LPJ akan diarahkan ke Sederhana.',
|
||||
icon: 'info',
|
||||
confirmButtonText: 'Lanjutkan',
|
||||
confirmButtonColor: '#3085d6',
|
||||
}).then(() => {
|
||||
saveStatusLpj(permohonanId, documentId, 'sederhana', jaminanId);
|
||||
});
|
||||
} else {
|
||||
Swal.fire({
|
||||
title: 'Pilih Jenis LPJ',
|
||||
text: 'Apakah kamu akan memilih LPJ Standard?',
|
||||
icon: 'question',
|
||||
showCloseButton: true,
|
||||
showDenyButton: true,
|
||||
confirmButtonText: 'LPJ Standard',
|
||||
denyButtonText: 'LPJ Sederhana',
|
||||
confirmButtonColor: '#3085d6',
|
||||
denyButtonColor: '#d33',
|
||||
}).then((result) => {
|
||||
if (result.isConfirmed) {
|
||||
saveStatusLpj(permohonanId, documentId, 'standar',
|
||||
jaminanId);
|
||||
} else if (result.isDenied) {
|
||||
saveStatusLpj(permohonanId, documentId, 'sederhana',
|
||||
jaminanId);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
console.log(data);
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function saveStatusLpj(permohonanId, documentId, type, jaminanId) {
|
||||
fetch(`{{ url('/penilai/save-status-lpj') }}`, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
'X-CSRF-TOKEN': '{{ csrf_token() }}',
|
||||
},
|
||||
body: JSON.stringify({
|
||||
permohonan_id: permohonanId,
|
||||
document_id: documentId,
|
||||
type: type,
|
||||
}),
|
||||
}).then(response => response.json())
|
||||
.then(data => {
|
||||
if (data.success) {
|
||||
if (type === 'standar') {
|
||||
window.location.href =
|
||||
`{{ route('penilai.standar', $permohonan->id) }}?documentId=${documentId}&jaminanId=${jaminanId}`;
|
||||
} else if (type === 'sederhana') {
|
||||
window.location.href =
|
||||
`{{ route('penilai.sederhana', $permohonan->id) }}?documentId=${documentId}&jaminanId=${jaminanId}`;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function uploadKertasKerja(permohonanId, documentId, jaminanId) {
|
||||
const kertasKerjaInput = document.getElementById('kertas_kerja');
|
||||
if (!kertasKerjaInput.files.length) {
|
||||
Swal.fire({
|
||||
title: 'Error!',
|
||||
text: 'Silakan pilih file sebelum mengupload.',
|
||||
icon: 'error',
|
||||
confirmButtonText: 'OK'
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
const kertasKerja = kertasKerjaInput.files[0];
|
||||
const formData = new FormData();
|
||||
formData.append('permohonan_id', permohonanId);
|
||||
formData.append('document_id', documentId);
|
||||
formData.append('jenis_jaminan_id', jaminanId);
|
||||
formData.append('kertas_kerja', kertasKerja);
|
||||
|
||||
fetch(`{{ url('/penilai/import/kertas-kerja') }}`, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'X-CSRF-TOKEN': '{{ csrf_token() }}',
|
||||
},
|
||||
body: formData,
|
||||
})
|
||||
.then(response => response.json()) // Pastikan respons diurai menjadi JSON
|
||||
.then(data => {
|
||||
if (data.success) {
|
||||
Swal.fire({
|
||||
title: 'Berhasil!',
|
||||
text: data.message || 'Kertas kerja berhasil diunggah.',
|
||||
icon: 'success',
|
||||
confirmButtonText: 'OK'
|
||||
}).then(result => {
|
||||
if (result.isConfirmed) {
|
||||
window.location.reload();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
Swal.fire({
|
||||
title: 'Error!',
|
||||
text: data.message || 'Terjadi kesalahan.',
|
||||
icon: 'error',
|
||||
confirmButtonText: 'OK'
|
||||
});
|
||||
}
|
||||
})
|
||||
.catch(error => {
|
||||
Swal.fire({
|
||||
title: 'Error!',
|
||||
text: 'Terjadi kesalahan saat mengunggah file.',
|
||||
icon: 'error',
|
||||
confirmButtonText: 'OK'
|
||||
});
|
||||
console.error('Error:', error); // Debug error di konsol
|
||||
});
|
||||
}
|
||||
|
||||
function resume(permohonanId, documentId, jaminanId) {
|
||||
showLoadingSwal('Tunggu ...');
|
||||
window.location.href =
|
||||
`{{ route('penilai.resume') }}?permohonanId=${permohonanId}&documentId=${documentId}&jaminanId=${jaminanId}`;
|
||||
}
|
||||
|
||||
function memo(permohonanId, documentId, jaminanId) {
|
||||
showLoadingSwal('Tunggu ...');
|
||||
window.location.href =
|
||||
`{{ route('penilai.memo') }}?permohonanId=${permohonanId}&documentId=${documentId}&jaminanId=${jaminanId}`;
|
||||
}
|
||||
|
||||
function rap(permohonanId, documentId, jaminanId) {
|
||||
showLoadingSwal('Tunggu ...');
|
||||
window.location.href =
|
||||
`{{ route('penilai.rap') }}?permohonanId=${permohonanId}&documentId=${documentId}&jaminanId=${jaminanId}`;
|
||||
}
|
||||
|
||||
|
||||
function paparan(permohonanId, documentId, jaminanId) {
|
||||
Swal.fire({
|
||||
title: 'Apakah Kamu yakin ingin melakukan paparan',
|
||||
icon: 'warning',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
confirmButtonText: 'Yes'
|
||||
}).then((result) => {
|
||||
if (result.isConfirmed) {
|
||||
window.location.href =
|
||||
`/penilai/${permohonanId}/edit?document_id=${documentId}&jaminanId=${jaminanId}`;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function callReport(permohonanId, documentId, jaminanId) {
|
||||
showLoadingSwal('Tunggu ...');
|
||||
window.location.href =
|
||||
`{{ route('penilai.call-report') }}?permohonanId=${permohonanId}&documentId=${documentId}&jaminanId=${jaminanId}`;
|
||||
}
|
||||
|
||||
|
||||
function savePenilai() {
|
||||
showLoadingSwal('Mengirim data keserver ...');
|
||||
$.ajax({
|
||||
url: "{{ route('penilai.proses.laporan', ['id' => $permohonan->id]) }}",
|
||||
type: "POST",
|
||||
headers: {
|
||||
'X-CSRF-TOKEN': '{{ csrf_token() }}'
|
||||
},
|
||||
success: function (response) {
|
||||
if (response.success) {
|
||||
// window.location.reload();
|
||||
hideLoadingSwal();
|
||||
toastrSuccessBuild(response.message);
|
||||
} else {
|
||||
// hideLoadingSwal();
|
||||
Swal.fire('Perhatian!', response.message, 'warning');
|
||||
}
|
||||
},
|
||||
error: function (xhr, status, error) {
|
||||
console.log('Error checking button status:', error, status, xhr);
|
||||
if (xhr.responseJSON.message) {
|
||||
// window.location.reload();
|
||||
toastrErrorBuild(xhr.responseJSON.message);
|
||||
} else {
|
||||
// window.location.reload();
|
||||
toastrErrorBuild('Terjadi kesalahan');
|
||||
}
|
||||
hideLoadingSwal();
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function revisiSurveyor(dataId, debitur, noreg) {
|
||||
|
||||
Swal.fire({
|
||||
title: 'Apakah Anda yakin?',
|
||||
text: `Untuk melakukan Revisi nomor registrasi ${noreg} atas nama debiture ${debitur} !`,
|
||||
icon: 'warning',
|
||||
input: 'textarea',
|
||||
inputLabel: 'Keterangan',
|
||||
inputPlaceholder: 'Masukkan keterangan...',
|
||||
inputAttributes: {
|
||||
'aria-label': 'Masukkan keterangan'
|
||||
},
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
confirmButtonText: 'Ya, Lanjutkan!',
|
||||
cancelButtonText: 'Batal',
|
||||
}).then((result) => {
|
||||
if (result.isConfirmed) {
|
||||
const userMessage = result.value || '';
|
||||
$.ajaxSetup({
|
||||
headers: {
|
||||
'X-CSRF-TOKEN': '{{ csrf_token() }}'
|
||||
},
|
||||
});
|
||||
$.ajax({
|
||||
url: `/penilai/revisi-surveyor/${dataId}`,
|
||||
type: 'PUT',
|
||||
data: {
|
||||
keterangan: userMessage
|
||||
},
|
||||
success: (response) => {
|
||||
Swal.fire('Berhasil!', response.message, 'success').then(
|
||||
() => {
|
||||
window.location.href =
|
||||
'{{ route('penilai.index') }}';
|
||||
});
|
||||
console.log(response);
|
||||
},
|
||||
error: (error) => {
|
||||
console.error('Error:', error);
|
||||
Swal.fire('Gagal!', 'Terjadi kesalahan saat melakukan Revisi.',
|
||||
'error');
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
@include('lpj::surveyor.js.utils')
|
||||
Reference in New Issue
Block a user