diff --git a/lib/core/viewModel/PatientSearchViewModel.dart b/lib/core/viewModel/PatientSearchViewModel.dart index 45b73329..816918cd 100644 --- a/lib/core/viewModel/PatientSearchViewModel.dart +++ b/lib/core/viewModel/PatientSearchViewModel.dart @@ -19,6 +19,32 @@ class PatientSearchViewModel extends BaseViewModel{ List get patientList => _outPatientService.patientList; + List filterData = []; + + searchData(String str) { + var strExist = str.length > 0 ? true : false; + if (strExist) { + filterData = []; + for (var i = 0; i < _outPatientService.patientList.length; i++) { + String firstName = _outPatientService.patientList[i].firstName.toUpperCase(); + String lastName = _outPatientService.patientList[i].lastName.toUpperCase(); + String mobile = _outPatientService.patientList[i].mobileNumber.toUpperCase(); + String patientID = _outPatientService.patientList[i].patientId.toString(); + + if (firstName.contains(str.toUpperCase()) || + lastName.contains(str.toUpperCase()) || + mobile.contains(str) || + patientID.contains(str)) { + filterData.add(_outPatientService.patientList[i]); + } + } + notifyListeners(); + } else { + filterData = _outPatientService.patientList; + notifyListeners(); + } + } + getOutPatient(PatientSearchRequestModel patientSearchRequestModel , {bool isLocalBusy = false}) async { if(isLocalBusy) { setState(ViewState.BusyLocal); @@ -37,6 +63,7 @@ class PatientSearchViewModel extends BaseViewModel{ } setState(ViewState.Error); } else { + filterData = _outPatientService.patientList; setState(ViewState.Idle); } } @@ -49,6 +76,7 @@ class PatientSearchViewModel extends BaseViewModel{ error = _outPatientService.error; setState(ViewState.Error); } else { + filterData = _outPatientService.patientList; setState(ViewState.Idle); } } @@ -103,12 +131,9 @@ class PatientSearchViewModel extends BaseViewModel{ if(isSearchWithKeyInfo) { await getPatientFileInformation(currentModel); } else { - if(selectedPatientType == PatientType.OutPatient) { await getOutPatient(currentModel, isLocalBusy: true); - } else { - // TODO handel inPatient case } - } + filterData = _outPatientService.patientList; } diff --git a/lib/screens/patients/patient_search/patients_screen_new.dart b/lib/screens/patients/patient_search/patients_screen_new.dart index bd2920dc..ade1e47e 100644 --- a/lib/screens/patients/patient_search/patients_screen_new.dart +++ b/lib/screens/patients/patient_search/patients_screen_new.dart @@ -219,10 +219,10 @@ class _PatientsScreenNewState extends State { height: 10.0, ), Container( - child: (model.patientList.isNotEmpty) + child: model.patientList.isNotEmpty ? Column( // mainAxisAlignment: MainAxisAlignment.center, - children: model.patientList + children: model.filterData .map((PatiantInformtion item) { return PatientCard( diff --git a/lib/screens/patients/profile/patient_profile_screen.dart b/lib/screens/patients/profile/patient_profile_screen.dart index 4e1c288f..9cb8a0d4 100644 --- a/lib/screens/patients/profile/patient_profile_screen.dart +++ b/lib/screens/patients/profile/patient_profile_screen.dart @@ -378,7 +378,6 @@ class _PatientProfileScreenState extends Statewith SingleT if (patient.appointmentNo != null && patient.appointmentNo != 0) PatientProfileButton( - patient: patient, patientType: patientType, arrivalType: arrivalType, @@ -388,26 +387,7 @@ class _PatientProfileScreenState extends Statewith SingleT nameLine1: TranslationBase.of(context).admission, nameLine2: TranslationBase.of(context).request, icon: 'patient/admission_req.png'), - if (isInpatient) - PatientProfileButton( - - patient: patient, - patientType: patientType, - arrivalType: arrivalType, - route: PROGRESS_NOTE, - nameLine1: TranslationBase.of(context).progress, - nameLine2: TranslationBase.of(context).note, - icon: 'patient/Progress_notes.png'), - if (isInpatient) - PatientProfileButton( - patient: patient, - patientType: patientType, - arrivalType: arrivalType, - route: ORDER_NOTE, - nameLine1: "Order", //"Text", - nameLine2: "Sheet", - icon: 'patient/Progress_notes.png'), ], ), ],