Perbarui status dan model penyaluran untuk konsistensi dan fungsionalitas

- Ganti enum StatusKelayakan dari 'pending', 'disetujui', 'ditolak' menjadi 'MENUNGGU', 'TERVERIFIKASI', 'DITOLAK'
- Ubah referensi 'jadwalSelesai' menjadi 'jadwalTerlaksana' di beberapa komponen
- Perbarui ikon dan warna status di JadwalSectionWidget
- Tambahkan logika baru untuk menangani status 'BATALTERLAKSANA' dan 'TERLAKSANA' di JadwalPenyaluranController
- Modifikasi tampilan untuk menampilkan 'Terlaksana' dan 'Jumlah Penerima' secara otomatis di TambahPenyaluranView
- Tambahkan fungsi untuk memuat data skema bantuan dan pengajuan kelayakan yang disetujui
This commit is contained in:
Khafidh Fuadi
2025-03-14 23:17:02 +07:00
parent ecc1ccac59
commit 0e757c0b94
7 changed files with 284 additions and 93 deletions

View File

@ -245,7 +245,7 @@ class CalendarViewWidget extends StatelessWidget {
List<PenyaluranBantuanModel> allJadwal = [
...controller.jadwalHariIni,
...controller.jadwalMendatang,
...controller.jadwalSelesai,
...controller.jadwalTerlaksana,
];
DateTime now = DateTime.now();

View File

@ -92,8 +92,10 @@ class JadwalSectionWidget extends StatelessWidget {
return Icons.event_note;
case 'Terjadwal':
return Icons.pending_actions;
case 'Selesai':
case 'Terlaksana':
return Icons.event_available;
case 'Tidak Terlaksana':
return Icons.event_busy;
default:
return Icons.event_note;
}
@ -105,8 +107,9 @@ class JadwalSectionWidget extends StatelessWidget {
return Icons.calendar_today;
case 'Terjadwal':
return Icons.schedule;
case 'Selesai':
case 'Terlaksana':
return Icons.task_alt;
default:
return Icons.event_note;
}
@ -118,7 +121,7 @@ class JadwalSectionWidget extends StatelessWidget {
return Colors.green;
case 'Terjadwal':
return Colors.blue;
case 'Selesai':
case 'Terlaksana':
return Colors.grey;
default:
return Colors.orange;
@ -127,16 +130,18 @@ class JadwalSectionWidget extends StatelessWidget {
String _getStatusText(PenyaluranBantuanModel jadwal) {
// Jika status jadwal adalah BERLANGSUNG, tampilkan sebagai "Aktif"
if (jadwal.status == 'BERLANGSUNG') {
if (jadwal.status == 'AKTIF') {
return 'Aktif';
}
// Jika status jadwal adalah DIJADWALKAN, tampilkan sebagai "Terjadwal"
else if (jadwal.status == 'DIJADWALKAN' || jadwal.status == 'DISETUJUI') {
else if (jadwal.status == 'DIJADWALKAN') {
return 'Terjadwal';
}
// Jika status jadwal adalah SELESAI, tampilkan sebagai "Selesai"
else if (jadwal.status == 'SELESAI') {
return 'Selesai';
// Jika status jadwal adalah terlaksana, tampilkan sebagai "Terlaksana"
else if (jadwal.status == 'TERLAKSANA') {
return 'Terlaksana';
} else if (jadwal.status == 'BATALTERLAKSANA') {
return 'Batal Terlaksana';
}
// Default status
return status;
@ -144,16 +149,16 @@ class JadwalSectionWidget extends StatelessWidget {
Color _getStatusColorByJadwal(PenyaluranBantuanModel jadwal) {
// Jika status jadwal adalah BERLANGSUNG, gunakan warna hijau
if (jadwal.status == 'BERLANGSUNG') {
if (jadwal.status == 'AKTIF') {
return Colors.green;
}
// Jika status jadwal adalah DIJADWALKAN, gunakan warna biru
else if (jadwal.status == 'DIJADWALKAN' || jadwal.status == 'DISETUJUI') {
else if (jadwal.status == 'DIJADWALKAN') {
return Colors.blue;
}
// Jika status jadwal adalah SELESAI, gunakan warna abu-abu
else if (jadwal.status == 'SELESAI') {
} else if (jadwal.status == 'TERLAKSANA') {
return Colors.grey;
} else if (jadwal.status == 'BATALTERLAKSANA') {
return Colors.red;
}
// Default warna
return _getStatusColor();
@ -165,8 +170,8 @@ class JadwalSectionWidget extends StatelessWidget {
return controller.jadwalHariIni.toList();
case 'Mendatang':
return controller.jadwalMendatang.toList();
case 'Selesai':
return controller.jadwalSelesai.toList();
case 'Terlaksana':
return controller.jadwalTerlaksana.toList();
default:
return jadwalList;
}