fix vital sign details

dq_and_master
Mohammad Aljammal 5 years ago committed by Mohammad Aljammal
parent eca2266f7b
commit 5083080ba3

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 9.8 KiB

@ -42,13 +42,7 @@ class HomePage extends StatefulWidget {
class _HomePageState extends State<HomePage> { class _HomePageState extends State<HomePage> {
ToDoCountProviderModel toDoProvider; ToDoCountProviderModel toDoProvider;
@override
// void initState() {
// WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
// getToDoCount();
// });
// super.initState();
// }
AuthenticatedUserObject authenticatedUserObject = locator<AuthenticatedUserObject>(); AuthenticatedUserObject authenticatedUserObject = locator<AuthenticatedUserObject>();

@ -1,9 +1,12 @@
import 'package:diplomaticquarterapp/core/model/vital_sign/vital_sign_res_model.dart'; import 'package:diplomaticquarterapp/core/model/vital_sign/vital_sign_res_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.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/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:hexcolor/hexcolor.dart'; import 'package:hexcolor/hexcolor.dart';
import 'package:provider/provider.dart';
class VitalSignDetailsWidget extends StatefulWidget { class VitalSignDetailsWidget extends StatefulWidget {
final List<VitalSignResModel> vitalList; final List<VitalSignResModel> vitalList;
@ -21,6 +24,7 @@ class VitalSignDetailsWidget extends StatefulWidget {
class _VitalSignDetailsWidgetState extends State<VitalSignDetailsWidget> { class _VitalSignDetailsWidgetState extends State<VitalSignDetailsWidget> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
ProjectViewModel projectViewModel = Provider.of(context);
return Container( return Container(
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.transparent, color: Colors.transparent,
@ -38,7 +42,7 @@ class _VitalSignDetailsWidgetState extends State<VitalSignDetailsWidget> {
border: TableBorder.symmetric( border: TableBorder.symmetric(
inside: BorderSide(width: 2.0, color: Colors.grey[300]), inside: BorderSide(width: 2.0, color: Colors.grey[300]),
), ),
children: fullData(), children: fullData(projectViewModel),
), ),
], ],
), ),
@ -46,20 +50,21 @@ class _VitalSignDetailsWidgetState extends State<VitalSignDetailsWidget> {
); );
} }
List<TableRow> fullData() { List<TableRow> fullData(ProjectViewModel projectViewModel) {
List<TableRow> tableRow = []; List<TableRow> tableRow = [];
tableRow.add(TableRow(children: [ tableRow.add(TableRow(children: [
Container( Container(
child: Container( child: Container(
decoration: BoxDecoration( decoration: BoxDecoration(
color: HexColor('#515B5D'), color: Theme.of(context).primaryColor,
borderRadius: BorderRadius.only( borderRadius: BorderRadius.only(
topLeft: Radius.circular(10.0), topLeft:projectViewModel.isArabic? Radius.circular(0.0):Radius.circular(10.0),
topRight: projectViewModel.isArabic? Radius.circular(10.0):Radius.circular(0.0)
), ),
), ),
child: Center( child: Center(
child: Texts( child: Texts(
widget.title1, TranslationBase.of(context).date,
color: Colors.white, color: Colors.white,
), ),
), ),
@ -69,9 +74,10 @@ class _VitalSignDetailsWidgetState extends State<VitalSignDetailsWidget> {
Container( Container(
child: Container( child: Container(
decoration: BoxDecoration( decoration: BoxDecoration(
color: HexColor('#515B5D'), color: Theme.of(context).primaryColor,
borderRadius: BorderRadius.only( borderRadius: BorderRadius.only(
topRight: Radius.circular(10.0), topRight: projectViewModel.isArabic? Radius.circular(0.0):Radius.circular(10.0),
topLeft: projectViewModel.isArabic? Radius.circular(10.0):Radius.circular(0.0)
), ),
), ),
child: Center( child: Center(
@ -81,32 +87,34 @@ class _VitalSignDetailsWidgetState extends State<VitalSignDetailsWidget> {
) )
])); ]));
widget.vitalList.forEach((vital) { widget.vitalList.forEach((vital) {
tableRow.add(TableRow(children: [ var data = vital.toJson()[widget.viewKey];
Container( if (data != 0)
child: Container( tableRow.add(TableRow(children: [
padding: EdgeInsets.all(10), Container(
color: Colors.white, child: Container(
child: Center( padding: EdgeInsets.all(10),
child: Texts( color: Colors.white,
'${DateUtil.getWeekDay(vital.vitalSignDate.weekday)}, ${vital.vitalSignDate.day} ${DateUtil.getMonth(vital.vitalSignDate.month)}, ${vital.vitalSignDate.year} ', child: Center(
textAlign: TextAlign.center, child: Texts(
'${projectViewModel.isArabic ? DateUtil.getWeekDayArabic(vital.vitalSignDate.weekday) : DateUtil.getWeekDay(vital.vitalSignDate.weekday)}, ${vital.vitalSignDate.day} ${projectViewModel.isArabic ? DateUtil.getMonthArabic(vital.vitalSignDate.month) : DateUtil.getMonth(vital.vitalSignDate.month)}, ${vital.vitalSignDate.year} ',
textAlign: TextAlign.center,
),
), ),
), ),
), ),
), Container(
Container( child: Container(
child: Container( padding: EdgeInsets.all(10),
padding: EdgeInsets.all(10), color: Colors.white,
color: Colors.white, child: Center(
child: Center( child: Texts(
child: Texts( '${vital.toJson()[widget.viewKey]}',
'${vital.toJson()[widget.viewKey]}', textAlign: TextAlign.center,
textAlign: TextAlign.center, ),
), ),
), ),
), ),
), ]));
]));
}); });
return tableRow; return tableRow;
} }

@ -1,8 +1,10 @@
import 'package:diplomaticquarterapp/core/enum/patient_lookup.dart'; import 'package:diplomaticquarterapp/core/enum/patient_lookup.dart';
import 'package:diplomaticquarterapp/core/model/vital_sign/vital_sign_res_model.dart'; import 'package:diplomaticquarterapp/core/model/vital_sign/vital_sign_res_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/pages/medical/vital_sign/vital_sing_chart_and_detials.dart'; import 'package:diplomaticquarterapp/pages/medical/vital_sign/vital_sing_chart_and_detials.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
class VitalSignItemDetailsScreen extends StatelessWidget { class VitalSignItemDetailsScreen extends StatelessWidget {
final VitalSignDetails pageKey; final VitalSignDetails pageKey;
@ -15,43 +17,56 @@ class VitalSignItemDetailsScreen extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
ProjectViewModel projectViewModel = Provider.of(context);
switch (pageKey) { switch (pageKey) {
case VitalSignDetails.BodyMeasurements: case VitalSignDetails.BodyMeasurements:
VSchart = [ VSchart = [
{ {
'name': 'Height', 'name': 'Height',
'nameAr': 'الطول',
'title1': 'Date', 'title1': 'Date',
'title2': 'Cm', 'title2': 'Cm',
'title2Ar': 'سم',
'viewKey': 'HeightCm', 'viewKey': 'HeightCm',
}, },
{ {
'name': 'Weight Kg', 'name': 'Weight Kg',
'nameAr': 'الوزن كجم',
'title1': 'Date', 'title1': 'Date',
'title2': 'Kg', 'title2': 'Kg',
'title2Ar': 'كجم',
'viewKey': 'WeightKg', 'viewKey': 'WeightKg',
}, },
{ {
'name': 'BodyMassIndex', 'name': 'Body Mass Index',
'nameAr': 'مؤشر كتلة الجسم',
'title1': 'Date', 'title1': 'Date',
'title2': 'BodyMass', 'title2': 'BodyMass',
'title2Ar': 'كتلة الجسم',
'viewKey': 'BodyMassIndex', 'viewKey': 'BodyMassIndex',
}, },
{ {
'name': 'HeadCircumCm', 'name': 'Head Circum Cm',
'nameAr': 'محيط رأس سم',
'title1': 'Date', 'title1': 'Date',
'title2': 'Cm', 'title2': 'Cm',
'title2Ar': 'سم',
'viewKey': 'HeadCircumCm', 'viewKey': 'HeadCircumCm',
}, },
{ {
'name': 'Ideal Body Weight (Lbs)', 'name': 'Ideal Body Weight (Lbs)',
'nameAr': 'وزن الجسم المثالي (رطل)',
'title1': 'Date', 'title1': 'Date',
'title2': 'Ideal Weight', 'title2': 'Ideal Weight',
'title2Ar': 'الوزن المثالي',
'viewKey': 'IdealBodyWeightLbs', 'viewKey': 'IdealBodyWeightLbs',
}, },
{ {
'name': 'LeanBodyWeightLbs (Lbs)', 'name': 'Lean Body WeightLbs (Lbs)',
'nameAr': 'رطل وزن الجسم النحيل (رطل)',
'title1': 'Date', 'title1': 'Date',
'title2': 'Lean Weight', 'title2': 'Lean Weight',
'title2Ar': 'وزن خفيف',
'viewKey': 'LeanBodyWeightLbs', 'viewKey': 'LeanBodyWeightLbs',
} }
]; ];
@ -61,9 +76,11 @@ class VitalSignItemDetailsScreen extends StatelessWidget {
case VitalSignDetails.Temperature: case VitalSignDetails.Temperature:
VSchart = [ VSchart = [
{ {
'name': 'Temperature In Celcius', 'name': 'Temperature In Celsius',
'nameAr': 'درجة الحرارة بالدرجة المئوية',
'title1': 'Date', 'title1': 'Date',
'title2': 'C', 'title2': 'C',
'title2Ar': 'ْس',
'viewKey': 'TemperatureCelcius', 'viewKey': 'TemperatureCelcius',
}, },
]; ];
@ -73,8 +90,10 @@ class VitalSignItemDetailsScreen extends StatelessWidget {
VSchart = [ VSchart = [
{ {
'name': 'Pulse Beat Per Minute', 'name': 'Pulse Beat Per Minute',
'nameAr': 'نبضة نبضة في الدقيقة',
'title1': 'Date', 'title1': 'Date',
'title2': 'Minute', 'title2': 'Minute',
'title2Ar': 'دقيقة',
'viewKey': 'PulseBeatPerMinute', 'viewKey': 'PulseBeatPerMinute',
}, },
]; ];
@ -84,8 +103,10 @@ class VitalSignItemDetailsScreen extends StatelessWidget {
VSchart = [ VSchart = [
{ {
'name': 'Respiration Beat Per Minute', 'name': 'Respiration Beat Per Minute',
'nameAr': 'ضربات التنفس في الدقيقة',
'title1': 'Date', 'title1': 'Date',
'title2': 'Beat Per Minute', 'title2': 'Beat Per Minute',
'title2Ar': 'نفس في الدقيقة',
'viewKey': 'RespirationBeatPerMinute', 'viewKey': 'RespirationBeatPerMinute',
}, },
]; ];
@ -95,14 +116,18 @@ class VitalSignItemDetailsScreen extends StatelessWidget {
VSchart = [ VSchart = [
{ {
'name': 'Blood Pressure Higher', 'name': 'Blood Pressure Higher',
'nameAr': 'ضغط الدم الإنقباض',
'title1': 'Date', 'title1': 'Date',
'title2': 'Minute', 'title2': 'Minute',
'title2Ar': 'الإنقباض',
'viewKey': 'BloodPressureHigher', 'viewKey': 'BloodPressureHigher',
}, },
{ {
'name': 'Blood Pressure Lower', 'name': 'Blood Pressure Lower',
'nameAr': 'ضغط الدم الإنبساط',
'title1': 'Date', 'title1': 'Date',
'title2': 'Minute', 'title2': 'Minute',
'title2Ar': 'الإنبساط',
'viewKey': 'BloodPressureLower', 'viewKey': 'BloodPressureLower',
} }
]; ];
@ -112,8 +137,10 @@ class VitalSignItemDetailsScreen extends StatelessWidget {
VSchart = [ VSchart = [
{ {
'name': 'Respiration Rate', 'name': 'Respiration Rate',
'nameAr': 'معدل التنفس',
'title1': 'Date', 'title1': 'Date',
'title2': 'bpm', 'title2': 'bpm',
'title2Ar': 'نفس',
'viewKey': 'RespirationBeatPerMinute', 'viewKey': 'RespirationBeatPerMinute',
}, },
]; ];
@ -123,8 +150,10 @@ class VitalSignItemDetailsScreen extends StatelessWidget {
VSchart = [ VSchart = [
{ {
'name': 'FIO2', 'name': 'FIO2',
'nameAr': 'معدل النبض بالدقيقة',
'title1': 'Date', 'title1': 'Date',
'title2': 'bpm', 'title2': 'bpm',
'title2Ar': 'نبضة',
'viewKey': 'PulseBeatPerMinute', 'viewKey': 'PulseBeatPerMinute',
}, },
]; ];
@ -134,8 +163,10 @@ class VitalSignItemDetailsScreen extends StatelessWidget {
VSchart = [ VSchart = [
{ {
'name': 'PainScore', 'name': 'PainScore',
'nameAr': 'نقاط الألم',
'title1': 'Date', 'title1': 'Date',
'title2': 'Cm', 'title2': 'Cm',
'title2Ar': 'سم',
'viewKey': 'PainScore', 'viewKey': 'PainScore',
}, },
]; ];
@ -145,8 +176,10 @@ class VitalSignItemDetailsScreen extends StatelessWidget {
VSchart = [ VSchart = [
{ {
'name': 'Weight Kg', 'name': 'Weight Kg',
'nameAr': 'الوزن كجم',
'title1': 'Date', 'title1': 'Date',
'title2': 'Kg', 'title2': 'Kg',
'title2Ar': 'كجم',
'viewKey': 'WeightKg', 'viewKey': 'WeightKg',
}, },
]; ];
@ -157,8 +190,10 @@ class VitalSignItemDetailsScreen extends StatelessWidget {
VSchart = [ VSchart = [
{ {
'name': 'Height Cm', 'name': 'Height Cm',
'nameAr': 'الطول سم',
'title1': 'Date', 'title1': 'Date',
'title2': 'Cm', 'title2': 'Cm',
'title2Ar': 'سم',
'viewKey': 'HeightCm', 'viewKey': 'HeightCm',
}, },
]; ];
@ -177,9 +212,9 @@ class VitalSignItemDetailsScreen extends StatelessWidget {
return vitalListTemp.length != 0 return vitalListTemp.length != 0
? VitalSingChartAndDetials( ? VitalSingChartAndDetials(
vitalList: vitalList, vitalList: vitalList,
name: chartInfo['name'], name:projectViewModel.isArabic? chartInfo['nameAr']:chartInfo['name'],
title1: chartInfo['title1'], title1: chartInfo['title1'],
title2: chartInfo['title2'], title2:projectViewModel.isArabic?chartInfo['title2Ar']: chartInfo['title2'],
viewKey: chartInfo['viewKey']) viewKey: chartInfo['viewKey'])
: Container(); : Container();
}).toList(), }).toList(),

@ -45,7 +45,7 @@ class VitalSingChartAndDetials extends StatelessWidget {
endDate: vitalList[0].vitalSignDate, endDate: vitalList[0].vitalSignDate,
), ),
bodyWidget: VitalSignDetailsWidget( bodyWidget: VitalSignDetailsWidget(
vitalList: vitalList.reversed.toList(), vitalList: vitalList,
title1: title1, title1: title1,
title2: title2, title2: title2,
viewKey: viewKey, viewKey: viewKey,
@ -59,6 +59,7 @@ class VitalSingChartAndDetials extends StatelessWidget {
if (vitalList.length > 0) { if (vitalList.length > 0) {
vitalList.forEach( vitalList.forEach(
(element) { (element) {
if( element.toJson()[viewKey]?.toInt()!=0)
timeSeriesData.add( timeSeriesData.add(
TimeSeriesSales( TimeSeriesSales(
new DateTime(element.vitalSignDate.year, new DateTime(element.vitalSignDate.year,

@ -50,11 +50,15 @@ class PaymentService extends StatelessWidget {
fontSize: 14, fontSize: 14,
fontWeight: FontWeight.normal, fontWeight: FontWeight.normal,
), ),
Image.asset( SizedBox(height: 12,),
'assets/images/al-habib_online_payment_service_icon.png', Container(
fit: BoxFit.fill, margin: EdgeInsets.only(left: 10,right: 10),
height: 55, child: Image.asset(
width: double.infinity, 'assets/images/online_payment_icon.png',
fit: BoxFit.fill,
height: 55,
width: double.infinity,
),
), ),
], ],
), ),
@ -82,12 +86,13 @@ class PaymentService extends StatelessWidget {
fontSize: 14, fontSize: 14,
fontWeight: FontWeight.normal, fontWeight: FontWeight.normal,
), ),
SizedBox(height: 12,),
Align( Align(
alignment: projectViewModel.isArabic alignment: !projectViewModel.isArabic
? Alignment.centerRight ? Alignment.centerRight
: Alignment.centerLeft, : Alignment.centerLeft,
child: Image.asset( child: Image.asset(
'assets/images/al-habib_online_payment_service_icon.png', 'assets/images/device_icon.png',
height: 55, height: 55,
), ),
), ),
@ -124,12 +129,13 @@ class PaymentService extends StatelessWidget {
fontSize: 14, fontSize: 14,
fontWeight: FontWeight.normal, fontWeight: FontWeight.normal,
), ),
SizedBox(height: 12,),
Align( Align(
alignment: projectViewModel.isArabic alignment: !projectViewModel.isArabic
? Alignment.centerRight ? Alignment.centerRight
: Alignment.centerLeft, : Alignment.centerLeft,
child: Image.asset( child: Image.asset(
'assets/images/al-habib_online_payment_service_icon.png', 'assets/images/new-design/check-in.png',
height: 55, height: 55,
), ),
), ),

@ -25,6 +25,7 @@ class _FloatingButtonState extends State<FloatingButton>
AnimationController _animationController; AnimationController _animationController;
Animation _animation; Animation _animation;
PermissionService permission = new PermissionService(); PermissionService permission = new PermissionService();
@override @override
void initState() { void initState() {
_animationController = AnimationController( _animationController = AnimationController(
@ -63,16 +64,17 @@ class _FloatingButtonState extends State<FloatingButton>
onTapCancel: () { onTapCancel: () {
_animationController.forward(); _animationController.forward();
}, },
onTap: (){permission.vibrate(widget.onTap, context);}, onTap: () {
permission.vibrate(widget.onTap, context);
},
behavior: HitTestBehavior.opaque, behavior: HitTestBehavior.opaque,
child: Transform.scale( child: Transform.scale(
scale: _buttonSize, scale: _buttonSize,
child: AnimatedContainer( child: AnimatedContainer(
duration: Duration(milliseconds: 150), duration: Duration(milliseconds: 150),
margin: EdgeInsets.only(bottom: 4), margin: EdgeInsets.only(bottom: 4),
padding: EdgeInsets.symmetric(vertical: 24, horizontal: 24),
decoration: BoxDecoration( decoration: BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(54.0)), borderRadius: BorderRadius.all(Radius.circular(70.0)),
color: Theme.of(context).primaryColor, color: Theme.of(context).primaryColor,
boxShadow: [ boxShadow: [
BoxShadow( BoxShadow(
@ -81,31 +83,15 @@ class _FloatingButtonState extends State<FloatingButton>
spreadRadius: spreadRadius:
_buttonSize < 1.0 ? -(1 - _buttonSize) * 50 : 0.0, _buttonSize < 1.0 ? -(1 - _buttonSize) * 50 : 0.0,
offset: Offset(0, 7.0), offset: Offset(0, 7.0),
blurRadius: 55.0) blurRadius: 70.0)
]), ]),
child: Container( child: Image.asset(
child: Column( projectViewModel.isArabic
children: [ ? 'assets/images/booking_ar.png'
Icon(EvaIcons.calendar,color: Colors.white,size: 23,), : 'assets/images/booking_en.png',
Texts( // fit: BoxFit.cover,
TranslationBase.of(context).book, width: 90,
bold: !projectViewModel.isArabic, height: 90,
color: Colors.white,
fontSize: projectViewModel.isArabic ? 8 : 17,
),
Texts(
TranslationBase.of(context).appointmentLabel,
bold: projectViewModel.isArabic,
color: Colors.white,
fontSize:projectViewModel.isArabic ? 8.8 : 8,
),
],
),
width: 54,
height: 54,
decoration: BoxDecoration(
shape: BoxShape.circle,
),
), ),
)), )),
)); ));

Loading…
Cancel
Save