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:
@@ -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>
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user