changes area to kecamatan and some changes

This commit is contained in:
kicap
2023-11-24 23:17:06 +08:00
parent ba5d6fa38b
commit 376721b015
11 changed files with 320 additions and 124 deletions

View File

@ -47,7 +47,7 @@ class AreaTpsView extends StatelessWidget {
child: Row(
children: [
Text(
"Jumlah Area TPS : ",
"Jumlah Kecamatan : ",
style: italicTextStyle.copyWith(
fontSize: 16,
fontWeight: FontWeight.bold,
@ -56,7 +56,7 @@ class AreaTpsView extends StatelessWidget {
const SizedBox(width: 10),
Expanded(
child: Text(
'${model.jumlahArea} TPS',
'${model.jumlahArea} Kecamatan',
style: boldTextStyle.copyWith(
fontSize: 16,
fontWeight: FontWeight.bold,
@ -110,7 +110,7 @@ class AreaTpsView extends StatelessWidget {
child: ListTile(
leading: Text('${i + 1}'),
title: Text(
'${model.listAreaModel[i].namaArea}'),
'${model.listKecamatanModel[i].name}'),
trailing: IconButton(
// trash bin icon
icon: const Icon(
@ -118,8 +118,8 @@ class AreaTpsView extends StatelessWidget {
color: mainColor,
),
onPressed: () {
model.cekSuara(
model.listAreaModel[i]);
model.cekSuara(model
.listKecamatanModel[i]);
},
),
),

View File

@ -7,7 +7,7 @@ import '../../../../model/my_response.model.dart';
class AreaTpsViewModel extends CustomBaseViewModel {
final log = getLogger('AreaTpsViewModel');
List<AreaModel> listAreaModel = [];
List<KecamatanModel> listKecamatanModel = [];
int jumlahArea = 0;
bool status = false;
@ -23,12 +23,14 @@ class AreaTpsViewModel extends CustomBaseViewModel {
try {
var response = await httpService.get('/area/cek_area_caleg/$idCaleg');
MyResponseModel myResponseModel = MyResponseModel.fromJson(response.data);
AreaListModel areaListModel =
AreaListModel.fromJson(myResponseModel.data);
listAreaModel = areaListModel.area ?? [];
log.i('listAreaModel: $listAreaModel');
jumlahArea = listAreaModel.length;
log.i('jumlahArea: $jumlahArea');
// log.i('myResponseModel: ${myResponseModel.data}');
KecamatanDetail kecamatanDetail =
KecamatanDetail.fromJson(myResponseModel.data);
// log.i('kecamatanDetail: ${kecamatanDetail.kecamatan}');
listKecamatanModel = kecamatanDetail.kecamatan ?? [];
jumlahArea = kecamatanDetail.jumlah!;
// log.i('jumlahArea: $jumlahArea');
status = true;
} catch (e) {
log.e(e.toString());
@ -38,13 +40,13 @@ class AreaTpsViewModel extends CustomBaseViewModel {
}
}
cekSuara(AreaModel areaModel) async {
cekSuara(KecamatanModel kecamatanModel) async {
await bottomSheetService.showCustomSheet(
data: areaModel.idArea,
data: kecamatanModel.kecamatanId,
barrierDismissible: true,
isScrollControlled: true,
title: 'Detail Suara Area ${areaModel.namaArea}',
description: 'Tim Survei',
title: 'Detail Suara Kecamatan ${kecamatanModel.name}',
description: 'Kecamatan',
ignoreSafeArea: false,
variant: BottomSheetType.detailSuaraBottomSheetView,
);

View File

@ -111,8 +111,27 @@ class LogSuaraView extends StatelessWidget {
model.listPemilih[i].namaPemilih!,
style: boldTextStyle,
),
subtitle: Text(
model.listPemilih[i].namaArea!,
subtitle: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: [
CardWidget(
title: 'Tim',
value: model.listPemilih[i]
.namaTimSurvei!),
CardWidget(
title: 'Kec',
value: model
.listPemilih[i].kecamatan!),
CardWidget(
title: 'Kel / Desa',
value: model
.listPemilih[i].kelurahan!),
CardWidget(
title: 'TPS',
value: model.listPemilih[i].tps!
.toString()),
],
),
trailing: IconButton(
icon: const Icon(
@ -159,3 +178,48 @@ class LogSuaraView extends StatelessWidget {
);
}
}
class CardWidget extends StatelessWidget {
const CardWidget({
super.key,
required this.title,
required this.value,
});
final String title;
final String value;
@override
Widget build(BuildContext context) {
return Row(
children: [
Expanded(
flex: 3,
child: Text(
title,
style: italicTextStyle.copyWith(
fontSize: 12,
),
overflow: TextOverflow.ellipsis,
),
),
const Expanded(
flex: 1,
child: Text(
' : ',
),
),
Expanded(
flex: 6,
child: Text(
value,
style: boldTextStyle.copyWith(
fontSize: 12,
),
overflow: TextOverflow.ellipsis,
),
),
],
);
}
}

View File

@ -22,9 +22,9 @@ class LogSuaraViewModel extends CustomBaseViewModel {
try {
var response = await httpService.get('caleg/suara/$idCaleg');
MyResponseModel myResponseModel = MyResponseModel.fromJson(response.data);
PemilihDetailModel pemilihDetailModel =
PemilihDetailModel.fromJson(myResponseModel.data);
listPemilih = pemilihDetailModel.pemilihModel!;
PemilihDetail pemilihDetail =
PemilihDetail.fromJson(myResponseModel.data);
listPemilih = pemilihDetail.pemilihModel!;
counter = listPemilih.length;
status = true;

View File

@ -46,12 +46,12 @@ class PengaturanCalegView extends StatelessWidget {
background: warningColor,
),
const SizedBox(height: 10),
TopContainer(
title: 'Area\nTPS',
value: '${model.suaraCounter} TPS',
icon: Icons.location_on_outlined,
background: orangeColor,
),
// TopContainer(
// title: 'Area\nTPS',
// value: '${model.suaraCounter} TPS',
// icon: Icons.location_on_outlined,
// background: orangeColor,
// ),
const SizedBox(height: 10),
TopContainer(
title: 'Jumlah Tim Survei',