From 886e75da821e59ae165e330cde894f523933a446 Mon Sep 17 00:00:00 2001 From: majid Date: Mon, 23 Dec 2024 16:27:49 +0700 Subject: [PATCH] update print out --- app/Http/Controllers/PenilaiController.php | 166 +++-- app/Http/Controllers/SurveyorController.php | 15 +- app/Http/Requests/FormSurveyorRequest.php | 3 +- app/Models/SpekBangunan.php | 2 +- .../penilai/components/print-out.blade.php | 679 ++++++++++++++++++ resources/views/penilai/show.blade.php | 2 +- .../surveyor/components/bangunan.blade.php | 55 +- .../components/data-pembanding.blade.php | 13 +- .../views/surveyor/components/foto.blade.php | 16 +- .../surveyor/components/inspeksi.blade.php | 3 + resources/views/surveyor/data/form.blade.php | 19 +- resources/views/surveyor/data/index.blade.php | 15 + resources/views/surveyor/js/utils.blade.php | 38 +- routes/web.php | 1 + 14 files changed, 896 insertions(+), 131 deletions(-) create mode 100644 resources/views/penilai/components/print-out.blade.php diff --git a/app/Http/Controllers/PenilaiController.php b/app/Http/Controllers/PenilaiController.php index d368d80..ece6ab7 100644 --- a/app/Http/Controllers/PenilaiController.php +++ b/app/Http/Controllers/PenilaiController.php @@ -3,6 +3,7 @@ namespace Modules\Lpj\Http\Controllers; use Illuminate\Http\Request; +use Barryvdh\DomPDF\Facade\Pdf; // https://github.com/barryvdh/laravel-dompdf use Modules\Lpj\Models\Permohonan; use Modules\Lpj\Models\Inspeksi; use Modules\Lpj\Models\Penilai; @@ -12,7 +13,6 @@ use Maatwebsite\Excel\Facades\Excel; use Modules\Lpj\Exports\KertasKerjaExport; use Modules\Lpj\Http\Controllers\SurveyorController; use Modules\Location\Models\Province; - class PenilaiController extends Controller { public $user; @@ -195,8 +195,7 @@ class PenilaiController extends Controller $permohonan = $this->surveyorController->getPermohonanJaminanId($permohonanId, $documentId, $jaminanId); $penilai = Penilai::where('permohonan_id', $permohonanId)->where('dokument_id', $documentId)->first(); - $inspeksi = Inspeksi::where('permohonan_id', $permohonanId)->where - ('dokument_id', $documentId)->first(); + $inspeksi = Inspeksi::where('permohonan_id', $permohonanId)->where('dokument_id', $documentId)->first(); $formFoto = null; if ($inspeksi) { $formFoto = json_decode($inspeksi->foto_form, true); @@ -299,74 +298,74 @@ class PenilaiController extends Controller } public function export_kertas_kerja(Request $request) -{ - $permohonanId = $request->query('permohonanId'); - $documentId = $request->query('documentId'); + { + $permohonanId = $request->query('permohonanId'); + $documentId = $request->query('documentId'); - // Fetch the data from the database - $data = Inspeksi::where('permohonan_id', $permohonanId) - ->where('dokument_id', $documentId) - ->first(); + // Fetch the data from the database + $data = Inspeksi::where('permohonan_id', $permohonanId) + ->where('dokument_id', $documentId) + ->first(); - // Check if data exists - if (!$data) { - return response()->json(['message' => 'Data not found'], 404); - } + // Check if data exists + if (!$data) { + return response()->json(['message' => 'Data not found'], 404); + } - // Decode the JSON fields - $dataForm = json_decode($data->data_form, true); - $fotoForm = json_decode($data->foto_form, true); - $denahForm = json_decode($data->denah_form, true); - $dataPembanding = json_decode($data->data_pembanding, true); + // Decode the JSON fields + $dataForm = json_decode($data->data_form, true); + $fotoForm = json_decode($data->foto_form, true); + $denahForm = json_decode($data->denah_form, true); + $dataPembanding = json_decode($data->data_pembanding, true); - // Prepare the data for export - $exportData = [ - 'objek' => [ - 'jenis_aset' => $dataForm['asset']['jenis_asset']['sesuai'] ?? '', - 'luas_tanah' => $dataForm['tanah']['luas_tanah']['tidak sesuai'] ?? '', - 'harga' => $dataForm['asset']['harga'] ?? '', - 'tanggal_penawaran' => $dataForm['tanggal_penawaran'] ?? '', - 'diskon' => $dataForm['diskon'] ?? '', - 'no_telepon' => $dataForm['no_telepon'] ?? '', - 'nama_nara_sumber' => $dataForm['nama_nara_sumber'] ?? '', - 'status_nara_sumber' => $dataForm['status_nara_sumber'] ?? '', - 'alamat' => $dataForm['alamat'] ?? '', - // Add other fields as necessary - ], - 'pembanding1' => [], - 'pembanding2' => [], - 'pembanding3' => [], - 'foto_peta' => [ - 'foto_tempat' => $dataForm['foto_tempat'] ?? [], - 'foto_gistaru' => $dataForm['foto_gistaru'] ?? [], - 'foto_bhumi' => $dataForm['foto_bhumi'] ?? [], - 'foto_argis_region' => $dataForm['foto_argis_region'] ?? [], - ], - 'foto_objek' => $fotoForm['object_jaminan'] ?? [], - 'foto_objek1' => [], // Populate with relevant data - 'foto_objek2' => [], // Populate with relevant data - 'tanggal_penilaian' => $data->tanggal_penilaian ?? '', - 'nama_pemilik' => $data->nama_pemilik ?? '', - 'lokasi_lengkap' => $data->lokasi_lengkap ?? '', - ]; + // Prepare the data for export + $exportData = [ + 'objek' => [ + 'jenis_aset' => $dataForm['asset']['jenis_asset']['sesuai'] ?? '', + 'luas_tanah' => $dataForm['tanah']['luas_tanah']['tidak sesuai'] ?? '', + 'harga' => $dataForm['asset']['harga'] ?? '', + 'tanggal_penawaran' => $dataForm['tanggal_penawaran'] ?? '', + 'diskon' => $dataForm['diskon'] ?? '', + 'no_telepon' => $dataForm['no_telepon'] ?? '', + 'nama_nara_sumber' => $dataForm['nama_nara_sumber'] ?? '', + 'status_nara_sumber' => $dataForm['status_nara_sumber'] ?? '', + 'alamat' => $dataForm['alamat'] ?? '', + // Add other fields as necessary + ], + 'pembanding1' => [], + 'pembanding2' => [], + 'pembanding3' => [], + 'foto_peta' => [ + 'foto_tempat' => $dataForm['foto_tempat'] ?? [], + 'foto_gistaru' => $dataForm['foto_gistaru'] ?? [], + 'foto_bhumi' => $dataForm['foto_bhumi'] ?? [], + 'foto_argis_region' => $dataForm['foto_argis_region'] ?? [], + ], + 'foto_objek' => $fotoForm['object_jaminan'] ?? [], + 'foto_objek1' => [], // Populate with relevant data + 'foto_objek2' => [], // Populate with relevant data + 'tanggal_penilaian' => $data->tanggal_penilaian ?? '', + 'nama_pemilik' => $data->nama_pemilik ?? '', + 'lokasi_lengkap' => $data->lokasi_lengkap ?? '', + ]; - // Extract data pembanding - if (isset($dataPembanding['data_pembanding'])) { - foreach ($dataPembanding['data_pembanding'] as $index => $pembanding) { - if ($index == 0) { - $exportData['pembanding1'] = $pembanding; - } elseif ($index == 1) { - $exportData['pembanding2'] = $pembanding; - } elseif ($index == 2) { - $exportData['pembanding3'] = $pembanding; + // Extract data pembanding + if (isset($dataPembanding['data_pembanding'])) { + foreach ($dataPembanding['data_pembanding'] as $index => $pembanding) { + if ($index == 0) { + $exportData['pembanding1'] = $pembanding; + } elseif ($index == 1) { + $exportData['pembanding2'] = $pembanding; + } elseif ($index == 2) { + $exportData['pembanding3'] = $pembanding; + } } } - } - // Now create the export - // return response()->json([ 'data' => $fotoForm]); - return Excel::download(new KertasKerjaExport($exportData), 'kertas-kerja.xlsx'); -} + // Now create the export + // return response()->json([ 'data' => $fotoForm]); + return Excel::download(new KertasKerjaExport($exportData), 'kertas-kerja.xlsx'); + } @@ -577,7 +576,48 @@ class PenilaiController extends Controller } + public function print_out(Request $request) + { + $documentId = $request->query('documentId'); + $jaminanId = $request->query('jaminanId'); + $permohonanId = $request->query('permohonanId'); + + $permohonan = $this->surveyorController->getPermohonanJaminanId($permohonanId, $documentId, $jaminanId); + $basicData = $this->surveyorController->getCommonData(); + + $inspeksi = Inspeksi::where('permohonan_id', $permohonanId)->where('dokument_id', $documentId)->first(); + $lpj = Penilai::where('permohonan_id', $permohonanId)->where('dokument_id', $documentId)->first(); + + $forminspeksi = null; + $lpjData = null; + $formFoto = null; + + if ($inspeksi) { + $forminspeksi = json_decode($inspeksi->data_form, true); + + $formFoto = json_decode($inspeksi->foto_form, true); + // $denahForm = json_decode($data->denah_form, true); + } + + if ($lpj) { + $lpjData = json_decode($lpj->lpj, true); + } + $pdf =Pdf::loadView('lpj::penilai.components.print-out', compact( + 'permohonan', + 'forminspeksi', + 'lpjData', + 'formFoto', + 'basicData', + 'inspeksi', + 'lpj' + )); + + $pdf->setPaper('A4', 'portrait'); + + return $pdf->download('laporan.pdf'); + + } } diff --git a/app/Http/Controllers/SurveyorController.php b/app/Http/Controllers/SurveyorController.php index 115c41f..cdf6f97 100644 --- a/app/Http/Controllers/SurveyorController.php +++ b/app/Http/Controllers/SurveyorController.php @@ -68,6 +68,7 @@ use Modules\Lpj\Models\HubunganPenghuniJaminan; use Modules\Lpj\Models\AnalisaUnit; use Modules\Lpj\Models\GolonganMasySekitar; use Modules\Lpj\Models\TingkatKeramaian; +use Modules\Lpj\Models\TujuanPenilaian; use Modules\Lpj\Models\LaluLintasLokasi; use Modules\Lpj\Models\SpekBagunanAnalisaDetail; use Modules\Lpj\Http\Requests\SurveyorRequest; @@ -787,9 +788,13 @@ class SurveyorController extends Controller } // Fields lainnya dalam asset else { + if (!isset($dataForm['asset'][$field])) { + $dataForm['asset'][$field] = []; + } $dataForm['asset'][$field] = $newValue; } + $needsSave = true; } } @@ -1526,7 +1531,13 @@ class SurveyorController extends Controller $filteredRecords = $query->count(); // Get the data for the current page - $data = $query->get(); + + if ($type == 'Spek Bangunan') { + $data = $query->with(['bangunanKategori'])->get(); + }else{ + $data = $query->get(); + } + // Calculate the page count $pageCount = ceil($totalRecords / $request->get('size')); @@ -1534,6 +1545,7 @@ class SurveyorController extends Controller // Calculate the current page number $currentPage = 0 + 1; + // Return the response data as a JSON object return response()->json([ 'draw' => $request->get('draw'), @@ -1663,6 +1675,7 @@ class SurveyorController extends Controller 'hubPenghuni' => HubunganPenghuniJaminan::all(), 'perkerasanJalan' => PerkerasanJalan::all(), 'terletakDiArea' => TerletakArea::all(), + 'tujuanPenilaian' => TujuanPenilaian::all() ]; } diff --git a/app/Http/Requests/FormSurveyorRequest.php b/app/Http/Requests/FormSurveyorRequest.php index fe19acf..701fb3a 100644 --- a/app/Http/Requests/FormSurveyorRequest.php +++ b/app/Http/Requests/FormSurveyorRequest.php @@ -110,8 +110,7 @@ class FormSurveyorRequest extends FormRequest 'nama_bangunan.*' => 'required|string|max:255', 'spek_kategori_bangunan.*' => 'nullable|string', - 'spek_bangunan.*.*' => 'array', - 'spek_bangunan.*.*.*' => 'string', + 'spek_bangunan.*.*.lainnya' => 'nullable|string', 'sarana_pelengkap' => 'required', 'sarana_pelengkap_input' => 'nullable|array', diff --git a/app/Models/SpekBangunan.php b/app/Models/SpekBangunan.php index c471440..39ca9c1 100644 --- a/app/Models/SpekBangunan.php +++ b/app/Models/SpekBangunan.php @@ -20,7 +20,7 @@ class SpekBangunan extends Model public function bangunanKategori(){ - return $this->belongsTo(SpekKategoriBangunan::class, 'spek_kategori_bangunan_id'); + return $this->belongsTo(SpekKategoritBangunan::class, 'spek_kategori_bangunan_id'); } protected static function newFactory(): SpekBangunanFactory diff --git a/resources/views/penilai/components/print-out.blade.php b/resources/views/penilai/components/print-out.blade.php new file mode 100644 index 0000000..a9783c3 --- /dev/null +++ b/resources/views/penilai/components/print-out.blade.php @@ -0,0 +1,679 @@ + + + + + + + + Laporan Penilai jaminan + + + + +
+
+
LAPORAN PENILAIAN ATAS TANAH DAN/ATAU BANGUNAN
+

NO:

+
+ +
+
+
+ A +
+
+ TUJUAN PENILAIAN +
+
+
    +
  • +
    +
    Permintaan (A/O)
    +
    ACHMAD DENI DARURI +
    +
    Jenis Fasilitas
    +
    Bambu Apus
    +
    +
  • +
  • +
    + +
    Tanggal
    +
    Bambu Apus
    +
    Kunjungan Tanggal
    +
    Bambu Apus
    + +
    +
  • +
+ + + @if (isset($basicData['tujuanPenilaian'])) +
    + @foreach ($basicData['tujuanPenilaian'] as $item) +
  • {{ $item->name }}
  • + @endforeach +
+ @endif + +
+ + +
+
+
+ B +
+
+ IDENTITAS DEBITUR +
+
+
+
Nama Debitur
+
ACHMAD DENI DARURI +
+
Alamat dan Telepon
+
Bambu Apus
+
Saat menilai, penilai didampingi oleh
+
+
+
Debitur / Wakil Debitur
+
ACHMAD DENI DARURI +
+
Pihak Bank selain PJ
+
Bambu Apus
+
+
+ +
+
+ +
+
+
+ C +
+
+ JENIS JAMINAN +
+
+ @if (isset($basicData['jenisJaminan'])) +
    + @foreach ($basicData['jenisJaminan'] as $item) +
  • {{ $item->name }}
  • + @endforeach +
+ @endif +
+ + +
+
+
+ D +
+
+ LOKASI JAMINAN +
+
+
+
Terletak di
+
Perumahan Villa Pamulang Mas, Jalan Palem Mas III Blok C3/5
+
Kelurahan
+
Bambu Apus
+
Kecamatan
+
Pamulang
+
Kotamadya
+
Tangerang Selatan
+
Propinsi
+
Banten
+
+
+ +
+
+
+ E +
+
+ STATUS KEPEMILIKAN, HUBUNGAN DAN PENGHUNI +
+
+
+
SHM No/Kelurahan/Desa
+
Perumahan Villa Pamulang Mas, Jalan Palem Mas III Blok C3/5
+
Tanggal
+
Bambu Apus
+
Atas Nama
+
Pamulang
+
Gambar Situasi No/Tanggal
+
Tangerang Selatan
+
Luas Tanah /m2
+
Banten
+
IMB No/Tanggal
+
Banten
+
Hubungan Pemilik Jaminan dengan + Debitur
+
+ @if (isset($basicData['hubCadeb'])) +
    + @foreach ($basicData['hubCadeb'] as $item) +
  • {{ $item->name }}
  • + @endforeach +
+ @endif +
+
Hubungan Penghuni Jaminan dengan + Debitur
+
+ @if (isset($basicData['hubPenghuni'])) +
    + @foreach ($basicData['hubPenghuni'] as $item) +
  • {{ $item->name }}
  • + @endforeach +
+ @endif +
+
+
+ +
+
+
+ F +
+
+ ANALISA TANAH DAN BANGUNAN +
+
+
+
Luas Tanah
+
13
+
Bentuk Tanah
+
+ @if (isset($basicData['bentukTanah'])) +
    + @foreach ($basicData['bentukTanah'] as $item) +
  • {{ $item->name }}
  • + @endforeach +
+ @endif +
+
Kontur Tanah
+
+ @if (isset($basicData['konturTanah'])) +
    + @foreach ($basicData['konturTanah'] as $item) +
  • {{ $item->name }}
  • + @endforeach +
+ @endif +
+ +
Permukaan dengan Jalan
+
+ @if (isset($basicData['konturTanah'])) +
    + @foreach ($basicData['konturTanah'] as $item) +
  • {{ $item->name }}
  • + @endforeach +
+ @endif +
+ +
Peruntukan Tanah
+
+ @if (isset($basicData['konturTanah'])) +
    + @foreach ($basicData['konturTanah'] as $item) +
  • {{ $item->name }}
  • + @endforeach +
+ @endif +
+ +
Fisik Tanah
+
+ @if (isset($basicData['konturTanah'])) +
    + @foreach ($basicData['konturTanah'] as $item) +
  • {{ $item->name }}
  • + @endforeach +
+ @endif +
+ +
Jenis Bangunan
+
+ @if (isset($basicData['jenisBangunan'])) +
    + @foreach ($basicData['jenisBangunan'] as $item) +
  • {{ $item->name }}
  • + @endforeach +
+ @endif +
+ +
Kondisi Bangunan
+
+ @if (isset($basicData['kondisiBangunan'])) +
    + @foreach ($basicData['kondisiBangunan'] as $item) +
  • {{ $item->name }}
  • + @endforeach +
+ @endif +
+ +
Sifat Bangunan
+
+ @if (isset($basicData['sifatBangunan'])) +
    + @foreach ($basicData['sifatBangunan'] as $item) +
  • {{ $item->name }}
  • + @endforeach +
+ @endif +
+ + @foreach ($basicData['spekKategoriBangunan'] as $kategori) +
{{ $kategori->name }}
+
+ @if (isset($basicData['sifatBangunan'])) +
    + @foreach ($basicData['sifatBangunan'] as $sifat) +
  • {{ $sifat->name }}
  • + @endforeach +
+ @endif +
+ @endforeach + + +
+
+ + +
+
+
+ G +
+
+ SARANA PELENGKAP DAN LINGKUNGAN + +
+
+
+
Luas Tanah
+
13
+
Lapisan perkerasan jalan dari
+
+ @if (isset($basicData['perkerasanJalan'])) +
    + @foreach ($basicData['perkerasanJalan'] as $item) +
  • {{ $item->name }}
  • + @endforeach +
+ @endif +
+
Lalulintas didepan lokasi
+
+ @if (isset($basicData['laluLintasLokasi'])) +
    + @foreach ($basicData['laluLintasLokasi'] as $item) +
  • {{ $item->name }}
  • + @endforeach +
+ @endif +
+ +
Golongan Masyarakat sekitar
+
+ @if (isset($basicData['golMasySekitar'])) +
    + @foreach ($basicData['golMasySekitar'] as $item) +
  • {{ $item->name }}
  • + @endforeach +
+ @endif +
+ +
Terletak didaerah
+
+ @if (isset($basicData['terletakDiArea'])) +
    + @foreach ($basicData['terletakDiArea'] as $item) +
  • {{ $item->name }}
  • + @endforeach +
+ @endif +
+ +
Disekitar lokasi
+
+ @if (isset($basicData['konturTanah'])) +
    + @foreach ($basicData['konturTanah'] as $item) +
  • {{ $item->name }}
  • + @endforeach +
+ @endif +
+ +
Dengan kondisi
+
+ @if (isset($basicData['jenisBangunan'])) +
    + @foreach ($basicData['jenisBangunan'] as $item) +
  • {{ $item->name }}
  • + @endforeach +
+ @endif +
+ +
Sifat Bangunan sekitar
+
+ @if (isset($basicData['sifatBangunan'])) +
    + @foreach ($basicData['sifatBangunan'] as $item) +
  • {{ $item->name }}
  • + @endforeach +
+ @endif +
+ +
Merupakan daerah
+
+ @if (isset($basicData['merupakanDaerah'])) +
    + @foreach ($basicData['merupakanDaerah'] as $item) +
  • {{ $item->name }}
  • + @endforeach +
+ @endif +
+ +
Fasilitas umum dekat lokasi
+
+ @if (isset($basicData['fasilitasObjek'])) +
    + @foreach ($basicData['fasilitasObjek'] as $item) +
  • {{ $item->name }}
  • + @endforeach +
+ @endif +
+ + +
+
+ + +
+
+
+ H +
+
+ ASURANSI + +
+
+
    +
  • Tidak Ada
  • +
  • Ada
  • +
+
+ +
+
+
+ I +
+
+ KESIMPULAN DAN SARAN PENILAI, INFORMASI HARGA, + TOTAL NILAI JAMINAN DAN CATATAN PERLU DIPERHATIKAN +
+
+
    +
  • Permohonan Baru
  • +
  • Penilaian Ulang Jaminan / Review Tahunan
  • +
  • Penambahan Fasilitas / Jaminan
  • +
  • Penukaran Jaminan
  • +
  • KPR eks BPPN
  • +
  • Lelang
  • +
+
+ +
+
+
+ PETA LOKASI +
+
+ @php + $fotoTypes = ['foto_gistaru', 'foto_bhumi', 'foto_argis_region', 'foto_tempat']; + @endphp +
+ @if (isset($forminspeksi)) + @forelse ($fotoTypes as $type) +
+ @php + $imagePath = $forminspeksi[$type]; + @endphp + + {{ $type }} +

{{ Str::title(str_replace('_', ' ', $type)) }}

+ +
+ @empty +

Tidak ada tipe foto yang tersedia

+ @endforelse + @endif +
+
+ +
+
+
+ FOTO JAMINAN +
+
+
+ @if (isset($formFoto)) + @foreach ($formFoto['rute_menuju_lokasi'] as $item) +
+

+ {{ $item['name_rute'] . ' ' . $loop->index + 1 }} +

+ + {{ $item['foto_rute'] }} +
+ @endforeach + @endif + + @if (isset($formFoto['object_jaminan'])) + @foreach ($formFoto['object_jaminan'] as $item) +
+

+ {{ $item['name_objek'] }} +

+ + {{ $item['foto_objek'] }} +
+ @endforeach + @endif + + @if (isset($formFoto['foto_basement'])) +
+

+ Basement +

+ + {{ $formFoto['foto_basement'] }} +
+ @endif + + @if (isset($formFoto['foto_gerbang'])) +
+

+ Gerbang +

+ + {{ $formFoto['foto_gerbang'] }} +
+ @endif + @if (isset($formFoto['pendamping'])) +
+

+ Pendamping +

+ + {{ $formFoto['pendamping'] }} +
+ @endif +
+
+
+ + + + diff --git a/resources/views/penilai/show.blade.php b/resources/views/penilai/show.blade.php index 37a4a2c..0bd9160 100644 --- a/resources/views/penilai/show.blade.php +++ b/resources/views/penilai/show.blade.php @@ -258,7 +258,7 @@
- + PRINT OUT
diff --git a/resources/views/surveyor/components/bangunan.blade.php b/resources/views/surveyor/components/bangunan.blade.php index 869be66..7e7ad84 100644 --- a/resources/views/surveyor/components/bangunan.blade.php +++ b/resources/views/surveyor/components/bangunan.blade.php @@ -46,7 +46,7 @@ @endphp
+ style="{{ old('luas_tanah_bagunan_tidak_sesuai', $selectedData) ? '' : 'display: none' }}"> name, old('jenis_bangunan'))) || - (isset($forminspeksi['bangunan']['jenis_bangunan']) && + (isset($forminspeksi['bangunan']['jenis_bangunan']) && (is_array($forminspeksi['bangunan']['jenis_bangunan']) && - in_array($item->name, $forminspeksi['bangunan']['jenis_bangunan']))) - ? 'checked' : '' }} + in_array($item->name, $forminspeksi['bangunan']['jenis_bangunan']))) + ? 'checked' + : '' }} onclick="toggleCheckboxVisibility('jenis_bangunan', 'jenis_bangunan_lainnya', ['lainnya'])" /> {{ $item->name }} @@ -169,17 +170,14 @@ @if (@isset($basicData['spekKategoriBangunan'])) @foreach ($basicData['spekKategoriBangunan'] as $item)
- +
-
+
@foreach ($basicData['spekBangunan'] as $spek) @if ($spek->spek_kategori_bangunan_id == $item->id) -
- +
@endforeach @endif
- +
@endforeach @else @@ -213,13 +214,10 @@ @if (@isset($basicData['spekKategoriBangunan'])) @foreach ($basicData['spekKategoriBangunan'] as $item)
- - + +
-
+
@foreach ($basicData['spekBangunan'] as $spek) @if ($spek->spek_kategori_bangunan_id == $item->id) @endif @endforeach +
- +
@endforeach @endif
- + @endif @@ -252,10 +253,10 @@ - +
@@ -326,7 +327,7 @@ input.name = `spek_bangunan[${index}][${matches[1]}][]`; } } else { - // Handle other array inputs + // Handle lainnya array inputs input.name = input.name.replace(/\[\d*\]/, `[${index}]`); } } diff --git a/resources/views/surveyor/components/data-pembanding.blade.php b/resources/views/surveyor/components/data-pembanding.blade.php index e192f06..8cda635 100644 --- a/resources/views/surveyor/components/data-pembanding.blade.php +++ b/resources/views/surveyor/components/data-pembanding.blade.php @@ -154,7 +154,7 @@ Hak atas properti yang dialihkan + value="{{ $inspectionData['asset']['hak_properti'] ?? '' }}"> Penawaran/ Transaksi + value="{{ $inspectionData['asset']['penawaran'] ?? '' }}"> Telepon Contact Person + value="{{ $inspectionData['asset']['telepon'] ?? '' }}"> { diff --git a/resources/views/surveyor/components/foto.blade.php b/resources/views/surveyor/components/foto.blade.php index 4a15146..ce56427 100644 --- a/resources/views/surveyor/components/foto.blade.php +++ b/resources/views/surveyor/components/foto.blade.php @@ -386,14 +386,15 @@
- + alt="Foto Lantai" class="mt-2 h-auto" + style="{{ old('foto_lantai_unit', $item['foto_lantai_unit']) ? 'display: block;' : 'display: none;' }} width: 30rem;"> +
- + Foto Lantai +
+ const datas = @json($forminspeksi); + console.log(datas); + function updateAlamatFields(status) { // Ambil elemen formulir const addressForm = document.getElementById('alamat_form'); diff --git a/resources/views/surveyor/data/form.blade.php b/resources/views/surveyor/data/form.blade.php index 46050df..ceddcba 100644 --- a/resources/views/surveyor/data/form.blade.php +++ b/resources/views/surveyor/data/form.blade.php @@ -62,19 +62,14 @@ class="input tomselect w-full @error('spek_kategori_bangunan_id') border-danger bg-danger-light @enderror" name="spek_kategori_bangunan_id"> - @if (isset($spekKategoriBagunan)) + @if (!empty($spekKategoriBagunan)) @foreach ($spekKategoriBagunan as $item) - @if (isset($model->spek_kategori_bangunan_id)) - - @else - - @endif + @endforeach @endif diff --git a/resources/views/surveyor/data/index.blade.php b/resources/views/surveyor/data/index.blade.php index ecae761..9623905 100644 --- a/resources/views/surveyor/data/index.blade.php +++ b/resources/views/surveyor/data/index.blade.php @@ -45,6 +45,13 @@ {{ isset($header[0]) ? $header[0] : '' }} + @if ($header[1] == 'spek-bangunan') + + Kategori + + + + @endif Action @@ -125,6 +132,14 @@ name: { title: 'Jenis Aset', }, + ...(header == 'spek-bangunan' && { + kategories:{ + title: 'Kategori', + render: (item, data)=>{ + return data.bangunan_kategori.name; + } + } + }), actions: { title: 'Status', render: (item, data) => { diff --git a/resources/views/surveyor/js/utils.blade.php b/resources/views/surveyor/js/utils.blade.php index 3bffc19..da8b7bd 100644 --- a/resources/views/surveyor/js/utils.blade.php +++ b/resources/views/surveyor/js/utils.blade.php @@ -33,25 +33,35 @@ } - function formatCurrency(value) { - if (!value) return ''; + function formatCurrency(value, isDiskon = false) { + // Konversi value ke string, pastikan bukan null/undefined + let stringValue = value === null || value === undefined ? '' : String(value); - // Jika input adalah elemen, ambil nilainya - const numericValue = typeof value === 'string' ? value : value.value; + // Ganti koma dengan titik untuk memastikan parsing numerik + stringValue = stringValue.replace(/,/g, '.'); - // Hapus semua karakter non-digit - const cleanValue = numericValue.toString().replace(/[^\d]/g, ''); + // Hapus karakter non-numerik kecuali titik + let numericValue = stringValue.replace(/[^\d.]/g, ''); - // Format ke currency - const formattedValue = new Intl.NumberFormat('id-ID').format(cleanValue); + // Parse nilai numerik + const parsedValue = parseFloat(numericValue); - // Jika input adalah elemen, update nilainya - if (typeof value !== 'string') { - value.value = formattedValue; - } - - return formattedValue; + if (isDiskon) { + // Format untuk diskon + return isNaN(parsedValue) ? '' : parsedValue.toLocaleString('id-ID', { + minimumFractionDigits: 0, + maximumFractionDigits: 2 + }); + } else { + // Format untuk mata uang tanpa desimal + return isNaN(parsedValue) ? '' : parsedValue.toLocaleString('id-ID', { + minimumFractionDigits: 0, + maximumFractionDigits: 0 + }); } +} + + function previewImage(input, previewId) { if (input.files && input.files[0]) { diff --git a/routes/web.php b/routes/web.php index dd9eceb..dcae5d1 100644 --- a/routes/web.php +++ b/routes/web.php @@ -539,6 +539,7 @@ Route::middleware(['auth'])->group(function () { Route::get('lampiran/{id}', [PenilaiController::class, 'lampiran'])->name('lampiran'); Route::get('export/kertas-kerja', [PenilaiController::class, 'export_kertas_kerja'])->name('export.kertas-kerja'); + Route::get('print-out', [PenilaiController::class, 'print_out'])->name('print-out'); Route::post('import/kertas-kerja', [PenilaiController::class, 'import_kertas_kerja'])->name('import.kertas-kerja');