move referral patient

login_design_fixes
Elham Rababah 3 years ago
parent 4a9748739e
commit 01abd02d19

@ -0,0 +1,174 @@
import 'package:charts_flutter/flutter.dart' as charts;
import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:doctor_app_flutter/core/viewModel/dashboard_view_model.dart';
import 'package:doctor_app_flutter/models/dashboard/dashboard_model.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/dashboard/guage_chart.dart';
import 'package:doctor_app_flutter/widgets/dashboard/row_count.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/rounded_container_widget.dart';
import 'package:flutter/material.dart';
class DashboardReferralPatient extends StatelessWidget {
final List<DashboardModel> dashboardItemList;
final double height;
final DashboardViewModel model;
const DashboardReferralPatient({Key key, this.dashboardItemList, this.height, this.model}) : super(key: key);
@override
Widget build(BuildContext context) {
return RoundedContainer(
raduis: 16,
showBorder: true,
borderColor: Colors.white,
shadowWidth: 0.2,
shadowSpreadRadius: 3,
shadowDy: 1,
margin: EdgeInsets.only(top: 15, bottom: 15, left: 10, right: 10),
child:
Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.start,
children: [
Expanded(
flex: 1,
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Expanded(
flex: 4,
child: Padding(
padding: const EdgeInsets.all(5.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Padding(
padding: EdgeInsets.all(8),
child: Column(
mainAxisAlignment:
MainAxisAlignment.center,
crossAxisAlignment:
CrossAxisAlignment.start,
children: [
AppText(
TranslationBase.of(context)
.patients,
fontSize: SizeConfig.getTextMultiplierBasedOnWidth() * 3,
fontWeight: FontWeight.bold,
fontHeight: 0.5,
),
AppText(
TranslationBase.of(context)
.referral,
fontSize: SizeConfig.getTextMultiplierBasedOnWidth() * 5,
fontWeight: FontWeight.bold,
),
SizedBox(
height: SizeConfig.getHeightMultiplier(height: height) * (SizeConfig.isHeightShort?14: 20)
)
],
),),
Expanded(
flex: 1,
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
RowCounts(
dashboardItemList[2]
.summaryoptions[0]
.kPIParameter,
dashboardItemList[2]
.summaryoptions[0]
.value,
Colors.black, height: height,),
RowCounts(
dashboardItemList[2]
.summaryoptions[1]
.kPIParameter,
dashboardItemList[2]
.summaryoptions[1]
.value,
Colors.grey, height: height,),
RowCounts(
dashboardItemList[2]
.summaryoptions[2]
.kPIParameter,
dashboardItemList[2]
.summaryoptions[2]
.value,
Colors.red, height: height,),
],
),
)
],
)),
),
Expanded(
flex: 3,
child: Stack(children: [
Container(
padding:EdgeInsets.all(0),
child: GaugeChart(
_createReferralData(dashboardItemList))),
Positioned(
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
AppText(
model
.getPatientCount(dashboardItemList[2])
.toString(),
fontSize: SizeConfig.textMultiplier * 3.0,
fontWeight: FontWeight.bold,
)
],
),
top: height * .35,
left: 0,
right: 0)
]),
),
],
)),
]));
}
static List<charts.Series<GaugeSegment, String>> _createReferralData(List<DashboardModel> dashboardItemList) {
final data = [
new GaugeSegment(
dashboardItemList[2].summaryoptions[0].kPIParameter,
getValue(dashboardItemList[1].summaryoptions[0].value),
charts.MaterialPalette.black),
new GaugeSegment(
dashboardItemList[2].summaryoptions[1].kPIParameter,
getValue(dashboardItemList[1].summaryoptions[1].value),
charts.MaterialPalette.gray.shadeDefault),
new GaugeSegment(
dashboardItemList[2].summaryoptions[2].kPIParameter,
getValue(dashboardItemList[1].summaryoptions[2].value),
charts.MaterialPalette.red.shadeDefault),
];
return [
new charts.Series<GaugeSegment, String>(
id: 'Segments',
domainFn: (GaugeSegment segment, _) => segment.segment,
measureFn: (GaugeSegment segment, _) => segment.size,
data: data,
colorFn: (GaugeSegment segment, _) => segment.color,
)
];
}
static int getValue(value) {
return value == 0 ? 1 : value;
}
}

@ -24,7 +24,7 @@ class DashboardSliderItemWidget extends StatelessWidget {
],
),
new Container(
height: SizeConfig.heightMultiplier* (SizeConfig.isHeightShort?15:11),
height: SizeConfig.heightMultiplier* (SizeConfig.isHeightShort?13:12),
child: ListView(
scrollDirection: Axis.horizontal,
children:

@ -1,17 +1,14 @@
import 'package:charts_flutter/flutter.dart' as charts;
import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:doctor_app_flutter/core/viewModel/dashboard_view_model.dart';
import 'package:doctor_app_flutter/models/dashboard/dashboard_model.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/dashboard/guage_chart.dart';
import 'package:doctor_app_flutter/widgets/dashboard/out_patient_stack.dart';
import 'package:doctor_app_flutter/widgets/dashboard/row_count.dart';
import 'package:doctor_app_flutter/widgets/dashboard/swiper_rounded_pagination.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/rounded_container_widget.dart';
import 'package:flutter/material.dart';
import 'package:flutter_swiper/flutter_swiper.dart';
import 'dashboard_referral_patient.dart';
class DashboardSwipeWidget extends StatefulWidget {
final List<DashboardModel> dashboardItemList;
final DashboardViewModel model;
@ -29,7 +26,7 @@ class _DashboardSwipeWidgetState extends State<DashboardSwipeWidget> {
@override
Widget build(BuildContext context) {
double height = SizeConfig.heightMultiplier *
(SizeConfig.isHeightShort ? 40 : 30);
(SizeConfig.isHeightShort ? 40 : 37);
return Container(
height: height,
// height: 230,
@ -46,7 +43,6 @@ class _DashboardSwipeWidgetState extends State<DashboardSwipeWidget> {
return getSwipeWidget(widget.dashboardItemList, index, height);
},
itemCount: 3,
// itemHeight: 300,
pagination: new SwiperCustomPagination(
builder: (BuildContext context, SwiperPluginConfig config) {
return new Stack(
@ -116,156 +112,12 @@ class _DashboardSwipeWidgetState extends State<DashboardSwipeWidget> {
padding: const EdgeInsets.all(5.0),
child: GetOutPatientStack(dashboardItemList[0])));
if (index == 2)
return RoundedContainer(
raduis: 16,
showBorder: true,
borderColor: Colors.white,
shadowWidth: 0.2,
shadowSpreadRadius: 3,
shadowDy: 1,
margin: EdgeInsets.only(top: 15, bottom: 15, left: 10, right: 10),
child:
Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.start,
children: [
Expanded(
flex: 1,
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Expanded(
flex: 4,
child: Padding(
padding: const EdgeInsets.all(5.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Padding(
padding: EdgeInsets.all(8),
child: Column(
mainAxisAlignment:
MainAxisAlignment.center,
crossAxisAlignment:
CrossAxisAlignment.start,
children: [
AppText(
TranslationBase.of(context)
.patients,
fontSize: SizeConfig.getTextMultiplierBasedOnWidth() * 3,
fontWeight: FontWeight.bold,
fontHeight: 0.5,
),
AppText(
TranslationBase.of(context)
.referral,
fontSize: SizeConfig.getTextMultiplierBasedOnWidth() * 5,
fontWeight: FontWeight.bold,
),
SizedBox(
height: SizeConfig.getHeightMultiplier(height: height) * (SizeConfig.isHeightShort?0: 7)
)
],
),),
Expanded(
flex: 1,
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
RowCounts(
dashboardItemList[2]
.summaryoptions[0]
.kPIParameter,
dashboardItemList[2]
.summaryoptions[0]
.value,
Colors.black),
RowCounts(
dashboardItemList[2]
.summaryoptions[1]
.kPIParameter,
dashboardItemList[2]
.summaryoptions[1]
.value,
Colors.grey),
RowCounts(
dashboardItemList[2]
.summaryoptions[2]
.kPIParameter,
dashboardItemList[2]
.summaryoptions[2]
.value,
Colors.red),
],
),
)
],
)),
),
Expanded(
flex: 3,
child: Stack(children: [
Container(
padding:EdgeInsets.all(0),
child: GaugeChart(
_createReferralData(widget.dashboardItemList))),
Positioned(
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
AppText(
widget.model
.getPatientCount(dashboardItemList[2])
.toString(),
fontSize: SizeConfig.textMultiplier * 3.0,
fontWeight: FontWeight.bold,
)
],
),
top: height * .35,
left: 0,
right: 0)
]),
),
],
)),
]));
return DashboardReferralPatient(dashboardItemList: widget.dashboardItemList,height: height,model: widget.model,);
return Container();
}
static List<charts.Series<GaugeSegment, String>> _createReferralData(List<DashboardModel> dashboardItemList) {
final data = [
new GaugeSegment(
dashboardItemList[2].summaryoptions[0].kPIParameter,
getValue(dashboardItemList[1].summaryoptions[0].value),
charts.MaterialPalette.black),
new GaugeSegment(
dashboardItemList[2].summaryoptions[1].kPIParameter,
getValue(dashboardItemList[1].summaryoptions[1].value),
charts.MaterialPalette.gray.shadeDefault),
new GaugeSegment(
dashboardItemList[2].summaryoptions[2].kPIParameter,
getValue(dashboardItemList[1].summaryoptions[2].value),
charts.MaterialPalette.red.shadeDefault),
];
return [
new charts.Series<GaugeSegment, String>(
id: 'Segments',
domainFn: (GaugeSegment segment, _) => segment.segment,
measureFn: (GaugeSegment segment, _) => segment.size,
data: data,
colorFn: (GaugeSegment segment, _) => segment.color,
)
];
}
static int getValue(value) {
return value == 0 ? 1 : value;
}
}

@ -22,7 +22,7 @@ class HomePatientCard extends StatelessWidget {
@override
Widget build(BuildContext context) {
double width = SizeConfig.heightMultiplier* (SizeConfig.isHeightShort?18:11);
double width = SizeConfig.heightMultiplier* (SizeConfig.isHeightShort?16:11);
return HomePageCard(
color: backgroundColor,
width: width,
@ -72,7 +72,7 @@ class HomePatientCard extends StatelessWidget {
text,
color: textColor,
textAlign: TextAlign.start,
fontSize: SizeConfig.getTextMultiplierBasedOnWidth(width: width) * 12,
fontSize: SizeConfig.getTextMultiplierBasedOnWidth(width: width) * (SizeConfig.isHeightShort?10:12),
),
),
),

@ -119,7 +119,7 @@ class _HomeScreenState extends State<HomeScreen> {
return Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment:
MainAxisAlignment.start,
MainAxisAlignment.end,
children: <Widget>[
Column(
mainAxisAlignment:
@ -142,8 +142,8 @@ class _HomeScreenState extends State<HomeScreen> {
),
constraints:
BoxConstraints(
minWidth: SizeConfig.widthMultiplier* 6,
minHeight: SizeConfig.widthMultiplier* 6,
minWidth: SizeConfig.widthMultiplier* 5.5,
minHeight: SizeConfig.widthMultiplier* 5,
),
child: Center(
child: AppText(
@ -157,7 +157,7 @@ class _HomeScreenState extends State<HomeScreen> {
projectsProvider
.isArabic
? SizeConfig.widthMultiplier* 3.5
: SizeConfig.widthMultiplier* 4,
: SizeConfig.widthMultiplier* 3,
textAlign:
TextAlign
.center,
@ -291,7 +291,7 @@ class _HomeScreenState extends State<HomeScreen> {
height: SizeConfig.heightMultiplier *1,
),
Container(
height: SizeConfig.heightMultiplier* (SizeConfig.isHeightShort?18:11),
height: SizeConfig.heightMultiplier* (SizeConfig.isHeightShort?16:11),
child: ListView(
scrollDirection: Axis.horizontal,
children: [

@ -9,7 +9,7 @@ class GetActivityCard extends StatelessWidget {
@override
Widget build(BuildContext context) {
double width = SizeConfig.heightMultiplier* (SizeConfig.isHeightShort?15:12);
double width = SizeConfig.heightMultiplier* (SizeConfig.isHeightShort?13:12);
return Container(
width: width,
padding: EdgeInsets.all(SizeConfig.heightMultiplier * .3),
@ -19,7 +19,7 @@ class GetActivityCard extends StatelessWidget {
borderRadius: BorderRadius.circular(15),
),
child: Padding(
padding: const EdgeInsets.fromLTRB(8,4, 8, 4),
padding: const EdgeInsets.fromLTRB(8,8, 8, 4),
child: Center(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
@ -34,7 +34,7 @@ class GetActivityCard extends StatelessWidget {
AppText(
value.kPIParameter,
textOverflow: TextOverflow.clip,
fontSize: SizeConfig.getTextMultiplierBasedOnWidth(width: width)* 08,
fontSize: SizeConfig.getTextMultiplierBasedOnWidth(width: width)* (SizeConfig.isHeightShort?6: 8),
color: Color(0xFF2B353E),
textAlign: TextAlign.start,
fontWeight: FontWeight.w700,

@ -33,6 +33,8 @@ class GetOutPatientStack extends StatelessWidget {
}
getStack(Summaryoptions value, max,context) {
double barHeight = SizeConfig.heightMultiplier *
(SizeConfig.isHeightShort ? 30 : 25);
return Expanded(
child: Container(
margin: EdgeInsets.symmetric(horizontal: 2),
@ -55,7 +57,7 @@ class GetOutPatientStack extends StatelessWidget {
child: Container(
child: SizedBox(),
padding: EdgeInsets.all(10),
height: max != 0 ? ((MediaQuery.of(context).size.height * 0.24 )* value.value) / max : 0,
height: max != 0 ? ((barHeight )* value.value) / max : 0,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(8),
color: Color(0x63D02127),
@ -63,7 +65,7 @@ class GetOutPatientStack extends StatelessWidget {
),
),
Container(
height: MediaQuery.of(context).size.height * 0.20,
height: barHeight,
margin: EdgeInsets.only(left: 5, top: 5),
padding: EdgeInsets.all(10),
child: RotatedBox(

@ -5,12 +5,13 @@ import 'package:flutter/material.dart';
class RowCounts extends StatelessWidget {
final name;
final int count;
final double height;
final Color c;
RowCounts(this.name, this.count, this.c);
RowCounts(this.name, this.count, this.c, {this.height});
@override
Widget build(BuildContext context) {
return Container(
padding: EdgeInsets.only(top: 5, bottom: 5),
padding: EdgeInsets.only(top:SizeConfig.getHeightMultiplier(height:height )* 0.2 , bottom: SizeConfig.getHeightMultiplier(height:height )* 0.2),
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
@ -46,8 +47,8 @@ class RowCounts extends StatelessWidget {
Widget dot(Color c) {
return Container(
padding: EdgeInsets.all(5.0),
margin: EdgeInsets.all(5.0),
padding: EdgeInsets.all(SizeConfig.getHeightMultiplier(height:height )* 2),
margin: EdgeInsets.all(SizeConfig.getHeightMultiplier(height:height )* 1),
decoration: BoxDecoration(color: c, shape: BoxShape.circle));
}
}

@ -23,7 +23,7 @@ class BottomNavigationItem extends StatelessWidget {
return Expanded(
child: SizedBox(
height: SizeConfig.heightMultiplier *
(SizeConfig.isHeightShort ? 10 : 8),
(SizeConfig.isHeightShort ? 10 : 6),
child: Material(
type: MaterialType.transparency,
child: InkWell(
@ -42,16 +42,16 @@ class BottomNavigationItem extends StatelessWidget {
? Color(0xFF333C45)
: Theme.of(context).dividerColor,
size: SizeConfig.getHeightMultiplier(height:SizeConfig.heightMultiplier *
(SizeConfig.isHeightShort ? 10 : 8) ) * 40,),
(SizeConfig.isHeightShort ? 10 : 6) ) * 40,),
),
SizedBox(height: SizeConfig.getHeightMultiplier(height:SizeConfig.heightMultiplier *
(SizeConfig.isHeightShort ? 10 : 8) ) * 0.5,),
(SizeConfig.isHeightShort ? 10 : 6) ) * 0.5,),
Expanded(
child: Text(
name,
style: TextStyle(
fontSize: SizeConfig.getTextMultiplierBasedOnWidth() * 4,
fontSize: SizeConfig.getTextMultiplierBasedOnWidth() * 3,
color: currentIndex == index
? Theme.of(context).primaryColor
: Theme.of(context).dividerColor,

Loading…
Cancel
Save