From 5778a4a887acd323da2d2fba3b6913516e57acb2 Mon Sep 17 00:00:00 2001 From: Elham Rababah Date: Thu, 20 May 2021 11:21:34 +0300 Subject: [PATCH] view list of Live care patient --- lib/config/config.dart | 4 +- .../viewModel/LiveCarePatientViewModel.dart | 30 +++++++++- lib/screens/home/home_screen.dart | 6 +- .../live_care/live_care_patient_screen.dart | 56 ++++++++++++++++++- 4 files changed, 89 insertions(+), 7 deletions(-) diff --git a/lib/config/config.dart b/lib/config/config.dart index 425403db..c5372a07 100644 --- a/lib/config/config.dart +++ b/lib/config/config.dart @@ -4,8 +4,8 @@ const MAX_SMALL_SCREEN = 660; const ONLY_NUMBERS = "[0-9]"; const ONLY_LETTERS = "[a-zA-Z &'\"]"; const ONLY_DATE = "[0-9/]"; -const BASE_URL = 'https://hmgwebservices.com/'; -// const BASE_URL = 'https://uat.hmgwebservices.com/'; +// const BASE_URL = 'https://hmgwebservices.com/'; +const BASE_URL = 'https://uat.hmgwebservices.com/'; const PHARMACY_ITEMS_URL = "Services/Lists.svc/REST/GetPharmcyItems_Region_enh"; const PHARMACY_LIST_URL = "Services/Patients.svc/REST/GetPharmcyList"; const PATIENT_PROGRESS_NOTE_URL = diff --git a/lib/core/viewModel/LiveCarePatientViewModel.dart b/lib/core/viewModel/LiveCarePatientViewModel.dart index 9c3c267f..611beac7 100644 --- a/lib/core/viewModel/LiveCarePatientViewModel.dart +++ b/lib/core/viewModel/LiveCarePatientViewModel.dart @@ -1,5 +1,6 @@ import 'package:doctor_app_flutter/core/enum/viewstate.dart'; import 'package:doctor_app_flutter/core/model/live_care/PendingPatientERForDoctorAppRequestModel.dart'; +import 'package:doctor_app_flutter/core/service/home/dasboard_service.dart'; import 'package:doctor_app_flutter/core/service/patient/LiveCarePatientServices.dart'; import 'package:doctor_app_flutter/core/viewModel/base_view_model.dart'; import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart'; @@ -12,12 +13,15 @@ class LiveCarePatientViewModel extends BaseViewModel { LiveCarePatientServices _liveCarePatientServices = locator(); + DashboardService _dashboardService = + locator(); + getPendingPatientERForDoctorApp() async { setState(ViewState.BusyLocal); //TODO Change it to dynamic PendingPatientERForDoctorAppRequestModel pendingPatientERForDoctorAppRequestModel = - PendingPatientERForDoctorAppRequestModel(doctorID: 9920,sErServiceID: "7,3", outSA: false); + PendingPatientERForDoctorAppRequestModel(doctorID:9920 /*doctorProfile.doctorID*/,sErServiceID:"7,3" /*_dashboardService.sServiceID*/, outSA: false); await _liveCarePatientServices .getPendingPatientERForDoctorApp(pendingPatientERForDoctorAppRequestModel); if (_liveCarePatientServices.hasError) { @@ -29,4 +33,28 @@ class LiveCarePatientViewModel extends BaseViewModel { setState(ViewState.Idle); } } + + searchData(String str) { + var strExist= str.length > 0 ? true : false; + if (strExist) { + filterData = []; + for (var i = 0; i < _liveCarePatientServices.patientList.length; i++) { + String fullName = + _liveCarePatientServices.patientList[i].fullName.toUpperCase(); + String patientID = + _liveCarePatientServices.patientList[i].patientId.toString(); + String mobile = + _liveCarePatientServices.patientList[i].mobileNumber.toUpperCase(); + + if (fullName.contains(str.toUpperCase()) || + patientID.contains(str)|| mobile.contains(str)) { + filterData.add(_liveCarePatientServices.patientList[i]); + } + } + notifyListeners(); + } else { + filterData = _liveCarePatientServices.patientList; + notifyListeners(); + } + } } diff --git a/lib/screens/home/home_screen.dart b/lib/screens/home/home_screen.dart index f99dc727..dde5ae2a 100644 --- a/lib/screens/home/home_screen.dart +++ b/lib/screens/home/home_screen.dart @@ -13,6 +13,7 @@ import 'package:doctor_app_flutter/screens/base/base_view.dart'; import 'package:doctor_app_flutter/screens/home/dashboard_slider-item-widget.dart'; import 'package:doctor_app_flutter/screens/home/dashboard_swipe_widget.dart'; import 'package:doctor_app_flutter/screens/home/home_patient_card.dart'; +import 'package:doctor_app_flutter/screens/live_care/live_care_patient_screen.dart'; import 'package:doctor_app_flutter/screens/medicine/medicine_search_screen.dart'; import 'package:doctor_app_flutter/screens/patients/PatientsInPatientScreen.dart'; import 'package:doctor_app_flutter/screens/patients/out_patient/out_patient_screen.dart'; @@ -327,7 +328,8 @@ class _HomeScreenState extends State { List patientCards = List(); - if (model.hasVirtualClinic) { + //TODO: return back the right condition + if (true) { patientCards.add(HomePatientCard( backgroundColor: backgroundColors[colorIndex], backgroundIconColor: backgroundIconColors[colorIndex], @@ -339,7 +341,7 @@ class _HomeScreenState extends State { Navigator.push( context, FadePage( - page: PatientInPatientScreen(), + page: LiveCarePatientScreen(), ), ); }, diff --git a/lib/screens/live_care/live_care_patient_screen.dart b/lib/screens/live_care/live_care_patient_screen.dart index 39c7cbb5..dfae66f2 100644 --- a/lib/screens/live_care/live_care_patient_screen.dart +++ b/lib/screens/live_care/live_care_patient_screen.dart @@ -1,6 +1,7 @@ import 'package:doctor_app_flutter/config/size_config.dart'; import 'package:doctor_app_flutter/core/enum/viewstate.dart'; import 'package:doctor_app_flutter/core/viewModel/LiveCarePatientViewModel.dart'; +import 'package:doctor_app_flutter/icons_app/doctor_app_icons.dart'; import 'package:doctor_app_flutter/screens/base/base_view.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/widgets/patients/PatientCard.dart'; @@ -8,6 +9,7 @@ import 'package:doctor_app_flutter/widgets/shared/app_loader_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/errors/error_message.dart'; +import 'package:doctor_app_flutter/widgets/shared/text_fields/app_text_form_field.dart'; import 'package:flutter/material.dart'; import '../../routes.dart'; @@ -18,6 +20,8 @@ class LiveCarePatientScreen extends StatefulWidget { } class _LiveCarePatientScreenState extends State { + final _controller = TextEditingController(); + @override Widget build(BuildContext context) { return BaseView( @@ -56,7 +60,55 @@ class _LiveCarePatientScreenState extends State { ]), ), ), - model.state == ViewState.Idle ?Expanded( + SizedBox(height: 20,), + Center( + child: FractionallySizedBox( + widthFactor: .9, + child: Container( + width: double.maxFinite, + height: 75, + decoration: BoxDecoration( + borderRadius: BorderRadius.all( + Radius.circular(6.0)), + border: Border.all( + width: 1.0, + color: Color(0xffCCCCCC), + ), + color: Colors.white), + child: Column( + crossAxisAlignment: + CrossAxisAlignment.start, + children: [ + Padding( + padding: EdgeInsets.only( + left: 10, top: 10), + child: AppText( + TranslationBase.of( + context) + .searchPatientName, + fontSize: 13, + )), + AppTextFormField( + // focusNode: focusProject, + controller: _controller, + borderColor: Colors.white, + prefix: IconButton( + icon: Icon( + DoctorApp.filter_1, + color: Colors.black, + ), + iconSize: 20, + padding: + EdgeInsets.only( + bottom: 30), + ), + onChanged: (String str) { + model.searchData(str); + }), + ])), + ), + ), + Expanded( child: Container( child: model.filterData.isEmpty ? Center( @@ -96,7 +148,7 @@ class _LiveCarePatientScreenState extends State { ), ); })), - ):Expanded(child: AppLoaderWidget()), + ), ], ), ),