From a4ea5f8e3e963c2b048c741e8a4f0177f1aa0ba4 Mon Sep 17 00:00:00 2001 From: Amjad amireh Date: Mon, 21 Sep 2020 10:41:16 +0300 Subject: [PATCH 1/6] Contact us --- lib/pages/ContactUs/hmg_service.dart | 70 ++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 lib/pages/ContactUs/hmg_service.dart diff --git a/lib/pages/ContactUs/hmg_service.dart b/lib/pages/ContactUs/hmg_service.dart new file mode 100644 index 00000000..f1ce3bbf --- /dev/null +++ b/lib/pages/ContactUs/hmg_service.dart @@ -0,0 +1,70 @@ +import 'package:diplomaticquarterapp/pages/ContactUs/widgets/card_common_contat.dart'; +import 'package:diplomaticquarterapp/uitl/location_util.dart'; +import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; + +import 'package:flutter/material.dart'; +import '../../uitl/translations_delegate_base.dart'; +import 'package:diplomaticquarterapp/pages/ErService/widgets/card_common.dart'; + +class HmgServicePage extends StatefulWidget { + @override + _HmgServicePageState createState() => _HmgServicePageState(); +} + +class _HmgServicePageState extends State { + + LocationUtils locationUtils; + + @override + void initState() { + locationUtils = + new LocationUtils(isShowConfirmDialog: true, context: context); + WidgetsBinding.instance + .addPostFrameCallback((_) => locationUtils.getCurrentLocation()); + + super.initState(); + } + @override + Widget build(BuildContext context) { + return AppScaffold( + isShowAppBar: true,//widget.isAppbar, + appBarTitle: "HMG Services",//TranslationBase.of(context).bookAppo, + body: Container( + margin: EdgeInsets.fromLTRB(10.0, 20.0, 10.0, 10.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + + Container( + margin: EdgeInsets.fromLTRB(0.0, 10.0, 0.0, 10.0), + child: Row( + mainAxisSize: MainAxisSize.max, + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Expanded( + child: CardCommonContact( + image: 'assets/images/new-design/find_us_icon.png', + text: "Find us", + subText: "", + type: 0, + + ), + ), + Expanded( + child: CardCommonContact( + image: 'assets/images/new-design/feedback_icon.png', + text: "Feedback", + subText: "", + type: 1), + + ) + ], + ), + ), + ], + ), + ), + ); + } +} + From dd3608e9ee7367dd4f3f16d5d24b236262242fb7 Mon Sep 17 00:00:00 2001 From: Amjad amireh Date: Mon, 21 Sep 2020 16:36:13 +0300 Subject: [PATCH 2/6] Contact us --- lib/pages/ContactUs/findus/findus_page.dart | 120 ++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 lib/pages/ContactUs/findus/findus_page.dart diff --git a/lib/pages/ContactUs/findus/findus_page.dart b/lib/pages/ContactUs/findus/findus_page.dart new file mode 100644 index 00000000..e8f52cb9 --- /dev/null +++ b/lib/pages/ContactUs/findus/findus_page.dart @@ -0,0 +1,120 @@ +import 'dart:ui'; + +import 'package:diplomaticquarterapp/pages/ContactUs/findus/hospitrals_page.dart'; +import 'package:diplomaticquarterapp/pages/ContactUs/findus/pharmacies_page.dart'; +import 'package:diplomaticquarterapp/pages/feedback/send_feedback_page.dart'; +import 'package:diplomaticquarterapp/pages/feedback/status_feedback_page.dart'; +import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; +import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; + + + + +class FindUsPage extends StatefulWidget { + @override + _FindUsPageState createState() => _FindUsPageState(); +} + +class _FindUsPageState extends State with SingleTickerProviderStateMixin{ + TabController _tabController; + @override + void initState() { + super.initState(); + _tabController = TabController(length: 2, vsync: this); + } + + @override + void dispose() { + super.dispose(); + _tabController.dispose(); + } + @override + @override + Widget build(BuildContext context) { + return AppScaffold( + isShowAppBar: true, + appBarTitle: 'Locations', + body: Scaffold( + extendBodyBehindAppBar: true, + appBar: PreferredSize( + preferredSize: Size.fromHeight(65.0), + child: Stack( + children: [ + Positioned( + bottom: 1, + left: 0, + right: 0, + child: BackdropFilter( + filter: ImageFilter.blur(sigmaX: 10, sigmaY: 10), + child: Container( + color: Theme.of(context) + .scaffoldBackgroundColor + .withOpacity(0.8), + height: 70.0, + ), + ), + ), + Center( + child: Container( + height: 60.0, + margin: EdgeInsets.only(top: 10.0), + width: MediaQuery.of(context).size.width * 0.9, + decoration: BoxDecoration( + border: Border( + bottom: BorderSide( + color: Theme.of(context).dividerColor, + width: 0.7), + ), + color: Colors.white), + child: Center( + child: TabBar( + isScrollable: true, + controller: _tabController, + indicatorWeight: 5.0, + indicatorSize: TabBarIndicatorSize.label, + indicatorColor: Colors.red[800], + labelColor: Theme.of(context).primaryColor, + labelPadding: + EdgeInsets.only(top: 4.0, left: 18.0, right: 18.0), + unselectedLabelColor: Colors.grey[800], + tabs: [ + Container( + width: MediaQuery.of(context).size.width * 0.30, + child: Center( + child: Texts(' Hospitals '), + ), + ), + Container( + width: MediaQuery.of(context).size.width * 0.30, + child: Center( + child: Texts(' Pharmacies '), + ), + ), + ], + ), + ), + ), + ), + ], + ), + ), + body: Column( + children: [ + Expanded( + child: TabBarView( + physics: BouncingScrollPhysics(), + controller: _tabController, + children: [ + HospitalsPage(),//SendFeedbackPage(), + PharmaciesPage()//StatusFeedbackPage() + ], + ), + ) + ], + ), + ), + ); + } +} From c2b750700578cfc0f858add140782e749cb4b5e6 Mon Sep 17 00:00:00 2001 From: Amjad amireh Date: Mon, 21 Sep 2020 17:34:21 +0300 Subject: [PATCH 3/6] Contact us --- lib/config/config.dart | 5 + .../model/contactus/get_hmg_locations.dart | 80 ++++++++++++++++ .../service/contactus/finadus_service.dart | 38 ++++++++ .../contactus/findus_view_model.dart | 30 ++++++ lib/locator.dart | 4 + .../ContactUs/findus/hospitrals_page.dart | 90 ++++++++++++++++++ .../ContactUs/findus/pharmacies_page.dart | 92 +++++++++++++++++++ lib/pages/ContactUs/hmg_service.dart | 57 ++++++++---- .../ContactUs/widgets/card_common_contat.dart | 72 +++++++++++++++ lib/pages/landing/home_page.dart | 5 +- 10 files changed, 455 insertions(+), 18 deletions(-) create mode 100644 lib/core/model/contactus/get_hmg_locations.dart create mode 100644 lib/core/service/contactus/finadus_service.dart create mode 100644 lib/core/viewModels/contactus/findus_view_model.dart create mode 100644 lib/pages/ContactUs/findus/hospitrals_page.dart create mode 100644 lib/pages/ContactUs/findus/pharmacies_page.dart create mode 100644 lib/pages/ContactUs/widgets/card_common_contat.dart diff --git a/lib/config/config.dart b/lib/config/config.dart index 9b910e66..0c554090 100644 --- a/lib/config/config.dart +++ b/lib/config/config.dart @@ -59,6 +59,11 @@ const GET_AMBULANCE_REQUEST= 'Services/Patients.svc/REST/PatientER_RRT_GetAllTransportationMethod'; +///FindUs +const GET_FINDUS_REQUEST= + 'Services/Lists.svc/REST/Get_HMG_Locations'; + + diff --git a/lib/core/model/contactus/get_hmg_locations.dart b/lib/core/model/contactus/get_hmg_locations.dart new file mode 100644 index 00000000..89d26951 --- /dev/null +++ b/lib/core/model/contactus/get_hmg_locations.dart @@ -0,0 +1,80 @@ +class GetHMGLocationsModel { + dynamic cityID; + String cityName; + dynamic cityNameN; + dynamic distanceInKilometers; + bool isActive; + String latitude; + int locationID; + String locationName; + dynamic locationNameN; + dynamic locationType; + String longitude; + int pharmacyLocationID; + String phoneNumber; + int projectID; + String projectImageURL; + int setupID; + dynamic sortOrder; + + GetHMGLocationsModel( + {this.cityID, + this.cityName, + this.cityNameN, + this.distanceInKilometers, + this.isActive, + this.latitude, + this.locationID, + this.locationName, + this.locationNameN, + this.locationType, + this.longitude, + this.pharmacyLocationID, + this.phoneNumber, + this.projectID, + this.projectImageURL, + this.setupID, + this.sortOrder}); + + GetHMGLocationsModel.fromJson(Map json) { + cityID = json['CityID']; + cityName = json['CityName']; + cityNameN = json['CityNameN']; + distanceInKilometers = json['DistanceInKilometers']; + isActive = json['IsActive']; + latitude = json['Latitude']; + locationID = json['LocationID']; + locationName = json['LocationName']; + locationNameN = json['LocationNameN']; + locationType = json['LocationType']; + longitude = json['Longitude']; + pharmacyLocationID = json['PharmacyLocationID']; + phoneNumber = json['PhoneNumber']; + projectID = json['ProjectID']; + projectImageURL = json['ProjectImageURL']; + setupID = json['SetupID']; + sortOrder = json['SortOrder']; + } + + Map toJson() { + final Map data = new Map(); + data['CityID'] = this.cityID; + data['CityName'] = this.cityName; + data['CityNameN'] = this.cityNameN; + data['DistanceInKilometers'] = this.distanceInKilometers; + data['IsActive'] = this.isActive; + data['Latitude'] = this.latitude; + data['LocationID'] = this.locationID; + data['LocationName'] = this.locationName; + data['LocationNameN'] = this.locationNameN; + data['LocationType'] = this.locationType; + data['Longitude'] = this.longitude; + data['PharmacyLocationID'] = this.pharmacyLocationID; + data['PhoneNumber'] = this.phoneNumber; + data['ProjectID'] = this.projectID; + data['ProjectImageURL'] = this.projectImageURL; + data['SetupID'] = this.setupID; + data['SortOrder'] = this.sortOrder; + return data; + } +} \ No newline at end of file diff --git a/lib/core/service/contactus/finadus_service.dart b/lib/core/service/contactus/finadus_service.dart new file mode 100644 index 00000000..cc73f32e --- /dev/null +++ b/lib/core/service/contactus/finadus_service.dart @@ -0,0 +1,38 @@ +import 'package:diplomaticquarterapp/config/config.dart'; +import 'package:diplomaticquarterapp/config/shared_pref_kay.dart'; +import 'package:diplomaticquarterapp/core/model/contactus/get_hmg_locations.dart'; +import '../base_service.dart'; + +class FindusService extends BaseService { + //List AmModelList = List(); + //Map body = Map(); + + List FindusModelList = List(); + List FindusHospitalModelList = List(); + List FindusPharmaciesModelList = List(); + Map body = Map(); + + Future getAllFindUsOrders() async { + hasError = false; + + await baseAppClient.post(GET_FINDUS_REQUEST, + onSuccess: (dynamic response, int statusCode) { + FindusModelList.clear(); + FindusHospitalModelList.clear(); + FindusPharmaciesModelList.clear(); + + response['ListHMGLocation'].forEach((vital) { + if (GetHMGLocationsModel.fromJson(vital).locationType == 1) { + FindusHospitalModelList.add(GetHMGLocationsModel.fromJson(vital)); + } else { + FindusPharmaciesModelList.add(GetHMGLocationsModel.fromJson(vital)); + } + // FindusModelList.add( + // GetHMGLocationsModel.fromJson(vital)); + }); + }, onFailure: (String error, int statusCode) { + hasError = true; + super.error = error; + }, body: body); + } +} diff --git a/lib/core/viewModels/contactus/findus_view_model.dart b/lib/core/viewModels/contactus/findus_view_model.dart new file mode 100644 index 00000000..800c3106 --- /dev/null +++ b/lib/core/viewModels/contactus/findus_view_model.dart @@ -0,0 +1,30 @@ +import 'package:diplomaticquarterapp/core/enum/viewstate.dart'; +import 'package:diplomaticquarterapp/core/model/contactus/get_hmg_locations.dart'; +import 'package:diplomaticquarterapp/core/service/contactus/finadus_service.dart'; +import '../base_view_model.dart'; +import '../../../locator.dart'; + +class FindusViewModel extends BaseViewModel { + FindusService _findusService = locator(); + + List get FindusModelList => + _findusService.FindusModelList; + + List get FindusHospitalModelList=> + _findusService.FindusHospitalModelList; + + List get FindusPharmaciesModelList=> + _findusService.FindusPharmaciesModelList; + + getFindUsRequestOrders() async { + setState(ViewState.Busy); + + await _findusService.getAllFindUsOrders(); + + if (_findusService.hasError) { + error = _findusService.error; + setState(ViewState.Error); + } else + setState(ViewState.Idle); + } +} diff --git a/lib/locator.dart b/lib/locator.dart index 93715c99..6ef9589a 100644 --- a/lib/locator.dart +++ b/lib/locator.dart @@ -4,6 +4,7 @@ import 'package:diplomaticquarterapp/uitl/navigation_service.dart'; import 'package:get_it/get_it.dart'; import 'core/service/appointment_rate_service.dart'; +import 'core/service/contactus/finadus_service.dart'; import 'core/service/dashboard_service.dart'; import 'core/service/er/am_service.dart'; import 'core/service/er/er_service.dart'; @@ -19,6 +20,7 @@ import 'core/service/medical/radiology_service.dart'; import 'core/service/medical/reports_monthly_service.dart'; import 'core/service/medical/vital_sign_service.dart'; import 'core/viewModels/appointment_rate_view_model.dart'; +import 'core/viewModels/contactus/findus_view_model.dart'; import 'core/viewModels/er/am_request_view_model.dart'; import 'core/viewModels/er/near_hospital_view_model.dart'; import 'core/viewModels/feedback/feedback_view_model.dart'; @@ -70,6 +72,7 @@ void setupLocator() { locator.registerLazySingleton(() => PatientSickLeaveService()); locator.registerLazySingleton(() => MyBalanceService()); + locator.registerLazySingleton(() => FindusService()); /// View Model locator.registerFactory(() => HospitalViewModel()); @@ -92,5 +95,6 @@ void setupLocator() { locator.registerFactory(() => AmRequestViewModel()); locator.registerFactory(() => PatientSickLeaveViewMode()); locator.registerFactory(() => MyBalanceViewModel()); + locator.registerFactory(() => FindusViewModel()); } diff --git a/lib/pages/ContactUs/findus/hospitrals_page.dart b/lib/pages/ContactUs/findus/hospitrals_page.dart new file mode 100644 index 00000000..5f26517a --- /dev/null +++ b/lib/pages/ContactUs/findus/hospitrals_page.dart @@ -0,0 +1,90 @@ + +import 'package:diplomaticquarterapp/core/viewModels/contactus/findus_view_model.dart'; +import 'package:diplomaticquarterapp/pages/base/base_view.dart'; +import 'package:diplomaticquarterapp/widgets/buttons/button.dart'; +import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; +import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; + +class HospitalsPage extends StatefulWidget { + @override + _HospitalsPageState createState() => _HospitalsPageState(); +} + +class _HospitalsPageState extends State { + @override + Widget build(BuildContext context) { + return BaseView( + onModelReady: (model) => model.getFindUsRequestOrders(),//model.getCOC(), + builder: (_, model, widget) => AppScaffold( + baseViewModel: model, + body: Container( + margin: EdgeInsets.only(top: 8.0,left: 8.0,right: 8.0 ), + padding: EdgeInsets.all(15.0), + child: ListView.builder( + itemCount: model.FindusHospitalModelList.length,//model.cOCItemList.length, + itemBuilder: (context, index) => Container( + decoration: BoxDecoration( + shape: BoxShape.rectangle, + border: Border.all(color: Colors.white, width: 0.5), + borderRadius: BorderRadius.all(Radius.circular(5)), + color: Colors.white, + ), + // margin: EdgeInsets.all(4), + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // SizedBox(height: 8,), + Row( + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + children: [ + Expanded( + child: Row( + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + crossAxisAlignment: + CrossAxisAlignment.start, + children: [ + Container( + width: 70, + height: 70, + // margin: EdgeInsets.only(right: 15), + child: Image.network(model.FindusHospitalModelList[index].projectImageURL.toString())), + Container(child: Texts('${model.FindusHospitalModelList[index].locationName}')),//model.cOCItemList[index].cOCTitl + // Texts( + // 'Number :${model.FindusHospitalModelList[index].locationName}', + // variant: 'overline', + // ), + ], + ), + ), + // Expanded( + // child: Column( + // crossAxisAlignment: + // CrossAxisAlignment.start, + // children: [ + // Texts('${model.FindusHospitalModelList[index].locationName}'), + // Texts( + // '${model.FindusHospitalModelList[index].locationName}', + // variant: 'overline', + // ), + // ], + // ), + // ), + ], + ), + // Texts('${model.FindusHospitalModelList[index].locationName}'), + Divider(height: 4.5,color: Colors.grey[500],) + ], + ), + ), + )), + ), + ), + );; + } +} diff --git a/lib/pages/ContactUs/findus/pharmacies_page.dart b/lib/pages/ContactUs/findus/pharmacies_page.dart new file mode 100644 index 00000000..21e94897 --- /dev/null +++ b/lib/pages/ContactUs/findus/pharmacies_page.dart @@ -0,0 +1,92 @@ + +import 'package:diplomaticquarterapp/core/enum/viewstate.dart'; +import 'package:diplomaticquarterapp/core/viewModels/contactus/findus_view_model.dart'; +import 'package:diplomaticquarterapp/pages/base/base_view.dart'; +import 'package:diplomaticquarterapp/widgets/buttons/button.dart'; +import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; +import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; + +class PharmaciesPage extends StatefulWidget { + @override + _PharmaciesPageState createState() => _PharmaciesPageState(); +} + +class _PharmaciesPageState extends State { + @override + Widget build(BuildContext context) { + return BaseView( + onModelReady: (model) => model.getFindUsRequestOrders(),//model.getCOC(), + builder: (_, model, widget) => AppScaffold( + baseViewModel: model, + body: Container( + margin: EdgeInsets.only(top: 8.0,left: 8.0,right: 8.0 ), + padding: EdgeInsets.all(15.0), + child: ListView.builder( + itemCount: model.FindusPharmaciesModelList.length,//model.cOCItemList.length, + itemBuilder: (context, index) => Container( + decoration: BoxDecoration( + shape: BoxShape.rectangle, + border: Border.all(color: Colors.white, width: 0.5), + borderRadius: BorderRadius.all(Radius.circular(5)), + color: Colors.white, + ), + // margin: EdgeInsets.all(4), + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // SizedBox(height: 8,), + Row( + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + children: [ + Expanded( + child: Row( + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + crossAxisAlignment: + CrossAxisAlignment.start, + children: [ + Container( + width: 70, + height: 70, + // margin: EdgeInsets.only(right: 15), + child: Image.network(model.FindusPharmaciesModelList[index].projectImageURL.toString())), + Container(child: Texts('${model.FindusPharmaciesModelList[index].locationName}')),//model.cOCItemList[index].cOCTitl + // Texts( + // 'Number :${model.FindusHospitalModelList[index].locationName}', + // variant: 'overline', + // ), + ], + ), + ), + // Expanded( + // child: Column( + // crossAxisAlignment: + // CrossAxisAlignment.start, + // children: [ + // Texts('${model.FindusHospitalModelList[index].locationName}'), + // Texts( + // '${model.FindusHospitalModelList[index].locationName}', + // variant: 'overline', + // ), + // ], + // ), + // ), + ], + ), + // Texts('${model.FindusHospitalModelList[index].locationName}'), + Divider(height: 4.5,color: Colors.grey[500],) + ], + ), + ), + )), + ), + ), + ); + } +} + diff --git a/lib/pages/ContactUs/hmg_service.dart b/lib/pages/ContactUs/hmg_service.dart index f1ce3bbf..4f19e8f8 100644 --- a/lib/pages/ContactUs/hmg_service.dart +++ b/lib/pages/ContactUs/hmg_service.dart @@ -35,31 +35,54 @@ class _HmgServicePageState extends State { crossAxisAlignment: CrossAxisAlignment.start, children: [ - Container( - margin: EdgeInsets.fromLTRB(0.0, 10.0, 0.0, 10.0), - child: Row( - mainAxisSize: MainAxisSize.max, - mainAxisAlignment: MainAxisAlignment.start, - children: [ - Expanded( - child: CardCommonContact( - image: 'assets/images/new-design/find_us_icon.png', - text: "Find us", + Row( + mainAxisSize: MainAxisSize.max, + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Expanded( + child: CardCommonContact( + image: 'assets/images/new-design/find_us_icon.png', + text: "Find us", + subText: "", + type: 0, + + ), + ), + Expanded( + child: CardCommonContact( + image: 'assets/images/new-design/feedback_icon.png', + text: "Feedback", subText: "", - type: 0, + type: 1), + + ), + ], + ), + Row( + mainAxisSize: MainAxisSize.max, + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Expanded( + child: CardCommonContact( + image: 'assets/images/new-design/live_chat_icon.png', + text: "Live Chat", + subText: "Service", + type: 2, - ), ), - Expanded( + ), + Expanded( + child: Opacity( + opacity: 0, child: CardCommonContact( image: 'assets/images/new-design/feedback_icon.png', text: "Feedback", subText: "", - type: 1), + type: 3), + ), - ) - ], - ), + ), + ], ), ], ), diff --git a/lib/pages/ContactUs/widgets/card_common_contat.dart b/lib/pages/ContactUs/widgets/card_common_contat.dart new file mode 100644 index 00000000..658414e0 --- /dev/null +++ b/lib/pages/ContactUs/widgets/card_common_contat.dart @@ -0,0 +1,72 @@ +import 'package:diplomaticquarterapp/pages/ContactUs/findus/findus_page.dart'; +import 'package:diplomaticquarterapp/pages/feedback/feedback_home_page.dart'; +import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; +import 'package:flutter/material.dart'; + +class CardCommonContact extends StatelessWidget { + final image; + final text; + final subText; + final type; + const CardCommonContact( + {@required this.image, + @required this.text, + @required this.subText, + @required this.type}); + + @override + Widget build(BuildContext context) { + return GestureDetector( + onTap: () { + navigateToSearch(context, this.type); + }, + child: Container( + margin: EdgeInsets.fromLTRB(9.0, 9.0, 9.0, 9.0), + decoration: BoxDecoration(boxShadow: [ + BoxShadow(color: Colors.grey[400], blurRadius: 2.0, spreadRadius: 0.0) + ], borderRadius: BorderRadius.circular(10), color: Colors.white), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Container( + margin: EdgeInsets.fromLTRB(10.0, 10.0, 10.0, 0.0), + child: Text(this.text, + overflow: TextOverflow.clip, + style: TextStyle( + color: new Color(0xFFc5272d), + letterSpacing: 1.0, + fontSize: 20.0)), + ), + Container( + margin: EdgeInsets.fromLTRB(10.0, 0.0, 10.0, 0.0), + child: Text(this.subText, + overflow: TextOverflow.clip, + style: TextStyle( + color: Colors.black, letterSpacing: 1.0, fontSize: 15.0)), + ), + Container( + alignment: Alignment.bottomRight, + margin: EdgeInsets.fromLTRB(0.0, 0.0, 10.0, 8.0), + child: Image.asset(this.image, width: 60.0, height: 60.0), + ), + ], + ), + ), + ); + } + + Future navigateToSearch(context, type) async { +//===Switch case=== + if (type == 0) { + Navigator.push(context, FadePage(page: FindUsPage())); + } else if (type == 1) { + Navigator.push(context, FadePage(page: FeedbackHomePage())); + } else if (type == 2) { + // Navigator.push( + // context, + // FadePage( + // page: FeedbackHomePage())); + + } + } +} diff --git a/lib/pages/landing/home_page.dart b/lib/pages/landing/home_page.dart index 6e8d5fce..7a2d27b7 100644 --- a/lib/pages/landing/home_page.dart +++ b/lib/pages/landing/home_page.dart @@ -2,6 +2,7 @@ import 'package:diplomaticquarterapp/config/size_config.dart'; 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/ErService/ErOptions.dart'; import 'package:diplomaticquarterapp/pages/base/base_view.dart'; import 'package:diplomaticquarterapp/pages/feedback/feedback_home_page.dart'; @@ -609,8 +610,10 @@ class _HomePageState extends State { ), DashboardItem( onTap: () { + // Navigator.push( + // context, FadePage(page: FeedbackHomePage())); Navigator.push( - context, FadePage(page: FeedbackHomePage())); + context, FadePage(page: HmgServicePage())); }, child: Container( width: double.infinity, From 571023e521b1dc43aab598191b89ff43037cca87 Mon Sep 17 00:00:00 2001 From: Amjad amireh Date: Mon, 21 Sep 2020 18:08:39 +0300 Subject: [PATCH 4/6] Contact us --- .../ContactUs/findus/pharmacies_page.dart | 51 +++++++++++++++++-- 1 file changed, 46 insertions(+), 5 deletions(-) diff --git a/lib/pages/ContactUs/findus/pharmacies_page.dart b/lib/pages/ContactUs/findus/pharmacies_page.dart index 21e94897..68e3c8bc 100644 --- a/lib/pages/ContactUs/findus/pharmacies_page.dart +++ b/lib/pages/ContactUs/findus/pharmacies_page.dart @@ -7,6 +7,7 @@ import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import 'package:giffy_dialog/giffy_dialog.dart'; class PharmaciesPage extends StatefulWidget { @override @@ -50,12 +51,52 @@ class _PharmaciesPageState extends State { crossAxisAlignment: CrossAxisAlignment.start, children: [ - Container( - width: 70, - height: 70, - // margin: EdgeInsets.only(right: 15), - child: Image.network(model.FindusPharmaciesModelList[index].projectImageURL.toString())), + GestureDetector( + onTap: (){ + showDialog( + context: context,builder: (_) => AssetGiffyDialog( + title: Text(model.FindusPharmaciesModelList[index].locationName, + style: TextStyle( + fontSize: 22.0, fontWeight: FontWeight.w600), + ),image:Image.network(model.FindusPharmaciesModelList[index].projectImageURL.toString(), fit: BoxFit.cover,), + + // buttonOkText:Text("LOCATION"), + // buttonOkColor: Colors.grey, + buttonCancelText:Text('cancel') , + buttonCancelColor: Colors.grey, + // onOkButtonPressed: () { MapsLauncher.launchCoordinates(double.parse(latitude),double.parse(longitude),projectname);}, + // onCancelButtonPressed:(), + + + + + ) ); + }, + child: Container( + width: 70, + height: 70, + // margin: EdgeInsets.only(right: 15), + child: Image.network(model.FindusPharmaciesModelList[index].projectImageURL.toString())), + ), Container(child: Texts('${model.FindusPharmaciesModelList[index].locationName}')),//model.cOCItemList[index].cOCTitl + IconButton( + icon: Icon(Icons.person_pin_circle_outlined), + tooltip: 'Increase volume by 10', + onPressed: () { + setState(() { + // _volume += 10; + }); + }, + ), + IconButton( + icon: Icon(Icons.phone), + tooltip: 'Increase volume by 10', + onPressed: () { + setState(() { + // _volume += 10; + }); + }, + ), // Texts( // 'Number :${model.FindusHospitalModelList[index].locationName}', // variant: 'overline', From c2cfea736010acb15aaeb21c3b8eb9f6f13b6b23 Mon Sep 17 00:00:00 2001 From: Amjad amireh Date: Tue, 22 Sep 2020 10:41:55 +0300 Subject: [PATCH 5/6] Contact us --- .../ContactUs/findus/hospitrals_page.dart | 146 ++++++----- lib/pages/landing/landing_page.dart | 226 +++++++++--------- 2 files changed, 195 insertions(+), 177 deletions(-) diff --git a/lib/pages/ContactUs/findus/hospitrals_page.dart b/lib/pages/ContactUs/findus/hospitrals_page.dart index 5f26517a..9b1e2f5f 100644 --- a/lib/pages/ContactUs/findus/hospitrals_page.dart +++ b/lib/pages/ContactUs/findus/hospitrals_page.dart @@ -6,7 +6,8 @@ import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; - +import 'package:url_launcher/url_launcher.dart'; +import 'package:maps_launcher/maps_launcher.dart'; class HospitalsPage extends StatefulWidget { @override _HospitalsPageState createState() => _HospitalsPageState(); @@ -19,72 +20,89 @@ class _HospitalsPageState extends State { onModelReady: (model) => model.getFindUsRequestOrders(),//model.getCOC(), builder: (_, model, widget) => AppScaffold( baseViewModel: model, - body: Container( - margin: EdgeInsets.only(top: 8.0,left: 8.0,right: 8.0 ), - padding: EdgeInsets.all(15.0), - child: ListView.builder( - itemCount: model.FindusHospitalModelList.length,//model.cOCItemList.length, - itemBuilder: (context, index) => Container( - decoration: BoxDecoration( - shape: BoxShape.rectangle, - border: Border.all(color: Colors.white, width: 0.5), - borderRadius: BorderRadius.all(Radius.circular(5)), - color: Colors.white, - ), - // margin: EdgeInsets.all(4), - child: Padding( - padding: const EdgeInsets.all(8.0), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - // SizedBox(height: 8,), - Row( - mainAxisAlignment: - MainAxisAlignment.spaceBetween, - children: [ - Expanded( - child: Row( - mainAxisAlignment: - MainAxisAlignment.spaceBetween, - crossAxisAlignment: - CrossAxisAlignment.start, - children: [ - Container( - width: 70, - height: 70, - // margin: EdgeInsets.only(right: 15), - child: Image.network(model.FindusHospitalModelList[index].projectImageURL.toString())), - Container(child: Texts('${model.FindusHospitalModelList[index].locationName}')),//model.cOCItemList[index].cOCTitl - // Texts( - // 'Number :${model.FindusHospitalModelList[index].locationName}', - // variant: 'overline', - // ), - ], + body: SingleChildScrollView( + child: Container( + margin: EdgeInsets.only(left: 15,right: 15,top: 70), + child: Column( + children: [ + ...List.generate(model.FindusHospitalModelList.length, (index) => Container( + decoration: BoxDecoration( + shape: BoxShape.rectangle, + border: Border.all(color: Colors.white, width: 0.5), + borderRadius: BorderRadius.all(Radius.circular(5)), + color: Colors.white, + ), + // margin: EdgeInsets.all(4), + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // SizedBox(height: 8,), + Row( + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + children: [ + Expanded( + child: Row( + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + crossAxisAlignment: + CrossAxisAlignment.start, + children: [ + Container( + width: 70, + height: 70, + // margin: EdgeInsets.only(right: 15), + child: Image.network(model.FindusHospitalModelList[index].projectImageURL.toString())), + Container(child: Texts('${model.FindusHospitalModelList[index].locationName}')),//model.cOCItemList[index].cOCTitl + IconButton( + icon: Icon(Icons.person_pin_circle_outlined), + tooltip: 'Increase volume by 10', + onPressed: () { + setState(() { + MapsLauncher.launchCoordinates(double.parse(model.FindusHospitalModelList[index].latitude),double.parse(model.FindusHospitalModelList[index].longitude),model.FindusHospitalModelList[index].locationName); + // _volume += 10; + }); + }, + ), + IconButton( + icon: Icon(Icons.phone), + tooltip: 'Increase volume by 10', + onPressed: () { + setState(() { + // _volume += 10; + launch("tel://" +model.FindusHospitalModelList[index].phoneNumber); + }); + }, + ), + + // Texts( + // 'Number :${model.FindusHospitalModelList[index].locationName}', + // variant: 'overline', + // ), + ], + ), ), - ), - // Expanded( - // child: Column( - // crossAxisAlignment: - // CrossAxisAlignment.start, - // children: [ - // Texts('${model.FindusHospitalModelList[index].locationName}'), - // Texts( - // '${model.FindusHospitalModelList[index].locationName}', - // variant: 'overline', - // ), - // ], - // ), - // ), - ], - ), - // Texts('${model.FindusHospitalModelList[index].locationName}'), - Divider(height: 4.5,color: Colors.grey[500],) - ], + + ], + ), + // Texts('${model.FindusHospitalModelList[index].locationName}'), + Divider(height: 4.5,color: Colors.grey[500],) + ], + ), ), - ), - )), + )), + + Container(width: double.infinity, + height: 45,color: Colors.red,), + ], + ), + ), ), + ), - );; + ); + } } diff --git a/lib/pages/landing/landing_page.dart b/lib/pages/landing/landing_page.dart index 315a9aa7..ad8ae6a5 100644 --- a/lib/pages/landing/landing_page.dart +++ b/lib/pages/landing/landing_page.dart @@ -120,119 +120,119 @@ class _LandingPageState extends State with WidgetsBindingObserver { }); //_firebase Background message handler - _firebaseMessaging.configure( - onMessage: (Map message) async { - showDialog("onMessage: $message"); - print("onMessage: $message"); - print(message); - print(message['name']); - print(message['appointmentdate']); - - if (Platform.isIOS) { - if (message['is_call'] == "true") { - var route = ModalRoute.of(context); - - if (route != null) { - print(route.settings.name); - } - - Map myMap = new Map.from(message); - print(myMap); - LandingPage.isOpenCallPage = true; - LandingPage.incomingCallData = IncomingCallData.fromJson(myMap); - if (!isPageNavigated) { - isPageNavigated = true; - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => IncomingCall( - incomingCallData: LandingPage.incomingCallData))) - .then((value) { - isPageNavigated = false; - }); - } - } else { - print("Is Call Not Found iOS"); - } - } else { - print("Is Call Not Found iOS"); - } - - if (Platform.isAndroid) { - if (message['data'].containsKey("is_call")) { - var route = ModalRoute.of(context); - - if (route != null) { - print(route.settings.name); - } - - Map myMap = - new Map.from(message['data']); - print(myMap); - LandingPage.isOpenCallPage = true; - LandingPage.incomingCallData = IncomingCallData.fromJson(myMap); - if (!isPageNavigated) { - isPageNavigated = true; - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => IncomingCall( - incomingCallData: LandingPage.incomingCallData))) - .then((value) { - isPageNavigated = false; - }); - } - } else { - print("Is Call Not Found Android"); - } - } else { - print("Is Call Not Found Android"); - } - }, - onBackgroundMessage: Platform.isIOS ? null : myBackgroundMessageHandler, - onLaunch: (Map message) async { - print("onLaunch: $message"); - showDialog("onLaunch: $message"); - }, - onResume: (Map message) async { - print("onResume: $message"); - print(message); - print(message['name']); - print(message['appointmentdate']); - - showDialog("onResume: $message"); - - if (Platform.isIOS) { - if (message['is_call'] == "true") { - var route = ModalRoute.of(context); - - if (route != null) { - print(route.settings.name); - } - - Map myMap = new Map.from(message); - print(myMap); - LandingPage.isOpenCallPage = true; - LandingPage.incomingCallData = IncomingCallData.fromJson(myMap); - if (!isPageNavigated) { - isPageNavigated = true; - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => IncomingCall( - incomingCallData: LandingPage.incomingCallData))) - .then((value) { - isPageNavigated = false; - }); - } - } else { - print("Is Call Not Found iOS"); - } - } else { - print("Is Call Not Found iOS"); - } - }, - ); + // _firebaseMessaging.configure( + // onMessage: (Map message) async { + // showDialog("onMessage: $message"); + // print("onMessage: $message"); + // print(message); + // print(message['name']); + // print(message['appointmentdate']); + // + // if (Platform.isIOS) { + // if (message['is_call'] == "true") { + // var route = ModalRoute.of(context); + // + // if (route != null) { + // print(route.settings.name); + // } + // + // Map myMap = new Map.from(message); + // print(myMap); + // LandingPage.isOpenCallPage = true; + // LandingPage.incomingCallData = IncomingCallData.fromJson(myMap); + // if (!isPageNavigated) { + // isPageNavigated = true; + // Navigator.push( + // context, + // MaterialPageRoute( + // builder: (context) => IncomingCall( + // incomingCallData: LandingPage.incomingCallData))) + // .then((value) { + // isPageNavigated = false; + // }); + // } + // } else { + // print("Is Call Not Found iOS"); + // } + // } else { + // print("Is Call Not Found iOS"); + // } + // + // if (Platform.isAndroid) { + // if (message['data'].containsKey("is_call")) { + // var route = ModalRoute.of(context); + // + // if (route != null) { + // print(route.settings.name); + // } + // + // Map myMap = + // new Map.from(message['data']); + // print(myMap); + // LandingPage.isOpenCallPage = true; + // LandingPage.incomingCallData = IncomingCallData.fromJson(myMap); + // if (!isPageNavigated) { + // isPageNavigated = true; + // Navigator.push( + // context, + // MaterialPageRoute( + // builder: (context) => IncomingCall( + // incomingCallData: LandingPage.incomingCallData))) + // .then((value) { + // isPageNavigated = false; + // }); + // } + // } else { + // print("Is Call Not Found Android"); + // } + // } else { + // print("Is Call Not Found Android"); + // } + // }, + // onBackgroundMessage: Platform.isIOS ? null : myBackgroundMessageHandler, + // onLaunch: (Map message) async { + // print("onLaunch: $message"); + // showDialog("onLaunch: $message"); + // }, + // onResume: (Map message) async { + // print("onResume: $message"); + // print(message); + // print(message['name']); + // print(message['appointmentdate']); + // + // showDialog("onResume: $message"); + // + // if (Platform.isIOS) { + // if (message['is_call'] == "true") { + // var route = ModalRoute.of(context); + // + // if (route != null) { + // print(route.settings.name); + // } + // + // Map myMap = new Map.from(message); + // print(myMap); + // LandingPage.isOpenCallPage = true; + // LandingPage.incomingCallData = IncomingCallData.fromJson(myMap); + // if (!isPageNavigated) { + // isPageNavigated = true; + // Navigator.push( + // context, + // MaterialPageRoute( + // builder: (context) => IncomingCall( + // incomingCallData: LandingPage.incomingCallData))) + // .then((value) { + // isPageNavigated = false; + // }); + // } + // } else { + // print("Is Call Not Found iOS"); + // } + // } else { + // print("Is Call Not Found iOS"); + // } + // }, + // ); } showDialog(String message) { From 6aa6b85f4beb3ef589a4acfe897eab942aeb0654 Mon Sep 17 00:00:00 2001 From: Amjad amireh Date: Tue, 22 Sep 2020 12:18:10 +0300 Subject: [PATCH 6/6] Contact us --- lib/core/service/contactus/finadus_service.dart | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/core/service/contactus/finadus_service.dart b/lib/core/service/contactus/finadus_service.dart index cc73f32e..dae46666 100644 --- a/lib/core/service/contactus/finadus_service.dart +++ b/lib/core/service/contactus/finadus_service.dart @@ -27,8 +27,7 @@ class FindusService extends BaseService { } else { FindusPharmaciesModelList.add(GetHMGLocationsModel.fromJson(vital)); } - // FindusModelList.add( - // GetHMGLocationsModel.fromJson(vital)); + }); }, onFailure: (String error, int statusCode) { hasError = true;