Updates & fixes

merge-update-with-lab-changes
haroon amjad 5 years ago
parent cbb9151b62
commit 5163c826ad

@ -797,6 +797,7 @@ const Map localizedValues = {
"mass": {"en": "Mass", "ar": "كتلة"}, "mass": {"en": "Mass", "ar": "كتلة"},
"temp-c": {"en": "°C", "ar": "°س"}, "temp-c": {"en": "°C", "ar": "°س"},
"bpm": {"en": "bpm", "ar": "نبضة"}, "bpm": {"en": "bpm", "ar": "نبضة"},
"respirationBPM": {"en": "bpm", "ar": "نفس"},
"respiration-signs": {"en": "Respiration", "ar": "تنفس"}, "respiration-signs": {"en": "Respiration", "ar": "تنفس"},
"sys-dias": {"en": "SBP/DBP", "ar": "إنقباض/إنبساط"}, "sys-dias": {"en": "SBP/DBP", "ar": "إنقباض/إنبساط"},
"body": {"en": "Body Mass", "ar": "كتلة\nالجسم"}, "body": {"en": "Body Mass", "ar": "كتلة\nالجسم"},
@ -1213,6 +1214,7 @@ const Map localizedValues = {
"pound": {"en": "Pound", "ar": "رطل"}, "pound": {"en": "Pound", "ar": "رطل"},
"seeListOfDoctor": {"en": "See List Of Doctors", "ar": "انظر قائمة الأطباء"}, "seeListOfDoctor": {"en": "See List Of Doctors", "ar": "انظر قائمة الأطباء"},
"obese": {"en": "Obese", "ar": "سمين"}, "obese": {"en": "Obese", "ar": "سمين"},
"extremeObese": {"en": "Extreme Obese", "ar": "السمنة المفرطة"},
"overWeight": {"en": "OverWeight", "ar": "وزن زائد"}, "overWeight": {"en": "OverWeight", "ar": "وزن زائد"},
"healthy": {"en": "Healthy", "ar": "صحي"}, "healthy": {"en": "Healthy", "ar": "صحي"},
"underWeight": {"en": "UnderWeight", "ar": "نقص الوزن"}, "underWeight": {"en": "UnderWeight", "ar": "نقص الوزن"},
@ -1528,4 +1530,6 @@ const Map localizedValues = {
"insuredPatient": {"en": "Insured Patient", "ar": "هل لدى المريض تامين؟"}, "insuredPatient": {"en": "Insured Patient", "ar": "هل لدى المريض تامين؟"},
"rateDoctor": {"en": "Rate Doctor", "ar": "تقييم الطبيب"}, "rateDoctor": {"en": "Rate Doctor", "ar": "تقييم الطبيب"},
"rateAppointment": {"en": "Rate Appointment", "ar": "سعر التعيين"}, "rateAppointment": {"en": "Rate Appointment", "ar": "سعر التعيين"},
"noInsuranceCardAttached": {"en": "Please attach your insurance card image to continue", "ar": "يرجى إرفاق صورة بطاقة التأمين الخاصة بك للمتابعة"},
"bodyMassIndex": {"en": "Body Mass Index is: ", "ar": "مؤشر كتلة الجسم هو:"},
}; };

@ -41,10 +41,13 @@ class FeedbackService extends BaseService {
_requestInsertCOCItem.deviceInfo = Platform.localHostname; _requestInsertCOCItem.deviceInfo = Platform.localHostname;
_requestInsertCOCItem.resolution = "400x847"; _requestInsertCOCItem.resolution = "400x847";
_requestInsertCOCItem.projectID = 0; _requestInsertCOCItem.projectID = 0;
_requestInsertCOCItem.tokenID = "C0c@@dm!n?T&A&A@Barcha202029582948";
_requestInsertCOCItem.identificationNo = _requestInsertCOCItem.identificationNo =
int.parse(user.patientIdentificationNo); int.parse(user.patientIdentificationNo);
if (BASE_URL.contains('uat')) { if (BASE_URL.contains('uat')) {
_requestInsertCOCItem.forDemo = true; _requestInsertCOCItem.forDemo = true;
} else {
_requestInsertCOCItem.forDemo = false;
} }
final Map<String, dynamic> body = _requestInsertCOCItem.toJson(); final Map<String, dynamic> body = _requestInsertCOCItem.toJson();

@ -18,15 +18,14 @@ class BloodSugarService extends BaseService {
Future getBloodSugar() async { Future getBloodSugar() async {
hasError = false; hasError = false;
Map<String, dynamic> body = Map(); Map<String, dynamic> body = Map();
monthDiabtectResultAverageList.clear();
weekDiabtectResultAverageList.clear();
yearDiabtecResultAverageList.clear();
monthDiabtecPatientResult.clear();
weekDiabtecPatientResult.clear();
yearDiabtecPatientResult.clear();
body['isDentalAllowedBackend'] = false; body['isDentalAllowedBackend'] = false;
await baseAppClient.post(GET_DIABETIC_RESULT_AVERAGE, onSuccess: (dynamic response, int statusCode) { await baseAppClient.post(GET_DIABETIC_RESULT_AVERAGE, onSuccess: (dynamic response, int statusCode) {
monthDiabtectResultAverageList.clear();
weekDiabtectResultAverageList.clear();
yearDiabtecResultAverageList.clear();
monthDiabtecPatientResult.clear();
weekDiabtecPatientResult.clear();
yearDiabtecPatientResult.clear();
response['List_MonthDiabtectResultAverage'].forEach((item) { response['List_MonthDiabtectResultAverage'].forEach((item) {
monthDiabtectResultAverageList.add(MonthDiabtectResultAverage.fromJson(item)); monthDiabtectResultAverageList.add(MonthDiabtectResultAverage.fromJson(item));
@ -47,10 +46,10 @@ class BloodSugarService extends BaseService {
Future getDiabtecResults() async { Future getDiabtecResults() async {
hasError = false; hasError = false;
monthDiabtecPatientResult.clear();
weekDiabtecPatientResult.clear();
yearDiabtecPatientResult.clear();
await baseAppClient.post(GET_DIABTEC_RESULT, onSuccess: (dynamic response, int statusCode) { await baseAppClient.post(GET_DIABTEC_RESULT, onSuccess: (dynamic response, int statusCode) {
monthDiabtecPatientResult.clear();
weekDiabtecPatientResult.clear();
yearDiabtecPatientResult.clear();
response['List_MonthDiabtecPatientResult'].forEach((item) { response['List_MonthDiabtecPatientResult'].forEach((item) {
monthDiabtecPatientResult.add(DiabtecPatientResult.fromJson(item)); monthDiabtecPatientResult.add(DiabtecPatientResult.fromJson(item));

@ -3,6 +3,7 @@ import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/Manufacturer.dart'; import 'package:diplomaticquarterapp/core/model/pharmacies/Manufacturer.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/PharmacyImageObject.dart'; import 'package:diplomaticquarterapp/core/model/pharmacies/PharmacyImageObject.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/PharmacyProduct.dart'; import 'package:diplomaticquarterapp/core/model/pharmacies/PharmacyProduct.dart';
import 'package:diplomaticquarterapp/core/service/AlHabibMedicalService/customer_addresses_service.dart';
import 'package:diplomaticquarterapp/core/service/base_service.dart'; import 'package:diplomaticquarterapp/core/service/base_service.dart';
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart'; import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
import 'package:diplomaticquarterapp/uitl/utils.dart'; import 'package:diplomaticquarterapp/uitl/utils.dart';
@ -12,6 +13,7 @@ class PharmacyModuleService extends BaseService {
bool isFinished = true; bool isFinished = true;
String errorMsg = ''; String errorMsg = '';
String url = ""; String url = "";
CustomerInfo customerInfo;
List<PharmacyImageObject> bannerItems = List(); List<PharmacyImageObject> bannerItems = List();
List<Manufacturer> manufacturerList = List(); List<Manufacturer> manufacturerList = List();
@ -51,8 +53,12 @@ class PharmacyModuleService extends BaseService {
hasError = false; hasError = false;
try { try {
await baseAppClient.getPharmacy(PHARMACY_CREATE_CUSTOMER, onSuccess: (dynamic response, int statusCode) async { await baseAppClient.getPharmacy(PHARMACY_CREATE_CUSTOMER, onSuccess: (dynamic response, int statusCode) async {
if (!response['IsRegistered']) {} if (!response['IsRegistered']) {
await generatePharmacyToken();
} else {
customerInfo = CustomerInfo.fromJson(response);
}
// await generatePharmacyToken();
}, onFailure: (String error, int statusCode) { }, onFailure: (String error, int statusCode) {
hasError = true; hasError = true;
super.error = error; super.error = error;

@ -113,8 +113,8 @@ class HomeHealthCareViewModel extends BaseViewModel {
// await _customerAddressesService.getCustomerInfo(); // await _customerAddressesService.getCustomerInfo();
setState(ViewState.ErrorLocal); setState(ViewState.ErrorLocal);
} else { } else {
// await _pharmacyModuleService.createUser(); await _pharmacyModuleService.createUser();
await _customerAddressesService.getCustomerInfo(); // await _customerAddressesService.getCustomerInfo();
await getCustomerAddresses(); await getCustomerAddresses();
} }
} }

@ -39,7 +39,7 @@ class AskDoctorViewModel extends BaseViewModel {
}); });
} else { } else {
setState(ViewState.Idle); setState(ViewState.Idle);
AppToast.showErrorToast(message: TranslationBase.of(AppGlobal.context).askDocEmpty); // AppToast.showErrorToast(message: TranslationBase.of(AppGlobal.context).askDocEmpty);
} }
} }

@ -145,7 +145,7 @@ class _DoctorProfileState extends State<DoctorProfile> with TickerProviderStateM
onTap: (index) { onTap: (index) {
setState(() { setState(() {
if (index == 1) { if (index == 1) {
if (widget.doctor.clinicID == 17 || widget.doctor.clinicID == 23 || widget.isLiveCareAppointment) { if (widget.doctor.clinicID == 17 || widget.doctor.clinicID == 23 || widget.doctor.clinicID == 47 || widget.isLiveCareAppointment) {
_tabController.index = _tabController.previousIndex; _tabController.index = _tabController.previousIndex;
showFooterButton = false; showFooterButton = false;
} else { } else {

@ -124,7 +124,7 @@ class RRTLogListItem extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.end, crossAxisAlignment: CrossAxisAlignment.end,
children: [ children: [
Text( Text(
DateUtil.getDayMonthYearDateFormattedLang(order.createdOn, projectViewModel.isArabic), DateUtil.getDayMonthYearDateFormatted(order.createdOn),
style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.4, height: 16 / 10), style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.4, height: 16 / 10),
), ),
SizedBox(height: 12), SizedBox(height: 12),

@ -107,7 +107,7 @@ class _AppointmentDetailsState extends State<AppointmentDetails> with SingleTick
"", "",
//model.user.emailAddress, //model.user.emailAddress,
), ),
isNeedToShowButton: (widget.appo.clinicID == 17 || widget.appo.clinicID == 23 || widget.appo.clinicID == 265 || widget.appo.isExecludeDoctor || widget.appo.isLiveCareAppointment) ? false : true, isNeedToShowButton: (widget.appo.clinicID == 17 || widget.appo.clinicID == 47 || widget.appo.clinicID == 23 || widget.appo.clinicID == 265 || widget.appo.isExecludeDoctor || widget.appo.isLiveCareAppointment) ? false : true,
buttonTitle: TranslationBase.of(context).schedule, buttonTitle: TranslationBase.of(context).schedule,
buttonIcon: 'assets/images/new/Boo_ Appointment.svg', buttonIcon: 'assets/images/new/Boo_ Appointment.svg',
showConfirmMessageDialog: false, showConfirmMessageDialog: false,
@ -136,7 +136,7 @@ class _AppointmentDetailsState extends State<AppointmentDetails> with SingleTick
onTap: (index) { onTap: (index) {
setState(() { setState(() {
if (index == 1) { if (index == 1) {
if (widget.appo.clinicID == 17 || widget.appo.clinicID == 23 || widget.appo.clinicID == 265 || widget.appo.isExecludeDoctor || widget.appo.isLiveCareAppointment) { if (widget.appo.clinicID == 17 || widget.appo.clinicID == 47 || widget.appo.clinicID == 23 || widget.appo.clinicID == 265 || widget.appo.isExecludeDoctor || widget.appo.isLiveCareAppointment) {
_tabController.index = _tabController.previousIndex; _tabController.index = _tabController.previousIndex;
AppointmentDetails.showFooterButton = false; AppointmentDetails.showFooterButton = false;
} else { } else {
@ -147,7 +147,7 @@ class _AppointmentDetailsState extends State<AppointmentDetails> with SingleTick
}, },
tabs: [ tabs: [
Tab(child: Text(TranslationBase.of(context).appoActions, style: TextStyle(color: Colors.black))), Tab(child: Text(TranslationBase.of(context).appoActions, style: TextStyle(color: Colors.black))),
widget.appo.clinicID == 17 || widget.appo.clinicID == 23 || widget.appo.clinicID == 265 || widget.appo.isExecludeDoctor || widget.appo.isLiveCareAppointment widget.appo.clinicID == 17 || widget.appo.clinicID == 23 || widget.appo.clinicID == 47 || widget.appo.clinicID == 265 || widget.appo.isExecludeDoctor || widget.appo.isLiveCareAppointment
? Tab( ? Tab(
child: Text(TranslationBase.of(context).availableAppo, style: TextStyle(color: Colors.grey)), child: Text(TranslationBase.of(context).availableAppo, style: TextStyle(color: Colors.grey)),
) )

@ -67,7 +67,7 @@ class _AppointmentActionsState extends State<AppointmentActions> {
padding: EdgeInsets.all(21), padding: EdgeInsets.all(21),
shrinkWrap: true, shrinkWrap: true,
itemBuilder: (context, index) { itemBuilder: (context, index) {
bool shouldEnable = (widget.appo.clinicID == 17 && appoButtonsList[index].caller == "openReschedule"); bool shouldEnable = (widget.appo.clinicID == 17 && widget.appo.clinicID == 47 && appoButtonsList[index].caller == "openReschedule");
return InkWell( return InkWell(
onTap: shouldEnable onTap: shouldEnable
? null ? null

@ -47,7 +47,7 @@ class _PaymentMethodState extends State<PaymentMethod> {
updateSelectedPaymentMethod("MADA"); updateSelectedPaymentMethod("MADA");
}, },
child: Card( child: Card(
elevation: 3.0, elevation: 0.0,
margin: EdgeInsets.fromLTRB(8.0, 16.0, 8.0, 8.0), margin: EdgeInsets.fromLTRB(8.0, 16.0, 8.0, 8.0),
color: Colors.white, color: Colors.white,
shape: RoundedRectangleBorder( shape: RoundedRectangleBorder(
@ -83,7 +83,7 @@ class _PaymentMethodState extends State<PaymentMethod> {
updateSelectedPaymentMethod("VISA"); updateSelectedPaymentMethod("VISA");
}, },
child: Card( child: Card(
elevation: 3.0, elevation: 0.0,
margin: EdgeInsets.fromLTRB(8.0, 16.0, 8.0, 8.0), margin: EdgeInsets.fromLTRB(8.0, 16.0, 8.0, 8.0),
color: Colors.white, color: Colors.white,
shape: RoundedRectangleBorder( shape: RoundedRectangleBorder(
@ -119,7 +119,7 @@ class _PaymentMethodState extends State<PaymentMethod> {
updateSelectedPaymentMethod("MASTERCARD"); updateSelectedPaymentMethod("MASTERCARD");
}, },
child: Card( child: Card(
elevation: 3.0, elevation: 0.0,
margin: EdgeInsets.fromLTRB(8.0, 16.0, 8.0, 8.0), margin: EdgeInsets.fromLTRB(8.0, 16.0, 8.0, 8.0),
color: Colors.white, color: Colors.white,
shape: RoundedRectangleBorder( shape: RoundedRectangleBorder(
@ -155,7 +155,7 @@ class _PaymentMethodState extends State<PaymentMethod> {
updateSelectedPaymentMethod("Installment"); updateSelectedPaymentMethod("Installment");
}, },
child: Card( child: Card(
elevation: 3.0, elevation: 0.0,
margin: EdgeInsets.fromLTRB(8.0, 16.0, 8.0, 8.0), margin: EdgeInsets.fromLTRB(8.0, 16.0, 8.0, 8.0),
color: Colors.white, color: Colors.white,
shape: RoundedRectangleBorder( shape: RoundedRectangleBorder(
@ -192,7 +192,7 @@ class _PaymentMethodState extends State<PaymentMethod> {
updateSelectedPaymentMethod("ApplePay"); updateSelectedPaymentMethod("ApplePay");
}, },
child: Card( child: Card(
elevation: 3.0, elevation: 0.0,
margin: EdgeInsets.fromLTRB(8.0, 16.0, 8.0, 8.0), margin: EdgeInsets.fromLTRB(8.0, 16.0, 8.0, 8.0),
color: Colors.white, color: Colors.white,
shape: RoundedRectangleBorder( shape: RoundedRectangleBorder(

@ -13,6 +13,7 @@ import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/avatar/large_avatar.dart'; import 'package:diplomaticquarterapp/widgets/avatar/large_avatar.dart';
import 'package:diplomaticquarterapp/widgets/bottom_options/BottomSheet.dart'; import 'package:diplomaticquarterapp/widgets/bottom_options/BottomSheet.dart';
import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart'; import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart';
import 'package:diplomaticquarterapp/widgets/data_display/medical/doctor_card.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/StarRating.dart'; import 'package:diplomaticquarterapp/widgets/others/StarRating.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
@ -111,7 +112,7 @@ class _SendFeedbackPageState extends State<SendFeedbackPage> {
children: <Widget>[ children: <Widget>[
Text( Text(
TranslationBase.of(context).likeToHear, TranslationBase.of(context).likeToHear,
textAlign: TextAlign.center, // textAlign: TextAlign.center,
style: TextStyle(fontSize: 16, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.64, height: 23 / 16), style: TextStyle(fontSize: 16, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.64, height: 23 / 16),
), ),
SizedBox(height: 21), SizedBox(height: 21),
@ -159,99 +160,23 @@ class _SendFeedbackPageState extends State<SendFeedbackPage> {
isShowListAppointHistory = true; isShowListAppointHistory = true;
}); });
}, },
child: Container( child: DoctorCard(
// margin: EdgeInsets.all(8.0), onTap: () {},
decoration: BoxDecoration(color: Colors.white, borderRadius: BorderRadius.circular(8)), isInOutPatient: appointHistory.isInOutPatient,
child: Row( name: appointHistory.doctorTitle + " " + appointHistory.doctorNameObj,
children: <Widget>[ // billNo: _appointmentResult.invoiceNo,
Container( profileUrl: appointHistory.doctorImageURL,
width: projectViewModel.isArabic ? 27 : 20, subName: appointHistory.projectName,
height: projectViewModel.isArabic ? 105 : 90, isLiveCareAppointment: appointHistory.isLiveCareAppointment,
decoration: BoxDecoration( date: DateUtil.convertStringToDate(appointHistory.appointmentDate),
//Colors.red[900] Color(0xff404545) rating: appointHistory.actualDoctorRate + 0.0,
color: appointHistory.isLiveCareAppointment appointmentTime: appointHistory.startTime.substring(0, 5),
? Color(0xff404545)
: !appointHistory.isInOutPatient
? Colors.red[900]
: Theme.of(context).primaryColor,
borderRadius: BorderRadius.only(
topLeft: projectViewModel.isArabic ? Radius.circular(0) : Radius.circular(8),
bottomLeft: projectViewModel.isArabic ? Radius.circular(0) : Radius.circular(8),
topRight: projectViewModel.isArabic ? Radius.circular(8) : Radius.circular(0),
bottomRight: projectViewModel.isArabic ? Radius.circular(8) : Radius.circular(0),
),
),
child: RotatedBox(
quarterTurns: 3,
child: Center(
child: Text(
appointHistory.isLiveCareAppointment
? TranslationBase.of(context).liveCare.toUpperCase()
: !appointHistory.isInOutPatient
? TranslationBase.of(context).inPatient.toUpperCase()
: TranslationBase.of(context).outpatient.toUpperCase(),
style: TextStyle(color: Colors.white, fontSize: 12),
),
)),
),
Expanded(
flex: 4,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Padding(
padding: const EdgeInsets.all(10.0),
child: Row(
children: <Widget>[
Expanded(
flex: 1,
child: LargeAvatar(
name: appointHistory.doctorNameObj,
url: appointHistory.doctorImageURL,
),
),
Expanded(
flex: 4,
child: Container(
margin: EdgeInsets.all(10),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Texts(
appointHistory.doctorNameObj,
bold: true,
),
Texts(
DateUtil.getMonthDayYearDateFormatted(DateUtil.convertStringToDate(appointHistory.appointmentDate)),
variant: 'caption3',
),
StarRating(totalAverage: appointHistory.doctorRate.toDouble(), forceStars: true),
],
),
),
),
],
),
),
],
),
),
Expanded(
flex: 1,
child: Center(
child: Icon(
Icons.arrow_forward_ios,
size: 15,
),
),
)
],
),
), ),
), ),
SizedBox(height: 12),
if (messageType == MessageType.ComplaintOnAnAppointment && model.appointHistoryList.length != 0 && isShowListAppointHistory) if (messageType == MessageType.ComplaintOnAnAppointment && model.appointHistoryList.length != 0 && isShowListAppointHistory)
Container( Container(
height: model.appointHistoryList.length > 2 ? MediaQuery.of(context).size.height * 0.25 : MediaQuery.of(context).size.height * 0.15, height: model.appointHistoryList.length > 2 ? MediaQuery.of(context).size.height * 0.35 : MediaQuery.of(context).size.height * 0.17,
child: ListView.builder( child: ListView.builder(
itemCount: model.appointHistoryList.length, itemCount: model.appointHistoryList.length,
itemBuilder: (context, index) => InkWell( itemBuilder: (context, index) => InkWell(
@ -261,76 +186,87 @@ class _SendFeedbackPageState extends State<SendFeedbackPage> {
isShowListAppointHistory = false; isShowListAppointHistory = false;
}); });
}, },
child: Container( child: DoctorCard(
margin: EdgeInsets.only(left: 8, right: 8), onTap: () {},
color: Colors.white, isInOutPatient: model.appointHistoryList[index].isInOutPatient,
child: Column( name: model.appointHistoryList[index].doctorTitle + " " + model.appointHistoryList[index].doctorNameObj,
children: <Widget>[ profileUrl: model.appointHistoryList[index].doctorImageURL,
Row( subName: model.appointHistoryList[index].projectName,
children: <Widget>[ isLiveCareAppointment: model.appointHistoryList[index].isLiveCareAppointment,
Expanded( date: DateUtil.convertStringToDate(model.appointHistoryList[index].appointmentDate),
flex: 4, rating: model.appointHistoryList[index].actualDoctorRate + 0.0,
child: Column( appointmentTime: model.appointHistoryList[index].startTime.substring(0, 5),
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Padding(
padding: const EdgeInsets.all(10.0),
child: Row(
children: <Widget>[
Expanded(
flex: 1,
child: LargeAvatar(
name: model.appointHistoryList[index].doctorNameObj,
url: model.appointHistoryList[index].doctorImageURL,
),
),
Expanded(
flex: 4,
child: Container(
margin: EdgeInsets.all(10),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Texts(
model.appointHistoryList[index].doctorNameObj,
bold: true,
),
Texts(
DateUtil.getMonthDayYearDateFormatted(DateUtil.convertStringToDate(model.appointHistoryList[index].appointmentDate)),
variant: 'caption3',
),
StarRating(totalAverage: model.appointHistoryList[index].doctorRate.toDouble(), forceStars: true),
],
),
),
),
],
),
),
],
),
),
Expanded(
flex: 1,
child: Center(
child: Icon(
Icons.arrow_forward_ios,
size: 15,
),
),
)
],
),
SizedBox(
height: 5,
),
Divider(
height: 0.5,
color: Colors.grey[400],
)
],
),
), ),
// Container(
// margin: EdgeInsets.only(left: 8, right: 8),
// color: Colors.white,
// child: Column(
// children: <Widget>[
// Row(
// children: <Widget>[
// Expanded(
// flex: 4,
// child: Column(
// crossAxisAlignment: CrossAxisAlignment.start,
// children: <Widget>[
// Padding(
// padding: const EdgeInsets.all(10.0),
// child: Row(
// children: <Widget>[
// Expanded(
// flex: 1,
// child: LargeAvatar(
// name: model.appointHistoryList[index].doctorNameObj,
// url: model.appointHistoryList[index].doctorImageURL,
// ),
// ),
// Expanded(
// flex: 4,
// child: Container(
// margin: EdgeInsets.all(10),
// child: Column(
// crossAxisAlignment: CrossAxisAlignment.start,
// children: <Widget>[
// Texts(
// model.appointHistoryList[index].doctorNameObj,
// bold: true,
// ),
// Texts(
// DateUtil.getMonthDayYearDateFormatted(DateUtil.convertStringToDate(model.appointHistoryList[index].appointmentDate)),
// variant: 'caption3',
// ),
// StarRating(totalAverage: model.appointHistoryList[index].doctorRate.toDouble(), forceStars: true),
// ],
// ),
// ),
// ),
// ],
// ),
// ),
// ],
// ),
// ),
// Expanded(
// flex: 1,
// child: Center(
// child: Icon(
// Icons.arrow_forward_ios,
// size: 15,
// ),
// ),
// )
// ],
// ),
// SizedBox(
// height: 5,
// ),
// Divider(
// height: 0.5,
// color: Colors.grey[400],
// )
// ],
// ),
// ),
), ),
), ),
), ),
@ -515,19 +451,6 @@ class _SendFeedbackPageState extends State<SendFeedbackPage> {
), ),
suffixIconConstraints: BoxConstraints(minWidth: 50), suffixIconConstraints: BoxConstraints(minWidth: 50),
suffixIcon: suffixTap == null ? null : IconButton(icon: Icon(Icons.mic, color: Color(0xff2E303A)), onPressed: suffixTap), suffixIcon: suffixTap == null ? null : IconButton(icon: Icon(Icons.mic, color: Color(0xff2E303A)), onPressed: suffixTap),
// prefixIconConstraints: BoxConstraints(minWidth: 50),
// prefixIcon: suffix == null
// ? null
// : Text(
// "+" + suffix,
// style: TextStyle(
// fontSize: 14,
// height: 21 / 14,
// fontWeight: FontWeight.w500,
// color: Color(0xff2E303A),
// letterSpacing: -0.56,
// ),
// ),
contentPadding: EdgeInsets.zero, contentPadding: EdgeInsets.zero,
border: InputBorder.none, border: InputBorder.none,
focusedBorder: InputBorder.none, focusedBorder: InputBorder.none,
@ -581,8 +504,11 @@ class _SendFeedbackPageState extends State<SendFeedbackPage> {
GifLoaderDialogUtils.hideDialog(context); GifLoaderDialogUtils.hideDialog(context);
setState(() { setState(() {
appointHistory = null; appointHistory = null;
isShowListAppointHistory = true;
}); });
}); });
} else {
isShowListAppointHistory = false;
} }
setMessageType(value); setMessageType(value);
}, },

@ -1,13 +1,16 @@
import 'package:diplomaticquarterapp/core/viewModels/feedback/feedback_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/feedback/feedback_view_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart'; import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/pages/feedback/feedback-detail.dart'; import 'package:diplomaticquarterapp/pages/feedback/feedback-detail.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart';
import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart'; import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/medical/doctor_card.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
class StatusFeedbackPage extends StatefulWidget { class StatusFeedbackPage extends StatefulWidget {
@override @override
@ -17,6 +20,7 @@ class StatusFeedbackPage extends StatefulWidget {
class _StatusFeedbackPageState extends State<StatusFeedbackPage> { class _StatusFeedbackPageState extends State<StatusFeedbackPage> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
ProjectViewModel projectViewModel = Provider.of(context);
return BaseView<FeedbackViewModel>( return BaseView<FeedbackViewModel>(
onModelReady: (model) => model.getCOC(), onModelReady: (model) => model.getCOC(),
builder: (_, model, widget) => AppScaffold( builder: (_, model, widget) => AppScaffold(
@ -28,67 +32,70 @@ class _StatusFeedbackPageState extends State<StatusFeedbackPage> {
child: model.cOCItemList.isNotEmpty child: model.cOCItemList.isNotEmpty
? Container( ? Container(
margin: EdgeInsets.only(top: 8.0, left: 8.0, right: 8.0, bottom: 80), margin: EdgeInsets.only(top: 8.0, left: 8.0, right: 8.0, bottom: 80),
padding: EdgeInsets.all(15.0),
child: ListView.builder( child: ListView.builder(
itemCount: model.cOCItemList.length, itemCount: model.cOCItemList.length,
itemBuilder: (context, index) => InkWell( itemBuilder: (context, index) => InkWell(
onTap: () { onTap: () {
gotodetails(model.cOCItemList[index]); // gotodetails(model.cOCItemList[index]);
}, },
child: Container( child: Card(
decoration: BoxDecoration( shape: cardRadius(12),
shape: BoxShape.rectangle, margin: EdgeInsets.all(10),
border: Border.all(color: Colors.white, width: 0.5), child: Padding(
borderRadius: BorderRadius.all(Radius.circular(5)), padding: const EdgeInsets.all(12.0),
color: Colors.white, child: Row(
), mainAxisAlignment: MainAxisAlignment.spaceBetween,
margin: EdgeInsets.all(4), children: [
child: Padding( Column(
padding: const EdgeInsets.all(8.0), crossAxisAlignment: CrossAxisAlignment.start,
child: Column( children: [
crossAxisAlignment: CrossAxisAlignment.start, Text(projectViewModel.isArabic ? model.cOCItemList[index].statusAr : model.cOCItemList[index].status,
children: <Widget>[ style: TextStyle(fontSize: 14.0, letterSpacing: -0.56, fontWeight: FontWeight.bold)),
SizedBox( Container(
height: 8, margin: EdgeInsets.only(top: 5.0),
), child: Text(model.cOCItemList[index].formType,
Row( style: TextStyle(
mainAxisAlignment: MainAxisAlignment.spaceBetween, fontSize: 14,
children: <Widget>[ fontWeight: FontWeight.w600,
Expanded( fontFamily: projectViewModel.isArabic ? 'Cairo' : 'Poppins',
child: Column( color: Color(0xff2B353E),
crossAxisAlignment: CrossAxisAlignment.start, letterSpacing: -0.48,
children: <Widget>[ height: 18 / 12))),
Texts('${model.cOCItemList[index].cOCTitle}'), myRichText(TranslationBase.of(context).number + ": ", model.cOCItemList[index].itemID.toString(), projectViewModel.isArabic),
Texts( Text(model.cOCItemList[index].cOCTitle,
TranslationBase.of(context).number + ' : ${model.cOCItemList[index].itemID}', style: TextStyle(
variant: 'overline', fontSize: 14,
), fontWeight: FontWeight.w600,
], fontFamily: projectViewModel.isArabic ? 'Cairo' : 'Poppins',
), color: Color(0xff2B353E),
), letterSpacing: -0.48,
Expanded( height: 18 / 12)),
child: Column( ],
crossAxisAlignment: CrossAxisAlignment.start, ),
children: <Widget>[ Column(
Texts('${model.cOCItemList[index].status}'), crossAxisAlignment: CrossAxisAlignment.end,
Texts( children: [
'${model.cOCItemList[index].date}', Text(model.cOCItemList[index].date.split(" ")[0],
variant: 'overline', style: TextStyle(
), fontSize: 12,
], fontWeight: FontWeight.w600,
), fontFamily: projectViewModel.isArabic ? 'Cairo' : 'Poppins',
), color: Color(0xff2B353E),
], letterSpacing: -0.48)),
), Text(model.cOCItemList[index].date.split(" ")[1],
Texts('${model.cOCItemList[index].formType}'), style: TextStyle(
Divider( fontSize: 12,
height: 4.5, fontWeight: FontWeight.w600,
color: Colors.grey[500], fontFamily: projectViewModel.isArabic ? 'Cairo' : 'Poppins',
) color: Color(0xff2B353E),
], letterSpacing: -0.48)),
],
),
],
),
), ),
), ),
))), )),
) )
: Center( : Center(
child: Column( child: Column(
@ -122,7 +129,8 @@ class _StatusFeedbackPageState extends State<StatusFeedbackPage> {
padding: EdgeInsets.only(top: 16, bottom: 16, right: 21, left: 21), padding: EdgeInsets.only(top: 16, bottom: 16, right: 21, left: 21),
child: DefaultButton( child: DefaultButton(
TranslationBase.of(context).search, TranslationBase.of(context).search,
() => {}, projectViewModel.isLogin ? null : () => {},
disabledColor: Colors.grey,
), ),
), ),
], ],

@ -1,5 +1,6 @@
import 'dart:io'; import 'dart:io';
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/bottom_options/BottomSheet.dart'; import 'package:diplomaticquarterapp/widgets/bottom_options/BottomSheet.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
@ -154,8 +155,12 @@ class _AttachInsuranceCardImageDialogState extends State<AttachInsuranceCardImag
flex: 1, flex: 1,
child: InkWell( child: InkWell(
onTap: () { onTap: () {
Navigator.pop(context); if(file != null && image != null) {
widget.image(file, image); Navigator.pop(context);
widget.image(file, image);
} else {
AppToast.showErrorToast(message: TranslationBase.of(context).noInsuranceCardAttached);
}
}, },
child: Padding( child: Padding(
padding: const EdgeInsets.all(8.0), padding: const EdgeInsets.all(8.0),

@ -2,7 +2,9 @@ import 'package:diplomaticquarterapp/core/model/ImagesInfo.dart';
import 'package:diplomaticquarterapp/core/viewModels/insurance_card_View_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/insurance_card_View_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/extensions/string_extensions.dart'; import 'package:diplomaticquarterapp/extensions/string_extensions.dart';
import 'package:diplomaticquarterapp/theme/colors.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart';
import 'package:diplomaticquarterapp/widgets/avatar/large_avatar.dart'; import 'package:diplomaticquarterapp/widgets/avatar/large_avatar.dart';
import 'package:diplomaticquarterapp/widgets/data_display/medical/doctor_card.dart'; import 'package:diplomaticquarterapp/widgets/data_display/medical/doctor_card.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
@ -45,7 +47,7 @@ class _InsuranceApprovalState extends State<InsuranceApproval> {
description: TranslationBase.of(context).infoApprovals, description: TranslationBase.of(context).infoApprovals,
infoList: TranslationBase.of(context).infoApprovalPoints, infoList: TranslationBase.of(context).infoApprovalPoints,
imagesInfo: imagesInfo, imagesInfo: imagesInfo,
body: ListView.separated( body: model.insuranceApproval.length > 0 ? ListView.separated(
padding: EdgeInsets.all(21), padding: EdgeInsets.all(21),
physics: BouncingScrollPhysics(), physics: BouncingScrollPhysics(),
itemBuilder: (_, index) { itemBuilder: (_, index) {
@ -164,7 +166,7 @@ class _InsuranceApprovalState extends State<InsuranceApproval> {
); );
}, },
separatorBuilder: (context, index) => SizedBox(height: 12), separatorBuilder: (context, index) => SizedBox(height: 12),
itemCount: model.insuranceApproval.length)), itemCount: model.insuranceApproval.length) : getNoDataWidget(context)),
); );
} }

@ -150,7 +150,9 @@ class InsurancePage extends StatelessWidget {
patientID: patientID, patientID: patientID,
patientIdentificationID: patientIdentificationID, patientIdentificationID: patientIdentificationID,
name: name, name: name,
))); ))).then((value) {
model.getInsuranceUpdated();
});
} else { } else {
AppToast.showErrorToast(message: _insuranceCardService.error); AppToast.showErrorToast(message: _insuranceCardService.error);
} }

@ -4,9 +4,11 @@ import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart
import 'package:diplomaticquarterapp/pages/BookAppointment/widgets/DoctorView.dart'; import 'package:diplomaticquarterapp/pages/BookAppointment/widgets/DoctorView.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart'; import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/pages/medical/ask_doctor/request_type.dart'; import 'package:diplomaticquarterapp/pages/medical/ask_doctor/request_type.dart';
import 'package:diplomaticquarterapp/theme/colors.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart'; import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart'; import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/others/app_expandable_notifier.dart'; import 'package:diplomaticquarterapp/widgets/others/app_expandable_notifier.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
@ -22,7 +24,20 @@ class AskDoctorPage extends StatelessWidget {
onModelReady: (model) => model.getMyDoctor(), onModelReady: (model) => model.getMyDoctor(),
builder: (_, model, w) => AppScaffold( builder: (_, model, w) => AppScaffold(
baseViewModel: model, baseViewModel: model,
body: _appointmentExpandableList(model.patientDoctorAppointmentListHospital, model), body: model.patientDoctorAppointmentListHospital.length > 0 ? _appointmentExpandableList(model.patientDoctorAppointmentListHospital, model) : noDoctor(context),
),
);
}
Widget noDoctor(BuildContext context) {
return Container(
margin: EdgeInsets.only(left: 50.0, right: 50.0),
child: Center(
child: Text(TranslationBase.of(context).askDocEmpty, textAlign: TextAlign.center, style: TextStyle(
fontSize: 14,
fontWeight: FontWeight.w400,
color: CustomColors.accentColor
)),
), ),
); );
} }

@ -15,6 +15,7 @@ import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils.dart'; import 'package:diplomaticquarterapp/uitl/utils.dart';
import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
@ -258,16 +259,13 @@ class _AdvancePaymentPageState extends State<AdvancePaymentPage> {
), ),
), ),
bottomSheet: Container( bottomSheet: Container(
height: 70,
width: double.infinity, width: double.infinity,
color: Theme.of(context).scaffoldBackgroundColor,
padding: EdgeInsets.all(12), padding: EdgeInsets.all(12),
color: Colors.white, child: DefaultButton(
child: SecondaryButton( TranslationBase.of(context).submit,
textColor: Colors.white, (amount.isEmpty || _fileTextController.text.isEmpty || _selectedHospital == null) ? null :
label: TranslationBase.of(context).submit, () {
color: CustomColors.accentColor,
disabled: amount.isEmpty || _fileTextController.text.isEmpty || _selectedHospital == null,
onTap: () {
var mobileNum; var mobileNum;
var patientName; var patientName;
@ -320,6 +318,7 @@ class _AdvancePaymentPageState extends State<AdvancePaymentPage> {
} }
}); });
}, },
disabledColor: Colors.grey,
), ),
)), )),
); );

@ -109,7 +109,11 @@ class WeightWeeklyPage extends StatelessWidget {
model: model, model: model,
), ),
), ),
); ).then((value) {
if (model.weekWeightMeasurementResult.isEmpty) {
model.weightWeekTimeSeriesData.clear();
}
});
}, },
child: Container( child: Container(
// height: 70, // height: 70,

@ -111,7 +111,12 @@ class BloodPressureWeeklyPage extends StatelessWidget {
measureTimeSelectedType: diabtec.measuredArmDesc, measureTimeSelectedType: diabtec.measuredArmDesc,
), ),
), ),
); ).then((value) {
if(model.weekDiabtecPatientResult.isEmpty) {
model.weightWeekTimeSeriesDataTop.clear();
model.weightWeekTimeSeriesDataLow.clear();
}
});
}, },
child: Container( child: Container(
// height: 70, // height: 70,

@ -116,7 +116,11 @@ class BloodSugarWeeklyPage extends StatelessWidget {
bloodSugarViewMode: bloodSugarViewMode, bloodSugarViewMode: bloodSugarViewMode,
), ),
), ),
); ).then((value) {
if(bloodSugarViewMode.weekDiabtecPatientResult.isEmpty) {
timeSeriesData.clear();
}
});
}, },
child: Container( child: Container(
// height: 70, // height: 70,

@ -33,7 +33,7 @@ class VitalSignDetailsScreen extends StatelessWidget {
// vitalSigns.add(new VitalSign(TranslationBase.of(context).body, mode.bodyMax, TranslationBase.of(context).mass, "assets/images/new/")); // vitalSigns.add(new VitalSign(TranslationBase.of(context).body, mode.bodyMax, TranslationBase.of(context).mass, "assets/images/new/"));
vitalSigns.add(new VitalSign(TranslationBase.of(context).temperature, mode.temperatureCelcius, TranslationBase.of(context).tempC, "assets/images/new/temperature.svg")); vitalSigns.add(new VitalSign(TranslationBase.of(context).temperature, mode.temperatureCelcius, TranslationBase.of(context).tempC, "assets/images/new/temperature.svg"));
vitalSigns.add(new VitalSign(TranslationBase.of(context).heart, mode.hartRat, TranslationBase.of(context).bpm, "assets/images/new/heart_rate.svg")); vitalSigns.add(new VitalSign(TranslationBase.of(context).heart, mode.hartRat, TranslationBase.of(context).bpm, "assets/images/new/heart_rate.svg"));
vitalSigns.add(new VitalSign(TranslationBase.of(context).respirationRate, mode.respirationBeatPerMinute, TranslationBase.of(context).bpm, "assets/images/new/respiration_rate.svg")); vitalSigns.add(new VitalSign(TranslationBase.of(context).respirationRate, mode.respirationBeatPerMinute, TranslationBase.of(context).respirationBPM, "assets/images/new/respiration_rate.svg"));
vitalSigns.add(new VitalSign(TranslationBase.of(context).bloodPressure, mode.bloodPressure, TranslationBase.of(context).sysDias, "assets/images/new/blood_pressure.svg")); vitalSigns.add(new VitalSign(TranslationBase.of(context).bloodPressure, mode.bloodPressure, TranslationBase.of(context).sysDias, "assets/images/new/blood_pressure.svg"));
} }
@ -71,7 +71,7 @@ class VitalSignDetailsScreen extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Text( Text(
"Body Mass Index is: " + mode.bodyMax, TranslationBase.of(context).bodyMassIndex + mode.bodyMax,
style: TextStyle( style: TextStyle(
fontSize: 16, fontSize: 16,
letterSpacing: -0.64, letterSpacing: -0.64,
@ -83,15 +83,15 @@ class VitalSignDetailsScreen extends StatelessWidget {
height: MediaQuery.of(context).size.width / 2.8, height: MediaQuery.of(context).size.width / 2.8,
child: Row( child: Row(
children: [ children: [
showMass(context, "Underweight", "< 18.5", double.parse(mode.bodyMax) <= 18.5 ? Colors.red : Colors.black, 8), showMass(context, TranslationBase.of(context).underWeight, "< 18.5", double.parse(mode.bodyMax) <= 18.5 ? Colors.red : Colors.black, 8),
mWidth(12), mWidth(12),
showMass(context, "Normal", "18.5 - 24.9", (double.parse(mode.bodyMax) > 18.5 && double.parse(mode.bodyMax) < 25) ? Colors.red : Colors.black, 6), showMass(context, TranslationBase.of(context).healthy, "18.5 - 24.9", (double.parse(mode.bodyMax) > 18.5 && double.parse(mode.bodyMax) < 25) ? Colors.red : Colors.black, 6),
mWidth(12), mWidth(12),
showMass(context, "Overweight", "25 - 29.9", (double.parse(mode.bodyMax) >= 25 && double.parse(mode.bodyMax) < 30) ? Colors.red : Colors.black, 4), showMass(context, TranslationBase.of(context).overWeight, "25 - 29.9", (double.parse(mode.bodyMax) >= 25 && double.parse(mode.bodyMax) < 30) ? Colors.red : Colors.black, 4),
mWidth(12), mWidth(12),
showMass(context, "Obese", "30 - 34.9", (double.parse(mode.bodyMax) >= 30 && double.parse(mode.bodyMax) < 35) ? Colors.red : Colors.black, 2), showMass(context, TranslationBase.of(context).obese, "30 - 34.9", (double.parse(mode.bodyMax) >= 30 && double.parse(mode.bodyMax) < 35) ? Colors.red : Colors.black, 2),
mWidth(12), mWidth(12),
showMass(context, "Extreme Obese", "> 35", (double.parse(mode.bodyMax) >= 35) ? Colors.red : Colors.black, 0), showMass(context, TranslationBase.of(context).extremeObese, "> 35", (double.parse(mode.bodyMax) >= 35) ? Colors.red : Colors.black, 0),
], ],
), ),
), ),

@ -111,7 +111,6 @@ class _RateAppointmentDoctorState extends State<RateAppointmentDoctor> {
color: rating >= (index + 1) color: rating >= (index + 1)
? Color.fromRGBO(255, 186, 0, 1.0) ? Color.fromRGBO(255, 186, 0, 1.0)
: Colors.grey[400], : Colors.grey[400],
// Theme.of(context).hintColor,
icon: Icon(rating >= (index + 1) icon: Icon(rating >= (index + 1)
? Icons.star ? Icons.star
: Icons.star)), : Icons.star)),

@ -2326,6 +2326,15 @@ class TranslationBase {
String get rateAppointment => localizedValues["rateAppointment"][locale.languageCode]; String get rateAppointment => localizedValues["rateAppointment"][locale.languageCode];
String get noInsuranceCardAttached => localizedValues["noInsuranceCardAttached"][locale.languageCode];
String get bodyMassIndex => localizedValues["bodyMassIndex"][locale.languageCode];
String get extremeObese => localizedValues["extremeObese"][locale.languageCode];
String get respirationBPM => localizedValues["respirationBPM"][locale.languageCode];
} }
class TranslationBaseDelegate extends LocalizationsDelegate<TranslationBase> { class TranslationBaseDelegate extends LocalizationsDelegate<TranslationBase> {

@ -1,6 +1,9 @@
import 'dart:ui'; import 'dart:ui';
import 'package:diplomaticquarterapp/theme/colors.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
Decoration appGradient = BoxDecoration( Decoration appGradient = BoxDecoration(
gradient: LinearGradient( gradient: LinearGradient(
@ -23,6 +26,22 @@ Color getColorFromHex(String hexColor) {
return Color(int.parse(hexColor, radix: 16)); return Color(int.parse(hexColor, radix: 16));
} }
Widget getNoDataWidget(BuildContext context) {
return Container(
child: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
SvgPicture.asset('assets/images/new/not_found.svg', width: 110.0, height: 110.0),
Container(
margin: EdgeInsets.only(top: 15.0),
child: Text(TranslationBase.of(context).noResultFound, style: TextStyle(fontSize: 14, fontWeight: FontWeight.w400, color: Color(0xFFBABABA)))),
],
),
),
);
}
spacerVertical(double v) { spacerVertical(double v) {
return Container( return Container(
height: v, height: v,

@ -133,7 +133,7 @@ class DoctorCard extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.end, crossAxisAlignment: CrossAxisAlignment.end,
children: [ children: [
Text( Text(
DateUtil.getDayMonthYearDateFormattedLang(date, projectViewModel.isArabic), DateUtil.getDayMonthYearDateFormatted(date),
style: TextStyle(fontSize: 14, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.48, height: 18 / 12), style: TextStyle(fontSize: 14, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.48, height: 18 / 12),
), ),
Text( Text(

@ -75,7 +75,7 @@ class DoctorHeader extends StatelessWidget {
children: [ children: [
if (headerModel.date != null) if (headerModel.date != null)
Text( Text(
DateUtil.getDayMonthYearDateFormattedLang(headerModel.date, projectViewModel.isArabic), DateUtil.getDayMonthYearDateFormatted(headerModel.date),
style: TextStyle(fontSize: 14, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.48, height: 18 / 12), style: TextStyle(fontSize: 14, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.48, height: 18 / 12),
), ),
if (headerModel.time != null) if (headerModel.time != null)
@ -118,7 +118,7 @@ class DoctorHeader extends StatelessWidget {
), ),
SizedBox(width: 6), SizedBox(width: 6),
Text( Text(
"${headerModel.totalReviews} ${TranslationBase.of(context).reviews}", "${headerModel.totalReviews == null ? 0 : headerModel.totalReviews} ${TranslationBase.of(context).reviews}",
style: TextStyle( style: TextStyle(
fontSize: 12, fontSize: 12,
fontWeight: FontWeight.w600, fontWeight: FontWeight.w600,

Loading…
Cancel
Save