diff --git a/lib/core/viewModel/procedure_View_model.dart b/lib/core/viewModel/procedure_View_model.dart index 26ddeb61..e433f54e 100644 --- a/lib/core/viewModel/procedure_View_model.dart +++ b/lib/core/viewModel/procedure_View_model.dart @@ -25,6 +25,7 @@ import 'package:doctor_app_flutter/core/model/patient/patiant_info_model.dart'; import 'package:doctor_app_flutter/screens/procedures/procedure_type.dart'; import 'package:doctor_app_flutter/utils/dr_app_toast_msg.dart'; import 'package:doctor_app_flutter/utils/utils.dart'; +import 'package:doctor_app_flutter/widgets/shared/loader/gif_loader_dialog_utils.dart'; import 'package:flutter/cupertino.dart'; class ProcedureViewModel extends BaseViewModel { @@ -72,8 +73,6 @@ class ProcedureViewModel extends BaseViewModel { Future getProcedure({int mrn, String patientType, int appointmentNo}) async { hasError = false; await getDoctorProfile(); - - //_insuranceCardService.clearInsuranceCard(); setState(ViewState.Busy); await _procedureService.getProcedure( mrn: mrn, appointmentNo: appointmentNo); @@ -371,7 +370,16 @@ class ProcedureViewModel extends BaseViewModel { String orderType, PatiantInformtion patient, List entityList, - ProcedureType procedureType}) async { + ProcedureType procedureType, + bool isLocalBusy = false, + }) async { + + ///TODO Roaa Move it to function + if (isLocalBusy) { + setState(ViewState.BusyLocal); + } else { + setState(ViewState.Busy); + } PostProcedureReqModel postProcedureReqModel = new PostProcedureReqModel(); ProcedureValadteRequestModel procedureValadteRequestModel = new ProcedureValadteRequestModel(); @@ -457,7 +465,12 @@ class ProcedureViewModel extends BaseViewModel { List items, PatiantInformtion patient, TextEditingController remarksController, - BuildContext context) async { + {bool isLocalBusy = false,}) async { + if (isLocalBusy) { + setState(ViewState.BusyLocal); + } else { + setState(ViewState.Busy); + } List entityList = List(); items.forEach((element) { entityList.add( @@ -473,13 +486,11 @@ class ProcedureViewModel extends BaseViewModel { eventCategory: "Procedure Checkout Screen", eventAction: "Add New Procedure", ); - Navigator.pop(context); await model.preparePostProcedure( entityList: entityList, patient: patient, remarks: remarksController.text); - Navigator.pop(context); - Navigator.pop(context); + } Future filterSearchResults(String query,List masterList, List items) async { diff --git a/lib/screens/patients/profile/soap_update/subjective/allergies/add_allergies.dart b/lib/screens/patients/profile/soap_update/subjective/allergies/add_allergies.dart index 9561fe3b..abcc72ad 100644 --- a/lib/screens/patients/profile/soap_update/subjective/allergies/add_allergies.dart +++ b/lib/screens/patients/profile/soap_update/subjective/allergies/add_allergies.dart @@ -29,9 +29,6 @@ class AddAllergies extends StatefulWidget { class _AddAllergiesState extends State { List allergiesList; List allergySeverityList; - TextEditingController remarkController = TextEditingController(); - TextEditingController severityController = TextEditingController(); - TextEditingController allergyController = TextEditingController(); List myAllergiesListLocal; @override diff --git a/lib/screens/procedures/add_procedure_page.dart b/lib/screens/procedures/add_procedure_page.dart index 03d73f39..be3dc059 100644 --- a/lib/screens/procedures/add_procedure_page.dart +++ b/lib/screens/procedures/add_procedure_page.dart @@ -9,6 +9,7 @@ import 'package:doctor_app_flutter/utils/translations_delegate_base_utils.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/buttons/app_buttons_widget.dart'; +import 'package:doctor_app_flutter/widgets/shared/loader/gif_loader_dialog_utils.dart'; import 'package:doctor_app_flutter/widgets/shared/network_base_view.dart'; import 'package:doctor_app_flutter/widgets/shared/text_fields/app-textfield-custom.dart'; import 'package:flutter/material.dart'; @@ -181,18 +182,24 @@ class _AddProcedurePageState extends State { fontWeight: FontWeight.w700, color: AppGlobal.appGreenColor, onPressed: () async { + GifLoaderDialogUtils.showMyDialog(context); if (entityList.isEmpty == true) { DrAppToastMsg.showErrorToast( TranslationBase.of(context) .fillTheMandatoryProcedureDetails, ); + GifLoaderDialogUtils.hideDialog(context); return; } + GifLoaderDialogUtils.showMyDialog(context); await this.model.preparePostProcedure( orderType: selectedType.toString(), entityList: entityList, patient: patient, - remarks: remarksController.text); + remarks: remarksController.text, + procedureType: ProcedureType.PROCEDURE, + isLocalBusy: true, + ); Navigator.pop(context); }, ), diff --git a/lib/screens/procedures/expansion_procedure.dart b/lib/screens/procedures/expansion_procedure.dart index 0ba2fa87..d7b2eb2a 100644 --- a/lib/screens/procedures/expansion_procedure.dart +++ b/lib/screens/procedures/expansion_procedure.dart @@ -3,6 +3,7 @@ import 'package:doctor_app_flutter/config/config.dart'; import 'package:doctor_app_flutter/core/model/procedure/procedure_templateModel.dart'; import 'package:doctor_app_flutter/core/model/procedure/procedure_template_details_model.dart'; import 'package:doctor_app_flutter/core/viewModel/procedure_View_model.dart'; +import 'package:doctor_app_flutter/utils/utils.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; @@ -174,11 +175,14 @@ class _ExpansionProcedureState extends State { child: Padding( padding: const EdgeInsets.symmetric( horizontal: 10, vertical: 0), - child: AppText(itemProcedure.procedureName, + child: AppText( + Utils.convertToTitleCase(itemProcedure.procedureName), fontSize: 14.0, variant: "bodyText", bold: true, - color: Color(0xff575757)), + color: Color(0xff575757), + fontFamily: 'Poppins-Bold.ttf', + ), ), ), ], diff --git a/lib/screens/procedures/favorite_procedure/procedure_checkout_screen.dart b/lib/screens/procedures/favorite_procedure/procedure_checkout_screen.dart index 9d312604..fd579208 100644 --- a/lib/screens/procedures/favorite_procedure/procedure_checkout_screen.dart +++ b/lib/screens/procedures/favorite_procedure/procedure_checkout_screen.dart @@ -4,6 +4,7 @@ import 'package:doctor_app_flutter/core/viewModel/procedure_View_model.dart'; import 'package:doctor_app_flutter/core/model/patient/patiant_info_model.dart'; import 'package:doctor_app_flutter/screens/base/base_view.dart'; import 'package:doctor_app_flutter/utils/translations_delegate_base_utils.dart'; +import 'package:doctor_app_flutter/widgets/shared/loader/gif_loader_dialog_utils.dart'; import 'package:doctor_app_flutter/widgets/shared/text_fields/TextFields.dart'; import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; @@ -86,6 +87,8 @@ class _ProcedureCheckOutScreenState extends State { itemCount: widget.items.length, shrinkWrap: true, itemBuilder: (BuildContext ctxt, int index) { + final TextEditingController remarksControllerNew = TextEditingController(text: widget.items[index].remarks); + return Container( margin: EdgeInsets.only(bottom: 15.0), decoration: BoxDecoration( @@ -181,7 +184,7 @@ class _ProcedureCheckOutScreenState extends State { horizontal: 12, vertical: 15.0), child: TextFields( hintText: TranslationBase.of(context).remarks, - controller: remarksController, + controller: remarksControllerNew, onChanged: (value) { widget.items[index].remarks = value; }, @@ -217,7 +220,12 @@ class _ProcedureCheckOutScreenState extends State { color: AppGlobal.appGreenColor, fontWeight: FontWeight.w700, onPressed: () async { - model.addProcedures(model, widget.items, widget.patient, remarksController, context); + GifLoaderDialogUtils.showMyDialog(context); + await widget.model.addProcedures(model, widget.items, widget.patient, remarksController, isLocalBusy: true); + + Navigator.pop(context); + Navigator.pop(context); + GifLoaderDialogUtils.hideDialog(context); }, ), ], diff --git a/lib/screens/procedures/procedure_screen.dart b/lib/screens/procedures/procedure_screen.dart index 000b14c5..cb9514f4 100644 --- a/lib/screens/procedures/procedure_screen.dart +++ b/lib/screens/procedures/procedure_screen.dart @@ -9,6 +9,7 @@ import 'package:doctor_app_flutter/screens/procedures/procedure_type.dart'; import 'package:doctor_app_flutter/screens/procedures/update_procedure.dart'; import 'package:doctor_app_flutter/utils/translations_delegate_base_utils.dart'; import 'package:doctor_app_flutter/utils/utils.dart'; +import 'package:doctor_app_flutter/widgets/patients/profile/add-order/addNewOrder.dart'; import 'package:doctor_app_flutter/widgets/patients/profile/app_bar/patient-profile-app-bar.dart'; import 'package:doctor_app_flutter/widgets/patients/patient_service_title.dart'; import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; @@ -71,7 +72,7 @@ class ProcedureScreen extends StatelessWidget { if ((patient.patientStatusType != null && patient.patientStatusType == 43) || (isFromLiveCare && patient.appointmentNo != null)) - InkWell( + AddNewOrder( onTap: () { Navigator.push( context, @@ -84,46 +85,8 @@ class ProcedureScreen extends StatelessWidget { settingRoute: 'AddProcedureTabPage'), ); }, - child: Container( - width: double.maxFinite, - height: 140, - margin: EdgeInsets.all(10), - decoration: BoxDecoration( - color: Colors.grey[300], - borderRadius: BorderRadius.circular(10), - ), - child: Center( - child: Container( - height: 90, - child: Column( - children: [ - Container( - height: 40, - width: 40, - decoration: BoxDecoration( - color: Colors.grey[600], - borderRadius: BorderRadius.circular(10), - ), - child: Center( - child: Icon( - Icons.add, - color: Colors.white, - ), - ), - ), - SizedBox( - height: 10, - ), - AppText( - TranslationBase.of(context).addMoreProcedure, - color: Colors.grey[600], - fontWeight: FontWeight.w600, - ) - ], - ), - ), - ), - ), + label: TranslationBase.of(context) + .addMoreProcedure, ), if (model.procedureList.isNotEmpty) ListView.builder(