Merge branch 'diplomatic-quarter-live' of https://gitlab.com/Cloud_Solution/diplomatic-quarter into diplomatic-quarter-haroon

# Conflicts:
#	lib/config/localized_values.dart
#	lib/pages/medical/radiology/radiology_details_page.dart
#	lib/uitl/translations_delegate_base.dart
dq_and_master
haroon amjad 4 years ago
commit d14e7e5223

@ -1179,5 +1179,21 @@ const Map localizedValues = {
"age": {
"en": "Age",
"ar": "العمر"
}
},
"active-insurence": {
"en": "Active",
"ar": "نشطة"
},
"not-active": {
"en": "Not Active",
"ar": "غير نشط"
},
"card-detail": {
"en": "Insurance Details",
"ar": "منافعك التامينية"
},
"Dr": {
"en": "Dr. ",
"ar": "الدكتور."
},
};

@ -157,9 +157,13 @@ class BaseAppClient {
onFailure('Please Check The Internet Connection', -1);
}
} catch (e) {
print(e);
onFailure('Failed to connect to the server', -1);
// onFailure(e.toString(), -1);
//print(e);
//
if (e is String) {
onFailure(e.toString(), -1);
} else {
onFailure('Failed to connect to the server', -1);
}
}
}

@ -20,18 +20,23 @@ import '../base/base_view.dart';
class InsuranceCard extends StatefulWidget {
int appointmentNo;
InsuranceCard({this.appointmentNo});
@override
_InsuranceCardState createState() => _InsuranceCardState();
}
class _InsuranceCardState extends State<InsuranceCard> {
InsuranceCardService _insuranceCardService = locator<InsuranceCardService>();
List<ImagesInfo> imagesInfo = List();
@override
Widget build(BuildContext context) {
imagesInfo.add(ImagesInfo(imageEn: 'https://hmgwebservices.com/Images/MobileApp/imges-info/insurance-card/en/0.png',imageAr: 'https://hmgwebservices.com/Images/MobileApp/imges-info/insurance-card/ar/0.png'));
imagesInfo.add(ImagesInfo(
imageEn:
'https://hmgwebservices.com/Images/MobileApp/imges-info/insurance-card/en/0.png',
imageAr:
'https://hmgwebservices.com/Images/MobileApp/imges-info/insurance-card/ar/0.png'));
return BaseView<InsuranceViewModel>(
onModelReady: (model) => model.getInsurance(),
@ -79,16 +84,16 @@ class _InsuranceCardState extends State<InsuranceCard> {
padding: EdgeInsets.all(14),
width: double.infinity,
decoration: BoxDecoration(
shape: BoxShape.rectangle,
border: Border.all(color: Colors.grey,width: 0.2),
borderRadius: BorderRadius.all(Radius.circular(2)),
boxShadow: [
BoxShadow(
color: Colors.white70,
),
]
),
shape: BoxShape.rectangle,
border: Border.all(
color: Colors.grey, width: 0.2),
borderRadius:
BorderRadius.all(Radius.circular(2)),
boxShadow: [
BoxShadow(
color: Colors.white70,
),
]),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
@ -103,28 +108,34 @@ class _InsuranceCardState extends State<InsuranceCard> {
thickness: 0.5,
),
Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
crossAxisAlignment:
CrossAxisAlignment.stretch,
children: <Widget>[
Text(
TranslationBase.of(context).category +
model.insurance[index].subCategoryDesc,
model.insurance[index]
.subCategoryDesc,
style: TextStyle(fontSize: 18.5),
),
Text(
TranslationBase.of(context).expirationDate +
convertDateFormat(
model.insurance[index].cardValidTo),
TranslationBase.of(context)
.expirationDate +
convertDateFormat(model
.insurance[index].cardValidTo),
style: TextStyle(fontSize: 18.5),
),
Text(
TranslationBase.of(context).patientCard +
model.insurance[index].patientCardID,
TranslationBase.of(context)
.patientCard +
model
.insurance[index].patientCardID,
style: TextStyle(fontSize: 18.5),
),
Text(
TranslationBase.of(context).policyNumber +
model
.insurance[index].insurancePolicyNumber,
TranslationBase.of(context)
.policyNumber +
model.insurance[index]
.insurancePolicyNumber,
style: TextStyle(fontSize: 18.5),
),
],
@ -132,16 +143,18 @@ class _InsuranceCardState extends State<InsuranceCard> {
Column(
children: <Widget>[
model.insurance[index].isActive == true
? Text('Active',
style: TextStyle(
? Texts(
TranslationBase.of(context)
.activeInsurence,
color: Colors.green,
fontWeight: FontWeight.w900,
fontSize: 17.9))
: Text('Not Active',
style: TextStyle(
fontSize: 17.9)
: Texts(
TranslationBase.of(context)
.notActive,
color: Colors.red,
fontWeight: FontWeight.w900,
fontSize: 17.9))
fontSize: 17.9)
],
),
SizedBox(
@ -151,7 +164,9 @@ class _InsuranceCardState extends State<InsuranceCard> {
Container(
color: Colors.transparent,
child: SecondaryButton(
onTap:()=>{ getDetails(model.insurance[index])},
onTap: () => {
getDetails(model.insurance[index])
},
label: TranslationBase.of(context).seeDetails,
textColor: Colors.white,
),
@ -160,8 +175,6 @@ class _InsuranceCardState extends State<InsuranceCard> {
],
),
),
],
),
],
@ -191,13 +204,13 @@ class _InsuranceCardState extends State<InsuranceCard> {
return newDate.toString();
}
getDetails(data){
getDetails(data) {
GifLoaderDialogUtils.showMyDialog(context);
_insuranceCardService.getInsuranceDetails(data).then((value) => {
GifLoaderDialogUtils.hideDialog(context),
Navigator.push(context,
FadePage(page: InsuranceCardDetails(data:value[0]['CheckList'])))
});
GifLoaderDialogUtils.hideDialog(context),
Navigator.push(context,
FadePage(page: InsuranceCardDetails(data: value[0]['CheckList'])))
});
}
}

@ -1,35 +1,29 @@
import 'package:diplomaticquarterapp/config/size_config.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter_html/flutter_html.dart';
import 'package:html/dom.dart' as dom;
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class InsuranceCardDetails extends StatefulWidget {
class InsuranceCardDetails extends StatelessWidget {
final String data;
InsuranceCardDetails({this.data});
@override
_InsuranceCardInsuranceCardDetailsState createState() => _InsuranceCardInsuranceCardDetailsState();
}
//TODO fix it
class _InsuranceCardInsuranceCardDetailsState extends State<InsuranceCardDetails> {
@override
Widget build(BuildContext context) {
return
AppScaffold(
isShowAppBar: true,
body: Center(
child: SingleChildScrollView(
return AppScaffold(
isShowAppBar: true,
appBarTitle: TranslationBase.of(context).cardDetail,
body: Center(
child: SingleChildScrollView(
child: Html(
data:widget.data,
)
)
data: data,
),
),
),
);
}
}

@ -27,7 +27,7 @@ import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:diplomaticquarterapp/widgets/text/app_texts_widget.dart';
import '../../locator.dart';
class HomePage extends StatefulWidget {
@ -49,8 +49,8 @@ class _HomePageState extends State<HomePage> {
// });
// super.initState();
// }
AuthenticatedUserObject authenticatedUserObject = locator<AuthenticatedUserObject>();
AuthenticatedUserObject authenticatedUserObject =
locator<AuthenticatedUserObject>();
@override
Widget build(BuildContext context) {
@ -93,9 +93,10 @@ class _HomePageState extends State<HomePage> {
)
],
),
),
Container(width: double.infinity, height:projectViewModel.isArabic ? 120:110),
Container(
width: double.infinity,
height: projectViewModel.isArabic ? 120 : 110),
],
),
Positioned(
@ -110,7 +111,7 @@ class _HomePageState extends State<HomePage> {
Orientation.landscape
? 0.02
: 0.03),
child: (!model.isLogin )
child: (!model.isLogin)
? Container(
width: double.infinity,
height: 160,
@ -179,7 +180,6 @@ class _HomePageState extends State<HomePage> {
color: Theme.of(context)
.primaryColor,
fontSize: 14,
),
),
),
@ -307,7 +307,9 @@ class _HomePageState extends State<HomePage> {
bold: true,
),
Texts(
TranslationBase.of(context).height,
TranslationBase.of(
context)
.height,
color: Colors.white,
fontSize: 10,
),
@ -339,7 +341,9 @@ class _HomePageState extends State<HomePage> {
bold: true,
),
Texts(
TranslationBase.of(context).weight,
TranslationBase.of(
context)
.weight,
color: Colors.white,
fontSize: 10,
)
@ -353,8 +357,10 @@ class _HomePageState extends State<HomePage> {
),
Expanded(
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment:
MainAxisAlignment.start,
crossAxisAlignment:
CrossAxisAlignment.center,
children: <Widget>[
Image.asset(
'assets/images/blood-drop.png',
@ -368,7 +374,9 @@ class _HomePageState extends State<HomePage> {
color: Colors.white,
),
Texts(
TranslationBase.of(context).bloodType,
TranslationBase.of(
context)
.bloodType,
color: Colors.white,
fontSize: 10,
)
@ -407,28 +415,35 @@ class _HomePageState extends State<HomePage> {
padding: const EdgeInsets.all(15.0),
child: Column(
children: <Widget>[
SizedBox(height: 15,),
SizedBox(
height: 15,
),
Container(
width: 60,
decoration: BoxDecoration(
color: Colors.white,
shape: BoxShape.rectangle,
borderRadius: BorderRadius.circular(12)
),
child: Center(child: Image.asset('assets/images/vital_sign_icon.png',
borderRadius:
BorderRadius.circular(12)),
child: Center(
child: Image.asset(
'assets/images/vital_sign_icon.png',
width: 80,
height: 50,
fit: BoxFit.contain,)),
fit: BoxFit.contain,
)),
),
SizedBox(
height: 20,
),
SizedBox(height: 20,),
Texts(
TranslationBase.of(context)
.vitalSigns,
TranslationBase.of(context).vitalSigns,
textAlign: TextAlign.center,
color: Colors.white,
bold: true,
fontSize: projectViewModel.isArabic? SizeConfig.textMultiplier * 1.5 :SizeConfig.textMultiplier * 1.7,
fontSize: projectViewModel.isArabic
? SizeConfig.textMultiplier * 1.5
: SizeConfig.textMultiplier * 1.7,
)
],
),
@ -456,26 +471,35 @@ class _HomePageState extends State<HomePage> {
padding: const EdgeInsets.all(15.0),
child: Column(
children: <Widget>[
SizedBox(height: 15,),
SizedBox(
height: 15,
),
Container(
width: 50,
decoration: BoxDecoration(
color: Colors.white,
shape: BoxShape.rectangle,
borderRadius: BorderRadius.circular(12)
),
child: Center(child: Image.asset('assets/images/search_medicine_icon.png',
borderRadius:
BorderRadius.circular(12)),
child: Center(
child: Image.asset(
'assets/images/search_medicine_icon.png',
width: 50,
height: 50,
fit: BoxFit.contain,)),
fit: BoxFit.contain,
)),
),
SizedBox(
height: 20,
),
SizedBox(height: 20,),
Texts(
TranslationBase.of(context).searchMedicine,
textAlign: TextAlign.center,
color: Colors.white,
bold: true,
fontSize: projectViewModel.isArabic? SizeConfig.textMultiplier * 1.5 :SizeConfig.textMultiplier * 1.7,
fontSize: projectViewModel.isArabic
? SizeConfig.textMultiplier * 1.5
: SizeConfig.textMultiplier * 1.7,
)
],
),
@ -487,8 +511,9 @@ class _HomePageState extends State<HomePage> {
),
),
Expanded(
child: DashboardItem(opacity: 1.0,
onTap: (){
child: DashboardItem(
opacity: 1.0,
onTap: () {
Navigator.push(
context,
FadePage(
@ -501,25 +526,35 @@ class _HomePageState extends State<HomePage> {
padding: const EdgeInsets.all(15.0),
child: Column(
children: <Widget>[
SizedBox(height: 15,),
SizedBox(
height: 15,
),
Container(
decoration: BoxDecoration(
color: Colors.white,
shape: BoxShape.rectangle,
borderRadius: BorderRadius.circular(12)
),
child: Center(child: Image.asset('assets/images/online_payment_icon.png',
borderRadius:
BorderRadius.circular(12)),
child: Center(
child: Image.asset(
'assets/images/online_payment_icon.png',
width: 80,
height: 50,
fit: BoxFit.contain,)),
fit: BoxFit.contain,
)),
),
SizedBox(
height: 15,
),
SizedBox(height: 15,),
Texts(
TranslationBase.of(context).onlinePaymentService,
TranslationBase.of(context)
.onlinePaymentService,
textAlign: TextAlign.center,
color: Colors.white,
bold: true,
fontSize: projectViewModel.isArabic? SizeConfig.textMultiplier * 1.5 :SizeConfig.textMultiplier * 1.7,
fontSize: projectViewModel.isArabic
? SizeConfig.textMultiplier * 1.5
: SizeConfig.textMultiplier * 1.7,
)
],
),
@ -555,34 +590,33 @@ class _HomePageState extends State<HomePage> {
);
},
child: MedicalProfileItem(
title: TranslationBase.of(context)
.myAppointments,
title:
TranslationBase.of(context).myAppointments,
imagePath: 'my_appointment_icon.png',
subTitle: TranslationBase.of(context).myAppointmentsList,
subTitle: TranslationBase.of(context)
.myAppointmentsList,
),
),
),
Expanded(
flex: 1,
child: InkWell(
onTap: () => Navigator.push(context,
FadePage(page: LabsHomePage())),
onTap: () => Navigator.push(
context, FadePage(page: LabsHomePage())),
child: MedicalProfileItem(
title: TranslationBase.of(context).lab,
imagePath: 'lab_result_icon.png',
subTitle:
TranslationBase.of(context).lab,
subTitle: TranslationBase.of(context).lab,
),
),
),
Expanded(
flex: 1,
child: InkWell(
onTap: () => Navigator.push(context,
FadePage(page: RadiologyHomePage())),
onTap: () => Navigator.push(
context, FadePage(page: RadiologyHomePage())),
child: MedicalProfileItem(
title: TranslationBase.of(context)
.radiology,
title: TranslationBase.of(context).radiology,
imagePath: 'radiology_icon.png',
subTitle: TranslationBase.of(context)
.radiologySubtitle,
@ -605,8 +639,7 @@ class _HomePageState extends State<HomePage> {
);
},
child: MedicalProfileItem(
title: TranslationBase.of(context)
.medicines,
title: TranslationBase.of(context).medicines,
imagePath: 'prescription_icon.png',
subTitle: TranslationBase.of(context)
.medicinesSubtitle,
@ -625,8 +658,7 @@ class _HomePageState extends State<HomePage> {
);
},
child: MedicalProfileItem(
title: TranslationBase.of(context)
.myDoctor,
title: TranslationBase.of(context).myDoctor,
imagePath: 'doctor_icon.png',
subTitle: TranslationBase.of(context)
.myDoctorSubtitle,
@ -637,12 +669,11 @@ class _HomePageState extends State<HomePage> {
flex: 1,
child: InkWell(
onTap: () {
Navigator.push(context,
FadePage(page: InsuranceCard()));
Navigator.push(
context, FadePage(page: InsuranceCard()));
},
child: MedicalProfileItem(
title: TranslationBase.of(context)
.insurance,
title: TranslationBase.of(context).insurance,
imagePath: 'insurance_card_icon.png',
subTitle: TranslationBase.of(context)
.insuranceSubtitle,
@ -651,7 +682,6 @@ class _HomePageState extends State<HomePage> {
),
],
),
],
),
),
@ -664,7 +694,7 @@ class _HomePageState extends State<HomePage> {
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
DashboardItem(
opacity:1.0,
opacity: 1.0,
child: Container(
width: double.infinity,
padding: EdgeInsets.all(10),
@ -677,31 +707,38 @@ class _HomePageState extends State<HomePage> {
bold: true,
),
Texts(
TranslationBase.of(context).viewAllHabibMedicalService,
TranslationBase.of(context)
.viewAllHabibMedicalService,
color: Colors.white,
fontWeight: FontWeight.normal,
fontSize: 10,
),
Expanded(
child: Container(),
),
Texts(
// Expanded(
// child: Container(),
// ),
Text(
TranslationBase.of(context).viewAll,
color: Colors.white,
bold: true,
style: TextStyle(
color: Colors.white,
fontWeight: FontWeight.bold),
overflow: TextOverflow.ellipsis,
)
],
),
),
height: 100,
height: 106,
imageName: 'ask_doctor_bg.png',
//color: Colors.grey[700],
//color: Colors.grey[700],
width: MediaQuery.of(context).size.width * 0.45,
onTap: () => Navigator.push(
context, FadePage(page: AllHabibMedicalService(goToMyProfile: widget.goToMyProfile,))),
context,
FadePage(
page: AllHabibMedicalService(
goToMyProfile: widget.goToMyProfile,
))),
),
DashboardItem(
opacity:1.0,
opacity: 1.0,
onTap: () {
Navigator.push(
context, FadePage(page: ContactUsPage()));
@ -721,7 +758,7 @@ class _HomePageState extends State<HomePage> {
TranslationBase.of(context).viewAllWaysReachUs,
color: Colors.white,
fontWeight: FontWeight.normal,
fontSize: SizeConfig.textMultiplier * 1.0 ,
fontSize: SizeConfig.textMultiplier * 1.0,
),
Expanded(
child: Container(),
@ -786,7 +823,9 @@ class DashboardItem extends StatelessWidget {
this.width,
this.height,
this.color,
this.opacity = 1.0,this.icon,this.margin=0})
this.opacity = 1.0,
this.icon,
this.margin = 0})
: super(key: key);
final bool hasBorder;
final String imageName;

@ -14,159 +14,168 @@ class LoginType extends StatelessWidget {
@override
Widget build(BuildContext context) {
return AppScaffold(
appBarTitle: TranslationBase.of(context).login,
appBarTitle: TranslationBase.of(context).login,
isShowAppBar: true,
isShowDecPage: false,
body: Padding(
padding: EdgeInsets.all(20),
child: Column(
children: <Widget>[
Expanded(
flex: 4,
child: Column(
// mainAxisAlignment: MainAxisAlignment.spaceEvenly,
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Image.asset(
'assets/images/DQ/dq_logo_icon.png',
height: 90,
width: 90,
),
AppText(
TranslationBase.of(context).logintypeRadio,
fontSize: SizeConfig.textMultiplier * 3.5,
textAlign: TextAlign.start,
marginBottom: 20.0,
marginTop: 20.0,
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
body: SingleChildScrollView(
child: Container(
padding:
EdgeInsets.only(top: 10, left: 20, right: 20, bottom: 30),
height: SizeConfig.realScreenHeight * .9,
width: SizeConfig.realScreenWidth,
child: Column(
children: <Widget>[
Expanded(
flex: 4,
child: Column(
// mainAxisAlignment: MainAxisAlignment.spaceEvenly,
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Expanded(
child: InkWell(
onTap: () => {
LoginType.loginType = 1,
Navigator.of(context)
.pushNamed(LOGIN_PAGE)
},
child: RoundedContainer(
borderColor: Colors.grey,
showBorder: true,
child: Padding(
padding: EdgeInsets.fromLTRB(
20, 10, 20, 10),
child: Column(
mainAxisAlignment:
MainAxisAlignment.center,
children: <Widget>[
Image.asset(
'assets/images/id_card_icon.png',
height: SizeConfig
.imageSizeMultiplier *
12,
width: SizeConfig
.imageSizeMultiplier *
15,
),
SizedBox(
height: 20,
Image.asset(
'assets/images/DQ/dq_logo_icon.png',
height: 90,
width: 90,
),
AppText(
TranslationBase.of(context).logintypeRadio,
fontSize: SizeConfig.textMultiplier * 3.5,
textAlign: TextAlign.start,
marginBottom: 20.0,
marginTop: 20.0,
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Expanded(
child: InkWell(
onTap: () => {
LoginType.loginType = 1,
Navigator.of(context)
.pushNamed(LOGIN_PAGE)
},
child: RoundedContainer(
borderColor: Colors.grey,
showBorder: true,
child: Padding(
padding: EdgeInsets.fromLTRB(
20, 10, 20, 10),
child: Column(
mainAxisAlignment:
MainAxisAlignment.center,
children: <Widget>[
Image.asset(
'assets/images/id_card_icon.png',
height: SizeConfig
.imageSizeMultiplier *
12,
width: SizeConfig
.imageSizeMultiplier *
15,
),
SizedBox(
height: 20,
),
AppText(
TranslationBase.of(context)
.idNo,
fontSize: SizeConfig
.textMultiplier *
2,
fontWeight: FontWeight.bold,
)
],
),
AppText(
TranslationBase.of(context)
.idNo,
fontSize:
SizeConfig.textMultiplier *
)))),
Expanded(
child: InkWell(
onTap: () => {
LoginType.loginType = 2,
Navigator.of(context)
.pushNamed(LOGIN_PAGE)
},
child: RoundedContainer(
borderColor: Colors.grey,
showBorder: true,
child: Padding(
padding: EdgeInsets.fromLTRB(
25, 10, 25, 10),
child: Column(
children: <Widget>[
Image.asset(
'assets/images/my_file_white_icon.png',
height: SizeConfig
.imageSizeMultiplier *
12,
width: SizeConfig
.imageSizeMultiplier *
15,
),
SizedBox(
height: 20,
),
AppText(
TranslationBase.of(context)
.fileNo,
fontSize: SizeConfig
.textMultiplier *
2,
fontWeight: FontWeight.bold,
)
],
),
)))),
Expanded(
fontWeight: FontWeight.bold,
)
],
),
))))
],
),
SizedBox(
height: 25,
),
Divider(
color: Colors.grey,
height: 2,
),
Center(
child: InkWell(
onTap: () => {
LoginType.loginType = 2,
Navigator.of(context)
.pushNamed(LOGIN_PAGE)
.pushNamed(FORGOT_PASSWORD)
},
child: RoundedContainer(
borderColor: Colors.grey,
showBorder: true,
child: Padding(
padding: EdgeInsets.fromLTRB(
25, 10, 25, 10),
child: Column(
children: <Widget>[
Image.asset(
'assets/images/my_file_white_icon.png',
height: SizeConfig
.imageSizeMultiplier *
12,
width: SizeConfig
.imageSizeMultiplier *
15,
),
SizedBox(
height: 20,
),
AppText(
TranslationBase.of(context)
.fileNo,
fontSize:
SizeConfig.textMultiplier *
2,
fontWeight: FontWeight.bold,
)
],
),
))))
],
),
SizedBox(height: 25,),
Divider(
color: Colors.grey,
height: 2,
),
Center(
child: InkWell(
onTap: () => {
Navigator.of(context)
.pushNamed(FORGOT_PASSWORD)
},
child: AppText(
TranslationBase.of(context).forgotPassword,
fontSize: SizeConfig.textMultiplier * 2.5,
marginTop: 20.0,
underline: true)))
]),
),
Expanded(
flex: 1,
child: Column(
mainAxisAlignment: MainAxisAlignment.end,
children: <Widget>[
Divider(
color: Colors.grey,
height: 2,
),
SizedBox(height: 10,),
Row(
child: AppText(
TranslationBase.of(context)
.forgotPassword,
fontSize:
SizeConfig.textMultiplier * 2.5,
marginTop: 20.0,
underline: true)))
]),
),
Expanded(
flex: 1,
child: Column(
mainAxisAlignment: MainAxisAlignment.end,
children: <Widget>[
Expanded(
child: DefaultButton(
TranslationBase.of(context).registerNow,
() => {
Navigator.of(context).pushNamed(
REGISTER,
)
},
)),
Divider(
color: Colors.grey,
height: 2,
),
SizedBox(
height: 10,
),
Row(
children: <Widget>[
Expanded(
child: DefaultButton(
TranslationBase.of(context).registerNow,
() => {
Navigator.of(context).pushNamed(
REGISTER,
)
},
)),
],
),
],
),
],
))
],
)));
))
],
))));
}
}

@ -153,18 +153,14 @@ class _Login extends State<Login> {
}
void validateForm() {
//TODO fix login
if (util.validateIDBox(nationalIDorFile.text, loginType) ==
true /*&&
mobileNo.length >= 9 */
&&
if (util.validateIDBox(nationalIDorFile.text, loginType) == true &&
util.isSAUDIIDValid(nationalIDorFile.text, loginType) == true) {
setState(() {
isButtonDisabled = false;
});
} else {
setState(() {
isButtonDisabled = false;
isButtonDisabled = true;
});
}
}

@ -105,22 +105,29 @@ class PrescriptionDetailsPage extends StatelessWidget {
color: Colors.white,
height: 30,
width: double.infinity,
child: Center(child: Texts(TranslationBase.of(context).way))),
child: Center(
child: Texts(TranslationBase.of(context).way))),
Container(
color: Colors.white,
height: 30,
width: double.infinity,
child: Center(child: Texts(TranslationBase.of(context).average))),
child: Center(
child:
Texts(TranslationBase.of(context).average))),
Container(
color: Colors.white,
height: 30,
width: double.infinity,
child: Center(child: Texts(TranslationBase.of(context).dailyDoses))),
child: Center(
child: Texts(
TranslationBase.of(context).dailyDoses))),
Container(
color: Colors.white,
height: 30,
width: double.infinity,
child: Center(child: Texts(TranslationBase.of(context).period))),
child: Center(
child:
Texts(TranslationBase.of(context).period))),
],
),
TableRow(
@ -136,7 +143,8 @@ class PrescriptionDetailsPage extends StatelessWidget {
height: 50,
width: double.infinity,
child: Center(
child: Text(prescriptionReport.frequencyN?? ''))),
child:
Text(prescriptionReport.frequencyN ?? ''))),
Container(
color: Colors.white,
height: 50,
@ -174,7 +182,7 @@ class PrescriptionDetailsPage extends StatelessWidget {
SizedBox(
height: 5,
),
Texts(prescriptionReport.remarks),
Texts(prescriptionReport.remarks ?? ''),
],
),
),

@ -83,7 +83,7 @@ class _HomePrescriptionsPageState extends State<HomePrescriptionsPage>
controller: _tabController,
indicatorWeight: 5.0,
indicatorSize: TabBarIndicatorSize.label,
indicatorColor: Colors.red[800],
indicatorColor: Theme.of(context).primaryColor,
labelColor: Theme.of(context).primaryColor,
labelPadding:
EdgeInsets.only(top: 4.0, left: 18.0, right: 18.0),

@ -37,7 +37,7 @@ class PrescriptionsPage extends StatelessWidget {
leading: Radio(
value: FilterType.Clinic,
groupValue: prescriptionsViewModel.filterType,
activeColor: Colors.red[800],
activeColor: Theme.of(context).primaryColor,
onChanged: (FilterType value) {
prescriptionsViewModel.setFilterType(value);
},
@ -55,7 +55,7 @@ class PrescriptionsPage extends StatelessWidget {
leading: Radio(
value: FilterType.Hospital,
groupValue: prescriptionsViewModel.filterType,
activeColor: Colors.red[800],
activeColor: Theme.of(context).primaryColor,
onChanged: (FilterType value) {
prescriptionsViewModel.setFilterType(value);
},

@ -4,6 +4,7 @@ import 'package:diplomaticquarterapp/core/viewModels/medical/radiology_view_mode
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.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';
@ -30,9 +31,20 @@ class RadiologyDetailsPage extends StatelessWidget {
mainAxisSize: MainAxisSize.max,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Text('${finalRadiology.reportData}',textAlign: TextAlign.center,),
Text(
'${finalRadiology.reportData}',
textAlign: TextAlign.center,
),
Padding(
padding: const EdgeInsets.all(8.0),
child: Texts(
'${finalRadiology.reportData}',
textAlign: TextAlign.start,
fontSize: 17,
),
),
SizedBox(
height: 160.0,
height: MediaQuery.of(context).size.height * 0.2,
)
],
),

@ -173,15 +173,19 @@ class AuthProvider with ChangeNotifier {
request.generalid = GENERAL_ID;
request.languageID = LANGUAGE_ID;
request.patientOutSA = request.zipCode == '966' ? 0 : 1;
dynamic localRes;
await new BaseAppClient().post(CHECK_PATIENT_AUTH,
onSuccess: (dynamic response, int statusCode) {
localRes = response;
}, onFailure: (String error, int statusCode) {
try {
dynamic localRes;
await new BaseAppClient().post(CHECK_PATIENT_AUTH,
onSuccess: (dynamic response, int statusCode) {
localRes = response;
}, onFailure: (String error, int statusCode) {
throw error;
}, body: request.toJson());
return Future.value(localRes);
} catch (error) {
throw error;
}, body: request.toJson());
return Future.value(localRes);
//throw error;
}
}
Future<dynamic> getLoginInfo(request) async {

@ -946,6 +946,12 @@ String get fileno => localizedValues['fileno'][locale.languageCode];
String get labResult => localizedValues['labResult'][locale.languageCode];
String get details => localizedValues['details'][locale.languageCode];
String get age => localizedValues['age'][locale.languageCode];
String get activeInsurence => localizedValues['active-insurence'][locale.languageCode];
String get notActive => localizedValues['not-active'][locale.languageCode];
String get cardDetail => localizedValues['card-detail'][locale.languageCode];
String get dr => localizedValues['Dr'][locale.languageCode];
}
class TranslationBaseDelegate extends LocalizationsDelegate<TranslationBase> {

@ -86,8 +86,7 @@ class _VitalSignDetailsWidgetState extends State<LabResultDetailsWidget> {
color: Colors.white,
child: Center(
child: Texts(
// '${DateUtil.getWeekDay(vital.vitalSignDate.weekday)}, ${vital.vitalSignDate.day} ${DateUtil.getMonth(vital.vitalSignDate.month)}, ${vital.vitalSignDate.year} ',
'${vital.sampleCollectedOn}',
'${vital.verifiedOn}',
textAlign: TextAlign.center,
),
),

@ -96,7 +96,7 @@ class DoctorCard extends StatelessWidget {
Expanded(
flex: 1,
child: LargeAvatar(
name: name,
name:name,
url: profileUrl,
),
),
@ -108,7 +108,7 @@ class DoctorCard extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Texts(
name,
TranslationBase.of(context).dr+" "+ name,
bold: true,
),
Texts(

@ -826,13 +826,13 @@ class _FloatingSearchButton extends State<FloatingSearchButton>
speak() async {
if (_currentLocaleId == 'en' && results['ReturnMessage'] != null) {
await flutterTts.setVoice("en-us-x-sfg#male_2-local");
//await flutterTts.setVoice("en-us-x-sfg#male_2-local");
await flutterTts.setLanguage("en-US");
await flutterTts.speak(results['ReturnMessage']);
} else if (results['ReturnMessage_Ar'] != null) {
await flutterTts.setLanguage("ar-SA");
await flutterTts.setVoice("ar-sa-x-sfg#male_1-local");
//await flutterTts.setVoice("ar-sa-x-sfg#male_1-local");
await flutterTts.speak(results['ReturnMessage_Ar']);
}
// Future.delayed(const Duration(seconds: 10), () {

Loading…
Cancel
Save