perbaikan laporan

This commit is contained in:
majid
2024-12-29 14:10:05 +07:00
parent 371de00add
commit c3362821c3
10 changed files with 596 additions and 728 deletions

View File

@@ -56,9 +56,10 @@ class PenilaiController extends Controller
$formFoto = null; $formFoto = null;
if ($inpeksi) { if ($inpeksi) {
$formFoto = json_decode($inpeksi->foto_form, true); $formFoto = json_decode($inpeksi->foto_form, true);
$forminspeksi = json_decode($inpeksi->data_form, true);
} }
return view('lpj::penilai.lampiran', compact('permohonan', 'formFoto')); return view('lpj::penilai.lampiran', compact('permohonan', 'formFoto', 'forminspeksi'));
} }
public function create() public function create()
@@ -220,9 +221,10 @@ class PenilaiController extends Controller
$formFoto = null; $formFoto = null;
if ($inspeksi) { if ($inspeksi) {
$formFoto = json_decode($inspeksi->foto_form, true); $formFoto = json_decode($inspeksi->foto_form, true);
$forminspeksi = json_decode($inspeksi->data_form, true);
} }
return view('lpj::penilai.components.paparan', compact('permohonan', 'formFoto', 'penilai')); return view('lpj::penilai.components.paparan', compact('permohonan', 'formFoto', 'penilai', 'forminspeksi'));
} }
@@ -663,7 +665,7 @@ class PenilaiController extends Controller
try { try {
if ($statusLpj) { if ($statusLpj) {
$html= view('lpj::' . $viewLaporan, compact( $pdf= PDF::loadView('lpj::' . $viewLaporan, compact(
'permohonan', 'permohonan',
'forminspeksi', 'forminspeksi',
'lpjData', 'lpjData',
@@ -675,10 +677,10 @@ class PenilaiController extends Controller
'alamat', 'alamat',
'dataPembanding', 'dataPembanding',
'nomorLaporan' 'nomorLaporan'
))->render(); ));
return response($html, 200)->header('Content-Type', 'text/html');
$pdf->setPaper('A4', 'portrait');
return $pdf->stream();
} else { } else {
$pdf = PDF::loadView('lpj::' . $viewLaporan, compact( $pdf = PDF::loadView('lpj::' . $viewLaporan, compact(

View File

@@ -1,208 +1,213 @@
<div class="card border border-agi-100 {{ isset($hidePermohonan) ? 'hidden' : '' }}"> @if (!isset($status))
<div class="card-header bg-agi-50" id="advanced_settings_appearance"> <div class="card border border-agi-100 {{ isset($hidePermohonan) ? 'hidden' : '' }}">
@php <div class="card-header bg-agi-50" id="advanced_settings_appearance">
$title = $title ?? 'Data Permohonan'; @php
@endphp $title = $title ?? 'Data Permohonan';
<h3 class="card-title"> @endphp
{{ $title }} <h3 class="card-title">
</h3> {{ $title }}
<div class="flex items-center gap-2">
@if (isset($id))
<a href="{{ route($backLink, ['id' => $id]) }}" class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back
</a>
@else
<a href="{{ route($backLink) }}" class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back
</a>
@endif
</div>
</div>
<div class="card-body lg:py-7.5 grid grid-cols-3">
<div class="mb-5">
<h3 class="text-md font-medium text-gray-900">
Nomor Register Permohonan:
</h3> </h3>
<span class="text-2sm text-gray-700">
{{ $permohonan->nomor_registrasi }}
</span>
</div>
<div class="mb-5"> <div class="flex items-center gap-2">
<h3 class="text-md font-medium text-gray-900"> @if (isset($id))
Pemohon: <a href="{{ route($backLink, ['id' => $id]) }}" class="btn btn-xs btn-info">
</h3> <i class="ki-filled ki-exit-left"></i> Back
<span class="text-2sm text-gray-700"> </a>
{{ $permohonan->user->nik }} | {{ $permohonan->user->name }} | {{ $permohonan->user->branch->name }} @else
</span> <a href="{{ route($backLink) }}" class="btn btn-xs btn-info">
</div> <i class="ki-filled ki-exit-left"></i> Back
</a>
<div class="mb-5"> @endif
<h3 class="text-md font-medium text-gray-900">
Tujan Permohonan:
</h3>
<span class="text-2sm text-gray-700">
{{ $permohonan->tujuanPenilaian->name }}
</span>
</div>
<div class="mb-5">
<h3 class="text-md font-medium text-gray-900">
Nilai Plafond:
</h3>
<span class="text-2sm text-gray-700">
{{ $permohonan->nilaiPlafond->name }}
</span>
</div>
<div class="mb-5">
<h3 class="text-md font-medium text-gray-900">
Status Bayar:
</h3>
<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>
<div class="mb-5">
<h3 class="text-md font-medium text-gray-900">
Nilai NJOP:
</h3>
<span class="text-md font-bold uppercase">
{{ formatRupiah($permohonan->niilai_njop) }}
</span>
</div>
</div>
</div>
<div class="card border border-agi-100 min-w-full">
<div class="card-header bg-agi-50">
<h3 class="card-title">
Detail Debitur
</h3>
</div>
<div class="card-table scrollable-x-auto pb-3">
<div class="grid grid-cols-1 xl:grid-cols-2 gap-5 lg:gap-7.5">
<div class="col-span-1">
<table class="table align-middle text-sm text-gray-500">
<tr>
<td class="py-2 text-gray-600 font-normal">
Name
</td>
<td class="py-2 text-gray-800 font-normaltext-sm">
{{ $permohonan->debiture->name ?? '' }}
</td>
</tr>
<tr>
<td class="py-3">
Email
</td>
<td class="py-3 text-gray-700 text-2sm font-normal">
{{ $permohonan->debiture->email ?? '' }}
</td>
</tr>
<tr>
<td class="py-3">
Phone
</td>
<td class="py-3 text-gray-700 text-2sm font-normal">
{{ $permohonan->debiture->phone ?? '' }}
</td>
</tr>
<tr>
<td class="py-3 text-gray-600 font-normal">
Address
</td>
<td class="py-3 text-gray-700 text-sm font-normal">
{{ $permohonan->debiture->address ?? '' }}
</td>
</tr>
<tr>
<td class="py-3 text-gray-600 font-normal">
&nbsp;
</td>
<td class="py-3 text-gray-700 text-sm font-normal">
{{ $permohonan->debiture->village->name ?? '' }},
{{ $permohonan->debiture->district->name ?? '' }},
{{ $permohonan->debiture->city->name ?? '' }},
{{ $permohonan->debiture->province->name ?? '' }} -
{{ $permohonan->debiture->village->postal_code ?? '' }}
</td>
</tr>
</table>
</div> </div>
<div class="col-span-1"> </div>
<table class="table align-middle text-sm text-gray-500"> <div class="card-body lg:py-7.5 grid grid-cols-3">
<tr> <div class="mb-5">
<td class="py-3 text-gray-600 font-normal"> <h3 class="text-md font-medium text-gray-900">
Cabang Nomor Register Permohonan:
</td> </h3>
<td class="py-2 text-gray-800 font-normaltext-sm"> <span class="text-2sm text-gray-700">
{{ $permohonan->debiture->branch->name ?? '' }} {{ $permohonan->nomor_registrasi }}
</td> </span>
</tr> </div>
<tr>
<td class="py-3 text-gray-600 font-normal"> <div class="mb-5">
CIF <h3 class="text-md font-medium text-gray-900">
</td> Pemohon:
<td class="py-2 text-gray-800 font-normaltext-sm"> </h3>
{{ $permohonan->debiture->cif ?? '' }} <span class="text-2sm text-gray-700">
</td> {{ $permohonan->user->nik }} | {{ $permohonan->user->name }} | {{ $permohonan->user->branch->name }}
</tr> </span>
<tr> </div>
<td class="py-3 text-gray-600 font-normal">
Nomor Rekening <div class="mb-5">
</td> <h3 class="text-md font-medium text-gray-900">
<td class="py-3 text-gray-700 text-sm font-normal"> Tujan Permohonan:
{{ $permohonan->debiture->nomor_rekening ?? '' }} </h3>
</td> <span class="text-2sm text-gray-700">
</tr> {{ $permohonan->tujuanPenilaian->name }}
<tr> </span>
<td class="py-3"> </div>
NPWP
</td> <div class="mb-5">
<td class="py-3 text-gray-700 text-2sm font-normal"> <h3 class="text-md font-medium text-gray-900">
{{ $permohonan->debiture->npwp ?? '' }} Nilai Plafond:
</td> </h3>
</tr> <span class="text-2sm text-gray-700">
</table> {{ $permohonan->nilaiPlafond->name }}
</span>
</div>
<div class="mb-5">
<h3 class="text-md font-medium text-gray-900">
Status Bayar:
</h3>
<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>
<div class="mb-5">
<h3 class="text-md font-medium text-gray-900">
Nilai NJOP:
</h3>
<span class="text-md font-bold uppercase">
{{ formatRupiah($permohonan->niilai_njop) }}
</span>
</div>
</div>
</div>
<div class="card border border-agi-100 min-w-full">
<div class="card-header bg-agi-50">
<h3 class="card-title">
Detail Debitur
</h3>
</div>
<div class="card-table scrollable-x-auto pb-3">
<div class="grid grid-cols-1 xl:grid-cols-2 gap-5 lg:gap-7.5">
<div class="col-span-1">
<table class="table align-middle text-sm text-gray-500">
<tr>
<td class="py-2 text-gray-600 font-normal">
Name
</td>
<td class="py-2 text-gray-800 font-normaltext-sm">
{{ $permohonan->debiture->name ?? '' }}
</td>
</tr>
<tr>
<td class="py-3">
Email
</td>
<td class="py-3 text-gray-700 text-2sm font-normal">
{{ $permohonan->debiture->email ?? '' }}
</td>
</tr>
<tr>
<td class="py-3">
Phone
</td>
<td class="py-3 text-gray-700 text-2sm font-normal">
{{ $permohonan->debiture->phone ?? '' }}
</td>
</tr>
<tr>
<td class="py-3 text-gray-600 font-normal">
Address
</td>
<td class="py-3 text-gray-700 text-sm font-normal">
{{ $permohonan->debiture->address ?? '' }}
</td>
</tr>
<tr>
<td class="py-3 text-gray-600 font-normal">
&nbsp;
</td>
<td class="py-3 text-gray-700 text-sm font-normal">
{{ $permohonan->debiture->village->name ?? '' }},
{{ $permohonan->debiture->district->name ?? '' }},
{{ $permohonan->debiture->city->name ?? '' }},
{{ $permohonan->debiture->province->name ?? '' }} -
{{ $permohonan->debiture->village->postal_code ?? '' }}
</td>
</tr>
</table>
</div>
<div class="col-span-1">
<table class="table align-middle text-sm text-gray-500">
<tr>
<td class="py-3 text-gray-600 font-normal">
Cabang
</td>
<td class="py-2 text-gray-800 font-normaltext-sm">
{{ $permohonan->debiture->branch->name ?? '' }}
</td>
</tr>
<tr>
<td class="py-3 text-gray-600 font-normal">
CIF
</td>
<td class="py-2 text-gray-800 font-normaltext-sm">
{{ $permohonan->debiture->cif ?? '' }}
</td>
</tr>
<tr>
<td class="py-3 text-gray-600 font-normal">
Nomor Rekening
</td>
<td class="py-3 text-gray-700 text-sm font-normal">
{{ $permohonan->debiture->nomor_rekening ?? '' }}
</td>
</tr>
<tr>
<td class="py-3">
NPWP
</td>
<td class="py-3 text-gray-700 text-2sm font-normal">
{{ $permohonan->debiture->npwp ?? '' }}
</td>
</tr>
</table>
</div>
</div> </div>
</div> </div>
</div> </div>
</div>
<div class="card border border-agi-100 min-w-full"> <div class="card border border-agi-100 min-w-full">
<div class="card-header bg-agi-50"> <div class="card-header bg-agi-50">
<h3 class="card-title"> <h3 class="card-title">
Data Jaminan Data Jaminan
</h3> </h3>
</div> </div>
<div data-accordion="true"> @endif
@foreach ($permohonan->debiture->documents as $dokumen) <div data-accordion="true">
<div class="accordion-item {{ count($permohonan->debiture->documents) == 1 ? 'active' : '' }} [&:not(:last-child)]:border-b border-b-gray-200" @foreach ($permohonan->debiture->documents as $dokumen)
data-accordion-item="true" id="accordion_detail_jaminan"> <div class="accordion-item {{ count($permohonan->debiture->documents) == 1 ? 'active' : '' }} [&:not(:last-child)]:border-b border-b-gray-200"
<button class="accordion-toggle py-4 group mx-8" data-accordion-item="true" id="accordion_detail_jaminan">
data-accordion-toggle="#accordion_detail_jaminan_{{ $loop->index }}"> <button @class([
<span class="text-base text-gray-900 font-medium"> 'accordion-toggle py-4 group',
@if (count($permohonan->debiture->documents) > 1) 'mx-8' => !isset($status)
Jaminan {{ $loop->index + 1 }} ])"
@else data-accordion-toggle="#accordion_detail_jaminan_{{ $loop->index }}">
Jaminan <span class="text-base text-gray-900 font-medium">
@endif @if (count($permohonan->debiture->documents) > 1)
</span> Jaminan {{ $loop->index + 1 }}
<i class="ki-outline ki-plus text-gray-600 text-2sm accordion-active:hidden block"> @else
</i> Jaminan
<i class="ki-outline ki-minus text-gray-600 text-2sm accordion-active:block hidden"> @endif
</i> </span>
</button> <i class="ki-outline ki-plus text-gray-600 text-2sm accordion-active:hidden block">
</i>
<div class="accordion-content {{ count($permohonan->debiture->documents) > 1 ? 'hidden' : '' }}" <i class="ki-outline ki-minus text-gray-600 text-2sm accordion-active:block hidden">
id="accordion_detail_jaminan_{{ $loop->index }}"> </i>
</button>
<div class="accordion-content {{ count($permohonan->debiture->documents) > 1 ? 'hidden' : '' }}"
id="accordion_detail_jaminan_{{ $loop->index }}">
@if (!isset($status))
<div class="card-body lg:py-7.5 grid grid-cols-2"> <div class="card-body lg:py-7.5 grid grid-cols-2">
<div class="mb-5"> <div class="mb-5">
<h3 class="text-md font-medium text-gray-900"> <h3 class="text-md font-medium text-gray-900">
@@ -242,78 +247,79 @@
</span> </span>
</div> </div>
</div> </div>
<div class="card-table scrollable-x-auto pb-3"> @endif
<a href="{{ route('debitur.jaminan.bulk.download', ['id' => $permohonan->debiture->id, 'jaminan' => $dokumen->id]) }}" <div class="card-table scrollable-x-auto pb-3">
class="ml-6 btn btn-dark dark:btn-light"> <a href="{{ route('debitur.jaminan.bulk.download', ['id' => $permohonan->debiture->id, 'jaminan' => $dokumen->id]) }}"
<i class="ki-outline ki-cloud-download"></i> Download Semua Dokumen class="ml-6 btn btn-dark dark:btn-light">
</a> <i class="ki-outline ki-cloud-download"></i> Download Semua Dokumen
<table class="table align-middle text-sm text-gray-500"> </a>
@foreach ($dokumen->detail as $detail) <table class="table align-middle text-sm text-gray-500">
<tr> @foreach ($dokumen->detail as $detail)
<td class="py-2 text-gray-600 font-normal max-w-[100px]"> <tr>
{{ $loop->index + 1 }}. {{ $detail->jenisLegalitasJaminan->name }} <td class="py-2 text-gray-600 font-normal max-w-[100px]">
</td> {{ $loop->index + 1 }}. {{ $detail->jenisLegalitasJaminan->name }}
<td class="py-2 text-gray-800 font-normaltext-sm"> </td>
{{ $detail->name ?? '' }} <td class="py-2 text-gray-800 font-normaltext-sm">
</td> {{ $detail->name ?? '' }}
</tr> </td>
<tr> </tr>
<td class="py-3 max-w-[100px] align-top"> <tr>
Dokumen Jaminan <td class="py-3 max-w-[100px] align-top">
</td> Dokumen Jaminan
<td class="py-3 text-gray-700 text-2sm font-normal"> </td>
<td class="py-3 text-gray-700 text-2sm font-normal">
@if (isset($detail->dokumen_jaminan)) @if (isset($detail->dokumen_jaminan))
@php @php
$dokumen_jaminan = is_array(json_decode($detail->dokumen_jaminan)) $dokumen_jaminan = is_array(json_decode($detail->dokumen_jaminan))
? json_decode($detail->dokumen_jaminan) ? json_decode($detail->dokumen_jaminan)
: [$detail->dokumen_jaminan]; : [$detail->dokumen_jaminan];
$dokumen_nomor = is_array(json_decode($detail->dokumen_nomor)) $dokumen_nomor = is_array(json_decode($detail->dokumen_nomor))
? json_decode($detail->dokumen_nomor) ? json_decode($detail->dokumen_nomor)
: ($detail->dokumen_nomor : ($detail->dokumen_nomor
? [$detail->dokumen_nomor] ? [$detail->dokumen_nomor]
: []); : []);
@endphp @endphp
@foreach ($dokumen_jaminan as $index => $dokumen) @foreach ($dokumen_jaminan as $index => $dokumen)
<div class="flex w-full lg:w-[30%]"> <div class="flex w-full lg:w-[30%]">
@if (in_array(Auth::user()->roles[0]->name, ['administrator', 'pemohon-eo'])) @if (in_array(Auth::user()->roles[0]->name, ['administrator', 'pemohon-eo']))
@if (!empty($dokumen_nomor)) @if (!empty($dokumen_nomor))
<span class="flex-1 mt-2 text-info">Nomor Dokumen : <span class="flex-1 mt-2 text-info">Nomor Dokumen :
{{ $dokumen_nomor[$index] }}</span> {{ $dokumen_nomor[$index] }}</span>
@endif @endif
<a href="{{ route('debitur.jaminan.download', ['id' => $permohonan->debiture->id, 'dokumen' => $detail->id, 'index' => $index]) }}" <a href="{{ route('debitur.jaminan.download', ['id' => $permohonan->debiture->id, 'dokumen' => $detail->id, 'index' => $index]) }}"
class="flex-none badge badge-sm badge-outline mt-2 mr-2"> class="flex-none badge badge-sm badge-outline mt-2 mr-2">
{{ basename($dokumen) }} {{ basename($dokumen) }}
<i class="ki-filled ki-cloud-download"></i> <i class="ki-filled ki-cloud-download"></i>
</a> </a>
@endif @endif
<span <span class="flex-none badge badge-sm badge-outline badge-warning mt-2"
class="flex-none badge badge-sm badge-outline badge-warning mt-2" onclick="viewPDF('{{ Storage::url($dokumen_jaminan[$index]) }}')"><i
onclick="viewPDF('{{ Storage::url($dokumen_jaminan[$index]) }}')"><i class="ki-filled ki-eye mr-2"></i>Preview</span>
class="ki-filled ki-eye mr-2"></i>Preview</span> </div>
</div> <br>
<br> @endforeach
@endforeach @endif
@endif
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="py-3 max-w-[100px]"> <td class="py-3 max-w-[100px]">
Keterangan Keterangan
</td> </td>
<td class="py-3 text-gray-700 text-2sm font-normal"> <td class="py-3 text-gray-700 text-2sm font-normal">
{{ $detail->keterangan ?? '' }} {{ $detail->keterangan ?? '' }}
</td> </td>
</tr> </tr>
@endforeach @endforeach
</table> </table>
</div>
</div>
</div> </div>
@endforeach </div>
</div>
</div> </div>
@endforeach
@include('lpj::component.history-permohonan') </div>
@if (!isset($status))
</div>
@include('lpj::component.history-permohonan')
@endif
@include('lpj::component.pdfviewer') @include('lpj::component.pdfviewer')

View File

@@ -7,9 +7,7 @@
</h2> </h2>
@php @php
$imagePath = $statusLpj $imagePath = storage_path('app/public/' . $item['path']);
? asset('storage/' . $item['path'])
: storage_path('app/public/' . $item['path']);
@endphp @endphp
@if ($statusLpj || file_exists(storage_path('app/public/' . $item['path']))) @if ($statusLpj || file_exists(storage_path('app/public/' . $item['path'])))
@@ -27,9 +25,7 @@
</h2> </h2>
@php @php
$imagePath = $statusLpj $imagePath = storage_path('app/public/' . $item['foto_rute_lainnya']);
? asset('storage/' . $item['foto_rute_lainnya'])
: storage_path('app/public/' . $item['foto_rute_lainnya']);
@endphp @endphp
@if ($statusLpj || file_exists(storage_path('app/public/' . $item['foto_rute_lainnya']))) @if ($statusLpj || file_exists(storage_path('app/public/' . $item['foto_rute_lainnya'])))
@@ -48,9 +44,7 @@
</h2> </h2>
@php @php
$imagePath = $statusLpj $imagePath = storage_path('app/public/' . $item['foto_objek']);
? asset('storage/' . $item['foto_objek'])
: storage_path('app/public/' . $item['foto_objek']);
@endphp @endphp
@if ($statusLpj || file_exists(storage_path('app/public/' . $item['foto_objek']))) @if ($statusLpj || file_exists(storage_path('app/public/' . $item['foto_objek'])))
@@ -70,9 +64,7 @@
</h2> </h2>
@php @php
$imagePath = $statusLpj $imagePath = storage_path('app/public/' . $item['path']);
? asset('storage/' . $item['path'])
: storage_path('app/public/' . $item['path']);
@endphp @endphp
@if ($statusLpj || file_exists(storage_path('app/public/' . $item['path']))) @if ($statusLpj || file_exists(storage_path('app/public/' . $item['path'])))
@@ -91,9 +83,7 @@
</h2> </h2>
@php @php
$imagePath = $statusLpj $imagePath = storage_path('app/public/' . $item['path']);
? asset('storage/' . $item['path'])
: storage_path('app/public/' . $item['path']);
@endphp @endphp
@if ($statusLpj || file_exists(storage_path('app/public/' . $item['path']))) @if ($statusLpj || file_exists(storage_path('app/public/' . $item['path'])))
@@ -110,9 +100,7 @@
</h2> </h2>
@php @php
$imagePath = $statusLpj $imagePath = storage_path('app/public/' . $formFoto['foto_basement']);
? asset('storage/' . $formFoto['foto_basement'])
: storage_path('app/public/' . $formFoto['foto_basement']);
@endphp @endphp
@if ($statusLpj || file_exists(storage_path('app/public/' . $formFoto['foto_basement']))) @if ($statusLpj || file_exists(storage_path('app/public/' . $formFoto['foto_basement'])))
@@ -128,9 +116,7 @@
</h2> </h2>
@php @php
$imagePath = $statusLpj $imagePath = storage_path('app/public/' . $formFoto['foto_gerbang']);
? asset('storage/' . $formFoto['foto_gerbang'])
: storage_path('app/public/' . $formFoto['foto_gerbang']);
@endphp @endphp
@if ($statusLpj || file_exists(storage_path('app/public/' . $formFoto['foto_gerbang']))) @if ($statusLpj || file_exists(storage_path('app/public/' . $formFoto['foto_gerbang'])))
@@ -146,9 +132,7 @@
</h2> </h2>
@php @php
$imagePath = $statusLpj $imagePath = storage_path('app/public/' . $formFoto['pendamping']);
? asset('storage/' . $formFoto['pendamping'])
: storage_path('app/public/' . $formFoto['pendamping']);
@endphp @endphp
@if ($statusLpj || file_exists(storage_path('app/public/' . $formFoto['pendamping']))) @if ($statusLpj || file_exists(storage_path('app/public/' . $formFoto['pendamping'])))

View File

@@ -13,7 +13,8 @@
{{ $item['name'] ?? 'Rute menuju lokasi - ' . ($index + 1) }} {{ $item['name'] ?? 'Rute menuju lokasi - ' . ($index + 1) }}
</h2> </h2>
<div class="flex items-center"> <div class="flex items-center">
<img src="{{ Storage::url($item['path']) }}" alt="Gambar {{ $index + 1 }}" class="w-full h-auto object-cover"> <img src="{{ Storage::url($item['path']) }}" alt="Gambar {{ $index + 1 }}"
class="w-full h-auto object-cover">
</div> </div>
</div> </div>
</div> </div>
@@ -34,10 +35,11 @@
<div class="flex items-center justify-between mt-5"> <div class="flex items-center justify-between mt-5">
<div class="grid gap-5"> <div class="grid gap-5">
<h2 class="text-gray-600 font-semibold text-xl"> <h2 class="text-gray-600 font-semibold text-xl">
{{ $item['name_rute_lainnya'] ?? 'Rute menuju lokasi - ' . ($index + 1) }} {{ $item['name_rute_lainnya'] ?? 'Rute Lainnya - ' . ($index + 1) }}
</h2> </h2>
<div class="flex items-center"> <div class="flex items-center">
<img src="{{ Storage::url($item['foto_rute_lainnya']) }}" alt="Gambar {{ $index + 1 }}" class="w-full h-auto object-cover"> <img src="{{ Storage::url($item['foto_rute_lainnya']) }}" alt="Gambar {{ $index + 1 }}"
class="w-full h-auto object-cover">
</div> </div>
</div> </div>
</div> </div>
@@ -64,7 +66,8 @@
<div class="flex items-center"> <div class="flex items-center">
<img src="{{ Storage::url($item['foto_objek']) }}" alt="" class="w-full h-auto object-cover"> <img src="{{ Storage::url($item['foto_objek']) }}" alt=""
class="w-full h-auto object-cover">
</div> </div>
</div> </div>
@@ -80,22 +83,25 @@
</div> </div>
<div class="card-body"> <div class="card-body">
@if (isset($formFoto['foto_lantai_unit'])) @if (isset($formFoto['foto_lantai_unit']))
@foreach ($formFoto['foto_lantai_unit'] as $floorNumber => $floorPhotos) @foreach ($formFoto['foto_lantai_unit'] as $floorIndex => $floorPhotos)
<div class="mt-5"> <div class="mt-5">
@foreach ($floorPhotos as $index => $item) @foreach ($floorPhotos as $index => $item)
<div class="flex items-center justify-between mt-3"> <div class="flex items-center justify-between mt-3">
<div class="grid gap-3"> <div class="grid gap-3">
<h3 class="text-gray-600 font-semibold text-lg"> <h3 class="text-gray-600 font-semibold text-lg">
{{ $item['name'] ?? 'Foto Lantai ' . $floorNumber . ' - ' . ($index + 1) }} {{ $item['name'] ?? 'Foto Lantai ' . ($floorIndex + 1) . ' - ' . ($index + 1) }}
</h3> </h3>
<div class="flex items-center"> <div class="flex items-center">
<img src="{{ Storage::url($item['path']) }}" alt="Gambar {{ $floorNumber }}-{{ $index + 1 }}" class="w-full h-auto object-cover"> <img src="{{ Storage::url($item['path']) }}"
alt="Gambar {{ $floorIndex + 1 }}-{{ $index + 1 }}"
class="w-full h-auto object-cover">
</div> </div>
</div> </div>
</div> </div>
@endforeach @endforeach
</div> </div>
@endforeach @endforeach
@endif @endif
</div> </div>
</div> </div>
@@ -112,10 +118,11 @@
<div class="flex items-center justify-between mt-5"> <div class="flex items-center justify-between mt-5">
<div class="grid gap-5"> <div class="grid gap-5">
<h2 class="text-gray-600 font-semibold text-xl"> <h2 class="text-gray-600 font-semibold text-xl">
{{ $item['name'] ?? 'Rute menuju lokasi - ' . ($index + 1) }} {{ $item['name'] ?? 'Lingkungan - ' . ($index + 1) }}
</h2> </h2>
<div class="flex items-center"> <div class="flex items-center">
<img src="{{ Storage::url($item['path']) }}" alt="Gambar {{ $index + 1 }}" class="w-full h-auto object-cover"> <img src="{{ Storage::url($item['path']) }}" alt="Gambar {{ $index + 1 }}"
class="w-full h-auto object-cover">
</div> </div>
</div> </div>
</div> </div>
@@ -163,10 +170,11 @@
<div class="flex items-center justify-between mt-5"> <div class="flex items-center justify-between mt-5">
<div class="grid gap-5"> <div class="grid gap-5">
<h2 class="text-gray-600 font-semibold text-xl"> <h2 class="text-gray-600 font-semibold text-xl">
{{ $item['name_lantai_lainnya'] ?? 'Rute menuju lokasi - ' . ($index + 1) }} {{ $item['name_lantai_lainnya'] ?? 'Lantai - ' . ($index + 1) }}
</h2> </h2>
<div class="flex items-center"> <div class="flex items-center">
<img src="{{ Storage::url($item['foto_lantai_lainnya']) }}" alt="Gambar {{ $index + 1 }}" class="w-full h-auto object-cover"> <img src="{{ Storage::url($item['foto_lantai_lainnya']) }}"
alt="Gambar {{ $index + 1 }}" class="w-full h-auto object-cover">
</div> </div>
</div> </div>
</div> </div>
@@ -231,3 +239,39 @@
</div> </div>
</div> </div>
@endif @endif
<div class="card">
<div class="card-header bg-agi-50" id="basic_settings">
<h3 class="card-title">
Peta
</h3>
</div>
<div class="card-body">
@php
$fotoTypes = ['foto_gistaru', 'foto_bhumi', 'foto_argis_region', 'foto_tempat'];
if (($key = array_search('foto_tempat', $fotoTypes)) !== false) {
unset($fotoTypes[$key]);
array_unshift($fotoTypes, 'foto_tempat');
}
@endphp
<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="photo-image">
@endif
<p class="mt-2 text-sm">{{ Str::title(str_replace('_', ' ', $type)) }}</p>
</div>
@empty
<p>Tidak ada tipe foto yang tersedia</p>
@endforelse
@endif
</div>
</div>
</div>

View File

@@ -106,7 +106,7 @@
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5"> <div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Pihak Bank Selain Appraisal</label> <label class="form-label max-w-56">Pihak Bank Selain Appraisal</label>
<div class="flex flex-wrap items-baseline w-full"> <div class="flex flex-wrap items-baseline w-full">
<span></span> <span> {{ $forminspeksi['asset']['pihak_bank'] ?? '' }}</span>
</div> </div>
</div> </div>

View File

@@ -5,7 +5,7 @@
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge"> <meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Laporan Penilai Jaminan</title> <title>Laporan Penilai Jaminan</title>
<style> <style>
@@ -108,12 +108,12 @@
<body style="width: 80%; margin: auto"> <body style="width: 80%; margin: auto">
@php @php
$data = ''; $data = '';
foreach ($permohonan->debiture->documents as $dokumen) { foreach ($permohonan->debiture->documents as $dokumen) {
$data .= $dokumen->jenisJaminan->name . ', '; $data .= $dokumen->jenisJaminan->name . ', ';
} }
$data = rtrim($data, ', '); $data = rtrim($data, ', ');
@endphp @endphp
<header id="header"> <header id="header">
<table style="width: 100%; border: none;"> <table style="width: 100%; border: none;">
<tr> <tr>
@@ -121,8 +121,9 @@
@include('lpj::component.logo-bag') @include('lpj::component.logo-bag')
</td> </td>
<td style="width: 80%; text-align: center; border: 1px solid black; "> <td style="width: 80%; text-align: center; border: 1px solid black; ">
<h3 style="width:100% padding-top: 40px; text-align: center;text-transform: uppercase;">LAPORAN PENILAIAN ATAS {{$data}} <h3 style="width:100% padding-top: 40px; text-align: center;text-transform: uppercase;">LAPORAN
</h3> PENILAIAN ATAS {{ $data }}
</h3>
</td> </td>
</tr> </tr>
</table> </table>
@@ -370,7 +371,7 @@
<table style="width: 100%; border: 1px solid #000; text-transform: uppercase;"> <table style="width: 100%; border: 1px solid #000; text-transform: uppercase;">
<tr> <tr>
<td > <td>
B. ANALISA {{ $data }} B. ANALISA {{ $data }}
</td> </td>
@@ -613,9 +614,7 @@
<table> <table>
<tr> <tr>
@php @php
$cekLuas = isset( $cekLuas = isset($forminspeksi['luas_unit']['tidak sesuai'])
$forminspeksi['luas_unit']['tidak sesuai'],
)
? 'tidak sesuai' ? 'tidak sesuai'
: 'sesuai'; : 'sesuai';
@@ -1060,12 +1059,13 @@
@forelse ($fotoTypes as $type) @forelse ($fotoTypes as $type)
<div class="border photo-item"> <div class="border photo-item">
@php @php
$imagePath = $forminspeksi[$type];
$imagePath = storage_path('app/public/' . $forminspeksi[$type]);
@endphp @endphp
@if ($imagePath && file_exists(storage_path('app/public/' . $imagePath))) @if ($statusLpj || file_exists(storage_path('app/public/' . $imagePath)))
<img src="{{ storage_path('app/public/' . $imagePath) }}" <img src="{{ $imagePath }}" alt="{{ $type }}"
alt="{{ $type }}" class="photo-image"> class="photo-image">
@endif @endif
<p class="mt-2 text-sm">{{ Str::title(str_replace('_', ' ', $type)) }}</p> <p class="mt-2 text-sm">{{ Str::title(str_replace('_', ' ', $type)) }}</p>

View File

@@ -5,7 +5,7 @@
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge"> <meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Laporan Penilai jaminan</title> <title>Laporan Penilai jaminan</title>
<style> <style>
body { body {
@@ -207,12 +207,12 @@
<body> <body>
@php @php
$data = ''; $data = '';
foreach ($permohonan->debiture->documents as $dokumen) { foreach ($permohonan->debiture->documents as $dokumen) {
$data .= $dokumen->jenisJaminan->name . ', '; $data .= $dokumen->jenisJaminan->name . ', ';
} }
$data = rtrim($data, ', '); $data = rtrim($data, ', ');
@endphp @endphp
<main class="content"> <main class="content">
@php @php
$senior_officer = null; $senior_officer = null;
@@ -257,7 +257,8 @@
</tr> </tr>
</table> </table>
<h4 style="text-align: center; text-transform: uppercase; font-size: 14px;">LAPORAN PENILAIAN ATAS {{$data}}</h4> <h4 style="text-align: center; text-transform: uppercase; font-size: 14px;">LAPORAN PENILAIAN ATAS
{{ $data }}</h4>
<p style="text-align: center;">NO: <p style="text-align: center;">NO:
{{ $permohonan->debiture->branch->code ?? '' }}/{{ $nomorLaporan }}/LPJ/{{ $permohonan->nomor_registrasi }}/{{ onRomawi(date('m')) }}/{{ date('Y') }} {{ $permohonan->debiture->branch->code ?? '' }}/{{ $nomorLaporan }}/LPJ/{{ $permohonan->nomor_registrasi }}/{{ onRomawi(date('m')) }}/{{ date('Y') }}
</p> </p>
@@ -822,37 +823,43 @@
<!-- Spesifikasi Bangunan --> <!-- Spesifikasi Bangunan -->
@if (isset($basicData['spekKategoriBangunan'])) @if (isset($basicData['spekKategoriBangunan']))
@foreach ($basicData['spekKategoriBangunan'] as $index => $spesifikasi) @foreach ($basicData['spekKategoriBangunan'] as $index => $spesifikasi)
<tr> <tr>
<td><strong>{{ $spesifikasi->name }}</strong></td> <td><strong>{{ $spesifikasi->name }}</strong></td>
<td> <td>
<table class="checkbox-list"> <table class="checkbox-list">
@if (isset($basicData['spekBangunan'])) @if (isset($basicData['spekBangunan']))
@foreach ($basicData['spekBangunan'] as $kategori) @foreach ($basicData['spekBangunan'] as $kategori)
@if ($kategori->spek_kategori_bangunan_id == $spesifikasi->id) @if ($kategori->spek_kategori_bangunan_id == $spesifikasi->id)
@if ($loop->iteration % 3 == 1 && $loop->iteration > 1) @if ($loop->iteration % 3 == 1 && $loop->iteration > 1)
</tr><tr> <!-- Start a new row after 3 items --> </tr>
@endif <tr> <!-- Start a new row after 3 items -->
<td class="checkbox-item"> @endif
<label class="checkbox-label"> <td class="checkbox-item">
<input type="checkbox" <label class="checkbox-label">
style="margin-right: 3px;" <input type="checkbox" style="margin-right: 3px;"
name="spesifikasi_bangunan[{{ $index }}][{{ $spesifikasi->name }}][]" name="spesifikasi_bangunan[{{ $index }}][{{ $spesifikasi->name }}][]"
value="{{ $kategori->name }}" value="{{ $kategori->name }}"
{{ isset($forminspeksi['bangunan']['spesifikasi_bangunan'][$index]['spek_kategori_bangunan'][$spesifikasi->name]) && {{ isset(
in_array($kategori->name, $forminspeksi['bangunan']['spesifikasi_bangunan'][$index]['spek_kategori_bangunan'][$spesifikasi->name]) $forminspeksi['bangunan']['spesifikasi_bangunan'][$index]['spek_kategori_bangunan'][$spesifikasi->name],
? 'checked' : '' }}> ) &&
{{ $kategori->name }} in_array(
</label> $kategori->name,
</td> $forminspeksi['bangunan']['spesifikasi_bangunan'][$index]['spek_kategori_bangunan'][$spesifikasi->name],
@endif )
@endforeach ? 'checked'
@endif : '' }}>
</table> {{ $kategori->name }}
</td> </label>
</tr> </td>
@endif
@endforeach @endforeach
@endif @endif
</table>
</td>
</tr>
@endforeach
@endif
<!-- Sarana Pelengkap --> <!-- Sarana Pelengkap -->
@@ -896,11 +903,7 @@
<table> <table>
<tr> <tr>
@php @php
$cekLuas = isset( $cekLuas = isset($forminspeksi['luas_unit']['tidak sesuai']) ? 'tidak sesuai' : 'sesuai';
$forminspeksi['luas_unit']['tidak sesuai'],
)
? 'tidak sesuai'
: 'sesuai';
$luas = $forminspeksi['luas_unit'][$cekLuas] ?? null; $luas = $forminspeksi['luas_unit'][$cekLuas] ?? null;
@endphp @endphp
@@ -931,70 +934,70 @@
</table> </table>
@endif @endif
<tr> <tr>
<td><strong>Kondisi Unit</strong></td> <td><strong>Kondisi Unit</strong></td>
<td> <td>
@if (isset($basicData['kondisiUnit'])) @if (isset($basicData['kondisiUnit']))
<table class="checkbox-list"> <table class="checkbox-list">
<tr> <tr>
@foreach ($basicData['kondisiUnit'] as $index => $item) @foreach ($basicData['kondisiUnit'] as $index => $item)
@if ($index % 3 == 0 && $index > 0) @if ($index % 3 == 0 && $index > 0)
</tr> </tr>
<tr> <tr>
@endif @endif
<td class="checkbox-item"> <td class="checkbox-item">
<label class="checkbox-label"> <label class="checkbox-label">
<input type="checkbox" <input type="checkbox"
{{ isset($forminspeksi['kondisi_unit']) && in_array($item->name, $forminspeksi['kondisi_unit']) ? 'checked' : '' }}> {{ isset($forminspeksi['kondisi_unit']) && in_array($item->name, $forminspeksi['kondisi_unit']) ? 'checked' : '' }}>
{{ $item->name }} {{ $item->name }}
</label> </label>
</td> </td>
@endforeach @endforeach
</tr> </tr>
</table> </table>
@endif @endif
<tr> <tr>
<td><strong>Posisi Unit</strong></td> <td><strong>Posisi Unit</strong></td>
<td> <td>
@if (isset($basicData['posisiUnit'])) @if (isset($basicData['posisiUnit']))
<table class="checkbox-list"> <table class="checkbox-list">
<tr> <tr>
@foreach ($basicData['posisiUnit'] as $index => $item) @foreach ($basicData['posisiUnit'] as $index => $item)
@if ($index % 3 == 0 && $index > 0) @if ($index % 3 == 0 && $index > 0)
</tr> </tr>
<tr> <tr>
@endif @endif
<td class="checkbox-item"> <td class="checkbox-item">
<label class="checkbox-label"> <label class="checkbox-label">
<input type="checkbox" <input type="checkbox"
{{ isset($forminspeksi['posisi_unit']) && in_array($item->name, $forminspeksi['posisi_unit']) ? 'checked' : '' }}> {{ isset($forminspeksi['posisi_unit']) && in_array($item->name, $forminspeksi['posisi_unit']) ? 'checked' : '' }}>
{{ $item->name }} {{ $item->name }}
</label> </label>
</td> </td>
@endforeach @endforeach
</tr> </tr>
</table> </table>
@endif @endif
<tr> <tr>
<td><strong>View Unit</strong></td> <td><strong>View Unit</strong></td>
<td> <td>
@if (isset($basicData['view'])) @if (isset($basicData['view']))
<table class="checkbox-list"> <table class="checkbox-list">
<tr> <tr>
@foreach ($basicData['view'] as $index => $item) @foreach ($basicData['view'] as $index => $item)
@if ($index % 3 == 0 && $index > 0) @if ($index % 3 == 0 && $index > 0)
</tr> </tr>
<tr> <tr>
@endif @endif
<td class="checkbox-item"> <td class="checkbox-item">
<label class="checkbox-label"> <label class="checkbox-label">
<input type="checkbox" <input type="checkbox"
{{ isset($forminspeksi['view']) && in_array($item->name, $forminspeksi['view']) ? 'checked' : '' }}> {{ isset($forminspeksi['view']) && in_array($item->name, $forminspeksi['view']) ? 'checked' : '' }}>
{{ $item->name }} {{ $item->name }}
</label> </label>
</td> </td>
@endforeach @endforeach
</tr> </tr>
</table> </table>
@endif @endif
</table> </table>
@@ -1362,7 +1365,8 @@
Likuidasi</td> Likuidasi</td>
</tr> </tr>
<tr> <tr>
<td style=" padding: 8px; text-align: right;">{{ $lpjData['likuidasi'] ?? '' }}% X Total Nilai <td style=" padding: 8px; text-align: right;">{{ $lpjData['likuidasi'] ?? '' }}% X Total
Nilai
Pasar Wajar</td> Pasar Wajar</td>
<td colspan="2" style=" padding: 8px; text-align: right;">= <td colspan="2" style=" padding: 8px; text-align: right;">=
{{ $lpjData['likuidasi_nilai_1'] ?? '' }}</td> {{ $lpjData['likuidasi_nilai_1'] ?? '' }}</td>
@@ -1425,12 +1429,40 @@
</div> </div>
<div class="page-break"></div> <div class="page-break"></div>
<div class="section"> <div class="section">
<div class="judul"> <div class="judul">
<h6 class="border"> <h6 class="border">
PETA LOKASI PETA LOKASI
</h6> </h6>
</div> </div>
<td>
@php
$fotoTypes = ['foto_gistaru', 'foto_bhumi', 'foto_argis_region', 'foto_tempat'];
if (($key = array_search('foto_tempat', $fotoTypes)) !== false) {
unset($fotoTypes[$key]);
array_unshift($fotoTypes, 'foto_tempat');
}
@endphp
<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="photo-image">
@endif
<p class="mt-2 text-sm">{{ Str::title(str_replace('_', ' ', $type)) }}</p>
</div>
@empty
<p>Tidak ada tipe foto yang tersedia</p>
@endforelse
@endif
</div>
</td>
</div> </div>
<div class="section"> <div class="section">

View File

@@ -1,132 +1,109 @@
@extends('layouts.main') @extends('layouts.main')
@section('content') @section('content')
<div class="card w-full bg-white rounded-lg shadow-md h-100vh"> <div class="card w-full bg-white rounded-lg shadow-md h-100vh">
<div class="card-header flex justify-between items-center"> <div class="card-header flex justify-between items-center">
<h3 class="card-title uppercase"> <h3 class="card-title uppercase">Laporan</h3>
Laporan <a href="{{ url()->previous() }}" class="btn btn-xs btn-info flex items-center">
</h3> <i class="ki-filled ki-exit-left"></i> Back
<a href="{{ url()->previous() }}" class="btn btn-xs btn-info flex items-center"> </a>
<i class="ki-filled ki-exit-left"></i> Back </div>
@php
$inspeksiId = null;
$documentId = null;
$jenisJaminanId = null;
foreach ($permohonan->debiture->documents as $item) {
if (!empty($item->inspeksi)) {
$inspeksiId = $item->inspeksi[0]->id;
}
$documentId = $item->id;
$jenisJaminanId = $item->jenis_jaminan_id;
}
@endphp
<div class="card-body relative flex flex-col h-[calc(100vh-4rem)] overflow-hidden">
<!-- Loading Spinner -->
<div id="loading" class="absolute inset-0 flex items-center justify-center bg-opacity-50">
<div class="loader"></div>
</div>
<div id="pdf-container" class="mt-4" style="width: 100%; height: 800px; border: 1px solid #ccc; margin: 10px;"></div>
<div class="card-footer flex justify-end">
<a href="{{ route('penilai.print-out') }}?permohonanId={{ $permohonan->id }}&documentId={{ $documentId }}&inspeksiId={{ $inspeksiId }}&jaminanId={{ $jenisJaminanId }}&statusLpj=0" class="btn btn-primary">
<i class="ki-filled ki-printer"></i> Print
</a> </a>
</div> </div>
@php
$inspeksiId = null;
$documentId = null;
$jenisJaminanId = null;
foreach ($permohonan->debiture->documents as $item) {
if (!empty($item->inspeksi)) {
$inspeksiId = $item->inspeksi[0]->id; // Asumsi mengambil inspeksi pertama
}
$documentId = $item->id;
$jenisJaminanId = $item->jenis_jaminan_id;
}
@endphp
<div class="card-body relative flex flex-col h-[calc(100vh-4rem)] overflow-hidden">
<!-- Loading Spinner -->
<div id="loading" class="absolute inset-0 flex items-center justify-center bg-gray-100 bg-opacity-50">
<div class="loader ease-linear rounded-full border-4 border-t-4 border-gray-200 h-12 w-12"></div>
<p class="text-gray-600 mt-2">Loading...</p>
</div>
<div class="flex justify-between mt-4">
<button id="zoomIn" class="btn btn-outline btn-primary">
<i class="ki-filled ki-plus"></i>
</button>
<button id="zoomOut" class="btn btn-outline btn-warning">
<i class="ki-filled ki-minus"></i>
</button>
</div>
<div class="iframe-container" style="width: 100%; border: 1px solid #ccc; height: 800px; overflow: hidden; margin: 10px;">
<iframe id="reportIframe" width="100%" height="100%" style="border: none; transform-origin: top left;">
</iframe>
</div>
<div class="card-footer flex justify-end">
<a href="{{ route('penilai.print-out') }}?permohonanId={{ $permohonan->id }}&documentId={{ $documentId }}&inspeksiId={{ $inspeksiId }}&jaminanId={{ $jenisJaminanId }}&statusLpj=0" class="btn btn-primary">
<i class="ki-filled ki-printer"></i> Print
</a>
</div>
</div>
</div> </div>
</div>
@endsection @endsection
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfobject/2.3.0/pdfobject.min.js"></script>
<script> <script>
document.addEventListener('DOMContentLoaded', function () { document.addEventListener('DOMContentLoaded', function () {
const iframe = document.getElementById('reportIframe'); const loading = document.getElementById('loading');
const loading = document.getElementById('loading'); const pdfContainer = document.getElementById('pdf-container');
const zoomInButton = document.getElementById('zoomIn');
const zoomOutButton = document.getElementById('zoomOut');
// Initial zoom level const pdfUrl = `{{ route('penilai.print-out') }}?permohonanId={{ $permohonan->id }}&documentId={{ $documentId }}&jaminanId={{ $jenisJaminanId }}&statusLpj=true`;
let zoomLevel = 1;
const url = `{{ route('penilai.print-out') }}?permohonanId={{ $permohonan->id }}&documentId={{ $documentId }}&jaminanId={{ $jenisJaminanId }}&statusLpj=true`;
// Display the loading spinner // Display the loading spinner
loading.style.display = 'flex'; loading.style.display = 'flex';
// Load the content into the iframe // Fetch the PDF URL to ensure it loads properly
fetch(url) fetch(pdfUrl)
.then(response => { .then(response => {
if (!response.ok) { if (!response.ok) {
throw new Error('Network response was not ok ' + response.statusText); throw new Error('Failed to fetch the PDF file.');
} }
return response.text(); return response.blob();
}) })
.then(html => { .then(blob => {
// Load the content into the iframe const url = URL.createObjectURL(blob);
const iframeDoc = iframe.contentDocument || iframe.contentWindow.document; // Embed PDF using PDFObject
iframeDoc.open(); PDFObject.embed(url, pdfContainer, {
iframeDoc.write(html); height: "100%",
iframeDoc.close(); fallbackLink: `<p class="text-red-500">It appears you don't have a PDF plugin for this browser. You can <a href="${url}">click here to download the PDF file.</a></p>`
loading.style.display = 'none'; });
iframe.style.display = 'block'; loading.style.display = 'none';
}) })
.catch(error => { .catch(error => {
console.error('Problem with fetch operation:', error); console.error('Error:', error);
loading.innerHTML = `<p class="text-red-500">Failed to load the report. Please try again later.</p>`; loading.innerHTML = `<p class="text-red-500">Failed to load the report. Please try again later.</p>`;
}); });
});
// Zoom in function </script>
zoomInButton.addEventListener('click', function () {
zoomLevel += 0.1; // Increase zoom level
iframe.style.transform = `scale(${zoomLevel})`;
iframe.style.transformOrigin = 'top left';
iframe.style.width = `${100 / zoomLevel}%`;
iframe.style.height = `${800 / zoomLevel}px`;
});
// Zoom out function
zoomOutButton.addEventListener('click', function () {
zoomLevel = Math.max(0.5, zoomLevel - 0.1);
iframe.style.transform = `scale(${zoomLevel})`;
iframe.style.transformOrigin = 'top left';
iframe.style.width = `${100 / zoomLevel}%`;
iframe.style.height = `${800 / zoomLevel}px`;
});
});
</script>
<style> <style>
/* Loader styles */
.loader {
border-color: #f3f3f3;
border-top-color: #3498db;
animation: spin 1s linear infinite;
}
@keyframes spin { .loader {
to { width: 100px;
transform: rotate(360deg); display: grid;
} background: radial-gradient(farthest-side, #35C1D0 98%, #0000) center/30px 100%
} no-repeat;
--mask:
/* Full height for iframe */ radial-gradient(12px at left 15px top 50%, #0000 95%, #000),
.card-body { radial-gradient(12px at center, #0000 95%, #000),
position: relative; radial-gradient(12px at right 15px top 50%, #0000 95%, #000);
} -webkit-mask: var(--mask);
mask: var(--mask);
-webkit-mask-composite: source-in;
mask-composite: intersect;
animation: l2 1s infinite alternate;
}
.loader:before,
.loader:after {
content: "";
grid-area: 1/1;
height: 30px;
aspect-ratio: 1;
background: #35C1D0;
border-radius: 50%;
}
.loader:after {
margin-left: auto;
}
@keyframes l2 {
to {
width: 50px;
}
}
</style> </style>

View File

@@ -29,97 +29,8 @@
</a> </a>
</div> </div>
</div> </div>
<div data-accordion="true"> <div class="mx-8">
@foreach ($permohonan->debiture->documents as $dokumen) @include('lpj::component.detail-jaminan', ['status' => true])
<div class="accordion-item [&:not(:last-child)]:border-b border-b-gray-200"
data-accordion-item="true" id="accordion_1_item_1">
<button class="accordion-toggle py-4 group mx-8"
data-accordion-toggle="#accoordion_detail_jaminan_{{ $loop->index }}">
<span class="text-base text-gray-900 font-medium">
Jaminan {{ $loop->index + 1 }}
</span>
<i class="ki-outline ki-plus text-gray-600 text-2sm accordion-active:hidden block">
</i>
<i class="ki-outline ki-minus text-gray-600 text-2sm accordion-active:block hidden">
</i>
</button>
<div class="accordion-content hidden" id="accoordion_detail_jaminan_{{ $loop->index }}">
<div class="card-body lg:py-7.5 grid grid-cols-2">
<div class="mb-5">
<h3 class="text-md font-medium text-gray-900">
Pemilik Jaminan:
</h3>
<span class="text-2sm text-gray-700">
{{ $dokumen->pemilik->name ?? '' }}
</span>
</div>
<div class="mb-5">
<h3 class="text-md font-medium text-gray-900">
Jenis Jaminan:
</h3>
<span class="text-2sm text-gray-700">
{{ $dokumen->jenisJaminan->name ?? '' }}
</span>
</div>
<div class="mb-5">
<h3 class="text-md font-medium text-gray-900">
Hubungan Pemilik Jaminan:
</h3>
<span class="text-2sm text-gray-700">
{{ $dokumen->pemilik->hubungan_pemilik->name ?? '' }}
</span>
</div>
<div class="mb-5">
<h3 class="text-md font-medium text-gray-900">
Alamat Pemilik Jaminan:
</h3>
<span class="text-2sm text-gray-700">
{{ $dokumen->pemilik->address ?? '' }},
<br> {{ $dokumen->pemilik->village->name ?? '' }},
{{ $dokumen->pemilik->district->name ?? '' }},
{{ $dokumen->pemilik->city->name ?? '' }},
{{ $dokumen->pemilik->province->name ?? '' }} -
{{ $dokumen->pemilik->village->postal_code ?? '' }}
</span>
</div>
</div>
<div class="card-table scrollable-x-auto pb-3">
<table class="table align-middle text-sm text-gray-500">
@foreach ($dokumen->detail as $detail)
<tr>
<td class="py-2 text-gray-600 font-normal max-w-[100px]">
{{ $loop->index + 1 }}. {{ $detail->jenisLegalitasJaminan->name }}
</td>
<td class="py-2 text-gray-800 font-normaltext-sm">
{{ $detail->name ?? '' }}
</td>
</tr>
<tr>
<td class="py-3 max-w-[100px]">
Dokumen Jaminan
</td>
<td class="py-3 text-gray-700 text-2sm font-normal">
@if (isset($detail->dokumen_jaminan))
<a href="{{ route('debitur.jaminan.download', ['id' => $permohonan->debiture->id, 'dokumen' => $detail->id]) }}"
class="badge badge-sm badge-outline mt-2">{{ basename($detail->dokumen_jaminan) }}
<i class="ki-filled ki-cloud-download"></i></a>
@endif
</td>
</tr>
<tr>
<td class="py-3 max-w-[100px]">
Keterangan
</td>
<td class="py-3 text-gray-700 text-2sm font-normal">
{{ $detail->keterangan ?? '' }}
</td>
</tr>
@endforeach
</table>
</div>
</div>
</div>
@endforeach
</div> </div>
</div> </div>
</div> </div>

View File

@@ -256,96 +256,8 @@
<h1 class="text-md font-medium text-gray-900 uppercase">Status</h1> <h1 class="text-md font-medium text-gray-900 uppercase">Status</h1>
</div> </div>
<div class="card-body"> <div class="card-body">
<div data-accordion="true"> @include('lpj::component.detail-jaminan', ['status' => true])
@foreach ($permohonan->debiture->documents as $dokumen) <div class=" mx-auto rounded-lg overflow-hidden">
<div class="accordion-item [&:not(:last-child)]:border-b border-b-gray-200" data-accordion-item="true"
id="accordion_detail_jaminan">
<button class="accordion-toggle py-4 group "
data-accordion-toggle="#accordion_detail_jaminan_{{ $loop->index }}">
<span class="text-base text-gray-900 font-medium">
Dokumen Kepemilikan
</span>
<i class="ki-outline ki-plus text-gray-600 text-2sm accordion-active:hidden block">
</i>
<i class="ki-outline ki-minus text-gray-600 text-2sm accordion-active:block hidden">
</i>
</button>
<div class="accordion-content hidden" id="accordion_detail_jaminan_{{ $loop->index }}">
<div class="card-table scrollable-x-auto pb-3">
<a href="{{ route('debitur.jaminan.bulk.download', ['id' => $permohonan->debiture->id, 'jaminan' => $dokumen->id]) }}"
class="ml-6 btn btn-dark dark:btn-light">
<i class="ki-outline ki-cloud-download"></i> Download Semua Dokumen
</a>
<table class="table align-middle text-sm text-gray-500">
@foreach ($dokumen->detail as $detail)
<tr>
<td class="py-2 text-gray-600 font-normal max-w-[100px]">
{{ $loop->index + 1 }}. {{ $detail->jenisLegalitasJaminan->name }}
</td>
<td class="py-2 text-gray-800 font-normaltext-sm">
{{ $detail->name ?? '' }}
</td>
</tr>
<tr>
<td class="py-3 max-w-[100px] align-top">
Dokumen Jaminan
</td>
<td class="py-3 text-gray-700 text-2sm font-normal">
@if (isset($detail->dokumen_jaminan))
@php
$dokumen_jaminan = is_array(json_decode($detail->dokumen_jaminan))
? json_decode($detail->dokumen_jaminan)
: [$detail->dokumen_jaminan];
$dokumen_nomor = is_array(json_decode($detail->dokumen_nomor))
? json_decode($detail->dokumen_nomor)
: ($detail->dokumen_nomor
? [$detail->dokumen_nomor]
: []);
@endphp
@foreach ($dokumen_jaminan as $index => $dokumen)
<div class="flex w-full lg:w-[30%]">
@if (in_array(Auth::user()->roles[0]->name, ['administrator', 'pemohon-eo']))
@if (!empty($dokumen_nomor))
<span class="flex-1 mt-2 text-info">Nomor Dokumen :
{{ $dokumen_nomor[$index] }}</span>
@endif
<a href="{{ route('debitur.jaminan.download', ['id' => $permohonan->debiture->id, 'dokumen' => $detail->id, 'index' => $index]) }}"
class="flex-none badge badge-sm badge-outline mt-2 mr-2">
{{ basename($dokumen) }}
<i class="ki-filled ki-cloud-download"></i>
</a>
@endif
<span
class="flex-none badge badge-sm badge-outline badge-warning mt-2"
onclick="viewPDF('{{ Storage::url($dokumen_jaminan[$index]) }}')"><i
class="ki-filled ki-eye mr-2"></i>Preview</span>
</div>
<br>
@endforeach
@endif
</td>
</tr>
<tr>
<td class="py-3 max-w-[100px]">
Keterangan
</td>
<td class="py-3 text-gray-700 text-2sm font-normal">
{{ $detail->keterangan ?? '' }}
</td>
</tr>
@endforeach
</table>
</div>
</div>
</div>
@endforeach
</div>
@include('lpj::component.pdfviewer')
<div class=" mx-auto bg-white rounded-lg overflow-hidden">
<div class="py-4 "> <div class="py-4 ">
<h1 class="text-md font-medium text-gray-900">Hubungan cadeb/debitur dengan Pemilik Jaminan</h1> <h1 class="text-md font-medium text-gray-900">Hubungan cadeb/debitur dengan Pemilik Jaminan</h1>
</div> </div>