🎨(view): Refaktor dan optimasi tampilan detail jaminan dengan perbaikan CSS & struktur kode

- Konsistensi urutan class CSS mengikuti standar Tailwind (layout → sizing → typography → colors)
- Perbaikan indentasi, spacing, whitespace, dan formatting string ("" → '')
- Penyusunan ulang struktur HTML dengan alignment & spacing yang lebih rapi
- Optimalisasi Blade template: perbaikan kondisi `@if (isset($penawaran))` & closing tag
- Standarisasi penggunaan grid layout dan urutan class grid (contoh: `grid grid-cols-1 gap-5 xl:grid-cols-2`)
- Konsistensi typography classes (`font-normal text-gray-700 text-2sm`) dan urutan color classes
- Refaktor struktur tabel: perbaikan class ordering, cell formatting, dan spacing kolom
- Penyusunan ulang komponen accordion dengan indentasi & struktur konten yang konsisten
- Konsistensi class pada tombol accordion & link structure untuk meningkatkan maintainability
This commit is contained in:
Daeng Deni Mardaeni
2025-09-21 21:19:56 +07:00
parent c4bb3bea28
commit dfd2a82b42
8 changed files with 951 additions and 911 deletions

View File

@@ -8,8 +8,8 @@
{{ $title }}
</h3>
<div class="flex items-center gap-2">
{!! $customlink ?? "" !!}
<div class="flex gap-2 items-center">
{!! $customlink ?? '' !!}
@if (isset($id))
@php
$parameters = isset($id) ? ['id' => $id] : [];
@@ -31,89 +31,88 @@
@endif
</div>
</div>
<div class="card-body lg:py-7.5 grid grid-cols-3">
<div class="grid grid-cols-3 card-body lg:py-7.5">
<div class="mb-5">
<h3 class="text-md font-medium text-gray-900">
<h3 class="font-medium text-gray-900 text-md">
Nomor Register Permohonan:
</h3>
<span class="text-2sm text-gray-700">
<span class="text-gray-700 text-2sm">
{{ $permohonan->nomor_registrasi }}
</span>
</div>
<div class="mb-5">
<h3 class="text-md font-medium text-gray-900">
<h3 class="font-medium text-gray-900 text-md">
Pemohon:
</h3>
<span class="text-2sm text-gray-700">
<span class="text-gray-700 text-2sm">
{{ $permohonan->user->nik }} | {{ $permohonan->user->name }} | {{ $permohonan->user->branch->name }}
</span>
</div>
@if(isset($penawaran))
@if (isset($penawaran))
<div class="mb-5">
<h3 class="text-md font-medium text-gray-900">
<h3 class="font-medium text-gray-900 text-md">
Nomor Penawaran:
</h3>
<span class="text-2sm text-gray-700">
{{ $penawaran->code }}
</span>
<span class="text-gray-700 text-2sm">
{{ $penawaran->code }}
</span>
</div>
<div class="mb-5">
<h3 class="text-md font-medium text-gray-900">
<h3 class="font-medium text-gray-900 text-md">
Nomor Penawaran:
</h3>
<span class="text-2sm text-gray-700">
{{ $penawaran->tujuanPenilaianKjpp->name }}
</span>
<span class="text-gray-700 text-2sm">
{{ $penawaran->tujuanPenilaianKjpp->name }}
</span>
</div>
@else
<div class="mb-5">
<h3 class="text-md font-medium text-gray-900">
<h3 class="font-medium text-gray-900 text-md">
Tujan Permohonan:
</h3>
<span class="text-2sm text-gray-700">
{{ $permohonan->tujuanPenilaian->name }}
</span>
<span class="text-gray-700 text-2sm">
{{ $permohonan->tujuanPenilaian->name }}
</span>
</div>
<div class="mb-5">
<h3 class="text-md font-medium text-gray-900">
<h3 class="font-medium text-gray-900 text-md">
Nilai Plafond:
</h3>
<span class="text-2sm text-gray-700">
{{ $permohonan->nilaiPlafond->name }}
</span>
<span class="text-gray-700 text-2sm">
{{ $permohonan->nilaiPlafond->name }}
</span>
</div>
<div class="mb-5">
<h3 class="text-md font-medium text-gray-900">
<h3 class="font-medium text-gray-900 text-md">
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>
{{ str_replace('_', ' ', $permohonan->status_bayar) }}
</span>
</div>
@endif
</div>
</div>
<div class="card border border-agi-100 min-w-full">
<div class="min-w-full border card border-agi-100">
<div class="card-header light: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="pb-3 card-table scrollable-x-auto">
<div class="grid grid-cols-1 gap-5 xl:grid-cols-2 lg:gap-7.5">
<div class="col-span-1">
<table class="table align-middle text-sm text-gray-500">
<table class="table text-sm text-gray-500 align-middle">
<tr>
<td class="py-2 text-gray-600 font-normal">
<td class="py-2 font-normal text-gray-600">
Nama
</td>
<td class="py-2 text-gray-800 font-normaltext-sm">
@@ -124,7 +123,7 @@
<td class="py-3">
Email
</td>
<td class="py-3 text-gray-700 text-2sm font-normal">
<td class="py-3 font-normal text-gray-700 text-2sm">
{{ $permohonan->debiture->email ?? '' }}
</td>
</tr>
@@ -132,24 +131,24 @@
<td class="py-3">
No Hp
</td>
<td class="py-3 text-gray-700 text-2sm font-normal">
<td class="py-3 font-normal text-gray-700 text-2sm">
{{ $permohonan->debiture->phone ?? '' }}
</td>
</tr>
<tr>
<td class="py-3 text-gray-600 font-normal">
<td class="py-3 font-normal text-gray-600">
Alamat
</td>
<td class="py-3 text-gray-700 text-sm font-normal">
<td class="py-3 text-sm font-normal text-gray-700">
{{ $permohonan->debiture->address ?? '' }}
</td>
</tr>
<tr>
<td class="py-3 text-gray-600 font-normal">
<td class="py-3 font-normal text-gray-600">
&nbsp;
</td>
<td class="py-3 text-gray-700 text-sm font-normal">
<td class="py-3 text-sm font-normal text-gray-700">
{{ $permohonan->debiture->village->name ?? '' }},
{{ $permohonan->debiture->district->name ?? '' }},
{{ $permohonan->debiture->city->name ?? '' }},
@@ -160,9 +159,9 @@
</table>
</div>
<div class="col-span-1">
<table class="table align-middle text-sm text-gray-500">
<table class="table text-sm text-gray-500 align-middle">
<tr>
<td class="py-3 text-gray-600 font-normal">
<td class="py-3 font-normal text-gray-600">
Cabang
</td>
<td class="py-2 text-gray-800 font-normaltext-sm">
@@ -170,7 +169,7 @@
</td>
</tr>
<tr>
<td class="py-3 text-gray-600 font-normal">
<td class="py-3 font-normal text-gray-600">
CIF
</td>
<td class="py-2 text-gray-800 font-normaltext-sm">
@@ -178,10 +177,10 @@
</td>
</tr>
<tr>
<td class="py-3 text-gray-600 font-normal">
<td class="py-3 font-normal text-gray-600">
Nomor Rekening
</td>
<td class="py-3 text-gray-700 text-sm font-normal">
<td class="py-3 text-sm font-normal text-gray-700">
{{ $permohonan->debiture->nomor_rekening ?? '' }}
</td>
</tr>
@@ -189,7 +188,7 @@
<td class="py-3">
NPWP
</td>
<td class="py-3 text-gray-700 text-2sm font-normal">
<td class="py-3 font-normal text-gray-700 text-2sm">
{{ $permohonan->debiture->npwp ?? '' }}
</td>
</tr>
@@ -201,160 +200,172 @@
<div class="card border border-agi-100 min-w-full">
<div class="min-w-full border card border-agi-100">
<div class="card-header light:bg-agi-50">
<h3 class="card-title">
Data Jaminan
</h3>
</div>
@endif
<div data-accordion="true">
@foreach ($permohonan->documents as $dokumen)
<div class="accordion-item {{ count($permohonan->documents) == 1 ? 'active' : '' }} [&:not(:last-child)]:border-b border-b-gray-200"
data-accordion-item="true" id="accordion_detail_jaminan">
<button @class(['accordion-toggle py-4 group', 'mx-8' => !isset($status)])"
data-accordion-toggle="#accordion_detail_jaminan_{{ $loop->index }}">
<span class="text-base text-gray-900 font-medium">
@endif
<div data-accordion="true">
@foreach ($permohonan->documents as $dokumen)
<div class="accordion-item {{ count($permohonan->documents) == 1 ? 'active' : '' }} [&:not(:last-child)]:border-b border-b-gray-200"
data-accordion-item="true" id="accordion_detail_jaminan">
<button @class(['accordion-toggle py-4 group', 'mx-8' => !isset($status)])"
data-accordion-toggle="#accordion_detail_jaminan_{{ $loop->index }}">
<span class="text-base font-medium text-gray-900">
@if (count($permohonan->documents) > 1)
Jaminan {{ $loop->index + 1 }}
@else
Jaminan
@endif
Jaminan {{ $loop->index + 1 }}
@else
Jaminan
@endif
</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 {{ count($permohonan->documents) > 1 ? 'hidden' : '' }}"
id="accordion_detail_jaminan_{{ $loop->index }}">
<i class="block text-gray-600 ki-outline ki-plus text-2sm accordion-active:hidden">
</i>
<i class="hidden text-gray-600 ki-outline ki-minus text-2sm accordion-active:block">
</i>
</button>
<div class="accordion-content {{ count($permohonan->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="mb-5">
<h3 class="text-md font-medium text-gray-900">
Pemilik Jaminan:
</h3>
<span class="text-2sm text-gray-700">
@if (!isset($status))
<div class="grid grid-cols-2 card-body lg:py-7.5">
<div class="mb-5">
<h3 class="font-medium text-gray-900 text-md">
Pemilik Jaminan:
</h3>
<span class="text-gray-700 text-2sm">
{{ $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">
</div>
<div class="mb-5">
<h3 class="font-medium text-gray-900 text-md">
Jenis Jaminan:
</h3>
<span class="text-gray-700 text-2sm">
{{ $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">
</div>
<div class="mb-5">
<h3 class="font-medium text-gray-900 text-md">
Hubungan Pemilik Jaminan:
</h3>
<span class="text-gray-700 text-2sm">
{{ $dokumen->pemilik->hubungan_pemilik->name ?? '' }}
</span>
</div>
<div class="mb-5">
<h3 class="text-md font-medium text-gray-900">
Alamat Jaminan:
</h3>
<span class="text-2sm text-gray-700">
{{ formatAlamat($dokumen) }}
</div>
<div class="mb-5">
<h3 class="font-medium text-gray-900 text-md">
Alamat Jaminan:
</h3>
<span class="text-gray-700 text-2sm">
{{ formatAlamat($dokumen) }}
</span>
</div>
</div>
@endif
<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">
@php $document = $dokumen; @endphp
@foreach($document->detail as $detail)
@if(isset($detail->dokumen_jaminan))
<tr>
<td colspan="2">
<strong class="text-2xs text-gray-600 uppercase">
{{ $loop->index+1 }}. {{ $detail->jenisLegalitasJaminan->name }}
</strong>
</td>
</tr>
@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)
<tr>
<td>
<span class="text-2xs text-gray-600 uppercase pl-3">
{{ $loop->index+1 }}. Nomor : {{ $dokumen_nomor[$index] }}
</span>
</td>
<td class="text-left">
@if(in_array(Auth::user()->roles[0]->name,['administrator','pemohon-eo']))
<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="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>
</td>
</tr>
@if(isset($detail->details) && isset(json_decode($detail->details)[$index]))
@foreach (json_decode($detail->details)[$index] as $key => $value)
<tr>
<td>
<span class="text-2xs text-gray-600 uppercase pl-3">
- {{ str_replace("_"," ",$key) ?? "" }}
</span>
</td>
<td class="text-left">
<p class="text-2xs text-gray-600 max-w-[250px]">
{{ $value }}
</p>
</td>
</tr>
@endforeach
@endif
@endforeach
@endif
<tr>
<td>
<span class="text-2xs text-gray-600 uppercase pl-3">
- keterangan
</span>
</td>
<td class="text-right">
<p class="text-2xs text-gray-600 max-w-[250px]">
{{ $detail->keterangan }}
</p>
</td>
</tr>
@endif
@endforeach
</table>
</div>
</div>
@endif
<div class="pb-3 card-table scrollable-x-auto">
<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 text-sm text-gray-500 align-middle">
@php $document = $dokumen; @endphp
@foreach ($document->detail as $detail)
@if (isset($detail->dokumen_jaminan))
<tr>
<td colspan="2">
<strong class="text-gray-600 uppercase text-2xs">
{{ $loop->index + 1 }}. {{ $detail->jenisLegalitasJaminan->name }}
</strong>
</td>
</tr>
@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)
<tr>
<td>
<span class="pl-3 text-gray-600 uppercase text-2xs">
{{ $loop->index + 1 }}. Nomor : {{ $dokumen_nomor[$index] }}
</span>
</td>
<td class="text-left">
@if (in_array(Auth::user()->roles[0]->name, [
'administrator',
'pemohon-eo',
'surveyor',
'senior-officer',
'EO Appraisal',
'DD Appraisal',
]))
<a href="{{ route('debitur.jaminan.download', ['id' => $permohonan->debiture->id, 'dokumen' => $detail->id, 'index' => $index]) }}"
class="flex-none mt-2 mr-2 badge badge-sm badge-outline">
{{ basename($dokumen) }}
<i class="ki-filled ki-cloud-download"></i>
</a>
@endif
<span class="mt-2 badge badge-sm badge-outline badge-warning"
onclick="viewPDF('{{ Storage::url($dokumen_jaminan[$index]) }}')">
<i class="mr-2 ki-filled ki-eye"></i>Preview
</span>
</td>
</tr>
@if (isset($detail->details) && isset(json_decode($detail->details)[$index]))
@foreach (json_decode($detail->details)[$index] as $key => $value)
<tr>
<td>
<span class="pl-3 text-gray-600 uppercase text-2xs">
- {{ str_replace('_', ' ', $key) ?? '' }}
</span>
</td>
<td class="text-left">
<p class="text-2xs text-gray-600 max-w-[250px]">
{{ $value }}
</p>
</td>
</tr>
@endforeach
@endif
@endforeach
@endif
<tr>
<td>
<span class="pl-3 text-gray-600 uppercase text-2xs">
- keterangan
</span>
</td>
<td class="text-right">
<p class="text-2xs text-gray-600 max-w-[250px]">
{{ $detail->keterangan }}
</p>
</td>
</tr>
@endif
@endforeach
</table>
</div>
@endforeach
</div>
</div>
@if (!isset($status))
@endforeach
</div>
@if (!isset($status))
</div>
@include('lpj::component.lampiran-dokumen')
@include('lpj::component.history-permohonan')
@endif
@include('lpj::component.pdfviewer')

View File

@@ -1,106 +1,117 @@
<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 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%">
<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>
<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
</table>
@endisset
</td>
</tr>
</td>
</tr>
@endif
{{-- 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>
@if (!empty($forminspeksi['fakta']['kondisi_lingkungan']))
<tr>
<td width="25%" style="vertical-align: top;">Kondisi Lain Terkait Lingkungan</td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@foreach ($forminspeksi['fakta']['kondisi_lingkungan'] ?? [] as $kondisi)
{!! nl2br(e($kondisi)) !!}
@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
</td>
</tr>
@endif
@if (!empty($forminspeksi['fakta']['kondisi_lingkungan']))
<tr>
<td width="25%" style="vertical-align: top;">Kondisi Lain Terkait Bangunan</td>
<td width="1%" style="vertical-align: top;">:</td>
<td style="vertical-align: top;">
@foreach ($forminspeksi['fakta']['kondisi_lain_bangunan'] ?? [] as $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>
</table>
</div>

View File

@@ -5,7 +5,7 @@
@endsection
@section('content')
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
<div class="grid gap-5 mx-auto w-full lg:gap-7.5">
@php
$senior_officer = null;
$jenisJaminan = null;
@@ -69,13 +69,13 @@
@endphp
<div class="card">
<div class="card-header bg-agi-50">
<h3 class="card-title uppercase">
<h3 class="uppercase card-title">
CALL Report
</h3>
@php
use Illuminate\Support\Facades\Route;
@endphp
<div class="flex items-center gap-2">
<div class="flex gap-2 items-center">
@if (Auth::user()->hasAnyRole(['administrator', 'senior-officer', 'EO Appraisal', 'DD Appraisal']) &&
Route::currentRouteName('otorisator.show'))
@@ -91,42 +91,42 @@
</div>
</div>
<div class="card-body grid gap-5">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div class="grid gap-5 card-body">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<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..."
<input type="text" name="kepada" class="w-full input" placeholder="Masukkan..."
value="{{ $callReport['kepada'] ?? old('kepada') }}">
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<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..."
<input type="text" name="dari" class="w-full input" 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">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<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"
<div class="flex flex-wrap w-full items-base line">
<input type="text" name="nomor_laporan" class="w-full cursor-not-allowed input"
placeholder="Masukkan..." value="{{ $nomorLaporan ?? '' }}" @readonly(true)>
</div>
</div>
{{-- 250109828129/ --}}
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<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..."
<input type="date" name="tanggal" class="w-full input" placeholder="Masukkan..."
value="{{ $callReport['tanggal'] ?? '' }}">
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<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..."
<div class="flex flex-wrap w-full items-base line">
<input type="text" name="perihal" class="w-full input" placeholder="Masukkan..."
value="{{ $callReport['perihal'] ?? '' }}">
</div>
</div>
@@ -135,9 +135,9 @@
<div class="card border border-agi-100 w-full bg-white rounded-lg shadow-md ">
<div class="w-full bg-white rounded-lg border shadow-md card border-agi-100">
<div class="card-header bg-agi-50">
<h1 class="text-md font-medium text-gray-900 uppercase">Menindak lanjuti permintaan <b>
<h1 class="font-medium text-gray-900 uppercase text-md">Menindak lanjuti permintaan <b>
{{ $permohonan->tujuanPenilaian->name ?? '' }}</b>, BAG CABang
<b>{{ $permohonan->branch->name }}</b>
disampaikan hal sebagai berikut:
@@ -145,45 +145,45 @@
</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="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<div class="grid gap-2.5 w-full">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
<div class="flex flex-wrap gap-2.5 items-baseline w-full lg:flex-nowrap">
<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"
class="w-full cursor-not-allowed input" 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">
<div class="flex flex-wrap gap-2.5 items-baseline w-full lg:flex-nowrap">
<label for="kjjp" class="form-label max-w-56">KJPP</label>
<div class="flex flex-wrap items-baseline w-full ">
<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"
class="w-full cursor-not-allowed input" 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">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<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"
class="w-full cursor-not-allowed input" 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">
<div class="flex flex-wrap gap-2.5 items-baseline w-full lg:flex-nowrap">
<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"
class="w-full cursor-not-allowed input" placeholder="Masukkan Tanggal Penilai"
value="{{ $tanggalPenilaian ?? old('penilai') }}" @readonly(true)>
</div>
</div>
@@ -198,43 +198,43 @@
</div>
</div>
<div class="card border border-agi-100 w-full bg-white rounded-lg shadow-md">
<div class="w-full bg-white rounded-lg border shadow-md card border-agi-100">
<div class="card-header bg-agi-50">
<h1 class="text-md font-medium text-gray-900 uppercase">lokasi objek
<h1 class="font-medium text-gray-900 uppercase text-md">lokasi objek
</h1>
</div>
<div class="card-body grid gap-2.5 w-full">
<div class="grid gap-2.5 w-full card-body">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
<div class="flex flex-wrap gap-2.5 items-baseline w-full lg:flex-nowrap">
<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
<input type="text" id="province" class="w-full cursor-not-allowed input" 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">
<div class="flex flex-wrap gap-2.5 items-baseline w-full lg:flex-nowrap">
<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
<input type="text" id="city" class="w-full cursor-not-allowed input" 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">
<div class="flex flex-wrap gap-2.5 items-baseline w-full lg:flex-nowrap">
<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
<input type="text" id="district" class="w-full cursor-not-allowed input" 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">
<div class="flex flex-wrap gap-2.5 items-baseline w-full lg:flex-nowrap">
<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
<input type="text" id="village" class="w-full cursor-not-allowed input" readonly
value="{{ isset($permohonan->debiture->village) ? $permohonan->debiture->village->name : '' }}">
</div>
</div>
@@ -242,9 +242,9 @@
</div>
<div class="card border border-agi-100 w-full bg-white rounded-lg shadow-md">
<div class="w-full bg-white rounded-lg border shadow-md card border-agi-100">
<div class="card-header bg-agi-50">
<h1 class="text-md font-medium text-gray-900 uppercase">Dokument</h1>
<h1 class="font-medium text-gray-900 uppercase text-md">Dokument</h1>
</div>
<div class="card-body">
@@ -252,79 +252,85 @@
</div>
</div>
<div class="w-full grid grid-cols-1 lg:grid-cols-1 gap-4">
<div class="grid grid-cols-1 gap-4 w-full lg:grid-cols-1">
<!-- Bagian Nilai KJPP -->
<div class="card border border-agi-100 w-full bg-white rounded-lg shadow-md">
<div class="w-full bg-white rounded-lg border shadow-md card border-agi-100">
<div class="card-header bg-agi-50">
<h1 class="text-md font-medium text-gray-900 uppercase">Nilai KJPP</h1>
<h1 class="font-medium text-gray-900 uppercase text-md">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">
<div class="grid gap-5 w-full card-body">
<div class="flex flex-wrap gap-2.5 items-baseline w-full lg:flex-nowrap">
<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"
<input type="text" id="lelang-1" name="lelang_kjpp" class="w-full input"
placeholder="Masukkan Lelang" value="{{ $callReport['lelang_kjpp'] ?? '' }}">
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
<div class="flex flex-wrap gap-2.5 items-baseline w-full lg:flex-nowrap">
<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'] ?? '' }}">
class="w-full input 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">
<div class="flex flex-wrap gap-2.5 items-baseline w-full lg:flex-nowrap">
<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'] ?? '' }}">
<input type="text" id="likuidasi-1" name="persentase_likuidasi_kjpp"
class="w-full input 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">
<div class="flex flex-wrap gap-2.5 items-baseline w-full lg:flex-nowrap">
<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'] ?? '' }}">
class="w-full input 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="hidden w-full bg-white rounded-lg border shadow-md card border-agi-100">
<div class="card-header bg-agi-50">
<h1 class="text-md font-medium text-gray-900 uppercase">Nilai Internal</h1>
<h1 class="font-medium text-gray-900 uppercase text-md">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">
<div class="grid gap-5 w-full card-body">
<div class="flex flex-wrap gap-2.5 items-baseline w-full lg:flex-nowrap">
<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"
<input type="text" id="lelang-2" name="lelang_internal" class="w-full input"
placeholder="Masukkan Lelang" value="{{ $callReport['lelang_internal'] ?? '' }}">
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
<div class="flex flex-wrap gap-2.5 items-baseline w-full lg:flex-nowrap">
<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'] ?? '' }}">
class="w-full input 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">
<div class="flex flex-wrap gap-2.5 items-baseline w-full lg:flex-nowrap">
<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'] ?? '' }}">
<input type="text" id="likuidasi-2" name="persentase_likuidasi_internal"
class="w-full input 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">
<div class="flex flex-wrap gap-2.5 items-baseline w-full lg:flex-nowrap">
<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'] ?? '' }}">
class="w-full input total-likuidasi currency-format" placeholder="Hasil perhitungan"
value="{{ $callReport['hasil_nilai_likuidasi_internal'] ?? '' }}">
</div>
</div>
</div>
@@ -332,47 +338,47 @@
</div>
<div class="card border border-agi-100 w-full bg-white rounded-lg shadow-md ">
<div class="w-full bg-white rounded-lg border shadow-md card border-agi-100">
<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 class="font-medium text-gray-900 uppercase text-md">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="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<div class="grid gap-2.5 w-full">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
<div class="flex flex-wrap gap-2.5 items-baseline w-full lg:flex-nowrap">
<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"
class="w-full cursor-not-allowed input" 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">
<div class="flex flex-wrap gap-2.5 items-baseline w-full lg:flex-nowrap">
<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'] ?? '') }}"
<input type="text" id="penilai" name="pihak_kjjpp" class="w-full input"
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">
<div class="flex flex-wrap gap-2.5 items-baseline w-full lg:flex-nowrap">
<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"
class="w-full cursor-not-allowed input" 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">
<div class="flex flex-wrap gap-2.5 items-baseline w-full lg:flex-nowrap">
<label for="debitur_perwakilan" class="form-label max-w-56">Debitur/perwakilan debitur
</label>
@@ -380,14 +386,14 @@
@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"
class="w-full cursor-not-allowed input" 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"
class="w-full cursor-not-allowed input" placeholder="Masukkan Penilai"
value="{{ $permohonan->debiture->name ?? '' }}" @readonly(true)>
</div>
@endif
@@ -401,18 +407,18 @@
<div class="card">
<div class="card-header bg-agi-50">
<h3 class="card-title uppercase">
<h3 class="uppercase card-title">
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">
<div class="grid gap-5 card-body">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<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>
<div class="flex gap-2 items-center mt-2 w-full fakta_positif textarea-group">
<textarea class="mt-2 textarea" 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>
@@ -420,28 +426,28 @@
</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>
<div class="flex gap-2 items-center mt-2 w-full fakta_positif textarea-group">
<textarea class="mt-2 textarea" 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"
<button type="button" class="mt-5 btn btn-primary btn-sm"
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">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<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>
<div class="flex gap-2 items-center mt-2 w-full fakta_negatif textarea-group">
<textarea class="mt-2 textarea" 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>
@@ -449,16 +455,16 @@
</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>
<div class="flex gap-2 items-center mt-2 w-full fakta_negatif textarea-group">
<textarea class="mt-2 textarea" 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>
<em id="error-fakta_negatif" class="text-sm alert text-danger"></em>
</div>
@endif
<button type="button" class="btn btn-primary btn-sm mt-5"
<button type="button" class="mt-5 btn btn-primary btn-sm"
onclick="addClonableItem('fakta-negatif-container', 'fakta_negatif')">
<i class="ki-outline ki-plus"></i>
</button>
@@ -466,16 +472,16 @@
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 " style="margin-top: 20px ">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap" style="margin-top: 20px ">
<label class="form-label lg:form-label max-w-56 ">Catatan yang Perlu Diperhatikan
<label class="form-label lg:form-label max-w-56">Catatan yang Perlu Diperhatikan
</label>
<div class="w-full">
<div id="keterangan-container" class="flex items-baseline flex-wrap gap-2.5 w-full">
<div id="keterangan-container" class="flex flex-wrap gap-2.5 items-baseline 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>
<div class="flex gap-2 items-center mt-2 w-full keterangan textarea-group">
<textarea name="keterangan[]" class="mt-2 textarea" 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>
@@ -483,18 +489,18 @@
</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>
<div class="flex gap-2 items-center mt-2 w-full keterangan textarea-group">
<textarea name="keterangan[]" class="mt-2 textarea" 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>
<em id="error-keterangan" class="text-sm alert text-danger"></em>
</div>
@endif
</div>
<button type="button" onclick="addClonableItem('keterangan-container', 'keterangan')"
class="btn btn-primary btn-sm mt-5 ">
class="mt-5 btn btn-primary btn-sm">
<i class="ki-outline ki-plus"></i>
</button>
</div>
@@ -503,9 +509,10 @@
</div>
</div>
<div class="flex justify-end gap-2" style="margin-right: 20px; margin-top: 20px">
<div class="flex gap-2 justify-end" 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' : '' }}>
<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>
@@ -564,19 +571,25 @@
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.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
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"]')
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.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
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"]')
jsonData.hasil_nilai_likuidasi_internal = cleanCurrencyValue(document.querySelector(
'input[name="hasil_nilai_likuidasi_internal"]')
?.value.trim() || "");
return jsonData;
@@ -672,32 +685,32 @@
</script>
<script>
function calculateTotal(event) {
const group = event.dataset.group;
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}`);
// 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);
const cleanNilaiPasar = cleanCurrencyValue(nilaiPasarInput.value);
let cleanLikuidasi = cleanCurrencyValue(nilaiLikuidasi.value);
// Batasi likuidasi maksimal hingga 100
cleanLikuidasi = Math.min(parseFloat(cleanLikuidasi) || 0, 100);
// Batasi likuidasi maksimal hingga 100
cleanLikuidasi = Math.min(parseFloat(cleanLikuidasi) || 0, 100);
// Format nilai likuidasi dengan simbol %
nilaiLikuidasi.value = cleanLikuidasi;
// 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
// 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;
// Hitung total likuidasi
const totalNilaiLikuidasi = nilaiPasar * likuidasi;
// Tampilkan hasil dengan format yang benar
totalLikuidasi.value = formatCurrency(totalNilaiLikuidasi.toString());
}
// Tampilkan hasil dengan format yang benar
totalLikuidasi.value = formatCurrency(totalNilaiLikuidasi.toString());
}
document.addEventListener('DOMContentLoaded', function() {

View File

@@ -6,14 +6,14 @@
@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="grid gap-5 mx-auto w-full lg:gap-7.5">
<form id="form-memo" method="POST" class="grid gap-5 w-full">
<div class="card">
<div class="card-header bg-agi-50">
<h3 class="card-title uppercase">
<h3 class="uppercase card-title">
Memo Antar Kantor
</h3>
<div class="flex items-center gap-2">
<div class="flex gap-2 items-center">
@php
use Illuminate\Support\Facades\Route;
@endphp
@@ -30,51 +30,51 @@
@endif
</div>
</div>
<div class="card-body grid gap-5">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div class="grid gap-5 card-body">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<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..."
<input type="text" name="kepada" class="w-full input" placeholder="Masukkan..."
value=" {{ $memo->kepada ?? '' }}">
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<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..."
<input type="text" name="dari" class="w-full input" placeholder="Masukkan..."
value="{{ $memo->dari ?? '' }}">
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<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..."
<div class="flex flex-wrap w-full items-base line">
<input type="text" name="nomor_memo" class="w-full input" placeholder="Masukkan..."
value="{{ $nomorLaporan ?? '' }}" @readonly(true)>
</div>
</div>
{{-- 250109828129/ --}}
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<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..."
<input type="date" name="tanggal" class="w-full input" placeholder="Masukkan..."
value="{{ $memo->tanggal ?? '' }}">
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<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..."
<div class="flex flex-wrap w-full items-base line">
<input type="text" name="perihal" class="w-full input" 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="w-full bg-white rounded-lg border shadow-md card border-agi-100">
<div class="card-header bg-agi-50">
<h1 class="text-md font-medium text-gray-900 uppercase">Sehubungan dengan permintaan BAGI Cabang
<h1 class="font-medium text-gray-900 uppercase text-md">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 :
@@ -82,12 +82,12 @@
</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="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<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">
<select id="jenis_asset_tidak_sesuai" class="w-full input" name="jenis_asset_tidak_sesuai">
<option value="">Select Jenis asset</option>
@foreach ($basicData['jenisJaminan'] as $item)
<option value="{{ $item->name }}"
@@ -99,21 +99,21 @@
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<div class="grid gap-2.5 w-full">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
<div class="flex flex-wrap gap-2.5 items-baseline w-full lg:flex-nowrap">
<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"
<input type="text" id="lokasi" name="lokasi" class="w-full input"
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">
<div class="flex flex-wrap gap-2.5 items-baseline w-full lg:flex-nowrap">
<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">
<select id="province_code" name="province_code" class="w-full input">
<option value="">Pilih Provinsi</option>
@foreach ($provinces as $item)
<option value="{{ $item->code }}"
@@ -124,10 +124,10 @@
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
<div class="flex flex-wrap gap-2.5 items-baseline w-full lg:flex-nowrap">
<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">
<select id="city_code" name="city_code" class="w-full select">
<option value="">Pilih Kota/Kabupaten</option>
@if (isset($cities))
@foreach ($cities as $item)
@@ -140,10 +140,10 @@
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
<div class="flex flex-wrap gap-2.5 items-baseline w-full lg:flex-nowrap">
<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">
<select id="district_code" name="district_code" class="w-full select">
<option value="">Pilih Kecamatan</option>
@if (isset($districts))
@foreach ($districts as $item)
@@ -156,10 +156,10 @@
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
<div class="flex flex-wrap gap-2.5 items-baseline w-full lg:flex-nowrap">
<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">
<select id="village_code" name="village_code" class="w-full select">
<option value="">Pilih Kelurahan</option>
@if (isset($villages))
@foreach ($villages as $item)
@@ -172,29 +172,29 @@
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
<div class="flex flex-wrap gap-2.5 items-baseline w-full lg:flex-nowrap">
<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"
<input type="text" id="address" name="address" class="w-full input"
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">
<div class="flex flex-wrap gap-2.5 items-baseline w-full lg:flex-nowrap">
<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"
class="w-full input" 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">
<div class="flex flex-wrap gap-2.5 items-baseline w-full lg:flex-nowrap">
<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"
<input type="text" id="penilai" name="penilai" class="w-full input"
placeholder="Masukkan Penilai"
value="{{ $memo->lokasi->penilai ?? old('penilai') }}">
</div>
@@ -211,30 +211,30 @@
<div class="card">
<div class="card-header bg-agi-50">
<h3 class="card-title uppercase">
<h3 class="uppercase card-title">
Dokumen
</h3>
</div>
<div class="card-body grid gap-5">
<div class="grid gap-5 card-body">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<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 class="flex gap-2 items-center mt-2 w-full terlampir textarea-group">
<textarea class="mt-2 textarea" 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">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<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>
<div class="flex gap-2 items-center mt-2 w-full hasil_survey textarea-group">
<textarea class="mt-2 textarea" 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>
@@ -242,15 +242,15 @@
</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>
<div class="flex gap-2 items-center mt-2 w-full hasil_survey textarea-group">
<textarea class="mt-2 textarea" 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"
<button type="button" class="mt-5 btn btn-primary btn-sm"
onclick="addClonableItem('hasil_survey', 'hasil_survey')">
<i class="ki-outline ki-plus"></i>
</button>
@@ -258,13 +258,13 @@
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<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>
<div class="flex gap-2 items-center mt-2 w-full fakta_negatif textarea-group">
<textarea class="mt-2 textarea" 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>
@@ -272,16 +272,16 @@
</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>
<div class="flex gap-2 items-center mt-2 w-full kesimpulan_saran textarea-group">
<textarea class="mt-2 textarea" 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>
<em id="error-kesimpulan_saran" class="text-sm alert text-danger"></em>
</div>
@endif
<button type="button" class="btn btn-primary btn-sm mt-5"
<button type="button" class="mt-5 btn btn-primary btn-sm"
onclick="addClonableItem('fakta-negatif-container', 'kesimpulan_saran')">
<i class="ki-outline ki-plus"></i>
</button>
@@ -290,19 +290,19 @@
</div>
</div>
<div class="card border border-agi-100 rounded-lg shadow-md">
<div class="rounded-lg border shadow-md card border-agi-100">
<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 class="flex justify-between items-center py-4">
<h1 class="font-medium text-gray-900 text-md">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
<i class="text-3xl ki-duotone ki-file-up text-primary"><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>
<h3 class="mb-1 text-gray-900 fs-5 fw-bold">Drop files here or click to upload.</h3>
<span class="text-gray-500 fs-7 fw-semibold">Upload up to 10 files</span>
</div>
</div>
</div>
@@ -314,7 +314,7 @@
{{-- @include('lpj::penilai.components.foto-lampiran') --}}
<div class="flex card-footer justify-end gap-5">
<div class="flex gap-5 justify-end card-footer">
@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' : '' }}>
@@ -429,38 +429,39 @@
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');
}
})
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);

View File

@@ -6,97 +6,96 @@
@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="grid gap-5 mx-auto w-full lg:gap-7.5">
<div class="pb-2.5 border card border-agi-100">
<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">
<div class="flex gap-2 items-center">
<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">
<div class="grid gap-5 card-body">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<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">
<p class="flex w-full text-sm font-medium text-gray-600">
{{ 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">
<p class="flex w-full text-sm font-medium text-gray-600">
{{ isset($permohonan->debiture->name) ? $permohonan->debiture->name : '' }}</p>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<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">
<p class="flex w-full text-sm font-medium text-gray-600">
{{ 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">
<p class="flex w-full text-sm font-medium text-gray-600">
{{ formatAlamat($permohonan->debiture) }}
</p>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<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">
<p class="flex w-full text-sm font-medium text-gray-600">
{{ 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">
<p class="flex w-full text-sm font-medium text-gray-600">
{{ isset($permohonan->jenisFasilitasKredit->name) ? $permohonan->jenisFasilitasKredit->name : '' }}
</p>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<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">
<p class="flex w-full text-sm font-medium text-gray-600">
{{ 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">
<p class="flex w-full text-sm font-medium text-gray-600">
{{ isset($permohonan->debiture->cif) ? $permohonan->debiture->cif : '' }}</p>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<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">
<p class="flex w-full text-sm font-medium text-gray-600">
{{ 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 ">
<label class="form-label max-w-56">
Status Bayar
</label>
<div class="flex flex-wrap items-baseline w-full">
@@ -105,17 +104,16 @@
{{ str_replace('_', ' ', $permohonan->status_bayar) }}
</span>
</div>
@endif
@endif
</div>
</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">
<div class="border card border-agi-100">
<div class="grid gap-5 card-body">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
@php
$surveyor = $permohonan->penilaian->userPenilai->where('role', 'surveyor')->first();
$penilai = $permohonan->penilaian->userPenilai->where('role', 'penilai')->first();
@@ -125,11 +123,11 @@
</label>
<div class="flex flex-wrap items-baseline w-full">
<p class="flex w-full text-gray-600 font-medium text-sm">
<p class="flex w-full text-sm font-medium text-gray-600">
{{ $surveyor->userPenilaiTeam->name }}
</p>
<p class="flex w-full text-gray-600 font-medium text-sm">
<p class="flex w-full text-sm font-medium text-gray-600">
{{ checkRegionUserName($surveyor->userPenilaiTeam->id) }}
</p>
</div>
@@ -138,45 +136,45 @@
</label>
<div class="flex flex-wrap items-baseline w-full">
<p class="flex w-full text-gray-600 font-medium text-sm">
<p class="flex w-full text-sm font-medium text-gray-600">
{{ $penilai->userPenilaiTeam->name }}
</p>
<p class="flex w-full text-gray-600 font-medium text-sm">
<p class="flex w-full text-sm font-medium text-gray-600">
{{ checkRegionUserName($penilai->userPenilaiTeam->id) }}
</p>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<label class="form-label max-w-56">
Tujuan Penilaian
</label>
<p class="flex text-gray-600 font-medium text-sm w-full">
<p class="flex w-full text-sm font-medium text-gray-600">
{{ $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">
<p class="flex w-full text-sm font-medium text-gray-600">
@foreach ($permohonan->documents as $document)
{{ $document->jenisjaminan->name }}
@endforeach
</p>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<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">
<p class="flex w-full text-sm font-medium text-gray-600">
{{ formatTanggalIndonesia($permohonan->penilaian->updated_at) }}</p>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<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">
<p class="flex w-full text-sm font-medium text-gray-600">
@php
$tglLaporan = getNomorLaporan($permohonan->id, $dokumen->id, 'tanggal_laporan');
@@ -185,24 +183,24 @@
{{ isset($tglLaporan) ? formatTanggalIndonesia($tglLaporan) : '-' }}</p>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<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">
<p class="flex w-full text-sm font-medium text-gray-600">
{{ 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">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<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">
<p class="flex w-full text-sm font-medium text-gray-600">
{{ $permohonan->keterangan ?? '' }}
</p>
</div>
@@ -217,166 +215,167 @@
$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">
<div class="flex flex-wrap gap-2.5 items-baseline mt-2 w-full lg:flex-nowrap card-footer">
<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 }}">
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
@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>
@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>
<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="py-2 w-full dropdown-content max-w-56">
<div class="flex flex-col w-full menu menu-default">
@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 --}}
{{-- 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 }})">
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-profile-circle">
</i>
</span>
<span class="menu-title">
RESUME
<i class="ki-outline ki-setting-2"></i>
</span>
<span class="menu-title">LPJ</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 }}')">
onclick="callReport('{{ $permohonan->id }}', '{{ $dokumen->id }}', {{ $dokumen->jenis_jaminan_id }})">
<span class="menu-icon">
<i class="ki-outline ki-setting-2"></i>
<i class="ki-outline ki-profile-circle">
</i>
</span>
<span class="menu-title">
CALL REPORT
</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) --}}
{{-- @if ($permohonan->penilaian->jenis_penilaian_id == 2 && $permohonan->tujuanPenilaian->id == 4) --}}
{{-- @endif --}}
{{-- @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>
</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="flex flex-col w-full menu menu-default">
@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
@endif
</div>
<div class="flex justify-end gap-5">
<div class="flex gap-5 justify-end">
<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">
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 )">
<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 )">
onclick="checkLaporan('{{ $permohonan->id }}', '{{ $dokumen->id }}', {{ $dokumen->jenis_jaminan_id }}, 0 )">
<i class="ki-filled ki-printer"></i>
Cetak Laporan
</a>
@@ -385,19 +384,19 @@
</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>
<div class="flex gap-5 justify-start">
<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>
<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
@@ -417,7 +416,7 @@
</i>
</button>
</div>
<div class="modal-body grid gap-5">
<div class="grid gap-5 modal-body">
@php
$jenisJaminanId = null;
@@ -429,7 +428,6 @@
// Ambil ID inspeksi pertama (jika ada)
// Ambil jenis jaminan jika ada
if ($firstDocument->jenisjaminan) {
$jenisJaminanId = $firstDocument->jenisjaminan->id;
@@ -444,18 +442,18 @@
<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">
<div class="flex gap-2 justify-center items-center">
<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
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>
onclick="viewPDF('{{ Storage::url($permohonan->penilai->kertas_kerja) }}')"><i
class="mr-2 ki-filled ki-eye"></i>Lihat Kertas Kerja</span>
@endif
</div>
@@ -479,13 +477,13 @@
confirmButtonText: 'Lanjutkan',
confirmButtonColor: '#3085d6',
}).then(() => {
resume(permohonanId, documentId, jaminanId)
resume(permohonanId, documentId, jaminanId)
});
} else {
fetch(
`{{ url('/penilai/check-status-lpj') }}?permohonanId=${permohonanId}&documentId=${documentId}`
)
`{{ url('/penilai/check-status-lpj') }}?permohonanId=${permohonanId}&documentId=${documentId}`
)
.then(response => response.json())
.then(data => {
if (data.status) {
@@ -508,7 +506,7 @@
confirmButtonText: 'Lanjutkan',
confirmButtonColor: '#3085d6',
}).then(() => {
saveStatusLpj(permohonanId, documentId, 'sederhana', jaminanId);
saveStatusLpj(permohonanId, documentId, 'sederhana', jaminanId);
});
} else {
Swal.fire({
@@ -523,10 +521,10 @@
denyButtonColor: '#d33',
}).then((result) => {
if (result.isConfirmed) {
saveStatusLpj(permohonanId, documentId, 'standar',
saveStatusLpj(permohonanId, documentId, 'standar',
jaminanId);
} else if (result.isDenied) {
saveStatusLpj(permohonanId, documentId, 'sederhana',
saveStatusLpj(permohonanId, documentId, 'sederhana',
jaminanId);
}
});
@@ -541,17 +539,17 @@
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())
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') {
@@ -566,7 +564,7 @@
}
function uploadKertasKerja(permohonanId, documentId, jaminanId) {
function uploadKertasKerja(permohonanId, documentId, jaminanId) {
const kertasKerjaInput = document.getElementById('kertas_kerja');
if (!kertasKerjaInput.files.length) {
Swal.fire({
@@ -586,12 +584,12 @@
formData.append('kertas_kerja', kertasKerja);
fetch(`{{ url('/penilai/import/kertas-kerja') }}`, {
method: 'POST',
headers: {
'X-CSRF-TOKEN': '{{ csrf_token() }}',
},
body: formData,
})
method: 'POST',
headers: {
'X-CSRF-TOKEN': '{{ csrf_token() }}',
},
body: formData,
})
.then(response => response.json()) // Pastikan respons diurai menjadi JSON
.then(data => {
if (data.success) {
@@ -625,26 +623,26 @@
});
}
function resume(permohonanId, documentId, jaminanId) {
function resume(permohonanId, documentId, jaminanId) {
showLoadingSwal('Tunggu ...');
window.location.href =
`{{ route('penilai.resume') }}?permohonanId=${permohonanId}&documentId=${documentId}&jaminanId=${jaminanId}`;
}
function memo(permohonanId, documentId, 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) {
function rap(permohonanId, documentId, jaminanId) {
showLoadingSwal('Tunggu ...');
window.location.href =
`{{ route('penilai.rap') }}?permohonanId=${permohonanId}&documentId=${documentId}&jaminanId=${jaminanId}`;
}
function paparan(permohonanId, documentId, jaminanId) {
function paparan(permohonanId, documentId, jaminanId) {
Swal.fire({
title: 'Apakah Kamu yakin ingin melakukan paparan',
icon: 'warning',
@@ -660,7 +658,7 @@
});
}
function callReport(permohonanId, documentId, jaminanId) {
function callReport(permohonanId, documentId, jaminanId) {
showLoadingSwal('Tunggu ...');
window.location.href =
`{{ route('penilai.call-report') }}?permohonanId=${permohonanId}&documentId=${documentId}&jaminanId=${jaminanId}`;
@@ -675,7 +673,7 @@
headers: {
'X-CSRF-TOKEN': '{{ csrf_token() }}'
},
success: function (response) {
success: function(response) {
if (response.success) {
// window.location.reload();
hideLoadingSwal();
@@ -685,7 +683,7 @@
Swal.fire('Perhatian!', response.message, 'warning');
}
},
error: function (xhr, status, error) {
error: function(xhr, status, error) {
console.log('Error checking button status:', error, status, xhr);
if (xhr.responseJSON.message) {
// window.location.reload();

View File

@@ -5,10 +5,10 @@
@endsection
@section('content')
@include('lpj::assetsku.includenya')
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
<div class="grid gap-5 mx-auto w-full lg:gap-7.5">
@include('lpj::component.detail-jaminan', ['backLink' => 'penilaian.index'])
<div class="card border border-agi-100 pb-2.5">
<div class="pb-2.5 border card border-agi-100">
<div class="card-header bg-agi-50" id="basic_settings">
<h3 class="card-title">
Form Assignment
@@ -21,8 +21,8 @@
@method('PUT')
@endif
@csrf
<div class="pl-1 grid gap-2.5">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div class="grid gap-2.5 pl-1">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<label class="form-label max-w-56">
Penilai yang Dilakukan oleh
</label>
@@ -35,12 +35,12 @@
<input class="input @error('jenis_penilaian_id') border-danger bg-danger-light @enderror"
type="text" value="{{ $jenisPenilaian->name }}" readonly>
@error('jenis_penilaian_id')
<em class="alert text-danger text-sm">{{ $message }}</em>
<em class="text-sm alert text-danger">{{ $message }}</em>
@enderror
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<label class="form-label max-w-56">
Tim Penilai yang di tunjuk
</label>
@@ -49,17 +49,17 @@
<input class="input @error('teams_id') border-danger bg-danger-light @enderror"
type="text" value="{{ $regionName->name ?? '' }}" readonly>
@error('teams_id')
<em class="alert text-danger text-sm">{{ $message }}</em>
<em class="text-sm alert text-danger">{{ $message }}</em>
@enderror
</div>
</div>
<div
class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 {{ $penilaianTeam->isEmpty() ? '' : 'hidden' }}">
<!-- $penilaianTeam->isEmpty() -->
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<label class="form-label max-w-56">
Pilih Surveyor dan Penilai
</label>
<div class="flex flex-wrap items-baseline w-full">
<div class="input-group w-full">
<div class="w-full input-group">
<select id="surveyor_selection" name="surveyor_selection"
class="tomselect input @error('surveyor_selection') border-danger bg-danger-light @enderror w-full">
<option value="">Pilih Surveyor dan Penilai</option>
@@ -67,18 +67,18 @@
<option value="berbeda">Berbeda</option>
</select>
</div>
<em id="error-surveyor_selection" class="alert text-danger text-sm"></em>
<em id="error-surveyor_selection" class="text-sm alert text-danger"></em>
</div>
</div>
<div id="same_surveyor_penilai" class="hidden">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<label class="form-label max-w-56">
Surveyor dan Penilai yang di tunjuk
</label>
<div class="flex flex-wrap items-baseline w-full">
<div class="input-group w-full">
<div class="w-full input-group">
<select id="penilai_surveyor_id" name="penilai_surveyor_id"
class="input tomselect @error('penilai_surveyor_id') border-danger bg-danger-light @enderror w-full">
<option value="">Pilih Surveyor dan Penilai</option>
@@ -92,18 +92,18 @@
</select>
</div>
<em id="error-penilai_surveyor_id" class="alert text-danger text-sm"></em>
<em id="error-penilai_surveyor_id" class="text-sm alert text-danger"></em>
</div>
</div>
</div>
<div id="surveyorPenilaiRegion" class="hidden items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div id="surveyorPenilaiRegion" class="hidden flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<label class="form-label max-w-56">
Pilih Region
</label>
<div class="flex flex-wrap items-baseline w-full">
<div class="input-group w-full">
<div class="w-full input-group">
<select id="surveyor_penilai_region_id" name="surveyor_penilai_region_id"
class="tomselect input @error('surveyor_penilai_region_id') border-danger bg-danger-light @enderror w-full">
<option value="">Pilih Region</option>
@@ -117,7 +117,7 @@
</select>
</div>
<em id="error-surveyor_penilai_region_id" class="alert text-danger text-sm"></em>
<em id="error-surveyor_penilai_region_id" class="text-sm alert text-danger"></em>
</div>
</div>
@@ -128,12 +128,12 @@
@if (
$penilaianTeam->isNotEmpty() &&
$penilaianTeam->contains(fn($item) => $item->role == 'surveyor' && is_null($item->user_id)))
<div id="surveyorId" class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div id="surveyorId" class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<label class="form-label max-w-56">
Surveyor yang di tunjuk
</label>
<div class="flex flex-wrap items-baseline w-full">
<div class="input-group w-full">
<div class="w-full input-group">
<select id="surveyor_id" name="surveyor_id"
class="tomselect input @error('surveyor_id') border-danger bg-danger-light @enderror w-full">
<option value="">Pilih Surveyor</option>
@@ -148,17 +148,17 @@
</select>
</div>
<em id="error-surveyor_id" class="alert text-danger text-sm"></em>
<em id="error-surveyor_id" class="text-sm alert text-danger"></em>
</div>
</div>
@elseif($penilaianTeam->isEmpty())
<div id="surveyorId" class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div id="surveyorId" class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<label class="form-label max-w-56">
Surveyor yang di tunjuk
</label>
<div class="flex flex-wrap items-baseline w-full">
<div class="input-group w-full">
<div class="w-full input-group">
<select id="surveyor_id" name="surveyor_id"
class="tomselect input @error('surveyor_id') border-danger bg-danger-light @enderror w-full">
<option value="">Pilih Surveyor</option>
@@ -173,19 +173,19 @@
</select>
</div>
<em id="error-surveyor_id" class="alert text-danger text-sm"></em>
<em id="error-surveyor_id" class="text-sm alert text-danger"></em>
</div>
</div>
@endif
<div id="surveyorRegion" class="hidden items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div id="surveyorRegion" class="hidden flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<label class="form-label max-w-56">
Pilih Region
</label>
<div class="flex flex-wrap items-baseline w-full">
<div class="input-group w-full">
<div class="w-full input-group">
<select id="surveyor_region_id" name="surveyor_region_id"
class="tomselect input @error('surveyor_region_id') border-danger bg-danger-light @enderror w-full">
<option value="">Pilih Region</option>
@@ -199,7 +199,7 @@
</select>
</div>
<em id="error-surveyor_region_id" class="alert text-danger text-sm"></em>
<em id="error-surveyor_region_id" class="text-sm alert text-danger"></em>
</div>
</div>
@@ -208,12 +208,12 @@
@if (
$penilaianTeam->isNotEmpty() &&
$penilaianTeam->contains(fn($item) => $item->role == 'penilai' && is_null($item->user_id)))
<div id="penilaiId" class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div id="penilaiId" class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<label class="form-label max-w-56">
Penilai yang di tunjuk
</label>
<div class="flex flex-wrap items-baseline w-full">
<div class="input-group w-full">
<div class="w-full input-group">
<select id="penilai_id" name="penilai_id"
class="input tomselect @error('penilai_id') border-danger bg-danger-light @enderror w-full">
<option value="">Pilih Penilai</option>
@@ -226,16 +226,16 @@
@endif
</select>
</div>
<em id="error-penilai_id" class="alert text-danger text-sm"></em>
<em id="error-penilai_id" class="text-sm alert text-danger"></em>
</div>
</div>
@elseif($penilaianTeam->isEmpty())
<div id="penilaiId" class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div id="penilaiId" class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<label class="form-label max-w-56">
Penilai yang di tunjuk
</label>
<div class="flex flex-wrap items-baseline w-full">
<div class="input-group w-full">
<div class="w-full input-group">
<select id="penilai_id" name="penilai_id"
class="input tomselect @error('penilai_id') border-danger bg-danger-light @enderror w-full">
<option value="">Pilih Penilai</option>
@@ -248,16 +248,16 @@
@endif
</select>
</div>
<em id="error-penilai_id" class="alert text-danger text-sm"></em>
<em id="error-penilai_id" class="text-sm alert text-danger"></em>
</div>
</div>
@endif
<div id="penilaiRegion" class="hidden items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div id="penilaiRegion" class="hidden flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<label class="form-label max-w-56">
Pilih Region
</label>
<div class="flex flex-wrap items-baseline w-full">
<div class="input-group w-full">
<div class="w-full input-group">
<select id="penilai_region_id" name="penilai_region_id"
class="tomselect input @error('penilai_region_id') border-danger bg-danger-light @enderror w-full">
<option value="">Pilih Region</option>
@@ -270,13 +270,13 @@
@endif
</select>
</div>
<em id="error-penilai_region_id" class="alert text-danger text-sm"></em>
<em id="error-penilai_region_id" class="text-sm alert text-danger"></em>
</div>
</div>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<label class="form-label max-w-56">
Tanggal assign
</label>
@@ -286,12 +286,12 @@
type="datetime-local" name="tanggal_kunjungan"
value="{{ isset($penilaian->tanggal_kunjungan) ? \Carbon\Carbon::createFromTimestamp($penilaian->tanggal_kunjungan)->format('Y-m-d\TH:i') : '' }}">
<em id="error-tanggal_kunjungan" class="alert text-danger text-sm"></em>
<em id="error-tanggal_kunjungan" class="text-sm alert text-danger"></em>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<label class="form-label max-w-56">
Catatan
</label>
@@ -300,16 +300,16 @@
name="keterangan">{{ $permohonan->registrasi_catatan ? $permohonan->registrasi_catatan . "\n\n" : '' }}{{ $penilaian->keterangan ?? '' }}</textarea>
</div>
<em id="error-keterangan" class="alert text-danger text-sm"></em>
<em id="error-keterangan" class="text-sm alert text-danger"></em>
</div>
</div>
<div class="flex justify-end card-footer mt-2">
<div class="flex justify-end mt-2 card-footer">
<button type="button" onclick="submitAssignment()" class="btn btn-success">
Aprove
</button>
<button type="button" data-modal-toggle="#modal_revisi" class="btn btn-warning ml-3">
<button type="button" data-modal-toggle="#modal_revisi" class="ml-3 btn btn-warning">
Revisi
</button>
@@ -339,32 +339,32 @@
<input type="hidden" name="nomor_registrasi"
value="{{ $penilaian->nomor_registrasi ?? $permohonan->nomor_registrasi }}">
<div class="pl-1 grid gap-2.5">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div class="grid gap-2.5 pl-1">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<label class="form-label max-w-56">Dokumen Revisi</label>
<div class="flex flex-wrap items-baseline w-full">
<input id="dokumen"
class="file-input @error('dokumen') border-danger bg-danger-light @enderror"
type="file" name="dokumen">
@error('dokumen')
<em class="alert text-danger text-sm">{{ $message }}</em>
<em class="text-sm alert text-danger">{{ $message }}</em>
@enderror
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap">
<label class="form-label max-w-56">Catatan</label>
<div class="flex flex-wrap items-baseline w-full">
<textarea id="keterangan" class="textarea @error('keterangan') border-danger bg-danger-light @enderror"
rows="3" name="keterangan"></textarea>
@error('keterangan')
<em class="alert text-danger text-sm">{{ $message }}</em>
<em class="text-sm alert text-danger">{{ $message }}</em>
@enderror
</div>
</div>
</div>
<div class="modal-footer justify-end mt-2">
<div class="justify-end mt-2 modal-footer">
<div class="flex gap-4">
<button type="button" class="btn btn-light" data-modal-dismiss="true">Cancel</button>
<button id="btnSubmit" type="submit" class="btn btn-primary"
@@ -394,7 +394,7 @@
differentSurveyorPenilai.classList.remove('hidden');
surveyorPenilaiRegion.classList.add('hidden');
} else {
} else {
sameSurveyorPenilai.classList.add('hidden');
differentSurveyorPenilai.classList.add('hidden');
surveyorPenilaiRegion.classList.add('hidden');

View File

@@ -5,9 +5,9 @@
@endsection
@section('content')
<div class="w-full grid gap-5 lg:gap-7.5">
<div class="grid gap-5 w-full lg:gap-7.5">
<div class="grid gap-5">
<div class="card-grid min-w-full" data-datatable="false" data-datatable-page-size="10"
<div class="min-w-full card-grid" data-datatable="false" data-datatable-page-size="10"
data-datatable-state-save="false" id="data-table" data-api-url="">
@php
@@ -30,7 +30,7 @@
$dokumentName = $dokumen->jenisJaminan->name;
$formKategori = json_decode($dokumen->jenisJaminan->form_kategori, true);
$kategoriArray = is_array($formKategori) ? $formKategori : [$formKategori];
$kategoriUnik = array_unique($kategoriArray);
$kategoriUnik = array_unique($kategoriArray);
@endphp
<input type="hidden" name="action"
value="{{ is_array($formKategori) ? implode(',', $formKategori) : $formKategori }}">
@@ -46,15 +46,15 @@
</div>
<div class="card">
<div class="card-body ">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5" style="margin: 20px">
<label class="form-label lg:form-label max-w-56 ">Catatan yang Perlu Diperhatikan
<div class="card-body">
<div class="flex flex-wrap gap-2.5 items-baseline lg:flex-nowrap" style="margin: 20px">
<label class="form-label lg:form-label max-w-56">Catatan yang Perlu Diperhatikan
</label>
<div class="w-full">
<div id="keterangan-container" class="flex items-baseline flex-wrap gap-2.5 w-full">
<div class="keterangan flex items-center gap-2 mt-2 textarea-group w-full">
<textarea name="keterangan" class="textarea mt-2" placeholder="Masukkan catatan penting" rows="10">{{ $comparisons['keterangan'] ?? old('keterangan') }}</textarea>
<em id="error-keterangan" class="alert text-danger text-sm"></em>
<div id="keterangan-container" class="flex flex-wrap gap-2.5 items-baseline w-full">
<div class="flex gap-2 items-center mt-2 w-full keterangan textarea-group">
<textarea name="keterangan" class="mt-2 textarea" placeholder="Masukkan catatan penting" rows="10">{{ $comparisons['keterangan'] ?? old('keterangan') }}</textarea>
<em id="error-keterangan" class="text-sm alert text-danger"></em>
</div>
</div>
@@ -63,7 +63,7 @@
</div>
</div>
<div class="card-footer">
<div class="flex justify-end gap-2">
<div class="flex gap-2 justify-end">
<button type="button" onclick="submitData()" class="btn btn-primary">
<i class="ki-duotone ki-save-2 fs-2"></i>
Simpan

View File

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