From 929e289a6f1a3cdb6cb6612d6ed2a96abfc8c470 Mon Sep 17 00:00:00 2001 From: haroon amjad Date: Wed, 30 Sep 2020 18:08:53 +0300 Subject: [PATCH] started implementing Covid-19 DriveThru Test Module --- assets/images/new-design/calendar.png | Bin 0 -> 5627 bytes .../new-design/covid_bg_transparent.png | Bin 0 -> 11952 bytes .../new-design/hmg_full_logo_hd_white.png | Bin 0 -> 19553 bytes .../images/new-design/waiting_for_doctor.png | Bin 0 -> 2554 bytes lib/config/config.dart | 2 + .../DriveThroughTestingCenterModel.dart | 68 +++++ lib/pages/BookAppointment/BookSuccess.dart | 2 +- .../covid-drivethru-location.dart | 258 ++++++++++++++++++ lib/pages/landing/home_page.dart | 27 +- .../appointment_services/GetDoctorsList.dart | 1 - .../covid-drivethru/covid-drivethru.dart | 52 ++++ lib/widgets/others/arrow_back.dart | 6 +- 12 files changed, 402 insertions(+), 14 deletions(-) create mode 100644 assets/images/new-design/calendar.png create mode 100644 assets/images/new-design/covid_bg_transparent.png create mode 100644 assets/images/new-design/hmg_full_logo_hd_white.png create mode 100644 assets/images/new-design/waiting_for_doctor.png create mode 100644 lib/models/CovidDriveThru/DriveThroughTestingCenterModel.dart create mode 100644 lib/pages/Covid-DriveThru/covid-drivethru-location.dart create mode 100644 lib/services/covid-drivethru/covid-drivethru.dart diff --git a/assets/images/new-design/calendar.png b/assets/images/new-design/calendar.png new file mode 100644 index 0000000000000000000000000000000000000000..ac72b030ab799a61619080779577a75455d0dafe GIT binary patch literal 5627 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 cn-lhpeU}bQS)VFx-1`PWNySpYd(6|IAL4q|B zTyAD|c6Rsd+}Hb1Rp->H`XByN4^?0NvD%tS1bEbV&z?OaP*IlG{Wo6xYY8}5|9Umc zh<_7|&s5}P^!>7rEKGdKlroY`^&R+d8{-v586zA~&*-lf2N0S2R$F-+R#QFwHNp2g zpCv<1XD-x#x~vRu^fekMBw*n1e8|vsEa%yMac&XRCNHmOXRBhM5VE^hrvF2D>-cIo zF@4vcQ?p37+_=V98DyxMqp$jR`x3Kw)~0w?m4%+|SkwW7TC}DL^;iY-dAr9^Jj)Rj zlAmsh=l>XZ7!+HoS{``%=FbxgbkBIbM~=h5Ky^+wccC~v%TSeoqgX(-oUVA56yZOn zoc)eeLM}UBg$W^DVMur4f#^p_vVPJ%P%WP;@!!Uv-32R=7tj7%jXyHAucK-~evc%$ zJ*{dCZT!Jr`elP^D}qdWKSlPyPkrPy3;!#da6SZ^N8P&*kPLVe@;k`9Hbc6D|Dsvf zDgNQXoTG_h>s~V2CV)l42sS*>(%q4j%?7tQ&;qLEWQ|B()XreU?YPZ7x*^`D--v~J5kyOs?#6JM@^15owev`#$r^5+;|#*g_mJ`0 z?;|AytcI^Hw(pbaYiC@&ioBZ_l%Jkdg{KC5=k9H z!)*$L<$aRJxNi;+$B^Na@rS>#X@CYxLIqsU)xb+y`{twtmR?+~{bC5QM~@?zbtOCk zP?{+$VD+U_KPvD#AsIt6gbG+iN_Bi7>9IjIl|@|%4sn2U)4)*rU4oH^I8j;~8J#DS(8-;3-*R5-$Dk~Kv;gFk zH(qgeDKy~xitxRGDOMfdL`qEG1^wXLN}Flk%?>b36fmav+}UQPOX? zAgVw#X!!06k0QUL_$vnmr_QH6K%U7g@38K z+e-L0OnYwyS9>5$`0LXe$>j_fOZIhDKrAPaR0*3}83(^0 zOw;}^Y1hew@v26VdfXcZ^1R;i+YDLY=jRt3jrtS__SCSFx|?DSvJTXFbZv;w(j_oz zr9vJvK?U%o|BjED#}jS+O|QLVUbx=~F;4v)94

yfg5XnJb*p@D*Z@fHI*0Y5N;P^-nM5? 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 json) { + rowID = json['RowID']; + iD = json['ID']; + projectID = json['ProjectID']; + setupID = json['SetupID']; + longitude = json['Longitude']; + latitude = json['Latitude']; + numberOfTracks = json['NumberOfTracks']; + isActive = json['IsActive']; + createdBy = json['CreatedBy']; + createdOn = json['CreatedOn']; + editedBy = json['EditedBy']; + editedON = json['EditedON']; + projectName = json['ProjectName']; + projectNameN = json['ProjectNameN']; + } + + Map toJson() { + final Map data = new Map(); + data['RowID'] = this.rowID; + data['ID'] = this.iD; + data['ProjectID'] = this.projectID; + data['SetupID'] = this.setupID; + data['Longitude'] = this.longitude; + data['Latitude'] = this.latitude; + data['NumberOfTracks'] = this.numberOfTracks; + data['IsActive'] = this.isActive; + data['CreatedBy'] = this.createdBy; + data['CreatedOn'] = this.createdOn; + data['EditedBy'] = this.editedBy; + data['EditedON'] = this.editedON; + data['ProjectName'] = this.projectName; + data['ProjectNameN'] = this.projectNameN; + return data; + } +} diff --git a/lib/pages/BookAppointment/BookSuccess.dart b/lib/pages/BookAppointment/BookSuccess.dart index 704618ac..34dbdc2f 100644 --- a/lib/pages/BookAppointment/BookSuccess.dart +++ b/lib/pages/BookAppointment/BookSuccess.dart @@ -782,7 +782,7 @@ class _BookSuccessState extends State { } Future navigateToHome(context) async { - Navigator.of(context).pushNamed(HOME); + Navigator.of(context).popAndPushNamed(HOME); } getAppoQR(context) { diff --git a/lib/pages/Covid-DriveThru/covid-drivethru-location.dart b/lib/pages/Covid-DriveThru/covid-drivethru-location.dart new file mode 100644 index 00000000..6b1c5f2b --- /dev/null +++ b/lib/pages/Covid-DriveThru/covid-drivethru-location.dart @@ -0,0 +1,258 @@ +import 'package:diplomaticquarterapp/models/CovidDriveThru/DriveThroughTestingCenterModel.dart'; +import 'package:diplomaticquarterapp/routes.dart'; +import 'package:diplomaticquarterapp/services/covid-drivethru/covid-drivethru.dart'; +import 'package:diplomaticquarterapp/uitl/utils.dart'; +import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; +import 'package:flutter/material.dart'; +import 'package:smart_progress_bar/smart_progress_bar.dart'; +import 'package:maps_launcher/maps_launcher.dart'; + +class CovidDrivethruLocation extends StatefulWidget { + @override + _CovidDrivethruLocationState createState() => _CovidDrivethruLocationState(); +} + +class _CovidDrivethruLocationState extends State { + String projectDropdownValue; + List projectsList = []; + bool isLocationSelected = false; + String projectLat = ""; + String projectLong = ""; + String projectName = ""; + + @override + void initState() { + WidgetsBinding.instance + .addPostFrameCallback((_) => getProjectsList(context)); + super.initState(); + } + + @override + Widget build(BuildContext context) { + return AppScaffold( + appBarTitle: "COVID-19 TEST", + isShowAppBar: true, + body: SingleChildScrollView( + child: Container( + margin: EdgeInsets.fromLTRB(15.0, 15.0, 15.0, 0.0), + child: Column( + children: [ + Container( + alignment: Alignment.centerLeft, + child: Text("Get The Result During 8 Hours", + style: TextStyle( + fontWeight: FontWeight.bold, + fontSize: 22.0, + color: Colors.black)), + ), + Container( + margin: EdgeInsets.only(top: 10.0), + child: Text( + "We are using the advance technology to test COVID-19, The sample for examination is taking between the nose and mouth (nasopharyngeal swab), the examination is done by ELITE In Genius of the company ELITECH GROUP MOLECULAR DIAGNOSTICS, Note that the device belongs to an Italian company and is manufactured in Japan with RC- PCR​", + style: TextStyle(fontSize: 16.0, color: Colors.black)), + ), + Container( + margin: EdgeInsets.only(top: 20.0), + alignment: Alignment.centerLeft, + child: Text("Select Location", + style: TextStyle( + fontWeight: FontWeight.bold, + fontSize: 18.0, + letterSpacing: 0.8, + color: Colors.grey[700])), + ), + Container( + height: 60.0, + decoration: BoxDecoration( + color: Colors.white, + border: Border.all( + color: Colors.grey[400], + width: 1.0, + ), + borderRadius: BorderRadius.circular(10), + ), + padding: EdgeInsets.all(8.0), + width: MediaQuery.of(context).size.width, + margin: EdgeInsets.only(top: 15.0), + child: DropdownButtonHideUnderline( + child: DropdownButton( + hint: new Text("Select Address"), + value: projectDropdownValue, + items: projectsList.map((item) { + return new DropdownMenuItem( + value: item.iD.toString(), + child: new Text(item.projectName), + ); + }).toList(), + onChanged: (newValue) { + setState(() { + projectDropdownValue = newValue; + setProjectLocation(newValue); + }); + }, + ), + )), + isLocationSelected + ? Container( + margin: EdgeInsets.only(top: 15.0), + alignment: Alignment.centerLeft, + child: Text("Selected Location", + style: TextStyle( + fontWeight: FontWeight.bold, + fontSize: 18.0, + letterSpacing: 0.8, + color: Colors.black)), + ) : Container(), + isLocationSelected + ? Container( + margin: EdgeInsets.only(top: 5.0), + decoration: BoxDecoration( + border: Border.all(color: Colors.grey[400], width: 1.0), + ), + child: Image.network( + "https://maps.googleapis.com/maps/api/staticmap?center=" + + this.projectLat + + "," + + this.projectLong + + "&zoom=15&size=800x400&maptype=roadmap&markers=color:red%7C" + + this.projectLat + + "," + + this.projectLong + + "&key=AIzaSyCyDbWUM9d_sBUGIE8PcuShzPaqO08NSC8"), + ) + : Container(), + ], + ), + ), + ), + bottomSheet: Container( + height: MediaQuery.of(context).size.height * 0.15, + width: double.infinity, + child: Column( + children: [ + Container( + margin: EdgeInsets.only(top: 10.0), + child: ButtonTheme( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(10.0), + ), + minWidth: MediaQuery.of(context).size.width * 0.91, + height: 45.0, + child: RaisedButton( + color: new Color(0xFFc5272d), + textColor: Colors.white, + disabledTextColor: Colors.white, + disabledColor: Colors.red[300], + onPressed: () { + getDirections(); + }, + child: + Text("GET DIRECTIONS", style: TextStyle(fontSize: 18.0)), + ), + ), + ), + Container( + margin: EdgeInsets.fromLTRB(10.0, 5.0, 10.0, 5.0), + child: Flex( + direction: Axis.horizontal, + children: [ + Expanded( + flex: 1, + child: Container( + margin: EdgeInsets.fromLTRB(10.0, 0.0, 5.0, 0.0), + child: ButtonTheme( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(10.0), + ), + minWidth: MediaQuery.of(context).size.width * 0.7, + height: 45.0, + child: RaisedButton( + color: new Color(0xFF60686b), + textColor: Colors.white, + disabledTextColor: Colors.white, + disabledColor: Colors.grey[500], + onPressed: () { + back(); + }, + child: Text("BACK", style: TextStyle(fontSize: 18.0)), + ), + ), + ), + ), + Expanded( + flex: 1, + child: Container( + margin: EdgeInsets.fromLTRB(10.0, 0.0, 5.0, 0.0), + child: ButtonTheme( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(10.0), + ), + minWidth: MediaQuery.of(context).size.width * 0.7, + height: 45.0, + child: RaisedButton( + color: new Color(0xFF60686b), + textColor: Colors.white, + disabledTextColor: Colors.white, + disabledColor: Colors.grey[500], + onPressed: () { + next(); + }, + child: Text("NEXT", style: TextStyle(fontSize: 18.0)), + ), + ), + ), + ), + ], + ), + ), + ], + ), + ), + ); + } + + getDirections() { + if(isLocationSelected) { + MapsLauncher.launchCoordinates(double.parse(projectLat),double.parse(projectLong), this.projectName); + } else { + Utils.showErrorToast("Please select address from the dropdown menu to get directions"); + } + } + + next() { + + } + + back() { + Navigator.of(context).popAndPushNamed(HOME); + } + + setProjectLocation(newValue) { + print(newValue); + print(projectsList[(int.parse(newValue) - 1)].projectName); + setState(() { + this.projectLat = + projectsList[(int.parse(newValue) - 1)].latitude.toString(); + this.projectLong = + projectsList[(int.parse(newValue) - 1)].longitude.toString(); + this.projectName = projectsList[(int.parse(newValue) - 1)].projectName; + isLocationSelected = true; + }); + } + + getProjectsList(BuildContext context) { + CovidDriveThruService service = new CovidDriveThruService(); + service.getCovidProjectsList(context).then((res) { + if (res['MessageStatus'] == 1) { + setState(() { + res['List_COVID19_ProjectDriveThroughTestingCenter'].forEach((v) { + projectsList.add(new DriveThroughTestingCenterModel.fromJson(v)); + }); + }); + } else {} + }).catchError((err) { + print(err); + }).showProgressBar( + text: "Loading", backgroundColor: Colors.blue.withOpacity(0.6)); + } +} diff --git a/lib/pages/landing/home_page.dart b/lib/pages/landing/home_page.dart index 55a095ed..d427c2f1 100644 --- a/lib/pages/landing/home_page.dart +++ b/lib/pages/landing/home_page.dart @@ -3,6 +3,7 @@ import 'package:diplomaticquarterapp/core/viewModels/dashboard_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/all_habib_medical_service_page.dart'; import 'package:diplomaticquarterapp/pages/ContactUs/hmg_service.dart'; +import 'package:diplomaticquarterapp/pages/Covid-DriveThru/covid-drivethru-location.dart'; import 'package:diplomaticquarterapp/pages/ErService/ErOptions.dart'; import 'package:diplomaticquarterapp/pages/base/base_view.dart'; import 'package:diplomaticquarterapp/pages/livecare/livecare_home.dart'; @@ -71,7 +72,8 @@ class _HomePageState extends State { margin: EdgeInsets.all(5), decoration: BoxDecoration( image: DecorationImage( - image: AssetImage("assets/images/new-design/covid_bg_transparent.png"), + image: AssetImage( + "assets/images/new-design/covid_bg_transparent.png"), fit: BoxFit.fill, ), color: @@ -100,7 +102,8 @@ class _HomePageState extends State { ), Container( margin: EdgeInsets.only( - left: 10.0, top: 10.0), + left: 10.0, + top: 10.0), child: Column( children: [ Text("Drive-Thru", @@ -127,7 +130,8 @@ class _HomePageState extends State { 0.15, height: 25.0, child: RaisedButton( - color: Colors.red[800], + color: Colors + .red[800], textColor: Colors.white, disabledTextColor: @@ -136,11 +140,10 @@ class _HomePageState extends State { new Color( 0xFFbcc2c4), onPressed: () { -// if (_isButtonDisabled == false) { -// _searchDoctor(context); -// } + navigateToCovidDriveThru(); }, - child: Text("BOOK NOW", + child: Text( + "BOOK NOW", style: TextStyle( fontSize: 12.0)), @@ -170,8 +173,9 @@ class _HomePageState extends State { borderRadius: BorderRadius.all( Radius.circular(5))), child: SvgPicture.asset( - projectViewModel.isArabic ? 'assets/images/new-design/livecare_arabic_logo.svg' : - 'assets/images/new-design/liveCare_white_logo.svg', + projectViewModel.isArabic + ? 'assets/images/new-design/livecare_arabic_logo.svg' + : 'assets/images/new-design/liveCare_white_logo.svg', ), ), ), @@ -742,6 +746,11 @@ class _HomePageState extends State { ), ); } + + navigateToCovidDriveThru() { + Navigator.push(context, + MaterialPageRoute(builder: (context) => CovidDrivethruLocation())); + } } class DashboardItem extends StatelessWidget { diff --git a/lib/services/appointment_services/GetDoctorsList.dart b/lib/services/appointment_services/GetDoctorsList.dart index 542ea3e2..24d81bdf 100644 --- a/lib/services/appointment_services/GetDoctorsList.dart +++ b/lib/services/appointment_services/GetDoctorsList.dart @@ -28,7 +28,6 @@ class DoctorsListService extends BaseService { Future getDoctorsList( int clinicID, int projectID, bool isNearest, BuildContext context, {doctorId}) async { - //Utils.showProgressDialog(context); Map request; if (await this.sharedPref.getObject(USER_PROFILE) != null) { diff --git a/lib/services/covid-drivethru/covid-drivethru.dart b/lib/services/covid-drivethru/covid-drivethru.dart new file mode 100644 index 00000000..a9ebbecd --- /dev/null +++ b/lib/services/covid-drivethru/covid-drivethru.dart @@ -0,0 +1,52 @@ +import 'package:diplomaticquarterapp/config/config.dart'; +import 'package:diplomaticquarterapp/config/shared_pref_kay.dart'; +import 'package:diplomaticquarterapp/core/service/base_service.dart'; +import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart'; +import 'package:diplomaticquarterapp/models/Request.dart'; +import 'package:diplomaticquarterapp/services/authentication/auth_provider.dart'; +import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart'; +import 'package:flutter/material.dart'; + +class CovidDriveThruService extends BaseService { + AppSharedPreferences sharedPref = AppSharedPreferences(); + AppGlobal appGlobal = new AppGlobal(); + + AuthenticatedUser authUser = new AuthenticatedUser(); + AuthProvider authProvider = new AuthProvider(); + + Future getCovidProjectsList(BuildContext context) async { + Map request; + + if (await this.sharedPref.getObject(USER_PROFILE) != null) { + var data = AuthenticatedUser.fromJson( + await this.sharedPref.getObject(USER_PROFILE)); + authUser = data; + } + + var languageID = await sharedPref.getString(APP_LANGUAGE); + Request req = appGlobal.getPublicRequest(); + request = { + "LanguageID": languageID == 'ar' ? 1 : 2, + "IPAdress": "10.20.10.20", + "VersionID": req.VersionID, + "Channel": req.Channel, + "generalid": 'Cs2020@2016\$2958', + "PatientOutSA": authUser.outSA, + "TokenID": "", + "DeviceTypeID": req.DeviceTypeID, + "SessionID": "YckwoXhUmWBsnHKEKig", + "PatientID": authUser.patientID != null ? authUser.patientID : 0, + "License": true + }; + + dynamic localRes; + + await baseAppClient.post(GET_COVID_DRIVETHRU_PROJECT_LIST, + onSuccess: (response, statusCode) async { + localRes = response; + }, onFailure: (String error, int statusCode) { + throw error; + }, body: request); + return Future.value(localRes); + } +} diff --git a/lib/widgets/others/arrow_back.dart b/lib/widgets/others/arrow_back.dart index 498554fd..619f4f41 100644 --- a/lib/widgets/others/arrow_back.dart +++ b/lib/widgets/others/arrow_back.dart @@ -18,9 +18,9 @@ class ArrowBack extends StatelessWidget { }, context), child: Icon( projectViewModel.isArabic - ? Icons.arrow_back_ios - : Icons.arrow_forward_ios, - color: Theme.of(context).primaryColor), + ? Icons.arrow_forward_ios + : Icons.arrow_back_ios, + color: Colors.white), ); } }