From 94e49a4cc355885e3b25a55177acfe0ad346c8af Mon Sep 17 00:00:00 2001 From: Daeng Deni Mardaeni Date: Mon, 24 Mar 2025 15:08:49 +0700 Subject: [PATCH] fix(permohonan): perbarui logika dan tampilan status bayar - Menambahkan opsi "tidak_bayar" pada status bayar. - Memperbarui logika validasi untuk status bayar di form permohonan. - Mengubah logika tampilan laporan berdasarkan status bayar. - Memperbarui migrasi untuk mengubah kolom status bayar di tabel permohonan. --- .../Requests/PersetujuanPenawaranRequest.php | 2 +- ...5_03_24_080648_update_permohonan_table.php | 26 +++++++++++++++++++ resources/views/laporan/index.blade.php | 2 +- resources/views/permohonan/form.blade.php | 11 +++++--- 4 files changed, 36 insertions(+), 5 deletions(-) create mode 100644 database/migrations/2025_03_24_080648_update_permohonan_table.php diff --git a/app/Http/Requests/PersetujuanPenawaranRequest.php b/app/Http/Requests/PersetujuanPenawaranRequest.php index 32d9599..8d04940 100644 --- a/app/Http/Requests/PersetujuanPenawaranRequest.php +++ b/app/Http/Requests/PersetujuanPenawaranRequest.php @@ -63,7 +63,7 @@ 'authorized_at.date' => 'Tanggal otorisasi harus berupa tanggal yang valid.', 'authorized_by.exists' => 'ID pengguna yang mengotorisasi tidak valid.', 'status_bayar.required' => 'Status bayar wajib diisi.', - 'status_bayar.in' => 'Status bayar harus berupa "sudah_bayar" atau "belum_bayar".', + 'status_bayar.in' => 'Status bayar harus berupa "sudah_bayar", "belum_bayar" atau "tidak bayar".', ]; } } diff --git a/database/migrations/2025_03_24_080648_update_permohonan_table.php b/database/migrations/2025_03_24_080648_update_permohonan_table.php new file mode 100644 index 0000000..99352ad --- /dev/null +++ b/database/migrations/2025_03_24_080648_update_permohonan_table.php @@ -0,0 +1,26 @@ +enum('status_bayar',['sudah_bayar','belum_bayar','tidak_bayar'])->default('sudah_bayar')->change(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + $table->enum('status_bayar',['sudah_bayar','belum_bayar'])->default('sudah_bayar')->change(); + } +}; diff --git a/resources/views/laporan/index.blade.php b/resources/views/laporan/index.blade.php index 27d00f4..9e1d2ee 100644 --- a/resources/views/laporan/index.blade.php +++ b/resources/views/laporan/index.blade.php @@ -254,7 +254,7 @@ `; } - if(data.status_bayar=="sudah_bayar" && data.nilai_liquidasi >0) { + if((data.status_bayar=="sudah_bayar" || data.status_bayar=="tidak_bayar") && data.nilai_liquidasi >0) { if(data.penilai.type_penilai=='resume' && !data.penilai.resume){ laporanButton = ` diff --git a/resources/views/permohonan/form.blade.php b/resources/views/permohonan/form.blade.php index 3d02dc9..dd83876 100644 --- a/resources/views/permohonan/form.blade.php +++ b/resources/views/permohonan/form.blade.php @@ -57,7 +57,8 @@ 'nilai_plafond_id' => ['label' => 'Nilai Plafond', 'type' => 'select', 'options' => $plafond], 'status_bayar' => ['label' => 'Status Bayar', 'type' => 'select', 'options' => [ 'sudah_bayar' => 'Sudah Bayar', - 'belum_bayar' => 'Belum Bayar' + 'belum_bayar' => 'Belum Bayar', + 'tidak_bayar' => 'Tidak Bayar' ]], 'nilai_njop' => ['label' => 'Nilai NJOP', 'type' => 'text'], ]; @@ -130,8 +131,12 @@ const nilaiPlafondValue = nilaiPlafondSelect.value; console.log('Tujuan Penilaian:', tujuanPenilaianValue, 'Nilai Plafond:', nilaiPlafondValue); - if (tujuanPenilaianValue === '2' && (nilaiPlafondValue === '2' || nilaiPlafondValue === '3')) { - statusBayarTomSelect.setValue('sudah_bayar'); + const hideAndSetTidakBayar = (tujuanPenilaianValue === '2' || tujuanPenilaianValue === '4') && + ['1', '2', '3'].includes(nilaiPlafondValue); + + + if (hideAndSetTidakBayar) { + statusBayarTomSelect.setValue('tidak_bayar'); statusBayarWrapper.style.display = 'none'; } else { @if(isset($permohonan))