Updates & fixes

merge-update-with-lab-changes
haroon amjad 5 years ago
parent e62e3dae1b
commit b475adb5c3

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

@ -894,7 +894,7 @@ const Map localizedValues = {
"somethingWentWrongTryLater": {"en": "Sorry something went wrong please try again later", "ar": "نعتذر عن خدمتك يرجى المحاولة لاحقا"}, "somethingWentWrongTryLater": {"en": "Sorry something went wrong please try again later", "ar": "نعتذر عن خدمتك يرجى المحاولة لاحقا"},
"TotalAmountPayable": {"en": "Total Amount Payable:", "ar": " إجمالي المبلغ المستحق:"}, "TotalAmountPayable": {"en": "Total Amount Payable:", "ar": " إجمالي المبلغ المستحق:"},
"iAcceptTermsConditions": {"en": "I Accept the Terms and Conditions", "ar": "أوافق على الشروط والأحكام"}, "iAcceptTermsConditions": {"en": "I Accept the Terms and Conditions", "ar": "أوافق على الشروط والأحكام"},
"YouCanPayByTheFollowingOptions": {"en": "You can pay by the following Options:", "ar": "يمكنك الدفع عن طريق الخيارات التالية:"}, "YouCanPayByTheFollowingOptions": {"en": "You can pay by the following options:", "ar": "يمكنك الدفع عن طريق الخيارات التالية:"},
"RRTDDetails": { "RRTDDetails": {
"en": "en":
"The RRT service provides medical service for urgent and stable cases, not life-threatening situations or extremities, and the service includes providing medical care from a complete medical team at home.", "The RRT service provides medical service for urgent and stable cases, not life-threatening situations or extremities, and the service includes providing medical care from a complete medical team at home.",
@ -1146,7 +1146,7 @@ const Map localizedValues = {
"other": {"en": "Other", "ar": "آخر"}, "other": {"en": "Other", "ar": "آخر"},
"measure-unit": {"en": "Measure unit", "ar": "وحدة القياس"}, "measure-unit": {"en": "Measure unit", "ar": "وحدة القياس"},
"measure-time": {"en": "Measure time", "ar": "وقت القياس"}, "measure-time": {"en": "Measure time", "ar": "وقت القياس"},
"update": {"en": "Update", "ar": "تعديل"}, "update": {"en": "Update", "ar": "تحديث"},
"bloodD-enter-desc": {"en": "Enter the required information, in order to register for Blood Donation Service", "ar": "أدخل المعلومات المطلوبة ، للتسجيل في خدمة التبرع بالدم"}, "bloodD-enter-desc": {"en": "Enter the required information, in order to register for Blood Donation Service", "ar": "أدخل المعلومات المطلوبة ، للتسجيل في خدمة التبرع بالدم"},
"viewTermsConditions": {"en": "To view the terms and conditions", "ar": "لعرض الشروط والأحكام"}, "viewTermsConditions": {"en": "To view the terms and conditions", "ar": "لعرض الشروط والأحكام"},
"WalkinAppo": {"en": "Hospital Visit Appointment", "ar": "موعد زيارة للمستشفى"}, "WalkinAppo": {"en": "Hospital Visit Appointment", "ar": "موعد زيارة للمستشفى"},
@ -1497,4 +1497,7 @@ const Map localizedValues = {
"years": {"en": "Years", "ar": "سنوات"}, "years": {"en": "Years", "ar": "سنوات"},
"respirationBPM": { "en": "bpm", "ar": "نفس" }, "respirationBPM": { "en": "bpm", "ar": "نفس" },
"extremeObese": {"en": "Extreme Obese", "ar": "السمنة المفرطة"}, "extremeObese": {"en": "Extreme Obese", "ar": "السمنة المفرطة"},
"invoiceDetails": { "en": "Invoice Details", "ar": "تفاصيل الفاتورة" },
"appoDetails": {"en": "Appointment Details", "ar": "تفاصيل الموعد"},
"appoPaymentConfirm": {"en": "Are you sure you Want to make payment for this appointment?", "ar": "هل أنت متأكد من أنك تريد سداد هذا الموعد؟"},
}; };

@ -116,6 +116,9 @@ class EReferralService extends BaseService {
SearchEReferralRequestModel searchEReferralRequestModel) async { SearchEReferralRequestModel searchEReferralRequestModel) async {
_allReferral.clear(); _allReferral.clear();
hasError = false; hasError = false;
searchEReferralRequestModel.patientMobileNumber = "966545156035";
// TODO return this code when the fix the server // TODO return this code when the fix the server
await baseAppClient.post(GET_E_REFERRALS, await baseAppClient.post(GET_E_REFERRALS,
onSuccess: (dynamic response, int statusCode) { onSuccess: (dynamic response, int statusCode) {

@ -113,6 +113,16 @@ class BaseAppClient {
} }
} }
// For RC Services
// if(body.containsKey("patientId"))
// body.remove("PatientID");
//
// if(body.containsKey("patientOutSa"))
// body.remove("PatientOutSA");
// body['PatientID'] = 1018977;
// body['TokenID'] = "@dm!n";
print("URL : $url"); print("URL : $url");
final jsonBody = json.encode(body); final jsonBody = json.encode(body);
print(jsonBody); print(jsonBody);

@ -13,6 +13,7 @@ import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/E-Referral/dial
import 'package:diplomaticquarterapp/pages/base/base_view.dart'; import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/pages/medical/balance/new_text_Field.dart'; import 'package:diplomaticquarterapp/pages/medical/balance/new_text_Field.dart';
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart'; import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart'; import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart';
@ -54,43 +55,23 @@ class _NewEReferralStepOnePageState extends State<NewEReferralStepOnePage> {
super.initState(); super.initState();
} }
void showSMSDialog(EReferralViewModel model) {
SMSOTP(
context,
1,
_selectedCountry['code'] + _mobileTextController.text,
(value) {
submit(model, value);
},
() => {
Navigator.pop(context),
},
).displayDialog(context);
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
projectViewModel = Provider.of(context); projectViewModel = Provider.of(context);
void showSMSDialog(EReferralViewModel model) {
SMSOTP(
context,
1,
_selectedCountry['code'] + _mobileTextController.text,
(value) {
submit(model, value);
},
() => {
Navigator.pop(context),
},
).displayDialog(context);
// showDialog(
// context: context,
// barrierDismissible: false,
// child: EReferralConfirmSMSDialog(
// phoneNumber: _selectedCountry['code'] + _mobileTextController.text,
// onSucces: () {
// Navigator.of(context).pop();
// widget.changePageViewIndex(1);
// widget.createEReferralRequestModel.requesterName =
// _nameTextController.text;
// widget.createEReferralRequestModel.requesterContactNo =
// _selectedCountry['code'].toString().substring(1) +
// _mobileTextController.text;
// widget.createEReferralRequestModel.requesterRelationship =
// _selectedRelation.iD;
// }),
// ).then((value) {
// print("dialog dismissed");
// print(value);
// if (value != null && value) {}
// });
}
return BaseView<EReferralViewModel>( return BaseView<EReferralViewModel>(
onModelReady: (model) => model.getRelationTypes(), onModelReady: (model) => model.getRelationTypes(),
@ -205,6 +186,10 @@ class _NewEReferralStepOnePageState extends State<NewEReferralStepOnePage> {
await model.checkActivationCodeForEReferral(checkActivationCodeForEReferralRequestModel); await model.checkActivationCodeForEReferral(checkActivationCodeForEReferralRequestModel);
if (model.state == ViewState.ErrorLocal) { if (model.state == ViewState.ErrorLocal) {
GifLoaderDialogUtils.hideDialog(context); GifLoaderDialogUtils.hideDialog(context);
Future.delayed(Duration(seconds: 1), () {
AppToast.showErrorToast(message: model.error);
showSMSDialog(model);
});
} else { } else {
GifLoaderDialogUtils.hideDialog(context); GifLoaderDialogUtils.hideDialog(context);
Navigator.of(context).pop(); Navigator.of(context).pop();

@ -42,7 +42,7 @@ class _ReferralDetailsState extends State<ReferralDetails> {
Container( Container(
margin: EdgeInsets.only(bottom: 10.0), margin: EdgeInsets.only(bottom: 10.0),
child: Text( child: Text(
TranslationBase.of(context).referralDetails, TranslationBase.of(context).ereferral,
style: TextStyle( style: TextStyle(
letterSpacing: -0.64, letterSpacing: -0.64,
color: Colors.black, color: Colors.black,
@ -116,7 +116,7 @@ class _ReferralDetailsState extends State<ReferralDetails> {
), ),
Expanded( Expanded(
child: _getNormalText( child: _getNormalText(
DateUtil.getMonthDayYearDateFormatted( DateUtil.getDayMonthYearDateFormatted(
DateUtil.convertStringToDateNoTimeZone( DateUtil.convertStringToDateNoTimeZone(
widget.referral.referralDate)), widget.referral.referralDate)),
isBold: true), isBold: true),

@ -172,7 +172,7 @@ class _SearchForReferralsPageState extends State<SearchForReferralsPage> {
child: myRichText(TranslationBase.of(context).patientName + ": ", model.allReferral[index].patientName, projectViewModel.isArabic)), child: myRichText(TranslationBase.of(context).patientName + ": ", model.allReferral[index].patientName, projectViewModel.isArabic)),
myRichText(TranslationBase.of(context).hospital + ": ", model.allReferral[index].preferredBranchName, projectViewModel.isArabic), myRichText(TranslationBase.of(context).hospital + ": ", model.allReferral[index].preferredBranchName, projectViewModel.isArabic),
myRichText(TranslationBase.of(context).referralDate + ": ", myRichText(TranslationBase.of(context).referralDate + ": ",
DateUtil.getMonthDayYearDateFormatted(DateUtil.convertStringToDateNoTimeZone(model.allReferral[index].referralDate)), projectViewModel.isArabic), DateUtil.getDayMonthYearDateFormatted(DateUtil.convertStringToDateNoTimeZone(model.allReferral[index].referralDate)), projectViewModel.isArabic),
], ],
), ),
Icon(projectViewModel.isArabic ? Icons.arrow_back_ios_outlined : Icons.arrow_forward_outlined), Icon(projectViewModel.isArabic ? Icons.arrow_back_ios_outlined : Icons.arrow_forward_outlined),

@ -175,7 +175,7 @@ class _BookSuccessState extends State<BookSuccess> {
), ),
height: 45.0, height: 45.0,
child: RaisedButton( child: RaisedButton(
color: new Color(0xFF60686b), color: CustomColors.green,
textColor: Colors.white, textColor: Colors.white,
disabledTextColor: Colors.white, disabledTextColor: Colors.white,
disabledColor: new Color(0xFFbcc2c4), disabledColor: new Color(0xFFbcc2c4),
@ -365,10 +365,11 @@ class _BookSuccessState extends State<BookSuccess> {
), ),
], ],
), ),
Container( // Container(
margin: EdgeInsets.fromLTRB(50.0, 20.0, 50.0, 20.0), // margin: EdgeInsets.fromLTRB(50.0, 20.0, 50.0, 20.0),
child: Image.asset("assets/images/new-design/payment-method.png"), // child: Image.asset("assets/images/new-design/payment-method.png"),
), // ),
Container(margin: EdgeInsets.fromLTRB(20.0, 5.0, 20.0, 5.0), child: getPaymentMethods()),
], ],
); );
} }
@ -447,10 +448,7 @@ class _BookSuccessState extends State<BookSuccess> {
fontSize: 12.0, fontSize: 12.0,
letterSpacing: -0.36, letterSpacing: -0.36,
)), )),
Container( Container(margin: EdgeInsets.fromLTRB(20.0, 5.0, 20.0, 5.0), child: getPaymentMethods()),
margin: EdgeInsets.fromLTRB(50.0, 20.0, 50.0, 20.0),
child: Image.asset("assets/images/new-design/payment-method.png"),
),
Text( Text(
TranslationBase.of(context).payNowBookSuccesstext2, TranslationBase.of(context).payNowBookSuccesstext2,
overflow: TextOverflow.clip, overflow: TextOverflow.clip,

@ -262,10 +262,7 @@ class _CovidPaymentDetailsState extends State<CovidPaymentDetails> {
letterSpacing: -0.46, letterSpacing: -0.46,
), ),
), ),
Container( Container(margin: EdgeInsets.fromLTRB(20.0, 5.0, 20.0, 5.0), child: getPaymentMethods()),
margin: EdgeInsets.only(top: 12, bottom: 12),
child: Image.asset("assets/images/new-design/payment_options_invoice_confirmation.png", width: 300),
),
], ],
), ),
), ),

@ -13,6 +13,7 @@ import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils.dart'; import 'package:diplomaticquarterapp/uitl/utils.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart'; import 'package:diplomaticquarterapp/uitl/utils_new.dart';
import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/dragable_sheet.dart'; import 'package:diplomaticquarterapp/widgets/dragable_sheet.dart';
import 'package:diplomaticquarterapp/widgets/in_app_browser/InAppBrowser.dart'; import 'package:diplomaticquarterapp/widgets/in_app_browser/InAppBrowser.dart';
@ -95,9 +96,9 @@ class _CovidPaymentSummaryState extends State<CovidPaymentSummary> {
decoration: containerColorRadiusBorderWidth(CustomColors.accentColor, 200, Colors.white, 4), decoration: containerColorRadiusBorderWidth(CustomColors.accentColor, 200, Colors.white, 4),
), ),
Container( Container(
height: 60.0, height: 100.0,
padding: EdgeInsets.all(7.0), padding: EdgeInsets.all(7.0),
child: widget.selectedPaymentMethod == "ApplePay" ? SvgPicture.asset(getImagePath(widget.selectedPaymentMethod)) : Image.asset(getImagePath(widget.selectedPaymentMethod)), child: Image.asset(getImagePath(widget.selectedPaymentMethod), width: 100, height: 100),
), ),
mFlex(1), mFlex(1),
InkWell( InkWell(
@ -154,17 +155,16 @@ class _CovidPaymentSummaryState extends State<CovidPaymentSummary> {
), ),
), ),
bottomSheet: Container( bottomSheet: Container(
color: Colors.white, color: Theme.of(context).scaffoldBackgroundColor,
height: MediaQuery.of(context).size.height * 0.1, margin: EdgeInsets.only(bottom: 5.0),
width: double.infinity, width: double.infinity,
padding: EdgeInsets.all(12), padding: EdgeInsets.all(12),
child: SecondaryButton( child: DefaultButton(
textColor: Colors.white, TranslationBase.of(context).confirm.toUpperCase(),
color: CustomColors.green, () {
label: TranslationBase.of(context).confirm.toUpperCase(),
onTap: () {
startPaymentProcess(projectViewModel.user); startPaymentProcess(projectViewModel.user);
}, },
color: CustomColors.green,
), ),
), ),
); );
@ -335,25 +335,25 @@ class _CovidPaymentSummaryState extends State<CovidPaymentSummary> {
String getImagePath(String paymentMethod) { String getImagePath(String paymentMethod) {
switch (paymentMethod) { switch (paymentMethod) {
case "MADA": case "MADA":
return 'assets/images/new-design/mada.png'; return 'assets/images/new/payment/Mada.png';
break;
case "SADAD":
return 'assets/images/new-design/sadad.png';
break; break;
// case "SADAD":
// return 'assets/images/new-design/sadad.png';
// break;
case "VISA": case "VISA":
return 'assets/images/new-design/visa.png'; return 'assets/images/new/payment/visa.png';
break; break;
case "MASTERCARD": case "MASTERCARD":
return 'assets/images/new-design/mastercard.png'; return 'assets/images/new/payment/Mastercard.png';
break; break;
case "Installment": case "Installment":
return 'assets/images/new-design/installment.png'; return 'assets/images/new/payment/installments.png';
break; break;
case "ApplePay": case "ApplePay":
return 'assets/images/new-design/applepay.svg'; return 'assets/images/new/payment/Apple_Pay.png';
break; break;
} }
return 'assets/images/new-design/mada.png'; return 'assets/images/new/payment/Mada.png';
} }
} }

@ -57,6 +57,8 @@ class _ToDoState extends State<ToDo> {
ToDoCountProviderModel toDoProvider; ToDoCountProviderModel toDoProvider;
CountdownTimerController controller; CountdownTimerController controller;
ProjectViewModel projectViewModel;
@override @override
void initState() { void initState() {
widget.patientShareResponse = new PatientShareResponse(); widget.patientShareResponse = new PatientShareResponse();
@ -73,7 +75,7 @@ class _ToDoState extends State<ToDo> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
toDoProvider = Provider.of<ToDoCountProviderModel>(context); toDoProvider = Provider.of<ToDoCountProviderModel>(context);
ProjectViewModel projectViewModel = Provider.of(context); projectViewModel = Provider.of(context);
return AppScaffold( return AppScaffold(
appBarTitle: TranslationBase.of(context).todoList, appBarTitle: TranslationBase.of(context).todoList,
imagesInfo: imagesInfo, imagesInfo: imagesInfo,
@ -169,12 +171,12 @@ class _ToDoState extends State<ToDo> {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[ children: <Widget>[
Text(widget.appoList[index].doctorTitle + " " + widget.appoList[index].doctorNameObj, Text(widget.appoList[index].doctorTitle + " " + widget.appoList[index].doctorNameObj,
style: TextStyle(fontSize: 14.0, color: Colors.black, fontWeight: FontWeight.bold, letterSpacing: 1.0)), style: TextStyle(fontSize: 14.0, color: Colors.black, fontWeight: FontWeight.bold, letterSpacing: -0.64)),
if (getDoctorSpeciality(widget.appoList[index].doctorSpeciality) != "null\n") if (getDoctorSpeciality(widget.appoList[index].doctorSpeciality) != "null\n")
Container( Container(
margin: EdgeInsets.only(top: 3.0, bottom: 3.0), margin: EdgeInsets.only(top: 3.0, bottom: 3.0),
child: Text(getDoctorSpeciality(widget.appoList[index].doctorSpeciality).trim(), child: Text(getDoctorSpeciality(widget.appoList[index].doctorSpeciality).trim(),
style: TextStyle(fontSize: 12.0, color: Colors.grey[600], letterSpacing: 1.0)), style: TextStyle(fontSize: 12.0, color: Colors.grey[600], letterSpacing: -0.64)),
), ),
Row( Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
@ -267,7 +269,7 @@ class _ToDoState extends State<ToDo> {
color: Color(0xff20bc44), color: Color(0xff20bc44),
), ),
height: 30.0, height: 30.0,
padding: EdgeInsets.only(right: 15), padding: EdgeInsets.only(right: 10, left: 10),
margin: EdgeInsets.symmetric(horizontal: 20), margin: EdgeInsets.symmetric(horizontal: 20),
transform: Matrix4.translationValues(0.0, -8.0, 0.0), transform: Matrix4.translationValues(0.0, -8.0, 0.0),
child: Row( child: Row(
@ -319,11 +321,11 @@ class _ToDoState extends State<ToDo> {
break; break;
case 15: case 15:
return widget.languageID == 'ar' ? "assets/images/new-design/pay_online_button_arabic_disabled.png" : "assets/images/new-design/pay_online_button_disabled.png"; return projectViewModel.isArabic ? "assets/images/new-design/pay_online_button_arabic_disabled.png" : "assets/images/new-design/pay_online_button_disabled.png";
break; break;
case 20: case 20:
return widget.languageID == 'ar' ? "assets/images/new-design/pay_online_button_arabic.png" : "assets/images/new-design/pay_online_button.png"; return projectViewModel.isArabic ? "assets/images/new-design/pay_online_button_arabic.png" : "assets/images/new-design/pay_online_button.png";
break; break;
case 30: case 30:

@ -60,7 +60,7 @@ class _PaymentMethodState extends State<PaymentMethod> {
height: 60.0, height: 60.0,
width: 60, width: 60,
padding: EdgeInsets.all(7.0), padding: EdgeInsets.all(7.0),
child: Image.asset("assets/images/new-design/mada.png"), child: Image.asset("assets/images/new/payment/Mada.png"),
), ),
mWidth(12), mWidth(12),
Text( Text(
@ -96,7 +96,7 @@ class _PaymentMethodState extends State<PaymentMethod> {
height: 60.0, height: 60.0,
padding: EdgeInsets.all(7.0), padding: EdgeInsets.all(7.0),
width: 60, width: 60,
child: Image.asset("assets/images/new-design/visa.png"), child: Image.asset("assets/images/new/payment/visa.png"),
), ),
mWidth(12), mWidth(12),
Text( Text(
@ -132,7 +132,7 @@ class _PaymentMethodState extends State<PaymentMethod> {
height: 60.0, height: 60.0,
padding: EdgeInsets.all(7.0), padding: EdgeInsets.all(7.0),
width: 60, width: 60,
child: Image.asset("assets/images/new-design/mastercard.png"), child: Image.asset("assets/images/new/payment/Mastercard.png"),
), ),
mWidth(12), mWidth(12),
Text( Text(
@ -168,7 +168,7 @@ class _PaymentMethodState extends State<PaymentMethod> {
height: 60.0, height: 60.0,
padding: EdgeInsets.all(7.0), padding: EdgeInsets.all(7.0),
width: 60, width: 60,
child: Image.asset("assets/images/new-design/installment.png"), child: Image.asset("assets/images/new/payment/installments.png"),
), ),
mWidth(12), mWidth(12),
Text( Text(
@ -205,7 +205,7 @@ class _PaymentMethodState extends State<PaymentMethod> {
height: 60.0, height: 60.0,
padding: EdgeInsets.all(7.0), padding: EdgeInsets.all(7.0),
width: 60, width: 60,
child: SvgPicture.asset("assets/images/new-design/applepay.svg"), child: Image.asset("assets/images/new/payment/Apple_Pay.png"),
), ),
mWidth(12), mWidth(12),
Text( Text(

@ -1,7 +1,9 @@
import 'package:diplomaticquarterapp/models/Appointments/AppoimentAllHistoryResultList.dart'; import 'package:diplomaticquarterapp/models/Appointments/AppoimentAllHistoryResultList.dart';
import 'package:diplomaticquarterapp/models/Appointments/PatientShareResposne.dart'; import 'package:diplomaticquarterapp/models/Appointments/PatientShareResposne.dart';
import 'package:diplomaticquarterapp/theme/colors.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart'; import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
class PaymentDialog extends StatefulWidget { class PaymentDialog extends StatefulWidget {
@ -21,159 +23,106 @@ class _PaymentDialogState extends State<PaymentDialog> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Container( return Container(
child: Dialog( child: Dialog(
shape: shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12.0)),
RoundedRectangleBorder(borderRadius: BorderRadius.circular(12.0)),
child: Container( child: Container(
height: 550.0, height: 550.0,
width: 450.0, width: 450.0,
child: Column( child: Column(crossAxisAlignment: CrossAxisAlignment.start, mainAxisSize: MainAxisSize.max, children: <Widget>[
crossAxisAlignment: CrossAxisAlignment.start, Container(
mainAxisSize: MainAxisSize.max, margin: EdgeInsets.fromLTRB(20.0, 20.0, 20.0, 5.0),
children: <Widget>[ child: Text(TranslationBase.of(context).invoiceDetails, style: TextStyle(fontSize: 25.0, fontWeight: FontWeight.bold)),
Container( ),
margin: EdgeInsets.fromLTRB(20.0, 20.0, 20.0, 5.0), Divider(
child: Text("Invoice Detail", color: Colors.grey,
style: TextStyle( ),
fontSize: 25.0, Container(
fontWeight: FontWeight.bold, margin: EdgeInsets.fromLTRB(20.0, 5.0, 20.0, 5.0),
fontFamily: "Open-Sans-Bold")), child: Text(TranslationBase.of(context).appoDetails, style: TextStyle(fontSize: 15.0, fontWeight: FontWeight.bold)),
), ),
Divider( Container(
color: Colors.grey, margin: EdgeInsets.fromLTRB(20.0, 5.0, 20.0, 5.0),
), child: Text(widget.appo.doctorTitle + " " + widget.appo.doctorNameObj, style: TextStyle(color: Colors.grey[700], fontSize: 15.0, fontWeight: FontWeight.bold)),
Container( ),
margin: EdgeInsets.fromLTRB(20.0, 5.0, 20.0, 5.0), Container(
child: Text("Appointment Details", margin: EdgeInsets.fromLTRB(20.0, 5.0, 20.0, 5.0),
style: TextStyle( child: Text(getDate(widget.appo.appointmentDate), style: getTextStyle()),
fontSize: 15.0, ),
fontWeight: FontWeight.bold, Container(
fontFamily: "Open-Sans-Bold")), margin: EdgeInsets.fromLTRB(20.0, 5.0, 20.0, 5.0),
), child: Text(widget.appo.projectName, style: getTextStyle()),
Container( ),
margin: EdgeInsets.fromLTRB(20.0, 5.0, 20.0, 5.0), Divider(
child: Text( color: Colors.grey,
widget.appo.doctorTitle + " " + widget.appo.doctorNameObj, ),
style: TextStyle( Container(
color: Colors.grey[700], margin: EdgeInsets.fromLTRB(20.0, 0.0, 20.0, 5.0),
fontSize: 15.0, child: Table(
fontWeight: FontWeight.bold, children: [
fontFamily: "Open-Sans-Bold")), TableRow(children: [
), TableCell(child: _getNormalText(TranslationBase.of(context).patientShareToDo)),
Container( TableCell(child: _getNormalText(widget.patientShareResponse.patientShare.toString())),
margin: EdgeInsets.fromLTRB(20.0, 5.0, 20.0, 5.0), ]),
child: Text(getDate(widget.appo.appointmentDate), TableRow(children: [
style: getTextStyle()), TableCell(child: _getNormalText(TranslationBase.of(context).patientTaxToDo)),
), TableCell(child: _getNormalText(widget.patientShareResponse.patientTaxAmount.toString())),
Container( ]),
margin: EdgeInsets.fromLTRB(20.0, 5.0, 20.0, 5.0), TableRow(children: [
child: Text(widget.appo.projectName, style: getTextStyle()), TableCell(child: _getNormalText(TranslationBase.of(context).patientShareTotalToDo)),
), TableCell(child: _getNormalText(widget.patientShareResponse.patientShareWithTax.toString())),
Divider( ]),
color: Colors.grey, ],
), ),
Container( ),
margin: EdgeInsets.fromLTRB(20.0, 0.0, 20.0, 5.0), Divider(
child: Table( color: Colors.grey,
children: [ ),
TableRow(children: [ Container(
TableCell( margin: EdgeInsets.fromLTRB(20.0, 10.0, 20.0, 5.0),
child: _getNormalText( child: Text(TranslationBase.of(context).YouCanPayByTheFollowingOptions, style: TextStyle(fontSize: 14.0, fontWeight: FontWeight.bold)),
TranslationBase.of(context).patientShareToDo)), ),
TableCell( Container(margin: EdgeInsets.fromLTRB(20.0, 5.0, 20.0, 5.0), child: getPaymentMethods()),
child: _getNormalText(widget Container(
.patientShareResponse.patientShare margin: EdgeInsets.fromLTRB(20.0, 5.0, 20.0, 15.0),
.toString())), child: Text(TranslationBase.of(context).appoPaymentConfirm, style: TextStyle(fontSize: 14.0, color: CustomColors.accentColor)),
]), ),
TableRow(children: [ Divider(
TableCell( color: Colors.grey,
child: _getNormalText( ),
TranslationBase.of(context).patientTaxToDo)), Container(
TableCell( alignment: Alignment.center,
child: _getNormalText(widget height: 40.0,
.patientShareResponse.patientTaxAmount child: Flex(
.toString())), direction: Axis.horizontal,
]), children: <Widget>[
TableRow(children: [ Expanded(
TableCell( child: InkWell(
child: _getNormalText(TranslationBase.of(context) onTap: () {
.patientShareTotalToDo)), Navigator.pop(context, null);
TableCell( },
child: _getNormalText(widget child: Container(
.patientShareResponse.patientShareWithTax child: Text(TranslationBase.of(context).cancel, textAlign: TextAlign.center, style: TextStyle(fontSize: 18.0, color: CustomColors.accentColor)),
.toString())),
]),
],
),
),
Container(
alignment: Alignment.center,
margin: EdgeInsets.fromLTRB(20.0, 20.0, 20.0, 5.0),
child: Text("You can pay by following options: ",
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 16.0,
fontWeight: FontWeight.bold,
fontFamily: "Open-Sans")),
),
Container(
alignment: Alignment.center,
margin: EdgeInsets.fromLTRB(20.0, 10.0, 20.0, 5.0),
child: Image.asset(
"assets/images/new-design/payment_options_invoice_confirmation.png",
width: 300),
),
Container(
alignment: Alignment.center,
margin: EdgeInsets.fromLTRB(20.0, 10.0, 20.0, 15.0),
child: Text(
"Are You Sure You Want To Make payment for this Appointment?",
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 14.0,
color: Colors.red[700],
fontFamily: "Open-Sans")),
),
Divider(
color: Colors.grey,
),
Container(
alignment: Alignment.center,
height: 40.0,
child: Flex(
direction: Axis.horizontal,
children: <Widget>[
Expanded(
child: InkWell(
onTap: () {
Navigator.pop(context, null);
},
child: Container(
child: Text("Cancel",
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 18.0, color: Colors.red[700])),
),
),
), ),
Expanded( ),
child: InkWell( ),
onTap: () { Expanded(
Navigator.pop(context, widget.patientShareResponse); child: InkWell(
onTap: () {
Navigator.pop(context, widget.patientShareResponse);
// widget.onPaymentMethodSelected(); // widget.onPaymentMethodSelected();
}, },
child: Container( child: Container(
child: Text("Ok", child: Text(TranslationBase.of(context).ok,
textAlign: TextAlign.center, textAlign: TextAlign.center,
style: TextStyle( style: TextStyle(
fontSize: 18.0, fontSize: 18.0,
)), )),
),
),
), ),
], ),
), ),
), ],
]), ),
),
]),
), ),
), ),
); );
@ -182,19 +131,12 @@ class _PaymentDialogState extends State<PaymentDialog> {
_getNormalText(text) { _getNormalText(text) {
return Container( return Container(
margin: EdgeInsets.only(top: 10.0, right: 10.0), margin: EdgeInsets.only(top: 10.0, right: 10.0),
child: Text(text, child: Text(text, style: TextStyle(fontSize: 13, letterSpacing: 0.5, color: Colors.grey[700])),
textAlign: TextAlign.end,
style: TextStyle(
fontSize: 15,
fontFamily: 'Open-Sans',
letterSpacing: 0.5,
color: Colors.grey[700])),
); );
} }
TextStyle getTextStyle() { TextStyle getTextStyle() {
return TextStyle( return TextStyle(color: Colors.grey[700], fontSize: 13.0);
color: Colors.grey[700], fontSize: 15.0, fontFamily: "Open-Sans-Bold");
} }
// Future navigateToPaymentMethod(context) async { // Future navigateToPaymentMethod(context) async {

@ -2,6 +2,7 @@ import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/models/LiveCare/ERAppointmentFeesResponse.dart'; import 'package:diplomaticquarterapp/models/LiveCare/ERAppointmentFeesResponse.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart'; import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
@ -38,7 +39,7 @@ class _LiveCarePaymentDialogState extends State<LiveCarePaymentDialog> {
child: Container( child: Container(
height: 600.0, height: 600.0,
margin: EdgeInsets.all(20.0), margin: EdgeInsets.all(20.0),
width: 450.0, width: 500.0,
child: SingleChildScrollView( child: SingleChildScrollView(
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
@ -81,10 +82,8 @@ class _LiveCarePaymentDialogState extends State<LiveCarePaymentDialog> {
], ],
), ),
Container( Container(
alignment: Alignment.center,
margin: EdgeInsets.only(bottom: 10.0, top: 10.0), margin: EdgeInsets.only(bottom: 10.0, top: 10.0),
child: Text(widget.clinicName, child: Text(widget.clinicName,
textAlign: TextAlign.center,
style: style:
TextStyle(fontSize: 22.0, fontWeight: FontWeight.bold)), TextStyle(fontSize: 22.0, fontWeight: FontWeight.bold)),
), ),
@ -194,21 +193,13 @@ class _LiveCarePaymentDialogState extends State<LiveCarePaymentDialog> {
color: Colors.grey[400], color: Colors.grey[400],
), ),
Container( Container(
alignment: Alignment.center,
margin: EdgeInsets.only(top: 10.0), margin: EdgeInsets.only(top: 10.0),
child: new Text( child: new Text(
TranslationBase.of(context).upComingPayOption, TranslationBase.of(context).upComingPayOption,
textAlign: TextAlign.center,
style: new TextStyle(fontSize: 14.0), style: new TextStyle(fontSize: 14.0),
), ),
), ),
Container( Container(margin: EdgeInsets.fromLTRB(10.0, 5.0, 10.0, 5.0), child: getPaymentMethods()),
alignment: Alignment.center,
margin: EdgeInsets.fromLTRB(20.0, 10.0, 20.0, 5.0),
child: Image.asset(
"assets/images/new-design/payment_options_invoice_confirmation.png",
width: 300),
),
Divider( Divider(
thickness: 1.0, thickness: 1.0,
color: Colors.grey[400], color: Colors.grey[400],
@ -272,10 +263,9 @@ class _LiveCarePaymentDialogState extends State<LiveCarePaymentDialog> {
return Container( return Container(
margin: EdgeInsets.only(top: 10.0, right: 10.0), margin: EdgeInsets.only(top: 10.0, right: 10.0),
child: Text(text, child: Text(text,
textAlign: TextAlign.end, textAlign: TextAlign.start,
style: TextStyle( style: TextStyle(
fontSize: 14, fontSize: 14,
// fontFamily: projectViewModel.isArabic ? 'Cairo' : 'Poppins',
letterSpacing: 0.5, letterSpacing: 0.5,
color: Colors.black)), color: Colors.black)),
); );
@ -285,10 +275,9 @@ class _LiveCarePaymentDialogState extends State<LiveCarePaymentDialog> {
return Container( return Container(
margin: EdgeInsets.only(top: 10.0, right: 10.0, bottom: 10.0), margin: EdgeInsets.only(top: 10.0, right: 10.0, bottom: 10.0),
child: Text(text, child: Text(text,
textAlign: TextAlign.end, textAlign: TextAlign.start,
style: TextStyle( style: TextStyle(
fontSize: 14, fontSize: 14,
// fontFamily: projectViewModel.isArabic ? 'Cairo' : 'Poppins',
letterSpacing: 0.5, letterSpacing: 0.5,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
color: Colors.black)), color: Colors.black)),

@ -21,6 +21,7 @@ import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils.dart'; import 'package:diplomaticquarterapp/uitl/utils.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart';
import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart'; import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart';
import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart'; import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart';
import 'package:diplomaticquarterapp/widgets/in_app_browser/InAppBrowser.dart'; import 'package:diplomaticquarterapp/widgets/in_app_browser/InAppBrowser.dart';
@ -439,7 +440,7 @@ class _clinic_listState extends State<ClinicList> {
isDataLoaded isDataLoaded
? Container( ? Container(
height: MediaQuery.of(context).size.height * 0.7, height: MediaQuery.of(context).size.height * 0.7,
child: Column( child: liveCareScheduleClinicsListResponse.clinicsHaveScheduleList.length > 0 ? Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[ children: <Widget>[
ListView.builder( ListView.builder(
@ -465,7 +466,7 @@ class _clinic_listState extends State<ClinicList> {
height: 10.0, height: 10.0,
), ),
], ],
), ): getNoDataWidget(context),
) )
: Container(), : Container(),
isDataLoaded isDataLoaded

@ -10,7 +10,6 @@ import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart'; import 'package:diplomaticquarterapp/uitl/utils_new.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/dialogs/ConfirmWithMessageDialog.dart'; import 'package:diplomaticquarterapp/widgets/dialogs/ConfirmWithMessageDialog.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
@ -77,9 +76,11 @@ class PrescriptionOrderOverview extends StatelessWidget {
child: Padding( child: Padding(
padding: const EdgeInsets.all(8.0), padding: const EdgeInsets.all(8.0),
child: Center( child: Center(
child: Text(prescriptionReportList[index].itemDescription.isNotEmpty child: Text(
? prescriptionReportList[index].itemDescription prescriptionReportList[index].itemDescription.isNotEmpty
: prescriptionReportList[index].itemDescriptionN)), ? prescriptionReportList[index].itemDescription
: prescriptionReportList[index].itemDescriptionN,
style: TextStyle(fontFamily: prescriptionReportList[index].itemDescription.isNotEmpty ? 'Poppins' : 'Cairo'))),
)), )),
], ],
), ),
@ -130,7 +131,16 @@ class PrescriptionOrderOverview extends StatelessWidget {
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[ children: <Widget>[
Text(prescriptionReportEnhList[index].itemDescription), Text(
(prescriptionReportList[index].itemDescription.isNotEmpty
? prescriptionReportList[index].itemDescription
: prescriptionReportList[index].itemDescriptionN ?? ''),
style: TextStyle(
fontFamily: prescriptionReportList[index].itemDescription.isNotEmpty ? 'Poppins' : 'Cairo',
letterSpacing: -0.64,
color: Color(0xff2E303A),
fontSize: 16.0,
fontWeight: FontWeight.w600)),
], ],
), ),
), ),

@ -2361,6 +2361,14 @@ class TranslationBase {
String get selectSlot => localizedValues["selectSlot"][locale.languageCode]; String get selectSlot => localizedValues["selectSlot"][locale.languageCode];
String get invoiceDetails => localizedValues["invoiceDetails"][locale.languageCode];
String get appoDetails => localizedValues["appoDetails"][locale.languageCode];
String get appoPaymentConfirm => localizedValues["appoPaymentConfirm"][locale.languageCode];
} }
class TranslationBaseDelegate extends LocalizationsDelegate<TranslationBase> { class TranslationBaseDelegate extends LocalizationsDelegate<TranslationBase> {

@ -26,6 +26,22 @@ Color getColorFromHex(String hexColor) {
return Color(int.parse(hexColor, radix: 16)); return Color(int.parse(hexColor, radix: 16));
} }
Widget getPaymentMethods() {
return Container(
child: Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Image.asset("assets/images/new/payment/Mada.png", width: 50, height: 50),
Image.asset("assets/images/new/payment/visa.png", width: 50, height: 50),
Image.asset("assets/images/new/payment/Mastercard.png", width: 50, height: 50),
Image.asset("assets/images/new/payment/Apple_Pay.png", width: 50, height: 50),
Image.asset("assets/images/new/payment/installments.png", width: 50, height: 50),
],
),
);
}
Widget getNoDataWidget(BuildContext context) { Widget getNoDataWidget(BuildContext context) {
return Container( return Container(
child: Center( child: Center(

@ -244,6 +244,7 @@ flutter:
- assets/images/new/bottom_nav/ - assets/images/new/bottom_nav/
- assets/images/new/services/ - assets/images/new/services/
- assets/images/new/appointment-rating/ - assets/images/new/appointment-rating/
- assets/images/new/payment/
fonts: fonts:
- family: WorkSans - family: WorkSans

Loading…
Cancel
Save