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.
This commit is contained in:
Daeng Deni Mardaeni
2025-03-24 15:08:49 +07:00
parent 7d15d60b32
commit 94e49a4cc3
4 changed files with 36 additions and 5 deletions

View File

@@ -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".',
];
}
}

View File

@@ -0,0 +1,26 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('permohonan', function (Blueprint $table) {
$table->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();
}
};

View File

@@ -254,7 +254,7 @@
</a>`;
}
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 = `
<a href="{{ route('penilai.print-out') }}?permohonanId=${data.id}&documentId=${dokumenID}&inspeksiId=${inspeksiId}&jaminanId=${jenisJaminanID}&statusLpj=0&type=${type}" class="btn btn-sm btn-primary">

View File

@@ -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))