diff --git a/lib/config/config.dart b/lib/config/config.dart index 77fd2047..b6632a15 100755 --- a/lib/config/config.dart +++ b/lib/config/config.dart @@ -11,9 +11,9 @@ const DOCTOR_ROTATION = 'https://doctorrota.hmg.com/'; // const BASE_URL = 'https://hmgwebservices.com/'; // const BASE_URL = 'http://10.20.200.111:1010/'; -const BASE_URL = 'https://uat.hmgwebservices.com/'; +// const BASE_URL = 'https://uat.hmgwebservices.com/'; -// const BASE_URL = 'https://hmgwebservices.com/'; +const BASE_URL = 'https://hmgwebservices.com/'; // const BASE_URL = 'https://webservices.hmg.com/'; // @@ -413,7 +413,7 @@ const TRANSACTION_NO = 0; const LANGUAGE_ID = 2; const STAMP = '2020-04-27T12:17:17.721Z'; const IP_ADDRESS = '9.9.9.9'; -const VERSION_ID = 20.5; +const VERSION_ID = 10.5; const CHANNEL = 9; const SESSION_ID = 'BlUSkYymTt'; const IS_LOGIN_FOR_DOCTOR_APP = true; diff --git a/lib/core/model/pharmacy-intervention-model/intervention_history.dart b/lib/core/model/pharmacy-intervention-model/intervention_history.dart index 7c57fb3b..c3e872b9 100644 --- a/lib/core/model/pharmacy-intervention-model/intervention_history.dart +++ b/lib/core/model/pharmacy-intervention-model/intervention_history.dart @@ -1,3 +1,5 @@ +import 'package:flutter/cupertino.dart'; + class InterventionHistoryList{ List? history = []; InterventionHistoryList.fromJson(Map json){ @@ -19,6 +21,7 @@ class InterventionHistory { String? interventionDesc; int? interventionId; String? remark; + TextEditingController remarksController = TextEditingController(); InterventionHistory({ this.authizationFormText, diff --git a/lib/core/service/home/scan_qr_service.dart b/lib/core/service/home/scan_qr_service.dart index 1e241fc1..2fbd0e6b 100644 --- a/lib/core/service/home/scan_qr_service.dart +++ b/lib/core/service/home/scan_qr_service.dart @@ -10,9 +10,11 @@ class ScanQrService extends BaseService { Future getInPatient( PatientSearchRequestModel requestModel, bool isMyInpatient) async { hasError = false; - await getDoctorProfile(); + await getDoctorProfile(isGetProfile: true); requestModel.loginDoctorID = doctorProfile!.doctorID; requestModel.doctorID = 0; + requestModel.from = "0"; + requestModel.to = "0"; await baseAppClient.post( GET_PATIENT_IN_PATIENT_LIST, onSuccess: (dynamic response, int statusCode) { diff --git a/lib/screens/patients/In_patient/NoData.dart b/lib/screens/patients/In_patient/NoData.dart index 912c23cc..5c45a671 100644 --- a/lib/screens/patients/In_patient/NoData.dart +++ b/lib/screens/patients/In_patient/NoData.dart @@ -9,7 +9,7 @@ class NoData extends StatelessWidget { @override Widget build(BuildContext context) { - return Center( + return SingleChildScrollView( child: Container( child: ErrorMessage(error: TranslationBase.of(context).noDataAvailable), ), diff --git a/lib/screens/patients/insurance_approvals_details.dart b/lib/screens/patients/insurance_approvals_details.dart index a74f0747..3562a0cc 100644 --- a/lib/screens/patients/insurance_approvals_details.dart +++ b/lib/screens/patients/insurance_approvals_details.dart @@ -436,9 +436,10 @@ class _InsuranceApprovalsDetailsState extends State { Expanded(child: AppText(projectViewModel.isArabic?model.insuranceApproval[indexInsurance].companyNameN??'':model.insuranceApproval[indexInsurance].companyName??'')) ], ), - Row( - children: [ - AppText( + model.insuranceApproval[indexInsurance].rceiptOn != null + ? Row( + children: [ + AppText( TranslationBase.of(context).receiptOn + ": ", color: Colors.grey[500], ), @@ -450,7 +451,8 @@ class _InsuranceApprovalsDetailsState extends State { ), ), ], - ), + ) + : SizedBox.shrink(), Row( children: [ AppText( diff --git a/lib/screens/patients/profile/profile_screen/patient_profile_screen.dart b/lib/screens/patients/profile/profile_screen/patient_profile_screen.dart index 7fccacfb..7e2b3964 100644 --- a/lib/screens/patients/profile/profile_screen/patient_profile_screen.dart +++ b/lib/screens/patients/profile/profile_screen/patient_profile_screen.dart @@ -166,7 +166,7 @@ String noteValidation =""; children: [ Column( children: [ - PatientProfileHeaderNewDesignAppBar(patient, arrivalType!, patientType!, + PatientProfileHeaderNewDesignAppBar(patient, arrivalType ?? "1", patientType ?? "1", videoCallDurationStream: videoCallDurationStream, isInpatient: isInpatient, isFromLiveCare: isFromLiveCare, diff --git a/lib/screens/pharmacy_intervention/PharmacyIntervention.dart b/lib/screens/pharmacy_intervention/PharmacyIntervention.dart index 2249d039..f0259f6e 100644 --- a/lib/screens/pharmacy_intervention/PharmacyIntervention.dart +++ b/lib/screens/pharmacy_intervention/PharmacyIntervention.dart @@ -1,3 +1,5 @@ +import 'dart:ui'; + import 'package:doctor_app_flutter/core/enum/view_state.dart'; import 'package:doctor_app_flutter/core/model/pharmacy-intervention-model/intervention_history.dart'; import 'package:doctor_app_flutter/icons_app/doctor_app_icons.dart'; @@ -19,6 +21,7 @@ class PharmacyIntervention extends StatefulWidget { } class _PharmacyInterventionState extends State { + bool isBottomSheetShown = false; @override Widget build(BuildContext context) { return BaseView(onModelReady: (model) { @@ -29,7 +32,8 @@ class _PharmacyInterventionState extends State { ]); }); }, builder: (_, model, __) { - if (model.interventionHistoryList != null) { + if (model.interventionHistoryList != null && !model.isBottomSheetShown) { + model.toggleBottomOpenValue(true); WidgetsBinding.instance.addPostFrameCallback((_) { showBottomSheet( context, @@ -117,28 +121,23 @@ class _PharmacyInterventionState extends State { showModalBottomSheet( isDismissible: true, context: context, + isScrollControlled: true, shape: RoundedRectangleBorder( borderRadius: BorderRadius.only( topLeft: Radius.circular(20), topRight: Radius.circular(20))), builder: (_) { - return DraggableScrollableSheet( - key: _sheet, - initialChildSize: 0.7, - minChildSize: 0.7, - maxChildSize: 1, - snapSizes: [ - 0.7, // constraints.maxHeight, - 1, - ], - expand: false, - controller: _controller, - builder: (_, controller) => InterventionHistoryBottomSheet( - interventionList: interventionHistory, - model: model, - controller: controller, - )); + return Padding( + padding: EdgeInsets.only(bottom: MediaQuery.of(context).viewInsets.bottom), + child: InterventionHistoryBottomSheet( + interventionList: interventionHistory, + model: model, + ), + ); }, - ).then((value) => model.toggleShowBottomSheetValue()); + ).then((value) { + model.toggleShowBottomSheetValue(); + model.toggleBottomOpenValue(false); + }); } void SearchDialog(BuildContext context, PharmacyInterventionViewModel model) { diff --git a/lib/screens/pharmacy_intervention/viewmodel/pharmacy_intervention_view_model.dart b/lib/screens/pharmacy_intervention/viewmodel/pharmacy_intervention_view_model.dart index a0449fea..dbfba2c4 100644 --- a/lib/screens/pharmacy_intervention/viewmodel/pharmacy_intervention_view_model.dart +++ b/lib/screens/pharmacy_intervention/viewmodel/pharmacy_intervention_view_model.dart @@ -12,6 +12,7 @@ import 'package:intl/intl.dart'; class PharmacyInterventionViewModel extends BaseViewModel { PharmacyInterventionService _service = locator(); MedicationList? medicationList; + bool isBottomSheetShown = false; // MedicationList? medicationList = MedicationList.fromJson({ // "entityList": [ @@ -630,4 +631,8 @@ class PharmacyInterventionViewModel extends BaseViewModel { toggleShowBottomSheetValue() { interventionHistoryList = null; } + + toggleBottomOpenValue(bool bottomSheetValue){ + isBottomSheetShown = bottomSheetValue; + } } diff --git a/lib/screens/pharmacy_intervention/widgets/InterventionHistoryBottomSheet.dart b/lib/screens/pharmacy_intervention/widgets/InterventionHistoryBottomSheet.dart index 034d934d..ed6584ca 100644 --- a/lib/screens/pharmacy_intervention/widgets/InterventionHistoryBottomSheet.dart +++ b/lib/screens/pharmacy_intervention/widgets/InterventionHistoryBottomSheet.dart @@ -8,80 +8,74 @@ import 'package:flutter/material.dart'; class InterventionHistoryBottomSheet extends StatelessWidget { final List interventionList; - final ScrollController controller; + + // final ScrollController controller; final PharmacyInterventionViewModel model; - const InterventionHistoryBottomSheet( - {super.key, required this.interventionList, required this.controller, required this.model}); + const InterventionHistoryBottomSheet({super.key, required this.interventionList, required this.model}); @override Widget build(BuildContext context) { - return Material( - color: Color(0xFFF7F7F7), - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.only( - topLeft: Radius.circular(20), topRight: Radius.circular(20))), - child: Padding( - padding: const EdgeInsets.symmetric(horizontal: 20.0, vertical: 32), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - AppText( - TranslationBase - .of(context) - .histories, - fontWeight: FontWeight.w700, - fontSize: 24, - color: Color(0xFF2B353E), - ), - SizedBox( - height: 16, - ), - Expanded( - child: Column( - mainAxisSize: MainAxisSize.min, - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Expanded( - child: ListView.separated( - shrinkWrap: true, - controller: controller, - itemCount: interventionList.length, - itemBuilder: (context, index) => - Material( - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(10)), - color: Colors.white, - child: InterventionHistoryItem( - interventionHistory: interventionList[index], - onAcceptClick: (intervention, remarks) { - model.updateInterventionDiseaseStatus( - remarks: remarks, - isAccepted: true, - interventionID: interventionList[index].interventionId.toString(), - successMessage: TranslationBase.of(context).interventionAcceptedSuccessfully, - errorMessage: TranslationBase.of(context).unableToPerformTheAction - ); - Navigator.pop(context); - }, - onRejectClick: (intervention, remarks) { - model.updateInterventionDiseaseStatus( - remarks: remarks, - interventionID: interventionList[index].interventionId.toString(), - successMessage: TranslationBase.of(context).interventionRejectedSuccessfully, - errorMessage: TranslationBase.of(context).unableToPerformTheAction - ); - Navigator.pop(context); - - }, - ), + return SizedBox( + height: MediaQuery.sizeOf(context).height * (interventionList.length == 1 ? 0.5 : 0.7), + child: Material( + color: Color(0xFFF7F7F7), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.only(topLeft: Radius.circular(20), topRight: Radius.circular(20))), + child: Padding( + padding: EdgeInsets.symmetric(horizontal: 20.0, vertical: 32), + child: SingleChildScrollView( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + AppText( + TranslationBase.of(context).histories, + fontWeight: FontWeight.w700, + fontSize: 24, + color: Color(0xFF2B353E), + ), + SizedBox( + height: 16, + ), + Column( + mainAxisSize: MainAxisSize.min, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + ListView.separated( + shrinkWrap: true, + itemCount: interventionList.length, + physics: BouncingScrollPhysics(), + itemBuilder: (context, index) => Material( + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(10)), + color: Colors.white, + child: InterventionHistoryItem( + remarksController: interventionList[index].remarksController, + interventionHistory: interventionList[index], + onAcceptClick: (intervention, remarks) { + model.updateInterventionDiseaseStatus( + remarks: remarks, + isAccepted: true, + interventionID: interventionList[index].interventionId.toString(), + successMessage: TranslationBase.of(context).interventionAcceptedSuccessfully, + errorMessage: TranslationBase.of(context).unableToPerformTheAction); + Navigator.pop(context); + }, + onRejectClick: (intervention, remarks) { + model.updateInterventionDiseaseStatus( + remarks: remarks, + interventionID: interventionList[index].interventionId.toString(), + successMessage: TranslationBase.of(context).interventionRejectedSuccessfully, + errorMessage: TranslationBase.of(context).unableToPerformTheAction); + Navigator.pop(context); + }, ), - separatorBuilder: (_, __) => Divider(), - )) - ], - ), - ) - ], + ), + separatorBuilder: (_, __) => Divider(), + ) + ], + ) + ], + ), + ), ), ), ); diff --git a/lib/screens/pharmacy_intervention/widgets/intervention_history_item.dart b/lib/screens/pharmacy_intervention/widgets/intervention_history_item.dart index 104a1f75..b9b5a578 100644 --- a/lib/screens/pharmacy_intervention/widgets/intervention_history_item.dart +++ b/lib/screens/pharmacy_intervention/widgets/intervention_history_item.dart @@ -12,7 +12,7 @@ class InterventionHistoryItem extends StatelessWidget { final Function(InterventionHistory, String) onAcceptClick; final Function(InterventionHistory, String) onRejectClick; - final TextEditingController remarksController = TextEditingController(); + final TextEditingController remarksController; InterventionHistoryItem({ @@ -20,7 +20,8 @@ class InterventionHistoryItem extends StatelessWidget { required this.interventionHistory, required this.onAcceptClick, required this.onRejectClick, - + required this.remarksController, + }); @override diff --git a/lib/screens/prescription/add_prescription/prescription_form_widget.dart b/lib/screens/prescription/add_prescription/prescription_form_widget.dart index 07eff25f..e2eb3ef2 100644 --- a/lib/screens/prescription/add_prescription/prescription_form_widget.dart +++ b/lib/screens/prescription/add_prescription/prescription_form_widget.dart @@ -339,8 +339,9 @@ getIcdCodeData() async{ }); }), SizedBox(height: spaceBetweenTextFields), - widget.prescriptionViewModel.icd10DeseaseItems.isNotEmpty ? - // PrescriptionTextFiled( + widget.prescriptionViewModel.icd10DeseaseItems.isNotEmpty + ? + // PrescriptionTextFiled( // hintText: TranslationBase.of(context).nameOrICD, // elementError: icdCodeError, // element: icdCode, @@ -595,7 +596,6 @@ getIcdCodeData() async{ } addMedicationButton(MedicineViewModel model) async { - print("Add"); await locator().logEvent( eventCategory: "Add Prescription Form", eventAction: "Add Prescription", @@ -711,4 +711,4 @@ getIcdCodeData() async{ } formKey.currentState!.save(); } -} +} \ No newline at end of file diff --git a/lib/screens/qr_reader/QR_reader_screen.dart b/lib/screens/qr_reader/QR_reader_screen.dart index 9e33f11e..ecf67787 100644 --- a/lib/screens/qr_reader/QR_reader_screen.dart +++ b/lib/screens/qr_reader/QR_reader_screen.dart @@ -112,6 +112,8 @@ class _QrReaderScreenState extends State { Navigator.of(context).pushNamed(PATIENTS_PROFILE, arguments: { "patient": model.inPatientList[0], "isInpatient": true, + "patientType": "1", + "arrivalType": "1", }); } else { DrAppToastMsg.showErrorToast(model.error); diff --git a/lib/utils/utils.dart b/lib/utils/utils.dart index e5bf32a8..2b956957 100644 --- a/lib/utils/utils.dart +++ b/lib/utils/utils.dart @@ -141,8 +141,16 @@ class Utils { } static Future checkConnection() async { - List result = await (Connectivity().checkConnectivity()); - return true; + List connectivityResult = await (Connectivity().checkConnectivity()); + if (connectivityResult.contains(ConnectivityResult.mobile) || + connectivityResult.contains(ConnectivityResult.wifi) || + connectivityResult.contains(ConnectivityResult.ethernet) || + connectivityResult.contains(ConnectivityResult.bluetooth) || + connectivityResult.contains(ConnectivityResult.vpn)) { + return true; + } else { + return false; + } // return result.contains(ConnectivityResult.wifi)||result.contains(ConnectivityResult.mobile); }