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/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/uitl/utils_new.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/material.dart'; import '../add_newchild_page.dart'; import '../vaccinationtable_page.dart'; class ChildVaccinePage 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, showNewAppBarTitle: true, showNewAppBar: true, body: Column( children: [ Expanded( child: ListView.separated( itemBuilder: (context, index) { return 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, borderRadius: BorderRadius.all(Radius.circular(12)), color: Colors.white, gradient: LinearGradient( colors: model.babyInformationModelList[index].gender == 1 ? [ Color(0xFFFDA4B0), Color(0xFFFBC8CC), ] : [ Color(0xFF6EA8FF), Color(0xFF7AB8FD), ], begin: Alignment.centerLeft, end: Alignment.centerRight, ), ), padding: EdgeInsets.all(12), //double.infinity, child: Column( 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, ), ], ), ), ); }, separatorBuilder: (BuildContext context, int index) { return mHeight(12); }, itemCount: model.babyInformationModelList.length, ), ), // 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(); }); }, ), ), )); } }