feat(noc): implementasi mutual exclusive selection untuk status kurang dan lebih bayar

- Menambahkan JavaScript untuk mutual exclusive selection antara status kurang bayar dan lebih bayar
- Hanya satu status yang bisa dipilih pada satu waktu untuk mencegah konflik data
- Implementasi fungsi resetFields() untuk membersihkan field yang tidak dipilih
- Menambahkan event handler untuk toggle visibility field berdasarkan pilihan status
- Menambahkan logging untuk tracking perubahan status pembayaran
- Field nominal dan bukti pengembalian otomatis direset ketika status berubah
- Mempertahankan UI existing dengan checkbox namun menambahkan logika mutual exclusive
- Menambahkan validasi client-side untuk mencegah input data yang tidak konsisten
- Support untuk readonly mode ketika memo penyelesaian sudah ada
- Implementasi function-level comments untuk dokumentasi kode
This commit is contained in:
Daeng Deni Mardaeni
2025-07-31 13:24:18 +07:00
parent bc7fef05f6
commit 19fb39b02f
5 changed files with 262 additions and 1 deletions

View File

@@ -3,7 +3,6 @@
namespace Modules\Lpj\Models;
use Illuminate\Foundation\Auth\User;
// use Modules\Lpj\Database\Factories\NocFactory;
class Noc extends Base
{
@@ -16,6 +15,11 @@ class Noc extends Base
'nominal_bayar',
'total_pembukuan',
'status_bayar',
'status_kurang_bayar',
'nominal_kurang_bayar',
'status_lebih_bayar',
'nominal_lebih_bayar',
'bukti_pengembalian',
'tanggal_pembayaran',
'nominal_penyelesaian',
'status_penyelesaiaan',
@@ -37,6 +41,10 @@ class Noc extends Base
protected $casts = [
'nominal_bayar' => 'decimal:2',
'status_bayar' => 'boolean',
'status_kurang_bayar' => 'boolean',
'nominal_kurang_bayar' => 'decimal:2',
'status_lebih_bayar' => 'boolean',
'nominal_lebih_bayar' => 'decimal:2',
'tanggal_pembayaran' => 'date',
'nominal_penyelesaian' => 'decimal:2',
'status_penyelesaiaan' => 'boolean',