import 'package:diplomaticquarterapp/core/model/childvaccines/delete_baby_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/child_vaccines/child_vaccines_view_model.dart'; import 'package:diplomaticquarterapp/pages/ChildVaccines/add_newchild_page.dart'; import 'package:diplomaticquarterapp/pages/ChildVaccines/vaccinationtable_page.dart'; import 'package:diplomaticquarterapp/pages/base/base_view.dart'; import 'package:diplomaticquarterapp/uitl/app_toast.dart'; import 'package:diplomaticquarterapp/uitl/date_uitl.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; class ChildPage extends StatefulWidget { @override _ChildPageState createState() => _ChildPageState(); } class _ChildPageState extends State with SingleTickerProviderStateMixin { DeleteBaby deleteBaby = DeleteBaby(); @override Widget build(BuildContext context) { var size = MediaQuery.of(context).size; final double height = (size.height - kToolbarHeight - 60); final double itemWidth = size.width / 2; final double itemHeight = height / 2 + 40; var checkedValue = true; return BaseView( onModelReady: (model) => model.getNewUserOrders(), builder: (_, model, widget) => AppScaffold( isShowAppBar: true, appBarTitle: TranslationBase.of(context).vaccination, baseViewModel: model, body: Container( height: height * 0.85, child: SingleChildScrollView( child: Container( margin: EdgeInsets.only(left: 8, right: 8, top: 16), child: GridView.count( crossAxisCount: 2, childAspectRatio: (itemWidth / (itemHeight + 0)), crossAxisSpacing: 10, mainAxisSpacing: 10, controller: ScrollController(keepScrollOffset: true), shrinkWrap: true, padding: const EdgeInsets.all(4.0), children: [ ...List.generate( model.babyInformationModelList.length, (index) => InkWell( onTap: () { Navigator.push( context, FadePage( page: VaccinationTablePage(model .babyInformationModelList[index]), ), ); }, child: Container( margin: EdgeInsets.only( left: 0, right: 0, bottom: 20), decoration: BoxDecoration( shape: BoxShape.rectangle, border: Border.all( color: Colors.white, width: 0.5), borderRadius: BorderRadius.all(Radius.circular(5)), color: Colors.white, ), padding: EdgeInsets.all(12), //double.infinity, child: Column( children: [ Row(children: [ Texts(TranslationBase.of(context) .childName), ]), Row(children: [ Texts(model .babyInformationModelList[index] .babyName .trim()), ]), Row(children: [ IconButton( icon: Image.asset(model .babyInformationModelList[ index] .gender == 1 ? 'assets/images/new-design/male.png' : 'assets/images/new-design/female.png'), tooltip: '', onPressed: () { setState(() { // _volume += 10; // launch("tel://" +model.FindusHospitalModelList[index].phoneNumber); }); }, ), Texts(model .babyInformationModelList[index] .genderDescription), IconButton( icon: Icon( Icons.remove_red_eye, color: Colors.red, ), tooltip: '', onPressed: () { Navigator.push( context, FadePage( page: VaccinationTablePage(model .babyInformationModelList[ index]), ), ); }, ) ]), Row(children: [ Texts(TranslationBase.of(context).dob), ]), Row(children: [ IconButton( icon: new Image.asset( 'assets/images/new-design/calender-secondary.png'), tooltip: '', onPressed: () { setState(() {}); }, ), Texts(DateUtil.yearMonthDay(model .babyInformationModelList[index] .dOB)), ]), Row(children: [ IconButton( icon: new Image.asset( 'assets/images/new-design/garbage.png'), tooltip: '', onPressed: () async { //===================== await model.deleteBabyOrders( newChild: deleteBaby); deleteBaby.babyID = model .babyInformationModelList[index] .babyID; await model.deleteBabyOrders( newChild: deleteBaby); if (model.isDeleted) { AppToast.showSuccessToast( message: TranslationBase.of( context) .recordDeleted); Navigator.pop( context, model.isDeleted); } else { //TODO handling error } }, ), Texts(TranslationBase.of(context) .deleteView), ]), SizedBox( height: 12, ), ], ), ), ), ) ], ))), ), bottomSheet: Container( height: height * 0.15, width: double.infinity, padding: EdgeInsets.all(16), child: SecondaryButton( textColor: Colors.white, color: checkedValue == false ? Colors.white24 : Color.fromRGBO( 63, 72, 74, 1, ), label: TranslationBase.of(context).addNewChild, // onTap: () { Navigator.push( context, FadePage( page: AddNewChildPage(), ), ).then((value) { if (value) model.getNewUserOrders(); }); }, ), ), )); } }