From 735698ce90352e55b811f140203ae389ebfa7abf Mon Sep 17 00:00:00 2001 From: Sultan Khan Date: Sun, 24 Jan 2021 09:27:14 +0300 Subject: [PATCH] bug fixes --- lib/config/localized_values.dart | 47 ++- lib/core/service/sickleave_service.dart | 2 +- lib/core/viewModel/project_view_model.dart | 19 +- lib/screens/auth/login_screen.dart | 12 +- lib/screens/dashboard_screen.dart | 2 +- .../medical-file/medical_file_page.dart | 53 +-- .../add-rescheduleleave.dart | 2 +- .../reschedule-leaves/reschedule_leave.dart | 55 ++- lib/screens/sick-leave/add-sickleave.dart | 14 +- lib/util/helpers.dart | 2 +- lib/util/translations_delegate_base.dart | 20 +- lib/widgets/auth/login_form.dart | 78 ++-- lib/widgets/auth/verification_methods.dart | 355 +++++++++--------- lib/widgets/doctor/my_schedule_widget.dart | 45 +-- .../profile/profile_medical_info_widget.dart | 6 +- lib/widgets/shared/app_drawer_widget.dart | 11 +- 16 files changed, 349 insertions(+), 374 deletions(-) diff --git a/lib/config/localized_values.dart b/lib/config/localized_values.dart index bdb4f095..d06fa211 100644 --- a/lib/config/localized_values.dart +++ b/lib/config/localized_values.dart @@ -587,9 +587,9 @@ const Map> localizedValues = { 'en': "There is no detail for this patient", 'ar': "لا توجد تفاصيل لهذا المريض" }, - 'allergicTO': {'en': "ALLERGIC TO ", 'ar':" حساس من" }, - 'normal': {'en': "Normal", 'ar':"عادي" }, - 'abnormal': {'en': "Abnormal", 'ar':" غير عادي" }, + 'allergicTO': {'en': "ALLERGIC TO ", 'ar': " حساس من"}, + 'normal': {'en': "Normal", 'ar': "عادي"}, + 'abnormal': {'en': "Abnormal", 'ar': " غير عادي"}, "systolic-lng": {"en": "Systolic", "ar": "الإنقباض"}, "diastolic-lng": {"en": "Diastolic", "ar": "الإنبساط"}, "mass": {"en": "Mass", "ar": "كتلة"}, @@ -620,15 +620,34 @@ const Map> localizedValues = { }, 'updateProcedure': {'en': "Update Procedure", 'ar': "تحديث العملية"}, 'orderProcedure': {'en': "order procedure", 'ar': "طلب العمليات"}, - 'nameOrICD': {'en': "Name or ICD", 'ar':"الاسم او  ICD" }, - 'dType': {'en': "Type", 'ar':"النوع" }, - 'addAssessmentDetails': {'en': "Add Assessment Details", 'ar':"أضف تفاصيل التقييم" }, - 'progressNoteSOAP': {'en': "Progress Note", 'ar':"ملاحظة التقدم" }, - 'addProgressNote': {'en': "Add Progress Note", 'ar':"أضف ملاحظة التقدم" }, - 'createdBy': {'en': "Created By :", 'ar':"أضيفت : " }, - 'editedBy': {'en': "Edited By :", 'ar':"عدلت : " }, - 'currentMedications': {'en': "Current Medications", 'ar':"الأدوية الحالية" }, - 'noItem': {'en': "No items exists in this list", 'ar':"لا توجد عناصر في هذه القائمة" }, - 'postUcafSuccessMsg': {'en': "UCAF request send successfully", 'ar':"تم ارسال طلب UCAF بنجاح" }, - 'vitalSignDetailEmpty': {'en': "There is no data for this vital sign", 'ar':"لا توجد بيانات لهذه العلامة الحيوية" }, + 'nameOrICD': {'en': "Name or ICD", 'ar': "الاسم او  ICD"}, + 'dType': {'en': "Type", 'ar': "النوع"}, + 'addAssessmentDetails': { + 'en': "Add Assessment Details", + 'ar': "أضف تفاصيل التقييم" + }, + 'progressNoteSOAP': {'en': "Progress Note", 'ar': "ملاحظة التقدم"}, + 'addProgressNote': {'en': "Add Progress Note", 'ar': "أضف ملاحظة التقدم"}, + 'createdBy': {'en': "Created By :", 'ar': "أضيفت : "}, + 'editedBy': {'en': "Edited By :", 'ar': "عدلت : "}, + 'currentMedications': {'en': "Current Medications", 'ar': "الأدوية الحالية"}, + 'noItem': { + 'en': "No items exists in this list", + 'ar': "لا توجد عناصر في هذه القائمة" + }, + 'postUcafSuccessMsg': { + 'en': "UCAF request send successfully", + 'ar': "تم ارسال طلب UCAF بنجاح" + }, + 'vitalSignDetailEmpty': { + 'en': "There is no data for this vital sign", + 'ar': "لا توجد بيانات لهذه العلامة الحيوية" + }, + 'onlyOfftimeHoliday': { + 'en': "You can only apply holiday or offtime from mobile app", + 'ar': "يمكنك فقط تطبيق عطلة أو إجازة من تطبيق الهاتف" + }, + 'active': {'en': "Active", 'ar': "نشيط"}, + 'hold': {'en': "Hold", 'ar': "معلق"}, + 'loading': {'en': "Loading...", 'ar': "جار التحميل..."} }; diff --git a/lib/core/service/sickleave_service.dart b/lib/core/service/sickleave_service.dart index 63a7496c..15d77d5c 100644 --- a/lib/core/service/sickleave_service.dart +++ b/lib/core/service/sickleave_service.dart @@ -100,7 +100,7 @@ class SickLeaveService extends BaseService { hasError = true; super.error = error; }, - body: {'PatientMRN': patientMRN}, + body: {'PatientMRN': patientMRN, "Status": 0}, ); } diff --git a/lib/core/viewModel/project_view_model.dart b/lib/core/viewModel/project_view_model.dart index aed67d83..e144042e 100644 --- a/lib/core/viewModel/project_view_model.dart +++ b/lib/core/viewModel/project_view_model.dart @@ -114,18 +114,17 @@ class ProjectViewModel with ChangeNotifier { } void getProfile() async { - // Map profile = await sharedPref.getObj(DOCTOR_PROFILE); - // DoctorProfileModel doctorProfile = new DoctorProfileModel.fromJson(profile); - // ProfileReqModel docInfo = new ProfileReqModel( - // doctorID: doctorProfile.doctorID, - // clinicID: doctorProfile.clinicID, - // license: true, - // projectID: doctorProfile.projectID, - // tokenID: '', - // languageID: 2); + Map profile = await sharedPref.getObj(DOCTOR_PROFILE); + DoctorProfileModel doctorProfile = new DoctorProfileModel.fromJson(profile); + ProfileReqModel docInfo = new ProfileReqModel( + doctorID: doctorProfile.doctorID, + clinicID: doctorProfile.clinicID, + license: true, + projectID: doctorProfile.projectID, + ); Provider.of(AppGlobal.CONTEX, listen: false) - .getDocProfiles(ProfileReqModel().toJson()) + .getDocProfiles(docInfo.toJson()) .then((res) async { sharedPref.setObj(DOCTOR_PROFILE, res['DoctorProfileList'][0]); }).catchError((err) { diff --git a/lib/screens/auth/login_screen.dart b/lib/screens/auth/login_screen.dart index 1ed441e4..84121abf 100644 --- a/lib/screens/auth/login_screen.dart +++ b/lib/screens/auth/login_screen.dart @@ -9,6 +9,7 @@ import 'package:doctor_app_flutter/core/viewModel/imei_view_model.dart'; import 'package:doctor_app_flutter/core/viewModel/project_view_model.dart'; import 'package:doctor_app_flutter/screens/auth/verification_methods_screen.dart'; import 'package:doctor_app_flutter/screens/base/base_view.dart'; +import 'package:doctor_app_flutter/widgets/shared/app_loader_widget.dart'; import 'package:firebase_messaging/firebase_messaging.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; @@ -120,18 +121,9 @@ class _LoginsreenState extends State { ), ], ) - - // : Column( - // crossAxisAlignment: - // CrossAxisAlignment.start, - // children: [ - // AuthHeader(loginType.unknownUser), - // KnownUserLogin(), - // ], - // ), ])) ]) - : Center(child: CircularProgressIndicator()), + : Center(child: AppLoaderWidget()), ), )); } diff --git a/lib/screens/dashboard_screen.dart b/lib/screens/dashboard_screen.dart index 18ad7d8d..76f4e16e 100644 --- a/lib/screens/dashboard_screen.dart +++ b/lib/screens/dashboard_screen.dart @@ -116,7 +116,7 @@ class _DashboardScreenState extends State { IsLoginForDoctorApp: true, PatientOutSA: false); return BaseView( - //onModelReady: (model) => model.getDashboard(), + onModelReady: (model) => model.getDashboard(), builder: (_, model, w) => AppScaffold( baseViewModel: model, isShowAppBar: false, diff --git a/lib/screens/medical-file/medical_file_page.dart b/lib/screens/medical-file/medical_file_page.dart index 069dfbc2..54d978e3 100644 --- a/lib/screens/medical-file/medical_file_page.dart +++ b/lib/screens/medical-file/medical_file_page.dart @@ -4,6 +4,7 @@ import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart'; import 'package:doctor_app_flutter/screens/base/base_view.dart'; import 'package:doctor_app_flutter/screens/medical-file/medical_file_details.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; +import 'package:doctor_app_flutter/widgets/patients/profile/patient-page-header-widget.dart'; import 'package:doctor_app_flutter/widgets/patients/profile/patient_profile_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; @@ -34,57 +35,7 @@ class _MedicalFilePageState extends State { child: Container( child: Column( children: [ - Padding( - padding: EdgeInsets.all(8.0), - child: Row( - children: [ - AvatarWidget( - Icon( - patient.genderDescription == "Male" - ? DoctorApp.male - : DoctorApp.female_icon, - size: 70, - color: Colors.white, - ), - ), - SizedBox( - width: 20, - ), - Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - AppText( - patient.firstName + ' ' + patient.lastName, - color: Colors.black, - fontWeight: FontWeight.bold, - ), - Row( - children: [ - AppText( - TranslationBase.of(context).fileNo, - color: Colors.black, - fontWeight: FontWeight.bold, - ), - SizedBox( - width: 5.0, - ), - AppText( - patient.age.toString(), - color: Colors.black, - fontWeight: FontWeight.normal, - ), - ], - ), - AppText( - "ALLERGIC TO: FOOD, ASPIRIN", - color: Color(0xFFB9382C), - fontWeight: FontWeight.bold, - ), - ], - ) - ], - ), - ), + PatientPageHeaderWidget(patient), Divider( height: 1.0, thickness: 1.0, diff --git a/lib/screens/reschedule-leaves/add-rescheduleleave.dart b/lib/screens/reschedule-leaves/add-rescheduleleave.dart index 685259b4..b4ebecf4 100644 --- a/lib/screens/reschedule-leaves/add-rescheduleleave.dart +++ b/lib/screens/reschedule-leaves/add-rescheduleleave.dart @@ -210,7 +210,7 @@ class AddRescheduleLeavScreen extends StatelessWidget { ], ), ), - (item.status == 1) + (item.status == 2) ? Expanded( flex: 1, child: IconButton( diff --git a/lib/screens/reschedule-leaves/reschedule_leave.dart b/lib/screens/reschedule-leaves/reschedule_leave.dart index 5d546c04..f0bf122f 100644 --- a/lib/screens/reschedule-leaves/reschedule_leave.dart +++ b/lib/screens/reschedule-leaves/reschedule_leave.dart @@ -54,8 +54,8 @@ class _RescheduleLeaveScreen extends State { var clinicID; var fromTime; var toTime; - TextEditingController _controller4; - TextEditingController _controller5; + TextEditingController _controller4 = new TextEditingController(); + TextEditingController _controller5 = new TextEditingController(); void _presentDatePicker(id) { var date = new DateTime.now(); var initialDate = id == 'fromDate' @@ -718,10 +718,16 @@ class _RescheduleLeaveScreen extends State { ? TranslationBase.of(context).update : TranslationBase.of(context).add, onPressed: () { - if (widget.isUpdate == true) { - updateRecheduleLeave(model2); + if (offTime == '1' || offTime == '2') { + if (widget.isUpdate == true) { + updateRecheduleLeave(model2); + } else { + addRecheduleLeave(model2); + } } else { - addRecheduleLeave(model2); + DrAppToastMsg.showErrorToast( + TranslationBase.of(context) + .onlyOfftimeHoliday); } }, ), @@ -750,9 +756,21 @@ class _RescheduleLeaveScreen extends State { this.profile = p; if (widget.updateData != null) { this.clinicID = widget.updateData.clinicId; + final df = new DateFormat('HH:mm:ss'); + final dateFormat = new DateFormat('yyyy-MM-dd'); - _toDateController.text = widget.updateData.dateTimeFrom; - _toDateController2.text = widget.updateData.dateTimeTo; + _toDateController.text = + dateFormat.format(DateTime.parse(widget.updateData.dateTimeFrom)); + //df.format(DateTime.parse(widget.updateData.dateTimeFrom)); + this.fromTime = + df.format(DateTime.parse(widget.updateData.dateTimeFrom)); + this.toTime = df.format(DateTime.parse(widget.updateData.dateTimeTo)); + _toDateController2.text = + dateFormat.format(DateTime.parse(widget.updateData.dateTimeTo)); + _controller5.text = toTime; + _controller4.text = fromTime; + toDate = _toDateController2.text; + fromDate = _toDateController.text; } }); } @@ -827,20 +845,29 @@ class _RescheduleLeaveScreen extends State { } updateRecheduleLeave(model) { - final df = new DateFormat('yyyy-MM-ddThh:mm:ss'); + final df = new DateFormat('yyyy-MM-ddTHH:MM:ss'); final dateFormat = new DateFormat('yyyy-MM-dd'); - + var fromDates = fromDate; + var toDates = toDate; if (offTime == '1') { - fromDate = dateFormat.format(fromDate) + 'T' + fromTime + '00'; - toDate = dateFormat.format(fromDate) + 'T' + toTime + '00'; + fromDate = df.format(DateTime.parse(fromDates)) + + 'T' + + fromTime + + ':' + + DateTime.now().second.toString(); + toDate = df.format(DateTime.parse(fromDates)) + + 'T' + + toTime + + ':' + + DateTime.now().second.toString(); } else { - fromDate = df.format(fromDate); - toDate = df.format(toDate); + fromDate = df.format(fromDates); + toDate = df.format(toDates); } Map request = { "Requisition": { - "requisitionNo": 0, + "requisitionNo": widget.updateData.requisitionNo, "requisitionType": offTime, "clinicId": this.profile['ClinicID'], "doctorId": this.profile['DoctorID'], diff --git a/lib/screens/sick-leave/add-sickleave.dart b/lib/screens/sick-leave/add-sickleave.dart index d456f2a6..93353d85 100644 --- a/lib/screens/sick-leave/add-sickleave.dart +++ b/lib/screens/sick-leave/add-sickleave.dart @@ -56,20 +56,22 @@ class AddSickLeavScreen extends StatelessWidget { item.status == 1 ? TranslationBase.of( context) - .approved + .hold : item.status == 2 ? TranslationBase.of( context) - .extended + .active : TranslationBase.of( context) - .pending, + .all, fontWeight: FontWeight.bold, color: Colors.white, ), color: item.status == 1 - ? Colors.green - : Colors.yellow[800], + ? Colors.yellow[800] + : item.status == 2 + ? Colors.green + : Colors.black, ), Row( children: [ @@ -96,7 +98,7 @@ class AddSickLeavScreen extends StatelessWidget { ), Row(children: [ AppText( - item.remarks, + item.remarks ?? "", ) ]), ], diff --git a/lib/util/helpers.dart b/lib/util/helpers.dart index a7229ca2..07709fc9 100644 --- a/lib/util/helpers.dart +++ b/lib/util/helpers.dart @@ -317,7 +317,7 @@ class Helpers { listOfHours.forEach((element) { WorkingHours workingHours = WorkingHours(); var from = element.substring( - element.indexOf('m ') + 2, element.indexOf('To') - 2); + element.indexOf('m ') + 2, element.indexOf('To') - 1); workingHours.from = from.trim(); var to = element.substring(element.indexOf('To') + 2); workingHours.to = to.trim(); diff --git a/lib/util/translations_delegate_base.dart b/lib/util/translations_delegate_base.dart index b91aea9b..13efb440 100644 --- a/lib/util/translations_delegate_base.dart +++ b/lib/util/translations_delegate_base.dart @@ -997,11 +997,9 @@ class TranslationBase { String get orderProcedure => localizedValues['orderProcedure'][locale.languageCode]; - String get nameOrICD => - localizedValues['nameOrICD'][locale.languageCode]; + String get nameOrICD => localizedValues['nameOrICD'][locale.languageCode]; - String get dType => - localizedValues['dType'][locale.languageCode]; + String get dType => localizedValues['dType'][locale.languageCode]; String get addAssessmentDetails => localizedValues['addAssessmentDetails'][locale.languageCode]; @@ -1012,19 +1010,21 @@ class TranslationBase { String get addProgressNote => localizedValues['addProgressNote'][locale.languageCode]; - String get createdBy => - localizedValues['createdBy'][locale.languageCode]; + String get createdBy => localizedValues['createdBy'][locale.languageCode]; - String get editedBy => - localizedValues['editedBy'][locale.languageCode]; + String get editedBy => localizedValues['editedBy'][locale.languageCode]; String get currentMedications => localizedValues['currentMedications'][locale.languageCode]; - String get noItem => - localizedValues['noItem'][locale.languageCode]; + String get noItem => localizedValues['noItem'][locale.languageCode]; String get postUcafSuccessMsg => localizedValues['postUcafSuccessMsg'][locale.languageCode]; String get vitalSignDetailEmpty => localizedValues['vitalSignDetailEmpty'][locale.languageCode]; + String get onlyOfftimeHoliday => + localizedValues['onlyOfftimeHoliday'][locale.languageCode]; + String get active => localizedValues['active'][locale.languageCode]; + String get hold => localizedValues['hold'][locale.languageCode]; + String get loading => localizedValues['loading'][locale.languageCode]; } class TranslationBaseDelegate extends LocalizationsDelegate { diff --git a/lib/widgets/auth/login_form.dart b/lib/widgets/auth/login_form.dart index 3aac5cdd..4f496010 100644 --- a/lib/widgets/auth/login_form.dart +++ b/lib/widgets/auth/login_form.dart @@ -1,5 +1,6 @@ import 'package:doctor_app_flutter/lookups/hospital_lookup.dart'; import 'package:doctor_app_flutter/screens/auth/verification_methods_screen.dart'; +import 'package:doctor_app_flutter/widgets/shared/app_loader_widget.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; @@ -41,7 +42,7 @@ class _LoginFormState extends State { bool _isInit = true; FocusNode focusPass = FocusNode(); FocusNode focusProject = FocusNode(); - + HospitalViewModel projectsProv; var userInfo = UserModel( userID: '', password: '', @@ -56,24 +57,13 @@ class _LoginFormState extends State { @override void initState() { super.initState(); - initPlatformState(); - } - - @override - void didChangeDependencies() { - super.didChangeDependencies(); - authProv = Provider.of(context); - - if (_isInit) { - if (projectsList.length == 0) { - getProjectsList(); - } - } - _isInit = false; } @override Widget build(BuildContext context) { + authProv = Provider.of(context); + projectsProv = Provider.of(context); + getProjects(); return Form( key: loginFormKey, child: Container( @@ -128,25 +118,33 @@ class _LoginFormState extends State { }, ), buildSizedBox(), - TextFormField( - focusNode: focusProject, - controller: projectIdController, - onTap: () { - helpers.showCupertinoPicker( - context, projectsList, 'Name', onSelectProject); - }, - showCursor: false, - readOnly: true, - decoration: buildInputDecoration( - context, - TranslationBase.of(context).selectYourProject, - 'assets/images/password_icon.png'), - validator: (value) { - if (value.isEmpty) { - return TranslationBase.of(context).pleaseEnterYourProject; - } - return null; - }), + projectsList.length > 0 + ? TextFormField( + focusNode: focusProject, + controller: projectIdController, + onTap: () { + helpers.showCupertinoPicker( + context, projectsList, 'Name', onSelectProject); + }, + showCursor: false, + readOnly: true, + decoration: buildInputDecoration( + context, + TranslationBase.of(context).selectYourProject, + 'assets/images/password_icon.png'), + validator: (value) { + if (value.isEmpty) { + return TranslationBase.of(context) + .pleaseEnterYourProject; + } + return null; + }) + : TextFormField( + readOnly: true, + decoration: buildInputDecoration( + context, + TranslationBase.of(context).loading, + 'assets/images/password_icon.png')), buildSizedBox(), Row( mainAxisAlignment: MainAxisAlignment.end, @@ -325,8 +323,9 @@ class _LoginFormState extends State { } getProjectsList() { - HospitalViewModel projectsProv = Provider.of(context); + //showLoading(); projectsProv.getProjectsList().then((res) { + //hideLoading(); if (res['MessageStatus'] == 1) { setState(() { projectsList = res['ListProject']; @@ -371,4 +370,13 @@ class _LoginFormState extends State { hideLoading() { Navigator.pop(context); } + + getProjects() { + if (_isInit) { + if (projectsList.length == 0) { + getProjectsList(); + } + } + _isInit = false; + } } diff --git a/lib/widgets/auth/verification_methods.dart b/lib/widgets/auth/verification_methods.dart index 2bf39881..b5111704 100644 --- a/lib/widgets/auth/verification_methods.dart +++ b/lib/widgets/auth/verification_methods.dart @@ -118,199 +118,188 @@ class _VerificationMethodsState extends State { crossAxisAlignment: CrossAxisAlignment.start, children: [ Container( - height: SizeConfig.realScreenHeight * 0.6, - child: Column( - children: [ - user != null && isMoreOption == false - ? Column( - mainAxisAlignment: - MainAxisAlignment.spaceEvenly, - crossAxisAlignment: - CrossAxisAlignment.start, - children: [ - AppText( - TranslationBase.of(context) - .welcomeBack + - ' ' + - user.doctorName, - fontSize: - SizeConfig.textMultiplier * 3.5, - ), - SizedBox( - height: 20, - ), - AppText( - TranslationBase.of(context) - .accountInfo, - fontSize: - SizeConfig.textMultiplier * 2.5, - ), - SizedBox( - height: 20, - ), - Card( - color: Colors.grey[300], - child: Row( - children: [ - Flexible( - child: ListTile( - title: Text( + // height: SizeConfig.realScreenHeight * 0.6, + child: Column( + children: [ + user != null && isMoreOption == false + ? Column( + mainAxisAlignment: + MainAxisAlignment.spaceEvenly, + crossAxisAlignment: + CrossAxisAlignment.start, + children: [ + AppText( + TranslationBase.of(context) + .welcomeBack + + ' ' + + user.doctorName, + fontSize: + SizeConfig.textMultiplier * 3.5, + ), + SizedBox( + height: 20, + ), + AppText( + TranslationBase.of(context).accountInfo, + fontSize: + SizeConfig.textMultiplier * 2.5, + ), + SizedBox( + height: 20, + ), + Card( + color: Colors.grey[300], + child: Row( + children: [ + Flexible( + child: ListTile( + title: Text( + TranslationBase.of(context) + .lastLoginAt, + textAlign: TextAlign.center, + overflow: + TextOverflow.ellipsis, + ), + subtitle: Text( + user.editedOn != null + ? formatDate(Helpers + .convertStringToDate( + user.editedOn)) + : user.createdOn != null + ? formatDate(Helpers + .convertStringToDate(user + .createdOn)) + : '--', + overflow: + TextOverflow.ellipsis, + textAlign: + TextAlign.center), + )), + Flexible( + child: ListTile( + title: Text( TranslationBase.of(context) - .lastLoginAt, - textAlign: TextAlign.center, + .lastLoginWith, overflow: TextOverflow.ellipsis, - ), - subtitle: Text( - user.editedOn != null - ? formatDate(Helpers - .convertStringToDate( - user - .editedOn)) - : user.createdOn != - null - ? formatDate(Helpers - .convertStringToDate(user - .createdOn)) - : '--', - overflow: - TextOverflow.ellipsis, - textAlign: - TextAlign.center), - )), - Flexible( - child: ListTile( - title: Text( - TranslationBase.of( - context) - .lastLoginWith, - overflow: - TextOverflow.ellipsis, - textAlign: - TextAlign.center), - subtitle: Text( - getType(user.logInTypeID, - context), - overflow: - TextOverflow.ellipsis, - textAlign: - TextAlign.center), - )) - ], - )), - ], - ) - : Column( - mainAxisAlignment: - MainAxisAlignment.spaceEvenly, - crossAxisAlignment: - CrossAxisAlignment.start, - children: [ - this.onlySMSBox == false - ? AppText( - TranslationBase.of(context) - .verifyLoginWith, - fontSize: SizeConfig - .textMultiplier * - 3.5, - textAlign: TextAlign.left, - ) - : AppText( - TranslationBase.of(context) - .verifyFingerprint2, - fontSize: SizeConfig - .textMultiplier * - 2.5, - textAlign: TextAlign.start, - ), - ]), - user != null && isMoreOption == false - ? Column( - mainAxisAlignment: - MainAxisAlignment.start, - crossAxisAlignment: - CrossAxisAlignment.start, - children: [ - Row( - mainAxisAlignment: - MainAxisAlignment.center, - children: [ - Expanded( - child: InkWell( - onTap: () => { - authenticateUser( - 3, - BiometricType - .face - .index, - authProv) - }, - child: getButton( - user.logInTypeID, - authProv))), - Expanded( - child: - getButton(5, authProv)) - ]) - ]) - : Column( - mainAxisAlignment: - MainAxisAlignment.start, - crossAxisAlignment: - CrossAxisAlignment.start, - children: [ - onlySMSBox == false - ? Row( - mainAxisAlignment: - MainAxisAlignment.center, - children: [ - Expanded( - child: getButton( - 3, authProv)), - Expanded( - child: getButton( - 4, authProv)) - ], - ) - : SizedBox(), - Row( + textAlign: + TextAlign.center), + subtitle: Text( + getType(user.logInTypeID, + context), + overflow: + TextOverflow.ellipsis, + textAlign: + TextAlign.center), + )) + ], + )), + ], + ) + : Column( + mainAxisAlignment: + MainAxisAlignment.spaceEvenly, + crossAxisAlignment: + CrossAxisAlignment.start, + children: [ + this.onlySMSBox == false + ? AppText( + TranslationBase.of(context) + .verifyLoginWith, + fontSize: + SizeConfig.textMultiplier * + 3.5, + textAlign: TextAlign.left, + ) + : AppText( + TranslationBase.of(context) + .verifyFingerprint2, + fontSize: + SizeConfig.textMultiplier * + 2.5, + textAlign: TextAlign.start, + ), + ]), + user != null && isMoreOption == false + ? Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: + CrossAxisAlignment.start, + children: [ + Row( mainAxisAlignment: MainAxisAlignment.center, children: [ Expanded( - child: - getButton(1, authProv)), + child: InkWell( + onTap: () => { + authenticateUser( + 3, + BiometricType + .face.index, + authProv) + }, + child: getButton( + user.logInTypeID, + authProv))), Expanded( - child: getButton(2, authProv)) - ], - ), - ]), - Expanded( - flex: 1, - child: Column( - mainAxisAlignment: MainAxisAlignment.end, + child: getButton(5, authProv)) + ]) + ]) + : Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: + CrossAxisAlignment.start, + children: [ + onlySMSBox == false + ? Row( + mainAxisAlignment: + MainAxisAlignment.center, + children: [ + Expanded( + child: getButton( + 3, authProv)), + Expanded( + child: getButton( + 4, authProv)) + ], + ) + : SizedBox(), + Row( + mainAxisAlignment: + MainAxisAlignment.center, + children: [ + Expanded( + child: getButton(1, authProv)), + Expanded( + child: getButton(2, authProv)) + ], + ), + ]), + + // ) + ], + ), + ), + Column( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + user != null + ? Row( children: [ - user != null - ? Row( - children: [ - Expanded( - child: Button( - title: - TranslationBase.of(context) - .useAnotherAccount, - onTap: () { - Navigator.of(context) - .pushNamed(LOGIN); - }, - )), - ], - ) - : SizedBox(), + Expanded( + child: Button( + title: TranslationBase.of(context) + .useAnotherAccount, + onTap: () { + Navigator.of(context).pushNamed(LOGIN); + }, + )), ], - ), - ) - ], - )) + ) + : SizedBox(), + ], + ), ], ), )); diff --git a/lib/widgets/doctor/my_schedule_widget.dart b/lib/widgets/doctor/my_schedule_widget.dart index 4e4c6b8c..34ec97db 100644 --- a/lib/widgets/doctor/my_schedule_widget.dart +++ b/lib/widgets/doctor/my_schedule_widget.dart @@ -24,13 +24,15 @@ class MyScheduleWidget extends StatelessWidget { Column( children: [ Divider( - height: 10, + height: 1, color: Colors.grey, thickness: 1.0, ), - Text('${workingHoursTable.date.day}') ], ), + SizedBox( + height: 10, + ), Row( children: [ AppText( @@ -50,44 +52,19 @@ class MyScheduleWidget extends StatelessWidget { return Container( child: Column( children: [ - Row( - children: [ - Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - SizedBox( - height: 5, - ), - AppText( - work.from + ' - ', - fontSize: 2.0 * SizeConfig.textMultiplier, - fontWeight: FontWeight.w300, - ) - ], - ), - Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - SizedBox( - height: 5, - ), - AppText( - work.to, - fontSize: 2.0 * SizeConfig.textMultiplier, - fontWeight: FontWeight.w300, - ), - ], - ), - ], + SizedBox( + height: 5, + ), + AppText( + work.from + ' - ' + work.to, + fontSize: 2.0 * SizeConfig.textMultiplier, + fontWeight: FontWeight.w300, ) ], ), ); }).toList(), ), - SizedBox( - width: 8, - ) ], ), ), diff --git a/lib/widgets/patients/profile/profile_medical_info_widget.dart b/lib/widgets/patients/profile/profile_medical_info_widget.dart index b243f15a..27b38ee2 100644 --- a/lib/widgets/patients/profile/profile_medical_info_widget.dart +++ b/lib/widgets/patients/profile/profile_medical_info_widget.dart @@ -98,7 +98,9 @@ class ProfileMedicalInfoWidget extends StatelessWidget { nameLine1: TranslationBase.of(context).previewHealth, nameLine2: TranslationBase.of(context).summaryReport, icon: 'radiology-1.png'), - if (selectedPatientType != 0 && selectedPatientType != 5 && selectedPatientType != 7) + if (selectedPatientType != 0 && + selectedPatientType != 5 && + selectedPatientType != 7) PatientProfileButton( key: key, patient: patient, @@ -144,7 +146,7 @@ class ProfileMedicalInfoWidget extends StatelessWidget { nameLine1: TranslationBase.of(context).orders, nameLine2: TranslationBase.of(context).list, icon: 'radiology-1.png'), - if (selectedPatientType != 0 && selectedPatientType != 5) + if (int.parse(patientType) == 7 || int.parse(patientType) == 6) PatientProfileButton( key: key, patient: patient, diff --git a/lib/widgets/shared/app_drawer_widget.dart b/lib/widgets/shared/app_drawer_widget.dart index 808e09dc..8a9ae52b 100644 --- a/lib/widgets/shared/app_drawer_widget.dart +++ b/lib/widgets/shared/app_drawer_widget.dart @@ -1,3 +1,4 @@ +import 'package:doctor_app_flutter/core/viewModel/project_view_model.dart'; import 'package:doctor_app_flutter/icons_app/doctor_app_icons.dart'; import 'package:doctor_app_flutter/core/viewModel/auth_view_model.dart'; import 'package:doctor_app_flutter/util/helpers.dart'; @@ -26,6 +27,7 @@ class AppDrawer extends StatefulWidget { class _AppDrawerState extends State { bool _isInit = true; Helpers helpers = new Helpers(); + ProjectViewModel projectsProvider; // @override // void didChangeDependencies() { // super.didChangeDependencies(); @@ -38,6 +40,7 @@ class _AppDrawerState extends State { @override Widget build(BuildContext context) { AuthViewModel authProvider = Provider.of(context); + projectsProvider = Provider.of(context); return RoundedContainer( child: Container( color: Colors.white, @@ -84,7 +87,13 @@ class _AppDrawerState extends State { )) : SizedBox(), AppText( - "Director of medical records", //TODO: Make The Dr Title Dynamic and check overflow issue. + projectsProvider.isArabic + ? authProvider + .doctorProfile.titleDescriptionN ?? + "" + : authProvider + .doctorProfile?.titleDescription ?? + "", fontWeight: FontWeight.normal, color: Colors.black87), RaisedButton(