Merge branch 'mirza_home_page' into development_new_design_2.0

merge-update-with-lab-changes
Mirza.Shafique 4 years ago
commit 4f7666cfd8

@ -1,6 +1,7 @@
import 'package:diplomaticquarterapp/core/model/childvaccines/delete_baby_model.dart'; 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/core/viewModels/child_vaccines/child_vaccines_view_model.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart'; import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/theme/colors.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart'; import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart'; import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
@ -10,6 +11,7 @@ import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import '../add_newchild_page.dart'; import '../add_newchild_page.dart';
import '../vaccinationtable_page.dart'; import '../vaccinationtable_page.dart';
@ -43,6 +45,7 @@ class _ChildPageState extends State<ChildVaccinePage> with SingleTickerProviderS
Expanded( Expanded(
child: ListView.separated( child: ListView.separated(
itemBuilder: (context, index) { itemBuilder: (context, index) {
Color selectedColor = model.babyInformationModelList[index].gender == 1 ? Color(0xFF5A282E) : Colors.white;
return InkWell( return InkWell(
onTap: () { onTap: () {
Navigator.push( Navigator.push(
@ -53,7 +56,7 @@ class _ChildPageState extends State<ChildVaccinePage> with SingleTickerProviderS
); );
}, },
child: Container( child: Container(
margin: EdgeInsets.only(left: 0, right: 0, bottom: 20), margin: EdgeInsets.only(left: 16, right: 16),
decoration: BoxDecoration( decoration: BoxDecoration(
shape: BoxShape.rectangle, shape: BoxShape.rectangle,
borderRadius: BorderRadius.all(Radius.circular(12)), borderRadius: BorderRadius.all(Radius.circular(12)),
@ -74,56 +77,53 @@ class _ChildPageState extends State<ChildVaccinePage> with SingleTickerProviderS
), ),
padding: EdgeInsets.all(12), padding: EdgeInsets.all(12),
//double.infinity, //double.infinity,
child: Row(
mainAxisAlignment: MainAxisAlignment.end,
crossAxisAlignment: CrossAxisAlignment.end,
children: [
Expanded(
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.start,
children: [ children: [
Texts(model.babyInformationModelList[index].babyName.trim()), Text(
Row(children: [ model.babyInformationModelList[index].babyName.trim(),
IconButton( style: TextStyle(
icon: Image.asset(model.babyInformationModelList[index].gender == 1 ? 'assets/images/new-design/male.png' : 'assets/images/new-design/female.png'), fontSize: 14,
tooltip: '', letterSpacing: -0.46,
onPressed: () { fontWeight: FontWeight.bold,
setState(() { color: selectedColor,
// _volume += 10;
// launch("tel://" +model.FindusHospitalModelList[index].phoneNumber);
});
},
), ),
Texts(model.babyInformationModelList[index].genderDescription),
IconButton(
icon: Icon(
Icons.remove_red_eye,
color: Colors.red,
), ),
tooltip: '', Text(
onPressed: () { model.babyInformationModelList[index].gender == 1 ? TranslationBase.of(context).female : TranslationBase.of(context).male,
Navigator.push( style: TextStyle(
context, fontSize: 11,
FadePage( color: selectedColor,
page: VaccinationTablePage(model.babyInformationModelList[index]), ),
),
Row(
children: [
Text(
TranslationBase.of(context).dob,
style: TextStyle(
fontSize: 11,
color: selectedColor,
),
),
Text(DateUtil.yearMonthDay(model.babyInformationModelList[index].dOB),
style: TextStyle(
fontSize: 11,
color: selectedColor,
)),
],
),
mHeight(20),
],
), ),
);
},
)
]),
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)), InkWell(
]), onTap: () async {
Row(children: [
IconButton(
icon: new Image.asset('assets/images/new-design/garbage.png'),
tooltip: '',
onPressed: () async {
//=====================
await model.deleteBabyOrders(newChild: deleteBaby); await model.deleteBabyOrders(newChild: deleteBaby);
deleteBaby.babyID = model.babyInformationModelList[index].babyID; deleteBaby.babyID = model.babyInformationModelList[index].babyID;
@ -136,11 +136,29 @@ class _ChildPageState extends State<ChildVaccinePage> with SingleTickerProviderS
//TODO handling error //TODO handling error
} }
}, },
child: Container(
decoration: containerRadius(Colors.black.withOpacity(0.2), 2000),
padding: EdgeInsets.only(left: 12, right: 12, top: 8, bottom: 8),
child: Row(
children: [
Image.asset(
'assets/images/new-design/garbage.png',
width: 16,
color: selectedColor,
),
mWidth(8),
Text(
TranslationBase.of(context).deleteView,
style: TextStyle(
fontSize: 11,
fontWeight: FontWeight.w600,
letterSpacing: -0.33,
color: selectedColor,
),
),
],
),
), ),
Texts(TranslationBase.of(context).deleteView),
]),
SizedBox(
height: 12,
), ),
], ],
), ),
@ -153,132 +171,14 @@ class _ChildPageState extends State<ChildVaccinePage> with SingleTickerProviderS
itemCount: model.babyInformationModelList.length, itemCount: model.babyInformationModelList.length,
), ),
), ),
// Container( 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, width: double.infinity,
padding: EdgeInsets.all(16), padding: EdgeInsets.all(16),
color: Colors.white,
child: SecondaryButton( child: SecondaryButton(
textColor: Colors.white, textColor: Colors.white,
color: checkedValue == false color: checkedValue
? Colors.white24 ? CustomColors.accentColor
: Color.fromRGBO( : Color.fromRGBO(
63, 63,
72, 72,
@ -299,6 +199,9 @@ class _ChildPageState extends State<ChildVaccinePage> with SingleTickerProviderS
}, },
), ),
), ),
)); ],
),
),
);
} }
} }

@ -1,16 +1,21 @@
import 'package:diplomaticquarterapp/core/enum/viewstate.dart'; import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/model/childvaccines/List_BabyInformationModel.dart'; import 'package:diplomaticquarterapp/core/model/childvaccines/List_BabyInformationModel.dart';
import 'package:diplomaticquarterapp/core/viewModels/child_vaccines/vaccination_table_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/child_vaccines/vaccination_table_view_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart'; import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/theme/colors.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart'; import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart'; import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_html/flutter_html.dart'; import 'package:flutter_html/flutter_html.dart';
import 'package:provider/provider.dart';
import 'dialogs/SelectGenderDialog.dart'; import 'dialogs/SelectGenderDialog.dart';
@ -23,6 +28,7 @@ class VaccinationTablePage extends StatelessWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
var size = MediaQuery.of(context).size; var size = MediaQuery.of(context).size;
final double height = (size.height - kToolbarHeight - 60); final double height = (size.height - kToolbarHeight - 60);
ProjectViewModel projectViewModel = Provider.of(context);
var checkedValue; var checkedValue;
return BaseView<VaccinationTableViewModel>( return BaseView<VaccinationTableViewModel>(
@ -31,121 +37,107 @@ class VaccinationTablePage extends StatelessWidget {
isShowAppBar: true, isShowAppBar: true,
baseViewModel: model, baseViewModel: model,
appBarTitle: TranslationBase.of(context).vaccination, appBarTitle: TranslationBase.of(context).vaccination,
showNewAppBar: true,
showNewAppBarTitle: true,
backgroundColor: CustomColors.appBackgroudGrey2Color,
body: Container( body: Container(
height: height * 0.85, height: double.infinity,
child: Column(
children: [
Expanded(
child: SingleChildScrollView( child: SingleChildScrollView(
child: Container( child: Container(
margin: EdgeInsets.only(left: 16, right: 16, top: 16), margin: EdgeInsets.only(left: 16, right: 16, top: 16),
child: Column( child: Column(
children: [ children: [
Row( Container(
decoration: containerRadius(Colors.white, 12),
padding: EdgeInsets.all(12),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.start,
children: [ children: [
Expanded( Text(
child: Texts(TranslationBase.of(context).childName), babyInfo.babyName,
style: TextStyle(
fontSize: 16,
fontWeight: FontWeight.w600,
letterSpacing: -0.64,
), ),
Expanded(
child: Texts(TranslationBase.of(context).dob),
),
],
),
SizedBox(
height: 10,
), ),
mHeight(8),
Row( Row(
children: [ children: [
Expanded( Text(
child: Texts(babyInfo.babyName), TranslationBase.of(context).gender + " :",
style: TextStyle(
fontSize: 10,
fontWeight: FontWeight.w600,
letterSpacing: -0.4,
color: CustomColors.textColor,
), ),
Expanded(
child: Texts(DateUtil.getFormattedDate(
babyInfo.dOB, "MMM dd,yyyy")),
), ),
], Text(
babyInfo.gender == 1 ? TranslationBase.of(context).female : TranslationBase.of(context).male,
style: TextStyle(
fontSize: 12,
fontWeight: FontWeight.w600,
letterSpacing: -0.4,
color: CustomColors.black,
), ),
SizedBox(
height: 10,
), ),
Divider( ],
color: Colors.black,
), ),
Row( Row(
children: [ children: [
Text(TranslationBase.of(context).visit), Text(
SizedBox( TranslationBase.of(context).dateOfBirth + " :",
width: 25, style: TextStyle(
fontSize: 10,
fontWeight: FontWeight.w600,
letterSpacing: -0.4,
color: CustomColors.textColor,
), ),
Expanded(
child: Text(TranslationBase.of(context).description)),
Text(TranslationBase.of(context).dueDate),
],
), ),
...List.generate( Text(
model.creteVaccinationTableModelList.length, DateUtil.getFormattedDate(babyInfo.dOB, "MMM dd,yyyy"),
(index) => Container( style: TextStyle(
decoration: BoxDecoration( fontSize: 12,
shape: BoxShape.rectangle, fontWeight: FontWeight.w600,
// border: Border.all(color: Colors.white, width: 0.5), letterSpacing: -0.4,
borderRadius: BorderRadius.all(Radius.circular(5)), color: CustomColors.black,
// color: Colors.white,
), ),
padding: EdgeInsets.all(12),
width: double.infinity,
child: Column(
children: [
Row(
children: [
Text(model
.creteVaccinationTableModelList[index]
.visit),
SizedBox(
width: 10,
), ),
Expanded( ],
child: Column(
mainAxisAlignment:
MainAxisAlignment.start,
crossAxisAlignment:
CrossAxisAlignment.start,
children: [
Html(
// data:"<html><head><style type='text/css'>.Test {list-style-image:url('http://10.50.100.198:4444/Images/Bullet_List_Small.png');}</style></head><body><table><tr align='left'><td align='left'>BCG</td></tr><tr align='left'><td align='left'>HEPATITIS B</td></tr></table></body></html>"//model.creteVaccinationTableModelList[index].vaccinesDescription
data: model
.creteVaccinationTableModelList[
index]
.vaccinesDescription,
), ),
], ],
), ),
), ),
Text(model mHeight(12),
.creteVaccinationTableModelList[index] Container(
.givenAt), decoration: containerRadius(Colors.white, 12),
], padding: EdgeInsets.all(12),
child: Table(
columnWidths: {
0: FlexColumnWidth(1.8),
1: FlexColumnWidth(1.8),
2: FlexColumnWidth(1.8),
},
children: fullData(context, model, projectViewModel),
), ),
Divider(
color: Colors.black,
), ),
], ],
)))
],
), ),
), ),
), ),
), ),
bottomSheet: Container( Container(
height: height * 0.15,
width: double.infinity, width: double.infinity,
padding: EdgeInsets.all(12), padding: EdgeInsets.all(12),
color: Colors.white,
child: SecondaryButton( child: SecondaryButton(
textColor: Colors.white, textColor: Colors.white,
color: checkedValue == false color: CustomColors.accentColor,
? Colors.white24
: Color.fromRGBO(
63,
72,
74,
1,
),
label: TranslationBase.of(context).sendEmail, label: TranslationBase.of(context).sendEmail,
// //
onTap: () { onTap: () {
@ -157,21 +149,52 @@ class VaccinationTablePage extends StatelessWidget {
okFunction: () async { okFunction: () async {
await model.getCreateVaccinationTable(babyInfo, true); await model.getCreateVaccinationTable(babyInfo, true);
if (model.state == ViewState.Idle) { if (model.state == ViewState.Idle) {
AppToast.showSuccessToast( AppToast.showSuccessToast(message: TranslationBase.of(context).emailSentSuccessfully);
message: TranslationBase.of(context)
.emailSentSuccessfully);
} else { } else {
AppToast.showErrorToast( AppToast.showErrorToast(message: TranslationBase.of(context).EmailSentError);
message: TranslationBase.of(context)
.EmailSentError);
} }
}, },
), ),
); );
//========= //=========
}), },
),
),
],
), ),
), ),
),
);
}
List<TableRow> fullData(BuildContext context, VaccinationTableViewModel model, ProjectViewModel projectViewModel) {
List<TableRow> tableRow = [];
tableRow.add(
TableRow(
children: [
Utils.tableColumnTitle(TranslationBase.of(context).visit),
Utils.tableColumnTitle(TranslationBase.of(context).description),
Utils.tableColumnTitle(TranslationBase.of(context).dueDate),
],
),
);
model.creteVaccinationTableModelList.forEach(
(diabtec) {
tableRow.add(
TableRow(
children: [
Utils.tableColumnValue(diabtec.visit, isCapitable: false, mProjectViewModel: projectViewModel),
// Utils.tableColumnValue(diabtec.vaccinesDescription, isCapitable: false, mProjectViewModel: projectViewModel),
Html(
// data:"<html><head><style type='text/css'>.Test {list-style-image:url('http://10.50.100.198:4444/Images/Bullet_List_Small.png');}</style></head><body><table><tr align='left'><td align='left'>BCG</td></tr><tr align='left'><td align='left'>HEPATITIS B</td></tr></table></body></html>"//model.creteVaccinationTableModelList[index].vaccinesDescription
data: diabtec.vaccinesDescription,
),
Utils.tableColumnValue(diabtec.givenAt, isCapitable: false, mProjectViewModel: projectViewModel),
],
),
);
},
); );
return tableRow;
} }
} }

Loading…
Cancel
Save