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

Haroon new design

See merge request Cloud_Solution/diplomatic-quarter!440
merge-requests/441/merge
haroon amjad 3 years ago
commit a996f83ee1

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

@ -610,7 +610,7 @@ const Map localizedValues = {
"years-old": {"en": "years old", "ar": "سنة"}, "years-old": {"en": "years old", "ar": "سنة"},
"drag-point": {"en": "Drag point to change your age", "ar": "اسحب لتغيير عمرك"}, "drag-point": {"en": "Drag point to change your age", "ar": "اسحب لتغيير عمرك"},
"refine": {"en": "Refine", "ar": "تصفية"}, "refine": {"en": "Refine", "ar": "تصفية"},
"reset": {"en": "Reset", "ar": "اعادة ضبط"}, "reset": {"en": "Reset", "ar": "اعادة تعيين"},
"apply": {"en": "Apply", "ar": "تطبيق"}, "apply": {"en": "Apply", "ar": "تطبيق"},
"viewCategorise": {"en": "View All Categories", "ar": "عرض جميع الفئات"}, "viewCategorise": {"en": "View All Categories", "ar": "عرض جميع الفئات"},
"categorise": {"en": "Categories", "ar": "التطبيقات"}, "categorise": {"en": "Categories", "ar": "التطبيقات"},
@ -1497,12 +1497,12 @@ const Map localizedValues = {
"years": {"en": "Years", "ar": "سنوات"}, "years": {"en": "Years", "ar": "سنوات"},
"respirationBPM": {"en": "bpm", "ar": "نفس"}, "respirationBPM": {"en": "bpm", "ar": "نفس"},
"extremeObese": {"en": "Extreme Obese", "ar": "السمنة المفرطة"}, "extremeObese": {"en": "Extreme Obese", "ar": "السمنة المفرطة"},
"invoiceDetails": {"en": "Invoice Details", "ar": "تفاصيل الفاتورة"},
"appoDetails": {"en": "Appointment Details", "ar": "تفاصيل الموعد"},
"appoPaymentConfirm": {"en": "Are you sure you Want to make payment for this appointment?", "ar": "هل أنت متأكد من أنك تريد سداد هذا الموعد؟"},
"selectLanguage": { "en": "Please select any language:", "ar": ":الرجاء تحديد أي لغة" }, "selectLanguage": { "en": "Please select any language:", "ar": ":الرجاء تحديد أي لغة" },
"recAlert": { "en": "How do you want to receive alerts?", "ar": "كيف تريد تلقي التنبيهات؟" }, "recAlert": { "en": "How do you want to receive alerts?", "ar": "كيف تريد تلقي التنبيهات؟" },
"modesBelow": { "en": "Please select the modes below:", "ar": ":الرجاء تحديد الأوضاع أدناه" }, "modesBelow": { "en": "Please select the modes below:", "ar": ":الرجاء تحديد الأوضاع أدناه" },
"prefferedMode": { "en": "Please select the preferred mode below:", "ar": ":الرجاء تحديد الوضع المفضل أدناه" }, "prefferedMode": { "en": "Please select the preferred mode below:", "ar": ":الرجاء تحديد الوضع المفضل أدناه" },
"permissionsBellow": { "en": "Please allow the permissions below:", "ar": ":الرجاء السماح الأذونات أدناه" }, "permissionsBellow": { "en": "Please allow the permissions below:", "ar": ":الرجاء السماح الأذونات أدناه" },
"invoiceDetails": { "en": "Invoice Details", "ar": "تفاصيل الفاتورة" },
"appoDetails": {"en": "Appointment Details", "ar": "تفاصيل الموعد"},
"appoPaymentConfirm": {"en": "Are you sure you Want to make payment for this appointment?", "ar": "هل أنت متأكد من أنك تريد سداد هذا الموعد؟"},
}; };

@ -117,8 +117,6 @@ class EReferralService extends BaseService {
_allReferral.clear(); _allReferral.clear();
hasError = false; hasError = false;
searchEReferralRequestModel.patientMobileNumber = "966545156035";
// TODO return this code when the fix the server // TODO return this code when the fix the server
await baseAppClient.post(GET_E_REFERRALS, await baseAppClient.post(GET_E_REFERRALS,
onSuccess: (dynamic response, int statusCode) { onSuccess: (dynamic response, int statusCode) {

@ -24,6 +24,7 @@ class BloodPressureService extends BaseService {
monthDiabtectResultAverageList.clear(); monthDiabtectResultAverageList.clear();
weekDiabtectResultAverageList.clear(); weekDiabtectResultAverageList.clear();
yearDiabtecResultAverageList.clear(); yearDiabtecResultAverageList.clear();
response['List_MonthBloodPressureResultAverage'].forEach((item) { response['List_MonthBloodPressureResultAverage'].forEach((item) {
monthDiabtectResultAverageList monthDiabtectResultAverageList
.add(MonthBloodPressureResultAverage.fromJson(item)); .add(MonthBloodPressureResultAverage.fromJson(item));
@ -111,6 +112,7 @@ class BloodPressureService extends BaseService {
{String bloodPressureDate, {String bloodPressureDate,
String diastolicPressure, String diastolicPressure,
String systolicePressure, String systolicePressure,
int lineItemNo,
int measuredArm}) async { int measuredArm}) async {
hasError = false; hasError = false;
super.error = ""; super.error = "";
@ -120,6 +122,7 @@ class BloodPressureService extends BaseService {
body['DiastolicPressure'] = diastolicPressure; body['DiastolicPressure'] = diastolicPressure;
body['SystolicePressure'] = systolicePressure; body['SystolicePressure'] = systolicePressure;
body['MeasuredArm'] ='$measuredArm'; body['MeasuredArm'] ='$measuredArm';
body['LineItemNo'] = lineItemNo;
body['isDentalAllowedBackend'] = false; body['isDentalAllowedBackend'] = false;
await baseAppClient.post(UPDATE_BLOOD_PRESSURE_RESULT, await baseAppClient.post(UPDATE_BLOOD_PRESSURE_RESULT,

@ -20,10 +20,10 @@ class WeightService extends BaseService {
hasError = false; hasError = false;
Map<String, dynamic> body = Map(); Map<String, dynamic> body = Map();
body['isDentalAllowedBackend'] = false; body['isDentalAllowedBackend'] = false;
await baseAppClient.post(GET_WEIGHT_PRESSURE_RESULT_AVERAGE, onSuccess: (dynamic response, int statusCode) {
monthWeightMeasurementResultAverage.clear(); monthWeightMeasurementResultAverage.clear();
weekWeightMeasurementResultAverage.clear(); weekWeightMeasurementResultAverage.clear();
yearWeightMeasurementResultAverage.clear(); yearWeightMeasurementResultAverage.clear();
await baseAppClient.post(GET_WEIGHT_PRESSURE_RESULT_AVERAGE, onSuccess: (dynamic response, int statusCode) {
response['List_MonthWeightMeasurementResultAverage'].forEach((item) { response['List_MonthWeightMeasurementResultAverage'].forEach((item) {
monthWeightMeasurementResultAverage.add(MonthWeightMeasurementResultAverage.fromJson(item)); monthWeightMeasurementResultAverage.add(MonthWeightMeasurementResultAverage.fromJson(item));
}); });
@ -43,10 +43,10 @@ class WeightService extends BaseService {
Future getWeightMeasurementResult() async { Future getWeightMeasurementResult() async {
hasError = false; hasError = false;
await baseAppClient.post(GET_WEIGHT_PRESSURE_RESULT, onSuccess: (dynamic response, int statusCode) {
monthWeightMeasurementResult.clear(); monthWeightMeasurementResult.clear();
weekWeightMeasurementResult.clear(); weekWeightMeasurementResult.clear();
yearWeightMeasurementResult.clear(); yearWeightMeasurementResult.clear();
await baseAppClient.post(GET_WEIGHT_PRESSURE_RESULT, onSuccess: (dynamic response, int statusCode) {
response['List_WeekWeightMeasurementResult'].forEach((item) { response['List_WeekWeightMeasurementResult'].forEach((item) {
weekWeightMeasurementResult.add(WeightMeasurementResult.fromJson(item)); weekWeightMeasurementResult.add(WeightMeasurementResult.fromJson(item));

@ -75,17 +75,17 @@ class BloodPressureViewMode extends BaseViewModel {
} }
} }
Future addORUpdateDiabtecResult({String bloodPressureDate, String diastolicPressure, String systolicePressure, int measuredArm, bool isUpdate = false}) async { Future addORUpdateDiabtecResult({String bloodPressureDate, String diastolicPressure, String systolicePressure, int measuredArm, int lineItemNo, bool isUpdate = false}) async {
setState(ViewState.BusyLocal); setState(ViewState.BusyLocal);
if (!isUpdate) if (!isUpdate)
await bloodPressureService.addDiabtecResult(bloodPressureDate: bloodPressureDate, diastolicPressure: diastolicPressure, systolicePressure: systolicePressure, measuredArm: measuredArm); await bloodPressureService.addDiabtecResult(bloodPressureDate: bloodPressureDate, diastolicPressure: diastolicPressure, systolicePressure: systolicePressure, measuredArm: measuredArm);
else else
await bloodPressureService.updateDiabtecResult(bloodPressureDate: bloodPressureDate, diastolicPressure: diastolicPressure, systolicePressure: systolicePressure, measuredArm: measuredArm); await bloodPressureService.updateDiabtecResult(bloodPressureDate: bloodPressureDate, diastolicPressure: diastolicPressure, systolicePressure: systolicePressure, measuredArm: measuredArm, lineItemNo: lineItemNo);
if (bloodPressureService.hasError) { if (bloodPressureService.hasError) {
error = bloodPressureService.error; error = bloodPressureService.error;
setState(ViewState.ErrorLocal); setState(ViewState.ErrorLocal);
} else { } else {
await getBloodPressure(); // await getBloodPressure();
setState(ViewState.Idle); setState(ViewState.Idle);
} }
} }

@ -39,6 +39,7 @@ class AppoitmentAllHistoryResultList {
String doctorImageURL; String doctorImageURL;
String doctorNameObj; String doctorNameObj;
int doctorRate; int doctorRate;
dynamic decimalDoctorRate;
List<String> doctorSpeciality; List<String> doctorSpeciality;
String doctorTitle; String doctorTitle;
int gender; int gender;
@ -108,6 +109,7 @@ class AppoitmentAllHistoryResultList {
this.doctorImageURL, this.doctorImageURL,
this.doctorNameObj, this.doctorNameObj,
this.doctorRate, this.doctorRate,
this.decimalDoctorRate,
this.doctorSpeciality, this.doctorSpeciality,
this.doctorTitle, this.doctorTitle,
this.gender, this.gender,
@ -176,6 +178,7 @@ class AppoitmentAllHistoryResultList {
doctorImageURL = json['DoctorImageURL']; doctorImageURL = json['DoctorImageURL'];
doctorNameObj = json['DoctorNameObj']; doctorNameObj = json['DoctorNameObj'];
doctorRate = json['DoctorRate']; doctorRate = json['DoctorRate'];
decimalDoctorRate = json['DecimalDoctorRate'];
doctorSpeciality = json['DoctorSpeciality'] != null doctorSpeciality = json['DoctorSpeciality'] != null
? json['DoctorSpeciality'].cast<String>() ? json['DoctorSpeciality'].cast<String>()
: ["null"]; : ["null"];
@ -250,6 +253,7 @@ class AppoitmentAllHistoryResultList {
data['DoctorImageURL'] = this.doctorImageURL; data['DoctorImageURL'] = this.doctorImageURL;
data['DoctorNameObj'] = this.doctorNameObj; data['DoctorNameObj'] = this.doctorNameObj;
data['DoctorRate'] = this.doctorRate; data['DoctorRate'] = this.doctorRate;
data['DecimalDoctorRate'] = this.decimalDoctorRate;
data['DoctorSpeciality'] = this.doctorSpeciality; data['DoctorSpeciality'] = this.doctorSpeciality;
data['DoctorTitle'] = this.doctorTitle; data['DoctorTitle'] = this.doctorTitle;
data['Gender'] = this.gender; data['Gender'] = this.gender;

@ -35,6 +35,7 @@ class DoctorProfileList {
int actualDoctorRate; int actualDoctorRate;
String doctorImageURL; String doctorImageURL;
int doctorRate; int doctorRate;
double decimalDoctorRate;
String doctorTitleForProfile; String doctorTitleForProfile;
bool isAppointmentAllowed; bool isAppointmentAllowed;
String nationalityFlagURL; String nationalityFlagURL;
@ -79,6 +80,7 @@ class DoctorProfileList {
this.actualDoctorRate, this.actualDoctorRate,
this.doctorImageURL, this.doctorImageURL,
this.doctorRate, this.doctorRate,
this.decimalDoctorRate,
this.doctorTitleForProfile, this.doctorTitleForProfile,
this.isAppointmentAllowed, this.isAppointmentAllowed,
this.nationalityFlagURL, this.nationalityFlagURL,
@ -123,6 +125,7 @@ class DoctorProfileList {
actualDoctorRate = json['ActualDoctorRate']; actualDoctorRate = json['ActualDoctorRate'];
doctorImageURL = json['DoctorImageURL']; doctorImageURL = json['DoctorImageURL'];
doctorRate = json['DoctorRate']; doctorRate = json['DoctorRate'];
decimalDoctorRate = json['DecimalDoctorRate'];
doctorTitleForProfile = json['DoctorTitleForProfile']; doctorTitleForProfile = json['DoctorTitleForProfile'];
isAppointmentAllowed = json['IsAppointmentAllowed']; isAppointmentAllowed = json['IsAppointmentAllowed'];
nationalityFlagURL = json['NationalityFlagURL']; nationalityFlagURL = json['NationalityFlagURL'];
@ -169,6 +172,7 @@ class DoctorProfileList {
data['ActualDoctorRate'] = this.actualDoctorRate; data['ActualDoctorRate'] = this.actualDoctorRate;
data['DoctorImageURL'] = this.doctorImageURL; data['DoctorImageURL'] = this.doctorImageURL;
data['DoctorRate'] = this.doctorRate; data['DoctorRate'] = this.doctorRate;
data['DecimalDoctorRate'] = this.decimalDoctorRate;
data['DoctorTitleForProfile'] = this.doctorTitleForProfile; data['DoctorTitleForProfile'] = this.doctorTitleForProfile;
data['IsAppointmentAllowed'] = this.isAppointmentAllowed; data['IsAppointmentAllowed'] = this.isAppointmentAllowed;
data['NationalityFlagURL'] = this.nationalityFlagURL; data['NationalityFlagURL'] = this.nationalityFlagURL;

@ -4,13 +4,15 @@ class DoctorRateDetails {
dynamic clinicID; dynamic clinicID;
dynamic rate; dynamic rate;
dynamic patientNumber; dynamic patientNumber;
dynamic ratio;
DoctorRateDetails( DoctorRateDetails(
{this.doctorID, {this.doctorID,
this.projectID, this.projectID,
this.clinicID, this.clinicID,
this.rate, this.rate,
this.patientNumber}); this.patientNumber,
this.ratio});
DoctorRateDetails.fromJson(Map<String, dynamic> json) { DoctorRateDetails.fromJson(Map<String, dynamic> json) {
doctorID = json['DoctorID']; doctorID = json['DoctorID'];
@ -18,6 +20,7 @@ class DoctorRateDetails {
clinicID = json['ClinicID']; clinicID = json['ClinicID'];
rate = json['Rate']; rate = json['Rate'];
patientNumber = json['PatientNumber']; patientNumber = json['PatientNumber'];
ratio = json['Ratio'];
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@ -27,6 +30,7 @@ class DoctorRateDetails {
data['ClinicID'] = this.clinicID; data['ClinicID'] = this.clinicID;
data['Rate'] = this.rate; data['Rate'] = this.rate;
data['PatientNumber'] = this.patientNumber; data['PatientNumber'] = this.patientNumber;
data['Ratio'] = this.ratio;
return data; return data;
} }
} }

@ -11,8 +11,9 @@ class HeaderModel {
int doctorRate; int doctorRate;
int actualDoctorRate; int actualDoctorRate;
int totalReviews; int totalReviews;
String decimalDoctorRate;
String email; String email;
HeaderModel(this.doctorName, this.doctorId, this.doctorImageURL, this.speciality, this.invoiceNo, this.projectName, this.date, this.time, this.nationalityFlagURL, this.doctorRate, HeaderModel(this.doctorName, this.doctorId, this.doctorImageURL, this.speciality, this.invoiceNo, this.projectName, this.date, this.time, this.nationalityFlagURL, this.doctorRate,
this.actualDoctorRate, this.totalReviews, this.email); this.actualDoctorRate, this.totalReviews, this.email, {this.decimalDoctorRate = null});
} }

@ -49,7 +49,7 @@ class OrdersLogDetailsPage extends StatelessWidget {
return AppScaffold( return AppScaffold(
isShowAppBar: false, isShowAppBar: false,
baseViewModel: model, baseViewModel: model,
body: ListView.separated( body: model.hhcAllPresOrders.length > 0 ? ListView.separated(
padding: EdgeInsets.all(21), padding: EdgeInsets.all(21),
physics: BouncingScrollPhysics(), physics: BouncingScrollPhysics(),
itemBuilder: (context, index) { itemBuilder: (context, index) {
@ -170,7 +170,7 @@ class OrdersLogDetailsPage extends StatelessWidget {
); );
}, },
separatorBuilder: (context, index) => SizedBox(height: 12), separatorBuilder: (context, index) => SizedBox(height: 12),
itemCount: model.hhcAllPresOrders.length), itemCount: model.hhcAllPresOrders.length) : getNoDataWidget(context),
); );
} }
} }

@ -32,7 +32,7 @@ class ParkingPage extends StatelessWidget {
? Column( ? Column(
children: <Widget>[ children: <Widget>[
Texts( Texts(
TranslationBase.of(context).parkingTitle, TranslationBase.of(context).parkingDescription,
fontWeight: FontWeight.normal, fontWeight: FontWeight.normal,
fontSize: 15, fontSize: 15,
), ),
@ -149,6 +149,7 @@ class ParkingPage extends StatelessWidget {
), ),
bottomSheet: !model.isSavePark bottomSheet: !model.isSavePark
? Container( ? Container(
color: Theme.of(context).scaffoldBackgroundColor,
height: MediaQuery.of(context).size.height * 0.10, height: MediaQuery.of(context).size.height * 0.10,
width: double.infinity, width: double.infinity,
child: Column( child: Column(

@ -115,6 +115,7 @@ class _DoctorProfileState extends State<DoctorProfile> with TickerProviderStateM
widget.doctor.actualDoctorRate, widget.doctor.actualDoctorRate,
widget.docProfileList.noOfPatientsRate, widget.docProfileList.noOfPatientsRate,
"", "",
decimalDoctorRate: widget.docProfileList.decimalDoctorRate.toString(),
), ),
buttonIcon: 'assets/images/new/Boo_ Appointment.svg', buttonIcon: 'assets/images/new/Boo_ Appointment.svg',
showConfirmMessageDialog: false, showConfirmMessageDialog: false,

@ -1,5 +1,6 @@
import 'dart:ui'; import 'dart:ui';
import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart'; import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/config/size_config.dart'; import 'package:diplomaticquarterapp/config/size_config.dart';
import 'package:diplomaticquarterapp/core/model/ImagesInfo.dart'; import 'package:diplomaticquarterapp/core/model/ImagesInfo.dart';
@ -34,7 +35,6 @@ 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'; import 'package:provider/provider.dart';
import 'package:diplomaticquarterapp/config/config.dart';
class MyFamily extends StatefulWidget { class MyFamily extends StatefulWidget {
final bool isAppbarVisible; final bool isAppbarVisible;
@ -192,24 +192,40 @@ class _MyFamily extends State<MyFamily> with TickerProviderStateMixin {
Row( Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ children: [
Row( Container(
children: [ margin: EdgeInsets.only(top: 5.0),
CupertinoSwitch( width: 100.0,
value: isSwitchUser, child: DefaultButton(
onChanged: (value) {
setState(() {
isSwitchUser = value;
});
if (isSwitchUser == true) switchUser(snapshot.data.getAllSharedRecordsByStatusList[index], context);
},
),
Texts(
TranslationBase.of(context).switchUser, TranslationBase.of(context).switchUser,
() {
// setState(() {
// isSwitchUser = value;
// });
switchUser(snapshot.data.getAllSharedRecordsByStatusList[index], AppGlobal.context);
},
fontSize: 12.0,
color: Colors.white, color: Colors.white,
fontSize: 12, textColor: Colors.black,
) ),
],
), ),
// Row(
// children: [
// CupertinoSwitch(
// value: isSwitchUser,
// onChanged: (value) {
// setState(() {
// isSwitchUser = value;
// });
// if (isSwitchUser == true) switchUser(snapshot.data.getAllSharedRecordsByStatusList[index], context);
// },
// ),
// Texts(
// TranslationBase.of(context).switchUser,
// color: Colors.white,
// fontSize: 12,
// )
// ],
// ),
InkWell( InkWell(
onTap: () { onTap: () {
deleteFamily(snapshot.data.getAllSharedRecordsByStatusList[index], context); deleteFamily(snapshot.data.getAllSharedRecordsByStatusList[index], context);

@ -106,6 +106,7 @@ class _AppointmentDetailsState extends State<AppointmentDetails> with SingleTick
widget.appo.actualDoctorRate, widget.appo.actualDoctorRate,
widget.appo.noOfPatientsRate, widget.appo.noOfPatientsRate,
"", "",
decimalDoctorRate: widget.appo.decimalDoctorRate.toString()
//model.user.emailAddress, //model.user.emailAddress,
), ),
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, 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,
@ -326,12 +327,10 @@ class _AppointmentDetailsState extends State<AppointmentDetails> with SingleTick
child: Column( child: Column(
children: [ children: [
Container( Container(
alignment: Alignment.center,
width: MediaQuery.of(context).size.width, width: MediaQuery.of(context).size.width,
color: Theme.of(context).primaryColor,
margin: EdgeInsets.only(bottom: 5.0), margin: EdgeInsets.only(bottom: 5.0),
padding: EdgeInsets.all(10.0), padding: EdgeInsets.all(10.0),
child: Text(TranslationBase.of(context).doctorRating, style: TextStyle(fontSize: 22.0, color: Colors.white))), child: Text(TranslationBase.of(context).doctorRating, style: TextStyle(fontSize: 22.0, color: Colors.black))),
Container(margin: EdgeInsets.only(top: 0.0), child: Text(this.widget.appo.actualDoctorRate.ceilToDouble().toString(), style: TextStyle(fontSize: 32.0, color: Colors.black))), Container(margin: EdgeInsets.only(top: 0.0), child: Text(this.widget.appo.actualDoctorRate.ceilToDouble().toString(), style: TextStyle(fontSize: 32.0, color: Colors.black))),
Container( Container(
margin: EdgeInsets.only(top: 5.0), margin: EdgeInsets.only(top: 5.0),

@ -167,7 +167,6 @@ class _MyAppointmentsState extends State<MyAppointments> with SingleTickerProvid
GifLoaderDialogUtils.hideDialog(context); GifLoaderDialogUtils.hideDialog(context);
print(err); print(err);
AppToast.showErrorToast(message: err); AppToast.showErrorToast(message: err);
Navigator.of(context).pop();
}); });
} }

@ -125,7 +125,7 @@ class _StatusFeedbackPageState extends State<StatusFeedbackPage> {
), ),
], ],
), ),
bottomSheet: Container( bottomSheet: projectViewModel.isLogin ? Container(
color: Colors.white, color: Colors.white,
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(
@ -133,7 +133,7 @@ class _StatusFeedbackPageState extends State<StatusFeedbackPage> {
projectViewModel.isLogin ? null : () => {}, projectViewModel.isLogin ? null : () => {},
disabledColor: Colors.grey, disabledColor: Colors.grey,
), ),
), ) : Container(),
), ),
); );
} }

@ -53,7 +53,7 @@ class _HomePageFragment2State extends State<HomePageFragment2> {
hmgServices.clear(); hmgServices.clear();
hmgServices.add(new HmgServices(0, TranslationBase.of(context).liveCare, TranslationBase.of(context).onlineConsulting, "assets/images/new/Live_Care.svg", isLogin)); hmgServices.add(new HmgServices(0, TranslationBase.of(context).liveCare, TranslationBase.of(context).onlineConsulting, "assets/images/new/Live_Care.svg", isLogin));
hmgServices.add(new HmgServices(1, TranslationBase.of(context).covidTest, TranslationBase.of(context).driveThru, "assets/images/new/covid_test_drive_thru.svg", isLogin)); hmgServices.add(new HmgServices(1, TranslationBase.of(context).covidTest, TranslationBase.of(context).driveThru, "assets/images/new/covid_test_drive_thru.svg", isLogin));
hmgServices.add(new HmgServices(2, TranslationBase.of(context).online, TranslationBase.of(context).payment, "assets/images/new/visa.png", isLogin)); hmgServices.add(new HmgServices(2, TranslationBase.of(context).online, TranslationBase.of(context).payment, "assets/images/new/paymentMethods.png", isLogin));
hmgServices.add(new HmgServices(3, TranslationBase.of(context).hhcHome, TranslationBase.of(context).healthCare, "assets/images/new/HHC.svg", isLogin)); hmgServices.add(new HmgServices(3, TranslationBase.of(context).hhcHome, TranslationBase.of(context).healthCare, "assets/images/new/HHC.svg", isLogin));
hmgServices.add(new HmgServices(4, TranslationBase.of(context).checkup, TranslationBase.of(context).comprehensive, "assets/images/new/comprehensive_checkup.svg", isLogin)); hmgServices.add(new HmgServices(4, TranslationBase.of(context).checkup, TranslationBase.of(context).comprehensive, "assets/images/new/comprehensive_checkup.svg", isLogin));
hmgServices.add(new HmgServices(5, TranslationBase.of(context).emergency, TranslationBase.of(context).services2, "assets/images/new/emergency.svg", isLogin)); hmgServices.add(new HmgServices(5, TranslationBase.of(context).emergency, TranslationBase.of(context).services2, "assets/images/new/emergency.svg", isLogin));

@ -64,8 +64,28 @@ class _LiveCareHomeState extends State<LiveCareHome> with SingleTickerProviderSt
TabBar( TabBar(
labelColor: Colors.black, labelColor: Colors.black,
tabs: [ tabs: [
Tab(text: TranslationBase.of(context).consultation), Tab(
Tab(text: TranslationBase.of(context).logs), child: Text(
TranslationBase.of(context).consultation,
style: TextStyle(
color: Colors.black,
fontSize: 14,
letterSpacing: -0.36,
fontWeight: FontWeight.w600,
),
),
),
Tab(
child: Text(
TranslationBase.of(context).logs,
style: TextStyle(
color: Colors.black,
fontSize: 14,
letterSpacing: -0.36,
fontWeight: FontWeight.w600,
),
),
),
], ],
controller: _tabController, controller: _tabController,
), ),

@ -1,5 +1,6 @@
import 'package:diplomaticquarterapp/models/FamilyFiles/PatientERVirtualHistoryResponse.dart'; import 'package:diplomaticquarterapp/models/FamilyFiles/PatientERVirtualHistoryResponse.dart';
import 'package:diplomaticquarterapp/pages/livecare/widgets/LiveCareHistoryCard.dart'; import 'package:diplomaticquarterapp/pages/livecare/widgets/LiveCareHistoryCard.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
class LiveCareLogs extends StatefulWidget { class LiveCareLogs extends StatefulWidget {
@ -20,7 +21,8 @@ class _LiveCareLogsState extends State<LiveCareLogs> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return SingleChildScrollView( return SingleChildScrollView(
child: Container( child: widget.erRequestHistoryList.length > 0
? Container(
child: ListView.builder( child: ListView.builder(
scrollDirection: Axis.vertical, scrollDirection: Axis.vertical,
shrinkWrap: true, shrinkWrap: true,
@ -28,13 +30,11 @@ class _LiveCareLogsState extends State<LiveCareLogs> {
padding: EdgeInsets.all(0.0), padding: EdgeInsets.all(0.0),
itemCount: widget.erRequestHistoryList.length, itemCount: widget.erRequestHistoryList.length,
itemBuilder: (context, index) { itemBuilder: (context, index) {
return widget.erRequestHistoryList[index].callStatus < 4 return widget.erRequestHistoryList[index].callStatus < 4 ? Container() : LiveCareHistoryCard(erRequestHistoryList: widget.erRequestHistoryList[index]);
? Container()
: LiveCareHistoryCard(
erRequestHistoryList: widget.erRequestHistoryList[index]);
}, },
), ),
), )
: Container(margin: EdgeInsets.only(top: 200.0), child: getNoDataWidget(context)),
); );
} }
} }

@ -16,6 +16,8 @@ class AllergiesPage extends StatelessWidget {
onModelReady: (model) => model.getAllergies(), onModelReady: (model) => model.getAllergies(),
builder: (_, model, w) => AppScaffold( builder: (_, model, w) => AppScaffold(
isShowAppBar: true, isShowAppBar: true,
showNewAppBar: true,
showNewAppBarTitle: true,
appBarTitle: TranslationBase.of(context).allergies, appBarTitle: TranslationBase.of(context).allergies,
baseViewModel: model, baseViewModel: model,
description: TranslationBase.of(context).infoAllergies, description: TranslationBase.of(context).infoAllergies,

@ -6,7 +6,7 @@ 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/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/buttons/button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/dialogs/RadioStringDialog.dart'; import 'package:diplomaticquarterapp/widgets/dialogs/RadioStringDialog.dart';
import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart'; import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart';
@ -51,9 +51,10 @@ class _AddWeightPageState extends State<AddWeightPage> {
dayWeightDate = widget.dayWeightDate; dayWeightDate = widget.dayWeightDate;
timeWeightDate = widget.dayWeightDate; timeWeightDate = widget.dayWeightDate;
measureTimeSelectedType = widget.measureTimeSelectedType; measureTimeSelectedType = widget.measureTimeSelectedType;
if (measureUnitEnList.contains(widget.measureTimeSelectedType)) weightUnit = widget.weightUnit;
weightUnit = measureUnitEnList.indexOf(widget.measureTimeSelectedType); // if (measureUnitEnList.contains(widget.measureTimeSelectedType))
else if (measureUnitArList.contains(widget.measureTimeSelectedType)) weightUnit = measureUnitArList.indexOf(widget.measureTimeSelectedType); // weightUnit = measureUnitEnList.indexOf(widget.measureTimeSelectedType);
// else if (measureUnitArList.contains(widget.measureTimeSelectedType)) weightUnit = measureUnitArList.indexOf(widget.measureTimeSelectedType);
_weightValueController.text = widget.weightValue; _weightValueController.text = widget.weightValue;
validateForm(); validateForm();
} }
@ -215,11 +216,12 @@ class _AddWeightPageState extends State<AddWeightPage> {
), ),
), ),
bottomSheet: Container( bottomSheet: Container(
width: MediaQuery.of(context).size.width, color: Theme.of(context).scaffoldBackgroundColor,
height: 70.0, child: Padding(
margin: EdgeInsets.only(left: 15.0, right: 15.0, top: 10.0), padding: const EdgeInsets.all(20.0),
child: Button( child: DefaultButton(
onTap: () async { TranslationBase.of(context).save.toUpperCase(),
isButtonDisabled ? null : () async {
if (_weightValueController.text.isNotEmpty) { if (_weightValueController.text.isNotEmpty) {
GifLoaderDialogUtils.showMyDialog(context); GifLoaderDialogUtils.showMyDialog(context);
if (widget.isUpdate) { if (widget.isUpdate) {
@ -227,7 +229,7 @@ class _AddWeightPageState extends State<AddWeightPage> {
.updateWeightResult( .updateWeightResult(
weightDate: '${dayWeightDate.year}-${dayWeightDate.month}-${dayWeightDate.day} ${timeWeightDate.hour}:${timeWeightDate.minute}:00', weightDate: '${dayWeightDate.year}-${dayWeightDate.month}-${dayWeightDate.day} ${timeWeightDate.hour}:${timeWeightDate.minute}:00',
weightMeasured: _weightValueController.text.toString(), weightMeasured: _weightValueController.text.toString(),
weightUnit: weightUnit, weightUnit: weightUnit + 1,
lineItemNo: widget.lineItemNo) lineItemNo: widget.lineItemNo)
.then((value) { .then((value) {
GifLoaderDialogUtils.hideDialog(context); GifLoaderDialogUtils.hideDialog(context);
@ -252,9 +254,8 @@ class _AddWeightPageState extends State<AddWeightPage> {
}); });
} }
}, },
label: TranslationBase.of(context).save.toUpperCase(), disabledColor: Colors.grey,
backgroundColor: isButtonDisabled ? Colors.grey : Colors.red[900], ),
disabled: isButtonDisabled,
), ),
)); ));
} }

@ -1,6 +1,5 @@
import 'package:diplomaticquarterapp/core/viewModels/medical/weight_pressure_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/medical/weight_pressure_view_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/pages/medical/my_trackers/widget/LineChartCurved.dart';
import 'package:diplomaticquarterapp/theme/colors.dart'; import 'package:diplomaticquarterapp/theme/colors.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart'; import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
@ -56,7 +55,8 @@ class WeightWeeklyPage extends StatelessWidget {
shape: cardRadius(12), shape: cardRadius(12),
elevation: 1, elevation: 1,
margin: EdgeInsets.only(left: 16, top: 16, right: 16, bottom: 8), margin: EdgeInsets.only(left: 16, top: 16, right: 16, bottom: 8),
child: Column(crossAxisAlignment: CrossAxisAlignment.start, child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Padding( Padding(
padding: const EdgeInsets.all(8.0), padding: const EdgeInsets.all(8.0),
@ -124,7 +124,7 @@ class WeightWeeklyPage extends StatelessWidget {
page: AddWeightPage( page: AddWeightPage(
isUpdate: true, isUpdate: true,
dayWeightDate: diabtec.weightDate, dayWeightDate: diabtec.weightDate,
measureTimeSelectedType: 'Kg', measureTimeSelectedType: diabtec.unit == "1" ? 'Kg' : 'Pound',
weightValue: diabtec.weightMeasured.toString(), weightValue: diabtec.weightMeasured.toString(),
lineItemNo: diabtec.lineItemNo, lineItemNo: diabtec.lineItemNo,
weightUnit: int.parse(diabtec.unit), weightUnit: int.parse(diabtec.unit),
@ -138,8 +138,6 @@ class WeightWeeklyPage extends StatelessWidget {
}); });
}, },
child: Container( child: Container(
// height: 70,
// padding: EdgeInsets.all(10),
child: Icon( child: Icon(
Icons.edit, Icons.edit,
color: Color(0xff575757), color: Color(0xff575757),

@ -7,6 +7,7 @@ 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/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/buttons/button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/dialogs/RadioStringDialog.dart'; import 'package:diplomaticquarterapp/widgets/dialogs/RadioStringDialog.dart';
import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart'; import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart';
@ -21,11 +22,13 @@ class AddBloodPressurePage extends StatefulWidget {
final String measureTimeSelectedType; final String measureTimeSelectedType;
final bool isUpdate; final bool isUpdate;
final int lineItemNo; final int lineItemNo;
final int measuredArm;
final String bloodSystolicValue; final String bloodSystolicValue;
final String bloodDiastolicValue; final String bloodDiastolicValue;
final BloodPressureViewMode model; final BloodPressureViewMode model;
const AddBloodPressurePage({Key key, this.bloodSugarDate, this.measureTimeSelectedType, this.isUpdate = false, this.lineItemNo, this.model, this.bloodSystolicValue, this.bloodDiastolicValue}) const AddBloodPressurePage(
{Key key, this.bloodSugarDate, this.measureTimeSelectedType, this.isUpdate = false, this.lineItemNo, this.measuredArm, this.model, this.bloodSystolicValue, this.bloodDiastolicValue})
: super(key: key); : super(key: key);
@override @override
@ -39,13 +42,10 @@ class _AddBloodPressurePageState extends State<AddBloodPressurePage> {
DateTime timeSugarDate = DateTime.now(); DateTime timeSugarDate = DateTime.now();
int measuredArm = 1; int measuredArm = 1;
bool isButtonDisabled = true; bool isButtonDisabled = true;
final List<String> measureTimeEnList = [ final List<String> measureTimeEnList = ['Right Arm', 'Left Arm'];
'Left Arm ',
'Right Arm',
];
final List<String> measureTimeArList = [ final List<String> measureTimeArList = [
'الذراع الأيسر',
'الذراع الأيمن', 'الذراع الأيمن',
'الذراع الأيسر',
]; ];
String measureTimeSelectedType = 'Left Arm'; String measureTimeSelectedType = 'Left Arm';
@ -56,9 +56,7 @@ class _AddBloodPressurePageState extends State<AddBloodPressurePage> {
bloodSugarDate = widget.bloodSugarDate; bloodSugarDate = widget.bloodSugarDate;
bloodSugarDate = widget.bloodSugarDate; bloodSugarDate = widget.bloodSugarDate;
measureTimeSelectedType = widget.measureTimeSelectedType; measureTimeSelectedType = widget.measureTimeSelectedType;
if (measureTimeEnList.contains(widget.measureTimeSelectedType)) measuredArm = widget.measuredArm - 1;
measuredArm = measureTimeEnList.indexOf(widget.measureTimeSelectedType);
else if (measureTimeArList.contains(widget.measureTimeSelectedType)) measuredArm = measureTimeArList.indexOf(widget.measureTimeSelectedType);
_bloodSystolicValueController.text = widget.bloodSystolicValue; _bloodSystolicValueController.text = widget.bloodSystolicValue;
_bloodDiastolicValueController.text = widget.bloodDiastolicValue; _bloodDiastolicValueController.text = widget.bloodDiastolicValue;
validateForm(); validateForm();
@ -119,7 +117,7 @@ class _AddBloodPressurePageState extends State<AddBloodPressurePage> {
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ children: [
Texts(projectViewModel.isArabic ? measureTimeArList[0] : measureTimeEnList[0]), Texts(projectViewModel.isArabic ? measureTimeArList[measuredArm] : measureTimeEnList[measuredArm]),
Icon( Icon(
Icons.arrow_drop_down, Icons.arrow_drop_down,
color: Colors.grey, color: Colors.grey,
@ -224,22 +222,22 @@ class _AddBloodPressurePageState extends State<AddBloodPressurePage> {
), ),
), ),
bottomSheet: Container( bottomSheet: Container(
width: MediaQuery.of(context).size.width, color: Theme.of(context).scaffoldBackgroundColor,
height: 70.0, child: Padding(
margin: EdgeInsets.only(left: 15.0, right: 15.0, top: 10.0), padding: const EdgeInsets.all(20.0),
child: Button( child: DefaultButton(
onTap: () async { TranslationBase.of(context).save,
isButtonDisabled ? null : () async {
if (_bloodSystolicValueController.text.isNotEmpty && _bloodDiastolicValueController.text.isNotEmpty) { if (_bloodSystolicValueController.text.isNotEmpty && _bloodDiastolicValueController.text.isNotEmpty) {
GifLoaderDialogUtils.showMyDialog(context); GifLoaderDialogUtils.showMyDialog(context);
widget.model widget.model
.addORUpdateDiabtecResult( .addORUpdateDiabtecResult(
isUpdate: widget.isUpdate, isUpdate: widget.isUpdate,
bloodPressureDate: '${bloodSugarDate.year}-${bloodSugarDate.month}-${bloodSugarDate.day} ${timeSugarDate.hour}:${timeSugarDate.minute}:00', bloodPressureDate: '${bloodSugarDate.year}-${bloodSugarDate.month}-${bloodSugarDate.day} ${timeSugarDate.hour}:${timeSugarDate.minute}:00',
diastolicPressure: _bloodDiastolicValueController.text.toString(), diastolicPressure: _bloodDiastolicValueController.text.toString(),
systolicePressure: _bloodSystolicValueController.text.toString(), systolicePressure: _bloodSystolicValueController.text.toString(),
measuredArm: measuredArm, measuredArm: (measuredArm + 1),
) lineItemNo: widget.lineItemNo)
.then((value) { .then((value) {
GifLoaderDialogUtils.hideDialog(context); GifLoaderDialogUtils.hideDialog(context);
if (widget.model.state == ViewState.BusyLocal) if (widget.model.state == ViewState.BusyLocal)
@ -253,9 +251,8 @@ class _AddBloodPressurePageState extends State<AddBloodPressurePage> {
}); });
} }
}, },
label: TranslationBase.of(context).save.toUpperCase(), disabledColor: Colors.grey,
backgroundColor: isButtonDisabled ? Colors.grey : Colors.red[900], ),
disabled: isButtonDisabled,
), ),
)); ));
} }

@ -1,22 +1,23 @@
import 'package:diplomaticquarterapp/core/enum/viewstate.dart'; import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/viewModels/medical/blood_pressure_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/medical/blood_pressure_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/medical/my_trackers/widget/TabBarWidget.dart'; import 'package:diplomaticquarterapp/pages/medical/my_trackers/widget/TabBarWidget.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart'; 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/widgets/buttons/defaultButton.dart';
import 'package:diplomaticquarterapp/widgets/dialogs/confirm_send_email_dialog.dart'; import 'package:diplomaticquarterapp/widgets/dialogs/confirm_send_email_dialog.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';
import 'AddBloodPressurePage.dart'; import 'AddBloodPressurePage.dart';
import 'BloodPressureMonthly.dart'; import 'BloodPressureMonthly.dart';
import 'BloodPressureYeaPage.dart'; import 'BloodPressureYeaPage.dart';
import 'bloodPressureWeeklyPage.dart'; import 'bloodPressureWeeklyPage.dart';
import 'package:provider/provider.dart';
import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
class BloodPressureHomePage extends StatefulWidget { class BloodPressureHomePage extends StatefulWidget {
@override @override
@ -43,9 +44,12 @@ class _BloodPressureHomePageState extends State<BloodPressureHomePage> with Sing
ProjectViewModel projectViewModel = Provider.of(context); ProjectViewModel projectViewModel = Provider.of(context);
return BaseView<BloodPressureViewMode>( return BaseView<BloodPressureViewMode>(
onModelReady: (model) => model.getBloodPressure(), onModelReady: (model) => model.getBloodPressure(),
builder: (_, model, w) => AppScaffold( builder: (_, model, w) =>
AppScaffold(
isShowAppBar: true, isShowAppBar: true,
appBarTitle: TranslationBase.of(context).bloodPressure, appBarTitle: TranslationBase
.of(context)
.bloodPressure,
showNewAppBar: true, showNewAppBar: true,
showNewAppBarTitle: true, showNewAppBarTitle: true,
baseViewModel: model, baseViewModel: model,
@ -77,8 +81,11 @@ class _BloodPressureHomePageState extends State<BloodPressureHomePage> with Sing
), ),
floatingActionButton: Stack(children: [ floatingActionButton: Stack(children: [
Positioned( Positioned(
bottom: 80, bottom: 60,
right: projectViewModel.isArabic ? MediaQuery.of(context).size.width * .85 : 0, right: projectViewModel.isArabic ? MediaQuery
.of(context)
.size
.width * .85 : 0,
child: InkWell( child: InkWell(
onTap: () { onTap: () {
Navigator.push( Navigator.push(
@ -86,12 +93,16 @@ class _BloodPressureHomePageState extends State<BloodPressureHomePage> with Sing
FadePage( FadePage(
page: AddBloodPressurePage( page: AddBloodPressurePage(
model: model, model: model,
))); ))).then((value) {
model.getBloodPressure();
});
}, },
child: Container( child: Container(
width: 50, width: 50,
height: 50, height: 50,
decoration: BoxDecoration(shape: BoxShape.circle, color: Theme.of(context).primaryColor), decoration: BoxDecoration(shape: BoxShape.circle, color: Theme
.of(context)
.primaryColor),
child: Center( child: Center(
child: Icon( child: Icon(
Icons.add, Icons.add,
@ -101,11 +112,14 @@ class _BloodPressureHomePageState extends State<BloodPressureHomePage> with Sing
)) ))
]), ]),
bottomSheet: Container( bottomSheet: Container(
width: MediaQuery.of(context).size.width, color: Theme.of(context).scaffoldBackgroundColor,
height: 70.0, child: Padding(
margin: EdgeInsets.only(left: 15.0, right: 15.0, top: 10.0), padding: const EdgeInsets.all(12.0),
child: Button( child: DefaultButton(
onTap: () { TranslationBase
.of(context)
.sendEmail,
() {
showDialog( showDialog(
context: context, context: context,
child: ConfirmSendEmailDialog( child: ConfirmSendEmailDialog(
@ -118,7 +132,9 @@ class _BloodPressureHomePageState extends State<BloodPressureHomePage> with Sing
AppToast.showErrorToast(message: model.error); AppToast.showErrorToast(message: model.error);
} else { } else {
AppToast.showSuccessToast( AppToast.showSuccessToast(
message: TranslationBase.of(context).emailSentSuccessfully, message: TranslationBase
.of(context)
.emailSentSuccessfully,
); );
} }
}).catchError((e) { }).catchError((e) {
@ -129,8 +145,9 @@ class _BloodPressureHomePageState extends State<BloodPressureHomePage> with Sing
), ),
); );
}, },
label: TranslationBase.of(context).sendEmail, // label: TranslationBase.of(context).sendEmail,
backgroundColor: Colors.red[900], // backgroundColor: Colors.red[900],
),
), ),
), ),
)), )),

@ -109,9 +109,11 @@ class BloodPressureWeeklyPage extends StatelessWidget {
bloodDiastolicValue: diabtec.diastolicPressure.toString(), bloodDiastolicValue: diabtec.diastolicPressure.toString(),
bloodSystolicValue: diabtec.systolicePressure.toString(), bloodSystolicValue: diabtec.systolicePressure.toString(),
measureTimeSelectedType: diabtec.measuredArmDesc, measureTimeSelectedType: diabtec.measuredArmDesc,
measuredArm: diabtec.measuredArm,
), ),
), ),
).then((value) { ).then((value) {
model.getBloodPressure();
if(model.weekDiabtecPatientResult.isEmpty) { if(model.weekDiabtecPatientResult.isEmpty) {
model.weightWeekTimeSeriesDataTop.clear(); model.weightWeekTimeSeriesDataTop.clear();
model.weightWeekTimeSeriesDataLow.clear(); model.weightWeekTimeSeriesDataLow.clear();

@ -6,7 +6,7 @@ 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/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/buttons/button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/dialogs/RadioStringDialog.dart'; import 'package:diplomaticquarterapp/widgets/dialogs/RadioStringDialog.dart';
import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart'; import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart';
@ -23,9 +23,10 @@ class AddBloodSugarPage extends StatefulWidget {
final String measuredTime; final String measuredTime;
final String bloodSugarValue; final String bloodSugarValue;
final int lineItemNo; final int lineItemNo;
final String measuredSelectedType;
final BloodSugarViewMode bloodSugarViewMode; final BloodSugarViewMode bloodSugarViewMode;
AddBloodSugarPage({Key key, this.bloodSugarDate, this.measureUnitSelectedType, this.isUpdate = false, this.measuredTime, this.bloodSugarValue, this.lineItemNo, this.bloodSugarViewMode}) AddBloodSugarPage({Key key, this.bloodSugarDate, this.measureUnitSelectedType, this.isUpdate = false, this.measuredTime, this.bloodSugarValue, this.lineItemNo, this.bloodSugarViewMode, this.measuredSelectedType})
: super(key: key); : super(key: key);
@override @override
@ -77,6 +78,7 @@ class _AddBloodSugarPageState extends State<AddBloodSugarPage> {
measuredTime = measureTimeEnList.indexOf(widget.measuredTime); measuredTime = measureTimeEnList.indexOf(widget.measuredTime);
else if (measureTimeArList.contains(widget.measuredTime)) measuredTime = measureTimeArList.indexOf(widget.measuredTime); else if (measureTimeArList.contains(widget.measuredTime)) measuredTime = measureTimeArList.indexOf(widget.measuredTime);
_bloodSugarValueController.text = widget.bloodSugarValue; _bloodSugarValueController.text = widget.bloodSugarValue;
measureTimeSelectedType = widget.measuredSelectedType;
validateForm(); validateForm();
} }
} }
@ -89,17 +91,6 @@ class _AddBloodSugarPageState extends State<AddBloodSugarPage> {
showNewAppBar: true, showNewAppBar: true,
showNewAppBarTitle: true, showNewAppBarTitle: true,
appBarTitle: widget.isUpdate ? TranslationBase.of(context).update : TranslationBase.of(context).add, appBarTitle: widget.isUpdate ? TranslationBase.of(context).update : TranslationBase.of(context).add,
// appBarIcons: widget.isUpdate
// ? [
// IconButton(
// icon: Icon(Icons.delete),
// color: Colors.white,
// onPressed: () {
// },
// )
// ]
// : null,
body: SingleChildScrollView( body: SingleChildScrollView(
physics: BouncingScrollPhysics(), physics: BouncingScrollPhysics(),
child: Container( child: Container(
@ -258,11 +249,14 @@ class _AddBloodSugarPageState extends State<AddBloodSugarPage> {
), ),
), ),
bottomSheet: Container( bottomSheet: Container(
width: MediaQuery.of(context).size.width, color: Theme.of(context).scaffoldBackgroundColor,
height: 70.0, child: Padding(
margin: EdgeInsets.only(left: 15.0, right: 15.0, top: 10.0), padding: const EdgeInsets.all(20.0),
child: Button( child: DefaultButton(
onTap: () async { TranslationBase.of(context).save.toUpperCase(),
isButtonDisabled
? null
: () async {
if (_bloodSugarValueController.text.isNotEmpty) { if (_bloodSugarValueController.text.isNotEmpty) {
GifLoaderDialogUtils.showMyDialog(context); GifLoaderDialogUtils.showMyDialog(context);
if (widget.isUpdate) { if (widget.isUpdate) {
@ -295,9 +289,8 @@ class _AddBloodSugarPageState extends State<AddBloodSugarPage> {
} }
} }
}, },
label: TranslationBase.of(context).save.toUpperCase(), disabledColor: Colors.grey,
backgroundColor: isButtonDisabled ? Colors.grey : Colors.red[900], ),
disabled: isButtonDisabled,
), ),
)); ));
} }

@ -6,6 +6,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/widgets/buttons/button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart';
import 'package:diplomaticquarterapp/widgets/dialogs/confirm_send_email_dialog.dart'; import 'package:diplomaticquarterapp/widgets/dialogs/confirm_send_email_dialog.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';
@ -85,7 +86,7 @@ class _BloodSugarHomePageState extends State<BloodSugarHomePage> with SingleTick
floatingActionButton: Stack( floatingActionButton: Stack(
children: [ children: [
Positioned( Positioned(
bottom: 130, bottom: 60,
right: projectViewModel.isArabic ? MediaQuery.of(context).size.width * .85 : 0, right: projectViewModel.isArabic ? MediaQuery.of(context).size.width * .85 : 0,
child: InkWell( child: InkWell(
onTap: () { onTap: () {
@ -111,11 +112,12 @@ class _BloodSugarHomePageState extends State<BloodSugarHomePage> with SingleTick
], ],
), ),
bottomSheet: Container( bottomSheet: Container(
width: MediaQuery.of(context).size.width, color: Theme.of(context).scaffoldBackgroundColor,
height: 70.0, child: Padding(
margin: EdgeInsets.only(left: 15.0, right: 15.0, top: 10.0), padding: const EdgeInsets.all(12.0),
child: Button( child: DefaultButton(
onTap: () { TranslationBase.of(context).sendEmail,
() {
showDialog( showDialog(
context: context, context: context,
child: ConfirmSendEmailDialog( child: ConfirmSendEmailDialog(
@ -139,8 +141,7 @@ class _BloodSugarHomePageState extends State<BloodSugarHomePage> with SingleTick
), ),
); );
}, },
label: TranslationBase.of(context).sendEmail, ),
backgroundColor: Colors.red[900],
), ),
), ),
), ),

@ -1,3 +1,4 @@
import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/core/model/my_trakers/blood_sugar/DiabtecPatientResult.dart'; import 'package:diplomaticquarterapp/core/model/my_trakers/blood_sugar/DiabtecPatientResult.dart';
import 'package:diplomaticquarterapp/core/viewModels/medical/blood_sugar_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/medical/blood_sugar_view_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
@ -33,7 +34,7 @@ class BloodSugarWeeklyPage extends StatelessWidget {
margin: EdgeInsets.only(top: 12, left: 8, right: 8), margin: EdgeInsets.only(top: 12, left: 8, right: 8),
color: Colors.white, color: Colors.white,
child: LineChartCurved( child: LineChartCurved(
title: '${TranslationBase.of(context).bloodSugar}', title: '${TranslationBase.of(AppGlobal.context).bloodSugar}',
timeSeries: timeSeriesData.isEmpty ? [TimeSeriesSales2(DateTime.now(), 0.0)] : timeSeriesData, timeSeries: timeSeriesData.isEmpty ? [TimeSeriesSales2(DateTime.now(), 0.0)] : timeSeriesData,
indexes: timeSeriesData.length ~/ 5.5, indexes: timeSeriesData.length ~/ 5.5,
), ),
@ -43,7 +44,7 @@ class BloodSugarWeeklyPage extends StatelessWidget {
), ),
Padding( Padding(
padding: const EdgeInsets.all(8.0), padding: const EdgeInsets.all(8.0),
child: Texts(TranslationBase.of(context).details), child: Texts(TranslationBase.of(AppGlobal.context).details),
), ),
Container( Container(
padding: EdgeInsets.all(10), padding: EdgeInsets.all(10),
@ -54,7 +55,7 @@ class BloodSugarWeeklyPage extends StatelessWidget {
timeSeriesData.isEmpty timeSeriesData.isEmpty
? Container( ? Container(
child: Center( child: Center(
child: Texts(TranslationBase.of(context).noDataAvailable), child: Texts(TranslationBase.of(AppGlobal.context).noDataAvailable),
), ),
) )
: Table( : Table(
@ -114,6 +115,7 @@ class BloodSugarWeeklyPage extends StatelessWidget {
lineItemNo: diabtec.lineItemNo, lineItemNo: diabtec.lineItemNo,
measureUnitSelectedType: diabtec.unit, measureUnitSelectedType: diabtec.unit,
bloodSugarViewMode: bloodSugarViewMode, bloodSugarViewMode: bloodSugarViewMode,
measuredSelectedType: diabtec.measuredDesc,
), ),
), ),
).then((value) { ).then((value) {

@ -1,3 +1,4 @@
import 'package:diplomaticquarterapp/Constants.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/charts/app_time_series_chart.dart'; import 'package:diplomaticquarterapp/widgets/charts/app_time_series_chart.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
@ -85,7 +86,7 @@ class MonthCurvedChartBloodPressure extends StatelessWidget {
width: 20, width: 20,
height: 20, height: 20,
decoration: BoxDecoration( decoration: BoxDecoration(
shape: BoxShape.rectangle, color: Colors.grey), shape: BoxShape.rectangle, color: secondaryColor),
), ),
SizedBox( SizedBox(
width: 5, width: 5,

@ -7,6 +7,7 @@ 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/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/dialogs/confirm_send_email_dialog.dart'; import 'package:diplomaticquarterapp/widgets/dialogs/confirm_send_email_dialog.dart';
@ -26,7 +27,7 @@ class ReportListWidget extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
projectViewModel = Provider.of(context); projectViewModel = Provider.of(context);
return ListView.separated( return reportList.length > 0 ? ListView.separated(
physics: BouncingScrollPhysics(), physics: BouncingScrollPhysics(),
padding: EdgeInsets.only(bottom: 14, top: 14, left: 21, right: 21), padding: EdgeInsets.only(bottom: 14, top: 14, left: 21, right: 21),
separatorBuilder: (context, index) => SizedBox(height: 14), separatorBuilder: (context, index) => SizedBox(height: 14),
@ -112,7 +113,7 @@ class ReportListWidget extends StatelessWidget {
); );
}, },
itemCount: reportList.length, itemCount: reportList.length,
); ) : getNoDataWidget(context) ;
} }
void showConfirmMessage(Reports report) { void showConfirmMessage(Reports report) {

@ -7,7 +7,8 @@ class DefaultButton extends StatelessWidget {
final Color color; final Color color;
final Color disabledColor; final Color disabledColor;
final IconData iconData; final IconData iconData;
DefaultButton(this.text, this.onPress, {this.color, this.disabledColor, this.textColor = Colors.white, this.iconData}); final double fontSize;
DefaultButton(this.text, this.onPress, {this.color, this.disabledColor, this.textColor = Colors.white, this.iconData, this.fontSize});
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@ -23,7 +24,7 @@ class DefaultButton extends StatelessWidget {
child: Text( child: Text(
text, text,
textAlign: TextAlign.center, textAlign: TextAlign.center,
style: TextStyle(fontSize: 16, fontWeight: FontWeight.w600, color: textColor, letterSpacing: -0.48), style: TextStyle(fontSize: fontSize ?? 16, fontWeight: FontWeight.w600, color: textColor, letterSpacing: -0.48),
), ),
), ),
], ],

@ -137,7 +137,7 @@ class ShowChart extends StatelessWidget {
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
fontSize: 10, fontSize: 10,
), ),
// interval: 3.0, interval: null,
margin: 12, margin: 12,
), ),
), ),

@ -160,6 +160,7 @@ class _AppDrawerState extends State<AppDrawer> {
), ),
onTap: () { onTap: () {
sharedPref.setBool(IS_ROBOT_INIT, null); sharedPref.setBool(IS_ROBOT_INIT, null);
sharedPref.remove(CLINICS_LIST);
if (projectProvider.isArabic) { if (projectProvider.isArabic) {
projectProvider.changeLanguage('en'); projectProvider.changeLanguage('en');
} else { } else {
@ -310,6 +311,7 @@ class _AppDrawerState extends State<AppDrawer> {
isImageIcon: true, bottomLine: false, letterSpacing: -0.84, fontSize: 14, fontHeight: projectProvider.isArabic ? 1 : 0.8, projectProvider: projectProvider), isImageIcon: true, bottomLine: false, letterSpacing: -0.84, fontSize: 14, fontHeight: projectProvider.isArabic ? 1 : 0.8, projectProvider: projectProvider),
onTap: () { onTap: () {
sharedPref.remove(APPOINTMENT_HISTORY_MEDICAL); sharedPref.remove(APPOINTMENT_HISTORY_MEDICAL);
sharedPref.remove(CLINICS_LIST);
sharedPref.setBool(IS_ROBOT_INIT, null); sharedPref.setBool(IS_ROBOT_INIT, null);
if (projectProvider.isArabic) { if (projectProvider.isArabic) {
projectProvider.changeLanguage('en'); projectProvider.changeLanguage('en');

@ -220,26 +220,43 @@ class DoctorHeader extends StatelessWidget {
child: Dialog( child: Dialog(
child: Column( child: Column(
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Container( Container(
// height: 400.0, width: 350.0,
width: MediaQuery.of(context).size.width * 0.8,
color: Colors.white, color: Colors.white,
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Container( Container(
alignment: Alignment.center,
width: MediaQuery.of(context).size.width, width: MediaQuery.of(context).size.width,
color: Theme.of(context).primaryColor, padding: EdgeInsets.all(20.0),
margin: EdgeInsets.only(bottom: 5.0), child: Row(
padding: EdgeInsets.all(10.0), mainAxisAlignment: MainAxisAlignment.spaceBetween,
child: Text(TranslationBase.of(context).doctorRating, style: TextStyle(fontSize: 22.0, color: Colors.white))), children: [
Container(margin: EdgeInsets.only(top: 0.0), child: Text(this.headerModel.actualDoctorRate.ceilToDouble().toString(), style: TextStyle(fontSize: 32.0, color: Colors.black))), Text(TranslationBase.of(context).doctorRating, style: TextStyle(fontSize: 22.0, color: Colors.black, fontWeight: FontWeight.w600, letterSpacing: -0.64)),
IconButton(
icon: Icon(
Icons.close,
color: Colors.black,
),
onPressed: () {
Navigator.pop(context);
},
),
],
)),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Container(
margin: EdgeInsets.symmetric(horizontal: 20.0),
child: Text(this.headerModel.decimalDoctorRate != null ? this.headerModel.decimalDoctorRate : this.headerModel.actualDoctorRate.ceilToDouble().toString(),
style: TextStyle(fontSize: 32.0, color: Colors.black, letterSpacing: -0.64, fontWeight: FontWeight.bold))),
Container( Container(
margin: EdgeInsets.only(top: 5.0), margin: EdgeInsets.symmetric(horizontal: 20.0),
alignment: Alignment.center,
child: RatingBar.readOnly( child: RatingBar.readOnly(
initialRating: this.headerModel.actualDoctorRate.toDouble(), initialRating: this.headerModel.decimalDoctorRate != null ? double.tryParse(this.headerModel.decimalDoctorRate) : this.headerModel.actualDoctorRate.toDouble(),
size: 35.0, size: 35.0,
filledColor: Colors.yellow[700], filledColor: Colors.yellow[700],
emptyColor: Colors.grey[500], emptyColor: Colors.grey[500],
@ -249,135 +266,118 @@ class DoctorHeader extends StatelessWidget {
emptyIcon: Icons.star, emptyIcon: Icons.star,
), ),
), ),
],
),
Container( Container(
margin: EdgeInsets.only(top: 10.0), margin: EdgeInsets.symmetric(horizontal: 20.0),
child: Text(this.headerModel.totalReviews.toString() + " " + TranslationBase.of(context).reviews, style: TextStyle(fontSize: 14.0, color: Colors.black))), transform: Matrix4.translationValues(0.0, -10.0, 0.0),
child: Text(this.headerModel.totalReviews.toString() + " " + TranslationBase.of(context).reviews,
style: TextStyle(fontSize: 14.0, color: Colors.black, fontWeight: FontWeight.w600))),
Container( Container(
margin: EdgeInsets.only(top: 10.0), margin: EdgeInsets.only(top: 10.0),
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Row(
children: [ children: [
Container( Container(
width: 100.0, width: 100.0,
margin: EdgeInsets.only(top: 10.0, left: 15.0, right: 15.0), margin: EdgeInsets.only(top: 10.0, left: 15.0, right: 15.0),
child: Text(TranslationBase.of(context).excellent, style: TextStyle(fontSize: 13.0, color: Colors.black))), child: Text(TranslationBase.of(context).excellent, style: TextStyle(fontSize: 13.0, color: Colors.black, fontWeight: FontWeight.w600))),
Container( getRatingLine(doctorDetailsList[0].patientNumber, Colors.green[700]),
margin: EdgeInsets.only(top: 10.0), ],
child: SizedBox(
width: getRatingWidth(doctorDetailsList[0].patientNumber),
height: 6.0,
child: Container(
color: Colors.green[700],
),
), ),
Container(
margin: EdgeInsets.only(top: 10.0, left: 20.0, right: 20.0),
child: Text(getRatingWidth(doctorDetailsList[0].patientNumber).round().toString() + "%",
style: TextStyle(fontSize: 14.0, color: Colors.black, fontWeight: FontWeight.w600)),
), ),
], ],
), ),
), ),
Container( Container(
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Row(
children: [ children: [
Container( Container(
width: 100.0, width: 100.0,
margin: EdgeInsets.only(top: 10.0, left: 15.0, right: 15.0), margin: EdgeInsets.only(top: 10.0, left: 15.0, right: 15.0),
child: Text(TranslationBase.of(context).v_good, style: TextStyle(fontSize: 13.0, color: Colors.black))), child: Text(TranslationBase.of(context).v_good, style: TextStyle(fontSize: 13.0, color: Colors.black, fontWeight: FontWeight.w600))),
Container( getRatingLine(doctorDetailsList[1].patientNumber, Color(0xffB7B723)),
margin: EdgeInsets.only(top: 10.0), ],
child: SizedBox(
width: getRatingWidth(doctorDetailsList[1].patientNumber),
height: 6.0,
child: Container(
color: Color(0xffB7B723),
),
), ),
Container(
margin: EdgeInsets.only(top: 10.0, left: 20.0, right: 20.0),
child: Text(getRatingWidth(doctorDetailsList[1].patientNumber).round().toString() + "%",
style: TextStyle(fontSize: 14.0, color: Colors.black, fontWeight: FontWeight.w600)),
), ),
], ],
), ),
), ),
Container( Container(
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Row(
children: [ children: [
Container( Container(
width: 100.0, width: 100.0,
margin: EdgeInsets.only(top: 10.0, left: 15.0, right: 15.0), margin: EdgeInsets.only(top: 10.0, left: 15.0, right: 15.0),
child: Text(TranslationBase.of(context).good, style: TextStyle(fontSize: 13.0, color: Colors.black))), child: Text(TranslationBase.of(context).good, style: TextStyle(fontSize: 13.0, color: Colors.black, fontWeight: FontWeight.w600))),
Container( getRatingLine(doctorDetailsList[2].patientNumber, Color(0xffEBA727)),
margin: EdgeInsets.only(top: 10.0), ],
child: SizedBox(
width: getRatingWidth(doctorDetailsList[2].patientNumber),
height: 6.0,
child: Container(
color: Color(0xffEBA727),
),
), ),
Container(
margin: EdgeInsets.only(top: 10.0, left: 20.0, right: 20.0),
child: Text(getRatingWidth(doctorDetailsList[2].patientNumber).round().toString() + "%",
style: TextStyle(fontSize: 14.0, color: Colors.black, fontWeight: FontWeight.w600)),
), ),
], ],
), ),
), ),
Container( Container(
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Row(
children: [ children: [
Container( Container(
width: 100.0, width: 100.0,
margin: EdgeInsets.only(top: 10.0, left: 15.0, right: 15.0), margin: EdgeInsets.only(top: 10.0, left: 15.0, right: 15.0),
child: Text(TranslationBase.of(context).average, style: TextStyle(fontSize: 13.0, color: Colors.black))), child: Text(TranslationBase.of(context).average, style: TextStyle(fontSize: 13.0, color: Colors.black, fontWeight: FontWeight.w600))),
Container( getRatingLine(doctorDetailsList[3].patientNumber, Color(0xffEB7227)),
margin: EdgeInsets.only(top: 10.0), ],
child: SizedBox(
width: getRatingWidth(doctorDetailsList[3].patientNumber),
height: 6.0,
child: Container(
color: Color(0xffEB7227),
),
), ),
Container(
margin: EdgeInsets.only(top: 10.0, left: 20.0, right: 20.0),
child: Text(getRatingWidth(doctorDetailsList[3].patientNumber).round().toString() + "%",
style: TextStyle(fontSize: 14.0, color: Colors.black, fontWeight: FontWeight.w600)),
), ),
], ],
), ),
), ),
Container( Container(
margin: EdgeInsets.only(bottom: 30.0),
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Row(
children: [ children: [
Container( Container(
width: 100.0, width: 100.0,
margin: EdgeInsets.only(top: 10.0, left: 15.0, right: 15.0), margin: EdgeInsets.only(top: 10.0, left: 15.0, right: 15.0),
child: Text(TranslationBase.of(context).below_average, style: TextStyle(fontSize: 13.0, color: Colors.black))), child: Text(TranslationBase.of(context).below_average, style: TextStyle(fontSize: 13.0, color: Colors.black, fontWeight: FontWeight.w600))),
Container( getRatingLine(doctorDetailsList[4].patientNumber, Color(0xffE20C0C)),
margin: EdgeInsets.only(top: 10.0),
child: SizedBox(
width: getRatingWidth(doctorDetailsList[4].patientNumber),
height: 6.0,
child: Container(
color: Color(0xffE20C0C),
),
),
),
], ],
), ),
),
Container(margin: EdgeInsets.only(top: 40.0), child: Divider()),
Container( Container(
margin: EdgeInsets.only(top: 0.0), margin: EdgeInsets.only(top: 10.0, left: 20.0, right: 20.0),
child: Align( child: Text(getRatingWidth(doctorDetailsList[4].patientNumber).round().toString() + "%",
alignment: FractionalOffset.bottomCenter, style: TextStyle(fontSize: 14.0, color: Colors.black, fontWeight: FontWeight.w600)),
child: ButtonTheme(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10.0),
),
minWidth: MediaQuery.of(context).size.width,
height: 40.0,
child: RaisedButton(
elevation: 0.0,
color: Colors.white,
textColor: Colors.red,
hoverColor: Colors.transparent,
focusColor: Colors.transparent,
highlightColor: Colors.transparent,
disabledColor: new Color(0xFFbcc2c4),
onPressed: () {
Navigator.of(context).pop();
},
child: Text(TranslationBase.of(context).cancel, style: TextStyle(fontSize: 18.0)),
),
), ),
],
), ),
), ),
], ],
@ -398,6 +398,28 @@ class DoctorHeader extends StatelessWidget {
double getRatingWidth(int patientNumber) { double getRatingWidth(int patientNumber) {
var width = (patientNumber / this.headerModel.totalReviews) * 100; var width = (patientNumber / this.headerModel.totalReviews) * 100;
return width; return width.roundToDouble();
}
Widget getRatingLine(int patientNumber, Color color) {
return Container(
margin: EdgeInsets.only(top: 10.0),
child: Stack(children: [
SizedBox(
width: 135.0,
height: 4.0,
child: Container(
color: Colors.grey[300],
),
),
SizedBox(
width: getRatingWidth(patientNumber) * 1.35,
height: 4.0,
child: Container(
color: color,
),
),
]),
);
} }
} }

Loading…
Cancel
Save