|
|
|
@ -25,6 +25,7 @@ import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
|
|
|
|
|
import 'package:firebase_messaging/firebase_messaging.dart';
|
|
|
|
|
import 'package:flutter/cupertino.dart';
|
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
|
import 'package:flutter_swiper/flutter_swiper.dart';
|
|
|
|
|
import 'package:hexcolor/hexcolor.dart';
|
|
|
|
|
import 'package:percent_indicator/circular_percent_indicator.dart';
|
|
|
|
|
import 'package:provider/provider.dart';
|
|
|
|
@ -283,7 +284,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
|
|
|
|
|
// ),
|
|
|
|
|
Container(
|
|
|
|
|
color: Colors.white,
|
|
|
|
|
height: MediaQuery.of(context).size.height * 0.45,
|
|
|
|
|
height: MediaQuery.of(context).size.height * 0.22,
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
@ -292,317 +293,17 @@ class _DashboardScreenState extends State<DashboardScreen> {
|
|
|
|
|
left: 9,
|
|
|
|
|
top: MediaQuery.of(context).size.height * .1,
|
|
|
|
|
child: Container(
|
|
|
|
|
height: MediaQuery.of(context).size.height * 0.52,
|
|
|
|
|
height: MediaQuery.of(context).size.height * 0.30,
|
|
|
|
|
child: model.dashboardItemsList.length > 0
|
|
|
|
|
? Column(
|
|
|
|
|
children: [
|
|
|
|
|
RoundedContainer(
|
|
|
|
|
height:
|
|
|
|
|
MediaQuery.of(context).size.height *
|
|
|
|
|
0.24,
|
|
|
|
|
margin: 5,
|
|
|
|
|
child: Column(children: [
|
|
|
|
|
Expanded(
|
|
|
|
|
flex: 3,
|
|
|
|
|
child: Row(
|
|
|
|
|
children: [
|
|
|
|
|
Expanded(
|
|
|
|
|
flex: 5,
|
|
|
|
|
child: Padding(
|
|
|
|
|
padding:
|
|
|
|
|
const EdgeInsets
|
|
|
|
|
.all(5.0),
|
|
|
|
|
child: Column(
|
|
|
|
|
mainAxisAlignment:
|
|
|
|
|
MainAxisAlignment
|
|
|
|
|
.spaceBetween,
|
|
|
|
|
crossAxisAlignment:
|
|
|
|
|
CrossAxisAlignment
|
|
|
|
|
.start,
|
|
|
|
|
children: [
|
|
|
|
|
rowCount(
|
|
|
|
|
model
|
|
|
|
|
.dashboardItemsList[
|
|
|
|
|
0]
|
|
|
|
|
.summaryoptions[
|
|
|
|
|
0]
|
|
|
|
|
.kPIParameter,
|
|
|
|
|
model
|
|
|
|
|
.dashboardItemsList[
|
|
|
|
|
0]
|
|
|
|
|
.summaryoptions[
|
|
|
|
|
0]
|
|
|
|
|
.value,
|
|
|
|
|
Colors.red),
|
|
|
|
|
rowCount(
|
|
|
|
|
model
|
|
|
|
|
.dashboardItemsList[
|
|
|
|
|
0]
|
|
|
|
|
.summaryoptions[
|
|
|
|
|
1]
|
|
|
|
|
.kPIParameter,
|
|
|
|
|
model
|
|
|
|
|
.dashboardItemsList[
|
|
|
|
|
0]
|
|
|
|
|
.summaryoptions[
|
|
|
|
|
1]
|
|
|
|
|
.value,
|
|
|
|
|
Colors.black),
|
|
|
|
|
rowCount(
|
|
|
|
|
model
|
|
|
|
|
.dashboardItemsList[
|
|
|
|
|
0]
|
|
|
|
|
.summaryoptions[
|
|
|
|
|
2]
|
|
|
|
|
.kPIParameter,
|
|
|
|
|
model
|
|
|
|
|
.dashboardItemsList[
|
|
|
|
|
0]
|
|
|
|
|
.summaryoptions[
|
|
|
|
|
2]
|
|
|
|
|
.value,
|
|
|
|
|
Colors
|
|
|
|
|
.grey[800]),
|
|
|
|
|
],
|
|
|
|
|
))),
|
|
|
|
|
Expanded(
|
|
|
|
|
flex: 3,
|
|
|
|
|
child: Stack(children: [
|
|
|
|
|
Container(
|
|
|
|
|
child: GaugeChart(
|
|
|
|
|
_createInpatientData(
|
|
|
|
|
model))),
|
|
|
|
|
Positioned(
|
|
|
|
|
child: Column(
|
|
|
|
|
children: [
|
|
|
|
|
AppText(
|
|
|
|
|
TranslationBase.of(
|
|
|
|
|
context)
|
|
|
|
|
.inPatient,
|
|
|
|
|
fontSize: 11,
|
|
|
|
|
fontWeight:
|
|
|
|
|
FontWeight
|
|
|
|
|
.bold,
|
|
|
|
|
),
|
|
|
|
|
AppText(
|
|
|
|
|
getPatientCount(
|
|
|
|
|
model.dashboardItemsList[
|
|
|
|
|
0])
|
|
|
|
|
.toString(),
|
|
|
|
|
fontSize: 11,
|
|
|
|
|
fontWeight:
|
|
|
|
|
FontWeight
|
|
|
|
|
.bold,
|
|
|
|
|
)
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
top: MediaQuery.of(
|
|
|
|
|
context)
|
|
|
|
|
.size
|
|
|
|
|
.height *
|
|
|
|
|
0.08,
|
|
|
|
|
left: MediaQuery.of(
|
|
|
|
|
context)
|
|
|
|
|
.size
|
|
|
|
|
.width *
|
|
|
|
|
0.10)
|
|
|
|
|
])),
|
|
|
|
|
],
|
|
|
|
|
)),
|
|
|
|
|
Expanded(
|
|
|
|
|
flex: 1,
|
|
|
|
|
child: Padding(
|
|
|
|
|
padding:
|
|
|
|
|
const EdgeInsets.all(5.0),
|
|
|
|
|
child: Row(
|
|
|
|
|
mainAxisAlignment:
|
|
|
|
|
MainAxisAlignment.start,
|
|
|
|
|
children: [
|
|
|
|
|
rowCount(
|
|
|
|
|
model
|
|
|
|
|
.dashboardItemsList[0]
|
|
|
|
|
.summaryoptions[3]
|
|
|
|
|
.kPIParameter,
|
|
|
|
|
model
|
|
|
|
|
.dashboardItemsList[0]
|
|
|
|
|
.summaryoptions[3]
|
|
|
|
|
.value,
|
|
|
|
|
Colors.grey),
|
|
|
|
|
rowCount(
|
|
|
|
|
model
|
|
|
|
|
.dashboardItemsList[0]
|
|
|
|
|
.summaryoptions[4]
|
|
|
|
|
.kPIParameter,
|
|
|
|
|
model
|
|
|
|
|
.dashboardItemsList[0]
|
|
|
|
|
.summaryoptions[4]
|
|
|
|
|
.value,
|
|
|
|
|
Colors.grey[300]),
|
|
|
|
|
],
|
|
|
|
|
)),
|
|
|
|
|
)
|
|
|
|
|
])),
|
|
|
|
|
RoundedContainer(
|
|
|
|
|
height:
|
|
|
|
|
MediaQuery.of(context).size.height *
|
|
|
|
|
0.24,
|
|
|
|
|
margin: 5,
|
|
|
|
|
child: Column(children: [
|
|
|
|
|
Expanded(
|
|
|
|
|
flex: 3,
|
|
|
|
|
child: Row(
|
|
|
|
|
children: [
|
|
|
|
|
Expanded(
|
|
|
|
|
flex: 5,
|
|
|
|
|
child: Padding(
|
|
|
|
|
padding:
|
|
|
|
|
const EdgeInsets
|
|
|
|
|
.all(5.0),
|
|
|
|
|
child: Column(
|
|
|
|
|
mainAxisAlignment:
|
|
|
|
|
MainAxisAlignment
|
|
|
|
|
.spaceBetween,
|
|
|
|
|
crossAxisAlignment:
|
|
|
|
|
CrossAxisAlignment
|
|
|
|
|
.start,
|
|
|
|
|
children: [
|
|
|
|
|
rowCount(
|
|
|
|
|
model
|
|
|
|
|
.dashboardItemsList[
|
|
|
|
|
1]
|
|
|
|
|
.summaryoptions[
|
|
|
|
|
0]
|
|
|
|
|
.kPIParameter,
|
|
|
|
|
model
|
|
|
|
|
.dashboardItemsList[
|
|
|
|
|
1]
|
|
|
|
|
.summaryoptions[
|
|
|
|
|
0]
|
|
|
|
|
.value,
|
|
|
|
|
Colors.red),
|
|
|
|
|
rowCount(
|
|
|
|
|
model
|
|
|
|
|
.dashboardItemsList[
|
|
|
|
|
1]
|
|
|
|
|
.summaryoptions[
|
|
|
|
|
1]
|
|
|
|
|
.kPIParameter,
|
|
|
|
|
model
|
|
|
|
|
.dashboardItemsList[
|
|
|
|
|
1]
|
|
|
|
|
.summaryoptions[
|
|
|
|
|
1]
|
|
|
|
|
.value,
|
|
|
|
|
Colors.black),
|
|
|
|
|
rowCount(
|
|
|
|
|
model
|
|
|
|
|
.dashboardItemsList[
|
|
|
|
|
1]
|
|
|
|
|
.summaryoptions[
|
|
|
|
|
2]
|
|
|
|
|
.kPIParameter,
|
|
|
|
|
model
|
|
|
|
|
.dashboardItemsList[
|
|
|
|
|
1]
|
|
|
|
|
.summaryoptions[
|
|
|
|
|
2]
|
|
|
|
|
.value,
|
|
|
|
|
Colors
|
|
|
|
|
.grey[800]),
|
|
|
|
|
],
|
|
|
|
|
))),
|
|
|
|
|
Expanded(
|
|
|
|
|
flex: 3,
|
|
|
|
|
child: Stack(children: [
|
|
|
|
|
Container(
|
|
|
|
|
child: GaugeChart(
|
|
|
|
|
_createOutPatientData(
|
|
|
|
|
model))),
|
|
|
|
|
Positioned(
|
|
|
|
|
child: Column(
|
|
|
|
|
children: [
|
|
|
|
|
AppText(
|
|
|
|
|
TranslationBase.of(
|
|
|
|
|
context)
|
|
|
|
|
.outPatient,
|
|
|
|
|
fontSize: 11,
|
|
|
|
|
fontWeight:
|
|
|
|
|
FontWeight
|
|
|
|
|
.bold,
|
|
|
|
|
textOverflow:
|
|
|
|
|
TextOverflow
|
|
|
|
|
.ellipsis,
|
|
|
|
|
),
|
|
|
|
|
AppText(
|
|
|
|
|
getPatientCount(
|
|
|
|
|
model.dashboardItemsList[
|
|
|
|
|
1])
|
|
|
|
|
.toString(),
|
|
|
|
|
fontSize: 11,
|
|
|
|
|
fontWeight:
|
|
|
|
|
FontWeight
|
|
|
|
|
.bold,
|
|
|
|
|
)
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
top: MediaQuery.of(
|
|
|
|
|
context)
|
|
|
|
|
.size
|
|
|
|
|
.height *
|
|
|
|
|
0.08,
|
|
|
|
|
left: MediaQuery.of(
|
|
|
|
|
context)
|
|
|
|
|
.size
|
|
|
|
|
.width *
|
|
|
|
|
0.09)
|
|
|
|
|
]),
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
)),
|
|
|
|
|
Expanded(
|
|
|
|
|
flex: 1,
|
|
|
|
|
child: Padding(
|
|
|
|
|
padding:
|
|
|
|
|
const EdgeInsets.all(5.0),
|
|
|
|
|
child: Row(
|
|
|
|
|
mainAxisAlignment:
|
|
|
|
|
MainAxisAlignment.start,
|
|
|
|
|
children: [
|
|
|
|
|
rowCount(
|
|
|
|
|
model
|
|
|
|
|
.dashboardItemsList[1]
|
|
|
|
|
.summaryoptions[3]
|
|
|
|
|
.kPIParameter,
|
|
|
|
|
model
|
|
|
|
|
.dashboardItemsList[1]
|
|
|
|
|
.summaryoptions[3]
|
|
|
|
|
.value,
|
|
|
|
|
Colors.grey),
|
|
|
|
|
rowCount(
|
|
|
|
|
model
|
|
|
|
|
.dashboardItemsList[1]
|
|
|
|
|
.summaryoptions[4]
|
|
|
|
|
.kPIParameter,
|
|
|
|
|
model
|
|
|
|
|
.dashboardItemsList[1]
|
|
|
|
|
.summaryoptions[4]
|
|
|
|
|
.value,
|
|
|
|
|
Colors.grey[300]),
|
|
|
|
|
rowCount(
|
|
|
|
|
model
|
|
|
|
|
.dashboardItemsList[1]
|
|
|
|
|
.summaryoptions[5]
|
|
|
|
|
.kPIParameter,
|
|
|
|
|
model
|
|
|
|
|
.dashboardItemsList[1]
|
|
|
|
|
.summaryoptions[5]
|
|
|
|
|
.value,
|
|
|
|
|
Colors.grey[200])
|
|
|
|
|
],
|
|
|
|
|
)),
|
|
|
|
|
)
|
|
|
|
|
]))
|
|
|
|
|
],
|
|
|
|
|
? new Swiper(
|
|
|
|
|
itemBuilder: (BuildContext context, int index) {
|
|
|
|
|
return getSwiperWidget(model)[index];
|
|
|
|
|
},
|
|
|
|
|
itemCount: 2,
|
|
|
|
|
// pagination: new SwiperPagination(),
|
|
|
|
|
viewportFraction: 0.9,
|
|
|
|
|
// scale: 0.9,
|
|
|
|
|
// control: new SwiperControl(),
|
|
|
|
|
)
|
|
|
|
|
: SizedBox())
|
|
|
|
|
//ExpandableCardContainer(
|
|
|
|
@ -1443,23 +1144,23 @@ class _DashboardScreenState extends State<DashboardScreen> {
|
|
|
|
|
new GaugeSegment(
|
|
|
|
|
model.dashboardItemsList[0].summaryoptions[0].kPIParameter,
|
|
|
|
|
getValue(model.dashboardItemsList[0].summaryoptions[0].value),
|
|
|
|
|
charts.MaterialPalette.red.shadeDefault),
|
|
|
|
|
charts.MaterialPalette.blue.shadeDefault),
|
|
|
|
|
new GaugeSegment(
|
|
|
|
|
model.dashboardItemsList[0].summaryoptions[1].kPIParameter,
|
|
|
|
|
getValue(model.dashboardItemsList[0].summaryoptions[1].value),
|
|
|
|
|
charts.MaterialPalette.black.darker),
|
|
|
|
|
charts.MaterialPalette.cyan.shadeDefault),
|
|
|
|
|
new GaugeSegment(
|
|
|
|
|
model.dashboardItemsList[0].summaryoptions[2].kPIParameter,
|
|
|
|
|
getValue(model.dashboardItemsList[0].summaryoptions[2].value),
|
|
|
|
|
charts.MaterialPalette.gray.shade800),
|
|
|
|
|
charts.MaterialPalette.red.shadeDefault),
|
|
|
|
|
new GaugeSegment(
|
|
|
|
|
model.dashboardItemsList[0].summaryoptions[3].kPIParameter,
|
|
|
|
|
getValue(model.dashboardItemsList[0].summaryoptions[3].value),
|
|
|
|
|
charts.MaterialPalette.gray.shadeDefault.lighter),
|
|
|
|
|
charts.MaterialPalette.deepOrange.shadeDefault.lighter),
|
|
|
|
|
new GaugeSegment(
|
|
|
|
|
model.dashboardItemsList[0].summaryoptions[4].kPIParameter,
|
|
|
|
|
getValue(model.dashboardItemsList[0].summaryoptions[4].value),
|
|
|
|
|
charts.MaterialPalette.gray.shadeDefault),
|
|
|
|
|
charts.MaterialPalette.green.shadeDefault),
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
return [
|
|
|
|
@ -1479,23 +1180,27 @@ class _DashboardScreenState extends State<DashboardScreen> {
|
|
|
|
|
new GaugeSegment(
|
|
|
|
|
model.dashboardItemsList[1].summaryoptions[0].kPIParameter,
|
|
|
|
|
getValue(model.dashboardItemsList[1].summaryoptions[0].value),
|
|
|
|
|
charts.MaterialPalette.red.shadeDefault),
|
|
|
|
|
charts.MaterialPalette.blue.shadeDefault),
|
|
|
|
|
new GaugeSegment(
|
|
|
|
|
model.dashboardItemsList[1].summaryoptions[1].kPIParameter,
|
|
|
|
|
getValue(model.dashboardItemsList[1].summaryoptions[1].value),
|
|
|
|
|
charts.MaterialPalette.black.darker),
|
|
|
|
|
charts.MaterialPalette.cyan.shadeDefault),
|
|
|
|
|
new GaugeSegment(
|
|
|
|
|
model.dashboardItemsList[1].summaryoptions[2].kPIParameter,
|
|
|
|
|
getValue(model.dashboardItemsList[1].summaryoptions[2].value),
|
|
|
|
|
charts.MaterialPalette.gray.shade800),
|
|
|
|
|
charts.MaterialPalette.red.shadeDefault),
|
|
|
|
|
new GaugeSegment(
|
|
|
|
|
model.dashboardItemsList[1].summaryoptions[3].kPIParameter,
|
|
|
|
|
getValue(model.dashboardItemsList[1].summaryoptions[3].value),
|
|
|
|
|
charts.MaterialPalette.gray.shadeDefault),
|
|
|
|
|
charts.MaterialPalette.deepOrange.shadeDefault),
|
|
|
|
|
new GaugeSegment(
|
|
|
|
|
model.dashboardItemsList[1].summaryoptions[4].kPIParameter,
|
|
|
|
|
getValue(model.dashboardItemsList[1].summaryoptions[4].value),
|
|
|
|
|
charts.MaterialPalette.gray.shadeDefault.lighter),
|
|
|
|
|
charts.MaterialPalette.green.shadeDefault.lighter),
|
|
|
|
|
new GaugeSegment(
|
|
|
|
|
model.dashboardItemsList[1].summaryoptions[5].kPIParameter,
|
|
|
|
|
getValue(model.dashboardItemsList[1].summaryoptions[5].value),
|
|
|
|
|
charts.MaterialPalette.purple.shadeDefault.lighter)
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
return [
|
|
|
|
@ -1625,7 +1330,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
|
|
|
|
|
return Row(
|
|
|
|
|
children: [
|
|
|
|
|
dot(c),
|
|
|
|
|
Column(
|
|
|
|
|
Row(
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
|
children: [
|
|
|
|
|
AppText(
|
|
|
|
@ -1636,7 +1341,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
|
|
|
|
|
textOverflow: TextOverflow.ellipsis,
|
|
|
|
|
),
|
|
|
|
|
AppText(
|
|
|
|
|
'(' + count.toString() + ')',
|
|
|
|
|
' (' + count.toString() + ')',
|
|
|
|
|
color: Colors.black,
|
|
|
|
|
textAlign: TextAlign.center,
|
|
|
|
|
fontSize: 14,
|
|
|
|
@ -1647,6 +1352,170 @@ class _DashboardScreenState extends State<DashboardScreen> {
|
|
|
|
|
],
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
List<Widget> getSwiperWidget(model) {
|
|
|
|
|
return [
|
|
|
|
|
RoundedContainer(
|
|
|
|
|
height: MediaQuery.of(context).size.height * 0.30,
|
|
|
|
|
margin: 5,
|
|
|
|
|
child: Column(children: [
|
|
|
|
|
Expanded(
|
|
|
|
|
flex: 5,
|
|
|
|
|
child: Row(
|
|
|
|
|
children: [
|
|
|
|
|
Expanded(
|
|
|
|
|
flex: 4,
|
|
|
|
|
child: Padding(
|
|
|
|
|
padding: const EdgeInsets.all(5.0),
|
|
|
|
|
child: Column(
|
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
|
children: [
|
|
|
|
|
rowCount(
|
|
|
|
|
model.dashboardItemsList[0]
|
|
|
|
|
.summaryoptions[0].kPIParameter,
|
|
|
|
|
model.dashboardItemsList[0]
|
|
|
|
|
.summaryoptions[0].value,
|
|
|
|
|
Colors.blue),
|
|
|
|
|
rowCount(
|
|
|
|
|
model.dashboardItemsList[0]
|
|
|
|
|
.summaryoptions[1].kPIParameter,
|
|
|
|
|
model.dashboardItemsList[0]
|
|
|
|
|
.summaryoptions[1].value,
|
|
|
|
|
Colors.cyan),
|
|
|
|
|
rowCount(
|
|
|
|
|
model.dashboardItemsList[0]
|
|
|
|
|
.summaryoptions[2].kPIParameter,
|
|
|
|
|
model.dashboardItemsList[0]
|
|
|
|
|
.summaryoptions[2].value,
|
|
|
|
|
Colors.red),
|
|
|
|
|
rowCount(
|
|
|
|
|
model.dashboardItemsList[0]
|
|
|
|
|
.summaryoptions[3].kPIParameter,
|
|
|
|
|
model.dashboardItemsList[0]
|
|
|
|
|
.summaryoptions[3].value,
|
|
|
|
|
Colors.orange),
|
|
|
|
|
rowCount(
|
|
|
|
|
model.dashboardItemsList[0]
|
|
|
|
|
.summaryoptions[4].kPIParameter,
|
|
|
|
|
model.dashboardItemsList[0]
|
|
|
|
|
.summaryoptions[4].value,
|
|
|
|
|
Colors.green),
|
|
|
|
|
],
|
|
|
|
|
))),
|
|
|
|
|
Expanded(
|
|
|
|
|
flex: 3,
|
|
|
|
|
child: Stack(children: [
|
|
|
|
|
Container(
|
|
|
|
|
child: GaugeChart(_createInpatientData(model))),
|
|
|
|
|
Positioned(
|
|
|
|
|
child: Center(
|
|
|
|
|
child: Column(
|
|
|
|
|
children: [
|
|
|
|
|
AppText(
|
|
|
|
|
TranslationBase.of(context).inPatient,
|
|
|
|
|
fontSize: 11,
|
|
|
|
|
fontWeight: FontWeight.bold,
|
|
|
|
|
),
|
|
|
|
|
AppText(
|
|
|
|
|
getPatientCount(model.dashboardItemsList[0])
|
|
|
|
|
.toString(),
|
|
|
|
|
fontSize: 11,
|
|
|
|
|
fontWeight: FontWeight.bold,
|
|
|
|
|
)
|
|
|
|
|
],
|
|
|
|
|
)),
|
|
|
|
|
top: MediaQuery.of(context).size.height * 0.12,
|
|
|
|
|
left: MediaQuery.of(context).size.width * 0.11)
|
|
|
|
|
])),
|
|
|
|
|
],
|
|
|
|
|
)),
|
|
|
|
|
])),
|
|
|
|
|
RoundedContainer(
|
|
|
|
|
height: MediaQuery.of(context).size.height * 0.24,
|
|
|
|
|
margin: 5,
|
|
|
|
|
child: Column(children: [
|
|
|
|
|
Expanded(
|
|
|
|
|
flex: 1,
|
|
|
|
|
child: Row(
|
|
|
|
|
children: [
|
|
|
|
|
Expanded(
|
|
|
|
|
flex: 4,
|
|
|
|
|
child: Padding(
|
|
|
|
|
padding: const EdgeInsets.all(5.0),
|
|
|
|
|
child: Column(
|
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
|
children: [
|
|
|
|
|
rowCount(
|
|
|
|
|
model.dashboardItemsList[1]
|
|
|
|
|
.summaryoptions[0].kPIParameter,
|
|
|
|
|
model.dashboardItemsList[1]
|
|
|
|
|
.summaryoptions[0].value,
|
|
|
|
|
Colors.blue),
|
|
|
|
|
rowCount(
|
|
|
|
|
model.dashboardItemsList[1]
|
|
|
|
|
.summaryoptions[1].kPIParameter,
|
|
|
|
|
model.dashboardItemsList[1]
|
|
|
|
|
.summaryoptions[1].value,
|
|
|
|
|
Colors.cyan),
|
|
|
|
|
rowCount(
|
|
|
|
|
model.dashboardItemsList[1]
|
|
|
|
|
.summaryoptions[2].kPIParameter,
|
|
|
|
|
model.dashboardItemsList[1]
|
|
|
|
|
.summaryoptions[2].value,
|
|
|
|
|
Colors.red),
|
|
|
|
|
rowCount(
|
|
|
|
|
model.dashboardItemsList[1]
|
|
|
|
|
.summaryoptions[3].kPIParameter,
|
|
|
|
|
model.dashboardItemsList[1]
|
|
|
|
|
.summaryoptions[3].value,
|
|
|
|
|
Colors.orange),
|
|
|
|
|
rowCount(
|
|
|
|
|
model.dashboardItemsList[1]
|
|
|
|
|
.summaryoptions[4].kPIParameter,
|
|
|
|
|
model.dashboardItemsList[1]
|
|
|
|
|
.summaryoptions[4].value,
|
|
|
|
|
Colors.green),
|
|
|
|
|
rowCount(
|
|
|
|
|
model.dashboardItemsList[1]
|
|
|
|
|
.summaryoptions[5].kPIParameter,
|
|
|
|
|
model.dashboardItemsList[1]
|
|
|
|
|
.summaryoptions[5].value,
|
|
|
|
|
Colors.purple)
|
|
|
|
|
],
|
|
|
|
|
))),
|
|
|
|
|
Expanded(
|
|
|
|
|
flex: 3,
|
|
|
|
|
child: Stack(children: [
|
|
|
|
|
Container(
|
|
|
|
|
child: GaugeChart(_createOutPatientData(model))),
|
|
|
|
|
Positioned(
|
|
|
|
|
child: Column(
|
|
|
|
|
children: [
|
|
|
|
|
AppText(
|
|
|
|
|
TranslationBase.of(context).outPatient,
|
|
|
|
|
fontSize: 11,
|
|
|
|
|
fontWeight: FontWeight.bold,
|
|
|
|
|
textOverflow: TextOverflow.ellipsis,
|
|
|
|
|
),
|
|
|
|
|
AppText(
|
|
|
|
|
getPatientCount(model.dashboardItemsList[1])
|
|
|
|
|
.toString(),
|
|
|
|
|
fontSize: 11,
|
|
|
|
|
fontWeight: FontWeight.bold,
|
|
|
|
|
)
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
top: MediaQuery.of(context).size.height * 0.12,
|
|
|
|
|
left: MediaQuery.of(context).size.width * 0.11)
|
|
|
|
|
]),
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
)),
|
|
|
|
|
]))
|
|
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// TODO Move to it file
|
|
|
|
@ -1707,6 +1576,8 @@ class DashboardItem extends StatelessWidget {
|
|
|
|
|
),
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
getDashboardWidget() {}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class ExpandableCardContainer extends StatefulWidget {
|
|
|
|
|