Contact us

find_us
Amjad amireh 4 years ago
parent de5633d58b
commit 24693f2992

@ -64,7 +64,9 @@ const GET_FINDUS_REQUEST=
'Services/Lists.svc/REST/Get_HMG_Locations'; 'Services/Lists.svc/REST/Get_HMG_Locations';
///LiveChat
const GET_LIVECHAT_REQUEST=
'Services/Patients.svc/REST/GetPatientICProjects';
///Reports ///Reports

@ -0,0 +1,54 @@
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
class GetPatientICProjectsModel {
int id;
String projectName;
String projectNameN;
String value;
dynamic languageId;
DateTime createdOn;
String createdBy;
dynamic editedOn;
dynamic editedBy;
bool isActive;
GetPatientICProjectsModel(
{this.id,
this.projectName,
this.projectNameN,
this.value,
this.languageId,
this.createdOn,
this.createdBy,
this.editedOn,
this.editedBy,
this.isActive});
GetPatientICProjectsModel.fromJson(Map<String, dynamic> json) {
id = json['id'];
projectName = json['ProjectName'];
projectNameN = json['ProjectNameN'];
value = json['Value'];
languageId = json['LanguageId'];
createdOn = DateUtil.convertStringToDate(json['CreatedOn']);
createdBy = json['CreatedBy'];
editedOn = json['EditedOn'];
editedBy = json['EditedBy'];
isActive = json['IsActive'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['id'] = this.id;
data['ProjectName'] = this.projectName;
data['ProjectNameN'] = this.projectNameN;
data['Value'] = this.value;
data['LanguageId'] = this.languageId;
data['CreatedOn'] = this.createdOn;
data['CreatedBy'] = this.createdBy;
data['EditedOn'] = this.editedOn;
data['EditedBy'] = this.editedBy;
data['IsActive'] = this.isActive;
return data;
}
}

@ -4,8 +4,7 @@ import 'package:diplomaticquarterapp/core/model/contactus/get_hmg_locations.dart
import '../base_service.dart'; import '../base_service.dart';
class FindusService extends BaseService { class FindusService extends BaseService {
//List<PatientER_RRT_GetAllTransportationMethodListModel> AmModelList = List();
//Map<String, dynamic> body = Map();
List<GetHMGLocationsModel> FindusModelList = List(); List<GetHMGLocationsModel> FindusModelList = List();
List<GetHMGLocationsModel> FindusHospitalModelList = List(); List<GetHMGLocationsModel> FindusHospitalModelList = List();

@ -0,0 +1,39 @@
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 'package:diplomaticquarterapp/core/model/contactus/get_patientI_cprojects.dart';
import '../base_service.dart';
class LiveChatService extends BaseService{
List<GetPatientICProjectsModel> LivechatModelList=List();
Map<String, dynamic> body = Map();
Future getAllLiveChatOrders() async {
hasError = false;
body['List_PatientICProjects'] =false;
await baseAppClient.post(GET_LIVECHAT_REQUEST,
onSuccess: (dynamic response, int statusCode) {
LivechatModelList.clear();
response['List_PatientICProjects'].forEach((vital) {
LivechatModelList.add(GetPatientICProjectsModel.fromJson(vital));
});
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: body);
}
}

@ -0,0 +1,33 @@
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/model/contactus/get_patientI_cprojects.dart';
import 'package:diplomaticquarterapp/core/service/contactus/livechat_service.dart';
import '../base_view_model.dart';
import '../../../locator.dart';
class LiveChatViewModel extends BaseViewModel{
LiveChatService _liveChatService =locator<LiveChatService>();
List<GetPatientICProjectsModel> get LiveChatModelList=>
_liveChatService.LivechatModelList;
getLiveChatRequestOrders() async {
setState(ViewState.Busy);
await _liveChatService.getAllLiveChatOrders();
if (_liveChatService.hasError) {
error = _liveChatService.error;
setState(ViewState.Error);
} else
setState(ViewState.Idle);
}
}

@ -5,6 +5,7 @@ import 'package:get_it/get_it.dart';
import 'core/service/appointment_rate_service.dart'; import 'core/service/appointment_rate_service.dart';
import 'core/service/contactus/finadus_service.dart'; import 'core/service/contactus/finadus_service.dart';
import 'core/service/contactus/livechat_service.dart';
import 'core/service/dashboard_service.dart'; import 'core/service/dashboard_service.dart';
import 'core/service/er/am_service.dart'; import 'core/service/er/am_service.dart';
import 'core/service/er/er_service.dart'; import 'core/service/er/er_service.dart';
@ -21,6 +22,7 @@ import 'core/service/medical/reports_monthly_service.dart';
import 'core/service/medical/vital_sign_service.dart'; import 'core/service/medical/vital_sign_service.dart';
import 'core/viewModels/appointment_rate_view_model.dart'; import 'core/viewModels/appointment_rate_view_model.dart';
import 'core/viewModels/contactus/findus_view_model.dart'; import 'core/viewModels/contactus/findus_view_model.dart';
import 'core/viewModels/contactus/livechat_view_model.dart';
import 'core/viewModels/er/am_request_view_model.dart'; import 'core/viewModels/er/am_request_view_model.dart';
import 'core/viewModels/er/near_hospital_view_model.dart'; import 'core/viewModels/er/near_hospital_view_model.dart';
import 'core/viewModels/feedback/feedback_view_model.dart'; import 'core/viewModels/feedback/feedback_view_model.dart';
@ -73,6 +75,7 @@ void setupLocator() {
locator.registerLazySingleton(() => PatientSickLeaveService()); locator.registerLazySingleton(() => PatientSickLeaveService());
locator.registerLazySingleton(() => MyBalanceService()); locator.registerLazySingleton(() => MyBalanceService());
locator.registerLazySingleton(() => FindusService()); locator.registerLazySingleton(() => FindusService());
locator.registerLazySingleton(() => LiveChatService());
/// View Model /// View Model
locator.registerFactory(() => HospitalViewModel()); locator.registerFactory(() => HospitalViewModel());
@ -96,5 +99,6 @@ void setupLocator() {
locator.registerFactory(() => PatientSickLeaveViewMode()); locator.registerFactory(() => PatientSickLeaveViewMode());
locator.registerFactory(() => MyBalanceViewModel()); locator.registerFactory(() => MyBalanceViewModel());
locator.registerFactory(() => FindusViewModel()); locator.registerFactory(() => FindusViewModel());
locator.registerFactory(() => LiveChatViewModel());
} }

@ -1,4 +1,5 @@
import 'package:diplomaticquarterapp/core/viewModels/contactus/findus_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/contactus/findus_view_model.dart';
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/viewModels/contactus/livechat_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/contactus/livechat_view_model.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart'; import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/widgets/buttons/button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
@ -6,9 +7,9 @@ import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:giffy_dialog/giffy_dialog.dart';
import 'package:url_launcher/url_launcher.dart'; import 'package:url_launcher/url_launcher.dart';
import 'package:maps_launcher/maps_launcher.dart';
@ -16,29 +17,20 @@ class HospitalsLiveChatPage extends StatefulWidget {
@override @override
_HospitalsLiveChatPageState createState() => _HospitalsLiveChatPageState(); _HospitalsLiveChatPageState createState() => _HospitalsLiveChatPageState();
} }
//bool viewObject = true;
class _HospitalsLiveChatPageState extends State<HospitalsLiveChatPage> { class _HospitalsLiveChatPageState extends State<HospitalsLiveChatPage> {
int tappedIndex; int tappedIndex;
String chat;
@override @override
void initState() void initState()
{ {
super.initState(); super.initState();
tappedIndex=0; tappedIndex=-1;
chat="";
} }
// changeStyle(){
//
// setState(() {
// //viewObject = false ;
// });
// // print(viewObject);
// }
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@ -48,10 +40,26 @@ int tappedIndex;
baseViewModel: model, baseViewModel: model,
body: SingleChildScrollView( body: SingleChildScrollView(
child: Container( child: Container(
margin: EdgeInsets.only(left: 15,right: 15,top: 70), margin: EdgeInsets.only(left: 15,right: 15),
child: Column( child: Column(
children: [ children: [
...List.generate(model.LiveChatModelList.length, (index) => Container(//FindusHospitalModelList.length SizedBox(height: 20,),
Container(
width: double.infinity,
height: 200,
decoration: BoxDecoration(
image: DecorationImage(
image: ExactAssetImage(
'assets/images/dashboard_top_bg.png'),
fit: BoxFit.cover),
),
child: Texts('You can now talk directly to the appointments department by chat or request a call back',color: Colors.white,textAlign: TextAlign.center,),
),
///////////
...List.generate(model.LiveChatModelList.length, (index) =>
Container(//FindusHospitalModelList.length
margin: EdgeInsets.only(left: 20, right: 20, bottom: 20),
decoration: BoxDecoration( decoration: BoxDecoration(
shape: BoxShape.rectangle, shape: BoxShape.rectangle,
border: Border.all(color: Colors.white, width: 0.5), border: Border.all(color: Colors.white, width: 0.5),
@ -60,8 +68,10 @@ int tappedIndex;
), ),
child: Padding( child: Padding(
padding: const EdgeInsets.all(8.0), padding: const EdgeInsets.all(8.0),
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[ children: <Widget>[
@ -70,12 +80,16 @@ int tappedIndex;
print(model.LiveChatModelList[index].value); print(model.LiveChatModelList[index].value);
print(model.user.patientID); print(model.user.patientID);
print(model.user.firstName); print(model.user.firstName);
print(model.user.phoneOffice);
//changeStyle(); //changeStyle();
setState(() { setState(() {
//viewObject = false ;
tappedIndex=index; tappedIndex=index;
chat="http://chat.dshmg.com:7788/hmgchatapp/hmgchattest/Index.aspx?Name=${model.user.firstName}&PatientID=${model.user.patientID}&MobileNo=${model.user.mobileNumber}&Language=en&WorkGroup=${model.LiveChatModelList[index].value}";
}); });
// launch("http://chat.dshmg.com:7788/hmgchatapp/hmgchattest/Index.aspx?Name=TAMER&PatientID=1231755&MobileNo=537503378&Language=en&WorkGroup=Dubai_Eng_Chat"); // launch("http://chat.dshmg.com:7788/hmgchatapp/hmgchattest/Index.aspx?Name=TAMER&PatientID=1231755&MobileNo=537503378&Language=en&WorkGroup=Dubai_Eng_Chat");
// print("http://chat.dshmg.com:7788/hmgchatapp/hmgchattest/Index.aspx?Name=${model.user.firstName}&PatientID=${model.user.patientID}&MobileNo=${model.user.mobileNumber}&Language=en&WorkGroup=${model.LiveChatModelList[index].value}");
}, },
child: Row( child: Row(
@ -83,53 +97,29 @@ int tappedIndex;
MainAxisAlignment.end, MainAxisAlignment.end,
children: <Widget>[ children: <Widget>[
Expanded( Expanded(
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.spaceAround, mainAxisAlignment: MainAxisAlignment.spaceAround,
crossAxisAlignment: crossAxisAlignment:
CrossAxisAlignment.center, CrossAxisAlignment.center,
children: <Widget>[ children: <Widget>[
// InkWell(
// onTap:(){
// // showDialog(
// // context: context,builder: (_) => AssetGiffyDialog(
// // title: Text(model.FindusHospitalModelList[index].locationName,
// // style: TextStyle(
// // fontSize: 22.0, fontWeight: FontWeight.w600),
// // ),image:Image.network(model.FindusHospitalModelList[index].projectImageURL.toString(), fit: BoxFit.cover,),
// // buttonCancelText:Text('cancel') ,
// // buttonCancelColor: Colors.grey,
// // onlyCancelButton: true,
// //
// // ) );
// },
// child: Container(
// width: 70,
// height: 70,
// child: Image.network(model.FindusHospitalModelList[index].projectImageURL.toString())),
// ),
Expanded( Expanded(
flex: 4, flex: 4,
child: Container( child: Container(
margin: EdgeInsets.only(left: 5,right: 5), margin: EdgeInsets.only(left: 5,right: 5),
child: Texts('${model.LiveChatModelList[index].projectName}',textAlign: TextAlign.center,))),//model.cOCItemList[index].cOCTitl child: Texts('${model.LiveChatModelList[index].projectName}',color:tappedIndex==index ? Colors.white:Colors.black,textAlign: TextAlign.center,))),//model.cOCItemList[index].cOCTitl
Expanded( Expanded(
flex: 1, flex: 1,
child: Row( child: Row(
children: [ children: [
// IconButton(
// icon: Icon(Icons.person_pin_circle_outlined,color: Colors.red,),
// 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( IconButton(
icon: Icon(Icons.arrow_forward_rounded,color: Colors.black,), icon: Icon(Icons.arrow_forward_rounded,color: tappedIndex==index ? Colors.white:Colors.black,),
tooltip: 'Increase volume by 10', tooltip: '',
onPressed: () { onPressed: () {
setState(() { setState(() {
// _volume += 10; // _volume += 10;
@ -139,6 +129,7 @@ int tappedIndex;
), ),
], ],
), ),
), ),
@ -151,8 +142,7 @@ int tappedIndex;
), ),
) )
// Texts('${model.FindusHospitalModelList[index].locationName}'),
//Divider(height: 4.5,color: Colors.grey[500],)
], ],
@ -162,64 +152,30 @@ int tappedIndex;
), ),
) )
), ),
SizedBox(height: 15,), SizedBox(height: 100,),
Container(width: double.infinity,
height: 100,color:Colors.white,
child: Row(
mainAxisSize:MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
IconButton(
icon: new Image.asset('assets/images/new-design/youtube.png'),
iconSize: 70,
tooltip: 'Youtube',
onPressed: () {
setState(() {
launch("https://www.youtube.com/c/DrsulaimanAlhabibHospitals");
});
},
),
IconButton(
icon: new Image.asset('assets/images/new-design/linkedin.png'),
tooltip: 'LinkedIn',
iconSize: 70,
onPressed: () {
setState(() {
launch("https://www.youtube.com/c/DrsulaimanAlhabibHospitals");
});
},
),
IconButton(
icon: new Image.asset('assets/images/new-design/twitter.png'),
tooltip: 'Twitter',
iconSize: 70,
onPressed: () {
setState(() {
launch("https://twitter.com/HMG");
});
},
),
IconButton(
icon: new Image.asset('assets/images/new-design/facebook.png'),
tooltip: 'facebook',
iconSize: 70,
onPressed: () {
setState(() {
launch("https://www.facebook.com/DrSulaimanAlHabib?ref=tn_tnmn");
});
},
),
],
),
),
], ],
),
),
),
bottomSheet: Container(
height: MediaQuery.of(context).size.height * 0.13,
width: double.infinity,
padding: EdgeInsets.all(8.0),
child: Center(
child: Container(
height: MediaQuery.of(context).size.height * 0.1,
width: MediaQuery.of(context).size.width * 0.8,
child: Button(
label: 'ٍStart',
loading: model.state == ViewState.BusyLocal,
onTap: () {
print("chat="+chat);
launch(chat);
},
),
), ),
), ),
), ),

@ -0,0 +1,121 @@
import 'dart:ui';
import 'package:diplomaticquarterapp/pages/ContactUs/LiveChat/pharmaciesLivechat_page.dart';
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';
import 'hospitalsLivechat_page.dart';
class LiveChatPage extends StatefulWidget {
@override
_LiveChatPageState createState() => _LiveChatPageState();
}
class _LiveChatPageState extends State<LiveChatPage> 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: <Widget>[
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: <Widget>[
Expanded(
child: TabBarView(
physics: BouncingScrollPhysics(),
controller: _tabController,
children: <Widget>[
HospitalsLiveChatPage(),//SendFeedbackPage(),
PhamaciesLiveChatPage()
//StatusFeedbackPage()
],
),
)
],
),
),
);
}
}

@ -0,0 +1,90 @@
import 'package:diplomaticquarterapp/core/viewModels/contactus/findus_view_model.dart';
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/viewModels/contactus/livechat_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';
import 'package:url_launcher/url_launcher.dart';
class PhamaciesLiveChatPage extends StatefulWidget {
@override
_PhamaciesLiveChatPageState createState() => _PhamaciesLiveChatPageState();
}
class _PhamaciesLiveChatPageState extends State<PhamaciesLiveChatPage> {
int tappedIndex;
String chat;
@override
void initState()
{
super.initState();
tappedIndex=-1;
chat="";
}
@override
Widget build(BuildContext context) {
return BaseView<LiveChatViewModel>(
onModelReady: (model) => model.getLiveChatRequestOrders(),
builder: (_, model, widget) => AppScaffold(
baseViewModel: model,
body: SingleChildScrollView(
child: Container(
margin: EdgeInsets.only(left: 15,right: 15),
child: Column(
children: [
SizedBox(height: 20,),
Container(
width: double.infinity,
height: 200,
decoration: BoxDecoration(
image: DecorationImage(
image: ExactAssetImage(
''),
fit: BoxFit.cover),
),
child: Texts('You can now talk directly to the pharmacist by chat or request a call back',color: Colors.black,textAlign: TextAlign.center,),
),
///////////
SizedBox(height: 100,),
],
),
),
),
bottomSheet: Container(
height: MediaQuery.of(context).size.height * 0.13,
width: double.infinity,
padding: EdgeInsets.all(8.0),
child: Center(
child: Container(
height: MediaQuery.of(context).size.height * 0.1,
width: MediaQuery.of(context).size.width * 0.8,
child: Button(
label: 'ٍStart',
loading: model.state == ViewState.BusyLocal,
onTap: () {
print("chat="+chat);
chat="http://chat.dshmg.com:7788/EPharmacyChat/EIndex.aspx?CustomerID=undefined&Name=${model.user.firstName}&MobileNo=${model.user.mobileNumber}&Language=1";
launch(chat);
},
),
),
),
),
),
);
}
}

@ -6,6 +6,7 @@ import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:giffy_dialog/giffy_dialog.dart';
import 'package:url_launcher/url_launcher.dart'; import 'package:url_launcher/url_launcher.dart';
import 'package:maps_launcher/maps_launcher.dart'; import 'package:maps_launcher/maps_launcher.dart';
class HospitalsPage extends StatefulWidget { class HospitalsPage extends StatefulWidget {
@ -32,55 +33,76 @@ class _HospitalsPageState extends State<HospitalsPage> {
borderRadius: BorderRadius.all(Radius.circular(5)), borderRadius: BorderRadius.all(Radius.circular(5)),
color: Colors.white, color: Colors.white,
), ),
// margin: EdgeInsets.all(4),
child: Padding( child: Padding(
padding: const EdgeInsets.all(8.0), padding: const EdgeInsets.all(8.0),
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[ children: <Widget>[
// SizedBox(height: 8,),
Row( Row(
mainAxisAlignment: mainAxisAlignment:
MainAxisAlignment.spaceBetween, MainAxisAlignment.spaceBetween,
children: <Widget>[ children: <Widget>[
Expanded( Expanded(
child: Row( child: Row(
mainAxisAlignment: mainAxisAlignment: MainAxisAlignment.spaceBetween,
MainAxisAlignment.spaceBetween,
crossAxisAlignment: crossAxisAlignment:
CrossAxisAlignment.start, CrossAxisAlignment.center,
children: <Widget>[ children: <Widget>[
Container( InkWell(
width: 70, onTap:(){
height: 70, showDialog(
// margin: EdgeInsets.only(right: 15), context: context,builder: (_) => AssetGiffyDialog(
child: Image.network(model.FindusHospitalModelList[index].projectImageURL.toString())), title: Text(model.FindusHospitalModelList[index].locationName,
Container(child: Texts('${model.FindusHospitalModelList[index].locationName}')),//model.cOCItemList[index].cOCTitl style: TextStyle(
IconButton( fontSize: 22.0, fontWeight: FontWeight.w600),
icon: Icon(Icons.person_pin_circle_outlined), ),image:Image.network(model.FindusHospitalModelList[index].projectImageURL.toString(), fit: BoxFit.cover,),
tooltip: 'Increase volume by 10', buttonCancelText:Text('cancel') ,
onPressed: () { buttonCancelColor: Colors.grey,
setState(() { onlyCancelButton: true,
MapsLauncher.launchCoordinates(double.parse(model.FindusHospitalModelList[index].latitude),double.parse(model.FindusHospitalModelList[index].longitude),model.FindusHospitalModelList[index].locationName);
// _volume += 10; ) );
});
}, },
child: Container(
width: 70,
height: 70,
child: Image.network(model.FindusHospitalModelList[index].projectImageURL.toString())),
), ),
IconButton( Expanded(
icon: Icon(Icons.phone), flex: 4,
tooltip: 'Increase volume by 10', child: Container(
onPressed: () { margin: EdgeInsets.only(left: 5,right: 5),
setState(() { child: Texts('${model.FindusHospitalModelList[index].locationName}',textAlign: TextAlign.center,))),//model.cOCItemList[index].cOCTitl
// _volume += 10; Expanded(
launch("tel://" +model.FindusHospitalModelList[index].phoneNumber); flex: 2,
}); child: Row(
}, children: [
IconButton(
icon: Icon(Icons.person_pin_circle_outlined,color: Colors.red,),
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,color: Colors.red,),
tooltip: 'Increase volume by 10',
onPressed: () {
setState(() {
// _volume += 10;
launch("tel://" +model.FindusHospitalModelList[index].phoneNumber);
});
},
),
],
),
), ),
// Texts(
// 'Number :${model.FindusHospitalModelList[index].locationName}',
// variant: 'overline',
// ),
], ],
), ),
), ),
@ -93,9 +115,63 @@ class _HospitalsPageState extends State<HospitalsPage> {
), ),
), ),
)), )),
SizedBox(height: 8,),
Container(width: double.infinity, Container(width: double.infinity,
height: 45,color: Colors.red,), height: 100,color: Colors.white,
child: Row(
mainAxisSize:MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
IconButton(
icon: new Image.asset('assets/images/new-design/youtube.png'),
iconSize: 70,
tooltip: 'Youtube',
onPressed: () {
setState(() {
launch("https://www.youtube.com/c/DrsulaimanAlhabibHospitals");
});
},
),
IconButton(
icon: new Image.asset('assets/images/new-design/linkedin.png'),
tooltip: 'LinkedIn',
iconSize: 70,
onPressed: () {
setState(() {
launch("https://www.youtube.com/c/DrsulaimanAlhabibHospitals");
});
},
),
IconButton(
icon: new Image.asset('assets/images/new-design/twitter.png'),
tooltip: 'Twitter',
iconSize: 70,
onPressed: () {
setState(() {
launch("https://twitter.com/HMG");
});
},
),
IconButton(
icon: new Image.asset('assets/images/new-design/facebook.png'),
tooltip: 'facebook',
iconSize: 70,
onPressed: () {
setState(() {
launch("https://www.facebook.com/DrSulaimanAlHabib?ref=tn_tnmn");
});
},
),
],
),
),
], ],
), ),
), ),

@ -1,4 +1,3 @@
import 'package:diplomaticquarterapp/core/enum/viewstate.dart'; import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/viewModels/contactus/findus_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/contactus/findus_view_model.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart'; import 'package:diplomaticquarterapp/pages/base/base_view.dart';
@ -8,6 +7,8 @@ import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:giffy_dialog/giffy_dialog.dart'; import 'package:giffy_dialog/giffy_dialog.dart';
import 'package:maps_launcher/maps_launcher.dart';
import 'package:url_launcher/url_launcher.dart';
class PharmaciesPage extends StatefulWidget { class PharmaciesPage extends StatefulWidget {
@override @override
@ -18,116 +19,218 @@ class _PharmaciesPageState extends State<PharmaciesPage> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return BaseView<FindusViewModel>( return BaseView<FindusViewModel>(
onModelReady: (model) => model.getFindUsRequestOrders(),//model.getCOC(), onModelReady: (model) => model.getFindUsRequestOrders(), //model.getCOC(),
builder: (_, model, widget) => AppScaffold( builder: (_, model, widget) => AppScaffold(
baseViewModel: model, baseViewModel: model,
body: Container( body: SingleChildScrollView(
margin: EdgeInsets.only(top: 8.0,left: 8.0,right: 8.0 ), child: Container(
padding: EdgeInsets.all(15.0), margin: EdgeInsets.only(left: 15, right: 15, top: 70),
child: ListView.builder( child: Column(
itemCount: model.FindusPharmaciesModelList.length,//model.cOCItemList.length, children: [
itemBuilder: (context, index) => Container( ...List.generate(
decoration: BoxDecoration( model.FindusPharmaciesModelList.length,
shape: BoxShape.rectangle, (index) => Container(
border: Border.all(color: Colors.white, width: 0.5), decoration: BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(5)), shape: BoxShape.rectangle,
color: Colors.white, border: Border.all(color: Colors.white, width: 0.5),
), borderRadius: BorderRadius.all(Radius.circular(5)),
// margin: EdgeInsets.all(4), color: Colors.white,
child: Padding( ),
padding: const EdgeInsets.all(8.0), child: Padding(
child: Column( padding: const EdgeInsets.all(8.0),
crossAxisAlignment: CrossAxisAlignment.start, child: Column(
children: <Widget>[ crossAxisAlignment: CrossAxisAlignment.start,
// SizedBox(height: 8,),
Row(
mainAxisAlignment:
MainAxisAlignment.spaceBetween,
children: <Widget>[
Expanded(
child: Row(
mainAxisAlignment:
MainAxisAlignment.spaceBetween,
crossAxisAlignment:
CrossAxisAlignment.start,
children: <Widget>[ children: <Widget>[
GestureDetector( Row(
onTap: (){ mainAxisAlignment:
showDialog( MainAxisAlignment.spaceBetween,
context: context,builder: (_) => AssetGiffyDialog( children: <Widget>[
title: Text(model.FindusPharmaciesModelList[index].locationName, Expanded(
style: TextStyle( child: Row(
fontSize: 22.0, fontWeight: FontWeight.w600), mainAxisAlignment:
),image:Image.network(model.FindusPharmaciesModelList[index].projectImageURL.toString(), fit: BoxFit.cover,), MainAxisAlignment.spaceBetween,
crossAxisAlignment:
// buttonOkText:Text("LOCATION"), CrossAxisAlignment.center,
// buttonOkColor: Colors.grey, children: <Widget>[
buttonCancelText:Text('cancel') , InkWell(
buttonCancelColor: Colors.grey, onTap:(){
// onOkButtonPressed: () { MapsLauncher.launchCoordinates(double.parse(latitude),double.parse(longitude),projectname);}, showDialog(
// onCancelButtonPressed:(), 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,),
buttonCancelText:Text('cancel') ,
// buttonCancelText:Text(model.user.projectID) ,
buttonCancelColor: Colors.grey,
onlyCancelButton: true,
) );
},
child: Container(
) ); width: 70,
}, height: 70,
child: Container( child: Image.network(model
width: 70, .FindusPharmaciesModelList[
height: 70, index]
// margin: EdgeInsets.only(right: 15), .projectImageURL
child: Image.network(model.FindusPharmaciesModelList[index].projectImageURL.toString())), .toString())),
), ),
Container(child: Texts('${model.FindusPharmaciesModelList[index].locationName}')),//model.cOCItemList[index].cOCTitl Expanded(
IconButton( flex: 4,
icon: Icon(Icons.person_pin_circle_outlined), child: Container(
tooltip: 'Increase volume by 10', margin: EdgeInsets.only(
onPressed: () { left: 5, right: 5),
setState(() { child: Column(
// _volume += 10; crossAxisAlignment: CrossAxisAlignment.start,
}); children: [
}, Texts(
'${model.FindusPharmaciesModelList[index].locationName}',
textAlign: TextAlign.start,
),
SizedBox(height: 4,),
Texts(
'${model.FindusPharmaciesModelList[index].cityName}',
textAlign: TextAlign.center,
),
],
),
),
),
//model.cOCItemList[index].cOCTitl
Expanded(
flex: 2,
child: Row(
children: [
IconButton(
icon: Icon(
Icons
.person_pin_circle_outlined,
color: Colors.red,
),
tooltip:
'Increase volume by 10',
onPressed: () {
setState(() {
MapsLauncher.launchCoordinates(
double.parse(model
.FindusPharmaciesModelList[
index]
.latitude),
double.parse(model
.FindusPharmaciesModelList[
index]
.longitude),
model
.FindusPharmaciesModelList[
index]
.locationName);
// _volume += 10;
});
},
),
IconButton(
icon: Icon(
Icons.phone,
color: Colors.red,
),
tooltip:
'Increase volume by 10',
onPressed: () {
setState(() {
// _volume += 10;
launch("tel://" +
model
.FindusPharmaciesModelList[
index]
.phoneNumber);
});
},
),
],
),
),
],
),
),
],
), ),
IconButton(
icon: Icon(Icons.phone), Divider(
tooltip: 'Increase volume by 10', height: 4.5,
onPressed: () { color: Colors.grey[500],
setState(() { )
// _volume += 10;
});
},
),
// Texts(
// 'Number :${model.FindusHospitalModelList[index].locationName}',
// variant: 'overline',
// ),
], ],
), ),
), ),
// Expanded( )),
// child: Column( SizedBox(
// crossAxisAlignment: height: 8,
// CrossAxisAlignment.start, ),
// children: <Widget>[ Container(
// Texts('${model.FindusHospitalModelList[index].locationName}'), width: double.infinity,
// Texts( height: 100,
// '${model.FindusHospitalModelList[index].locationName}', color: Colors.white,
// variant: 'overline', child: Row(
// ), mainAxisSize: MainAxisSize.max,
// ], mainAxisAlignment: MainAxisAlignment.spaceAround,
// ), children: [
// ), IconButton(
], icon: new Image.asset(
'assets/images/new-design/youtube.png'),
iconSize: 70,
tooltip: 'Youtube',
onPressed: () {
setState(() {
// _volume += 10;
launch(
"https://www.youtube.com/c/DrsulaimanAlhabibHospitals");
});
},
),
IconButton(
icon: new Image.asset(
'assets/images/new-design/linkedin.png'),
tooltip: 'LinkedIn',
iconSize: 70,
onPressed: () {
setState(() {
launch(
"https://www.youtube.com/c/DrsulaimanAlhabibHospitals");
});
},
),
IconButton(
icon: new Image.asset(
'assets/images/new-design/twitter.png'),
tooltip: 'Twitter',
iconSize: 70,
onPressed: () {
setState(() {
launch("https://twitter.com/HMG");
});
},
),
IconButton(
icon: new Image.asset(
'assets/images/new-design/facebook.png'),
tooltip: 'facebook',
iconSize: 70,
onPressed: () {
setState(() {
launch(
"https://www.facebook.com/DrSulaimanAlHabib?ref=tn_tnmn");
});
},
), ),
// Texts('${model.FindusHospitalModelList[index].locationName}'),
Divider(height: 4.5,color: Colors.grey[500],)
], ],
), ),
), ),
)), ],
),
),
), ),
), ),
); );
} }
} }

@ -1,3 +1,4 @@
import 'package:diplomaticquarterapp/pages/ContactUs/LiveChat/livechat_page.dart';
import 'package:diplomaticquarterapp/pages/ContactUs/findus/findus_page.dart'; import 'package:diplomaticquarterapp/pages/ContactUs/findus/findus_page.dart';
import 'package:diplomaticquarterapp/pages/feedback/feedback_home_page.dart'; import 'package:diplomaticquarterapp/pages/feedback/feedback_home_page.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
@ -56,16 +57,14 @@ class CardCommonContact extends StatelessWidget {
} }
Future navigateToSearch(context, type) async { Future navigateToSearch(context, type) async {
//===Switch case===
if (type == 0) { if (type == 0) {
Navigator.push(context, FadePage(page: FindUsPage())); Navigator.push(context, FadePage(page: FindUsPage()));
} else if (type == 1) { } else if (type == 1) {
Navigator.push(context, FadePage(page: FeedbackHomePage())); Navigator.push(context, FadePage(page: FeedbackHomePage()));
} else if (type == 2) { } else if (type == 2) {
// Navigator.push( //LiveChatPage
// context, Navigator.push(context, FadePage(page: LiveChatPage()));
// FadePage(
// page: FeedbackHomePage()));
} }
} }

Loading…
Cancel
Save