From 7702960bb56e1e89079dd15bf7f814b39223aaff Mon Sep 17 00:00:00 2001 From: haroon amjad Date: Mon, 21 Aug 2023 13:04:39 +0300 Subject: [PATCH] InPatient medical report & view medical report commented out --- .../medical/reports_view_model.dart | 2 +- .../medical/reports/report_home_page.dart | 349 +++++++++--------- .../medical/reports/report_list_widget.dart | 34 +- 3 files changed, 194 insertions(+), 191 deletions(-) diff --git a/lib/core/viewModels/medical/reports_view_model.dart b/lib/core/viewModels/medical/reports_view_model.dart index 8f55b3b7..7fb4cf93 100644 --- a/lib/core/viewModels/medical/reports_view_model.dart +++ b/lib/core/viewModels/medical/reports_view_model.dart @@ -37,7 +37,7 @@ class ReportsViewModel extends BaseViewModel { setState(ViewState.Error); } else { _filterList(); - await _reportsService.getInpatientAdmissionsList(); + // await _reportsService.getInpatientAdmissionsList(); setState(ViewState.Idle); } } diff --git a/lib/pages/medical/reports/report_home_page.dart b/lib/pages/medical/reports/report_home_page.dart index 3a902332..a520b956 100644 --- a/lib/pages/medical/reports/report_home_page.dart +++ b/lib/pages/medical/reports/report_home_page.dart @@ -28,20 +28,20 @@ class HomeReportPage extends StatefulWidget { } class _HomeReportPageState extends State with SingleTickerProviderStateMixin { - TabController _tabController_new; + // TabController _tabController_new; List imagesInfo = List(); int _currentPage = 0; @override void initState() { - _tabController_new = TabController(length: 2, vsync: this); + // _tabController_new = TabController(length: 2, vsync: this); super.initState(); } @override void dispose() { super.dispose(); - _tabController_new.dispose(); + // _tabController_new.dispose(); } @override @@ -70,182 +70,185 @@ class _HomeReportPageState extends State with SingleTickerProvid body: Container( child: Column( children: [ - TabBar( - controller: _tabController_new, - indicatorWeight: 3.0, - indicatorSize: TabBarIndicatorSize.tab, - labelColor: Color(0xff2B353E), - unselectedLabelColor: Color(0xff575757), - labelPadding: EdgeInsets.only(top: 15, bottom: 13, left: 20, right: 20), - labelStyle: TextStyle( - fontSize: 16, - fontWeight: FontWeight.w600, - letterSpacing: -0.48, - ), - unselectedLabelStyle: TextStyle( - fontSize: 16, - fontWeight: FontWeight.w600, - letterSpacing: -0.48, - ), - onTap: (int value) { - print(value); - setState(() {}); - }, - tabs: [ - Text( - TranslationBase.of(context).outpatient, - style: TextStyle(fontFamily: projectViewModel.isArabic ? 'Cairo' : 'Poppins'), - ), - Text( - TranslationBase.of(context).inPatient, - style: TextStyle(fontFamily: projectViewModel.isArabic ? 'Cairo' : 'Poppins'), - ), - ], - ), + // TabBar( + // controller: _tabController_new, + // indicatorWeight: 3.0, + // indicatorSize: TabBarIndicatorSize.tab, + // labelColor: Color(0xff2B353E), + // unselectedLabelColor: Color(0xff575757), + // labelPadding: EdgeInsets.only(top: 15, bottom: 13, left: 20, right: 20), + // labelStyle: TextStyle( + // fontSize: 16, + // fontWeight: FontWeight.w600, + // letterSpacing: -0.48, + // ), + // unselectedLabelStyle: TextStyle( + // fontSize: 16, + // fontWeight: FontWeight.w600, + // letterSpacing: -0.48, + // ), + // onTap: (int value) { + // print(value); + // setState(() {}); + // }, + // tabs: [ + // Text( + // TranslationBase.of(context).outpatient, + // style: TextStyle(fontFamily: projectViewModel.isArabic ? 'Cairo' : 'Poppins'), + // ), + // Text( + // TranslationBase.of(context).inPatient, + // style: TextStyle(fontFamily: projectViewModel.isArabic ? 'Cairo' : 'Poppins'), + // ), + // ], + // ), if (model.user != null) Expanded( - child: TabBarView( - physics: BouncingScrollPhysics(), - controller: _tabController_new, - children: [ + child: + // TabBarView( + // physics: BouncingScrollPhysics(), + // controller: _tabController_new, + // children: [ Container( - child: Column( - children: [ - Padding( - padding: EdgeInsets.all(21), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - myRadioButton(TranslationBase.of(context).requested, 0), - myRadioButton(TranslationBase.of(context).ready, 1), - myRadioButton(TranslationBase.of(context).cancelled, 2), - ], - ), - ), - Expanded( - child: IndexedStack( - index: _currentPage, - children: [ - ReportListWidget(reportList: model.reportsOrderRequestList, emailAddress: model.user.emailAddress), - ReportListWidget(reportList: model.reportsOrderReadyList, emailAddress: model.user.emailAddress), - ReportListWidget(reportList: model.reportsOrderCanceledList, emailAddress: model.user.emailAddress), - ], - ), - ) - ], + child: Column( + children: [ + Padding( + padding: EdgeInsets.all(21), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + myRadioButton(TranslationBase.of(context).requested, 0), + myRadioButton(TranslationBase.of(context).ready, 1), + myRadioButton(TranslationBase.of(context).cancelled, 2), + ], + ), ), - ), - // InPatient Medical Reports - Container( - child: model.admissionsMedicalReportList.isNotEmpty - ? Column( - children: [ - Padding( - padding: const EdgeInsets.all(16.0), - child: Text( - TranslationBase.of(context).selectAdmissionText, - style: TextStyle(fontSize: 16, fontWeight: FontWeight.w600, color: Color(0xff2E303A), letterSpacing: -0.64, height: 25 / 16), - ), - ), - ListView.separated( - physics: BouncingScrollPhysics(), - shrinkWrap: true, - padding: EdgeInsets.only(left: 21, right: 21, top: 12, bottom: 12), - itemBuilder: (context, index) { - AdmissionMedicalReport admissionMedicalReport = model.admissionsMedicalReportList[index]; - return InkWell( - onTap: () { - Navigator.push( - context, - FadePage( - page: InPatientMedicalReports( - admissionMedicalReport: admissionMedicalReport, - ))); - }, - child: Container( - // height: 100.0, - decoration: BoxDecoration( - borderRadius: BorderRadius.all( - Radius.circular(10.0), - ), - boxShadow: [ - BoxShadow( - color: Color(0xff000000).withOpacity(.05), - blurRadius: 27, - offset: Offset(0, -3), - ), - ], - color: Colors.white), - child: Padding( - padding: const EdgeInsets.all(12.0), - child: Column( - mainAxisSize: MainAxisSize.min, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - TranslationBase.of(context).dr + " " + admissionMedicalReport.doctorNameObj, - style: TextStyle(fontSize: 16, fontWeight: FontWeight.w600, color: Color(0xff2E303A), letterSpacing: -0.64, height: 25 / 16), - ), - Column( - crossAxisAlignment: CrossAxisAlignment.end, - children: [ - Text(DateUtil.getDayMonthYearDateFormatted(DateUtil.convertStringToDate(admissionMedicalReport.admissionDate)), - style: TextStyle(fontSize: 14, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.48, height: 18 / 12)), - Text(admissionMedicalReport.projectName, - style: TextStyle(fontSize: 14, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.48, height: 18 / 12)), - ], - ), - ], - ), - Row( - children: [ - Expanded( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisSize: MainAxisSize.min, - children: [ - if (admissionMedicalReport.clinicName != null) - MyRichText(TranslationBase.of(context).clinic + ":", admissionMedicalReport.clinicName, projectViewModel.isArabic), - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - MyRichText( - TranslationBase.of(context).status + ":", - projectViewModel.isArabic ? admissionMedicalReport.statusDescriptionN : admissionMedicalReport.statusDescription, - projectViewModel.isArabic), - Icon( - Icons.arrow_forward, - color: Theme.of(context).primaryColor, - ) - ], - ), - ], - ), - ), - ], - ) - ], - ), - ), - ), - ); - }, - separatorBuilder: (context, index) => SizedBox( - height: 16.0, - ), - itemCount: model.admissionsMedicalReportList.length), - ], - ) - : getNoDataWidget(context), - ) - ], + Expanded( + child: IndexedStack( + index: _currentPage, + children: [ + ReportListWidget(reportList: model.reportsOrderRequestList, emailAddress: model.user.emailAddress), + ReportListWidget(reportList: model.reportsOrderReadyList, emailAddress: model.user.emailAddress), + ReportListWidget(reportList: model.reportsOrderCanceledList, emailAddress: model.user.emailAddress), + ], + ), + ) + ], + ), ), + // InPatient Medical Reports + // Container( + // child: model.admissionsMedicalReportList.isNotEmpty + // ? Column( + // children: [ + // Padding( + // padding: const EdgeInsets.all(16.0), + // child: Text( + // TranslationBase.of(context).selectAdmissionText, + // style: TextStyle(fontSize: 16, fontWeight: FontWeight.w600, color: Color(0xff2E303A), letterSpacing: -0.64, height: 25 / 16), + // ), + // ), + // ListView.separated( + // physics: BouncingScrollPhysics(), + // shrinkWrap: true, + // padding: EdgeInsets.only(left: 21, right: 21, top: 12, bottom: 12), + // itemBuilder: (context, index) { + // AdmissionMedicalReport admissionMedicalReport = model.admissionsMedicalReportList[index]; + // return InkWell( + // onTap: () { + // Navigator.push( + // context, + // FadePage( + // page: InPatientMedicalReports( + // admissionMedicalReport: admissionMedicalReport, + // ))); + // }, + // child: Container( + // // height: 100.0, + // decoration: BoxDecoration( + // borderRadius: BorderRadius.all( + // Radius.circular(10.0), + // ), + // boxShadow: [ + // BoxShadow( + // color: Color(0xff000000).withOpacity(.05), + // blurRadius: 27, + // offset: Offset(0, -3), + // ), + // ], + // color: Colors.white), + // child: Padding( + // padding: const EdgeInsets.all(12.0), + // child: Column( + // mainAxisSize: MainAxisSize.min, + // crossAxisAlignment: CrossAxisAlignment.start, + // children: [ + // Row( + // mainAxisAlignment: MainAxisAlignment.spaceBetween, + // crossAxisAlignment: CrossAxisAlignment.start, + // children: [ + // Text( + // TranslationBase.of(context).dr + " " + admissionMedicalReport.doctorNameObj, + // style: TextStyle(fontSize: 16, fontWeight: FontWeight.w600, color: Color(0xff2E303A), letterSpacing: -0.64, height: 25 / 16), + // ), + // Column( + // crossAxisAlignment: CrossAxisAlignment.end, + // children: [ + // Text(DateUtil.getDayMonthYearDateFormatted(DateUtil.convertStringToDate(admissionMedicalReport.admissionDate)), + // style: TextStyle(fontSize: 14, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.48, height: 18 / 12)), + // Text(admissionMedicalReport.projectName, + // style: TextStyle(fontSize: 14, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.48, height: 18 / 12)), + // ], + // ), + // ], + // ), + // Row( + // children: [ + // Expanded( + // child: Column( + // crossAxisAlignment: CrossAxisAlignment.start, + // mainAxisSize: MainAxisSize.min, + // children: [ + // if (admissionMedicalReport.clinicName != null) + // MyRichText(TranslationBase.of(context).clinic + ":", admissionMedicalReport.clinicName, projectViewModel.isArabic), + // Row( + // mainAxisAlignment: MainAxisAlignment.spaceBetween, + // children: [ + // MyRichText( + // TranslationBase.of(context).status + ":", + // projectViewModel.isArabic ? admissionMedicalReport.statusDescriptionN : admissionMedicalReport.statusDescription, + // projectViewModel.isArabic), + // Icon( + // Icons.arrow_forward, + // color: Theme.of(context).primaryColor, + // ) + // ], + // ), + // ], + // ), + // ), + // ], + // ) + // ], + // ), + // ), + // ), + // ); + // }, + // separatorBuilder: (context, index) => SizedBox( + // height: 16.0, + // ), + // itemCount: model.admissionsMedicalReportList.length), + // ], + // ) + // : getNoDataWidget(context), + // ) + // ], + // ), ), - if (projectViewModel.havePrivilege(21) && _tabController_new.index == 0) + if (projectViewModel.havePrivilege(21) + // && _tabController_new.index == 0 + ) Padding( padding: EdgeInsets.only(top: 16, bottom: 16, right: 21, left: 21), child: DefaultButton( diff --git a/lib/pages/medical/reports/report_list_widget.dart b/lib/pages/medical/reports/report_list_widget.dart index 016fad79..b8b457de 100644 --- a/lib/pages/medical/reports/report_list_widget.dart +++ b/lib/pages/medical/reports/report_list_widget.dart @@ -117,23 +117,23 @@ class ReportListWidget extends StatelessWidget { if (reportList[index].status == 2) Row( children: [ - InkWell( - onTap: () { - getMedicalReportPDF(report); - }, - child: Padding( - padding: const EdgeInsets.only(right: 11.0, left: 11.0), - child: Text(TranslationBase.of(context).viewReport, - style: TextStyle( - fontSize: 12, - fontWeight: FontWeight.w600, - fontStyle: FontStyle.italic, - color: CustomColors.accentColor, - letterSpacing: -0.48, - height: 18 / 12, - decoration: TextDecoration.underline)), - ), - ), + // InkWell( + // onTap: () { + // getMedicalReportPDF(report); + // }, + // child: Padding( + // padding: const EdgeInsets.only(right: 11.0, left: 11.0), + // child: Text(TranslationBase.of(context).viewReport, + // style: TextStyle( + // fontSize: 12, + // fontWeight: FontWeight.w600, + // fontStyle: FontStyle.italic, + // color: CustomColors.accentColor, + // letterSpacing: -0.48, + // height: 18 / 12, + // decoration: TextDecoration.underline)), + // ), + // ), IconButton( icon: Icon(Icons.email), color: Color(0xff28323A),