perbaikan back halaman di otorisator so dan penambahan nilai likuidasi di resume

This commit is contained in:
majid
2025-02-14 16:16:41 +07:00
parent d2805bdb2f
commit 2cb2b7981c
11 changed files with 700 additions and 483 deletions

View File

@@ -30,7 +30,7 @@ function formatTanggalIndonesia($date, $time = false)
function formatRupiah($number)
{
$number = (float) $number;
return 'Rp ' . number_format($number, 2, ',', '.');
return 'Rp ' . number_format($number, 0, ',', '.');
}
@@ -357,7 +357,8 @@ function checkRegionUserName($userId)
}
}
function getNomorLaporan($permohonanId, $documentId){
function getNomorLaporan($permohonanId, $documentId)
{
$laporan = Laporan::where([
'permohonan_id' => $permohonanId,
'dokumen_jaminan_id' => $documentId,
@@ -365,7 +366,8 @@ function getNomorLaporan($permohonanId, $documentId){
return $laporan->nomor_laporan ?? null;
}
function getCustomField($param){
function getCustomField($param)
{
if (is_numeric($param)) {
$field = CustomField::find($param);
} else {

View File

@@ -55,6 +55,7 @@ class PenilaiController extends Controller
$basicData = $this->surveyorController->getCommonData();
$permohonan = $this->surveyorController->getPermohonanJaminanId($permohonanId, $documentId, $jaminanId);
$inpeksi = Inspeksi::where('permohonan_id', $permohonanId)->where('dokument_id', $documentId)->first();
$penilai = Penilai::where('permohonan_id', $permohonanId)->where('dokument_id', $documentId)->first();
$formFoto = null;
if ($inpeksi) {
@@ -62,7 +63,7 @@ class PenilaiController extends Controller
$forminspeksi = json_decode($inpeksi->data_form, true);
}
return view('lpj::penilai.lampiran', compact('permohonan', 'formFoto', 'forminspeksi','basicData'));
return view('lpj::penilai.lampiran', compact('permohonan', 'formFoto', 'forminspeksi','basicData', 'penilai'));
}
public function create()

View File

@@ -724,6 +724,7 @@ class PenilaianController extends Controller
->where('dokument_id', $documentId)
->where('inspeksi_id', $inspeksi->id)
->first();
$penilai = $lpj;
$forminspeksi = null;
$lpjData = null;
@@ -765,7 +766,7 @@ class PenilaianController extends Controller
return redirect()->back()->with('error', 'Laporan belum dibuat');
}
return view('lpj::' . $viewLaporan, compact('permohonan', 'forminspeksi', 'basicData', 'inspeksi', 'lpjData', 'provinces', 'resumeData', 'rap', 'memo', 'cities', 'districts', 'villages','formFoto', 'formPeta','nomorLaporan'));
return view('lpj::' . $viewLaporan, compact('permohonan', 'forminspeksi', 'basicData', 'inspeksi', 'lpjData', 'provinces', 'resumeData', 'rap', 'memo', 'cities', 'districts', 'villages','formFoto', 'formPeta','nomorLaporan', 'penilai'));
}
private function getViewLaporan($tipe)

View File

@@ -353,7 +353,6 @@
class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back
</a>
@elseif (Auth::user()->hasAnyRole(['administrator', 'surveyor']) && Route::currentRouteName('penilai.show'))
<a href="{{ route('penilai.show', $permohonan->id) }}" class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back
@@ -678,14 +677,14 @@
<div class="w-full">
<label class="input">
<input type="text" id="likuidasi" name="likuidasi"
class=" w-full currency"
<input type="text" id="likuidasi" name="likuidasi" class=" w-full currency"
value="{{ old('likuidasi', $lpjData['likuidasi'] ?? null) }}"
oninput="calculateTotal()">
<i class="">%
</i>
</label>
<span class="text-xs"> <span class="text-xs text-danger">*</span> Masukkan Angka Saja </span>
<span class="text-xs"> <span class="text-xs text-danger">*</span> Masukkan Angka Saja
</span>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
@@ -800,7 +799,6 @@
</div>
<script type="text/javascript">
const datas = @json($forminspeksi);
console.log(datas);
@@ -1000,6 +998,7 @@ console.log(datas);
// Kembalikan nilai dengan simbol %
return numericValue;
}
function calculateTotal() {
const parseInput = (value) => parseFloat(value.replace(/[^0-9]/g, '')) || 0;

View File

@@ -14,9 +14,20 @@
Memo Antar Kantor
</h3>
<div class="flex items-center gap-2">
<a href="{{ url()->previous() }}" class="btn btn-xs btn-info">
@php
use Illuminate\Support\Facades\Route;
@endphp
@if (Auth::user()->hasAnyRole(['administrator', 'senior-officer', 'EO Appraisal', 'DD Appraisal']) &&
Route::currentRouteName('otorisator.show'))
<a href="{{ route('otorisator.show', ['id' => $permohonan->id, 'type' => 'Pelaporan']) }}"
class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back
</a>
@elseif (Auth::user()->hasAnyRole(['administrator', 'surveyor']) && Route::currentRouteName('penilai.show'))
<a href="{{ route('penilai.show', $permohonan->id) }}" class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back
</a>
@endif
</div>
</div>
<div class="card-body grid gap-5">
@@ -290,8 +301,8 @@
href="{{ route('penilai.lampiran') }}?permohonanId={{ request('permohonanId') }}&documentId={{ request('documentId') }}&inspeksiId={{ request('inspeksiId') }}&jaminanId={{ request('jaminanId') }}&statusLpj=1">
LAMPIRAN FOTO DAN DOKUMEN
</a>
<a href="{{ route('surveyor.print_out_inspeksi', ['permohonan_id' => $permohonan->id, 'dokument_id' => request('documentId'), 'jenis_jaminan_id' => request('jaminanId')]) }}" class="btn btn-light"
>
<a href="{{ route('surveyor.print_out_inspeksi', ['permohonan_id' => $permohonan->id, 'dokument_id' => request('documentId'), 'jenis_jaminan_id' => request('jaminanId')]) }}"
class="btn btn-light">
<i class="ki-filled ki-printer"></i> Hasil Inspeksi
</a>
<a class="btn btn-success"

View File

@@ -78,7 +78,9 @@
: [$detail->dokumen_jaminan];
$dokumen_nomor = is_array(json_decode($detail->dokumen_nomor))
? json_decode($detail->dokumen_nomor)
: ($detail->dokumen_nomor ? [$detail->dokumen_nomor] : []);
: ($detail->dokumen_nomor
? [$detail->dokumen_nomor]
: []);
@endphp
@foreach ($dokumen_jaminan as $index => $dokumen)
@@ -151,7 +153,8 @@
<tr>
<td>Tanggal Survey</td>
<td>:</td>
<td>{{ isset($permohonan->penilaian->tanggal_kunjungan) ? formatTanggalIndonesia($permohonan->penilaian->tanggal_kunjungan) : '' }}</td>
<td>{{ isset($permohonan->penilaian->tanggal_kunjungan) ? formatTanggalIndonesia($permohonan->penilaian->tanggal_kunjungan) : '' }}
</td>
</tr>
<tr>
<td>Surveyor</td>
@@ -221,18 +224,27 @@
</table>
<table border="1" style="width: 100%; border-collapse: collapse; margin-bottom: 10px;">
<tr>
<td style="border: 1px solid #000; padding: 4px;">Sertifikat</td>
<td style="border: 1px solid #000; padding: 4px;">Luas Tanah ()</td>
<td style="border: 1px solid #000; padding: 4px;">Luas Bangunan ()</td>
<td style="border: 1px solid #000; padding: 4px;">Nilai Pasar Wajar (Rp)</td>
</tr>
@foreach ($resumeData['fisik'] as $item)
<tr>
<td style="border: 1px solid #000; padding: 4px;">{{ $item['sertifikat'] ?? '' }}</td>
<td style="border: 1px solid #000; padding: 4px;">{{ $item['luas_tanah'] ?? '' }}</td>
<td style="border: 1px solid #000; padding: 4px;">{{ $item['luas_bangunan'] ?? '' }}</td>
<td style="border: 1px solid #000; padding: 4px;">{{ formatRupiah($item['nilai']) ?? '' }}</td>
<td style="border: 1px solid #000; padding: 4px; text-align: center">Sertifikat</td>
<td style="border: 1px solid #000; padding: 4px; text-align: center">Luas Tanah</td>
<td style="border: 1px solid #000; padding: 4px; text-align: center">Luas Bangunan</td>
<td style="border: 1px solid #000; padding: 4px; text-align: center">Nilai Pasar Wajar</td>
<td style="border: 1px solid #000; padding: 4px; text-align: center">Nilai Likuidasi {{ isset($item['likuidasi']) ? '('. $item['likuidasi'] . ' %)' : '-' }}</td>
</tr>
<tr>
<td style="border: 1px solid #000; padding: 4px; text-align: center">{{ $item['sertifikat'] ?? '' }}
</td>
<td style="border: 1px solid #000; padding: 4px; text-align: center">
{{ isset($item['luas_tanah']) ? $item['luas_tanah'] . ' m²' : '-' }}</td>
<td style="border: 1px solid #000; padding: 4px; text-align: center">
{{ isset($item['luas_bangunan']) ? $item['luas_bangunan'] . ' m²' : '-' }}</td>
<td style="border: 1px solid #000; padding: 4px; text-align: center">
{{ formatRupiah($item['nilai']) ?? '' }}</td>
<td style="border: 1px solid #000; padding: 4px; text-align: center">
{{ formatRupiah($item['total_likuidasi']) ?? '' }}</td>
</tr>
@endforeach
</table>
@@ -247,18 +259,28 @@
</table>
<table border="1" style="width: 100%; border-collapse: collapse; margin-bottom: 10px;">
<tr>
<td style="border: 1px solid #000; padding: 4px;">Sertifikat</td>
<td style="border: 1px solid #000; padding: 4px;">Luas Tanah ()</td>
<td style="border: 1px solid #000; padding: 4px;">Luas Bangunan ()</td>
<td style="border: 1px solid #000; padding: 4px;">Nilai Pasar Wajar (Rp)</td>
</tr>
@foreach ($resumeData['sesuai_imb'] as $item)
<tr>
<td style="border: 1px solid #000; padding: 4px;">{{ $item['sertifikat'] ?? '' }}</td>
<td style="border: 1px solid #000; padding: 4px;">{{ $item['luas_tanah'] ?? '' }}</td>
<td style="border: 1px solid #000; padding: 4px;">{{ $item['luas_bangunan'] ?? '' }}</td>
<td style="border: 1px solid #000; padding: 4px;">{{ formatRupiah($item['nilai']) ?? '' }}</td>
<td style="border: 1px solid #000; padding: 4px; text-align: center">Sertifikat</td>
<td style="border: 1px solid #000; padding: 4px; text-align: center">Luas Tanah</td>
<td style="border: 1px solid #000; padding: 4px; text-align: center">Luas Bangunan</td>
<td style="border: 1px solid #000; padding: 4px; text-align: center">Nilai Pasar Wajar</td>
<td style="border: 1px solid #000; padding: 4px; text-align: center">Nilai Likuidasi {{ isset($item['likuidasi']) ? '('. $item['likuidasi'] . ' %)' : '-' }}</td>
</tr>
<tr>
<td style="border: 1px solid #000; padding: 4px; text-align: center">
{{ $item['sertifikat'] ?? '' }}</td>
<td style="border: 1px solid #000; padding: 4px; text-align: center">
{{ isset($item['luas_tanah']) ? $item['luas_tanah'] . ' m²' : '-' }}</td>
<td style="border: 1px solid #000; padding: 4px; text-align: center">
{{ isset($item['luas_bangunan']) ? $item['luas_bangunan'] . ' m²' : '-' }}</td>
<td style="border: 1px solid #000; padding: 4px; text-align: center">
{{ formatRupiah($item['nilai']) ?? '' }}</td>
<td style="border: 1px solid #000; padding: 4px; text-align: center">
{{ formatRupiah($item['total_likuidasi']) ?? '' }}</td>
</tr>
@endforeach
</table>
@@ -277,17 +299,25 @@
<table border="1" style="width: 100%; border-collapse: collapse; margin-bottom: 1px;">
<tr>
<td style="border: 1px solid #000; padding: 4px;">Sertifikat</td>
<td style="border: 1px solid #000; padding: 4px;">Luas Tanah ()</td>
<td style="border: 1px solid #000; padding: 4px;">Luas Bangunan ()</td>
<td style="border: 1px solid #000; padding: 4px;">Nilai Pasar Wajar (Rp)</td>
<td style="border: 1px solid #000; padding: 4px; text-align: center">Sertifikat</td>
<td style="border: 1px solid #000; padding: 4px; text-align: center">Luas Tanah</td>
<td style="border: 1px solid #000; padding: 4px; text-align: center">Luas Bangunan</td>
<td style="border: 1px solid #000; padding: 4px; text-align: center">Nilai Pasar Wajar</td>
<td style="border: 1px solid #000; padding: 4px; text-align: center">Nilai Likuidasi {{ isset($item['likuidasi']) ? '('. $item['likuidasi'] . ' %)' : '' }}</td>
</tr>
<tr>
<td style="border: 1px solid #000; padding: 4px;">{{ $item['sertifikat'] ?? '-' }}</td>
<td style="border: 1px solid #000; padding: 4px;">{{ $item['luas_tanah'] ?? '-' }}</td>
<td style="border: 1px solid #000; padding: 4px;">{{ $item['luas_bangunan'] ?? '-' }}</td>
<td style="border: 1px solid #000; padding: 4px;">{{ formatRupiah($item['nilai']) ?? '-' }}
<td style="border: 1px solid #000; padding: 4px; text-align: center">
{{ $item['sertifikat'] ?? '-' }}</td>
<td style="border: 1px solid #000; padding: 4px; text-align: center">
{{ isset($item['luas_tanah']) ? $item['luas_tanah'] . ' m²' : '-' }}</td>
<td style="border: 1px solid #000; padding: 4px; text-align: center">
{{ isset($item['luas_bangunan']) ? $item['luas_bangunan'] . ' m²' : '-' }}</td>
<td style="border: 1px solid #000; padding: 4px; text-align: center">
{{ formatRupiah($item['nilai']) ?? '-' }}
</td>
<td style="border: 1px solid #000; padding: 4px; text-align: center">
{{ formatRupiah($item['total_likuidasi']) ?? '' }}</td>
</tr>
</table>
@endforeach

View File

@@ -29,10 +29,23 @@
<h3 class="card-title uppercase">
Data Jaminan
</h3>
@php
use Illuminate\Support\Facades\Route;
@endphp
<div class="flex items-center gap-2">
<a href="{{ url()->previous() }}" class="btn btn-xs btn-info">
@if (Auth::user()->hasAnyRole(['administrator', 'senior-officer', 'EO Appraisal', 'DD Appraisal']) &&
Route::currentRouteName('otorisator.show'))
<a href="{{ route('otorisator.show', ['id' => $permohonan->id, 'type' => 'Pelaporan']) }}"
class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back
</a>
@elseif (Auth::user()->hasAnyRole(['administrator', 'surveyor']) && Route::currentRouteName('penilai.show'))
<a href="{{ route('penilai.show', $permohonan->id) }}" class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back
</a>
@endif
</div>
</div>
<div class="card-body grid gap-5 grid-cols-2">
@@ -181,7 +194,8 @@
<th class="text-center">Luas Tanah</th>
<th class="text-center">Luas Bangunan</th>
<th class="text-center">Nilai Pasar Wajar</th>
<th class="text-center">Nilai Likuidasi</th>
<th class="text-center">Total Nilai Likuidasi</th>
</tr>
</thead>
</thead>
@@ -202,7 +216,18 @@
class="input number-format"></td>
<td class="text-center">
<input type="text" name="fisik_nilai[]"
class="input currency-format" value="{{ $item['nilai'] }}">
class="input currency-format nilai-pasar"
value="{{ $item['nilai'] }}" onkeyup="calculateTotal(this)">
</td>
<td class="text-center">
<input type="text" name="likuidasi[]" class="input likuidasi"
value="{{ $item['likuidasi'] ?? 0 }}"
onkeyup="calculateTotal(this)">
</td>
<td class="text-center">
<input type="text" name="total_nilai_likuidasi[]"
class="input currency-format total-likuidasi"
value="{{ $item['total_likuidasi'] ?? 0 }}" readonly>
</td>
</tr>
@endforeach
@@ -250,7 +275,17 @@
<td class="text-center"> <input type="text" name="fisik_luas_bangunan[]"
class="input number-format" value="{{ $luas_bangunan }}"></td>
<td class="text-center">
<input type="text" name="fisik_nilai[]" class="input currency-format">
<input type="text" name="fisik_nilai[]"
class="input currency-format nilai-pasar"
onkeyup="calculateTotal(this)">
</td>
<td class="text-center">
<input type="text" name="likuidasi[]" class="input likuidasi"
onkeyup="calculateTotal(this)">
</td>
<td class="text-center">
<input type="text" name="total_nilai_likuidasi[]"
class="input currency-format total-likuidasi" readonly>
</td>
</tr>
@endif
@@ -271,7 +306,8 @@
<th class="text-center">Luas Tanah</th>
<th class="text-center">Luas Bangunan</th>
<th class="text-center">Nilai Pasar Wajar</th>
<th class="text-center">Likuidasi</th>
<th class="text-center">Total Nilai Likuidasi</th>
</tr>
</thead>
</thead>
@@ -293,7 +329,18 @@
</td>
<td class="text-center">
<input type="text" name="sesuai_nilai[]"
class="input currency-format" value="{{ $item['nilai'] }}">
class="input currency-format nilai-pasar"
value="{{ $item['nilai'] }}" onkeyup="calculateTotal(this)">
</td>
<td class="text-center">
<input type="text" name="sesuai_likuidasi[]"
class="input likuidasi" value="{{ $item['likuidasi'] ?? '' }}"
onkeyup="calculateTotal(this)">
</td>
<td class="text-center">
<input type="text" name="sesuai_total_likuidasi[]"
class="input currency-format total-likuidasi"
value="{{ $item['total_likuidasi'] ?? 0 }}">
</td>
</tr>
@endforeach
@@ -312,8 +359,17 @@
class="input number-format">
</td>
<td class="text-center">
<input type="text" name="sesuai_nilai[]"
class="input currency-format">
<input type="text" name="sesuai_nilai[]" class="input currency-format"
onkeyup="calculateTotal(this)">
</td>
<td class="text-center">
<input type="text" name="sesuai_likuidasi[]" class="input likuidasi"
value="{{ $item['likuidasi'] ?? 0 }}" onkeyup="calculateTotal(this)">
</td>
<td class="text-center">
<input type="text" name="sesuai_total_likuidasi[]"
class="input currency-format total-likudasi"
value="{{ $item['total_likuidasi'] ?? 0 }}">
</td>
</tr>
@endif
@@ -323,7 +379,7 @@
</div>
@if (!empty($resumeData['tambahan']))
@foreach ($resumeData['tambahan'] as $item)
@foreach ($resumeData['tambahan'] as $counter => $item)
<div id="kesimpulan" class="gird gap-5">
<div class="flex flex-wrap items-baseline w-full">
@@ -342,44 +398,50 @@
<th class="text-center">Luas Tanah</th>
<th class="text-center">Luas Bangunan</th>
<th class="text-center">Nilai Pasar Wajar</th>
<th class="text-center"> Likuidasi</th>
<th class="text-center">Total Nilai Likuidasi</th>
</tr>
</thead>
</thead>
<tbody>
@if (!empty($resumeData['tambahan']))
@foreach ($resumeData['tambahan'] as $item)
<tr>
<td class="text-center">
<input type="text" name="tambahan_sertifikat[]"
class="input number-format"
value="{{ $item['sertifikat'] }}">
class="input number-format" value="{{ $item['sertifikat'] }}">
</td>
<td class="text-center">
<input type="text" name="tambahan_luas_tanah[]"
class="input number-format"
value="{{ $item['luas_tanah'] }}">
class="input number-format" value="{{ $item['luas_tanah'] }}">
</td>
<td class="text-center">
<input type="text" name="tambahan_luas_bangunan[]"
class="input number-format"
value="{{ $item['luas_bangunan'] }}">
class="input number-format" value="{{ $item['luas_bangunan'] }}">
</td>
<td class="text-center">
<input type="text" name="tambahan_nilai[]"
class="input currency-format" value="{{ $item['nilai'] }}">
class="input currency-format nilai-pasar"
value="{{ $item['nilai'] }}" onkeyup="calculateTotal(this)">
</td>
<td class="text-center">
<input type="text" name="tambahan_nilai_likuidasi[]"
class="input likuidasi " value="{{ $item['likuidasi'] ?? 0 }}"
onkeyup="calculateTotal(this)">
</td>
<td class="text-center">
<input type="text" name="tambahan_total_likuidasi[]"
class="input currency-format total-likuidasi"
value="{{ $item['total_likuidasi'] ?? 0 }}">
</td>
</tr>
@endforeach
@endif
</tbody>
</table>
</div>
</div>
@endforeach
@endif
<div id="kesimpulans" class="grid gap-5 w-full"></div>
<div>
<button type="button" class="btn btn-primary btn-sm mt-5" onclick="tambahKesimpulanNilai()">
<i class="ki-outline ki-plus"></i>
@@ -387,7 +449,7 @@
</button>
</div>
<div id="kesimpulan" class="grid gap-5 w-full"></div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5" style="margin-top: 20px">
@@ -452,14 +514,15 @@
@endsection
@include('lpj::surveyor.js.utils')
<script type="text/javascript">
let data = @json($resumeData ?? 0);
console.log(data);
let counter = 3;
function tambahKesimpulanNilai() {
const kesimpulan = document.getElementById('kesimpulan');
const kesimpulan = document.getElementById('kesimpulans');
kesimpulan.innerHTML += `
<div class="grid gap-5 w-full" id="kesimpulan-${counter}">
<div class="grid gap-5 w-full mt-5" id="kesimpulan-${counter}">
<div class="flex flex-wrap items-baseline w-full">
@@ -467,7 +530,9 @@
<table class="table table-auto table-border align-middle text-gray-700 font-medium text-sm mt-5">
<input type="text" name="tambahan_nama_kesimpulan[]"
class="input number-format">
class="input number-format"
placeholder="Masukkan Nama Kesimpulan.."
>
<thead>
@@ -476,6 +541,8 @@
<th class="text-center">Luas Tanah</th>
<th class="text-center">Luas Bangunan</th>
<th class="text-center">Nilai Pasar Wajar</th>
<th class="text-center">Likuidasi</th>
<th class="text-center">Total Nilai Likuidasi</th>
<th class="text-center">Aksi</th>
</tr>
</thead>
@@ -495,7 +562,16 @@
</td>
<td class="text-center">
<input type="text" name="tambahan_nilai[]"
class="input currency-format">
class="input currency-format nilai-pasar">
</td>
<td class="text-center">
<input type="text" name="tambahan_nilai_likuidasi[]"
class="input likuidasi"
onkeyup="calculateTotal(this)">
</td>
<td class="text-center">
<input type="text" name="tambahan_total_likuidasi[]"
class="input currency-format total-likuidasi" >
</td>
<td class="text-center">
<button type="button" class="btn btn-danger" onclick="deleteRow(this)">Delete</button>
@@ -638,7 +714,10 @@
sertifikat: row.querySelector('input[name="fisik_sertifikat[]"]')?.value || "",
luas_tanah: row.querySelector('input[name="fisik_luas_tanah[]"]')?.value || "",
luas_bangunan: row.querySelector('input[name="fisik_luas_bangunan[]"]')?.value || "",
nilai: cleanCurrencyValue(row.querySelector('input[name="fisik_nilai[]"]')?.value || "")
nilai: cleanCurrencyValue(row.querySelector('input[name="fisik_nilai[]"]')?.value || ""),
likuidasi: row.querySelector('input[name="likuidasi[]"]')?.value || "",
total_likuidasi: cleanCurrencyValue(row.querySelector(
'input[name="total_nilai_likuidasi[]"]')?.value || "")
};
if (fisikData.sertifikat) {
jsonData.fisik.push(fisikData);
@@ -651,7 +730,10 @@
sertifikat: row.querySelector('input[name="sesuai_sertifikat[]"]')?.value || "",
luas_tanah: row.querySelector('input[name="sesuai_luas_tanah[]"]')?.value || "",
luas_bangunan: row.querySelector('input[name="sesuai_luas_bangunan[]"]')?.value || "",
nilai: cleanCurrencyValue(row.querySelector('input[name="sesuai_nilai[]"]')?.value || "")
nilai: cleanCurrencyValue(row.querySelector('input[name="sesuai_nilai[]"]')?.value || ""),
likuidasi: row.querySelector('input[name="sesuai_likuidasi[]"]')?.value || "",
total_likuidasi: cleanCurrencyValue(row.querySelector(
'input[name="sesuai_total_likuidasi[]"]')?.value || "")
};
if (imbData.sertifikat) {
jsonData.sesuai_imb.push(imbData);
@@ -665,7 +747,10 @@
sertifikat: row.querySelector('input[name="tambahan_sertifikat[]"]')?.value || "",
luas_tanah: row.querySelector('input[name="tambahan_luas_tanah[]"]')?.value || "",
luas_bangunan: row.querySelector('input[name="tambahan_luas_bangunan[]"]')?.value || "",
nilai: cleanCurrencyValue(row.querySelector('input[name="tambahan_nilai[]"]')?.value || "")
nilai: cleanCurrencyValue(row.querySelector('input[name="tambahan_nilai[]"]')?.value || ""),
likuidasi: row.querySelector('input[name="tambahan_nilai_likuidasi[]"]')?.value || "",
total_likuidasi: cleanCurrencyValue(row.querySelector(
'input[name="tambahan_total_likuidasi[]"]')?.value || "")
};
console.log(imbData);
if (imbData.sertifikat) {
@@ -701,10 +786,64 @@
const value = input.value.replace(/[^\d]/g, '');
input.value = formatCurrency(value);
}
function cleanCurrencyValue(value) {
return value.replace(/[^\d]/g, '');
}
function calculateTotal(element) {
const row = element.closest('tr');
const nilaiPasarInput = row.querySelector('.nilai-pasar');
let likuidasiInput = row.querySelector('.likuidasi');
const totalLikuidasiInput = row.querySelector('.total-likuidasi');
// Bersihkan nilai dari karakter non-digit
const cleanNilaiPasar = cleanCurrencyValue(nilaiPasarInput.value);
const cleanLikuidasi = cleanCurrencyValue(likuidasiInput.value);
likuidasiInput.value = formatPercentages(likuidasiInput.value);
// Konversi ke angka
const nilaiPasar = parseFloat(cleanNilaiPasar) || 0;
let likuidasi = parseFloat(cleanLikuidasi) || 0;
// Jika nilai likuidasi lebih dari 100, reset ke nilai awal yang diinputkan
if (likuidasi > 100) {
likuidasi = parseFloat(cleanLikuidasi) || 0; // Reset ke nilai awal
likuidasiInput.value = likuidasi
}
// Pastikan nilai likuidasi tidak melebihi 100
likuidasi = Math.min(likuidasi, 100);
// Hitung total likuidasi
const totalLikuidasi = nilaiPasar - (nilaiPasar * (likuidasi / 100));
// Tampilkan hasil dengan format yang benar
totalLikuidasiInput.value = formatCurrency(totalLikuidasi.toString());
}
function formatPercentages(value) {
// Hapus semua karakter kecuali angka dan koma
let numericValue = value.replace(/[^0-9,]/g, '');
// Pastikan hanya satu koma yang ada
let parts = numericValue.split(',');
if (parts.length > 2) {
numericValue = parts[0] + ',' + parts[1]; // Pertahankan hanya bagian pertama dan kedua
}
// Jika nilai melebihi 100, batasi menjadi 100
let numericFloat = parseFloat(numericValue.replace(',', '.')) || 0;
if (numericFloat > 100) {
numericFloat = 100;
numericValue = '100';
}
// Kembalikan nilai dengan simbol %
return numericValue;
}
</script>

View File

@@ -18,8 +18,6 @@
],
'title' => 'Paparan dokument',
])
@else
@include('lpj::component.detail-jaminan', [
'backLink' => 'penilai.show',
@@ -29,5 +27,31 @@
@endif
@include('lpj::penilai.components.foto-lampiran')
<div class="card">
<div class="card-header bg-agi-50 uppercase">
Kertas Kerja
</div>
<div class="card-body flex items-center justify-between">
@php
$url = '';
$fileName = '';
if ($penilai && $penilai->kertas_kerja) {
$url = asset('storage/' . $penilai->kertas_kerja);
$fileName = basename($penilai->kertas_kerja);
}
@endphp
@if ($penilai && $penilai->kertas_kerja)
<button type="button" class="btn btn-primary" onclick="window.open('{{ $url }}', '_blank')">
<i class="ki-outline ki-cloud-download"></i>
Lihat Kertas Kerja</button>
<p class="text-2sm text-gray-700">{{ $fileName }}</p>
@else
<p class="text-2sm text-gray-700">Belum ada kertas kerja</p>
@endif
</div>
</div>
</div>
@endsection

View File

@@ -245,8 +245,8 @@
approval_so: {
title: 'Approval SO',
render: (item, data) => {
if(data.authorization.approve_so) {
return `${data.authorization.approve_so.name} | ${window.formatTanggalIndonesia(data.authorization.approve_so_at)}`;
if(data?.authorization?.approve_so) {
return `${data?.authorization?.approve_so?.name} | ${window.formatTanggalIndonesia(data?.authorization?.approve_so_at)}`;
}
return '';
},
@@ -254,8 +254,8 @@
approval_dd: {
title: 'Approval DD',
render: (item, data) => {
if(data.authorization.approve_dd) {
return `${data.authorization.approve_dd.name} | ${window.formatTanggalIndonesia(data.authorization.approve_dd_at)}`;
if(data?.authorization?.approve_dd) {
return `${data?.authorization?.approve_dd?.name} | ${window.formatTanggalIndonesia(data?.authorization?.approve_dd_at)}`;
}
return '';
},

View File

@@ -12,9 +12,20 @@
<i class="ki-filled ki-exit-left"></i> Back
</a>
@else
<a href="{{ url()->previous() }}" class="btn btn-xs btn-info">
@php
use Illuminate\Support\Facades\Route;
@endphp
@if (Auth::user()->hasAnyRole(['administrator', 'senior-officer', 'EO Appraisal', 'DD Appraisal']) &&
Route::currentRouteName('otorisator.show'))
<a href="{{ route('otorisator.show', ['id' => $permohonan->id, 'type' => 'Pelaporan']) }}"
class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back
</a>
@elseif (Auth::user()->hasAnyRole(['administrator', 'surveyor']) && Route::currentRouteName('penilai.show'))
<a href="{{ route('penilai.show', $permohonan->id) }}" class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back
</a>
@endif
@endif
{{-- <a href="{{ route('surveyor.show', ['id' => request('inspeksi')]) }}" class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back

View File

@@ -527,17 +527,16 @@
<tr>
@php
$hubCadebPenghuni = $forminspeksi['asset']['hub_cadeb_penghuni'] ?? null;
$cekHub =
isset($forminspeksi['asset']['hub_cadeb_penghuni']) &&
$forminspeksi['asset']['hub_cadeb_penghuni'] === 'sesuai'
? 'sesuai'
: 'tidak sesuai';
$cekHub = $hubCadebPenghuni === 'sesuai' ? 'sesuai' : 'tidak sesuai';
$hubCadeb = isset($forminspeksi['asset']['hub_cadeb_penghuni'][$cekHub])
? $forminspeksi['asset']['hub_cadeb_penghuni']['tidak sesuai']
: $forminspeksi['asset']['hub_cadeb_penghuni']['sesuai'];
$hubCadeb =
is_array($hubCadebPenghuni) && isset($hubCadebPenghuni[$cekHub])
? $hubCadebPenghuni[$cekHub]
: $hubCadebPenghuni[$cekHub] ?? null;
@endphp
<td><strong>Hubungan Penghuni Jaminan dengan Debitur</strong></td>
<td>
@if (isset($basicData['hubPenghuni']))