From d50740b9b93c7fd5c1408aea367ec1f5316346c9 Mon Sep 17 00:00:00 2001 From: hussam al-habibeh Date: Wed, 19 May 2021 19:09:42 +0300 Subject: [PATCH 1/2] Procedure template service --- lib/config/config.dart | 2 +- .../procedure_template_details_model.dart | 8 +- .../procedures/add-favourite-procedure.dart | 19 +++- .../procedures/add-procedure-form.dart | 2 +- .../procedures/procedure_checkout_screen.dart | 86 +++++++++++-------- lib/screens/procedures/procedure_screen.dart | 14 +-- pubspec.lock | 6 +- 7 files changed, 84 insertions(+), 53 deletions(-) diff --git a/lib/config/config.dart b/lib/config/config.dart index d04497d4..8464f720 100644 --- a/lib/config/config.dart +++ b/lib/config/config.dart @@ -5,7 +5,7 @@ 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://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/model/procedure/procedure_template_details_model.dart b/lib/core/model/procedure/procedure_template_details_model.dart index 84f97b65..42a2517a 100644 --- a/lib/core/model/procedure/procedure_template_details_model.dart +++ b/lib/core/model/procedure/procedure_template_details_model.dart @@ -17,6 +17,9 @@ class ProcedureTempleteDetailsModel { String categoryID; String subGroupID; dynamic riskCategoryID; + String type = "1"; + String remarks; + int selectedType = 0; ProcedureTempleteDetailsModel( {this.setupID, @@ -36,7 +39,10 @@ class ProcedureTempleteDetailsModel { this.aliasN, this.categoryID, this.subGroupID, - this.riskCategoryID}); + this.riskCategoryID, + this.remarks, + this.type = "1", + this.selectedType = 0}); ProcedureTempleteDetailsModel.fromJson(Map json) { setupID = json['SetupID']; diff --git a/lib/screens/procedures/add-favourite-procedure.dart b/lib/screens/procedures/add-favourite-procedure.dart index fe95735d..be6e3451 100644 --- a/lib/screens/procedures/add-favourite-procedure.dart +++ b/lib/screens/procedures/add-favourite-procedure.dart @@ -5,14 +5,17 @@ import 'package:doctor_app_flutter/core/model/procedure/procedure_template_detai import 'package:doctor_app_flutter/core/viewModel/procedure_View_model.dart'; import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart'; import 'package:doctor_app_flutter/screens/base/base_view.dart'; +import 'package:doctor_app_flutter/screens/procedures/add_procedure_homeScreen.dart'; import 'package:doctor_app_flutter/screens/procedures/entity_list_checkbox_search_widget.dart'; import 'package:doctor_app_flutter/screens/procedures/entity_list_fav_procedure.dart'; +import 'package:doctor_app_flutter/screens/procedures/procedure_checkout_screen.dart'; import 'package:doctor_app_flutter/util/dr_app_toast_msg.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/buttons/app_buttons_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/network_base_view.dart'; import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; class AddFavouriteProcedure extends StatefulWidget { final ProcedureViewModel model; @@ -91,7 +94,15 @@ class _AddFavouriteProcedureState extends State { return; } - Navigator.pop(context); + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => ProcedureCheckOutScreen( + items: entityList, + model: model, + patient: widget.patient, + )), + ); }, ), ], @@ -104,8 +115,10 @@ class _AddFavouriteProcedureState extends State { } bool isEntityListSelected(ProcedureTempleteDetailsModel masterKey) { - Iterable history = entityList - .where((element) => masterKey.templateID == element.templateID && masterKey.procedureName == element.procedureName); + Iterable history = entityList.where( + (element) => + masterKey.templateID == element.templateID && + masterKey.procedureName == element.procedureName); if (history.length > 0) { return true; } diff --git a/lib/screens/procedures/add-procedure-form.dart b/lib/screens/procedures/add-procedure-form.dart index 2b62d2bf..b17f50ae 100644 --- a/lib/screens/procedures/add-procedure-form.dart +++ b/lib/screens/procedures/add-procedure-form.dart @@ -60,7 +60,7 @@ postProcedure( controlValue: element.remarks != null ? element.remarks : ""), ); controls.add( - Controls(code: "ordertype", controlValue: "0"), + Controls(code: "ordertype", controlValue: element.type ?? "1"), ); controlsProcedure.add(Procedures( category: element.categoryID, diff --git a/lib/screens/procedures/procedure_checkout_screen.dart b/lib/screens/procedures/procedure_checkout_screen.dart index 04bbaa3a..e3fc86be 100644 --- a/lib/screens/procedures/procedure_checkout_screen.dart +++ b/lib/screens/procedures/procedure_checkout_screen.dart @@ -1,7 +1,10 @@ import 'package:doctor_app_flutter/config/size_config.dart'; import 'package:doctor_app_flutter/core/model/procedure/categories_procedure.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/models/patient/patiant_info_model.dart'; import 'package:doctor_app_flutter/screens/base/base_view.dart'; +import 'package:doctor_app_flutter/screens/procedures/add-procedure-form.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/widgets/shared/TextFields.dart'; import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; @@ -12,21 +15,20 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; class ProcedureCheckOutScreen extends StatefulWidget { + ProcedureCheckOutScreen({this.items, this.model, this.patient}); + final List items; + final ProcedureViewModel model; + final PatiantInformtion patient; + @override _ProcedureCheckOutScreenState createState() => _ProcedureCheckOutScreenState(); } class _ProcedureCheckOutScreenState extends State { - List items = List(); List remarksList = List(); + final TextEditingController remarksController = TextEditingController(); List typeList = List(); - int selectedType = 0; - setSelectedType(int val) { - setState(() { - selectedType = val; - }); - } @override Widget build(BuildContext context) { @@ -44,7 +46,7 @@ class _ProcedureCheckOutScreenState extends State { Container( color: Colors.white, child: Padding( - padding: const EdgeInsets.all(15.0), + padding: EdgeInsets.all(12.0), child: Row( //mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ @@ -69,18 +71,17 @@ class _ProcedureCheckOutScreenState extends State { ), ), ), - SizedBox( - height: MediaQuery.of(context).size.height * 0.022, - ), Padding( - padding: const EdgeInsets.all(8.0), + padding: const EdgeInsets.only( + left: 12.0, right: 12.0, bottom: 26.0, top: 10), child: ListView.builder( scrollDirection: Axis.vertical, physics: AlwaysScrollableScrollPhysics(), shrinkWrap: true, - itemCount: 1, + itemCount: widget.items.length, itemBuilder: (BuildContext context, int index) { return Container( + margin: EdgeInsets.only(bottom: 15.0), decoration: BoxDecoration( color: Colors.white, borderRadius: @@ -97,7 +98,9 @@ class _ProcedureCheckOutScreenState extends State { SizedBox( width: 6.0, ), - AppText('Procedure Name'), + Expanded( + child: + AppText(widget.items[index].procedureName)), ], ), children: [ @@ -125,12 +128,14 @@ class _ProcedureCheckOutScreenState extends State { Radio( activeColor: Color(0xFFD02127), value: 0, - groupValue: selectedType, + groupValue: + widget.items[index].selectedType, onChanged: (value) { - // historyInfo.type = - // setSelectedType(value).toString(); - // - // historyInfo.type = value.toString(); + widget.items[index].selectedType = 0; + setState(() { + widget.items[index].type = + value.toString(); + }); }, ), AppText( @@ -140,13 +145,15 @@ class _ProcedureCheckOutScreenState extends State { ), Radio( activeColor: Color(0xFFD02127), - groupValue: selectedType, + groupValue: + widget.items[index].selectedType, value: 1, onChanged: (value) { - // historyInfo.type = - // setSelectedType(value).toString(); - // - // historyInfo.type = value.toString(); + widget.items[index].selectedType = 1; + setState(() { + widget.items[index].type = + value.toString(); + }); }, ), AppText( @@ -168,9 +175,9 @@ class _ProcedureCheckOutScreenState extends State { horizontal: 12, vertical: 15.0), child: TextFields( hintText: TranslationBase.of(context).remarks, - //controller: remarksController, + controller: remarksController, onChanged: (value) { - // historyInfo.remarks = value; + widget.items[index].remarks = value; }, minLines: 3, maxLines: 5, @@ -198,7 +205,7 @@ class _ProcedureCheckOutScreenState extends State { title: TranslationBase.of(context).addSelectedProcedures, color: Color(0xff359846), fontWeight: FontWeight.w700, - onPressed: () { + onPressed: () async { //print(entityList.toString()); onPressed: // if (entityList.isEmpty == true) { @@ -208,14 +215,25 @@ class _ProcedureCheckOutScreenState extends State { // ); // return; // } - + List entityList = List(); + widget.items.forEach((element) { + entityList.add( + EntityList( + procedureId: element.procedureID, + remarks: element.remarks, + categoryID: element.categoryID, + type: element.type, + ), + ); + }); + Navigator.pop(context); + await postProcedure( + entityList: entityList, + patient: widget.patient, + model: widget.model, + remarks: remarksController.text); + Navigator.pop(context); Navigator.pop(context); - // postProcedure( - // orderType: selectedType.toString(), - // entityList: entityList, - // patient: patient, - // model: widget.model, - // remarks: remarksController.text); }, ), ], diff --git a/lib/screens/procedures/procedure_screen.dart b/lib/screens/procedures/procedure_screen.dart index 8d03f86c..b964392e 100644 --- a/lib/screens/procedures/procedure_screen.dart +++ b/lib/screens/procedures/procedure_screen.dart @@ -7,7 +7,6 @@ import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart'; import 'package:doctor_app_flutter/screens/base/base_view.dart'; import 'package:doctor_app_flutter/screens/procedures/add-procedure-form.dart'; import 'package:doctor_app_flutter/screens/procedures/add_procedure_homeScreen.dart'; -import 'package:doctor_app_flutter/screens/procedures/procedure_checkout_screen.dart'; import 'package:doctor_app_flutter/screens/procedures/update-procedure.dart'; import 'package:doctor_app_flutter/util/helpers.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; @@ -103,18 +102,13 @@ class ProcedureScreen extends StatelessWidget { patient.patientStatusType == 43) InkWell( onTap: () { - // Navigator.push( - // context, - // MaterialPageRoute( - // builder: (context) => AddProcedureHome( - // patient: patient, - // model: model, - // )), - // ); Navigator.push( context, MaterialPageRoute( - builder: (context) => ProcedureCheckOutScreen()), + builder: (context) => AddProcedureHome( + patient: patient, + model: model, + )), ); }, child: Container( diff --git a/pubspec.lock b/pubspec.lock index 4b6a9b7a..613c2753 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -629,7 +629,7 @@ packages: name: meta url: "https://pub.dartlang.org" source: hosted - version: "1.3.0-nullsafety.3" + version: "1.3.0-nullsafety.4" mime: dependency: transitive description: @@ -921,7 +921,7 @@ packages: name: stack_trace url: "https://pub.dartlang.org" source: hosted - version: "1.10.0-nullsafety.1" + version: "1.10.0-nullsafety.2" sticky_headers: dependency: "direct main" description: @@ -1119,5 +1119,5 @@ packages: source: hosted version: "2.2.1" sdks: - dart: ">=2.10.0 <2.11.0" + dart: ">=2.10.0 <=2.11.0-213.1.beta" flutter: ">=1.22.0 <2.0.0" From 186461f3a87d2f7fd16a8ba28ed34d511e46fa5f Mon Sep 17 00:00:00 2001 From: mosazaid Date: Thu, 20 May 2021 10:41:44 +0300 Subject: [PATCH 2/2] hot fix --- lib/config/config.dart | 4 ++-- lib/core/service/home/dasboard_service.dart | 2 +- lib/screens/home/home_screen.dart | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/config/config.dart b/lib/config/config.dart index 54a2d46e..a54bc613 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/service/home/dasboard_service.dart b/lib/core/service/home/dasboard_service.dart index 685646ee..a1072676 100644 --- a/lib/core/service/home/dasboard_service.dart +++ b/lib/core/service/home/dasboard_service.dart @@ -6,7 +6,7 @@ class DashboardService extends BaseService { List _dashboardItemsList = []; List get dashboardItemsList => _dashboardItemsList; - bool hasVirtualClinic; + bool hasVirtualClinic = false; String sServiceID; Future getDashboard() async { diff --git a/lib/screens/home/home_screen.dart b/lib/screens/home/home_screen.dart index f99dc727..147ffd4d 100644 --- a/lib/screens/home/home_screen.dart +++ b/lib/screens/home/home_screen.dart @@ -240,10 +240,10 @@ class _HomeScreenState extends State { ), sliderActiveIndex == 1 ? DashboardSliderItemWidget( - model.dashboardItemsList[3]) + model.dashboardItemsList[6]) : sliderActiveIndex == 0 ? DashboardSliderItemWidget( - model.dashboardItemsList[6]) + model.dashboardItemsList[3]) : DashboardSliderItemWidget( model.dashboardItemsList[4]), ])))