From cb2bacf53919ea7e807429acf0fe9f07ec9c9beb Mon Sep 17 00:00:00 2001 From: haroon amjad Date: Mon, 6 Nov 2023 13:20:43 +0300 Subject: [PATCH] Update insurance for cash patient in ToDo List --- lib/config/localized_values.dart | 1 + lib/pages/ToDoList/ToDo.dart | 6 +- lib/pages/ToDoList/widgets/paymentDialog.dart | 186 +++++++++++------- .../insurance/insurance_update_screen.dart | 4 +- lib/uitl/translations_delegate_base.dart | 1 + 5 files changed, 119 insertions(+), 79 deletions(-) diff --git a/lib/config/localized_values.dart b/lib/config/localized_values.dart index 29671b2d..006b5f53 100644 --- a/lib/config/localized_values.dart +++ b/lib/config/localized_values.dart @@ -1899,4 +1899,5 @@ const Map localizedValues = { "updateInsurance": {"en": "Update insurance", "ar": "تحديث التأمين"}, "downloadReport": {"en": "Download Report", "ar": "تحميل تقرير المختبر"}, "habibCallCenter": {"en": "Please contact AlHabib call center to update your insurance manually.", "ar": "يرجى الاتصال بمركز اتصال الحبيب لتحديث التأمين الخاص بك يدوياً."}, + "cashAmountUpdateInsurance": {"en": "Please note that this is the cash amount, If you want to update your insurance, Please tap below:", "ar": "يرجى ملاحظة أن هذا هو المبلغ النقدي، إذا كنت ترغب في تحديث التأمين الخاص بك، يرجى النقر أدناه:"}, }; \ No newline at end of file diff --git a/lib/pages/ToDoList/ToDo.dart b/lib/pages/ToDoList/ToDo.dart index fbfe1cdb..95be336f 100644 --- a/lib/pages/ToDoList/ToDo.dart +++ b/lib/pages/ToDoList/ToDo.dart @@ -835,7 +835,7 @@ class _ToDoState extends State with SingleTickerProviderStateMixin { }); } dataLoaded = true; - if(widget.isFromMyAppointments) { + if (widget.isFromMyAppointments) { getPatientShare(context, widget.appointment); } }); @@ -906,7 +906,7 @@ class _ToDoState extends State with SingleTickerProviderStateMixin { GifLoaderDialogUtils.showMyDialog(context); service.getPatientShare(appo.appointmentNo.toString(), appo.clinicID, appo.projectID, context).then((res) { GifLoaderDialogUtils.hideDialog(context); - if(res['OnlineCheckInAppointments'].length != 0) { + if (res['OnlineCheckInAppointments'].length != 0) { widget.patientShareResponse = new PatientShareResponse.fromJson(res['OnlineCheckInAppointments'][0]); } isInsured = res["IsInsured"]; @@ -1009,7 +1009,7 @@ class _ToDoState extends State with SingleTickerProviderStateMixin { transform: Matrix4.translationValues(0.0, curvedValue * 200, 0.0), child: Opacity( opacity: a1.value, - child: PaymentDialog(appo: appo, patientShareResponse: patientShareResponse), + child: PaymentDialog(appo: appo, patientShareResponse: patientShareResponse, isCashPatient: isCash), ), ); }, diff --git a/lib/pages/ToDoList/widgets/paymentDialog.dart b/lib/pages/ToDoList/widgets/paymentDialog.dart index 9445e341..d12b5bf8 100644 --- a/lib/pages/ToDoList/widgets/paymentDialog.dart +++ b/lib/pages/ToDoList/widgets/paymentDialog.dart @@ -3,20 +3,24 @@ import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; import 'package:diplomaticquarterapp/locator.dart'; import 'package:diplomaticquarterapp/models/Appointments/AppoimentAllHistoryResultList.dart'; import 'package:diplomaticquarterapp/models/Appointments/PatientShareResposne.dart'; +import 'package:diplomaticquarterapp/pages/insurance/insurance_update_screen.dart'; +import 'package:diplomaticquarterapp/pages/landing/landing_page.dart'; import 'package:diplomaticquarterapp/theme/colors.dart'; import 'package:diplomaticquarterapp/uitl/date_uitl.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/utils_new.dart'; import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart'; +import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; import 'package:flutter/material.dart'; class PaymentDialog extends StatefulWidget { AppoitmentAllHistoryResultList appo; PatientShareResponse patientShareResponse; + bool isCashPatient; final Function onPaymentMethodSelected; - PaymentDialog({@required this.appo, @required this.onPaymentMethodSelected, this.patientShareResponse}); + PaymentDialog({@required this.appo, @required this.onPaymentMethodSelected, this.patientShareResponse, this.isCashPatient = false}); @override _PaymentDialogState createState() => _PaymentDialogState(); @@ -31,84 +35,118 @@ class _PaymentDialogState extends State { //height: 550.0, width: 450.0, padding: EdgeInsets.all(21), - child: Column(crossAxisAlignment: CrossAxisAlignment.start, mainAxisSize: MainAxisSize.min, children: [ - Text( - TranslationBase.of(context).invoiceDetails, - style: TextStyle( - fontSize: 24.0, - fontWeight: FontWeight.w600, - letterSpacing: -1.14, - color: Color(0xff2B353E), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + Text( + TranslationBase.of(context).invoiceDetails, + style: TextStyle( + fontSize: 24.0, + fontWeight: FontWeight.w600, + letterSpacing: -1.14, + color: Color(0xff2B353E), + ), ), - ), - Text(widget.appo.doctorTitle + " " + widget.appo.doctorNameObj, style: TextStyle(color: Color(0xff2E303A), fontSize: 16.0, fontWeight: FontWeight.w600,letterSpacing: -0.64)), - Text(getDate(widget.appo.appointmentDate), style: getTextStyle()), - Text(widget.appo.projectName, style: getTextStyle()), - Divider( - color: Colors.grey, - ), - Table( - children: [ - TableRow(decoration: BoxDecoration(), children: [ - TableCell(child: _getNormalText(TranslationBase.of(context).patientShareToDo)), - TableCell(child: _getNormalText(widget.patientShareResponse.patientShare.toString())), - ]), - TableRow(children: [ - TableCell(child: _getNormalText(TranslationBase.of(context).patientTaxToDo)), - TableCell(child: _getNormalText(widget.patientShareResponse.patientTaxAmount.toString())), - ]), - TableRow(children: [ - TableCell(child: _getNormalText(TranslationBase.of(context).patientShareTotalToDo)), - TableCell(child: _getNormalText(widget.patientShareResponse.patientShareWithTax.toString())), - ]), - ], - ), - Divider(color: Colors.grey), - Text( - TranslationBase.of(context).YouCanPayByTheFollowingOptions, - style: TextStyle( - fontSize: 14.0, - fontWeight: FontWeight.w600, - color: Color(0xff2E303A), + Text(widget.appo.doctorTitle + " " + widget.appo.doctorNameObj, style: TextStyle(color: Color(0xff2E303A), fontSize: 16.0, fontWeight: FontWeight.w600, letterSpacing: -0.64)), + Text(getDate(widget.appo.appointmentDate), style: getTextStyle()), + Text(widget.appo.projectName, style: getTextStyle()), + Divider( + color: Colors.grey, ), - ), - getPaymentMethods(), - SizedBox(height: 12), - Text( - TranslationBase.of(context).appoPaymentConfirm, - style: TextStyle(fontSize: 14.0, color: CustomColors.accentColor, fontWeight: FontWeight.w600, letterSpacing: -0.56), - ), - SizedBox(height: 12), - Container( - alignment: Alignment.center, - child: Row( - // direction: Axis.horizontal, - children: [ - Expanded( - child: DefaultButton( - TranslationBase.of(context).cancel_nocaps, - () { - Navigator.pop(context, null); - }, - color: CustomColors.accentColor, - textColor: Colors.white, + Table( + children: [ + TableRow(decoration: BoxDecoration(), children: [ + TableCell(child: _getNormalText(TranslationBase.of(context).patientShareToDo)), + TableCell(child: _getNormalText(widget.patientShareResponse.patientShare.toString())), + ]), + TableRow(children: [ + TableCell(child: _getNormalText(TranslationBase.of(context).patientTaxToDo)), + TableCell(child: _getNormalText(widget.patientShareResponse.patientTaxAmount.toString())), + ]), + TableRow(children: [ + TableCell(child: _getNormalText(TranslationBase.of(context).patientShareTotalToDo)), + TableCell(child: _getNormalText(widget.patientShareResponse.patientShareWithTax.toString())), + ]), + ], + ), + Divider(color: Colors.grey), + Text( + TranslationBase.of(context).YouCanPayByTheFollowingOptions, + style: TextStyle( + fontSize: 14.0, + fontWeight: FontWeight.w600, + color: Color(0xff2E303A), + ), + ), + getPaymentMethods(), + SizedBox(height: 12), + Text( + TranslationBase.of(context).appoPaymentConfirm, + style: TextStyle(fontSize: 14.0, color: CustomColors.accentColor, fontWeight: FontWeight.w600, letterSpacing: -0.56), + ), + SizedBox(height: 12), + Container( + alignment: Alignment.center, + child: Row( + // direction: Axis.horizontal, + children: [ + Expanded( + child: DefaultButton( + TranslationBase.of(context).cancel_nocaps, + () { + Navigator.pop(context, null); + }, + color: CustomColors.accentColor, + textColor: Colors.white, + ), ), - ), - mWidth(10.0), - Expanded( - child: DefaultButton( - TranslationBase.of(context).confirm, - () { - Navigator.pop(context, widget.patientShareResponse); - }, - color: CustomColors.green, - textColor: Colors.white, + mWidth(10.0), + Expanded( + child: DefaultButton( + TranslationBase.of(context).confirm, + () { + Navigator.pop(context, widget.patientShareResponse); + }, + color: CustomColors.green, + textColor: Colors.white, + ), ), - ), - ], + ], + ), ), - ), - ]), + widget.isCashPatient + ? Column( + children: [ + mHeight(10.0), + Text( + TranslationBase.of(context).cashAmountUpdateInsurance, + style: TextStyle( + fontSize: 14.0, + fontWeight: FontWeight.w600, + color: Color(0xff2E303A), + ), + ), + mHeight(5.0), + DefaultButton( + TranslationBase.of(context).updateInsuranceText, + () { + Navigator.pop(context, null); + Navigator.pushAndRemoveUntil( + context, + MaterialPageRoute(builder: (context) => LandingPage()), + (Route route) => false, + ); + Navigator.push(context, FadePage(page: InsuranceUpdate())); + }, + color: CustomColors.accentColor, + textColor: Colors.white, + ), + ], + ) + : Container(), + ], + ), ), ); } diff --git a/lib/pages/insurance/insurance_update_screen.dart b/lib/pages/insurance/insurance_update_screen.dart index 49446730..c3c227c6 100644 --- a/lib/pages/insurance/insurance_update_screen.dart +++ b/lib/pages/insurance/insurance_update_screen.dart @@ -59,9 +59,9 @@ class _InsuranceUpdateState extends State with SingleTickerProv isScrollable: false, indicatorWeight: 3.0, indicatorColor: CustomColors.accentColor, - labelColor: Theme.of(context).primaryColor, + labelColor: CustomColors.textDarkColor, labelPadding: EdgeInsets.symmetric(horizontal: 13.0, vertical: 2.0), - unselectedLabelColor: Colors.grey, + unselectedLabelColor: CustomColors.textDarkColor, tabs: [ Container( child: Center( diff --git a/lib/uitl/translations_delegate_base.dart b/lib/uitl/translations_delegate_base.dart index 804cecdd..f2a9e61d 100644 --- a/lib/uitl/translations_delegate_base.dart +++ b/lib/uitl/translations_delegate_base.dart @@ -2908,6 +2908,7 @@ class TranslationBase { String get updateInsuranceText => localizedValues["updateInsurance"][locale.languageCode]; String get downloadReport => localizedValues["downloadReport"][locale.languageCode]; String get habibCallCenter => localizedValues["habibCallCenter"][locale.languageCode]; + String get cashAmountUpdateInsurance => localizedValues["cashAmountUpdateInsurance"][locale.languageCode]; }