add radiology open image

merge-requests/362/head
Elham Rababah 4 years ago
parent 234cc57a2a
commit 7ebf36f98f

@ -748,4 +748,6 @@ const Map<String, Map<String, String>> localizedValues = {
},
'appointmentDate': {'en': "Appointment Date", 'ar': "تاريخ الموعد"},
'arrived_p': {'en': "Arrived", 'ar': "وصل"},
"open-rad": {"en": "Open Image", "ar": "فتح صور الاشعة"},
};

@ -1,37 +1,71 @@
import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/shared/app_buttons_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:url_launcher/url_launcher.dart';
class RadiologyReportScreen extends StatelessWidget {
final String reportData;
final String url;
RadiologyReportScreen({Key key, this.reportData});
RadiologyReportScreen({Key key, this.reportData, this.url});
@override
Widget build(BuildContext context) {
return AppScaffold(
appBarTitle: TranslationBase.of(context).radiologyReport,
body: Container(
padding: EdgeInsets.all(10),
margin: EdgeInsets.all(10),
decoration: BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(10)),
color: Colors.white,
border: Border(
bottom: BorderSide(color: Colors.grey, width: 0.5),
top: BorderSide(color: Colors.grey, width: 0.5),
left: BorderSide(color: Colors.grey, width: 0.5),
right: BorderSide(color: Colors.grey, width: 0.5),
appBarTitle: TranslationBase.of(context).radiologyReport,
body: SingleChildScrollView(
child: Container(
padding: EdgeInsets.all(10),
margin: EdgeInsets.all(10),
decoration: BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(10)),
color: Colors.white,
border: Border(
bottom: BorderSide(color: Colors.grey, width: 0.5),
top: BorderSide(color: Colors.grey, width: 0.5),
left: BorderSide(color: Colors.grey, width: 0.5),
right: BorderSide(color: Colors.grey, width: 0.5),
),
),
child: AppText(
reportData,
fontSize: 2.5 * SizeConfig.textMultiplier,
),
),
),
child: AppText(
reportData,
fontSize: 2.5 * SizeConfig.textMultiplier,
),
),
);
bottomSheet: url == null
? Container(
height: MediaQuery.of(context).size.height * 0,
)
: Container(
width: double.infinity,
height: MediaQuery.of(context).size.height * 0.1,
child: Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
FractionallySizedBox(
widthFactor: 0.9,
child: Container(
child: Wrap(
alignment: WrapAlignment.center,
children: <Widget>[
// TODO change it secondary button and add loading
AppButton(
title: TranslationBase.of(context).openRad,
onPressed: () async {
launch(url);
},
),
],
),
),
),
],
),
));
}
}

@ -102,6 +102,8 @@ class _RadiologyScreenState extends State<RadiologyScreen> {
reportData: model
.patientRadiologyList[index]
.reportData,
url: model
.patientRadiologyList[index].imageURL,
)),
);
},

@ -1136,6 +1136,8 @@ class TranslationBase {
String get appointmentDate =>
localizedValues['appointmentDate'][locale.languageCode];
String get arrivedP => localizedValues['arrived_p'][locale.languageCode];
String get openRad => localizedValues['open-rad'][locale.languageCode];
}
class TranslationBaseDelegate extends LocalizationsDelegate<TranslationBase> {

@ -17,13 +17,13 @@ class AppScaffold extends StatelessWidget {
final bool isLoading;
final bool isShowAppBar;
final BaseViewModel baseViewModel;
final Widget bottomSheet;
AppScaffold(
{this.appBarTitle = '',
this.body,
this.isLoading = false,
this.isShowAppBar = true,
this.baseViewModel});
this.baseViewModel, this.bottomSheet});
@override
Widget build(BuildContext context) {
@ -59,6 +59,8 @@ class AppScaffold extends StatelessWidget {
],
)
: null,
bottomSheet: bottomSheet,
body: projectProvider.isInternetConnection
? baseViewModel != null
? NetworkBaseView(

Loading…
Cancel
Save