import 'package:doctor_app_flutter/core/model/labs/lab_result.dart'; import 'package:doctor_app_flutter/core/model/labs/patient_lab_orders.dart'; import 'package:doctor_app_flutter/core/viewModel/project_view_model.dart'; import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart'; import 'package:doctor_app_flutter/screens/patients/profile/lab_result/FlowChartPage.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:doctor_app_flutter/widgets/transitions/fade_page.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'LabResultHistoryPage.dart'; class LabResultWidget extends StatelessWidget { final String filterName; final List patientLabResultList; final PatientLabOrders patientLabOrder; final PatiantInformtion patient; final bool isInpatient; LabResultWidget( {Key key, this.filterName, this.patientLabResultList, this.patientLabOrder, this.patient, this.isInpatient}) : super(key: key); ProjectViewModel projectViewModel; @override Widget build(BuildContext context) { projectViewModel = Provider.of(context); return Container( width: double.infinity, child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ // if (!isInpatient) Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Row( children: [ AppText(filterName), ], ), // InkWell( // onTap: () { // Navigator.push( // context, // FadePage( // page: FlowChartPage( // filterName: filterName, // patientLabOrder: patientLabOrder, // patient: patient, // isInpatient: isInpatient, // ), // ), // ); // }, // // child: AppText( // // TranslationBase.of(context).showMoreBtn, // // textDecoration: TextDecoration.underline, // // color: Colors.blue, // // ), // ), ], ), Row( children: [ Expanded( child: Container( child: Center( child: AppText( TranslationBase.of(context).description, color: Colors.black, bold: true, ), ), ), ), Expanded( child: Container( child: Center( child: AppText( TranslationBase.of(context).value, color: Colors.black, bold: true, ), ), ), ), Expanded( child: Container( child: Center( child: AppText( TranslationBase.of(context).range, color: Colors.black, bold: true, ), ), ), ) ], ), SizedBox( height: 7, ), Divider( color: Colors.black, thickness: 1, ), SizedBox( height: 12, ), ...List.generate( patientLabResultList.length, (index) => Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ InkWell( onTap: () { Navigator.push( context, FadePage( page: FlowChartPage( filterName: patientLabResultList[index].description, patientLabOrder: patientLabOrder, patient: patient, isInpatient: isInpatient, ), // page: LabResultHistoryPage( // filterName: patientLabResultList[index].description, // patientLabOrder: patientLabOrder, // patient: patient, // ), ), ); }, // child: AppText( // " (show details)", // color: Colors.blue, // fontSize: 12, // ), child: Row( mainAxisAlignment: MainAxisAlignment.end, children: [ AppText( TranslationBase.of(context).showMoreBtn, textDecoration: TextDecoration.underline, color: Colors.blue, fontSize: 12, ), ], ), ), Row( children: [ Expanded( child: Container( padding: EdgeInsets.all(10), color: Colors.white, child: Center( child: AppText( '${patientLabResultList[index].testCode}\n' + patientLabResultList[index].description, textAlign: TextAlign.center, isCopyable: true, ), ), ), ), Expanded( child: Container( padding: EdgeInsets.all(10), color: Colors.white, child: Center( child: AppText( patientLabResultList[index].resultValue ?? "" + " " + "${patientLabResultList[index].uOM ?? ""}", textAlign: TextAlign.center, isCopyable: true, ), ), ), ), Expanded( child: Container( padding: EdgeInsets.all(10), color: Colors.white, child: Center( child: AppText( patientLabResultList[index].referanceRange, textAlign: TextAlign.center, isCopyable: true, ), ), ), ), ], ), Divider(), ], )) // Table( // border: TableBorder.symmetric( // inside: BorderSide(width: 2.0, color: Colors.grey[300],style: BorderStyle.solid), // ), // children: fullData(patientLabResultList,context), // ), ], ), ); } List fullData(List labResultList, context) { List tableRow = []; tableRow.add( TableRow( children: [ Container( child: Center( child: AppText( TranslationBase.of(context).description, color: Colors.black, bold: true, ), ), ), Container( child: Center( child: AppText( TranslationBase.of(context).value, color: Colors.black, bold: true, ), ), ), Container( child: Center( child: AppText( TranslationBase.of(context).range, color: Colors.black, bold: true, ), ), ), ], ), ); labResultList.forEach((lab) { tableRow.add( TableRow( children: [ Container( child: Container( padding: EdgeInsets.all(10), color: Colors.white, child: Center( child: AppText( lab.description, textAlign: TextAlign.center, ), ), ), ), Container( child: Container( padding: EdgeInsets.all(10), color: Colors.white, child: Center( child: AppText( lab.resultValue + " " + lab.uOM, textAlign: TextAlign.center, ), ), ), ), Container( child: Container( padding: EdgeInsets.all(10), color: Colors.white, child: Center( child: AppText( lab.referanceRange, textAlign: TextAlign.center, ), ), ), ), ], ), ); }); return tableRow; } }