second step from home page.

merge-requests/916/head
Elham Rababh 4 years ago
parent 5f2e0be78c
commit fedb4533c7

@ -19,116 +19,128 @@ class DashboardReferralPatient extends StatelessWidget {
const DashboardReferralPatient({Key key, this.dashboardItemList, this.height, this.model}) : super(key: key); const DashboardReferralPatient({Key key, this.dashboardItemList, this.height, this.model}) : super(key: key);
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return RoundedContainer( return Container(
raduis: 16, margin: EdgeInsets.only(bottom: 20, top: 10, left: 5, right: 5),
showBorder: false, decoration: BoxDecoration(
borderColor: Colors.white,
shadowWidth: 0.2, color: Colors.white,
shadowSpreadRadius: 3, borderRadius: BorderRadius.only(
shadowDy: 1, topLeft: Radius.circular(20),
margin: EdgeInsets.only(top: 15, bottom: 15, left: 10, right: 10), topRight: Radius.circular(20),
child: bottomLeft: Radius.circular(20),
Column(crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start, children: [ bottomRight: Radius.circular(20)
Expanded( ),
flex: 1, boxShadow: [
child: Row( BoxShadow(
crossAxisAlignment: CrossAxisAlignment.start, color: Colors.grey.withOpacity(0.5),
children: [ spreadRadius: 0,
Expanded( blurRadius: 9,
flex: 4, offset: Offset(0, 0), // changes position of shadow
child: Padding( ),
padding: const EdgeInsets.all(5.0), ],
child: Column( ),
mainAxisAlignment: MainAxisAlignment.start, child: Column(crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start, children: [
crossAxisAlignment: CrossAxisAlignment.start, Expanded(
children: [ flex: 1,
Padding( child: Row(
padding: EdgeInsets.all(8), crossAxisAlignment: CrossAxisAlignment.start,
child: Column( children: [
mainAxisAlignment: MainAxisAlignment.center, Expanded(
crossAxisAlignment: CrossAxisAlignment.start, flex: 4,
children: [ child: Padding(
SizedBox( padding: const EdgeInsets.all(5.0),
height: SizeConfig.getHeightMultiplier(height: height) * child: Column(
(SizeConfig.isHeightVeryShort? mainAxisAlignment: MainAxisAlignment.start,
3 crossAxisAlignment: CrossAxisAlignment.start,
: SizeConfig.isHeightShort? children: [
2 Padding(
: 2)), padding: EdgeInsets.all(8),
Label( child: Column(
firstLine: TranslationBase.of(context).patients, mainAxisAlignment: MainAxisAlignment.center,
secondLine: TranslationBase.of(context).referral, crossAxisAlignment: CrossAxisAlignment.start,
color: Color(0xFF2B353E), children: [
secondLineFontSize: SizeConfig.getHeightMultiplier(height: height) * SizedBox(
height: SizeConfig.getHeightMultiplier(height: height) *
(SizeConfig.isHeightVeryShort?
3
: SizeConfig.isHeightShort?
2
: 2)),
Label(
firstLine: TranslationBase.of(context).patients,
secondLine: TranslationBase.of(context).referral,
color: Color(0xFF2B353E),
secondLineFontSize: SizeConfig.getHeightMultiplier(height: height) *
(SizeConfig.isHeightVeryShort?
5
: SizeConfig.isHeightShort?
7
: 12),
),
SizedBox(
height: SizeConfig.getHeightMultiplier(height: height) *
(SizeConfig.isHeightVeryShort? (SizeConfig.isHeightVeryShort?
5 5
: SizeConfig.isHeightShort? : SizeConfig.isHeightShort?
7 10
: 12), : 5))
), ],
SizedBox(
height: SizeConfig.getHeightMultiplier(height: height) *
(SizeConfig.isHeightVeryShort?
5
: SizeConfig.isHeightShort?
10
: 5))
],
),
), ),
Expanded( ),
flex: 1, Expanded(
child: Column( flex: 1,
mainAxisAlignment: MainAxisAlignment.start, child: Column(
crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
children: [ crossAxisAlignment: CrossAxisAlignment.start,
RowCounts( children: [
dashboardItemList[2].summaryoptions[0].kPIParameter, RowCounts(
dashboardItemList[2].summaryoptions[0].value, dashboardItemList[2].summaryoptions[0].kPIParameter,
Colors.black, dashboardItemList[2].summaryoptions[0].value,
height: height, Colors.black,
), height: height,
RowCounts( ),
dashboardItemList[2].summaryoptions[1].kPIParameter, RowCounts(
dashboardItemList[2].summaryoptions[1].value, dashboardItemList[2].summaryoptions[1].kPIParameter,
Colors.grey, dashboardItemList[2].summaryoptions[1].value,
height: height, Colors.grey,
), height: height,
RowCounts( ),
dashboardItemList[2].summaryoptions[2].kPIParameter, RowCounts(
dashboardItemList[2].summaryoptions[2].value, dashboardItemList[2].summaryoptions[2].kPIParameter,
Colors.red, dashboardItemList[2].summaryoptions[2].value,
height: height, 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 * (SizeConfig.isHeightVeryShort ? 0.35 : 0.40),
Expanded( left: 0,
flex: 3, right: 0)
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 * (SizeConfig.isHeightVeryShort ? 0.35 : 0.40),
left: 0,
right: 0)
]),
),
],
)),
]));
} }
static List<charts.Series<GaugeSegment, String>> _createReferralData(List<DashboardModel> dashboardItemList) { static List<charts.Series<GaugeSegment, String>> _createReferralData(List<DashboardModel> dashboardItemList) {

@ -1,9 +1,12 @@
import 'package:doctor_app_flutter/config/size_config.dart'; import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:doctor_app_flutter/models/dashboard/dashboard_model.dart'; import 'package:doctor_app_flutter/models/dashboard/dashboard_model.dart';
import 'package:doctor_app_flutter/util/helpers.dart';
import 'package:doctor_app_flutter/widgets/dashboard/activity_button.dart'; import 'package:doctor_app_flutter/widgets/dashboard/activity_button.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'label.dart';
class DashboardSliderItemWidget extends StatelessWidget { class DashboardSliderItemWidget extends StatelessWidget {
final DashboardModel item; final DashboardModel item;
@ -11,27 +14,37 @@ class DashboardSliderItemWidget extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Column( return Column(
children: [ children: [
Row( Row(
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[ children: <Widget>[
AppText( Container(
item.kPIName, margin: EdgeInsets.symmetric(horizontal: SizeConfig.widthMultiplier *1),
fontSize: SizeConfig.textMultiplier * 2.2,
fontWeight: FontWeight.bold, child: Label(
firstLine: Helpers.getLabelFromKPI(item.kPIName),
secondLine: Helpers.getNameFromKPI(item.kPIName),
),
), ),
], ],
), ),
new Container( new Container(
height: 110, height: SizeConfig.heightMultiplier *
(SizeConfig.isHeightVeryShort
? 16
: SizeConfig.isHeightShort
? 14
: SizeConfig.isHeightLarge
? 15
: 13),
child: ListView( child: ListView(
scrollDirection: Axis.horizontal, scrollDirection: Axis.horizontal,
children: children: List.generate(item.summaryoptions.length, (int index) {
List.generate(item.summaryoptions.length, (int index) { return GetActivityCard(item.summaryoptions[index]);
return GetActivityButton(item.summaryoptions[index]);
}))) })))
], ],
); );
} }
} }

@ -34,6 +34,7 @@ import 'package:sticky_headers/sticky_headers/widget.dart';
import '../../routes.dart'; import '../../routes.dart';
import '../../widgets/shared/app_texts_widget.dart'; import '../../widgets/shared/app_texts_widget.dart';
import 'label.dart';
class HomeScreen extends StatefulWidget { class HomeScreen extends StatefulWidget {
HomeScreen({Key key, this.title}) : super(key: key); HomeScreen({Key key, this.title}) : super(key: key);
@ -284,24 +285,11 @@ class _HomeScreenState extends State<HomeScreen> {
SizedBox( SizedBox(
height: 10, height: 10,
), ),
Container(
child: Column( Label(
mainAxisAlignment: MainAxisAlignment.center, firstLine: TranslationBase.of(context).patients,
crossAxisAlignment: CrossAxisAlignment.start, secondLine: TranslationBase.of(context).services,
children: [ ),
AppText(
TranslationBase.of(context).patients,
fontSize: 12,
fontWeight: FontWeight.bold,
fontHeight: .5,
),
AppText(
TranslationBase.of(context).services,
fontSize: 22,
fontWeight: FontWeight.bold,
),
],
)),
SizedBox( SizedBox(
height: 10, height: 10,
), ),

@ -1,42 +1,49 @@
import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
class GetActivityButton extends StatelessWidget { class GetActivityCard extends StatelessWidget {
final value; final value;
GetActivityButton(this.value); GetActivityCard(this.value);
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
double width = SizeConfig.heightMultiplier* (SizeConfig.isHeightVeryShort?16:SizeConfig.isHeightShort?14:SizeConfig.isHeightLarge?15:13);
return Container( return Container(
width: MediaQuery.of(context).size.height * 0.125, width: width,
padding: EdgeInsets.all(5), padding: EdgeInsets.symmetric(horizontal: SizeConfig.heightMultiplier * .4, vertical: SizeConfig.heightMultiplier * .2),
margin: EdgeInsets.all(5), margin: EdgeInsets.all(SizeConfig.widthMultiplier *1),
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, color: Colors.white,
border: Border.all(width: 1, color: Color(0xFFEFEFEF)),
borderRadius: BorderRadius.circular(15), borderRadius: BorderRadius.circular(15),
), ),
child: Padding( child: Padding(
padding: const EdgeInsets.fromLTRB(8, 0, 8, 0), padding: const EdgeInsets.fromLTRB(8,8, 8, 4),
child: Column( child: Center(
crossAxisAlignment: CrossAxisAlignment.start, child: Column(
mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.start,
children: [ mainAxisAlignment: MainAxisAlignment.start,
AppText( children: [
value.value.toString(), AppText(
fontSize: 27, value.value.toString(),
fontWeight: FontWeight.bold, fontSize: SizeConfig.getTextMultiplierBasedOnWidth(width: width)* 25,
color: Color(0xFF2B353E), fontWeight: FontWeight.bold,
), color: Color(0xFF2B353E),
AppText( letterSpacing: -0.93,
value.kPIParameter, ),
textOverflow: TextOverflow.clip, AppText(
fontSize: 10, value.kPIParameter,
color: Color(0xFF2B353E), textOverflow: TextOverflow.clip,
textAlign: TextAlign.start, fontSize: SizeConfig.getTextMultiplierBasedOnWidth(width: width)* (SizeConfig.isHeightVeryShort?8: SizeConfig.isHeightShort?8: 9),
fontWeight: FontWeight.w700, color: Color(0xFF2B353E),
), textAlign: TextAlign.start,
], fontWeight: FontWeight.w700,
letterSpacing: -0.33,
),
],
),
), ),
), ),
); );

@ -78,70 +78,6 @@ class GetOutPatientStack extends StatelessWidget {
); );
} }
// getStack(Summaryoptions value, max,context) {
// return Expanded(
// child: Container(
// margin: EdgeInsets.symmetric(horizontal: 2),
// decoration: BoxDecoration(
// gradient: LinearGradient(
// begin: Alignment.topLeft,
// end: Alignment(
// 0.0, 1.0), // 10% of the width, so there are ten blinds.
// colors: <Color>[Color(0x8FF5F6FA), Colors.red[50]], // red to yellow
// tileMode: TileMode.mirror, // repeats the gradient over the canvas
// ),
// borderRadius: BorderRadius.circular(8),
// // color: Colors.red[50],
// ),
// child: Stack(children: [
// Positioned(
// bottom: 0,
// left: 0,
// right: 0,
// child: Container(
// child: SizedBox(),
// padding: EdgeInsets.all(10),
// height: max != 0 ? ((MediaQuery.of(context).size.height * 0.24 )* value.value) / max : 0,
// decoration: BoxDecoration(
// borderRadius: BorderRadius.circular(8),
// color: Color(0x63D02127),
// ),
// ),
// ),
// Container(
// height: (MediaQuery.of(context).size.height * 0.24 ),
// margin: EdgeInsets.only(left: 5, top: 5),
// padding: EdgeInsets.all(10),
// child: RotatedBox(
// quarterTurns: 3,
// child: Center(
// child: Align(
// child: FittedBox(
// child: Row(
// children: [
// AppText(
// value.kPIParameter,
// fontSize: 10,
// textAlign: TextAlign.center,
// color: Color(0xFF2B353E),
// fontWeight: FontWeight.w700,
// ),
// AppText(
// ' (' + value.value.toString() + ') ',
// fontSize: 12,
// textAlign: TextAlign.center,
// color: Color(0xFF2B353E),
// fontWeight: FontWeight.bold,
// ),
// ],
// ),
// )),
// ),
// ))
// ]),
// ),
// );
// }
getStack(Summaryoptions value, max, context, barHeight) { getStack(Summaryoptions value, max, context, barHeight) {

Loading…
Cancel
Save