Bug Fixes prescription

merge-update-with-lab-changes
Mirza.Shafique 4 years ago
parent 3a40eb92be
commit a9773e81e7

@ -23,6 +23,7 @@ class PrescriptionOrderOverview extends StatelessWidget {
final AddressInfo selectedAddress; final AddressInfo selectedAddress;
final double latitude; final double latitude;
final double longitude; final double longitude;
PrescriptionOrderOverview({Key key, this.prescriptions, this.prescriptionReportList, this.prescriptionReportEnhList, this.selectedAddress, this.latitude, this.longitude}); PrescriptionOrderOverview({Key key, this.prescriptions, this.prescriptionReportList, this.prescriptionReportEnhList, this.selectedAddress, this.latitude, this.longitude});
@override @override
@ -43,83 +44,109 @@ class PrescriptionOrderOverview extends StatelessWidget {
child: Column( child: Column(
children: [ children: [
if (!prescriptions.isInOutPatient) if (!prescriptions.isInOutPatient)
...List.generate( Card(
prescriptionReportList.length, margin: EdgeInsets.all(12),
(index) => Container( shape: cardRadius(12),
width: double.infinity, clipBehavior: Clip.antiAlias,
margin: EdgeInsets.only(top: 10, left: 10, right: 10), child: Padding(
padding: EdgeInsets.all(8.0), padding: const EdgeInsets.all(12.0),
decoration: BoxDecoration( child: Column(
color: Colors.white, children: [
borderRadius: BorderRadius.all( ...List.generate(
Radius.circular(10.0), prescriptionReportList.length,
), (index) => Card(
border: Border.all(color: Colors.grey[200], width: 0.5), margin: EdgeInsets.all(0.0),
), color: Colors.white,
child: Row( shape: cardRadius(0),
children: <Widget>[ elevation: 0,
ClipRRect( child: Row(
borderRadius: BorderRadius.all(Radius.circular(5)), children: <Widget>[
child: Image.network( ClipRRect(
prescriptionReportList[index].imageSRCUrl, borderRadius: BorderRadius.all(Radius.circular(5)),
fit: BoxFit.cover, child: Image.network(
width: 60, prescriptionReportList[index].imageSRCUrl,
height: 70, fit: BoxFit.cover,
), width: 60,
), height: 70,
SizedBox( ),
width: 10, ),
), SizedBox(
Expanded( width: 10,
child: Padding( ),
padding: const EdgeInsets.all(8.0), Expanded(
child: Center( child: Padding(
child: Texts( padding: const EdgeInsets.all(8.0),
prescriptionReportList[index].itemDescription.isNotEmpty ? prescriptionReportList[index].itemDescription : prescriptionReportList[index].itemDescriptionN)), child: Center(
)), child: Texts(prescriptionReportList[index].itemDescription.isNotEmpty
? prescriptionReportList[index].itemDescription
], : prescriptionReportList[index].itemDescriptionN)),
), )),
)) ],
),
))
],
),
),
)
else else
...List.generate( Card(
prescriptionReportEnhList.length, margin: EdgeInsets.all(12),
(index) => Card( shape: cardRadius(12),
margin: EdgeInsets.all(12.0), clipBehavior: Clip.antiAlias,
color: Colors.white, child: Padding(
shape: cardRadius(12), padding: const EdgeInsets.all(12.0),
elevation: 4, child: Column(
child: Row( crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[ children: [
Padding( Text(
padding: const EdgeInsets.all(8.0), TranslationBase.of(context).invoiceNo + ": " + prescriptions.patientID.toString(),
child: ClipRRect( style: TextStyle(
borderRadius: BorderRadius.all(Radius.circular(5)), fontSize: 16,
child: Image.network( fontWeight: FontWeight.bold,
prescriptionReportEnhList[index].imageSRCUrl, color: Colors.black,
fit: BoxFit.cover, letterSpacing: -0.46,
width: 60,
height: 60,
),
), ),
), ),
...List.generate(
Expanded( prescriptionReportEnhList.length,
child: Padding( (index) => Card(
padding: const EdgeInsets.all(8.0), margin: EdgeInsets.all(0.0),
child: Column( color: Colors.white,
crossAxisAlignment: CrossAxisAlignment.start, shape: cardRadius(0),
elevation: 0,
child: Row(
children: <Widget>[ children: <Widget>[
Texts(prescriptionReportEnhList[index].itemDescription), Padding(
padding: const EdgeInsets.all(8.0),
child: ClipRRect(
borderRadius: BorderRadius.all(Radius.circular(5)),
child: Image.network(
prescriptionReportEnhList[index].imageSRCUrl,
fit: BoxFit.cover,
width: 60,
height: 60,
),
),
),
Expanded(
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Texts(prescriptionReportEnhList[index].itemDescription),
],
),
),
),
], ],
), ),
), ),
), )
], ],
), ),
), ),
) ),
], ],
), ),
), ),
@ -143,12 +170,12 @@ class PrescriptionOrderOverview extends StatelessWidget {
GifLoaderDialogUtils.showMyDialog(context); GifLoaderDialogUtils.showMyDialog(context);
await model await model
.insertDeliveryOrder( .insertDeliveryOrder(
lineItemNo: 0, lineItemNo: 0,
longitude: longitude, longitude: longitude,
latitude: latitude, latitude: latitude,
appointmentNo: prescriptions.appointmentNo, appointmentNo: prescriptions.appointmentNo,
dischargeID: prescriptions.dischargeNo, dischargeID: prescriptions.dischargeNo,
createdBy: model.user.patientID) createdBy: model.user.patientID)
.then((value) { .then((value) {
GifLoaderDialogUtils.hideDialog(context); GifLoaderDialogUtils.hideDialog(context);
if (model.state == ViewState.ErrorLocal) if (model.state == ViewState.ErrorLocal)
@ -170,7 +197,6 @@ class PrescriptionOrderOverview extends StatelessWidget {
], ],
), ),
), ),
), ),
); );
} }

@ -0,0 +1,287 @@
import 'package:diplomaticquarterapp/widgets/charts/app_time_series_chart.dart';
import 'package:fl_chart/fl_chart.dart';
import 'package:flutter/material.dart';
import '../../Constants.dart';
class ShowChart extends StatelessWidget {
final String title;
final List<TimeSeriesSales2> timeSeries;
final int indexes;
final double horizontalInterval;
ShowChart({this.title, this.timeSeries, this.indexes, this.horizontalInterval = 20.0});
List<int> xAxixs = List();
List<double> yAxixs = List();
@override
Widget build(BuildContext context) {
getXaxix();
getYaxix();
return AspectRatio(
aspectRatio: 1.0,
child: Container(
decoration: const BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(18)),
// color: Colors.white,
),
child: Stack(
children: <Widget>[
Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
const SizedBox(
height: 4,
),
Text(
title,
style: TextStyle(color: Colors.black, fontSize: 16, letterSpacing: -0.64, fontWeight: FontWeight.w600),
textAlign: TextAlign.center,
),
SizedBox(
height: 10,
),
Expanded(
child: Padding(
padding: const EdgeInsets.only(right: 18.0, left: 16.0),
child: LineChart(
sampleData1(context),
swapAnimationDuration: const Duration(milliseconds: 250),
),
),
),
const SizedBox(
height: 10,
),
],
),
],
),
),
);
}
getXaxix() {
for (int index = 0; index < timeSeries.length; index++) {
int mIndex = indexes * index;
if (mIndex < timeSeries.length) {
xAxixs.add(mIndex);
}
}
}
getYaxix() {
int indexess = (timeSeries.length * 0.30).toInt();
for (int index = 0; index < timeSeries.length; index++) {
int mIndex = indexess * index;
if (mIndex < timeSeries.length) {
yAxixs.add(timeSeries[mIndex].sales);
}
}
}
// LineChartData sampleData1(context) {
// return LineChartData(
// lineTouchData: LineTouchData(
// touchTooltipData: LineTouchTooltipData(
// tooltipBgColor: Colors.white,
// ),
// touchCallback: (LineTouchResponse touchResponse) {},
// handleBuiltInTouches: true,
// ),
// gridData: FlGridData(show: true, drawVerticalLine: true, drawHorizontalLine: true, horizontalInterval: 14, verticalInterval: 14),
// titlesData: FlTitlesData(
// bottomTitles: SideTitles(
// showTitles: true,
// getTextStyles: (value) => const TextStyle(
// color: Colors.black,
// fontSize: 10,
// ),
// // rotateAngle: 90,
// //rotateAngle:-65,
// margin: 22,
// getTitles: (value) {
// if (timeSeries.length < 15) {
// if (timeSeries.length > value.toInt()) {
// return '${timeSeries[value.toInt()].time.month}/ ${timeSeries[value.toInt()].time.year}';
// } else
// return '';
// } else {
// if (value.toInt() == 0) return '${timeSeries[value.toInt()].time.month}/ ${timeSeries[value.toInt()].time.year}';
// if (value.toInt() == timeSeries.length - 1) return '${timeSeries[value.toInt()].time.month}/ ${timeSeries[value.toInt()].time.year}';
// if (xAxixs.contains(value.toInt())) {
// return '${timeSeries[value.toInt()].time.month}/ ${timeSeries[value.toInt()].time.year}';
// }
// }
// return '';
// },
// ),
// leftTitles: SideTitles(
// showTitles: true,
// // interval:getMaxY() - getMinY() <=500?50:getMaxY() - getMinY() <=1000?100:200,
// interval: 3,
// getTextStyles: (value) => const TextStyle(
// color: Colors.black,
// fontWeight: FontWeight.bold,
// fontSize: 10,
// ),
//
// margin: 12,
// ),
// ),
// borderData: FlBorderData(
// show: true,
// border: const Border(
// bottom: BorderSide(
// color: Colors.black,
// width: 0.5,
// ),
// left: BorderSide(
// color: Colors.black,
// ),
// right: BorderSide(
// color: Colors.black,
// ),
// top: BorderSide(
// color: Colors.transparent,
// ),
// ),
// ),
// minX: 0,
// maxX: (timeSeries.length - 1).toDouble(),
// maxY: getMaxY() + 0.3,
// minY: 0,
// //getMinY(),
// lineBarsData: getData(context),
// );
// }
LineChartData sampleData1(context) {
return LineChartData(
lineTouchData: LineTouchData(
touchTooltipData: LineTouchTooltipData(
tooltipBgColor: Colors.white,
),
touchCallback: (LineTouchResponse touchResponse) {},
handleBuiltInTouches: true,
),
gridData: FlGridData(show: true, drawVerticalLine: true, drawHorizontalLine: true, horizontalInterval: 14, verticalInterval: 14),
titlesData: FlTitlesData(
bottomTitles: SideTitles(
showTitles: true,
getTextStyles: (value) => const TextStyle(
color: Colors.black,
fontSize: 10,
),
rotateAngle: -65,
margin: 22,
getTitles: (value) {
if (timeSeries.length < 15) {
if (timeSeries.length > value.toInt()) {
return '${timeSeries[value.toInt()].time.month}/ ${timeSeries[value.toInt()].time.year}';
} else
return '';
} else {
if (value.toInt() == 0) return '${timeSeries[value.toInt()].time.month}/ ${timeSeries[value.toInt()].time.year}';
if (value.toInt() == timeSeries.length - 1) return '${timeSeries[value.toInt()].time.month}/ ${timeSeries[value.toInt()].time.year}';
if (xAxixs.contains(value.toInt())) {
return '${timeSeries[value.toInt()].time.month}/ ${timeSeries[value.toInt()].time.year}';
}
}
return '';
},
),
leftTitles: SideTitles(
showTitles: true,
getTextStyles: (value) => const TextStyle(
color: Colors.black,
fontWeight: FontWeight.bold,
fontSize: 10,
),
interval: 3.0,
// interval: getMaxY() - getMinY() <= 500
// ? getMaxY() - getMinY() <= 50
// ? 10
// : 10
// : getMaxY() - getMinY() <= 1000
// ? 100
// : getMaxY() - getMinY() >= 10000
// ? 5000
// : 200,
margin: 12,
),
),
borderData: FlBorderData(
show: true,
border: const Border(
bottom: BorderSide(
color: Colors.black,
width: 0.5,
),
left: BorderSide(
color: Colors.black,
),
right: BorderSide(
color: Colors.black,
),
top: BorderSide(
color: Colors.transparent,
),
),
),
minX: 0,
maxX: (timeSeries.length - 1).toDouble(),
maxY: getMaxY() + 0.3,
minY: 0,
//getMinY(),
lineBarsData: getData(context),
);
}
double getMaxY() {
double max = 0;
timeSeries.forEach((element) {
double resultValueDouble = element.sales;
if (resultValueDouble > max) max = resultValueDouble;
});
return max.roundToDouble();
}
double getMinY() {
double min = timeSeries.isEmpty ? 0 : timeSeries.first.sales;
timeSeries.forEach((element) {
double resultValueDouble = element.sales;
if (resultValueDouble < min) min = resultValueDouble;
});
int value = min.toInt();
return value.toDouble();
}
List<LineChartBarData> getData(context) {
List<FlSpot> spots = List();
for (int index = 0; index < timeSeries.length; index++) {
spots.add(FlSpot(index.toDouble(), timeSeries[index].sales));
}
final LineChartBarData lineChartBarData1 = LineChartBarData(
spots: spots,
isCurved: true,
colors: [secondaryColor],
barWidth: 1.5,
isStrokeCapRound: true,
dotData: FlDotData(
show: false,
),
belowBarData: BarAreaData(
show: false,
),
);
return [
lineChartBarData1,
];
}
}
Loading…
Cancel
Save