fix(so/dd/eo/penilai): perbaikan otorisasi untuk paparan, pelaporan, penambahan revisi pembayaran, data pembading dan ubah class bg-agi-50 ke light:bg-agi-50

This commit is contained in:
majid
2025-03-03 15:48:03 +07:00
parent f928cf1d76
commit b8dbda153e
26 changed files with 204 additions and 105 deletions

View File

@@ -110,7 +110,9 @@ class PembayaranController extends Controller
public function edit($id)
{
$permohonan = Permohonan::find($id);
return view('lpj::pembayaran.form', compact('permohonan'));
$persetujuanPenawaran = PersetujuanPenawaran::where('permohonan_id', $permohonan->id)->first();
return view('lpj::pembayaran.form', compact('permohonan', 'persetujuanPenawaran'));
}
public function store(PersetujuanPenawaranRequest $request)
@@ -119,27 +121,44 @@ class PembayaranController extends Controller
$validated['created_by'] = Auth::id();
$validated['status'] = '0';
if (isset($validated['penawaran_id'])) {
$persetujuanPenawaran = PersetujuanPenawaran::create(
['penawaran_id' => $validated['penawaran_id']],
$validated,
);
$persetujuanPenawaran = PersetujuanPenawaran::where('permohonan_id', $validated['permohonan_id'] ?? null)->first();
$permohonan = Permohonan::find(request()->get('permohonan_id'));
if ($persetujuanPenawaran) {
// if (isset($validated['penawaran_id'])) {
// $persetujuanPenawaran = PersetujuanPenawaran::create(
// ['penawaran_id' => $validated['penawaran_id']],
// $validated,
// );
$persetujuanPenawaran->fill($validated);
if ($request->hasFile('bukti_bayar')) {
$folderPath = 'persetujuan_penawaran/' . $validated['penawaran_id'];
$persetujuanPenawaran->bukti_bayar = $request->file('bukti_bayar')->store($folderPath, 'public');
}
$persetujuanPenawaran->save();
$permohonan->approve_bayar_by = null;
$permohonan->approve_bayar_at = null;
$permohonan->status = 'done';
$permohonan->save();
} else {
$persetujuanPenawaran = PersetujuanPenawaran::create(
$validated
);
$folderPath = 'persetujuan_penawaran/' . $validated['penawaran_id'];
if ($request->hasFile('bukti_bayar')) {
$persetujuanPenawaran->bukti_bayar = $request->file('bukti_bayar')->store($folderPath, 'public');
}
$persetujuanPenawaran->save();
}
$folderPath = 'persetujuan_penawaran/' . $validated['penawaran_id'];
if ($request->hasFile('bukti_bayar')) {
$persetujuanPenawaran->bukti_bayar = $request->file('bukti_bayar')->store($folderPath, 'public');
}
$persetujuanPenawaran->save();
// Update the status of the related permohonan to 'spk'
$permohonan = Permohonan::find(request()->get('permohonan_id'));
if ($permohonan) {
$permohonan->status_bayar = request()->get('status_bayar');
$permohonan->save();
@@ -183,12 +202,15 @@ class PembayaranController extends Controller
if ($permohonan) {
if ($request->type === 'revisi') {
$data['status'] = 'revisi-pembayaran';
$data['status_bayar'] = 'belum_bayar';
} else {
$data['status_bayar'] = 'sudah_bayar';
$data['status'] = 'proses-laporan';
}
if ($permohonan->jenis_penilaian_id == 2) {
$data['status_bayar'] = 'sudah_bayar';
$data['status'] = 'spk';
}
@@ -203,7 +225,6 @@ class PembayaranController extends Controller
$data['keterangan']
);
$data['status'] = 'proses-laporan';
}
$permohonan->update($data);
@@ -233,12 +254,19 @@ class PembayaranController extends Controller
// abort(403, 'Sorry! You are not allowed to view users.');
}
$query = Permohonan::query()->where(['status_bayar' => 'belum_bayar', 'jenis_penilaian_id' => 1])
->whereNotIn('id', function ($subquery) {
$query = Permohonan::query()->where(function ($query) {
$query->where(['status_bayar' => 'belum_bayar', 'jenis_penilaian_id' => 1])
->orWhere('status', 'revisi-pembayaran');
})
->where(function ($query) {
$query->whereNotIn('id', function ($subquery) {
$subquery->select('permohonan_id')
->from('persetujuan_penawaran')
->whereNotNull('permohonan_id');
});
})
->orWhere('status', 'revisi-pembayaran');
});
// Pencarian berdasarkan parameter search
if ($request->has('search') && !empty($request->get('search'))) {

View File

@@ -610,6 +610,8 @@ class PenilaianController extends Controller
public function updatePermohonan($permohonan, $status, $approvalField, $message)
{
$permohonan->update([
'status' => $status,
$approvalField => Auth::user()->id,
@@ -727,8 +729,8 @@ class PenilaianController extends Controller
'tujuanPenilaian',
'nilaiPlafond',
'penilaian.userPenilai' => function ($q) {
$q->where('role', 'penilai')->with(['user', 'team.regions'])->first();
},
$q->where('role', 'penilai')->with(['user', 'team.regions']);
},
'penilai',
'approveSo',
'approveEo',

View File

@@ -1090,7 +1090,7 @@ class SurveyorController extends Controller
'address', 'village_code', 'district_code', 'city_code', 'province_code',
'nama', 'type','warna','lokasi', 'total', 'diskon', 'harga_diskon',
'sumber_data', 'harga', 'tahun','transmisi','telepon',
'kordinat_lat', 'kordinat_lng', 'tahun_pembuatan','merek_buatan','kapasitas','power','kondisi','tanggal'
'kordinat_lat', 'kordinat_lng', 'tahun_pembuatan','merek_buatan','kapasitas','power','kondisi','tanggal', 'harga_penawaran'
];
@@ -1100,7 +1100,7 @@ class SurveyorController extends Controller
'tahun', 'luas_tanah', 'luas_bangunan', 'tahun_bangunan',
'status_nara_sumber', 'harga', 'harga_diskon', 'diskon', 'total', 'nama_nara_sumber',
'peruntukan', 'penawaran', 'telepon','hak_properti',
'kordinat_lat', 'kordinat_lng', 'jenis_aset','foto_objek','tanggal'
'kordinat_lat', 'kordinat_lng', 'jenis_aset','foto_objek','tanggal', 'harga_penawaran'
];
}
@@ -1113,7 +1113,7 @@ class SurveyorController extends Controller
if (is_array($inputValue) && isset($inputValue[$index])) {
$value = $inputValue[$index];
// Format hanya untuk harga, harga_diskon, dan total
if (in_array($field, ['harga', 'harga_diskon', 'total'])) {
if (in_array($field, ['harga', 'harga_diskon', 'total', 'harga_penawaran'])) {
$value = preg_replace('/[^0-9]/', '', $value); // Hapus karakter non-angka
}
$pembanding[$field] = $value;
@@ -1155,7 +1155,7 @@ class SurveyorController extends Controller
'address', 'village_code', 'district_code', 'city_code', 'province_code',
'luas_tanah', 'luas_tanah_bagunan', 'total', 'diskon', 'harga_diskon',
'status_nara_sumber', 'harga', 'nama_nara_sumber','hak_properti','telepon',
'kordinat_lat', 'kordinat_lng', 'jenis_aset','penawaran', 'tanggal',
'kordinat_lat', 'kordinat_lng', 'jenis_aset','penawaran', 'tanggal','harga_penawaran'
];
$inspeksi = Inspeksi::where('permohonan_id', $request->input('permohonan_id'))

View File

@@ -33,9 +33,9 @@ class Authorization extends Model
];
protected $casts = [
'approve_so' => 'boolean',
'approve_eo' => 'boolean',
'approve_dd' => 'boolean',
// 'approve_so' => 'boolean',
// 'approve_eo' => 'boolean',
// 'approve_dd' => 'boolean',
'approve_so_at' => 'datetime',
'approve_eo_at' => 'datetime',
'approve_dd_at' => 'datetime',

View File

@@ -11,6 +11,7 @@
{
protected $table = 'permohonan';
protected $fillable = [
'id',
'nomor_registrasi',
'tanggal_permohonan',
'user_id',

View File

@@ -1,6 +1,6 @@
@if (!isset($status))
<div class="card border border-agi-100 {{ isset($hidePermohonan) ? 'hidden' : '' }}">
<div class="card-header bg-agi-50" id="advanced_settings_appearance">
<div class="card-header light:bg-agi-50" id="advanced_settings_appearance">
@php
$title = $title ?? 'Data Permohonan';
@endphp
@@ -81,7 +81,7 @@
</div>
<div class="card border border-agi-100 min-w-full">
<div class="card-header bg-agi-50">
<div class="card-header light:bg-agi-50">
<h3 class="card-title">
Detail Debitur
</h3>
@@ -92,7 +92,7 @@
<table class="table align-middle text-sm text-gray-500">
<tr>
<td class="py-2 text-gray-600 font-normal">
Name
Nama
</td>
<td class="py-2 text-gray-800 font-normaltext-sm">
{{ $permohonan->debiture->name ?? '' }}
@@ -108,7 +108,7 @@
</tr>
<tr>
<td class="py-3">
Phone
No Hp
</td>
<td class="py-3 text-gray-700 text-2sm font-normal">
{{ $permohonan->debiture->phone ?? '' }}
@@ -117,7 +117,7 @@
<tr>
<td class="py-3 text-gray-600 font-normal">
Address
Alamat
</td>
<td class="py-3 text-gray-700 text-sm font-normal">
{{ $permohonan->debiture->address ?? '' }}
@@ -178,7 +178,7 @@
</div>
<div class="card border border-agi-100 min-w-full">
<div class="card-header bg-agi-50">
<div class="card-header light:bg-agi-50">
<h3 class="card-title">
Data Jaminan
</h3>
@@ -233,7 +233,7 @@
</div>
<div class="mb-5">
<h3 class="text-md font-medium text-gray-900">
Alamat Pemilik Jaminan:
Alamat Jaminan:
</h3>
<span class="text-2sm text-gray-700">
{{ $dokumen->pemilik->address ?? '' }},

View File

@@ -1,5 +1,5 @@
<div class="card border border-agi-100 min-w-full">
<div class="card-header bg-agi-50">
<div class="card-header light:bg-agi-50">
<h3 class="card-title">
Activity
</h3>

View File

@@ -8,7 +8,7 @@
<div class="grid">
<div class="card border border-agi-100 card-grid min-w-full" data-datatable="false" data-datatable-page-size="10" data-datatable-state-save="false"
id="pembayaran-table" data-api-url="{{ route('pembayaran.approval.datatables') }}">
<div class="card-header bg-agi-50 py-5 flex-wrap">
<div class="card-header light:bg-agi-50 py-5 flex-wrap">
<h3 class="card-title">
Daftar Pembayaran
</h3>
@@ -348,11 +348,12 @@
if (!permohonan.approve_bayar_by) {
iconPembayaranOtorisator = `<a class="btn btn-sm btn-icon btn-clear btn-primary " onclick="handlePembayaran(${permohonan.id},'otorisator')">
<i class="ki-filled ki-double-check"></i>
</a>`;
}else{
iconPembayaranOtorisator = `<a class="btn btn-sm btn-icon btn-clear btn-primary " onclick="handlePembayaran(${permohonan.id}, 'revisi')">
</a>
<a class="btn btn-sm btn-icon btn-clear btn-primary " onclick="handlePembayaran(${permohonan.id}, 'revisi')">
<i class="ki-filled ki-arrow-circle-left"></i>
</a>`;
</a>
`;
}
return `<div class="flex flex-nowrap justify-center">` + iconPembayaranOtorisator + `</div>`;

View File

@@ -15,12 +15,13 @@
'jenis_aset' => 'Jenis properti',
'hak_properti' => 'Status Hak Tanah',
'address' => 'Alamat Lokasi',
'harga' => 'Harga Penawaran',
'harga_penawaran' => 'Harga Penawaran',
'harga_diskon' => 'Indikasi Harga Transaksi',
'telepon' => 'Penjual (HP)',
'penawaran' => 'Ditawarkan Sejak',
'luas_tanah' => 'Luas Tanah',
'luas_bangunan' => 'Luas Bangunan',
'tanggal' => 'Tanggal Data',
'kordinat' => 'Titik Kordinat',
];
@endphp

View File

@@ -426,21 +426,21 @@
@if (Auth::user()->hasAnyRole(['senior-officer', 'surveyor', 'administrator']))
<button type="button" class="btn btn-primary" onclick="saveResume()">
<i class="ki-filled ki-save-2"></i>
Save</button>
Simpan</button>
@endif
@if (Auth::user()->hasAnyRole(['senior-officer', 'EO Appraisal', 'DD Appraisal', 'administrator']))
<a class="btn btn-info"
href="{{ route('penilai.lampiran') }}?permohonanId={{ request('permohonanId') }}&documentId={{ request('documentId') }}&inspeksiId={{ request('inspeksiId') }}&jaminanId={{ request('jaminanId') }}&statusLpj=1">
LAMPIRAN FOTO DAN DOKUMEN
Lampiran Foto dan Dokument
</a>
<a href="{{ route('surveyor.print_out_inspeksi', ['permohonan_id' => $permohonan->id, 'dokument_id' => request('documentId'), 'jenis_jaminan_id' => request('jaminanId')]) }}"
class="btn btn-light">
<i class="ki-filled ki-printer"></i> Hasil Inspeksi
<i class="ki-filled ki-printer"></i>Cetak Hasil Inspeksi
</a>
<a class="btn btn-success"
onclick="checkLaporan('{{ $permohonan->id }}', '{{ request('documentId') }}', '{{ request('inspeksiId') }}', {{ request('jaminanId') }}, )">
<i class="ki-filled ki-printer"></i> Print
<i class="ki-filled ki-printer"></i> Cetak Laporan
</a>
@endif
</div>

View File

@@ -8,7 +8,7 @@
@include('lpj::assetsku.includenya')
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
<div class="card border border-agi-100 pb-2.5">
<div class="card-header bg-agi-50" id="basic_settings">
<div class="card-header light:light:bg-agi-50" id="basic_settings">
<h3 class="card-title">
Detail Penilaian
</h3>
@@ -111,7 +111,7 @@
@foreach ($permohonan->documents as $dokumen)
<div class="card">
<div class="card border border-agi-100">
<div class="card-body grid gap-5">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
@php
@@ -219,19 +219,19 @@
<div class="flex gap-5">
<a class="btn btn-primary"
href="{{ route('penilai.lampiran') }}?permohonanId={{ $permohonan->id }}&documentId={{ $dokumen->id }}&inspeksiId={{ $inspeksiId }}&jaminanId={{ $dokumen->jenis_jaminan_id }}">
LAMPIRAN FOTO DAN DOKUMEN
Lampiran Foto dan Dokument
</a>
@if (strtolower($permohonan->tujuanPenilaian->name) != 'rap')
<a class="btn btn-primary" data-modal-toggle="#modal_2">
KERTAS KERJA
Kertas Kerja
</a>
@endif
<a class="btn btn-primary" onclick="paparan({{ $permohonan->id }})">
PAPARAN
Paparan
</a>
<div class="dropdown" data-dropdown="true" data-dropdown-trigger="click">
<button class="dropdown-toggle btn btn-primary uppercase">
<button class="dropdown-toggle btn btn-primary ">
Pembuatan Laporan
</button>
@@ -322,13 +322,13 @@
<a class="btn btn-outline btn-info "
onclick="checkLaporan('{{ $permohonan->id }}', '{{ $dokumen->id }}', '{{ $inspeksiId }}', {{ $dokumen->jenis_jaminan_id }}, 1 )">
<i class="ki-filled ki-eye"></i>
PREVIEW
Lihat Laporan
</a>
<a class="btn btn-success"
onclick="checkLaporan('{{ $permohonan->id }}', '{{ $dokumen->id }}', '{{ $inspeksiId }}', {{ $dokumen->jenis_jaminan_id }}, 0 )">
<i class="ki-filled ki-printer"></i>
PRINT OUT
Cetak Laporan
</a>
</div>
</div>

View File

@@ -108,6 +108,47 @@
</div>
</div>
@endif
@if ($permohonan->authorization->approve_so && $dataHeader == 'paparan' )
<div class="card border border-agi-100 pb-2.5">
<div class="card-header bg-agi-50" id="basic_settings">
<h3 class="card-title">
Approval
</h3>
</div>
<div class="card-body">
<table class="table table-border">
<tbody>
<tr>
<td>Diperiksa Oleh</td>
<td>{{ getUser($permohonan->authorization->approve_so)->name ?? 'N/A' }}</td>
<td>{{ $permohonan->authorization->approve_so_at ? formatTanggalIndonesia($permohonan->authorization->approve_so_at, 1) : 'N/A' }}
</td>
</tr>
@if ($permohonan->authorization->approve_eo != null)
<tr>
<td>Disetujui Oleh (EO)</td>
<td>{{ getUser($permohonan->authorization->approve_eo)->name ?? 'N/A' }}</td>
<td>{{ $permohonan->authorization->approve_eo_at ? formatTanggalIndonesia($permohonan->authorization->approve_eo_at, 1) : 'N/A' }}
</td>
</tr>
@endif
@if (in_array($permohonan->nilai_plafond_id, [1, 2, 4]) && $permohonan->approve_dd != null)
<tr>
<td>Disetujui Oleh (DD)</td>
<td>{{ getUser($permohonan->authorization->approve_dd)->name ?? 'N/A' }}</td>
<td>{{ $permohonan->authorization->approve_dd_at ? formatTanggalIndonesia($permohonan->authorization->approve_dd_at, 1) : 'N/A' }}
</td>
</tr>
@endif
</tbody>
</table>
</div>
</div>
@endif
<div>
<div>
<div class="flex gap-2.5">

View File

@@ -75,7 +75,7 @@
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="tanggal_paparan">
<span class="sort"> <span class="sort-label"> Tanggal Paparan </span>
<span class="sort"> <span class="sort-label">Keterangan/Tanggal Paparan </span>
<span class="sort-icon"> </span> </span>
</th>
<th class="min-w-[150px]" data-datatable-column="approval_so">
@@ -240,7 +240,7 @@
title: 'Tanggal Paparan',
render: (item, data) => {
if(data.tanggal_paparan) {
return `${window.formatTanggalIndonesia(data.tanggal_paparan)}`;
return ` ${data?.keterangan} | ${window.formatTanggalIndonesia(data.tanggal_paparan)}`;
}
return "-";
@@ -258,8 +258,8 @@
approval_eo: {
title: 'Approval EO',
render: (item, data) => {
if (data.approve_eo) {
return `${data.approve_eo.name} | ${window.formatTanggalIndonesia(data.approval_eo_at)}`;
if (data?.authorization?.approve_eo) {
return `${data?.authorization?.approve_eo.name} | ${window.formatTanggalIndonesia(data.approval_eo_at)}`;
}
return '';
},

View File

@@ -1,5 +1,5 @@
<div class="card border border-agi-100 w-full rounded-lg shadow-md overflow-hidden">
<div class="card-header bg-agi-50">
<div class="card-header light:bg-agi-50">
<h3 class="card-title uppercase">
Analisa Bangunan
</h3>

View File

@@ -79,16 +79,18 @@
let columnCount = 1;
// Fungsi calculate prices yang diperbaiki
function calculatePrices(type = 'main', index = null) {
let hargaInput, diskonInput, totalInput, hargaDiskonInput;
let hargaInput, diskonInput, totalInput, hargaDiskonInput, hargaPenawaranInput;
// Tentukan input berdasarkan tipe (main atau pembanding)
if (type === 'main') {
hargaPenawaranInput = document.querySelector('input[name="harga_penawaran"]');
hargaInput = document.querySelector('input[name="harga"]');
diskonInput = document.querySelector('input[name="diskon"]');
totalInput = document.querySelector('input[name="total"]');
hargaDiskonInput = document.querySelector('input[name="harga_diskon"]');
} else {
// Untuk pembanding, gunakan array input dengan index
const hargaPenawarans = document.getElementsByName('harga_penawaran_pembanding[]');
const hargaInputs = document.getElementsByName('harga_pembanding[]');
const diskonInputs = document.getElementsByName('diskon_pembanding[]');
const totalInputs = document.getElementsByName('total_pembanding[]');
@@ -96,6 +98,7 @@
// Pastikan index valid
if (index !== null && index < hargaInputs.length) {
hargaPenawaranInput = hargaPenawarans[index]
hargaInput = hargaInputs[index];
diskonInput = diskonInputs[index];
totalInput = totalInputs[index];
@@ -106,11 +109,12 @@
}
// Validasi input
if (!hargaInput || !diskonInput || !totalInput || !hargaDiskonInput) {
if (!hargaPenawaranInput || !hargaInput || !diskonInput || !totalInput || !hargaDiskonInput) {
return;
}
// Ambil nilai numerik dari input
const hargaPenawaran = parseFloat(hargaPenawaranInput.value.replace(/[^\d]/g, '') || '0');
const harga = parseFloat(hargaInput.value.replace(/[^\d]/g, '') || '0');
let diskonInput_value = diskonInput.value.replace(',', '.');
let diskon = parseFloat(diskonInput_value.replace(/[^\d.]/g, '') || '0');
@@ -120,10 +124,11 @@
diskon = Math.min(diskon, 100);
const total = harga;
const hargaSetelahDiskon = harga - (harga * (diskon / 100));
const hargaPermeterSetelahDiskon = harga - (harga * (diskon / 100))
const hargaSetelahDiskon = hargaPenawaran - (hargaPenawaran * (diskon / 100));
// Update nilai dengan format currency
totalInput.value = formatCurrency(total.toString());
totalInput.value = formatCurrency(hargaPermeterSetelahDiskon.toString());
hargaDiskonInput.value = formatCurrency(hargaSetelahDiskon.toString());
}
@@ -211,7 +216,8 @@
'hak_properti_pembanding[]': currentData.hak_properti,
'telepon_pembanding[]': currentData.telepon,
'penawaran_pembanding[]': currentData.penawaran,
'tanggal_pembanding[]': currentData.tanggal
'tanggal_pembanding[]': currentData.tanggal,
'harga_penawaran_pembanding[]':currentData.harga_penawaran
};
@@ -261,11 +267,15 @@
function initializePriceCalculation() {
// Event listener untuk input utama
const mainHargaInput = document.querySelector('input[name="harga"]');
const mainHargaPenawaranInput = document.querySelector('input[name="harga_penawaran"]');
const mainDiskonInput = document.querySelector('input[name="diskon"]');
if (mainHargaInput) {
mainHargaInput.addEventListener('input', () => calculatePrices('main'));
}
if (mainHargaPenawaranInput) {
mainHargaPenawaranInput.addEventListener('input', () => calculatePrices('main'));
}
if (mainDiskonInput) {
mainDiskonInput.addEventListener('input', () => calculatePrices('main'));
@@ -273,11 +283,17 @@
// Event listener untuk input pembanding
const pembandingHargaInputs = document.getElementsByName('harga_pembanding[]');
const pembandingHargaPenawaranInput = document.getElementsByName('harga_penawaran_pembanding[]');
const pembandingDiskonInputs = document.getElementsByName('diskon_pembanding[]');
pembandingHargaInputs.forEach((input, index) => {
input.addEventListener('input', () => calculatePrices('pembanding', index));
});
pembandingHargaPenawaranInput.forEach((input, index) => {
input.addEventListener('input', () => calculatePrices('pembanding', index));
});
pembandingDiskonInputs.forEach((input, index) => {
input.addEventListener('input', () => calculatePrices('pembanding', index));

View File

@@ -1,8 +1,8 @@
{{-- analisa fakta --}}
<div class="card border border-agi-100 rounded-lg overflow-hidden">
<div class="card-header bg-agi-50">
<div class="card-header light:bg-agi-50">
<h3 class="card-title uppercase">
Analisis Fakta
Analisa Fakta
</h3>
</div>
<div class="card-body">

View File

@@ -1,5 +1,5 @@
<div class=" card w-full bg-white rounded-lg shadow-md ">
<div class="card-header bg-agi-50">
<div class=" card w-full border-agi-100 rounded-lg shadow-md ">
<div class="card-header light:bg-agi-50">
@php
$title = $title ?? 'Form Inspeksi';
@endphp
@@ -121,8 +121,8 @@
</div>
</div>
<div class="card border border-agi-100 w-full bg-white rounded-lg shadow-md overflow-hidden">
<div class="card-header bg-agi-50">
<div class="card border border-agi-100 w-full rounded-lg shadow-md overflow-hidden">
<div class="card-header light:bg-agi-50">
<h1 class="text-md font-medium text-gray-900 uppercase">Nama Cadeb/Debitur</h1>
</div>
<div class="card-body">
@@ -142,8 +142,8 @@
</div>
<div class="card border border-agi-100 w-full bg-white rounded-lg shadow-md ">
<div class="card-header bg-agi-50">
<div class="card border border-agi-100 w-full rounded-lg shadow-md ">
<div class="card-header light:bg-agi-50">
<h1 class="text-md font-medium text-gray-900 uppercase">Deskripsi Aset jaminan</h1>
</div>
<div class="card-body">
@@ -250,8 +250,8 @@
</div>
<div class="card border border-agi-100 w-full bg-white rounded-lg shadow-md overflow-hidden">
<div class="card-header bg-agi-50">
<div class="card border border-agi-100 w-full rounded-lg shadow-md overflow-hidden">
<div class="card-header light:bg-agi-50">
<h1 class="text-md font-medium text-gray-900 uppercase">Titik Koordinat Google Maps</h1>
</div>
<div class="card-body">
@@ -278,8 +278,8 @@
</div>
<div class="card">
<div class="card-header bg-agi-50">
<div class="card border border-agi-100 w-full rounded-lg shadow-md overflow-hidden">
<div class="card-header light:bg-agi-50">
<h1 class="text-md font-medium text-gray-900 uppercase">Status</h1>
</div>
<div class="card-body w-full">
@@ -307,7 +307,9 @@
@php
$hubCadebPemilik = $dokumen->pemilik->hubungan_pemilik->name ?? 'N/A';
@endphp
{{ $hubCadebPemilik }}
<p>
{{ $hubCadebPemilik }}
</p>
<input type="hidden" name="hub_cadeb_sesuai" value="{{ $hubCadebPemilik }}"
id="">
@@ -361,7 +363,7 @@
</div>
<div class=" mx-auto bg-white rounded-lg overflow-hidden">
<div class=" mx-auto rounded-lg overflow-hidden">
<div class="py-4 ">
<h1 class="text-md font-medium text-gray-900">Hubungan Cadeb/Debitur dengan Penghuni Jaminan</h1>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">

View File

@@ -1,6 +1,6 @@
<!-- Informasi Tata Ruang -->
<div class="card border border-agi-100 w-full ">
<div class="card-header bg-agi-50">
<div class="card-header light:bg-agi-50">
<h3 class="card-title uppercase">
@if (strtolower($permohonan->tujuanPenilaian->name) == 'rap')
ATURAN TATA KOTA

View File

@@ -47,7 +47,7 @@
@endforeach
@endif
<div class="card border border-agi-100 w-full rounded-lg shadow-md overflow-hidden">
<div class="card-header bg-agi-50">
<div class="card-header light:bg-agi-50">
<h3 class="card-title uppercase">
Tanda Tangan
</h3>
@@ -68,12 +68,12 @@
<div class="flex justify-end gap-2" style="margin-right: 20px; margin-top: 20px">
<button type="button" class="btn btn-primary" id="saveButton" onclick="submitData()">
<i class="ki-filled ki-save-2"></i>
<span id="saveButtonText">Save</span>
<span id="saveButtonText">Simpan</span>
</button>
<a href="{{ route('surveyor.print_out_inspeksi', ['permohonan_id' => $permohonan->id, 'dokument_id' => request('dokument'), 'jenis_jaminan_id' => request('jenis_jaminan')]) }}"
class="btn btn-info" id="saveButton">
<i class="ki-filled ki-printer"></i>
<span>Print Out</span>
<span>Cetak Form Inspeksi</span>
</a>
</div>

View File

@@ -1,5 +1,5 @@
<div class="card border border-agi-100 w-full rounded-lg shadow-md overflow-hidden">
<div class="card-header bg-agi-50">
<div class="card-header light:bg-agi-50">
<h3 class="card-title uppercase">
Analisa Lingkungan
</h3>

View File

@@ -188,12 +188,23 @@
</td>
</tr>
<tr>
<td class="px-4 py-2">Harga Penawaran/ Transaksi(Rp)</td>
<td class="px-4 py-2">
<input type="text" name="harga_penawaran" class="input currency-format"
value="{{ $inspectionData['asset']['harga_penawaran'] ?? '' }}">
</td>
<td class="px-4 py-2">
<input type="text" name="harga_penawaran_pembanding[]" class="input currency-format">
</td>
</tr>
<tr>
<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'] ?? '' }}">
value="{{ $inspectionData['asset']['telepon'] ?? $permohonan->debiture->phone ?? '' }}">
</td>
<td class="px-4 py-2">
<input type="text" name="telepon_pembanding[]" class="input">
@@ -204,7 +215,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'] ?? '' }}">
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">
@@ -214,7 +225,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'] ?? '' }}">
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">
@@ -437,14 +448,14 @@
</td>
</tr>
<tr style="display: none;">
<td class="px-4 py-2">Total</td>
<tr style="">
<td class="px-4 py-2"></td>
<td class="px-4 py-2">
<input type="text" name="total" class="input currency"
value="{{ $inspectionData['asset']['total'] ?? '' }}">
value="{{ $inspectionData['asset']['total'] ?? '' }}" readonly>
</td>
<td class="px-4 py-2">
<input type="text" name="total_pembanding[]" class="input currency-format">
<input type="text" name="total_pembanding[]" class="input currency-format" readonly>
</td>
</tr>
<tr>

View File

@@ -542,23 +542,19 @@
<tr>
@php
$hubCadebPenghuni = $forminspeksi['asset']['hub_cadeb_penghuni'] ?? null;
$cekHub = $hubCadebPenghuni === 'sesuai' ? 'sesuai' : 'tidak sesuai';
$hubCadeb =
is_array($hubCadebPenghuni) && isset($hubCadebPenghuni[$cekHub])
? $hubCadebPenghuni[$cekHub]
: $hubCadebPenghuni[$cekHub] ?? null;
$statusKey = isset($forminspeksi['asset']['hub_cadeb_penghuni']['sesuai'])
? 'sesuai'
: 'tidak sesuai';
$selectedData = $forminspeksi['asset']['hub_cadeb_penghuni'][$statusKey] ?? null;
@endphp
<td><strong>Hubungan Penghuni Jaminan dengan Debitur</strong></td>
<td>
@if (isset($basicData['hubPenghuni']))
@if (isset($selectedData))
<table class="checkbox-table">
<tr>
<td>
{{ $hubCadeb ?? '' }}
{{ $selectedData ?? '' }}
</td>
</tr>
</table>

View File

@@ -126,7 +126,7 @@
<input type="radio" name="tusuk_sate" value="Ya"
{{ isset($forminspeksi['tanah']['tusuk_sate']['Ya']) && $forminspeksi['tanah']['tusuk_sate']['Ya'] ? 'checked' : '' }}>
Ya
@if (isset($forminspeksi['tanah']['tusuk_sate']) && $forminspeksi['tanah']['tusuk_sate']['Ya'])
@if (isset($forminspeksi['tanah']['tusuk_sate']['Ya']) && $forminspeksi['tanah']['tusuk_sate']['Ya'])
{{ isset($forminspeksi['tanah']['tusuk_sate']['Ya']) ? ' (' . $forminspeksi['tanah']['tusuk_sate']['Ya'] . ')' : '' }}
@endif
</label>

View File

@@ -1,5 +1,5 @@
<div class="card border border-agi-100 w-full rounded-lg shadow-md overflow-hidden">
<div class="card-header bg-agi-50">
<div class="card-header light:bg-agi-50">
<h3 class="card-title uppercase">
Analisa Tanah
</h3>

View File

@@ -24,7 +24,7 @@
@if ($permohonan->status == 'revisi-survey')
<div class="card border border-agi-100 min-w-full">
<div class="card-header bg-agi-50" id="basic_settings">
<div class="card-header light:bg-agi-50" id="basic_settings">
<div class="card-title flex flex-row gap-1.5">
Catatan Revisi
</div>
@@ -38,7 +38,7 @@
<div class="card border border-agi-100 min-w-full">
<div class="card-header bg-agi-50" id="basic_settings">
<div class="card-header light:bg-agi-50" id="basic_settings">
<div class="card-title flex flex-row gap-1.5">
Form Jaminan
</div>

View File

@@ -7,7 +7,7 @@
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
<div class="card border border-agi-100 card-grid min-w-full" data-datatable="false" data-datatable-page-size="10"
data-datatable-state-save="false" id="permohonan-table" data-api-url="{{ route('surveyor.datatables') }}">
<div class="card-header bg-agi-50 py-5 flex-wrap">
<div class="card-header light:bg-agi-50 py-5 flex-wrap">
<h3 class="card-title">
Surveyor
</h3>