second step from home page.

merge-requests/916/head
Elham Rababh 3 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);
@override
Widget build(BuildContext context) {
return RoundedContainer(
raduis: 16,
showBorder: false,
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: [
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) *
return Container(
margin: EdgeInsets.only(bottom: 20, top: 10, left: 5, right: 5),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.only(
topLeft: Radius.circular(20),
topRight: Radius.circular(20),
bottomLeft: Radius.circular(20),
bottomRight: Radius.circular(20)
),
boxShadow: [
BoxShadow(
color: Colors.grey.withOpacity(0.5),
spreadRadius: 0,
blurRadius: 9,
offset: Offset(0, 0), // changes position of shadow
),
],
),
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: [
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?
5
: SizeConfig.isHeightShort?
7
: 12),
),
SizedBox(
height: SizeConfig.getHeightMultiplier(height: height) *
(SizeConfig.isHeightVeryShort?
5
: SizeConfig.isHeightShort?
10
: 5))
],
),
10
: 5))
],
),
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: 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,
)
],
)),
),
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),
left: 0,
right: 0)
]),
),
],
)),
]));
),
top: height * (SizeConfig.isHeightVeryShort ? 0.35 : 0.40),
left: 0,
right: 0)
]),
),
],
)),
]),
);
}
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/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/shared/app_texts_widget.dart';
import 'package:flutter/material.dart';
import 'label.dart';
class DashboardSliderItemWidget extends StatelessWidget {
final DashboardModel item;
@ -11,27 +14,37 @@ class DashboardSliderItemWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Column(
return Column(
children: [
Row(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
AppText(
item.kPIName,
fontSize: SizeConfig.textMultiplier * 2.2,
fontWeight: FontWeight.bold,
Container(
margin: EdgeInsets.symmetric(horizontal: SizeConfig.widthMultiplier *1),
child: Label(
firstLine: Helpers.getLabelFromKPI(item.kPIName),
secondLine: Helpers.getNameFromKPI(item.kPIName),
),
),
],
),
new Container(
height: 110,
height: SizeConfig.heightMultiplier *
(SizeConfig.isHeightVeryShort
? 16
: SizeConfig.isHeightShort
? 14
: SizeConfig.isHeightLarge
? 15
: 13),
child: ListView(
scrollDirection: Axis.horizontal,
children:
List.generate(item.summaryoptions.length, (int index) {
return GetActivityButton(item.summaryoptions[index]);
children: List.generate(item.summaryoptions.length, (int index) {
return GetActivityCard(item.summaryoptions[index]);
})))
],
);
}
}

@ -34,6 +34,7 @@ import 'package:sticky_headers/sticky_headers/widget.dart';
import '../../routes.dart';
import '../../widgets/shared/app_texts_widget.dart';
import 'label.dart';
class HomeScreen extends StatefulWidget {
HomeScreen({Key key, this.title}) : super(key: key);
@ -284,24 +285,11 @@ class _HomeScreenState extends State<HomeScreen> {
SizedBox(
height: 10,
),
Container(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
TranslationBase.of(context).patients,
fontSize: 12,
fontWeight: FontWeight.bold,
fontHeight: .5,
),
AppText(
TranslationBase.of(context).services,
fontSize: 22,
fontWeight: FontWeight.bold,
),
],
)),
Label(
firstLine: TranslationBase.of(context).patients,
secondLine: TranslationBase.of(context).services,
),
SizedBox(
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:flutter/material.dart';
class GetActivityButton extends StatelessWidget {
class GetActivityCard extends StatelessWidget {
final value;
GetActivityButton(this.value);
GetActivityCard(this.value);
@override
Widget build(BuildContext context) {
double width = SizeConfig.heightMultiplier* (SizeConfig.isHeightVeryShort?16:SizeConfig.isHeightShort?14:SizeConfig.isHeightLarge?15:13);
return Container(
width: MediaQuery.of(context).size.height * 0.125,
padding: EdgeInsets.all(5),
margin: EdgeInsets.all(5),
width: width,
padding: EdgeInsets.symmetric(horizontal: SizeConfig.heightMultiplier * .4, vertical: SizeConfig.heightMultiplier * .2),
margin: EdgeInsets.all(SizeConfig.widthMultiplier *1),
decoration: BoxDecoration(
color: Colors.white,
border: Border.all(width: 1, color: Color(0xFFEFEFEF)),
borderRadius: BorderRadius.circular(15),
),
child: Padding(
padding: const EdgeInsets.fromLTRB(8, 0, 8, 0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.center,
children: [
AppText(
value.value.toString(),
fontSize: 27,
fontWeight: FontWeight.bold,
color: Color(0xFF2B353E),
),
AppText(
value.kPIParameter,
textOverflow: TextOverflow.clip,
fontSize: 10,
color: Color(0xFF2B353E),
textAlign: TextAlign.start,
fontWeight: FontWeight.w700,
),
],
padding: const EdgeInsets.fromLTRB(8,8, 8, 4),
child: Center(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.start,
children: [
AppText(
value.value.toString(),
fontSize: SizeConfig.getTextMultiplierBasedOnWidth(width: width)* 25,
fontWeight: FontWeight.bold,
color: Color(0xFF2B353E),
letterSpacing: -0.93,
),
AppText(
value.kPIParameter,
textOverflow: TextOverflow.clip,
fontSize: SizeConfig.getTextMultiplierBasedOnWidth(width: width)* (SizeConfig.isHeightVeryShort?8: SizeConfig.isHeightShort?8: 9),
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) {

Loading…
Cancel
Save