Merge branch 'development' of https://gitlab.com/Cloud_Solution/doctor_app_flutter into code_reafactoring

 Conflicts:
	lib/screens/procedures/ProcedureCard.dart
merge-requests/526/head
hussam al-habibeh 5 years ago
commit 240f70d163

@ -88,8 +88,6 @@ class BaseAppClient {
print("URL : $url"); print("URL : $url");
print("Body : ${json.encode(body)}"); print("Body : ${json.encode(body)}");
String req = json.encode(body);
var asd="";
if (await Helpers.checkConnection()) { if (await Helpers.checkConnection()) {
final response = await http.post(url, final response = await http.post(url,
@ -105,7 +103,8 @@ class BaseAppClient {
var parsed = json.decode(response.body.toString()); var parsed = json.decode(response.body.toString());
if (parsed['ErrorType'] == 4) { if (parsed['ErrorType'] == 4) {
helpers.navigateToUpdatePage(parsed['ErrorEndUserMessage'],parsed['AndroidLink'],parsed['IOSLink']); helpers.navigateToUpdatePage(parsed['ErrorEndUserMessage'],
parsed['AndroidLink'], parsed['IOSLink']);
} }
if (!parsed['IsAuthenticated']) { if (!parsed['IsAuthenticated']) {
@ -225,7 +224,8 @@ class BaseAppClient {
onSuccess(parsed, statusCode); onSuccess(parsed, statusCode);
} else { } else {
if (parsed['ErrorType'] == 4) { if (parsed['ErrorType'] == 4) {
helpers.navigateToUpdatePage(parsed['ErrorEndUserMessage'],parsed['AndroidLink'],parsed['IOSLink']); helpers.navigateToUpdatePage(parsed['ErrorEndUserMessage'],
parsed['AndroidLink'], parsed['IOSLink']);
} }
if (parsed['IsAuthenticated'] == null) { if (parsed['IsAuthenticated'] == null) {
if (parsed['isSMSSent'] == true) { if (parsed['isSMSSent'] == true) {
@ -289,7 +289,6 @@ class BaseAppClient {
} }
} }
String getError(parsed) { String getError(parsed) {
//TODO change this fun //TODO change this fun
String error = parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage']; String error = parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'];

File diff suppressed because it is too large Load Diff

@ -6,7 +6,7 @@ import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/patient_profile_header_with_appointment_card_app_bar.dart'; import 'package:doctor_app_flutter/widgets/patients/profile/patient_profile_header_with_appointment_card_app_bar.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
import 'file:///C:/Users/admin/AndroidStudioProjects/doctor_app_flutter/lib/widgets/shared/buttons/secondary_button.dart'; import 'package:doctor_app_flutter/widgets/shared/buttons/secondary_button.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:url_launcher/url_launcher.dart'; import 'package:url_launcher/url_launcher.dart';
@ -88,7 +88,7 @@ class RadiologyDetailsPage extends StatelessWidget {
), ),
bottomSheet: model.radImageURL.isNotEmpty bottomSheet: model.radImageURL.isNotEmpty
? Container( ? Container(
height: 80, height: 80,
width: double.maxFinite, width: double.maxFinite,
child: Container( child: Container(
margin: margin:

@ -44,406 +44,414 @@ class VitalSignDetailsScreen extends StatelessWidget {
appBarTitle: TranslationBase.of(context).vitalSign, appBarTitle: TranslationBase.of(context).vitalSign,
body: mode.patientVitalSignsHistory.length > 0 body: mode.patientVitalSignsHistory.length > 0
? Column( ? Column(
crossAxisAlignment: CrossAxisAlignment.start, children: [
children: [ Expanded(
Container( child: Container(
margin: EdgeInsets.all(16.0),
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
AppText( Container(
"${patient.firstName ?? patient.patientDetails.firstName}'s", margin: EdgeInsets.all(16.0),
fontFamily: 'Poppins', child: Column(
fontSize: SizeConfig.textMultiplier * 1.6, crossAxisAlignment: CrossAxisAlignment.start,
fontWeight: FontWeight.w600,
),
AppText(
TranslationBase.of(context).vitalSign,
fontFamily: 'Poppins',
fontSize: SizeConfig.textMultiplier * 3,
fontWeight: FontWeight.bold,
)
],
),
),
Container(
height: MediaQuery.of(context).size.height * 0.23,
width: double.infinity,
padding: EdgeInsets.all(12.0),
margin: EdgeInsets.symmetric(horizontal: 16.0),
decoration: BoxDecoration(
shape: BoxShape.rectangle,
color: Colors.white,
borderRadius: BorderRadius.circular(16),
border: Border.fromBorderSide(BorderSide(
color: Colors.grey.shade400,
width: 0.4,
)),
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
"${TranslationBase.of(context).yourBodyMassIndex} ${mode.bodyMax}",
fontFamily: 'Poppins',
fontSize: SizeConfig.textMultiplier * 2.0,
fontWeight: FontWeight.w700,
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Image.asset(
mode.getBMIStatus() != 1
? '${assetBasePath}underweight_BMI.png'
: '${assetBasePath}underweight_BMI-r.png',
height:
MediaQuery.of(context).size.height * 0.10,
),
const SizedBox(
height: 4,
),
AppText(
"${TranslationBase.of(context).bmiUnderWeight}",
fontFamily: 'Poppins',
fontSize: SizeConfig.textMultiplier * 1.15,
color: mode.getBMIStatus() == 1
? Color(0XFFD02127)
: null,
fontWeight: FontWeight.w700,
),
AppText(
"(<18.5)",
fontFamily: 'Poppins',
fontSize: SizeConfig.textMultiplier * 1.15,
color: mode.getBMIStatus() == 1
? Color(0XFFD02127)
: null,
fontWeight: FontWeight.w700,
),
],
)),
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Image.asset(
mode.getBMIStatus() != 2
? '${assetBasePath}health_BMI.png'
: '${assetBasePath}health_BMI-r.png',
height:
MediaQuery.of(context).size.height * 0.10,
),
const SizedBox(
height: 4,
),
Container(
child: AppText(
"${TranslationBase.of(context).normal}",
fontFamily: 'Poppins',
fontSize: SizeConfig.textMultiplier * 1.15,
fontWeight: FontWeight.w700,
color: mode.getBMIStatus() == 2
? Color(0XFFD02127)
: null,
),
),
AppText(
"(18.5-24.9)",
fontFamily: 'Poppins',
fontSize: SizeConfig.textMultiplier * 1.15,
fontWeight: FontWeight.w700,
color: mode.getBMIStatus() == 2
? Color(0XFFD02127)
: null,
),
],
)),
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [ children: [
Image.asset(
mode.getBMIStatus() != 3
? '${assetBasePath}ovrweight_BMI.png'
: '${assetBasePath}ovrweight_BMI-r.png',
height:
MediaQuery.of(context).size.height * 0.10,
),
const SizedBox(
height: 4,
),
AppText( AppText(
"${TranslationBase.of(context).bmiOverWeight}", "${patient.firstName ?? patient.patientDetails.firstName}'s",
fontFamily: 'Poppins', fontFamily: 'Poppins',
fontSize: SizeConfig.textMultiplier * 1.155, fontSize: SizeConfig.textMultiplier * 1.6,
fontWeight: FontWeight.w700, fontWeight: FontWeight.w600,
color: mode.getBMIStatus() == 3
? Color(0XFFD02127)
: null,
), ),
AppText( AppText(
"(25-29.9)", TranslationBase.of(context).vitalSign,
fontFamily: 'Poppins', fontFamily: 'Poppins',
fontSize: SizeConfig.textMultiplier * 1.155, fontSize: SizeConfig.textMultiplier * 3,
fontWeight: FontWeight.w700, fontWeight: FontWeight.bold,
color: mode.getBMIStatus() == 3 )
? Color(0XFFD02127)
: null,
),
], ],
)), ),
Expanded( ),
child: Column( Container(
crossAxisAlignment: CrossAxisAlignment.center, height: MediaQuery.of(context).size.height * 0.23,
width: double.infinity,
padding: EdgeInsets.all(12.0),
margin: EdgeInsets.symmetric(horizontal: 16.0, vertical: 8.0),
decoration: BoxDecoration(
shape: BoxShape.rectangle,
color: Colors.white,
borderRadius: BorderRadius.circular(16),
border: Border.fromBorderSide(BorderSide(
color: Colors.grey.shade400,
width: 0.4,
)),
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Image.asset(
mode.getBMIStatus() != 4
? '${assetBasePath}Obese_BMI.png'
: '${assetBasePath}Obese_BMI-r.png',
height:
MediaQuery.of(context).size.height * 0.10,
),
const SizedBox(
height: 4,
),
AppText( AppText(
"${TranslationBase.of(context).bmiObese}", "${TranslationBase.of(context).yourBodyMassIndex} ${mode.bodyMax}",
fontFamily: 'Poppins', fontFamily: 'Poppins',
fontSize: SizeConfig.textMultiplier * 1.15, fontSize: SizeConfig.textMultiplier * 2.0,
fontWeight: FontWeight.w700, fontWeight: FontWeight.w700,
color: mode.getBMIStatus() == 4
? Color(0XFFD02127)
: null,
),
AppText(
"(30-34.9)",
fontFamily: 'Poppins',
fontSize: SizeConfig.textMultiplier * 1.15,
fontWeight: FontWeight.w700,
color: mode.getBMIStatus() == 4
? Color(0XFFD02127)
: null,
), ),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Image.asset(
mode.getBMIStatus() != 1
? '${assetBasePath}underweight_BMI.png'
: '${assetBasePath}underweight_BMI-r.png',
height:
MediaQuery.of(context).size.height * 0.10,
),
const SizedBox(
height: 4,
),
AppText(
"${TranslationBase.of(context).bmiUnderWeight}",
fontFamily: 'Poppins',
fontSize: SizeConfig.textMultiplier * 1.15,
color: mode.getBMIStatus() == 1
? Color(0XFFD02127)
: null,
fontWeight: FontWeight.w700,
),
AppText(
"(<18.5)",
fontFamily: 'Poppins',
fontSize: SizeConfig.textMultiplier * 1.15,
color: mode.getBMIStatus() == 1
? Color(0XFFD02127)
: null,
fontWeight: FontWeight.w700,
),
],
)),
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Image.asset(
mode.getBMIStatus() != 2
? '${assetBasePath}health_BMI.png'
: '${assetBasePath}health_BMI-r.png',
height:
MediaQuery.of(context).size.height * 0.10,
),
const SizedBox(
height: 4,
),
Container(
child: AppText(
"${TranslationBase.of(context).normal}",
fontFamily: 'Poppins',
fontSize: SizeConfig.textMultiplier * 1.15,
fontWeight: FontWeight.w700,
color: mode.getBMIStatus() == 2
? Color(0XFFD02127)
: null,
),
),
AppText(
"(18.5-24.9)",
fontFamily: 'Poppins',
fontSize: SizeConfig.textMultiplier * 1.15,
fontWeight: FontWeight.w700,
color: mode.getBMIStatus() == 2
? Color(0XFFD02127)
: null,
),
],
)),
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Image.asset(
mode.getBMIStatus() != 3
? '${assetBasePath}ovrweight_BMI.png'
: '${assetBasePath}ovrweight_BMI-r.png',
height:
MediaQuery.of(context).size.height * 0.10,
),
const SizedBox(
height: 4,
),
AppText(
"${TranslationBase.of(context).bmiOverWeight}",
fontFamily: 'Poppins',
fontSize: SizeConfig.textMultiplier * 1.155,
fontWeight: FontWeight.w700,
color: mode.getBMIStatus() == 3
? Color(0XFFD02127)
: null,
),
AppText(
"(25-29.9)",
fontFamily: 'Poppins',
fontSize: SizeConfig.textMultiplier * 1.155,
fontWeight: FontWeight.w700,
color: mode.getBMIStatus() == 3
? Color(0XFFD02127)
: null,
),
],
)),
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Image.asset(
mode.getBMIStatus() != 4
? '${assetBasePath}Obese_BMI.png'
: '${assetBasePath}Obese_BMI-r.png',
height:
MediaQuery.of(context).size.height * 0.10,
),
const SizedBox(
height: 4,
),
AppText(
"${TranslationBase.of(context).bmiObese}",
fontFamily: 'Poppins',
fontSize: SizeConfig.textMultiplier * 1.15,
fontWeight: FontWeight.w700,
color: mode.getBMIStatus() == 4
? Color(0XFFD02127)
: null,
),
AppText(
"(30-34.9)",
fontFamily: 'Poppins',
fontSize: SizeConfig.textMultiplier * 1.15,
fontWeight: FontWeight.w700,
color: mode.getBMIStatus() == 4
? Color(0XFFD02127)
: null,
),
],
)),
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Image.asset(
mode.getBMIStatus() != 5
? '${assetBasePath}Obese_BMI.png'
: '${assetBasePath}Obese_BMI-r.png',
height:
MediaQuery.of(context).size.height * 0.10,
),
const SizedBox(
height: 4,
),
FittedBox(
fit: BoxFit.fitWidth,
child: AppText(
"${TranslationBase.of(context).bmiObeseExtreme}",
fontFamily: 'Poppins',
fontSize: SizeConfig.textMultiplier * 1.15,
fontWeight: FontWeight.w700,
color: mode.getBMIStatus() == 5
? Color(0XFFD02127)
: null,
),
),
AppText(
"(35<)",
fontFamily: 'Poppins',
fontSize: SizeConfig.textMultiplier * 1.15,
fontWeight: FontWeight.w700,
color: mode.getBMIStatus() == 5
? Color(0XFFD02127)
: null,
),
],
)),
],
)
], ],
)), ),
Expanded( ),
child: Column( Expanded(
crossAxisAlignment: CrossAxisAlignment.center, child: Container(
children: [ margin: EdgeInsets.symmetric(horizontal: 16.0, vertical: 4),
Image.asset( child: GridView.count(
mode.getBMIStatus() != 5 shrinkWrap: true,
? '${assetBasePath}Obese_BMI.png' physics: NeverScrollableScrollPhysics(),
: '${assetBasePath}Obese_BMI-r.png', crossAxisSpacing: 6,
height: mainAxisSpacing: 6,
MediaQuery.of(context).size.height * 0.10, childAspectRatio: 1.0 / 1.0,
), crossAxisCount: 3,
const SizedBox( children: [
height: 4, InkWell(
), onTap: () => isNotOneAppointment
FittedBox( ? Navigator.push(
fit: BoxFit.fitWidth, context,
child: AppText( FadePage(
"${TranslationBase.of(context).bmiObeseExtreme}", page: VitalSignItemDetailsScreen(
fontFamily: 'Poppins', pageKey: vitalSignDetails.Height,
fontSize: SizeConfig.textMultiplier * 1.15, pageTitle:
fontWeight: FontWeight.w700, TranslationBase.of(context).height,
color: mode.getBMIStatus() == 5 vitalList:
? Color(0XFFD02127) mode.patientVitalSignsHistory,
patient: patient,
patientType: patientType,
arrivalType: arrivalType,
),
),
)
: null, : null,
), child: Container(
), child: VitalSignItem(
AppText( des: TranslationBase.of(context).height,
"(35<)", imagePath: "${assetBasePath}height.png",
fontFamily: 'Poppins', lastVal: mode.heightCm,
fontSize: SizeConfig.textMultiplier * 1.15, unit: TranslationBase.of(context).cm,
fontWeight: FontWeight.w700,
color: mode.getBMIStatus() == 5
? Color(0XFFD02127)
: null,
),
],
)),
],
)
],
),
),
Expanded(
child: Container(
margin: EdgeInsets.symmetric(horizontal: 8.0),
child: GridView.count(
shrinkWrap: true,
physics: NeverScrollableScrollPhysics(),
crossAxisSpacing: 4,
mainAxisSpacing: 4,
childAspectRatio: 1 / 1.0,
crossAxisCount: 3,
children: [
InkWell(
onTap: () => isNotOneAppointment
? Navigator.push(
context,
FadePage(
page: VitalSignItemDetailsScreen(
pageKey: vitalSignDetails.Height,
pageTitle:
TranslationBase.of(context).height,
vitalList:
mode.patientVitalSignsHistory,
patient: patient,
patientType: patientType,
arrivalType: arrivalType,
), ),
), ),
) ),
: null, InkWell(
child: Container( onTap: () => isNotOneAppointment
child: VitalSignItem( ? Navigator.push(
des: TranslationBase.of(context).height, context,
imagePath: "${assetBasePath}height.png", FadePage(
lastVal: mode.heightCm, page: VitalSignItemDetailsScreen(
unit: TranslationBase.of(context).cm, pageKey: vitalSignDetails.Weight,
), pageTitle:
), TranslationBase.of(context).weight,
), vitalList:
InkWell( mode.patientVitalSignsHistory,
onTap: () => isNotOneAppointment patient: patient,
? Navigator.push( patientType: patientType,
context, arrivalType: arrivalType,
FadePage( ),
page: VitalSignItemDetailsScreen(
pageKey: vitalSignDetails.Weight,
pageTitle:
TranslationBase.of(context).weight,
vitalList:
mode.patientVitalSignsHistory,
patient: patient,
patientType: patientType,
arrivalType: arrivalType,
), ),
)
: null,
child: VitalSignItem(
des: TranslationBase.of(context).weight,
imagePath: "${assetBasePath}weight.png",
unit: TranslationBase.of(context).kg,
lastVal: mode.weightKg,
), ),
) ),
: null, InkWell(
child: VitalSignItem( onTap: () => isNotOneAppointment
des: TranslationBase.of(context).weight, ? Navigator.push(
imagePath: "${assetBasePath}weight.png", context,
unit: TranslationBase.of(context).kg, FadePage(
lastVal: mode.weightKg, page: VitalSignItemDetailsScreen(
), pageKey: vitalSignDetails.Temperature,
), pageTitle: TranslationBase.of(context)
InkWell( .temperature,
onTap: () => isNotOneAppointment vitalList:
? Navigator.push( mode.patientVitalSignsHistory,
context, patient: patient,
FadePage( patientType: patientType,
page: VitalSignItemDetailsScreen( arrivalType: arrivalType,
pageKey: vitalSignDetails.Temperature, ),
pageTitle: TranslationBase.of(context) ),
.temperature, )
vitalList: : null,
mode.patientVitalSignsHistory, child: Container(
patient: patient, child: VitalSignItem(
patientType: patientType, des: TranslationBase.of(context).temperature,
arrivalType: arrivalType, imagePath: "${assetBasePath}temperature.png",
lastVal: mode.temperatureCelcius,
unit: TranslationBase.of(context).tempC,
), ),
), ),
) ),
: null, InkWell(
child: Container( onTap: () => isNotOneAppointment
child: VitalSignItem( ? Navigator.push(
des: TranslationBase.of(context).temperature, context,
imagePath: "${assetBasePath}temperature.png", FadePage(
lastVal: mode.temperatureCelcius, page: VitalSignItemDetailsScreen(
unit: TranslationBase.of(context).tempC, pageKey: vitalSignDetails.heart,
), pageTitle:
), TranslationBase.of(context).heart,
), vitalList:
InkWell( mode.patientVitalSignsHistory,
onTap: () => isNotOneAppointment patient: patient,
? Navigator.push( patientType: patientType,
context, arrivalType: arrivalType,
FadePage( ),
page: VitalSignItemDetailsScreen(
pageKey: vitalSignDetails.heart,
pageTitle:
TranslationBase.of(context).heart,
vitalList:
mode.patientVitalSignsHistory,
patient: patient,
patientType: patientType,
arrivalType: arrivalType,
), ),
)
: null,
child: VitalSignItem(
des: TranslationBase.of(context).heart,
imagePath: "${assetBasePath}heart_rate.png",
lastVal: mode.hartRat,
unit: TranslationBase.of(context).bpm,
), ),
) ),
: null, InkWell(
child: VitalSignItem( onTap: () => isNotOneAppointment
des: TranslationBase.of(context).heart, ? Navigator.push(
imagePath: "${assetBasePath}heart_rate.png", context,
lastVal: mode.hartRat, FadePage(
unit: TranslationBase.of(context).bpm, page: VitalSignItemDetailsScreen(
), pageKey: vitalSignDetails.Respiration,
), pageTitle: TranslationBase.of(context)
InkWell( .respirationRate,
onTap: () => isNotOneAppointment vitalList:
? Navigator.push( mode.patientVitalSignsHistory,
context, patient: patient,
FadePage( patientType: patientType,
page: VitalSignItemDetailsScreen( arrivalType: arrivalType,
pageKey: vitalSignDetails.Respiration, ),
pageTitle: TranslationBase.of(context)
.respirationRate,
vitalList:
mode.patientVitalSignsHistory,
patient: patient,
patientType: patientType,
arrivalType: arrivalType,
), ),
)
: null,
child: VitalSignItem(
des: TranslationBase.of(context).respirationRate,
imagePath: "${assetBasePath}respiration_rate.png",
lastVal: mode.respirationBeatPerMinute,
unit:
TranslationBase.of(context).respirationSigns,
), ),
) ),
: null, InkWell(
child: VitalSignItem( onTap: () => isNotOneAppointment
des: TranslationBase.of(context).respirationRate, ? Navigator.push(
imagePath: "${assetBasePath}respiration_rate.png", context,
lastVal: mode.respirationBeatPerMinute, FadePage(
unit: page: VitalSignItemDetailsScreen(
TranslationBase.of(context).respirationSigns, pageKey: vitalSignDetails.BloodPressure,
), pageTitle: TranslationBase.of(context)
), .bloodPressure,
InkWell( vitalList:
onTap: () => isNotOneAppointment mode.patientVitalSignsHistory,
? Navigator.push( patient: patient,
context, patientType: patientType,
FadePage( arrivalType: arrivalType,
page: VitalSignItemDetailsScreen( ),
pageKey: vitalSignDetails.BloodPressure,
pageTitle: TranslationBase.of(context)
.bloodPressure,
vitalList:
mode.patientVitalSignsHistory,
patient: patient,
patientType: patientType,
arrivalType: arrivalType,
), ),
)
: null,
child: VitalSignItem(
des: TranslationBase.of(context).bloodPressure,
imagePath: "${assetBasePath}blood_pressure.png",
lastVal: mode.bloodPressure,
unit: TranslationBase.of(context).sysDias,
), ),
) ),
: null, ],
child: VitalSignItem( ),
des: TranslationBase.of(context).bloodPressure,
imagePath: "${assetBasePath}blood_pressure.png",
lastVal: mode.bloodPressure,
unit: TranslationBase.of(context).sysDias,
), ),
), ),
], ],
), ),
),
), ),
], ),
) ],
)
: Center( : Center(
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,

@ -55,13 +55,17 @@ class VitalSignItem extends StatelessWidget {
margin: 0, margin: 0,
), ),
Expanded( Expanded(
child: AppText( child: Column(
"$unit", children: [
fontFamily: 'Poppins', AppText(
fontSize: SizeConfig.textMultiplier * 1.2, "$unit",
fontWeight: FontWeight.w700, fontFamily: 'Poppins',
color: HexColor('#B8382C'), fontSize: SizeConfig.textMultiplier * 1.2,
margin: 0, fontWeight: FontWeight.w700,
color: Color(0xFFB8382C),
margin: 0,
),
],
), ),
), ),
], ],

@ -164,7 +164,7 @@ class ProcedureCard extends StatelessWidget {
), ),
], ],
), ),
Container( /*Container(
alignment: Alignment.centerRight, alignment: Alignment.centerRight,
child: InkWell( child: InkWell(
onTap: () { onTap: () {
@ -184,7 +184,7 @@ class ProcedureCard extends StatelessWidget {
color: Colors.blue, color: Colors.blue,
), ),
), ),
), ),*/
Row( Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ children: [

@ -252,7 +252,8 @@ class AddSickLeavScreen extends StatelessWidget {
Image.asset('assets/images/no-data.png'), Image.asset('assets/images/no-data.png'),
Padding( Padding(
padding: const EdgeInsets.all(8.0), padding: const EdgeInsets.all(8.0),
child: AppText('No Sick Leave Found'), child: AppText(
TranslationBase.of(context).noSickLeave),
) )
], ],
), ),

@ -5,19 +5,14 @@ import 'package:doctor_app_flutter/icons_app/doctor_app_icons.dart';
import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart'; import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart';
import 'package:doctor_app_flutter/models/sickleave/get_all_sickleave_response.dart'; import 'package:doctor_app_flutter/models/sickleave/get_all_sickleave_response.dart';
import 'package:doctor_app_flutter/screens/base/base_view.dart'; import 'package:doctor_app_flutter/screens/base/base_view.dart';
import 'package:doctor_app_flutter/screens/sick-leave/sick_leave.dart';
import 'package:doctor_app_flutter/util/date-utils.dart'; import 'package:doctor_app_flutter/util/date-utils.dart';
import 'package:doctor_app_flutter/util/dr_app_toast_msg.dart'; import 'package:doctor_app_flutter/util/dr_app_toast_msg.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/patient-page-header-widget.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/patient-profile-header-new-design-app-bar.dart'; import 'package:doctor_app_flutter/widgets/patients/profile/patient-profile-header-new-design-app-bar.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/patient-profile-header-new-design.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/card_with_bgNew_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/rounded_container_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/rounded_container_widget.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:hexcolor/hexcolor.dart';
class ShowSickLeaveScreen extends StatelessWidget { class ShowSickLeaveScreen extends StatelessWidget {
PatiantInformtion patient; PatiantInformtion patient;
@ -32,6 +27,7 @@ class ShowSickLeaveScreen extends StatelessWidget {
builder: (_, model, w) => AppScaffold( builder: (_, model, w) => AppScaffold(
baseViewModel: model, baseViewModel: model,
isShowAppBar: true, isShowAppBar: true,
backgroundColor: Colors.grey[100],
appBar: PatientProfileHeaderNewDesignAppBar( appBar: PatientProfileHeaderNewDesignAppBar(
patient, patient,
routeArgs['patientType'] ?? "0", routeArgs['patientType'] ?? "0",
@ -42,132 +38,153 @@ class ShowSickLeaveScreen extends StatelessWidget {
children: [ children: [
// PatientProfileHeaderNewDesign( // PatientProfileHeaderNewDesign(
// patient, routeArgs['patientType'], routeArgs['arrivalType']), // patient, routeArgs['patientType'], routeArgs['arrivalType']),
Column( model.getAllSIckLeave.length > 0
children: model.getAllSIckLeave ? Column(
.map<Widget>((GetAllSickLeaveResponse item) { children: model.getAllSIckLeave
return RoundedContainer( .map<Widget>((GetAllSickLeaveResponse item) {
child: Column( return RoundedContainer(
children: [ child: Column(
Container( children: [
decoration: BoxDecoration( Container(
border: Border( decoration: BoxDecoration(
left: BorderSide( border: Border(
color: item.status == 1 left: BorderSide(
? Colors.yellow[800] color: item.status == 1
: item.status == 2 ? Colors.yellow[800]
? Colors.green : item.status == 2
: Colors.black, ? Colors.green
width: 5.0, : Colors.black,
))), width: 5.0,
padding: EdgeInsets.all(10), ))),
child: Row( padding: EdgeInsets.all(10),
mainAxisAlignment: MainAxisAlignment.start, child: Row(
children: <Widget>[ mainAxisAlignment: MainAxisAlignment.start,
Expanded(
flex: 4,
child: Wrap(
// mainAxisAlignment:
// MainAxisAlignment.start,
children: <Widget>[ children: <Widget>[
Column( Expanded(
crossAxisAlignment: flex: 4,
CrossAxisAlignment.start, child: Wrap(
children: <Widget>[ // mainAxisAlignment:
Container( // MainAxisAlignment.start,
padding: EdgeInsets.all(3), children: <Widget>[
child: AppText( Column(
item.status == 1 crossAxisAlignment:
? TranslationBase.of(context) CrossAxisAlignment.start,
.hold children: <Widget>[
: item.status == 2 Container(
? TranslationBase.of( padding: EdgeInsets.all(3),
context)
.active
: TranslationBase.of(
context)
.all,
fontWeight: FontWeight.bold,
color: item.status == 1
? Colors.yellow[800]
: item.status == 2
? Colors.green
: Colors.black,
),
),
Row(
children: [
AppText(TranslationBase.of(context)
.daysSickleave),
AppText(
item.noOfDays.toString(),
fontWeight: FontWeight.bold,
),
],
),
Row(
children: [
AppText(
TranslationBase.of(context)
.startDate +
' ',
),
Flexible(
child: AppText( child: AppText(
DateUtils item.status == 1
.convertStringToDateFormat( ? TranslationBase.of(
item.startDate, context)
'dd-MMM-yyyy'), .hold
fontWeight: FontWeight.bold, : item.status == 2
)) ? TranslationBase.of(
], context)
), .active
Row( : TranslationBase.of(
mainAxisAlignment: context)
MainAxisAlignment.spaceBetween, .all,
children: [ fontWeight: FontWeight.bold,
AppText( color: item.status == 1
item.remarks ?? "", ? Colors.yellow[800]
: item.status == 2
? Colors.green
: Colors.black,
),
),
Row(
children: [
AppText(TranslationBase.of(
context)
.daysSickleave),
AppText(
item.noOfDays.toString(),
fontWeight: FontWeight.bold,
),
],
),
Row(
children: [
AppText(
TranslationBase.of(context)
.startDate +
' ',
),
Flexible(
child: AppText(
DateUtils
.convertStringToDateFormat(
item.startDate,
'dd-MMM-yyyy'),
fontWeight: FontWeight.bold,
))
],
), ),
(item.status == 1) Row(
? IconButton( mainAxisAlignment:
icon: Image.asset( MainAxisAlignment
'assets/images/edit.png'), .spaceBetween,
children: [
AppText(
item.remarks ?? "",
),
(item.status == 1)
? IconButton(
icon: Image.asset(
'assets/images/edit.png'),
// color: Colors.green, //Colors.black, // color: Colors.green, //Colors.black,
onPressed: () => { onPressed: () => {
if (item.status == 1) if (item.status ==
{ 1)
DrAppToastMsg.showErrorToast( {
TranslationBase.of( DrAppToastMsg.showErrorToast(
context) TranslationBase.of(
.sickleaveonhold) context)
} .sickleaveonhold)
// else }
// { // else
// openSickLeave( // {
// context, // openSickLeave(
// true, // context,
// extendedData: // true,
// item) // extendedData:
// } // item)
}, // }
) },
: SizedBox() )
]), : SizedBox()
], ]),
), ],
SizedBox( ),
width: 20, SizedBox(
width: 20,
),
],
),
), ),
], ],
), )),
), ],
], ));
)), }).toList(),
], )
)); : Center(
}).toList(), child: Column(
) crossAxisAlignment: CrossAxisAlignment.center,
children: [
SizedBox(
height: 100,
),
Image.asset('assets/images/no-data.png'),
Padding(
padding: const EdgeInsets.all(8.0),
child: AppText(
TranslationBase.of(context).noSickLeave),
)
],
),
)
], ],
), ),
), ),

@ -0,0 +1,39 @@
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:flutter/material.dart';
class GetActivityButton extends StatelessWidget {
final value;
GetActivityButton(this.value);
@override
Widget build(BuildContext context) {
return Container(
width: 120,
padding: EdgeInsets.all(5),
margin: EdgeInsets.all(5),
height: 120,
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(20),
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Padding(
padding: EdgeInsets.all(10),
child: AppText(value.value.toString(),
fontSize: 28, fontWeight: FontWeight.bold)),
Expanded(
child: AppText(
value.kPIParameter,
textOverflow: TextOverflow.clip,
fontSize: 12,
textAlign: TextAlign.center,
fontWeight: FontWeight.w600,
),
),
],
),
);
}
}

@ -0,0 +1,68 @@
import 'package:doctor_app_flutter/models/dashboard/dashboard_model.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:flutter/material.dart';
class GetOutPatientStack extends StatelessWidget {
final value;
GetOutPatientStack(this.value);
@override
Widget build(BuildContext context) {
value.summaryoptions
.sort((Summaryoptions a, Summaryoptions b) => b.value - a.value);
var list = new List<Widget>();
value.summaryoptions.forEach((result) =>
{list.add(getStack(result, value.summaryoptions.first.value))});
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
AppText(
value.kPIName,
medium: true,
),
Row(mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: list)
],
);
}
getStack(Summaryoptions value, max) {
return Stack(children: [
Container(
height: 150,
margin: EdgeInsets.all(5),
width: 40,
child: SizedBox(),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10), color: Colors.red[50]),
),
Positioned(
bottom: 0,
child: Container(
child: SizedBox(),
margin: EdgeInsets.all(5),
padding: EdgeInsets.all(10),
height: max != 0 ? (150 * value.value) / max : 0,
width: 40,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10),
color: Colors.red[300]))),
Container(
height: 150,
margin: EdgeInsets.only(left: 5, top: 5),
padding: EdgeInsets.all(10),
child: RotatedBox(
quarterTurns: 1,
child: Center(
child: Align(
child: AppText(
value.kPIParameter + ' (' + value.value.toString() + ') ',
fontSize: 10,
textAlign: TextAlign.center,
fontWeight: FontWeight.bold,
)),
),
))
]);
}
}

@ -0,0 +1,45 @@
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:flutter/material.dart';
class RowCounts extends StatelessWidget {
final name;
final int count;
final Color c;
RowCounts(this.name, this.count, this.c);
@override
Widget build(BuildContext context) {
return Row(
children: [
dot(c),
Padding(
padding: EdgeInsets.only(top: 5, bottom: 5),
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
name,
color: Colors.black,
textAlign: TextAlign.center,
fontSize: 12,
textOverflow: TextOverflow.ellipsis,
),
AppText(
' (' + count.toString() + ')',
color: Colors.black,
textAlign: TextAlign.center,
fontSize: 14,
fontWeight: FontWeight.bold,
)
],
)),
],
);
}
Widget dot(Color c) {
return Container(
padding: EdgeInsets.all(5.0),
margin: EdgeInsets.all(5.0),
decoration: BoxDecoration(color: c, shape: BoxShape.circle));
}
}

@ -0,0 +1,24 @@
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:flutter/material.dart';
class SwiperRoundedPagination extends StatelessWidget {
final active;
SwiperRoundedPagination(this.active);
@override
Widget build(BuildContext context) {
return active == true
? Container(
height: 5,
width: 30,
// margin: EdgeInsets.only(10),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(5), color: Colors.black),
)
: Container(
height: 5,
width: 8,
margin: EdgeInsets.all(2),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10), color: Colors.grey));
}
}

@ -32,7 +32,7 @@ class AppText extends StatefulWidget {
AppText( AppText(
this.text, { this.text, {
this.color = Colors.black, this.color = Colors.black,
this.fontWeight = FontWeight.normal, this.fontWeight,
this.variant, this.variant,
this.fontSize, this.fontSize,
this.fontFamily = 'Poppins', this.fontFamily = 'Poppins',

@ -107,7 +107,7 @@ class _AppButtonState extends State<AppButton> {
shape: RoundedRectangleBorder( shape: RoundedRectangleBorder(
side: BorderSide( side: BorderSide(
color: color:
widget.hasBorder ? widget.borderColor : widget.color, widget.hasBorder ? widget.borderColor : widget.color ?? Color(0xFFB8382C),
width: 0.8, width: 0.8,
), ),
borderRadius: BorderRadius.all(Radius.circular(widget.radius))), borderRadius: BorderRadius.all(Radius.circular(widget.radius))),

@ -901,6 +901,13 @@ packages:
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.10.0-nullsafety.1" version: "1.10.0-nullsafety.1"
sticky_headers:
dependency: "direct main"
description:
name: sticky_headers
url: "https://pub.dartlang.org"
source: hosted
version: "0.1.8+1"
stream_channel: stream_channel:
dependency: transitive dependency: transitive
description: description:

@ -78,7 +78,7 @@ dependencies:
# Flutter Html View # Flutter Html View
flutter_html: 1.0.2 flutter_html: 1.0.2
sticky_headers: "^0.1.8"
#speech to text #speech to text

Loading…
Cancel
Save