From f543126152217317eb318fad4e2ca03487940b47 Mon Sep 17 00:00:00 2001 From: Mohammad Aljammal Date: Thu, 1 Oct 2020 09:26:26 +0300 Subject: [PATCH] Ambulance Service --- assets/images/covid-car.png | Bin 0 -> 3140 bytes assets/images/covid_bg_transparent.png | Bin 0 -> 11952 bytes assets/images/home_health_care_icon.png | Bin 0 -> 4679 bytes lib/config/config.dart | 4 +- lib/core/model/er/PatientAllPresOrders.dart | 132 ++++++++++++++++++ lib/core/service/er/am_service.dart | 26 +++- .../viewModels/er/am_request_view_model.dart | 45 ++++-- lib/pages/ErService/AmbulanceReq.dart | 15 +- .../ErService/AmbulanceRequestIndex.dart | 59 ++++++++ lib/pages/ErService/BillAmount.dart | 37 +++++ lib/pages/ErService/PickupLocation.dart | 36 +++++ .../ErService/SelectTransportationMethod.dart | 39 ++++++ lib/pages/ErService/Summary.dart | 37 +++++ .../ErService/widgets/StepesWideget.dart | 114 +++++++++++++++ lib/pages/landing/home_page.dart | 77 ++++++++-- 15 files changed, 577 insertions(+), 44 deletions(-) create mode 100644 assets/images/covid-car.png create mode 100644 assets/images/covid_bg_transparent.png create mode 100644 assets/images/home_health_care_icon.png create mode 100644 lib/core/model/er/PatientAllPresOrders.dart create mode 100644 lib/pages/ErService/AmbulanceRequestIndex.dart create mode 100644 lib/pages/ErService/BillAmount.dart create mode 100644 lib/pages/ErService/PickupLocation.dart create mode 100644 lib/pages/ErService/SelectTransportationMethod.dart create mode 100644 lib/pages/ErService/Summary.dart create mode 100644 lib/pages/ErService/widgets/StepesWideget.dart diff --git a/assets/images/covid-car.png b/assets/images/covid-car.png new file mode 100644 index 0000000000000000000000000000000000000000..01090b744bda40c3e6ae3d0b4d9c1f631099bdc3 GIT binary patch literal 3140 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

yfg5XnJb*p@D*Z@fHI*0Y5N;P^-nM5? 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 json) { + iD = json['ID']; + patientID = json['PatientID']; + patientOutSA = json['PatientOutSA']; + isOutPatient = json['IsOutPatient']; + projectID = json['ProjectID']; + nearestProjectID = json['NearestProjectID']; + longitude = json['Longitude']; + latitude = json['Latitude']; + appointmentNo = json['AppointmentNo']; + dischargeID = json['DischargeID']; + lineItemNo = json['LineItemNo']; + status = json['Status']; + description = json['Description']; + descriptionN = json['DescriptionN']; + createdOn = json['CreatedOn']; + serviceID = json['ServiceID']; + createdBy = json['CreatedBy']; + editedOn = json['EditedOn']; + editedBy = json['EditedBy']; + channel = json['Channel']; + clientRequestID = json['ClientRequestID']; + returnedToQueue = json['ReturnedToQueue']; + pickupDateTime = json['PickupDateTime']; + pickupLocationName = json['PickupLocationName']; + dropoffLocationName = json['DropoffLocationName']; + realRRTHaveTransactions = json['RealRRT_HaveTransactions']; + nearestProjectDescription = json['NearestProjectDescription']; + nearestProjectDescriptionN = json['NearestProjectDescriptionN']; + projectDescription = json['ProjectDescription']; + projectDescriptionN = json['ProjectDescriptionN']; + } + + Map toJson() { + final Map data = new Map(); + data['ID'] = this.iD; + data['PatientID'] = this.patientID; + data['PatientOutSA'] = this.patientOutSA; + data['IsOutPatient'] = this.isOutPatient; + data['ProjectID'] = this.projectID; + data['NearestProjectID'] = this.nearestProjectID; + data['Longitude'] = this.longitude; + data['Latitude'] = this.latitude; + data['AppointmentNo'] = this.appointmentNo; + data['DischargeID'] = this.dischargeID; + data['LineItemNo'] = this.lineItemNo; + data['Status'] = this.status; + data['Description'] = this.description; + data['DescriptionN'] = this.descriptionN; + data['CreatedOn'] = this.createdOn; + data['ServiceID'] = this.serviceID; + data['CreatedBy'] = this.createdBy; + data['EditedOn'] = this.editedOn; + data['EditedBy'] = this.editedBy; + data['Channel'] = this.channel; + data['ClientRequestID'] = this.clientRequestID; + data['ReturnedToQueue'] = this.returnedToQueue; + data['PickupDateTime'] = this.pickupDateTime; + data['PickupLocationName'] = this.pickupLocationName; + data['DropoffLocationName'] = this.dropoffLocationName; + data['RealRRT_HaveTransactions'] = this.realRRTHaveTransactions; + data['NearestProjectDescription'] = this.nearestProjectDescription; + data['NearestProjectDescriptionN'] = this.nearestProjectDescriptionN; + data['ProjectDescription'] = this.projectDescription; + data['ProjectDescriptionN'] = this.projectDescriptionN; + return data; + } +} diff --git a/lib/core/service/er/am_service.dart b/lib/core/service/er/am_service.dart index 181ad37b..016cc2df 100644 --- a/lib/core/service/er/am_service.dart +++ b/lib/core/service/er/am_service.dart @@ -1,25 +1,39 @@ import 'package:diplomaticquarterapp/config/config.dart'; import 'package:diplomaticquarterapp/config/shared_pref_kay.dart'; +import 'package:diplomaticquarterapp/core/model/er/PatientAllPresOrders.dart'; import 'package:diplomaticquarterapp/core/model/er/get_all_transportation_method_list_model.dart'; import '../base_service.dart'; class AmService extends BaseService { - List AmModelList = List(); - Map body = Map(); + List amModelList = List(); + List patientAllPresOrdersList = List(); Future getAllTransportationOrders() async { hasError = false; - await baseAppClient.post(GET_AMBULANCE_REQUEST, onSuccess: (dynamic response, int statusCode) { - AmModelList.clear(); + amModelList.clear(); response['AmModelList'].forEach((vital) { - AmModelList.add( + amModelList.add( PatientER_RRT_GetAllTransportationMethodListModel.fromJson(vital)); }); }, onFailure: (String error, int statusCode) { hasError = true; super.error = error; - }, body: body); + }, body: Map()); + } + + Future getPatientAllPresOrdersList() async { + hasError = false; + await baseAppClient.post(GET_PATIENT_ALL_PRES_ORDERS, + onSuccess: (dynamic response, int statusCode) { + patientAllPresOrdersList.clear(); + response['PatientER_GetPatientAllPresOrdersList'].forEach((vital) { + patientAllPresOrdersList.add(PatientAllPresOrders.fromJson(vital)); + }); + }, onFailure: (String error, int statusCode) { + hasError = true; + super.error = error; + }, body: Map()); } } diff --git a/lib/core/viewModels/er/am_request_view_model.dart b/lib/core/viewModels/er/am_request_view_model.dart index db1acbf0..6e08d984 100644 --- a/lib/core/viewModels/er/am_request_view_model.dart +++ b/lib/core/viewModels/er/am_request_view_model.dart @@ -1,32 +1,49 @@ - import 'package:diplomaticquarterapp/core/enum/viewstate.dart'; +import 'package:diplomaticquarterapp/core/model/er/PatientAllPresOrders.dart'; import 'package:diplomaticquarterapp/core/model/er/get_all_transportation_method_list_model.dart'; import 'package:diplomaticquarterapp/core/service/er/am_service.dart'; +import 'package:diplomaticquarterapp/core/service/hospital_service.dart'; import 'package:diplomaticquarterapp/core/viewModels/base_view_model.dart'; import '../base_view_model.dart'; import '../../../locator.dart'; -class AmRequestViewModel extends BaseViewModel{ +class AmRequestViewModel extends BaseViewModel { + AmService _amService = locator(); + HospitalService _hospitalService = locator(); + List + get amRequestModeList => _amService.amModelList; - AmService _amService = locator(); + List get patientAllPresOrdersList =>_amService.patientAllPresOrdersList; - List get AmRequestModeList=> - _amService.AmModelList; - getAmRequestOrders({int id, int projectID}) async { + Future getAmRequestOrders() async { setState(ViewState.Busy); + await _amService.getAllTransportationOrders(); + if (_amService.hasError) { + error = _amService.error; + setState(ViewState.Error); + } else + getHospitals(); + } + Future getHospitals() async { + setState(ViewState.Busy); + await _hospitalService.getHospitals(); + if (_hospitalService.hasError) { + error = _hospitalService.error; + setState(ViewState.Error); + } else + getPatientAllPresOrdersList(); + } - await _amService.getAllTransportationOrders(); - - if ( _amService.hasError) { - error = _amService.error; + Future getPatientAllPresOrdersList()async{ + setState(ViewState.Busy); + await _amService.getPatientAllPresOrdersList(); + if (_hospitalService.hasError) { + error = _hospitalService.error; setState(ViewState.Error); } else setState(ViewState.Idle); } - - - -} \ No newline at end of file +} diff --git a/lib/pages/ErService/AmbulanceReq.dart b/lib/pages/ErService/AmbulanceReq.dart index 9c4dfa29..8e9f54bc 100644 --- a/lib/pages/ErService/AmbulanceReq.dart +++ b/lib/pages/ErService/AmbulanceReq.dart @@ -1,3 +1,4 @@ +import 'package:diplomaticquarterapp/core/viewModels/er/am_request_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/medical/prescriptions_view_model.dart'; import 'package:diplomaticquarterapp/pages/base/base_view.dart'; import 'package:diplomaticquarterapp/pages/medical/prescriptions/prescriptions_history_page.dart'; @@ -9,6 +10,8 @@ import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; +import 'AmbulanceRequestIndex.dart'; + class AmbulanceReq extends StatefulWidget { @override _AmbulanceReqState createState() => _AmbulanceReqState(); @@ -30,8 +33,8 @@ class _AmbulanceReqState extends State } @override Widget build(BuildContext context) { - return BaseView( - onModelReady: (model) => model.getPrescriptions(), + return BaseView( + // onModelReady: (model) => model.getAmRequestOrders(), builder: (_, model, widget) => AppScaffold( isShowAppBar: true, appBarTitle: "Ambulance Request", @@ -106,12 +109,8 @@ class _AmbulanceReqState extends State physics: BouncingScrollPhysics(), controller: _tabController, children: [ - PrescriptionsPage( - prescriptionsViewModel: model, - ), - PrescriptionsHistoryPage( - prescriptionsViewModel: model, - ) + AmbulanceRequestIndex(), + Container() ], ), ) diff --git a/lib/pages/ErService/AmbulanceRequestIndex.dart b/lib/pages/ErService/AmbulanceRequestIndex.dart new file mode 100644 index 00000000..863d3b57 --- /dev/null +++ b/lib/pages/ErService/AmbulanceRequestIndex.dart @@ -0,0 +1,59 @@ +import 'package:diplomaticquarterapp/pages/ErService/widgets/StepesWideget.dart'; +import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; +import 'package:flutter/cupertino.dart'; + +import 'BillAmount.dart'; +import 'PickupLocation.dart'; +import 'SelectTransportationMethod.dart'; +import 'Summary.dart'; + +class AmbulanceRequestIndex extends StatefulWidget { + @override + _AmbulanceRequestIndexState createState() => _AmbulanceRequestIndexState(); +} + +class _AmbulanceRequestIndexState extends State { + + int currentIndex = 0; + PageController pageController; + + _changeCurrentTab(int tab) { + setState(() { + currentIndex = tab; + }); + pageController.animateToPage(tab, duration: Duration(milliseconds: 800), curve: Curves.easeOutQuart); + } + + @override + void initState() { + super.initState(); + pageController = new PageController(); + + } + + @override + Widget build(BuildContext context) { + return AppScaffold( + body: Column( + children: [ + SizedBox(height: 80,), + Container( + margin: EdgeInsets.only(left: 12,right: 12), + child: StepesWidget(index: currentIndex,changeCurrentTab: _changeCurrentTab,)), + Expanded( + child: PageView( + physics: NeverScrollableScrollPhysics(), + controller: pageController, + children: [ + SelectTransportationMethod(changeCurrentTab: _changeCurrentTab,), + PickupLocation(changeCurrentTab: _changeCurrentTab,), + BillAmount(changeCurrentTab: _changeCurrentTab,), + Summary(changeCurrentTab: _changeCurrentTab,), + ], + ), + ), + ], + ), + ); + } +} diff --git a/lib/pages/ErService/BillAmount.dart b/lib/pages/ErService/BillAmount.dart new file mode 100644 index 00000000..86b0d181 --- /dev/null +++ b/lib/pages/ErService/BillAmount.dart @@ -0,0 +1,37 @@ +import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart'; +import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; + +class BillAmount extends StatefulWidget { + final Function changeCurrentTab; + + BillAmount({Key key, this.changeCurrentTab}); + + @override + _BillAmountState createState() => _BillAmountState(); +} + +class _BillAmountState extends State { + @override + Widget build(BuildContext context) { + return Column( + children: [ + Texts('BillAmount 3'), + SizedBox(height: 45,), + Container( + padding: EdgeInsets.all(15), + width: double.maxFinite, + height: 76, + child:SecondaryButton( + color: Colors.grey[800], + textColor: Colors.white, + onTap: ()=> widget.changeCurrentTab(3), + label: 'Next', + + ), + ) + ], + ); + } +} diff --git a/lib/pages/ErService/PickupLocation.dart b/lib/pages/ErService/PickupLocation.dart new file mode 100644 index 00000000..bdb1ea52 --- /dev/null +++ b/lib/pages/ErService/PickupLocation.dart @@ -0,0 +1,36 @@ +import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart'; +import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; + +class PickupLocation extends StatefulWidget { + final Function changeCurrentTab; + + PickupLocation({Key key, this.changeCurrentTab}); + + @override + _PickupLocationState createState() => _PickupLocationState(); +} + +class _PickupLocationState extends State { + @override + Widget build(BuildContext context) { + return Column( + children: [ + Texts('PickupLocation 2'), + SizedBox(height: 45,), + Container( + padding: EdgeInsets.all(15), + width: double.maxFinite, + height: 76, + child:SecondaryButton( + color: Colors.grey[800], + textColor: Colors.white, + onTap: ()=> widget.changeCurrentTab(2), + label: 'Next', + ), + ) + ], + ); + } +} diff --git a/lib/pages/ErService/SelectTransportationMethod.dart b/lib/pages/ErService/SelectTransportationMethod.dart new file mode 100644 index 00000000..a5fcbb75 --- /dev/null +++ b/lib/pages/ErService/SelectTransportationMethod.dart @@ -0,0 +1,39 @@ +import 'package:diplomaticquarterapp/widgets/buttons/button.dart'; +import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart'; +import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; + +class SelectTransportationMethod extends StatefulWidget { + final Function changeCurrentTab; + + SelectTransportationMethod({Key key, this.changeCurrentTab}); + + @override + _SelectTransportationMethodState createState() => + _SelectTransportationMethodState(); +} + +class _SelectTransportationMethodState + extends State { + @override + Widget build(BuildContext context) { + return Column( + children: [ + Texts('SelectTransportationMethod 1'), + SizedBox(height: 45,), + Container( + padding: EdgeInsets.all(15), + width: double.maxFinite, + height: 76, + child:SecondaryButton( + color: Colors.grey[800], + textColor: Colors.white, + onTap: ()=> widget.changeCurrentTab(1), + label: 'Next', + ), + ) + ], + ); + } +} diff --git a/lib/pages/ErService/Summary.dart b/lib/pages/ErService/Summary.dart new file mode 100644 index 00000000..4f792b68 --- /dev/null +++ b/lib/pages/ErService/Summary.dart @@ -0,0 +1,37 @@ +import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart'; +import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; + +class Summary extends StatefulWidget { + final Function changeCurrentTab; + + Summary({Key key, this.changeCurrentTab}); + + @override + _SummaryState createState() => _SummaryState(); +} + +class _SummaryState extends State

{ + @override + Widget build(BuildContext context) { + return Column( + children: [ + Texts('Summary 4'), + SizedBox(height: 45,), + Container( + padding: EdgeInsets.all(15), + width: double.maxFinite, + height: 76, + child:SecondaryButton( + color: Colors.grey[800], + textColor: Colors.white, + label: 'Next', + + // onTap: ()=> widget.changeCurrentTab(2), + ), + ) + ], + ); + } +} diff --git a/lib/pages/ErService/widgets/StepesWideget.dart b/lib/pages/ErService/widgets/StepesWideget.dart new file mode 100644 index 00000000..3f6b57a4 --- /dev/null +++ b/lib/pages/ErService/widgets/StepesWideget.dart @@ -0,0 +1,114 @@ +import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; + +class StepesWidget extends StatelessWidget { + final int index; + final Function changeCurrentTab; + + StepesWidget({Key key, this.index, this.changeCurrentTab}); + + @override + Widget build(BuildContext context) { + return Stack( + children: [ + Container( + height: 50, + width: MediaQuery.of(context).size.width, + color: Colors.transparent, + child: Center( + child: Divider( + color: Colors.black, + height: 3, + thickness: 3, + ), + ), + ), + Positioned( + top: 10, + left: 0, + child: InkWell( + onTap: () => changeCurrentTab(0), + child: Container( + width: 25, + height: 25, + decoration: BoxDecoration( + shape: BoxShape.circle, + color: index == 0 ? Colors.grey[800] : Colors.white, + ), + child: Center( + child: Texts( + '1', + color: index == 0 ? Colors.white:Colors.grey[800] , + ), + ), + ), + ), + ), + Positioned( + top: 10, + left: MediaQuery.of(context).size.width *0.3, + child: InkWell( + onTap: () => changeCurrentTab(1), + child: Container( + width: 25, + height: 25, + decoration: BoxDecoration( + shape: BoxShape.circle, + color: index == 1 ? Colors.grey[800] : Colors.white, + ), + child: Center( + child: Texts( + '2', + color: index == 1 ? Colors.white:Colors.grey[800], + ), + ), + ), + ), + ), + Positioned( + top: 10, + left: MediaQuery.of(context).size.width *0.6, + child: InkWell( + onTap: () => changeCurrentTab(2), + child: Container( + width: 25, + height: 25, + decoration: BoxDecoration( + shape: BoxShape.circle, + color: index == 2 ? Colors.grey[800] : Colors.white, + ), + child: Center( + child: Texts( + '3', + color: index == 2 ? Colors.white: Colors.grey[800] , + ), + ), + ), + ), + ), + Positioned( + top: 10, + right: 0, + child: InkWell( + onTap: () => changeCurrentTab(3), + child: Container( + width: 25, + height: 25, + decoration: BoxDecoration( + shape: BoxShape.circle, + color: index == 3 ? Colors.grey[800] : Colors.white, + ), + child: Center( + child: Texts( + '4', + color: index == 3 ? Colors.white:Colors.grey[800] , + ), + ), + ), + ), + ), + ], + ); + } +} diff --git a/lib/pages/landing/home_page.dart b/lib/pages/landing/home_page.dart index 59c0a167..b811ef8f 100644 --- a/lib/pages/landing/home_page.dart +++ b/lib/pages/landing/home_page.dart @@ -64,6 +64,68 @@ class _HomePageState extends State { MediaQuery.of(context).size.width * 0.8, child: Row( children: [ + Expanded( + child: Container( + height: 110, + // padding: EdgeInsets.all(15), + margin: EdgeInsets.all(5), + decoration: BoxDecoration( + color: + Colors.white.withOpacity(0.3), + borderRadius: BorderRadius.all( + Radius.circular(5), + ), + image: DecorationImage( + image: ExactAssetImage( + 'assets/images/covid_bg_transparent.png'), + fit: BoxFit.cover), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + SizedBox(height: 8,), + Texts('COVID-19 TEST',color: Colors.white,), + SizedBox(height: 15,), + Row( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.spaceAround, + children: [ + Image.asset( + 'assets/images/covid-car.png',width: 55,height: 55,fit: BoxFit.cover, + ), + Column( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Texts('Drove-Thru',color: Colors.white,fontSize: 14,), + SizedBox(height: 4,), + Container( + margin: EdgeInsets.all(2), + width: 90, + height: 30, + decoration: BoxDecoration( + color: Hexcolor('#D81A2E'), + shape: BoxShape.rectangle, + border: Border.all( + color: Colors.transparent, + width: 0.5), + borderRadius: BorderRadius.all( + Radius.circular(5)), + ), + child: Center( + child: Texts('BOOK Now', + color: Colors.white, + fontSize: 12, + ), + ), + ) + ], + ) + ], + ) + ], + ) + ), + ), Expanded( child: InkWell( onTap: () => Navigator.push(context, @@ -83,19 +145,6 @@ class _HomePageState extends State { ), ), ), - Expanded( - child: Container( - height: 110, - padding: EdgeInsets.all(15), - margin: EdgeInsets.all(5), - decoration: BoxDecoration( - color: - Colors.white.withOpacity(0.3), - borderRadius: BorderRadius.all( - Radius.circular(5))), - // child: Image.asset('assets/images/livecare_white_logo.png',), - ), - ), ], ), ), @@ -359,7 +408,7 @@ class _HomePageState extends State { child: Column( children: [ Image.asset( - 'assets/images/Dr_Schedule_report.png', + 'assets/images/home_health_care_icon.png', width: 50, height: 50, ),