@ -1,6 +1,7 @@
import ' package:doctor_app_flutter/config/size_config.dart ' ;
import ' package:doctor_app_flutter/models/my_referral_patient_model.dart ' ;
import ' package:doctor_app_flutter/providers/referral_patient_provider.dart ' ;
import ' package:doctor_app_flutter/util/dr_app_toast_msg.dart ' ;
import ' package:doctor_app_flutter/util/helpers.dart ' ;
import ' package:doctor_app_flutter/widgets/shared/Text.dart ' ;
import ' package:doctor_app_flutter/widgets/shared/TextFields.dart ' ;
@ -42,7 +43,7 @@ class _MyReferralPatientWidgetState extends State<MyReferralPatientWidget> {
crossAxisAlignment: CrossAxisAlignment . start ,
children: < Widget > [
Row (
mainAxisAlignment: MainAxisAlignment . space Around ,
mainAxisAlignment: MainAxisAlignment . space Between ,
children: < Widget > [
AppText (
' ${ widget . myReferralPatientModel . firstName } ${ widget . myReferralPatientModel . lastName } ' ,
@ -67,265 +68,252 @@ class _MyReferralPatientWidgetState extends State<MyReferralPatientWidget> {
child: Column (
crossAxisAlignment: CrossAxisAlignment . start ,
children: < Widget > [
Column (
crossAxisAlignment: CrossAxisAlignment . start ,
children: < Widget > [
Divider ( color: Colors . grey ) ,
Row (
children: < Widget > [
SizedBox ( height: 5 , ) ,
Divider ( color: Color ( 0xFF000000 ) , height: 0.5 , ) ,
Table (
border: TableBorder . symmetric ( inside: BorderSide ( width: 0.5 ) , ) ,
children: [
TableRow (
children: [
Expanded (
child: Column (
child: Container (
margin: EdgeInsets . all ( 2.5 ) ,
padding: EdgeInsets . all ( 5 ) ,
child: Column (
crossAxisAlignment: CrossAxisAlignment . start ,
children: < Widget > [
AppText (
' File No ' ,
fontSize:
1.7 * SizeConfig . textMultiplier ,
1.7 * SizeConfig . textMultiplier ,
fontWeight: FontWeight . bold ,
) ,
AppText (
' ${ widget . myReferralPatientModel . referringDoctor } ' ,
fontSize:
1.7 * SizeConfig . textMultiplier ,
1.7 * SizeConfig . textMultiplier ,
fontWeight: FontWeight . w300 ,
)
] ,
) ,
) ,
) ,
Container (
height: SizeConfig . realScreenWidth * 0.1 ,
width: 0.8 ,
color: Colors . grey ,
margin: EdgeInsets . only ( left: 15 , right: 15 ) ,
) ,
Expanded (
child: Column (
crossAxisAlignment: CrossAxisAlignment . start ,
children: < Widget > [
AppText (
' Referring Doctor ' ,
fontSize:
1.7 * SizeConfig . textMultiplier ,
fontWeight: FontWeight . bold ,
) ,
AppText (
widget . myReferralPatientModel
. referringClinicDescription ,
fontSize:
1.7 * SizeConfig . textMultiplier ,
fontWeight: FontWeight . w300 ,
)
] ,
child: Container (
margin: EdgeInsets . only ( left: 4 , top: 2.5 , right: 2.5 , bottom: 2.5 ) ,
padding: EdgeInsets . all ( 5 ) ,
child: Column (
crossAxisAlignment: CrossAxisAlignment . start ,
children: < Widget > [
AppText (
' Referring Doctor ' ,
fontSize:
1.7 * SizeConfig . textMultiplier ,
fontWeight: FontWeight . bold ,
) ,
AppText (
widget . myReferralPatientModel
. referringClinicDescription ,
fontSize:
1.7 * SizeConfig . textMultiplier ,
fontWeight: FontWeight . w300 ,
)
] ,
) ,
) ,
) ,
] ,
)
]
) ,
Divider ( color: Colors . grey ) ,
Row (
children: < Widget > [
Expanded (
child: Column (
crossAxisAlignment:
TableRow (
children: [
Expanded (
child: Container (
margin: EdgeInsets . all ( 2.5 ) ,
padding: EdgeInsets . all ( 5 ) ,
child: Column (
crossAxisAlignment:
CrossAxisAlignment . start ,
children: < Widget > [
AppText (
' Referring Clinic ' ,
fontSize:
children: < Widget > [
AppText (
' Referring Clinic ' ,
fontSize:
1.7 * SizeConfig . textMultiplier ,
fontWeight: FontWeight . bold ,
) ,
AppText (
' ${ widget . myReferralPatientModel . referringClinicDescription } ' ,
fontSize:
fontWeight: FontWeight . bold ,
) ,
AppText (
' ${ widget . myReferralPatientModel . referringClinicDescription } ' ,
fontSize:
1.7 * SizeConfig . textMultiplier ,
fontWeight: FontWeight . w300 ,
)
] ,
fontWeight: FontWeight . w300 ,
)
] ,
) ,
) ,
) ,
) ,
Container (
height: SizeConfig . realScreenWidth * 0.1 ,
width: 0.8 ,
color: Colors . grey ,
margin: EdgeInsets . only ( left: 15 , right: 15 ) ,
) ,
Expanded (
child: Column (
crossAxisAlignment:
Expanded (
child: Container (
margin: EdgeInsets . only ( left: 4 , top: 2.5 , right: 2.5 , bottom: 2.5 ) ,
padding: EdgeInsets . all ( 5 ) ,
child: Column (
crossAxisAlignment:
CrossAxisAlignment . start ,
children: < Widget > [
AppText (
' Frequency ' ,
fontSize:
children: < Widget > [
AppText (
' Frequency ' ,
fontSize:
1.7 * SizeConfig . textMultiplier ,
fontWeight: FontWeight . bold ,
) ,
AppText (
widget . myReferralPatientModel
. frequencyDescription ,
fontSize:
fontWeight: FontWeight . bold ,
) ,
AppText (
widget . myReferralPatientModel
. frequencyDescription ,
fontSize:
1.7 * SizeConfig . textMultiplier ,
fontWeight: FontWeight . w300 ,
)
] ,
) ,
) ,
] ,
fontWeight: FontWeight . w300 ,
)
] ,
) ,
) ,
)
]
) ,
Divider ( color: Colors . grey ) ,
Row (
children: < Widget > [
TableRow (
children: [
Expanded (
child: Column (
crossAxisAlignment:
CrossAxisAlignment . start ,
children: < Widget > [
AppText (
' Priority ' ,
fontSize:
1.7 * SizeConfig . textMultiplier ,
fontWeight: FontWeight . bold ,
) ,
AppText (
' ${ widget . myReferralPatientModel . priorityDescription } ' ,
fontSize:
1.7 * SizeConfig . textMultiplier ,
fontWeight: FontWeight . w300 ,
)
] ,
child: Container (
margin: EdgeInsets . all ( 2.5 ) ,
padding: EdgeInsets . all ( 5 ) ,
child: Column (
crossAxisAlignment:
CrossAxisAlignment . start ,
children: < Widget > [
AppText (
' Priority ' ,
fontSize:
1.7 * SizeConfig . textMultiplier ,
fontWeight: FontWeight . bold ,
) ,
AppText (
' ${ widget . myReferralPatientModel . priorityDescription } ' ,
fontSize:
1.7 * SizeConfig . textMultiplier ,
fontWeight: FontWeight . w300 ,
)
] ,
) ,
) ,
) ,
Container (
height: SizeConfig . realScreenWidth * 0.1 ,
width: 0.8 ,
color: Colors . grey ,
margin: EdgeInsets . only ( left: 15 , right: 15 ) ,
) ,
Expanded (
child: Column (
crossAxisAlignment:
CrossAxisAlignment . start ,
children: < Widget > [
AppText (
' Max Response Time ' ,
fontSize:
1.7 * SizeConfig . textMultiplier ,
fontWeight: FontWeight . bold ,
) ,
AppText (
Helpers . getDateFormatted ( widget
. myReferralPatientModel
. mAXResponseTime ) ,
fontSize:
1.7 * SizeConfig . textMultiplier ,
fontWeight: FontWeight . w300 ,
)
] ,
child: Container (
margin: EdgeInsets . only ( left: 4 , top: 2.5 , right: 2.5 , bottom: 2.5 ) ,
padding: EdgeInsets . all ( 5 ) ,
child: Column (
crossAxisAlignment:
CrossAxisAlignment . start ,
children: < Widget > [
AppText (
' Max Response Time ' ,
fontSize:
1.7 * SizeConfig . textMultiplier ,
fontWeight: FontWeight . bold ,
) ,
AppText (
Helpers . getDateFormatted ( widget
. myReferralPatientModel
. mAXResponseTime ) ,
fontSize:
1.7 * SizeConfig . textMultiplier ,
fontWeight: FontWeight . w300 ,
)
] ,
) ,
) ,
) ,
)
] ,
) ,
Divider ( color: Colors . grey ) ,
] ,
) ,
Divider ( color: Color ( 0xFF000000 ) , height: 0.5 , ) ,
SizedBox (
height: 5 ,
) ,
Column (
crossAxisAlignment: CrossAxisAlignment . start ,
children: < Widget > [
AppText (
' Clinic Details and Remarks ' ,
fontSize: 1.7 * SizeConfig . textMultiplier ,
fontWeight: FontWeight . bold ,
textAlign: TextAlign . start ,
) ,
SizedBox (
height: 5 ,
) ,
textAlign: TextAlign . start , ) ,
Texts (
' 73 years old female known case of HTN and dm on regular medication one day prior the patient had rt sided weakness suddenly and reduced level of conscoiusness no vomting no headache no bluriing of vision no other relevant symptoms. \r \n PMH:No history of similar condition no history of surgey or blood transfusions \r \n CT brain was done apparently effaced left insular cortex ' ,
' ${ widget . myReferralPatientModel . referringDoctorRemarks } ' ,
style: " bodyText1 " ,
readMore: true ,
textAlign: TextAlign . start ,
maxLength: 100 ) ,
SizedBox (
height: 5 ,
) ,
AppText (
' Answer/Suggestions ' ,
fontSize: 1.7 * SizeConfig . textMultiplier ,
fontWeight: FontWeight . bold ,
textAlign: TextAlign . start ,
) ,
SizedBox (
height: 5 ,
) ,
Form (
key: _formKey ,
child: TextFields (
maxLines: 2 ,
minLines: 2 ,
hintText: ' Answer the patient ' ,
initialValue: widget . myReferralPatientModel . referredDoctorRemarks ? ? ' ' ,
readOnly: _isLoading ,
validator: ( value ) {
if ( value . isEmpty )
return " please enter answer " ;
else
return null ;
} ,
) ,
) ,
SizedBox ( height: 10.0 ) ,
if ( error ! = null & & error . isNotEmpty )
Column (
crossAxisAlignment: CrossAxisAlignment . start ,
children: < Widget > [
Container (
decoration: BoxDecoration (
borderRadius: BorderRadius . circular ( 6.0 ) ,
color: Theme . of ( context )
. errorColor
. withOpacity ( 0.06 ) ,
) ,
padding: EdgeInsets . symmetric (
vertical: 8.0 , horizontal: 12.0 ) ,
child: Row (
children: < Widget > [
Expanded (
child: Texts ( error ? ? " " ,
style: " bodyText1 " ,
color: Theme . of ( context )
. errorColor ) ) ,
] ,
) ,
) ,
SizedBox ( height: 10.0 ) ,
] ,
) ,
SizedBox ( height: 10.0 ) ,
Container (
width: double . infinity ,
child: Button (
onTap: ( ) async {
final form = _formKey . currentState ;
if ( form . validate ( ) ) {
setState ( ( ) {
_isLoading = true ;
} ) ;
try {
await Provider . of < MyReferralPatientProvider > ( context , listen: false ) . replay ( answerController . text . toString ( ) , widget . myReferralPatientModel ) ;
setState ( ( ) {
_isLoading = false ;
} ) ;
} catch ( e ) {
setState ( ( ) {
error = e . toString ( ) ;
_isLoading = false ;
} ) ;
}
}
} ,
title: ' Reply ' ,
loading: _isLoading ,
) ,
)
maxLength: 100 )
] ,
) ,
SizedBox (
height: 5 ,
) ,
AppText (
' Answer/Suggestions ' ,
fontSize: 1.7 * SizeConfig . textMultiplier ,
fontWeight: FontWeight . bold ,
textAlign: TextAlign . start ,
) ,
SizedBox (
height: 5 ,
) ,
Form (
key: _formKey ,
child: TextFields (
maxLines: 2 ,
minLines: 2 ,
hintText: ' Answer the patient ' ,
fontWeight: FontWeight . normal ,
initialValue: widget . myReferralPatientModel . referredDoctorRemarks ? ? ' ' ,
readOnly: _isLoading ,
validator: ( value ) {
if ( value . isEmpty )
return " please enter answer " ;
else
return null ;
} ,
) ,
) ,
SizedBox ( height: 10.0 ) ,
SizedBox ( height: 10.0 ) ,
Container (
width: double . infinity ,
margin: EdgeInsets . only ( left: 10 , right: 10 ) ,
child: Button (
onTap: ( ) async {
final form = _formKey . currentState ;
if ( form . validate ( ) ) {
setState ( ( ) {
_isLoading = true ;
} ) ;
try {
await Provider . of < MyReferralPatientProvider > ( context , listen: false ) . replay ( answerController . text . toString ( ) , widget . myReferralPatientModel ) ;
setState ( ( ) {
_isLoading = false ;
} ) ;
DrAppToastMsg . showSuccesToast ( ' Reply Successfully ' ) ;
} catch ( e ) {
setState ( ( ) {
_isLoading = false ;
} ) ;
DrAppToastMsg . showErrorToast ( e ) ;
}
}
} ,
title: ' Reply ' ,
loading: _isLoading ,
) ,
)
] ,
) ,