fix(penilai): penambahan edit data pembanding, dan perbaikkan lihat detail penilai

This commit is contained in:
majid
2025-03-06 13:11:45 +07:00
parent 7cc75c56ae
commit 2c3f507c03
12 changed files with 759 additions and 684 deletions

View File

@@ -447,3 +447,29 @@ function formatLabel($key) {
// Default: Ubah underscore menjadi spasi dan kapitalisasi
return ucwords(str_replace('_', ' ', $key));
}
function calculateSLA($permohonan, $type)
{
if (!$type) {
return null;
}
$nilai_plafond = in_array($permohonan->nilai_plafond_id, [2, 3]);
$nilai_plafond_2 = in_array($permohonan->nilai_plafond_id, [1]);
$slaMap = [
'resume' => $nilai_plafond ? 2 : null,
'paparan' => $nilai_plafond ? 2 : null,
'standard' => $nilai_plafond ? 3 : null,
'sederhana' => $nilai_plafond ? 2 : null,
'paparan' => $nilai_plafond_2 ? 3 : null,
'rap' => 3,
'memo' => $nilai_plafond ? 1 : null
];
if ($type === 'paparan' && isset($permohonan->tujuanPenilaian->name) && $permohonan->tujuanPenilaian->name === 'rap') {
return 2;
}
return $slaMap[$type] ?? null;
}

View File

@@ -36,6 +36,11 @@
<h3 class="card-title uppercase">
Informasi dan pembanding
</h3>
<div class="card-tools">
<a href="{{ route('penilai.showDataPembanding', ['id' => $permohonan->id]) }}?dokument={{ request()->documentId }}&jenis_jaminan={{ request()->jaminanId }}" class="btn btn-primary" data-bs-toggle="modal" >
Edit Data Pembanding
</a>
</div>
</div>
@include('lpj::penilai.components.informasi-pembanding')
</div>

View File

@@ -51,7 +51,7 @@
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Indikasi Harga Transaksi</label>
<div class="flex flex-wrap items-baseline w-full">
<span>{{ isset($item['harga_diskon']) ? formatRupiah($item['harga_diskon']) : '' }}</span>
<span>{{ isset($item['total']) ? formatRupiah($item['total']) : '' }}</span>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
@@ -60,11 +60,10 @@
<span>{{ $item['telepon'] }}</span>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Ditawarkan sejak</label>
<label class="form-label max-w-56">Tanggal Data</label>
<div class="flex flex-wrap items-baseline w-full">
<span>{{ $item['penawaran'] ?? '' }}</span>
<span>{{ isset($item['tanggal']) ? formatTanggalIndonesia($item['tanggal']) : '' }}</span>
</div>
</div>

View File

@@ -289,6 +289,25 @@
</div>
</div>
<div class="card border border-agi-100 rounded-lg shadow-md">
<div class="card-body">
<div class=" py-4 flex items-center justify-between">
<h1 class="text-md font-medium text-gray-900">Upload Foto</h1>
</div>
<div class="dropzone" id="upload-dropzone">
<div class="dz-message needsclick" data-foto-type="upload_foto">
<i class="ki-duotone ki-file-up text-primary text-3xl"><span class="path1"></span><span
class="path2"></span></i>
<div class="ms-4">
<h3 class="fs-5 fw-bold text-gray-900 mb-1">Drop files here or click to upload.</h3>
<span class="fs-7 fw-semibold text-gray-500">Upload up to 10 files</span>
</div>
</div>
</div>
</div>
</div>
{{-- @include('lpj::penilai.components.foto-lampiran') --}}
<div class="flex card-footer justify-end gap-5">

View File

@@ -15,10 +15,9 @@
'jenis_aset' => 'Jenis properti',
'hak_properti' => 'Status Hak Tanah',
'address' => 'Alamat Lokasi',
'harga_penawaran' => 'Harga Penawaran',
'harga_diskon' => 'Indikasi Harga Transaksi',
'harga' => 'Harga Penawaran',
'total' => 'Indikasi Harga Transaksi',
'telepon' => 'Penjual (HP)',
'penawaran' => 'Ditawarkan Sejak',
'luas_tanah' => 'Luas Tanah',
'luas_bangunan' => 'Luas Bangunan',
'tanggal' => 'Tanggal Data',
@@ -40,8 +39,11 @@
<td style="width: 62%;">
@if ($key == 'luas_tanah' || $key == 'luas_bangunan')
{{ $data[$key] ?? '-' }}
@elseif($key == 'harga' || $key == 'harga_diskon')
@elseif($key == 'harga' || $key == 'total')
{{ formatRupiah($data[$key]) ?? 0 }}
@elseif($key == 'tanggal')
{{ formatTanggalIndonesia($data[$key]) ?? '-' }}
@elseif($key == 'kordinat')
@php
$lat = $data['kordinat_lat'] ?? null;

View File

@@ -401,7 +401,7 @@
</div>
</div>
<div class="flex justify-between items-center">
@if ($permohonan->penilai->kertas_kerja)
@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>

View File

@@ -43,22 +43,22 @@
</div>
<div class="card">
<div class="card-body ">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5" style="margin: 20px">
<label class="form-label lg:form-label max-w-56 ">Catatan yang Perlu Diperhatikan
</label>
<div class="w-full">
<div id="keterangan-container" class="flex items-baseline flex-wrap gap-2.5 w-full">
<div class="keterangan flex items-center gap-2 mt-2 textarea-group w-full">
<textarea name="keterangan" class="textarea mt-2" placeholder="Masukkan catatan penting" rows="10">{{ $comparisons['keterangan'] ?? old('keterangan') }}</textarea>
<em id="error-keterangan" class="alert text-danger text-sm"></em>
</div>
<div class="card-body ">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5" style="margin: 20px">
<label class="form-label lg:form-label max-w-56 ">Catatan yang Perlu Diperhatikan
</label>
<div class="w-full">
<div id="keterangan-container" class="flex items-baseline flex-wrap gap-2.5 w-full">
<div class="keterangan flex items-center gap-2 mt-2 textarea-group w-full">
<textarea name="keterangan" class="textarea mt-2" placeholder="Masukkan catatan penting" rows="10">{{ $comparisons['keterangan'] ?? old('keterangan') }}</textarea>
<em id="error-keterangan" class="alert text-danger text-sm"></em>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="card-footer">
<div class="flex justify-end gap-2">
<button type="button" onclick="submitData()" class="btn btn-primary">
@@ -679,9 +679,15 @@
confirmButtonText: 'OK'
}).then((result) => {
if (result.isConfirmed) {
window.location.href =
'{{ route('surveyor.show', ['id' => $permohonan->id]) }}';
if ("{{ Request::is('penilai/show-data-pembanding/*/edit') }}") {
console.log(
'Current route matches');
} else {
window.location.href =
"{{ route('surveyor.show', ['id' => $permohonan->id]) }}";
}
}
});
} else {

View File

@@ -16,7 +16,7 @@
</a>
@else
@if (Auth::user()->hasAnyRole(['administrator', 'senior-officer', 'EO Appraisal', 'DD Appraisal']) &&
Route::currentRouteName('otorisator.show'))
Request::is('otorisator/show/*/Pelaporan'))
<a href="{{ route('otorisator.show', ['id' => $permohonan->id, 'type' => 'Pelaporan']) }}"
class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back

View File

@@ -1,9 +1,15 @@
<div class="card-header bg-agi-50">
<h3 class="card-title">Data Pembanding</h3>
<div class="flex items-center gap-2">
@if (Request::is('penilai/show-data-pembanding/*/edit') && request()->has('dokument') && request()->has('jenis_jaminan'))
<a href="{{ url()->previous() }}" class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back
</a>
@else
<a href="{{ route('surveyor.show', ['id' => $permohonan->id]) }}" class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Kembali
</a>
@endif
</div>
</div>

View File

@@ -1,9 +1,16 @@
<div class="card-header bg-agi-50">
<h3 class="card-title">Data Pembanding</h3>
<div class="flex items-center gap-2">
<a href="{{ route('surveyor.show', ['id' => $permohonan->id]) }}" class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Kembali
</a>
@if (Request::is('penilai/show-data-pembanding/*/edit') && request()->has('dokument') && request()->has('jenis_jaminan'))
<a href="{{ url()->previous() }}" class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back
</a>
@else
<a href="{{ route('surveyor.show', ['id' => $permohonan->id]) }}" class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Kembali
</a>
@endif
</div>
</div>
@@ -114,7 +121,7 @@
@endphp
<td class="px-4 py-2">
<input type="text" name="luas_tanah" class="input "
value="{{ $inspectionData['tanah']['luas_tanah']['sesuai'] ?? ($inspectionData['tanah']['luas_tanah']['tidak sesuai'] ?? '') }}">
value="{{ $inspectionData['tanah']['luas_tanah']['sesuai'] ?? ($inspectionData['tanah']['luas_tanah']['tidak sesuai'] ?? '') }}">
</td>
<td class="px-4 py-2">
@@ -204,7 +211,7 @@
<td class="px-4 py-2">Telepon Contact Person</td>
<td class="px-4 py-2">
<input type="text" name="telepon" class="input"
value="{{ $inspectionData['asset']['telepon'] ?? $permohonan->debiture->phone ?? '' }}">
value="{{ $inspectionData['asset']['telepon'] ?? ($permohonan->debiture->phone ?? '') }}">
</td>
<td class="px-4 py-2">
<input type="text" name="telepon_pembanding[]" class="input">
@@ -215,7 +222,7 @@
<td class="px-4 py-2">Status Narasumber</td>
<td class="px-4 py-2">
<input type="text" name="status_nara_sumber" class="input"
value="{{ $inspectionData['asset']['status_nara_sumber'] ?? $dokumen->pemilik->hubungan_pemilik->name ?? '' }}">
value="{{ $inspectionData['asset']['status_nara_sumber'] ?? ($dokumen->pemilik->hubungan_pemilik->name ?? '') }}">
</td>
<td class="px-4 py-2">
<input type="text" name="status_nara_sumber_pembanding[]" class="input">
@@ -225,7 +232,7 @@
<td class="px-4 py-2">Nama Narasumber</td>
<td class="px-4 py-2">
<input type="text" name="nama_nara_sumber" class="input"
value="{{ $inspectionData['asset']['nama_nara_sumber'] ?? $permohonan->debiture->name ?? '' }}">
value="{{ $inspectionData['asset']['nama_nara_sumber'] ?? ($permohonan->debiture->name ?? '') }}">
</td>
<td class="px-4 py-2">
<input type="text" name="nama_nara_sumber_pembanding[]" class="input">
@@ -465,8 +472,7 @@
value="{{ $inspectionData['asset']['total'] ?? '' }}">
</td>
<td class="px-4 py-2">
<input type="text" name="total_pembanding[]" readonly
class="input currency-format">
<input type="text" name="total_pembanding[]" readonly class="input currency-format">
</td>
</tr>
</tbody>

File diff suppressed because it is too large Load Diff

View File

@@ -618,6 +618,7 @@ Route::middleware(['auth'])->group(function () {
Route::post('storeRap', [PenilaiController::class, 'storeRap'])->name('storeRap');
Route::post('storeLpjSederhanadanStandard', [PenilaiController::class, 'storeLpjSederhanadanStandard'])->name('storeLpjSederhanadanStandard');
Route::put('revisi-surveyor/{id}', [PenilaiController::class, 'revisiSurveyor'])->name('revisiSurveyor');
Route::get('show-data-pembanding/{id}/edit', [SurveyorController::class, 'dataPembanding'])->name('showDataPembanding');
});