Merge branch 'soap-objective-feature-re-design' into 'development'

design bug fixes

See merge request Cloud_Solution/doctor_app_flutter!469
merge-requests/470/merge
Mohammad Aljammal 5 years ago
commit 61c865db65

Binary file not shown.

After

Width:  |  Height:  |  Size: 453 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 453 B

@ -116,7 +116,8 @@ class _UCAFInputScreenState extends State<UCAFInputScreen> {
title: AppText( title: AppText(
TranslationBase.of(context).inPatient, TranslationBase.of(context).inPatient,
fontWeight: FontWeight.normal, fontWeight: FontWeight.normal,
fontSize: SizeConfig.textMultiplier * 2.1, fontFamily: 'Poppins',
fontSize: SizeConfig.textMultiplier * 2.2,
), ),
value: _inPatient, value: _inPatient,
onChanged: (newValue) { onChanged: (newValue) {
@ -124,6 +125,7 @@ class _UCAFInputScreenState extends State<UCAFInputScreen> {
_inPatient = newValue; _inPatient = newValue;
}); });
}, },
activeColor: HexColor("#D02127"),
controlAffinity: controlAffinity:
ListTileControlAffinity.leading, ListTileControlAffinity.leading,
contentPadding: EdgeInsets.all(0), contentPadding: EdgeInsets.all(0),
@ -132,7 +134,8 @@ class _UCAFInputScreenState extends State<UCAFInputScreen> {
title: AppText( title: AppText(
TranslationBase.of(context).emergencyCase, TranslationBase.of(context).emergencyCase,
fontWeight: FontWeight.normal, fontWeight: FontWeight.normal,
fontSize: SizeConfig.textMultiplier * 2.1, fontFamily: 'Poppins',
fontSize: SizeConfig.textMultiplier * 2.2,
), ),
value: _emergencyCase, value: _emergencyCase,
onChanged: (newValue) { onChanged: (newValue) {
@ -140,12 +143,12 @@ class _UCAFInputScreenState extends State<UCAFInputScreen> {
_emergencyCase = newValue; _emergencyCase = newValue;
}); });
}, },
activeColor: HexColor("#D02127"),
controlAffinity: controlAffinity:
ListTileControlAffinity.leading, ListTileControlAffinity.leading,
contentPadding: EdgeInsets.all(0), contentPadding: EdgeInsets.all(0),
), ),
AppTextFieldCustom( AppTextFieldCustom(
height: screenSize.height * 0.075,
hintText: TranslationBase.of(context) hintText: TranslationBase.of(context)
.durationOfIllness, .durationOfIllness,
dropDownText: "3", dropDownText: "3",
@ -170,7 +173,7 @@ class _UCAFInputScreenState extends State<UCAFInputScreen> {
color: Color(0xFFCC9B14), color: Color(0xFFCC9B14),
), ),
SizedBox( SizedBox(
width: 4, width: 8,
), ),
AppText( AppText(
"BP (H/L)", "BP (H/L)",
@ -192,7 +195,7 @@ class _UCAFInputScreenState extends State<UCAFInputScreen> {
], ],
), ),
SizedBox( SizedBox(
width: 4, width: 6,
), ),
Expanded( Expanded(
child: Row( child: Row(
@ -205,7 +208,7 @@ class _UCAFInputScreenState extends State<UCAFInputScreen> {
fontWeight: FontWeight.normal, fontWeight: FontWeight.normal,
), ),
SizedBox( SizedBox(
width: 8, width: 4,
), ),
Expanded( Expanded(
child: AppText( child: AppText(
@ -222,7 +225,7 @@ class _UCAFInputScreenState extends State<UCAFInputScreen> {
], ],
), ),
SizedBox( SizedBox(
height: 4, height: 2,
), ),
Row( Row(
mainAxisAlignment: mainAxisAlignment:
@ -231,14 +234,14 @@ class _UCAFInputScreenState extends State<UCAFInputScreen> {
Row( Row(
children: [ children: [
AppText( AppText(
"${TranslationBase.of(context).pulseBeats} :", "${TranslationBase.of(context).pulseBeats}:",
fontSize: fontSize:
SizeConfig.textMultiplier * 1.8, SizeConfig.textMultiplier * 1.8,
color: Colors.black, color: Colors.black,
fontWeight: FontWeight.normal, fontWeight: FontWeight.normal,
), ),
SizedBox( SizedBox(
width: 8, width: 4,
), ),
AppText( AppText(
"${model.patientVitalSigns.pulseBeatPerMinute}", "${model.patientVitalSigns.pulseBeatPerMinute}",
@ -258,8 +261,9 @@ class _UCAFInputScreenState extends State<UCAFInputScreen> {
TranslationBase.of(context) TranslationBase.of(context)
.chiefComplaintsAndSymptoms, .chiefComplaintsAndSymptoms,
fontFamily: 'Poppins', fontFamily: 'Poppins',
fontSize: SizeConfig.textMultiplier * 2.1, fontSize: SizeConfig.textMultiplier * 2.2,
fontWeight: FontWeight.w700, fontWeight: FontWeight.w700,
color: Color(0xFF2E303A),
), ),
SizedBox( SizedBox(
height: 4, height: 4,
@ -269,6 +273,7 @@ class _UCAFInputScreenState extends State<UCAFInputScreen> {
.patientFeelsPainInHisBackAndCough, .patientFeelsPainInHisBackAndCough,
fontFamily: 'Poppins', fontFamily: 'Poppins',
fontWeight: FontWeight.normal, fontWeight: FontWeight.normal,
color: Color(0xFF575757),
fontSize: SizeConfig.textMultiplier * 1.8, fontSize: SizeConfig.textMultiplier * 1.8,
), ),
SizedBox( SizedBox(
@ -292,7 +297,8 @@ class _UCAFInputScreenState extends State<UCAFInputScreen> {
AppText( AppText(
TranslationBase.of(context).otherConditions, TranslationBase.of(context).otherConditions,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
fontSize: SizeConfig.textMultiplier * 2.0, fontSize: SizeConfig.textMultiplier * 2.1,
color: Color(0xFF2E303A),
), ),
...List.generate( ...List.generate(
conditionsData.length, conditionsData.length,
@ -302,6 +308,7 @@ class _UCAFInputScreenState extends State<UCAFInputScreen> {
fontWeight: FontWeight.normal, fontWeight: FontWeight.normal,
fontSize: fontSize:
SizeConfig.textMultiplier * 2.1, SizeConfig.textMultiplier * 2.1,
fontFamily: 'Poppins',
), ),
value: conditionsData[index] value: conditionsData[index]
['isChecked'], ['isChecked'],
@ -319,7 +326,6 @@ class _UCAFInputScreenState extends State<UCAFInputScreen> {
height: 8, height: 8,
), ),
AppTextFieldCustom( AppTextFieldCustom(
height: screenSize.height * 0.075,
hintText: TranslationBase.of(context).other, hintText: TranslationBase.of(context).other,
dropDownText: "None", dropDownText: "None",
enabled: false, enabled: false,
@ -328,7 +334,6 @@ class _UCAFInputScreenState extends State<UCAFInputScreen> {
height: 8, height: 8,
), ),
AppTextFieldCustom( AppTextFieldCustom(
height: screenSize.height * 0.075,
hintText: TranslationBase.of(context).how, hintText: TranslationBase.of(context).how,
dropDownText: "None", dropDownText: "None",
enabled: false, enabled: false,
@ -340,7 +345,6 @@ class _UCAFInputScreenState extends State<UCAFInputScreen> {
children: [ children: [
Expanded( Expanded(
child: AppTextFieldCustom( child: AppTextFieldCustom(
height: screenSize.height * 0.075,
hintText: hintText:
TranslationBase.of(context).when, TranslationBase.of(context).when,
dropDownText: "None", dropDownText: "None",
@ -352,7 +356,6 @@ class _UCAFInputScreenState extends State<UCAFInputScreen> {
), ),
Expanded( Expanded(
child: AppTextFieldCustom( child: AppTextFieldCustom(
height: screenSize.height * 0.075,
hintText: hintText:
TranslationBase.of(context).where, TranslationBase.of(context).where,
dropDownText: "None", dropDownText: "None",
@ -379,7 +382,8 @@ class _UCAFInputScreenState extends State<UCAFInputScreen> {
AppText( AppText(
TranslationBase.of(context).significantSigns, TranslationBase.of(context).significantSigns,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
fontSize: SizeConfig.textMultiplier * 2.1, fontFamily: 'Poppins',
fontSize: SizeConfig.textMultiplier * 2.2,
), ),
SizedBox( SizedBox(
height: 8, height: 8,

@ -4,6 +4,15 @@ import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:hexcolor/hexcolor.dart'; import 'package:hexcolor/hexcolor.dart';
/// *
/// By Mousa Zaid Mousa Abuzaid
/// At 13/4/2021
/*
All hex value from 100% to 0% alpha: used in line 122
https://gist.github.com/lopspower/03fb1cc0ac9f32ef38f4
*/
class PageStepperWidget extends StatelessWidget { class PageStepperWidget extends StatelessWidget {
final int stepsCount; final int stepsCount;
final int currentStepIndex; final int currentStepIndex;
@ -13,7 +22,7 @@ class PageStepperWidget extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
double dividerWidth = (screenSize.width / stepsCount) - (5 * stepsCount); double dividerWidth = (screenSize.width / stepsCount) - (10 * stepsCount);
return Container( return Container(
margin: EdgeInsets.symmetric(vertical: 16.0, horizontal: 16.0), margin: EdgeInsets.symmetric(vertical: 16.0, horizontal: 16.0),
@ -38,6 +47,7 @@ class PageStepperWidget extends StatelessWidget {
} }
class StepWidget extends StatelessWidget { class StepWidget extends StatelessWidget {
final int index; final int index;
final bool isInProgress; final bool isInProgress;
final bool isFinalStep; final bool isFinalStep;
@ -71,24 +81,25 @@ class StepWidget extends StatelessWidget {
width: 30, width: 30,
height: 30, height: 30,
decoration: BoxDecoration( decoration: BoxDecoration(
color: isInProgress ? Color(0xFFCC9B14) : Color(0xFFC9C9C9), color: status == StepStatus.InProgress ? Color(0xFFCC9B14) : status == StepStatus.Locked ? Color(0xFFE3E3E3) : Color(0xFF359846),
shape: BoxShape.circle, shape: BoxShape.circle,
border: Border.all( border: Border.all(
color: isInProgress ? Color(0xFFCC9B14) : Color(0xFFC9C9C9), color: status == StepStatus.InProgress ? Color(0xFFCC9B14) : status == StepStatus.Locked ? Color(0xFFE3E3E3) : Color(0xFF359846),
width: 1), width: 1),
), ),
child: Center( child: Center(
child: Icon( child: Icon(
Icons.check, Icons.check,
size: 20, size: 20,
color: status == StepStatus.InProgress ? Colors.white : status == StepStatus.Locked ? Colors.grey.shade800 : Color(0xFF359846), color: status == StepStatus.Locked ? Color(0xFF969696) : Colors.white,
)), )),
), ),
if (!isFinalStep) if (!isFinalStep)
Container( Container(
margin: EdgeInsets.symmetric(horizontal: 4),
width: dividerWidth, width: dividerWidth,
height: 2, height: 2,
color: Colors.grey, color: status == StepStatus.Completed ? Color(0xFF359846) : Color(0xFFCCCCCC),
), ),
], ],
), ),
@ -98,23 +109,27 @@ class StepWidget extends StatelessWidget {
AppText( AppText(
"${TranslationBase.of(context).step} $index", "${TranslationBase.of(context).step} $index",
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
color: status == StepStatus.InProgress ? Colors.black : status == StepStatus.Locked ? Colors.grey : Color(0xFF359846), color: status == StepStatus.Locked ? Color(0xFF969696) : Colors.black,
fontFamily: 'Poppins', fontFamily: 'Poppins',
fontSize: SizeConfig.textMultiplier * 1.6, fontSize: SizeConfig.textMultiplier * 1.6,
), ),
Container( Container(
margin: EdgeInsets.symmetric(vertical: 4), margin: EdgeInsets.symmetric(vertical: 4),
padding: EdgeInsets.symmetric(horizontal: 4, vertical: 2), padding: EdgeInsets.symmetric(horizontal: 12, vertical: 4),
decoration: BoxDecoration( decoration: BoxDecoration(
color: status == StepStatus.InProgress color: status == StepStatus.InProgress
? Color(0xFFF1E9D3) ? Color(0xFFF1E9D3)
: status == StepStatus.Locked : status == StepStatus.Locked
? Color(0xFFD8E8DB) ? Color(0x29797979)
: Color(0xFFCCCCCC), : Color(0xFFD8E8D8),
borderRadius: BorderRadius.all( borderRadius: BorderRadius.all(
Radius.circular(8.0), Radius.circular(4.0),
), ),
border: Border.all(color: HexColor('#707070'), width: 0.30), border: Border.all(color: status == StepStatus.InProgress
? Color(0xFFF1E9D3)
: status == StepStatus.Locked
? Color(0x29797979)
: Color(0xFFD8E8D8), width: 0.30),
), ),
child: AppText( child: AppText(
status == StepStatus.InProgress status == StepStatus.InProgress

@ -118,14 +118,14 @@ class _AdmissionRequestThirdScreenState
hintText: TranslationBase.of(context).clinic, hintText: TranslationBase.of(context).clinic,
isDropDown: true, isDropDown: true,
dropDownText: _selectedClinic != null dropDownText: _selectedClinic != null
? _selectedClinic['clinicGroupName'] ? projectViewModel.isArabic? _selectedClinic['clinicNameArabic'] : _selectedClinic['clinicNameEnglish']
: null, : null,
enabled: false, enabled: false,
onClick: model.clinicList != null && onClick: model.clinicList != null &&
model.clinicList.length > 0 model.clinicList.length > 0
? () { ? () {
openListDialogField( openListDialogField(
'clinicGroupName', projectViewModel.isArabic? 'clinicNameArabic' : 'clinicNameEnglish',
'clinicID', 'clinicID',
model.clinicList, (selectedValue) { model.clinicList, (selectedValue) {
setState(() { setState(() {
@ -142,7 +142,7 @@ class _AdmissionRequestThirdScreenState
if (model.state == ViewState.Idle && if (model.state == ViewState.Idle &&
model.clinicList.length > 0) { model.clinicList.length > 0) {
openListDialogField( openListDialogField(
'clinicGroupName', projectViewModel.isArabic? 'clinicNameArabic' : 'clinicNameEnglish',
'clinicID', 'clinicID',
model.clinicList, (selectedValue) { model.clinicList, (selectedValue) {
setState(() { setState(() {

@ -10,6 +10,7 @@ import 'package:doctor_app_flutter/util/helpers.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/patient-referral-item-widget.dart'; import 'package:doctor_app_flutter/widgets/patients/patient-referral-item-widget.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/patient-page-header-widget.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/patients/profile/patient-profile-header-new-design.dart';
import 'package:doctor_app_flutter/widgets/shared/app-textfield-custom.dart'; import 'package:doctor_app_flutter/widgets/shared/app-textfield-custom.dart';
import 'package:doctor_app_flutter/widgets/shared/app_buttons_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_buttons_widget.dart';
@ -71,7 +72,9 @@ class _PatientMakeReferralScreenState extends State<PatientMakeReferralScreen> {
builder: (_, model, w) => AppScaffold( builder: (_, model, w) => AppScaffold(
baseViewModel: model, baseViewModel: model,
appBarTitle: TranslationBase.of(context).referPatient, appBarTitle: TranslationBase.of(context).referPatient,
isShowAppBar: false, isShowAppBar: true,
appBar: PatientProfileHeaderNewDesignAppBar(
patient, patientType, arrivalType),
body: SingleChildScrollView( body: SingleChildScrollView(
child: Container( child: Container(
child: Column( child: Column(
@ -80,8 +83,8 @@ class _PatientMakeReferralScreenState extends State<PatientMakeReferralScreen> {
Column( Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
PatientProfileHeaderNewDesign( /*PatientProfileHeaderNewDesign(
patient, patientType, arrivalType), patient, patientType, arrivalType),*/
Container( Container(
margin: EdgeInsets.all(16.0), margin: EdgeInsets.all(16.0),
child: Column( child: Column(
@ -357,7 +360,13 @@ class _PatientMakeReferralScreenState extends State<PatientMakeReferralScreen> {
}, },
); );
} }
: null, : (){
if(_selectedClinic == null){
DrAppToastMsg.showErrorToast("You need to select a clinic first");
} else if(model.doctorsList == null || model.doctorsList.length == 0){
DrAppToastMsg.showErrorToast("There is no doctors for this clinic");
}
},
), ),
SizedBox( SizedBox(
height: 10, height: 10,

@ -90,10 +90,10 @@ class LineChartCurvedBloodPressure extends StatelessWidget {
height: 20, height: 20,
decoration: BoxDecoration( decoration: BoxDecoration(
shape: BoxShape.rectangle, shape: BoxShape.rectangle,
color: Colors.grey), color: Colors.red),
), ),
SizedBox(width: 5,), SizedBox(width: 5,),
AppText(TranslationBase.of(context).diastolicLng) AppText(TranslationBase.of(context).diastolicLng,)
], ],
), ),
], ],
@ -248,7 +248,7 @@ class LineChartCurvedBloodPressure extends StatelessWidget {
final LineChartBarData lineChartBarData2 = LineChartBarData( final LineChartBarData lineChartBarData2 = LineChartBarData(
spots: spots2, spots: spots2,
isCurved: true, isCurved: true,
colors: [Colors.grey], colors: [Colors.red],
barWidth: 5, barWidth: 5,
isStrokeCapRound: true, isStrokeCapRound: true,
dotData: FlDotData( dotData: FlDotData(

@ -455,28 +455,11 @@ class PatientReferralItemWidget extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Container( Container(
width: 2, margin: EdgeInsets.only(left: 10, right: 0),
height: 30, child: Image.asset(
color: Color(0xFFD9D9D9), infoIcon != null ? 'assets/images/patient/ic_ref_arrow_up.png' : 'assets/images/patient/ic_ref_arrow_left.png',
height: 50,
/* width: 30,
decoration: BoxDecoration(
shape: BoxShape.rectangle,
border: Border(
bottom: BorderSide(
color: Color(0xFFD9D9D9), width: 2.5),
left: BorderSide(
color: Color(0xFFD9D9D9), width: 2.5),
)),
*/
),
Container(
margin: EdgeInsets.only(
left: 0, top: 20, right: 0, bottom: 0),
child: Icon(
Icons.arrow_forward,
color: Color(0xFFD9D9D9),
size: 30,
), ),
), ),
Container( Container(

@ -46,7 +46,7 @@ class _AppTextFieldCustomState extends State<AppTextFieldCustom> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Container( return Container(
height: widget.height != 0 ? widget.height : null, height: widget.height != 0 ? widget.height + 8 : null,
decoration: widget.hasBorder decoration: widget.hasBorder
? containerBorderDecoration(Color(0Xffffffff), Color(0xFFEFEFEF)) ? containerBorderDecoration(Color(0Xffffffff), Color(0xFFEFEFEF))
: null, : null,
@ -57,53 +57,56 @@ class _AppTextFieldCustomState extends State<AppTextFieldCustom> {
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
children: [ children: [
Expanded( Expanded(
child: Column( child: Container(
crossAxisAlignment: CrossAxisAlignment.start, padding: widget.dropDownText == null ? EdgeInsets.symmetric(vertical: 0): EdgeInsets.symmetric(vertical: 8),
mainAxisAlignment: MainAxisAlignment.center, child: Column(
children: [ crossAxisAlignment: CrossAxisAlignment.start,
if ((widget.controller != null && mainAxisAlignment: MainAxisAlignment.center,
widget.controller.text != "") || children: [
widget.dropDownText != null) if ((widget.controller != null &&
AppText( widget.controller.text != "") ||
widget.hintText, widget.dropDownText != null)
fontFamily: 'Poppins', AppText(
fontSize: SizeConfig.textMultiplier * 1.4, widget.hintText,
fontWeight: FontWeight.w700, fontFamily: 'Poppins',
), fontSize: SizeConfig.textMultiplier * 1.4,
widget.dropDownText == null fontWeight: FontWeight.w700,
? TextField( ),
textAlign: TextAlign.left, widget.dropDownText == null
decoration: textFieldSelectorDecoration( ? TextField(
widget.hintText, null, true), textAlign: TextAlign.left,
style: TextStyle( decoration: textFieldSelectorDecoration(
fontSize: SizeConfig.textMultiplier * 1.7, widget.hintText, null, true),
style: TextStyle(
fontSize: SizeConfig.textMultiplier * 1.7,
fontFamily: 'Poppins',
color: Colors.grey.shade800,
),
controller: widget.controller,
keyboardType: widget.inputType,
enabled: widget.enabled,
minLines: widget.minLines,
maxLines: widget.maxLines,
inputFormatters: widget.inputFormatters != null
? widget.inputFormatters
: [],
onChanged: (value) {
if (widget.onChanged != null){
widget.onChanged(value);
setState(() {
});
}
},
)
: AppText(
widget.dropDownText,
fontFamily: 'Poppins', fontFamily: 'Poppins',
color: Colors.grey.shade800, color: Colors.grey.shade800,
fontSize: SizeConfig.textMultiplier * 1.7,
), ),
controller: widget.controller, ],
keyboardType: widget.inputType, ),
enabled: widget.enabled,
minLines: widget.minLines,
maxLines: widget.maxLines,
inputFormatters: widget.inputFormatters != null
? widget.inputFormatters
: [],
onChanged: (value) {
if (widget.onChanged != null){
widget.onChanged(value);
setState(() {
});
}
},
)
: AppText(
widget.dropDownText,
fontFamily: 'Poppins',
color: Colors.grey.shade800,
fontSize: SizeConfig.textMultiplier * 1.7,
),
],
), ),
), ),
widget.isDropDown widget.isDropDown

Loading…
Cancel
Save