From 2e299e101604a83f14adfad1c679f6007fc78ceb Mon Sep 17 00:00:00 2001 From: "taha.alam@cloudsolutions.com.sa" Date: Wed, 26 Nov 2025 14:31:44 +0300 Subject: [PATCH] pharmacy intervenention remarks added --- lib/config/localized_values.dart | 10 ++++- .../InterventionHistoryBottomSheet.dart | 6 ++- .../widgets/intervention_history_item.dart | 37 ++++++++++++++++--- .../translations_delegate_base_utils.dart | 2 + 4 files changed, 46 insertions(+), 9 deletions(-) diff --git a/lib/config/localized_values.dart b/lib/config/localized_values.dart index 4c97b284..52856a7e 100644 --- a/lib/config/localized_values.dart +++ b/lib/config/localized_values.dart @@ -1254,5 +1254,13 @@ const Map> localizedValues = { "youHavePendingInterventions": {"en": "You Have Pending Interventions. That need your attention", "ar":"لديك تدخلات معلقة. التي تحتاج إلى اهتمامك"}, "open": {"en": "Open", "ar":"يفتح"}, "chiefComplaintLengthErrorMsg":{"en": "The text is too short; minimum 26 characters required.", "ar":"النص قصير جدًا؛ الحد الأدنى المطلوب هو 26 حرفًا."}, - "filterInPatient":{"en": "Select Dates", "ar":"حدد التواريخ."} + "filterInPatient":{"en": "Select Dates", "ar":"حدد التواريخ."}, + "remarksNotAdded": { + "en": "Remarks Not Added", + "ar": "لم تتم إضافة ملاحظات" + }, + "addDoctorRemarks": { + "en": " Doctor Remarks", + "ar": " ملاحظات الطبيب" + } }; diff --git a/lib/screens/pharmacy_intervention/widgets/InterventionHistoryBottomSheet.dart b/lib/screens/pharmacy_intervention/widgets/InterventionHistoryBottomSheet.dart index 873c2858..034d934d 100644 --- a/lib/screens/pharmacy_intervention/widgets/InterventionHistoryBottomSheet.dart +++ b/lib/screens/pharmacy_intervention/widgets/InterventionHistoryBottomSheet.dart @@ -54,8 +54,9 @@ class InterventionHistoryBottomSheet extends StatelessWidget { color: Colors.white, child: InterventionHistoryItem( interventionHistory: interventionList[index], - onAcceptClick: (intervention) { + onAcceptClick: (intervention, remarks) { model.updateInterventionDiseaseStatus( + remarks: remarks, isAccepted: true, interventionID: interventionList[index].interventionId.toString(), successMessage: TranslationBase.of(context).interventionAcceptedSuccessfully, @@ -63,8 +64,9 @@ class InterventionHistoryBottomSheet extends StatelessWidget { ); Navigator.pop(context); }, - onRejectClick: (intervention) { + onRejectClick: (intervention, remarks) { model.updateInterventionDiseaseStatus( + remarks: remarks, interventionID: interventionList[index].interventionId.toString(), successMessage: TranslationBase.of(context).interventionRejectedSuccessfully, errorMessage: TranslationBase.of(context).unableToPerformTheAction diff --git a/lib/screens/pharmacy_intervention/widgets/intervention_history_item.dart b/lib/screens/pharmacy_intervention/widgets/intervention_history_item.dart index 1b56d282..104a1f75 100644 --- a/lib/screens/pharmacy_intervention/widgets/intervention_history_item.dart +++ b/lib/screens/pharmacy_intervention/widgets/intervention_history_item.dart @@ -1,22 +1,26 @@ import 'package:doctor_app_flutter/config/config.dart'; import 'package:doctor_app_flutter/core/model/pharmacy-intervention-model/intervention_history.dart'; +import 'package:doctor_app_flutter/utils/dr_app_toast_msg.dart'; import 'package:doctor_app_flutter/utils/translations_delegate_base_utils.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/buttons/app_buttons_widget.dart'; +import 'package:doctor_app_flutter/widgets/shared/text_fields/app-textfield-custom.dart'; import 'package:flutter/material.dart'; class InterventionHistoryItem extends StatelessWidget { final InterventionHistory interventionHistory; - final Function(InterventionHistory) onAcceptClick; + final Function(InterventionHistory, String) onAcceptClick; - // string is index here - final Function(InterventionHistory) onRejectClick; + final Function(InterventionHistory, String) onRejectClick; + final TextEditingController remarksController = TextEditingController(); - const InterventionHistoryItem({ + + InterventionHistoryItem({ super.key, required this.interventionHistory, required this.onAcceptClick, required this.onRejectClick, + }); @override @@ -56,6 +60,19 @@ class InterventionHistoryItem extends StatelessWidget { color: Color(0xFF2B353E), ), SizedBox(height: 8,), + + AppTextFieldCustom( + hintText: TranslationBase.of(context).addDoctorRemarks, + controller: remarksController, + maxLines: 48, + minLines: 2, + hasBorder: true, + inputType: TextInputType.multiline, + onClick: () {}, + onChanged: (value) {}, + onFieldSubmitted: () {}, + ), + SizedBox(height: 16,), Row(children: [ Expanded( child: SizedBox( @@ -69,7 +86,11 @@ class InterventionHistoryItem extends StatelessWidget { color: AppGlobal.appRedColor, fontColor: Colors.white, onPressed: () async { - onRejectClick(interventionHistory); + if(remarksController.text.isEmpty == true) { + DrAppToastMsg.showErrorToast(TranslationBase.of(context).remarksNotAdded); + return; + } + onRejectClick(interventionHistory, remarksController.text); }, ), ), @@ -89,7 +110,11 @@ class InterventionHistoryItem extends StatelessWidget { color: AppGlobal.appGreenColor, fontColor: Colors.white, onPressed: () async { - onAcceptClick(interventionHistory); + if(remarksController.text.isEmpty == true) { + DrAppToastMsg.showErrorToast(TranslationBase.of(context).remarksNotAdded); + return; + } + onAcceptClick(interventionHistory,remarksController.text); }, ), ), diff --git a/lib/utils/translations_delegate_base_utils.dart b/lib/utils/translations_delegate_base_utils.dart index 98748c9b..9dff29c9 100644 --- a/lib/utils/translations_delegate_base_utils.dart +++ b/lib/utils/translations_delegate_base_utils.dart @@ -1997,6 +1997,8 @@ class TranslationBase { String get open => localizedValues['open']![locale.languageCode]!; String get chiefComplaintLengthErrorMsg => localizedValues['chiefComplaintLengthErrorMsg']![locale.languageCode]!; String get filterInPatient => localizedValues['filterInPatient']![locale.languageCode]!; + String get remarksNotAdded => localizedValues['remarksNotAdded']![locale.languageCode]!; + String get addDoctorRemarks => localizedValues['addDoctorRemarks']![locale.languageCode]!; } class TranslationBaseDelegate extends LocalizationsDelegate {