Merge branch 'amjad_amireh' into 'master'
Amjad amireh See merge request Cloud_Solution/diplomatic-quarter!43find_us
commit
d7934a66ab
Binary file not shown.
After Width: | Height: | Size: 1.5 KiB |
@ -0,0 +1,104 @@
|
||||
class ProjectAvgERWaitingTime {
|
||||
int iD;
|
||||
int projectID;
|
||||
int avgTimeInMinutes;
|
||||
String avgTimeInHHMM;
|
||||
dynamic distanceInKilometers;
|
||||
String latitude;
|
||||
String longitude;
|
||||
String phoneNumber;
|
||||
String projectImageURL;
|
||||
String projectName;
|
||||
|
||||
ProjectAvgERWaitingTime(
|
||||
{this.iD,
|
||||
this.projectID,
|
||||
this.avgTimeInMinutes,
|
||||
this.avgTimeInHHMM,
|
||||
this.distanceInKilometers,
|
||||
this.latitude,
|
||||
this.longitude,
|
||||
this.phoneNumber,
|
||||
this.projectImageURL,
|
||||
this.projectName});
|
||||
|
||||
ProjectAvgERWaitingTime.fromJson(Map<String, dynamic> json) {
|
||||
iD = json['ID'];
|
||||
projectID = json['ProjectID'];
|
||||
avgTimeInMinutes = json['AvgTimeInMinutes'];
|
||||
avgTimeInHHMM = json['AvgTimeInHHMM'];
|
||||
distanceInKilometers = json['DistanceInKilometers'];
|
||||
latitude = json['Latitude'];
|
||||
longitude = json['Longitude'];
|
||||
phoneNumber = json['PhoneNumber'];
|
||||
projectImageURL = json['ProjectImageURL'];
|
||||
projectName = json['ProjectName'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||
data['ID'] = this.iD;
|
||||
data['ProjectID'] = this.projectID;
|
||||
data['AvgTimeInMinutes'] = this.avgTimeInMinutes;
|
||||
data['AvgTimeInHHMM'] = this.avgTimeInHHMM;
|
||||
data['DistanceInKilometers'] = this.distanceInKilometers;
|
||||
data['Latitude'] = this.latitude;
|
||||
data['Longitude'] = this.longitude;
|
||||
data['PhoneNumber'] = this.phoneNumber;
|
||||
data['ProjectImageURL'] = this.projectImageURL;
|
||||
data['ProjectName'] = this.projectName;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
//class ProjectAvgERWaitingTime {
|
||||
// int iD;
|
||||
// int projectID;
|
||||
// int avgTimeInMinutes;
|
||||
// String avgTimeInHHMM;
|
||||
// String distanceInKilometers;
|
||||
// String latitude;
|
||||
// String longitude;
|
||||
// String phoneNumber;
|
||||
// String projectImageURL;
|
||||
// String projectName;
|
||||
//
|
||||
// ProjectAvgERWaitingTime(
|
||||
// {this.iD,
|
||||
// this.projectID,
|
||||
// this.avgTimeInMinutes,
|
||||
// this.avgTimeInHHMM,
|
||||
// this.distanceInKilometers,
|
||||
// this.latitude,
|
||||
// this.longitude,
|
||||
// this.phoneNumber,
|
||||
// this.projectImageURL,
|
||||
// this.projectName});
|
||||
//
|
||||
// ProjectAvgERWaitingTime.fromJson(Map<String, dynamic> json) {
|
||||
// iD = json['ID'];
|
||||
// projectID = json['ProjectID'];
|
||||
// avgTimeInMinutes = json['AvgTimeInMinutes'];
|
||||
// avgTimeInHHMM = json['AvgTimeInHHMM'];
|
||||
// distanceInKilometers = json['DistanceInKilometers'];
|
||||
// latitude = json['Latitude'];
|
||||
// longitude = json['Longitude'];
|
||||
// phoneNumber = json['PhoneNumber'];
|
||||
// projectImageURL = json['ProjectImageURL'];
|
||||
// projectName = json['ProjectName'];
|
||||
// }
|
||||
//
|
||||
// Map<String, dynamic> toJson() {
|
||||
// final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||
// data['ID'] = this.iD;
|
||||
// data['ProjectID'] = this.projectID;
|
||||
// data['AvgTimeInMinutes'] = this.avgTimeInMinutes;
|
||||
// data['AvgTimeInHHMM'] = this.avgTimeInHHMM;
|
||||
// data['DistanceInKilometers'] = this.distanceInKilometers;
|
||||
// data['Latitude'] = this.latitude;
|
||||
// data['Longitude'] = this.longitude;
|
||||
// data['PhoneNumber'] = this.phoneNumber;
|
||||
// data['ProjectImageURL'] = this.projectImageURL;
|
||||
// data['ProjectName'] = this.projectName;
|
||||
// return data;
|
||||
// }
|
||||
//}
|
@ -0,0 +1,43 @@
|
||||
import 'package:diplomaticquarterapp/config/config.dart';
|
||||
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/er/projectavgerwaitingtime.dart';
|
||||
import '../base_service.dart';
|
||||
|
||||
class ErService extends BaseService {
|
||||
List<ProjectAvgERWaitingTime> projectAvgERWaitingTimeModelList = List();
|
||||
|
||||
Map<String, dynamic> body = Map();
|
||||
String Latitude = "";
|
||||
String Longitude = "";
|
||||
String PhoneNumber = "";
|
||||
|
||||
Future getProjectAvgERWaitingTimeOrders({int id, int projectID}) async {
|
||||
hasError = false;
|
||||
|
||||
if (id != null && projectID != null) {
|
||||
body['ID'] = id;
|
||||
body['ProjectID'] = projectID;
|
||||
}
|
||||
var lat = await sharedPref.getDouble(USER_LAT);
|
||||
var long = await sharedPref.getDouble(USER_LONG);
|
||||
body['Latitude'] = lat ?? 0;
|
||||
body['Longitude'] = long ?? 0;
|
||||
|
||||
await baseAppClient.post(GET_NEAREST_HOSPITAL,
|
||||
onSuccess: (dynamic response, int statusCode) {
|
||||
projectAvgERWaitingTimeModelList.clear();
|
||||
response['List_ProjectAvgERWaitingTime'].forEach((vital) {
|
||||
projectAvgERWaitingTimeModelList
|
||||
.add(ProjectAvgERWaitingTime.fromJson(vital));
|
||||
});
|
||||
projectAvgERWaitingTimeModelList.forEach((element) {
|
||||
Latitude = '${element.latitude}';
|
||||
Longitude = '${element.longitude}';
|
||||
PhoneNumber = '${element.phoneNumber}';
|
||||
});
|
||||
}, onFailure: (String error, int statusCode) {
|
||||
hasError = true;
|
||||
super.error = error;
|
||||
}, body: body);
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/er/projectavgerwaitingtime.dart';
|
||||
|
||||
import 'package:diplomaticquarterapp/core/service/er/er_service.dart';
|
||||
import 'package:diplomaticquarterapp/core/viewModels/base_view_model.dart';
|
||||
import 'package:diplomaticquarterapp/pages/BookAppointment/widgets/BranchView.dart';
|
||||
|
||||
import '../../../locator.dart';
|
||||
|
||||
class NearHospitalViewModel extends BaseViewModel {
|
||||
ErService _erService = locator<ErService>();
|
||||
|
||||
List<ProjectAvgERWaitingTime> get ProjectAvgERWaitingTimeModeList =>
|
||||
_erService.projectAvgERWaitingTimeModelList;
|
||||
|
||||
getProjectAvgERWaitingTimeOrders({int id, int projectID}) async {
|
||||
setState(ViewState.Busy);
|
||||
|
||||
if (id != null && projectID != null) {
|
||||
await _erService.getProjectAvgERWaitingTimeOrders(
|
||||
id: id, projectID: projectID);
|
||||
} else {
|
||||
await _erService.getProjectAvgERWaitingTimeOrders();
|
||||
}
|
||||
if (_erService.hasError) {
|
||||
error = _erService.error;
|
||||
setState(ViewState.Error);
|
||||
} else
|
||||
setState(ViewState.Idle);
|
||||
}
|
||||
}
|
@ -0,0 +1,78 @@
|
||||
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 ErOptions extends StatefulWidget {
|
||||
final bool isAppbar;
|
||||
|
||||
const ErOptions({Key key, this.isAppbar}) : super(key: key);
|
||||
|
||||
|
||||
@override
|
||||
_ErOptionsState createState() => _ErOptionsState();
|
||||
}
|
||||
|
||||
class _ErOptionsState extends State<ErOptions> {
|
||||
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: widget.isAppbar,
|
||||
appBarTitle: TranslationBase.of(context).bookAppo,
|
||||
body: Container(
|
||||
margin: EdgeInsets.fromLTRB(10.0, 20.0, 10.0, 10.0),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
// Text(TranslationBase.of(context).searchBy,
|
||||
// style: TextStyle(
|
||||
// fontSize: 24.0,
|
||||
// letterSpacing: 1.0,
|
||||
// fontWeight: FontWeight.bold,
|
||||
// color: new Color(0xFF60686b))),
|
||||
Container(
|
||||
margin: EdgeInsets.fromLTRB(0.0, 10.0, 0.0, 10.0),
|
||||
child: Row(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
Expanded(
|
||||
child: CardCommonEr(
|
||||
image: 'assets/images/new-design/AM.PNG',
|
||||
text: TranslationBase.of(context).ambulancerequest,
|
||||
subText: TranslationBase.of(context).requestA,
|
||||
type: 0,
|
||||
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
child: CardCommonEr(
|
||||
image: 'assets/images/new-design/emergency_icon.png',
|
||||
text: TranslationBase.of(context).nearester,
|
||||
subText: TranslationBase.of(context).locationa,
|
||||
type: 1),
|
||||
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,348 @@
|
||||
import 'package:diplomaticquarterapp/core/viewModels/er/near_hospital_view_model.dart';
|
||||
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
|
||||
import 'package:diplomaticquarterapp/uitl/location_util.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import '../../uitl/translations_delegate_base.dart';
|
||||
import 'package:diplomaticquarterapp/pages/ErService/widgets/card_common.dart';
|
||||
import 'widgets/card_position.dart';
|
||||
|
||||
class NearestEr extends StatelessWidget {
|
||||
static const String _url = "assets/images/";
|
||||
|
||||
int appointmentNo;
|
||||
int projectID;
|
||||
|
||||
NearestEr({this.appointmentNo, this.projectID});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return BaseView<NearHospitalViewModel>(
|
||||
onModelReady: appointmentNo != null && projectID != null
|
||||
? (model) => model.getProjectAvgERWaitingTimeOrders(
|
||||
id: appointmentNo, projectID: projectID)
|
||||
: (model) => model.getProjectAvgERWaitingTimeOrders(),
|
||||
builder: (_, mode, widget) => AppScaffold(
|
||||
isShowAppBar: true,
|
||||
appBarTitle: 'Nearest ER',
|
||||
baseViewModel: mode,
|
||||
body: mode.ProjectAvgERWaitingTimeModeList.length > 0
|
||||
? Container(
|
||||
child: ListView(
|
||||
children: <Widget>[
|
||||
Text(
|
||||
"\nThis service Displays nearest branch\n among all the branches of All Habib \n medical Group based on your current Location",
|
||||
textAlign: TextAlign.center,
|
||||
style: TextStyle(
|
||||
fontSize: 18.0,
|
||||
letterSpacing: 1.0,
|
||||
fontWeight: FontWeight.w900,
|
||||
color: new Color(0xFF60686b))),
|
||||
Container(
|
||||
margin: EdgeInsets.fromLTRB(0.0, 10.0, 0.0, 10.0),
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: <Widget>[
|
||||
Row(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: <Widget>[
|
||||
Expanded(
|
||||
child: CardPosition(
|
||||
text: mode
|
||||
.ProjectAvgERWaitingTimeModeList[0]
|
||||
.projectName
|
||||
.toString(),
|
||||
image:
|
||||
'assets/images/new-design/find_us_icon.png',
|
||||
subText: mode
|
||||
.ProjectAvgERWaitingTimeModeList[0]
|
||||
.distanceInKilometers
|
||||
.toString(),
|
||||
type: mode
|
||||
.ProjectAvgERWaitingTimeModeList[0].iD
|
||||
.toString(),
|
||||
telephone: mode
|
||||
.ProjectAvgERWaitingTimeModeList[0]
|
||||
.phoneNumber
|
||||
.toString(),
|
||||
networkImage: mode
|
||||
.ProjectAvgERWaitingTimeModeList[0]
|
||||
.projectImageURL
|
||||
.toString(),
|
||||
latitude: mode
|
||||
.ProjectAvgERWaitingTimeModeList[0]
|
||||
.latitude,
|
||||
longitude: mode
|
||||
.ProjectAvgERWaitingTimeModeList[0]
|
||||
.longitude,
|
||||
projectname: mode
|
||||
.ProjectAvgERWaitingTimeModeList[0]
|
||||
.projectName,
|
||||
),
|
||||
flex: 0,
|
||||
),
|
||||
Expanded(
|
||||
child: CardPosition(
|
||||
text: mode
|
||||
.ProjectAvgERWaitingTimeModeList[1]
|
||||
.projectName
|
||||
.toString(),
|
||||
image:
|
||||
'assets/images/new-design/find_us_icon.png',
|
||||
subText: mode
|
||||
.ProjectAvgERWaitingTimeModeList[1]
|
||||
.distanceInKilometers
|
||||
.toString(),
|
||||
type: mode
|
||||
.ProjectAvgERWaitingTimeModeList[1].iD
|
||||
.toString(),
|
||||
telephone: mode
|
||||
.ProjectAvgERWaitingTimeModeList[1]
|
||||
.phoneNumber
|
||||
.toString(),
|
||||
networkImage: mode
|
||||
.ProjectAvgERWaitingTimeModeList[1]
|
||||
.projectImageURL
|
||||
.toString(),
|
||||
latitude: mode
|
||||
.ProjectAvgERWaitingTimeModeList[1]
|
||||
.latitude,
|
||||
longitude: mode
|
||||
.ProjectAvgERWaitingTimeModeList[1]
|
||||
.longitude,
|
||||
projectname: mode
|
||||
.ProjectAvgERWaitingTimeModeList[1]
|
||||
.projectName,
|
||||
),
|
||||
flex: 0,
|
||||
)
|
||||
],
|
||||
),
|
||||
Row(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: <Widget>[
|
||||
Expanded(
|
||||
child: CardPosition(
|
||||
// mode
|
||||
// .vitalSignResModelList[
|
||||
// mode.vitalSignResModelList.length - 1]
|
||||
// .heightCm
|
||||
// .toString()
|
||||
text: mode
|
||||
.ProjectAvgERWaitingTimeModeList[2]
|
||||
.projectName
|
||||
.toString(),
|
||||
image:
|
||||
'assets/images/new-design/find_us_icon.png',
|
||||
|
||||
subText: mode
|
||||
.ProjectAvgERWaitingTimeModeList[2]
|
||||
.distanceInKilometers
|
||||
.toString(),
|
||||
type: mode
|
||||
.ProjectAvgERWaitingTimeModeList[2].iD
|
||||
.toString(),
|
||||
telephone: mode
|
||||
.ProjectAvgERWaitingTimeModeList[2]
|
||||
.phoneNumber
|
||||
.toString(),
|
||||
networkImage: mode
|
||||
.ProjectAvgERWaitingTimeModeList[2]
|
||||
.projectImageURL
|
||||
.toString(),
|
||||
latitude: mode
|
||||
.ProjectAvgERWaitingTimeModeList[2]
|
||||
.latitude,
|
||||
longitude: mode
|
||||
.ProjectAvgERWaitingTimeModeList[2]
|
||||
.longitude,
|
||||
projectname: mode
|
||||
.ProjectAvgERWaitingTimeModeList[2]
|
||||
.projectName,
|
||||
),
|
||||
flex: 0,
|
||||
),
|
||||
Expanded(
|
||||
child: CardPosition(
|
||||
// mode
|
||||
// .vitalSignResModelList[
|
||||
// mode.vitalSignResModelList.length - 1]
|
||||
// .heightCm
|
||||
// .toString()
|
||||
text: mode
|
||||
.ProjectAvgERWaitingTimeModeList[3]
|
||||
.projectName
|
||||
.toString(),
|
||||
image:
|
||||
'assets/images/new-design/find_us_icon.png',
|
||||
|
||||
subText: mode
|
||||
.ProjectAvgERWaitingTimeModeList[3]
|
||||
.distanceInKilometers
|
||||
.toString(),
|
||||
type: mode
|
||||
.ProjectAvgERWaitingTimeModeList[3].iD
|
||||
.toString(),
|
||||
telephone: mode
|
||||
.ProjectAvgERWaitingTimeModeList[3]
|
||||
.phoneNumber
|
||||
.toString(),
|
||||
networkImage: mode
|
||||
.ProjectAvgERWaitingTimeModeList[3]
|
||||
.projectImageURL
|
||||
.toString(),
|
||||
latitude: mode
|
||||
.ProjectAvgERWaitingTimeModeList[3]
|
||||
.latitude,
|
||||
longitude: mode
|
||||
.ProjectAvgERWaitingTimeModeList[3]
|
||||
.longitude,
|
||||
projectname: mode
|
||||
.ProjectAvgERWaitingTimeModeList[3]
|
||||
.projectName,
|
||||
),
|
||||
flex: 0,
|
||||
)
|
||||
],
|
||||
),
|
||||
Row(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: <Widget>[
|
||||
Expanded(
|
||||
child: CardPosition(
|
||||
// mode
|
||||
// .vitalSignResModelList[
|
||||
// mode.vitalSignResModelList.length - 1]
|
||||
// .heightCm
|
||||
// .toString()
|
||||
text: mode
|
||||
.ProjectAvgERWaitingTimeModeList[4]
|
||||
.projectName
|
||||
.toString(),
|
||||
image:
|
||||
'assets/images/new-design/find_us_icon.png',
|
||||
|
||||
subText: mode
|
||||
.ProjectAvgERWaitingTimeModeList[4]
|
||||
.distanceInKilometers
|
||||
.toString(),
|
||||
type: mode
|
||||
.ProjectAvgERWaitingTimeModeList[4].iD
|
||||
.toString(),
|
||||
telephone: mode
|
||||
.ProjectAvgERWaitingTimeModeList[4]
|
||||
.phoneNumber
|
||||
.toString(),
|
||||
networkImage: mode
|
||||
.ProjectAvgERWaitingTimeModeList[4]
|
||||
.projectImageURL
|
||||
.toString(),
|
||||
latitude: mode
|
||||
.ProjectAvgERWaitingTimeModeList[4]
|
||||
.latitude,
|
||||
longitude: mode
|
||||
.ProjectAvgERWaitingTimeModeList[4]
|
||||
.longitude,
|
||||
projectname: mode
|
||||
.ProjectAvgERWaitingTimeModeList[4]
|
||||
.projectName,
|
||||
),
|
||||
flex: 0,
|
||||
),
|
||||
Expanded(
|
||||
child: CardPosition(
|
||||
text: mode
|
||||
.ProjectAvgERWaitingTimeModeList[5]
|
||||
.projectName
|
||||
.toString(),
|
||||
image:
|
||||
'assets/images/new-design/find_us_icon.png',
|
||||
subText: mode
|
||||
.ProjectAvgERWaitingTimeModeList[5]
|
||||
.distanceInKilometers
|
||||
.toString(),
|
||||
type: mode
|
||||
.ProjectAvgERWaitingTimeModeList[5].iD
|
||||
.toString(),
|
||||
telephone: mode
|
||||
.ProjectAvgERWaitingTimeModeList[5]
|
||||
.phoneNumber
|
||||
.toString(),
|
||||
networkImage: mode
|
||||
.ProjectAvgERWaitingTimeModeList[5]
|
||||
.projectImageURL
|
||||
.toString(),
|
||||
latitude: mode
|
||||
.ProjectAvgERWaitingTimeModeList[5]
|
||||
.latitude,
|
||||
longitude: mode
|
||||
.ProjectAvgERWaitingTimeModeList[5]
|
||||
.longitude,
|
||||
projectname: mode
|
||||
.ProjectAvgERWaitingTimeModeList[5]
|
||||
.projectName,
|
||||
),
|
||||
flex: 0,
|
||||
)
|
||||
],
|
||||
),
|
||||
Row(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: <Widget>[
|
||||
Expanded(
|
||||
child: CardPosition(
|
||||
text: mode
|
||||
.ProjectAvgERWaitingTimeModeList[6]
|
||||
.projectName
|
||||
.toString(),
|
||||
image:
|
||||
'assets/images/new-design/find_us_icon.png',
|
||||
subText: mode
|
||||
.ProjectAvgERWaitingTimeModeList[6]
|
||||
.distanceInKilometers
|
||||
.toString(),
|
||||
type: mode
|
||||
.ProjectAvgERWaitingTimeModeList[6].iD
|
||||
.toString(),
|
||||
telephone: mode
|
||||
.ProjectAvgERWaitingTimeModeList[6]
|
||||
.phoneNumber
|
||||
.toString(),
|
||||
networkImage: mode
|
||||
.ProjectAvgERWaitingTimeModeList[6]
|
||||
.projectImageURL
|
||||
.toString(),
|
||||
latitude: mode
|
||||
.ProjectAvgERWaitingTimeModeList[6]
|
||||
.latitude,
|
||||
longitude: mode
|
||||
.ProjectAvgERWaitingTimeModeList[6]
|
||||
.longitude,
|
||||
projectname: mode
|
||||
.ProjectAvgERWaitingTimeModeList[6]
|
||||
.projectName,
|
||||
),
|
||||
flex: 0,
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
)),
|
||||
],
|
||||
),
|
||||
)
|
||||
: Center(
|
||||
child: Texts('No Data'),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,89 @@
|
||||
//import 'package:diplomaticquarterapp/pages/BookAppointment/Search.dart';
|
||||
import 'package:diplomaticquarterapp/pages/BookAppointment/Search.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import '../NearestEr.dart';
|
||||
|
||||
class CardCommonEr extends StatelessWidget {
|
||||
final image;
|
||||
final text;
|
||||
final subText;
|
||||
final type;
|
||||
const CardCommonEr(
|
||||
{@required this.image,
|
||||
@required this.text,
|
||||
@required this.subText,
|
||||
@required this.type});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return GestureDetector(
|
||||
onTap: () {
|
||||
navigateToSearch(context, this.type);
|
||||
print("=============this.type============="+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: <Widget>[
|
||||
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)
|
||||
{print("========Ambalunce=========");}
|
||||
else{
|
||||
print("=========Nearest ER===========");
|
||||
|
||||
// Navigator.push(
|
||||
// context,
|
||||
//
|
||||
// FadePage(
|
||||
// // page: NearestEr(isAppbar: true,)));
|
||||
// page: NearestEr()));
|
||||
Navigator.push(
|
||||
context,
|
||||
FadePage(
|
||||
page: NearestEr()));
|
||||
|
||||
}
|
||||
|
||||
|
||||
// Navigator.push(
|
||||
// context,
|
||||
// MaterialPageRoute(
|
||||
// builder: (context) => Search(
|
||||
// type: type,
|
||||
// )));
|
||||
}
|
||||
}
|
@ -0,0 +1,126 @@
|
||||
//import 'package:diplomaticquarterapp/pages/BookAppointment/Search.dart';
|
||||
import 'package:diplomaticquarterapp/config/size_config.dart';
|
||||
import 'package:diplomaticquarterapp/pages/BookAppointment/Search.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:giffy_dialog/giffy_dialog.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
import 'package:maps_launcher/maps_launcher.dart';
|
||||
|
||||
|
||||
import '../NearestEr.dart';
|
||||
|
||||
class CardPosition extends StatelessWidget {
|
||||
final image;
|
||||
final text;
|
||||
final subText;
|
||||
final type;
|
||||
final telephone;
|
||||
final networkImage;
|
||||
final latitude;
|
||||
final longitude;
|
||||
final projectname;
|
||||
const CardPosition(
|
||||
{
|
||||
@required this.image,
|
||||
@required this.text,
|
||||
@required this.subText,
|
||||
@required this.type,
|
||||
@required this.telephone,
|
||||
@required this.networkImage ,
|
||||
@required this.latitude,
|
||||
@required this.longitude,
|
||||
@required this.projectname ,
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return GestureDetector(
|
||||
onTap: () {
|
||||
navigateToSearch(context, this.type,this.telephone,this.networkImage,this.latitude,this.longitude,this.projectname);
|
||||
|
||||
},
|
||||
child: Container(
|
||||
width:190,
|
||||
margin: EdgeInsets.fromLTRB(7.0, 7.0, 7.0, 7.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.center,
|
||||
children: <Widget>[
|
||||
Container(
|
||||
margin: EdgeInsets.fromLTRB(10.0, 10.0, 10.0, 0.0),
|
||||
child: Text(this.text,
|
||||
overflow: TextOverflow.clip,
|
||||
style: TextStyle(
|
||||
color: Colors.black,
|
||||
letterSpacing: 1.0,
|
||||
fontSize: 2 * SizeConfig.textMultiplier)),
|
||||
),
|
||||
Container(
|
||||
alignment: Alignment.center,
|
||||
margin: EdgeInsets.fromLTRB(0.0, 0.0, 10.0, 8.0),
|
||||
child: Image.asset(this.image, width: 60.0, height: 60.0),
|
||||
),
|
||||
Container(
|
||||
margin: EdgeInsets.fromLTRB(10.0, 0.0, 10.0, 0.0),
|
||||
child: Text(this.subText,
|
||||
overflow: TextOverflow.clip,
|
||||
style: TextStyle(
|
||||
color: Color(0xFFc5272d), letterSpacing: 1.0, fontSize: 15.0)),
|
||||
),
|
||||
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Future navigateToSearch(context, type,telephone,networkImage,latitude,longitude,projectname) async {
|
||||
|
||||
//===Switch case===
|
||||
print("================"+type);
|
||||
print("================"+telephone);
|
||||
print("================"+networkImage);
|
||||
|
||||
showDialog(
|
||||
context: context,builder: (_) => AssetGiffyDialog(
|
||||
title: Text(projectname,
|
||||
style: TextStyle(
|
||||
fontSize: 22.0, fontWeight: FontWeight.w600),
|
||||
),image:Image.network(networkImage, fit: BoxFit.cover,),
|
||||
|
||||
buttonOkText:Text("LOCATION"),
|
||||
buttonOkColor: Colors.grey,
|
||||
buttonCancelText:Text('CAll') ,
|
||||
buttonCancelColor: Colors.grey,
|
||||
onOkButtonPressed: () { MapsLauncher.launchCoordinates(double.parse(latitude),double.parse(longitude),projectname);},
|
||||
onCancelButtonPressed :() {launch("tel://" +telephone);}
|
||||
|
||||
// double.parse(
|
||||
// _medicineProvider.pharmaciesList[index]["Latitude"]),
|
||||
// double.parse(
|
||||
// _medicineProvider.pharmaciesList[index]["Longitude"]),
|
||||
// _medicineProvider.pharmaciesList[index]
|
||||
// ["LocationDescription"]);
|
||||
//launch("tel://" +telephone);
|
||||
//================
|
||||
// MapsLauncher.launchCoordinates(
|
||||
// double.parse(
|
||||
// _medicineProvider.pharmaciesList[index]["Latitude"]),
|
||||
// double.parse(
|
||||
// _medicineProvider.pharmaciesList[index]["Longitude"]),
|
||||
// _medicineProvider.pharmaciesList[index]
|
||||
// ["LocationDescription"]);
|
||||
//=================
|
||||
|
||||
|
||||
|
||||
) );
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue