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("Body : ${json.encode(body)}");
String req = json.encode(body);
var asd="";
if (await Helpers.checkConnection()) {
final response = await http.post(url,
@ -105,7 +103,8 @@ class BaseAppClient {
var parsed = json.decode(response.body.toString());
if (parsed['ErrorType'] == 4) {
helpers.navigateToUpdatePage(parsed['ErrorEndUserMessage'],parsed['AndroidLink'],parsed['IOSLink']);
helpers.navigateToUpdatePage(parsed['ErrorEndUserMessage'],
parsed['AndroidLink'], parsed['IOSLink']);
}
if (!parsed['IsAuthenticated']) {
@ -225,7 +224,8 @@ class BaseAppClient {
onSuccess(parsed, statusCode);
} else {
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['isSMSSent'] == true) {
@ -289,7 +289,6 @@ class BaseAppClient {
}
}
String getError(parsed) {
//TODO change this fun
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/shared/app_texts_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/material.dart';
import 'package:url_launcher/url_launcher.dart';
@ -88,7 +88,7 @@ class RadiologyDetailsPage extends StatelessWidget {
),
bottomSheet: model.radImageURL.isNotEmpty
? Container(
height: 80,
height: 80,
width: double.maxFinite,
child: Container(
margin:

@ -44,406 +44,414 @@ class VitalSignDetailsScreen extends StatelessWidget {
appBarTitle: TranslationBase.of(context).vitalSign,
body: mode.patientVitalSignsHistory.length > 0
? Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
margin: EdgeInsets.all(16.0),
children: [
Expanded(
child: Container(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
"${patient.firstName ?? patient.patientDetails.firstName}'s",
fontFamily: 'Poppins',
fontSize: SizeConfig.textMultiplier * 1.6,
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,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
margin: EdgeInsets.all(16.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
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}",
"${patient.firstName ?? patient.patientDetails.firstName}'s",
fontFamily: 'Poppins',
fontSize: SizeConfig.textMultiplier * 1.155,
fontWeight: FontWeight.w700,
color: mode.getBMIStatus() == 3
? Color(0XFFD02127)
: null,
fontSize: SizeConfig.textMultiplier * 1.6,
fontWeight: FontWeight.w600,
),
AppText(
"(25-29.9)",
TranslationBase.of(context).vitalSign,
fontFamily: 'Poppins',
fontSize: SizeConfig.textMultiplier * 1.155,
fontWeight: FontWeight.w700,
color: mode.getBMIStatus() == 3
? Color(0XFFD02127)
: null,
),
fontSize: SizeConfig.textMultiplier * 3,
fontWeight: FontWeight.bold,
)
],
)),
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
),
),
Container(
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: [
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}",
"${TranslationBase.of(context).yourBodyMassIndex} ${mode.bodyMax}",
fontFamily: 'Poppins',
fontSize: SizeConfig.textMultiplier * 1.15,
fontSize: SizeConfig.textMultiplier * 2.0,
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(
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)
),
),
Expanded(
child: Container(
margin: EdgeInsets.symmetric(horizontal: 16.0, vertical: 4),
child: GridView.count(
shrinkWrap: true,
physics: NeverScrollableScrollPhysics(),
crossAxisSpacing: 6,
mainAxisSpacing: 6,
childAspectRatio: 1.0 / 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,
),
),
AppText(
"(35<)",
fontFamily: 'Poppins',
fontSize: SizeConfig.textMultiplier * 1.15,
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,
child: Container(
child: VitalSignItem(
des: TranslationBase.of(context).height,
imagePath: "${assetBasePath}height.png",
lastVal: mode.heightCm,
unit: TranslationBase.of(context).cm,
),
),
)
: null,
child: Container(
child: VitalSignItem(
des: TranslationBase.of(context).height,
imagePath: "${assetBasePath}height.png",
lastVal: mode.heightCm,
unit: TranslationBase.of(context).cm,
),
),
),
InkWell(
onTap: () => isNotOneAppointment
? Navigator.push(
context,
FadePage(
page: VitalSignItemDetailsScreen(
pageKey: vitalSignDetails.Weight,
pageTitle:
TranslationBase.of(context).weight,
vitalList:
mode.patientVitalSignsHistory,
patient: patient,
patientType: patientType,
arrivalType: arrivalType,
),
InkWell(
onTap: () => isNotOneAppointment
? Navigator.push(
context,
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,
child: VitalSignItem(
des: TranslationBase.of(context).weight,
imagePath: "${assetBasePath}weight.png",
unit: TranslationBase.of(context).kg,
lastVal: mode.weightKg,
),
),
InkWell(
onTap: () => isNotOneAppointment
? Navigator.push(
context,
FadePage(
page: VitalSignItemDetailsScreen(
pageKey: vitalSignDetails.Temperature,
pageTitle: TranslationBase.of(context)
.temperature,
vitalList:
mode.patientVitalSignsHistory,
patient: patient,
patientType: patientType,
arrivalType: arrivalType,
),
InkWell(
onTap: () => isNotOneAppointment
? Navigator.push(
context,
FadePage(
page: VitalSignItemDetailsScreen(
pageKey: vitalSignDetails.Temperature,
pageTitle: TranslationBase.of(context)
.temperature,
vitalList:
mode.patientVitalSignsHistory,
patient: patient,
patientType: patientType,
arrivalType: arrivalType,
),
),
)
: null,
child: Container(
child: VitalSignItem(
des: TranslationBase.of(context).temperature,
imagePath: "${assetBasePath}temperature.png",
lastVal: mode.temperatureCelcius,
unit: TranslationBase.of(context).tempC,
),
),
)
: null,
child: Container(
child: VitalSignItem(
des: TranslationBase.of(context).temperature,
imagePath: "${assetBasePath}temperature.png",
lastVal: mode.temperatureCelcius,
unit: TranslationBase.of(context).tempC,
),
),
),
InkWell(
onTap: () => isNotOneAppointment
? Navigator.push(
context,
FadePage(
page: VitalSignItemDetailsScreen(
pageKey: vitalSignDetails.heart,
pageTitle:
TranslationBase.of(context).heart,
vitalList:
mode.patientVitalSignsHistory,
patient: patient,
patientType: patientType,
arrivalType: arrivalType,
),
InkWell(
onTap: () => isNotOneAppointment
? Navigator.push(
context,
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,
child: VitalSignItem(
des: TranslationBase.of(context).heart,
imagePath: "${assetBasePath}heart_rate.png",
lastVal: mode.hartRat,
unit: TranslationBase.of(context).bpm,
),
),
InkWell(
onTap: () => isNotOneAppointment
? Navigator.push(
context,
FadePage(
page: VitalSignItemDetailsScreen(
pageKey: vitalSignDetails.Respiration,
pageTitle: TranslationBase.of(context)
.respirationRate,
vitalList:
mode.patientVitalSignsHistory,
patient: patient,
patientType: patientType,
arrivalType: arrivalType,
),
InkWell(
onTap: () => isNotOneAppointment
? Navigator.push(
context,
FadePage(
page: VitalSignItemDetailsScreen(
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,
child: VitalSignItem(
des: TranslationBase.of(context).respirationRate,
imagePath: "${assetBasePath}respiration_rate.png",
lastVal: mode.respirationBeatPerMinute,
unit:
TranslationBase.of(context).respirationSigns,
),
),
InkWell(
onTap: () => isNotOneAppointment
? Navigator.push(
context,
FadePage(
page: VitalSignItemDetailsScreen(
pageKey: vitalSignDetails.BloodPressure,
pageTitle: TranslationBase.of(context)
.bloodPressure,
vitalList:
mode.patientVitalSignsHistory,
patient: patient,
patientType: patientType,
arrivalType: arrivalType,
),
InkWell(
onTap: () => isNotOneAppointment
? Navigator.push(
context,
FadePage(
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(
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,

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

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

@ -252,7 +252,8 @@ class AddSickLeavScreen extends StatelessWidget {
Image.asset('assets/images/no-data.png'),
Padding(
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/sickleave/get_all_sickleave_response.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/dr_app_toast_msg.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.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/card_with_bgNew_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/rounded_container_widget.dart';
import 'package:flutter/material.dart';
import 'package:hexcolor/hexcolor.dart';
class ShowSickLeaveScreen extends StatelessWidget {
PatiantInformtion patient;
@ -32,6 +27,7 @@ class ShowSickLeaveScreen extends StatelessWidget {
builder: (_, model, w) => AppScaffold(
baseViewModel: model,
isShowAppBar: true,
backgroundColor: Colors.grey[100],
appBar: PatientProfileHeaderNewDesignAppBar(
patient,
routeArgs['patientType'] ?? "0",
@ -42,132 +38,153 @@ class ShowSickLeaveScreen extends StatelessWidget {
children: [
// PatientProfileHeaderNewDesign(
// patient, routeArgs['patientType'], routeArgs['arrivalType']),
Column(
children: model.getAllSIckLeave
.map<Widget>((GetAllSickLeaveResponse item) {
return RoundedContainer(
child: Column(
children: [
Container(
decoration: BoxDecoration(
border: Border(
left: BorderSide(
color: item.status == 1
? Colors.yellow[800]
: item.status == 2
? Colors.green
: Colors.black,
width: 5.0,
))),
padding: EdgeInsets.all(10),
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
Expanded(
flex: 4,
child: Wrap(
// mainAxisAlignment:
// MainAxisAlignment.start,
model.getAllSIckLeave.length > 0
? Column(
children: model.getAllSIckLeave
.map<Widget>((GetAllSickLeaveResponse item) {
return RoundedContainer(
child: Column(
children: [
Container(
decoration: BoxDecoration(
border: Border(
left: BorderSide(
color: item.status == 1
? Colors.yellow[800]
: item.status == 2
? Colors.green
: Colors.black,
width: 5.0,
))),
padding: EdgeInsets.all(10),
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: <Widget>[
Container(
padding: EdgeInsets.all(3),
child: AppText(
item.status == 1
? TranslationBase.of(context)
.hold
: item.status == 2
? TranslationBase.of(
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(
Expanded(
flex: 4,
child: Wrap(
// mainAxisAlignment:
// MainAxisAlignment.start,
children: <Widget>[
Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: <Widget>[
Container(
padding: EdgeInsets.all(3),
child: AppText(
DateUtils
.convertStringToDateFormat(
item.startDate,
'dd-MMM-yyyy'),
fontWeight: FontWeight.bold,
))
],
),
Row(
mainAxisAlignment:
MainAxisAlignment.spaceBetween,
children: [
AppText(
item.remarks ?? "",
item.status == 1
? TranslationBase.of(
context)
.hold
: item.status == 2
? TranslationBase.of(
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(
DateUtils
.convertStringToDateFormat(
item.startDate,
'dd-MMM-yyyy'),
fontWeight: FontWeight.bold,
))
],
),
(item.status == 1)
? IconButton(
icon: Image.asset(
'assets/images/edit.png'),
Row(
mainAxisAlignment:
MainAxisAlignment
.spaceBetween,
children: [
AppText(
item.remarks ?? "",
),
(item.status == 1)
? IconButton(
icon: Image.asset(
'assets/images/edit.png'),
// color: Colors.green, //Colors.black,
onPressed: () => {
if (item.status == 1)
{
DrAppToastMsg.showErrorToast(
TranslationBase.of(
context)
.sickleaveonhold)
}
// else
// {
// openSickLeave(
// context,
// true,
// extendedData:
// item)
// }
},
)
: SizedBox()
]),
],
),
SizedBox(
width: 20,
// color: Colors.green, //Colors.black,
onPressed: () => {
if (item.status ==
1)
{
DrAppToastMsg.showErrorToast(
TranslationBase.of(
context)
.sickleaveonhold)
}
// else
// {
// openSickLeave(
// context,
// true,
// extendedData:
// item)
// }
},
)
: SizedBox()
]),
],
),
SizedBox(
width: 20,
),
],
),
),
],
),
),
],
)),
],
));
}).toList(),
)
)),
],
));
}).toList(),
)
: Center(
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(
this.text, {
this.color = Colors.black,
this.fontWeight = FontWeight.normal,
this.fontWeight,
this.variant,
this.fontSize,
this.fontFamily = 'Poppins',

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

@ -901,6 +901,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
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:
dependency: transitive
description:

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

Loading…
Cancel
Save