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

@@ -60,6 +60,11 @@
'tanggal_pembayaran' => $validated['tanggal_pembayaran'] ?? date('Y-m-d'),
'status_bayar' => $validated['nominal_bayar'] < $validated['total_harus_bayar'] ? false : true,
'catatan_noc' => $validated['catatan_noc'],
'status_kurang_bayar' => $validated['status_kurang_bayar'] ?? '',
'status_lebih_bayar' => $validated['status_lebih_bayar'] ?? '',
'nominal_kurang_bayar' => $validated['nominal_kurang_bayar'] ?? 0,
'nominal_lebih_bayar' => $validated['nominal_lebih_bayar'] ?? 0,
'bukti_pengembalian' => $validated['bukti_pengembalian'] ?? '',
];
$noc = Noc::updateOrCreate(
[