Merge branch 'development_new_design_2.0' into haroon-new-design

merge-update-with-lab-changes
haroon amjad 4 years ago
commit be91844868

@ -1094,8 +1094,8 @@ const Map localizedValues = {
"driveThru": {"en": "Drive-Thru", "ar": "من داخل السيارة"},
"trackDeliveryDriver": {"en": "Track Delivery Driver", "ar": "تتبع السائق"},
"NearestErDesc": {
"en": "\nThis service Displays nearest branch\n among all the branches of All Habib \n medical Group based on your current Location",
"ar": "\nتعرض هذه الخدمة أقرب فرع\n من بين جميع فروع مجموعة \nالحبيب الطبية بناءً على موقعك الحالي."
"en": "This service Displays nearest branch among all the branches of All Habib medical Group based on your current Location",
"ar": "تعرض هذه الخدمة أقرب فرع من بين جميع فروع مجموعة الحبيب الطبية بناءً على موقعك الحالي."
},
"NearestEr": {"en": "Nearest ER", "ar": "اقرب طوارئ"},
"infoCMC": {

@ -1,8 +1,10 @@
import 'package:diplomaticquarterapp/core/model/contactus/get_hmg_locations.dart';
import 'package:diplomaticquarterapp/core/model/er/projectavgerwaitingtime.dart';
import 'package:diplomaticquarterapp/core/service/er/er_service.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/hospital_location.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
@ -25,7 +27,7 @@ class NearestEr extends StatefulWidget {
class _NearestErState extends State<NearestEr> {
List<ProjectAvgERWaitingTime> projectAvgERWaitingTimeModelList = List();
bool isDataLoaded = false;
bool isDataLoaded;
@override
void initState() {
@ -45,47 +47,41 @@ class _NearestErState extends State<NearestEr> {
showNewAppBarTitle: true,
showNewAppBar: true,
appBarTitle: TranslationBase.of(context).NearestEr,
body: isDataLoaded
? Container(
child: ListView(
children: <Widget>[
Text(TranslationBase.of(context).NearestErDesc,
textAlign: TextAlign.center, style: TextStyle(fontSize: 18.0, letterSpacing: 1.0, fontWeight: FontWeight.w900, color: new Color(0xFF60686b))),
Container(
margin: EdgeInsets.fromLTRB(2.0, 10.0, 0.0, 10.0),
child: GridView.count(
crossAxisCount: 2,
childAspectRatio: (itemWidth / itemWidth),
crossAxisSpacing: 10,
mainAxisSpacing: 10,
controller: new ScrollController(keepScrollOffset: false),
body: isDataLoaded != null
? isDataLoaded
? ListView(
padding: EdgeInsets.all(21),
physics: BouncingScrollPhysics(),
children: <Widget>[
Text(
TranslationBase.of(context).NearestErDesc,
style: TextStyle(fontSize: 16, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.64, height: 23 / 16),
),
SizedBox(height: 21),
ListView.separated(
physics: NeverScrollableScrollPhysics(),
shrinkWrap: true,
padding: const EdgeInsets.all(4.0),
children: List.generate(projectAvgERWaitingTimeModelList.length, (index) {
return Container(
child: CardPosition(
waitingTime: projectAvgERWaitingTimeModelList[index].avgTimeInHHMM.toString(),
text: projectAvgERWaitingTimeModelList[index].projectName.toString(),
image: 'assets/images/new-design/find_us_icon.png',
subText: projectAvgERWaitingTimeModelList[index].distanceInKilometers.toString() + " " + TranslationBase.of(context).km,
type: projectAvgERWaitingTimeModelList[index].iD.toString(),
telephone: projectAvgERWaitingTimeModelList[index].phoneNumber.toString(),
networkImage: projectAvgERWaitingTimeModelList[index].projectImageURL.toString(),
latitude: projectAvgERWaitingTimeModelList[index].latitude,
longitude: projectAvgERWaitingTimeModelList[index].longitude,
projectname: projectAvgERWaitingTimeModelList[index].projectName,
cardSize: itemWidth,
),
);
}),
padding: EdgeInsets.zero,
separatorBuilder: (context, index) => SizedBox(height: 14),
itemBuilder: (context, index) {
GetHMGLocationsModel location = GetHMGLocationsModel();
location.locationName = projectAvgERWaitingTimeModelList[index].projectName;
location.cityName = projectAvgERWaitingTimeModelList[index].projectName;
location.projectImageURL = projectAvgERWaitingTimeModelList[index].projectImageURL;
location.phoneNumber = projectAvgERWaitingTimeModelList[index].phoneNumber;
location.latitude = projectAvgERWaitingTimeModelList[index].latitude;
location.longitude = projectAvgERWaitingTimeModelList[index].longitude;
location.distanceInKilometers = projectAvgERWaitingTimeModelList[index].distanceInKilometers;
return HospitalLocation(location, waitingTime: projectAvgERWaitingTimeModelList[index].avgTimeInHHMM.toString());
},
itemCount: projectAvgERWaitingTimeModelList.length,
),
),
],
),
)
: Center(
child: Texts('No Data'),
),
],
)
: Center(
child: Texts('No Data'),
)
: SizedBox(),
);
}

@ -10,9 +10,11 @@ import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart';
import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart';
import 'package:diplomaticquarterapp/widgets/new_design/doctor_header.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/show_zoom_image_dialog.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
@ -78,20 +80,46 @@ class PrescriptionDetailsPage extends StatelessWidget {
children: [
Row(
children: <Widget>[
Container(
decoration: BoxDecoration(
border: Border.all(width: 1.0, color: Color(0xffEBEBEB)),
borderRadius: BorderRadius.all(Radius.circular(30.0)),
),
child: ClipRRect(
borderRadius: BorderRadius.all(Radius.circular(30)),
child: Image.network(
prescriptionReport.imageSRCUrl,
fit: BoxFit.cover,
width: 48,
height: 48,
),
// Container(
// decoration: BoxDecoration(
// border: Border.all(width: 1.0, color: Color(0xffEBEBEB)),
// borderRadius: BorderRadius.all(Radius.circular(30.0)),
// ),
// child: ClipRRect(
// borderRadius: BorderRadius.all(Radius.circular(30)),
// child: Image.network(
// prescriptionReport.imageSRCUrl,
// fit: BoxFit.cover,
// width: 48,
// height: 48,
// ),
// ),
// ),
InkWell(
child: Stack(
alignment: Alignment.center,
children: [
Container(
child: Image.network(
prescriptionReport.imageSRCUrl,
fit: BoxFit.cover,
width: 48,
height: 49,
),
margin: EdgeInsets.zero,
clipBehavior: Clip.antiAlias,
decoration: cardRadius(2000),
),
Container(
child: Icon(Icons.search,size: 18,color: Colors.white,),
padding: EdgeInsets.all(6),
decoration: containerRadius(Colors.black.withOpacity(0.3), 200),
)
],
),
onTap: (){
showZoomImageDialog(context, prescriptionReport.imageSRCUrl);
},
),
SizedBox(width: 12),
Expanded(

@ -14,6 +14,7 @@ import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart';
import 'package:diplomaticquarterapp/widgets/my_rich_text.dart';
import 'package:diplomaticquarterapp/widgets/new_design/doctor_header.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/show_zoom_image_dialog.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
@ -37,7 +38,6 @@ class PrescriptionItemsPage extends StatelessWidget {
appBarTitle: prescriptions.doctorName,
baseViewModel: model,
showNewAppBar: true,
backgroundColor: Color(0xffF8F8F8),
showNewAppBarTitle: true,
body: Column(
children: [
@ -108,20 +108,31 @@ class PrescriptionItemsPage extends StatelessWidget {
mHeight(10),
Row(
children: [
Container(
child: Container(
child: Image.network(
model.prescriptionReportListINP[index].imageSRCUrl,
fit: BoxFit.cover,
width: 60,
height: 60,
),
margin: EdgeInsets.zero,
clipBehavior: Clip.antiAlias,
decoration: cardRadius(2000),
InkWell(
child: Stack(
alignment: Alignment.center,
children: [
Container(
child: Image.network(
model.prescriptionReportListINP[index].imageSRCUrl,
fit: BoxFit.cover,
width: 60,
height: 60,
),
margin: EdgeInsets.zero,
clipBehavior: Clip.antiAlias,
decoration: cardRadius(2000),
),
Container(
child: Icon(Icons.search,size: 18,color: Colors.white,),
padding: EdgeInsets.all(6),
decoration: containerRadius(Colors.black.withOpacity(0.3), 200),
)
],
),
clipBehavior: Clip.antiAlias,
decoration: containerColorRadiusBorderWidth(Colors.white, 200, Colors.grey[200], 1),
onTap: (){
showZoomImageDialog(context, model.prescriptionReportListINP[index].imageSRCUrl,);
},
),
mWidth(12),
Column(
@ -269,16 +280,31 @@ class PrescriptionItemsPage extends StatelessWidget {
Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
child: Image.network(
model.prescriptionReportEnhList[index].imageSRCUrl,
fit: BoxFit.cover,
width: 48,
height: 48,
InkWell(
child: Stack(
alignment: Alignment.center,
children: [
Container(
child: Image.network(
model.prescriptionReportEnhList[index].imageSRCUrl,
fit: BoxFit.cover,
width: 60,
height: 60,
),
margin: EdgeInsets.zero,
clipBehavior: Clip.antiAlias,
decoration: cardRadius(2000),
),
Container(
child: Icon(Icons.search,size: 18,color: Colors.white,),
padding: EdgeInsets.all(6),
decoration: containerRadius(Colors.black.withOpacity(0.3), 200),
)
],
),
margin: EdgeInsets.zero,
clipBehavior: Clip.antiAlias,
decoration: cardRadius(2000),
onTap: (){
showZoomImageDialog(context, model.prescriptionReportEnhList[index].imageSRCUrl,);
},
),
mWidth(12),
Expanded(

@ -1,7 +1,10 @@
import 'package:diplomaticquarterapp/uitl/utils_new.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import '../show_zoom_image_dialog.dart';
/// LargeAvatar
/// [name] the user name
/// [url] the image url
@ -11,16 +14,7 @@ import 'package:flutter/material.dart';
/// [height] the avatar height
/// [onTap] on tap function
class LargeAvatar extends StatelessWidget {
LargeAvatar(
{Key key,
@required this.name,
this.url,
this.disableProfileView: false,
this.radius = 70.0,
this.width = 70,
this.height = 60,
this.onTap})
: super(key: key);
LargeAvatar({Key key, @required this.name, this.url, this.disableProfileView: false, this.radius = 70.0, this.width = 70, this.height = 60, this.onTap}) : super(key: key);
final String name;
final String url;
@ -35,11 +29,22 @@ class LargeAvatar extends StatelessWidget {
return Center(
child: ClipRRect(
borderRadius: BorderRadius.all(Radius.circular(radius)),
child: Image.network(
url.trim(),
fit: BoxFit.fill,
width: width,
height: height,
child: Stack(
alignment: Alignment.center,
children: [
Image.network(
url.trim(),
fit: BoxFit.fill,
width: width,
height: height,
),
if (!disableProfileView)
Container(
child: Icon(Icons.search,size: 18,color: Colors.white,),
padding: EdgeInsets.all(6),
decoration: containerRadius(Colors.black.withOpacity(0.3), 200),
)
],
),
),
);
@ -55,7 +60,12 @@ class LargeAvatar extends StatelessWidget {
@override
Widget build(BuildContext context) {
return InkWell(
onTap: disableProfileView ? null : onTap,
onTap: disableProfileView
? null
: () {
print("ssssss " + url.trim());
showZoomImageDialog(context, url.trim() ?? "");
},
child: Container(
decoration: BoxDecoration(
// gradient: LinearGradient(

@ -351,6 +351,7 @@ class TimelineNewWidget extends StatelessWidget {
)));
},
name: appoitmentAllHistoryResul.doctorNameObj,
disableProfileView: true,
url: appoitmentAllHistoryResul.doctorImageURL,
width: 30,
height: 30,

@ -6,13 +6,15 @@ import 'package:maps_launcher/maps_launcher.dart';
import 'package:provider/provider.dart';
import 'package:url_launcher/url_launcher.dart';
import 'avatar/large_avatar.dart';
import 'my_rich_text.dart';
class HospitalLocation extends StatelessWidget {
final GetHMGLocationsModel location;
final bool showCity;
final String waitingTime;
HospitalLocation(this.location, {Key key, this.showCity = false}) : super(key: key);
HospitalLocation(this.location, {Key key, this.showCity = false, this.waitingTime}) : super(key: key);
@override
Widget build(BuildContext context) {
@ -46,14 +48,12 @@ class HospitalLocation extends StatelessWidget {
Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
ClipRRect(
borderRadius: BorderRadius.circular(30),
child: Image.network(
location?.projectImageURL?.toString() ?? 'https://hmgwebservices.com/Images/Hospitals/15.jpg',
width: 48,
height: 48,
fit: BoxFit.cover,
),
LargeAvatar(
name: "",
url: location?.projectImageURL?.toString() ?? 'https://hmgwebservices.com/Images/Hospitals/15.jpg',
width: 48,
height: 48,
radius: 30,
),
SizedBox(width: 10),
Expanded(
@ -62,6 +62,7 @@ class HospitalLocation extends StatelessWidget {
children: [
if (showCity) MyRichText(TranslationBase.of(context).city + ":", location.cityName?.trim().toString(), projectViewModel.isArabic),
MyRichText(TranslationBase.of(context).distance + ":", location.distanceInKilometers.toString() + " " + TranslationBase.of(context).km_ ?? "", projectViewModel.isArabic),
if (waitingTime != null) MyRichText(TranslationBase.of(context).waitingTime, waitingTime, projectViewModel.isArabic),
],
),
)

@ -0,0 +1,48 @@
import 'package:cached_network_image/cached_network_image.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart';
import 'package:flutter/material.dart';
import 'package:progress_hud_v2/generated/i18n.dart';
showZoomImageDialog(BuildContext context, String url) {
showDialog(
context: context,
builder: (BuildContext context) => Dialog(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(12.0),
), //this right here
child: ShowZoomImage(url),
),
);
}
class ShowZoomImage extends StatelessWidget {
String url;
ShowZoomImage(this.url);
@override
Widget build(BuildContext context) {
return Container(
width: double.infinity,
child: Column(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.end,
crossAxisAlignment: CrossAxisAlignment.end,
children: [
IconButton(
icon: Icon(Icons.close),
onPressed: () {
Navigator.pop(context);
},
),
CachedNetworkImage(
imageUrl: url,
height: MediaQuery.of(context).size.width / 1.4,
width: double.infinity,
),
mHeight(12),
],
),
);
}
}
Loading…
Cancel
Save