diff --git a/lib/screens/patients/profile/vital_sign/LineChartCurved.dart b/lib/screens/patients/profile/vital_sign/LineChartCurved.dart index 6e9c425e..e87a7a39 100644 --- a/lib/screens/patients/profile/vital_sign/LineChartCurved.dart +++ b/lib/screens/patients/profile/vital_sign/LineChartCurved.dart @@ -1,3 +1,4 @@ +import 'package:date_time_picker/date_time_picker.dart'; import 'package:doctor_app_flutter/config/size_config.dart'; import 'package:doctor_app_flutter/widgets/charts/app_time_series_chart.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; @@ -14,6 +15,11 @@ class LineChartCurved extends StatelessWidget { List xAxixs = List(); List yAxixs = List(); + // DateFormat format = DateFormat("yyyy-MM-dd"); + DateFormat yearFormat = DateFormat("yyyy/MMM"); + DateFormat monthFormat = DateFormat("MMM"); + bool isDatesSameYear = true; + @override Widget build(BuildContext context) { getXaxix(); @@ -38,7 +44,7 @@ class LineChartCurved extends StatelessWidget { children: [ AppText( title, - fontSize: SizeConfig.textMultiplier * 2.5, + fontSize: SizeConfig.textMultiplier * 2.1, fontWeight: FontWeight.bold, backGroundcolor: Colors.black, fontFamily: 'Poppins', @@ -47,7 +53,9 @@ class LineChartCurved extends StatelessWidget { ], ), ), - SizedBox(height: 16,), + SizedBox( + height: 16, + ), Expanded( child: Padding( padding: const EdgeInsets.only(right: 18.0, left: 16.0), @@ -74,8 +82,9 @@ class LineChartCurved extends StatelessWidget { } } } + getYaxix() { - int indexess= (timeSeries.length*0.30).toInt(); + int indexess = (timeSeries.length * 0.30).toInt(); for (int index = 0; index < timeSeries.length; index++) { int mIndex = indexess * index; if (mIndex < timeSeries.length) { @@ -89,7 +98,6 @@ class LineChartCurved extends StatelessWidget { lineTouchData: LineTouchData( touchTooltipData: LineTouchTooltipData( tooltipBgColor: Colors.white, - ), touchCallback: (LineTouchResponse touchResponse) {}, handleBuiltInTouches: true, @@ -103,12 +111,23 @@ class LineChartCurved extends StatelessWidget { color: Colors.black, fontSize: 10, ), - rotateAngle:-65, + rotateAngle: -65, //rotateAngle:-65, margin: 22, getTitles: (value) { - if (timeSeries.length < 15) { + if (timeSeries.length > value.toInt()) { + DateTime dateTime = timeSeries[value.toInt()].time; + if (isDatesSameYear) { + return monthFormat.format(dateTime); + } else { + return yearFormat.format(dateTime); + } + } else { + return ''; + } + /*if (timeSeries.length < 15) { if (timeSeries.length > value.toInt()) { + DateTime dateTime = timeSeries[value.toInt()].time; return '${timeSeries[value.toInt()].time.month}/ ${timeSeries[value.toInt()].time.year}'; } else return ''; @@ -120,7 +139,7 @@ class LineChartCurved extends StatelessWidget { if (xAxixs.contains(value.toInt())) { return '${timeSeries[value.toInt()].time.month}/ ${timeSeries[value.toInt()].time.year}'; } - } + }*/ return ''; }, ), @@ -169,7 +188,7 @@ class LineChartCurved extends StatelessWidget { ), minX: 0, maxX: (timeSeries.length - 1).toDouble(), - maxY: getMaxY()+0.3, + maxY: getMaxY() + 0.3, minY: getMinY(), lineBarsData: getData(context), ); @@ -182,7 +201,7 @@ class LineChartCurved extends StatelessWidget { if (resultValueDouble > max) max = resultValueDouble; }); - return max.roundToDouble() ; + return max.roundToDouble(); } double getMinY() { @@ -198,14 +217,22 @@ class LineChartCurved extends StatelessWidget { List getData(context) { List spots = List(); + isDatesSameYear = true; + int previousDateYear = 0; for (int index = 0; index < timeSeries.length; index++) { spots.add(FlSpot(index.toDouble(), timeSeries[index].sales)); + if (isDatesSameYear == false || + (previousDateYear != 0 && + previousDateYear != timeSeries[index].time.year)) { + isDatesSameYear = false; + } + previousDateYear = timeSeries[index].time.year; } final LineChartBarData lineChartBarData1 = LineChartBarData( spots: spots, isCurved: true, - colors: [Theme.of(context).primaryColor], + colors: [Colors.red]/*[Theme.of(context).primaryColor]*/, barWidth: 5, isStrokeCapRound: true, dotData: FlDotData( diff --git a/lib/screens/patients/profile/vital_sign/LineChartCurvedBloodPressure.dart b/lib/screens/patients/profile/vital_sign/LineChartCurvedBloodPressure.dart index ecc0f134..5eea8f3d 100644 --- a/lib/screens/patients/profile/vital_sign/LineChartCurvedBloodPressure.dart +++ b/lib/screens/patients/profile/vital_sign/LineChartCurvedBloodPressure.dart @@ -40,7 +40,7 @@ class LineChartCurvedBloodPressure extends StatelessWidget { children: [ AppText( title, - fontSize: SizeConfig.textMultiplier * 2.5, + fontSize: SizeConfig.textMultiplier * 2.1, fontWeight: FontWeight.bold, backGroundcolor: Colors.black, fontFamily: 'Poppins', diff --git a/lib/screens/patients/profile/vital_sign/vital_sign_details_blood_pressurewideget.dart b/lib/screens/patients/profile/vital_sign/vital_sign_details_blood_pressurewideget.dart index 78293f31..98238c58 100644 --- a/lib/screens/patients/profile/vital_sign/vital_sign_details_blood_pressurewideget.dart +++ b/lib/screens/patients/profile/vital_sign/vital_sign_details_blood_pressurewideget.dart @@ -62,7 +62,7 @@ class _VitalSignDetailsWidgetState extends State { ),*/ child: AppText( TranslationBase.of(context).date, - fontSize: SizeConfig.textMultiplier * 2.0, + fontSize: SizeConfig.textMultiplier * 1.5, fontWeight: FontWeight.bold, backGroundcolor: Colors.black, fontFamily: 'Poppins', @@ -84,7 +84,7 @@ class _VitalSignDetailsWidgetState extends State { ),*/ child: AppText( widget.title2, - fontSize: SizeConfig.textMultiplier * 2.0, + fontSize: SizeConfig.textMultiplier * 1.5, fontWeight: FontWeight.bold, backGroundcolor: Colors.black, fontFamily: 'Poppins', @@ -106,7 +106,7 @@ class _VitalSignDetailsWidgetState extends State { ),*/ child: AppText( widget.title3, - fontSize: SizeConfig.textMultiplier * 2.0, + fontSize: SizeConfig.textMultiplier * 1.5, fontWeight: FontWeight.bold, backGroundcolor: Colors.black, fontFamily: 'Poppins', @@ -123,8 +123,8 @@ class _VitalSignDetailsWidgetState extends State { color: Colors.black, ), Table( - border: TableBorder.symmetric( - inside: BorderSide(width: 1.0, color: Colors.grey[300]), + border: TableBorder( + horizontalInside: BorderSide(width: 1.0, color: Colors.grey[300]), ), children: fullData(projectViewModel), ), @@ -165,7 +165,7 @@ class _VitalSignDetailsWidgetState extends State { child: AppText( '${projectViewModel.isArabic ? DateUtils.getWeekDayArabic(elementDate.weekday) : DateUtils.getWeekDay(elementDate.weekday)}, ${elementDate.day} ${projectViewModel.isArabic ? DateUtils.getMonthArabic(elementDate.month) : DateUtils.getMonth(elementDate.month)}, ${elementDate.year} ', // textAlign: TextAlign.center, - fontSize: SizeConfig.textMultiplier * 1.8, + fontSize: SizeConfig.textMultiplier * 1.6, fontWeight: FontWeight.w600, backGroundcolor: Colors.black, fontFamily: 'Poppins', @@ -179,7 +179,7 @@ class _VitalSignDetailsWidgetState extends State { child: AppText( '${vital.toJson()[widget.viewKey1]}', // textAlign: TextAlign.center, - fontSize: SizeConfig.textMultiplier * 1.8, + fontSize: SizeConfig.textMultiplier * 1.6, fontWeight: FontWeight.w600, backGroundcolor: Colors.black, fontFamily: 'Poppins', @@ -193,7 +193,7 @@ class _VitalSignDetailsWidgetState extends State { child: AppText( '${vital.toJson()[widget.viewKey2]}', // textAlign: TextAlign.center, - fontSize: SizeConfig.textMultiplier * 1.8, + fontSize: SizeConfig.textMultiplier * 1.6, fontWeight: FontWeight.w600, backGroundcolor: Colors.black, fontFamily: 'Poppins', diff --git a/lib/screens/patients/profile/vital_sign/vital_sign_details_wideget.dart b/lib/screens/patients/profile/vital_sign/vital_sign_details_wideget.dart index 65122b31..4941ed87 100644 --- a/lib/screens/patients/profile/vital_sign/vital_sign_details_wideget.dart +++ b/lib/screens/patients/profile/vital_sign/vital_sign_details_wideget.dart @@ -55,7 +55,7 @@ class _VitalSignDetailsWidgetState extends State { ),*/ child: AppText( TranslationBase.of(context).date, - fontSize: SizeConfig.textMultiplier * 2.0, + fontSize: SizeConfig.textMultiplier * 1.6, fontWeight: FontWeight.bold, backGroundcolor: Colors.black, fontFamily: 'Poppins', @@ -77,7 +77,7 @@ class _VitalSignDetailsWidgetState extends State { ),*/ child: AppText( widget.title2, - fontSize: SizeConfig.textMultiplier * 2.0, + fontSize: SizeConfig.textMultiplier * 1.6, fontWeight: FontWeight.bold, backGroundcolor: Colors.black, fontFamily: 'Poppins', @@ -94,8 +94,8 @@ class _VitalSignDetailsWidgetState extends State { color: Colors.black, ), Table( - border: TableBorder.symmetric( - inside: BorderSide(width: 1.0, color: Colors.grey[300]), + border: TableBorder( + horizontalInside: BorderSide(width: 1.0, color: Colors.grey[300]), ), children: fullData(projectViewModel), ), @@ -107,7 +107,7 @@ class _VitalSignDetailsWidgetState extends State { List fullData(ProjectViewModel projectViewModel) { List tableRow = []; - /* tableRow.add(TableRow(children: [ + /* tableRow.add(TableRow(children: [ ]));*/ widget.vitalList.forEach((vital) { diff --git a/lib/screens/patients/profile/vital_sign/vital_sing_chart_and_detials.dart b/lib/screens/patients/profile/vital_sign/vital_sing_chart_and_detials.dart index 0fe640ff..a48afcf3 100644 --- a/lib/screens/patients/profile/vital_sign/vital_sing_chart_and_detials.dart +++ b/lib/screens/patients/profile/vital_sign/vital_sing_chart_and_detials.dart @@ -63,7 +63,7 @@ class VitalSingChartAndDetials extends StatelessWidget { children: [ AppText( "Graph Details", - fontSize: SizeConfig.textMultiplier * 2.8, + fontSize: SizeConfig.textMultiplier * 2.1, fontWeight: FontWeight.bold, backGroundcolor: Colors.black, fontFamily: 'Poppins', diff --git a/lib/screens/patients/profile/vital_sign/vital_sing_chart_blood_pressure.dart b/lib/screens/patients/profile/vital_sign/vital_sing_chart_blood_pressure.dart index e424bc72..934a88b8 100644 --- a/lib/screens/patients/profile/vital_sign/vital_sing_chart_blood_pressure.dart +++ b/lib/screens/patients/profile/vital_sign/vital_sing_chart_blood_pressure.dart @@ -68,7 +68,7 @@ class VitalSingChartBloodPressure extends StatelessWidget { children: [ AppText( "Graph Details", - fontSize: SizeConfig.textMultiplier * 2.8, + fontSize: SizeConfig.textMultiplier * 2.3, fontWeight: FontWeight.bold, backGroundcolor: Colors.black, fontFamily: 'Poppins',