diff --git a/lib/config/localized_values.dart b/lib/config/localized_values.dart index 05d91477..1490c7bc 100644 --- a/lib/config/localized_values.dart +++ b/lib/config/localized_values.dart @@ -479,4 +479,5 @@ const Map> localizedValues = { }, 'significantSigns': {'en': "SIGNIFICANT SIGNS", 'ar': 'علامات مهمة'}, 'backAbdomen': {'en': "Back : Abdomen", 'ar': 'الظهر: البطن'}, + 'reasons': {'en': "Reasons", 'ar': 'الأسباب'}, }; diff --git a/lib/screens/reschedule-leaves/add-rescheduleleave.dart b/lib/screens/reschedule-leaves/add-rescheduleleave.dart index c48eee79..a4739247 100644 --- a/lib/screens/reschedule-leaves/add-rescheduleleave.dart +++ b/lib/screens/reschedule-leaves/add-rescheduleleave.dart @@ -2,6 +2,7 @@ import 'package:doctor_app_flutter/config/config.dart'; import 'package:doctor_app_flutter/config/size_config.dart'; import 'package:doctor_app_flutter/core/viewModel/leave_rechdule_response.dart'; import 'package:doctor_app_flutter/core/viewModel/patient_view_model.dart'; +import 'package:doctor_app_flutter/core/viewModel/project_view_model.dart'; import 'package:doctor_app_flutter/core/viewModel/sick_leave_view_model.dart'; import 'package:doctor_app_flutter/icons_app/doctor_app_icons.dart'; import 'package:doctor_app_flutter/models/sickleave/get_all_sickleave_response.dart'; @@ -15,10 +16,13 @@ import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/card_with_bgNew_widget.dart'; import 'package:flutter/material.dart'; import 'package:hexcolor/hexcolor.dart'; +import 'package:provider/provider.dart'; class AddRescheduleLeavScreen extends StatelessWidget { + ProjectViewModel projectsProvider; @override Widget build(BuildContext context) { + projectsProvider = Provider.of(context); return BaseView( onModelReady: (model) => {model.getRescheduleLeave(), model.getCoveringDoctors()}, @@ -157,6 +161,21 @@ class AddRescheduleLeavScreen extends StatelessWidget { item.doctorId)) ]) : SizedBox(), + AppText( + TranslationBase.of( + context) + .reasons, + fontWeight: + FontWeight.bold, + ), + model.allReasons.length > 0 + ? Row(children: [ + AppText(getReasons( + model + .allReasons, + item.reasonId)) + ]) + : SizedBox(), ], ), SizedBox( @@ -258,4 +277,16 @@ class AddRescheduleLeavScreen extends StatelessWidget { return obj.length > 0 ? obj[0]['doctorName'] : ""; } + + getReasons(model, reasonID) { + var obj; + obj = model.where((i) => i['id'] == reasonID).toList(); + print(obj); + + return obj.length > 0 + ? projectsProvider.isArabic == true + ? obj[0]['nameAr'] + : obj[0]['nameEn'] + : ""; + } } diff --git a/lib/screens/reschedule-leaves/reschedule_leave.dart b/lib/screens/reschedule-leaves/reschedule_leave.dart index 1a807392..c74395a3 100644 --- a/lib/screens/reschedule-leaves/reschedule_leave.dart +++ b/lib/screens/reschedule-leaves/reschedule_leave.dart @@ -732,16 +732,18 @@ class _RescheduleLeaveScreen extends State { getProfile() async { Map p = await sharedPref.getObj(DOCTOR_PROFILE); setState(() { - this.profile = p; - this.clinicID = widget.updateData.clinicId; + if (widget.updateData != null) { + this.profile = p; + this.clinicID = widget.updateData.clinicId; - _toDateController.text = widget.updateData.dateTimeFrom; - _toDateController2.text = widget.updateData.dateTimeTo; + _toDateController.text = widget.updateData.dateTimeFrom; + _toDateController2.text = widget.updateData.dateTimeTo; + } }); } getClinicName(model) { - var clinicID = this.profile != null ? this.profile['ClinicID'] : 1; + var clinicID = this.profile['ClinicID'] ?? 1; var clinicInfo = model.clinicsList.where((i) => i['ClinicID'] == clinicID).toList(); return clinicInfo.length > 0 ? clinicInfo[0]['ClinicDescription'] : ""; diff --git a/lib/util/translations_delegate_base.dart b/lib/util/translations_delegate_base.dart index f54e641d..b9aac20a 100644 --- a/lib/util/translations_delegate_base.dart +++ b/lib/util/translations_delegate_base.dart @@ -503,6 +503,7 @@ class TranslationBase { String get significantSigns => localizedValues['significantSigns'][locale.languageCode]; String get backAbdomen => localizedValues['backAbdomen'][locale.languageCode]; + String get reasons => localizedValues['reasons'][locale.languageCode]; } class TranslationBaseDelegate extends LocalizationsDelegate { diff --git a/pubspec.lock b/pubspec.lock index 9cbacb6d..7f1d8c1d 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -260,6 +260,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.3.10" + date_time_picker: + dependency: "direct main" + description: + name: date_time_picker + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.1" device_info: dependency: "direct main" description: @@ -496,7 +503,7 @@ packages: name: meta url: "https://pub.dartlang.org" source: hosted - version: "1.3.0-nullsafety.4" + version: "1.3.0-nullsafety.3" mime: dependency: transitive description: @@ -753,7 +760,7 @@ packages: name: stack_trace url: "https://pub.dartlang.org" source: hosted - version: "1.10.0-nullsafety.2" + version: "1.10.0-nullsafety.1" stream_channel: dependency: transitive description: @@ -888,5 +895,5 @@ packages: source: hosted version: "2.2.1" sdks: - dart: ">=2.10.0 <=2.11.0-213.1.beta" + dart: ">=2.10.0 <2.11.0" flutter: ">=1.22.0 <2.0.0"