Merge branch 'doctor-app-design' into 'development'

referal patient card design fix

See merge request Cloud_Solution/doctor_app_flutter!920
merge-requests/921/merge
Elham Ali 4 years ago
commit fc81370b0a

@ -6,6 +6,7 @@ import 'package:doctor_app_flutter/locator.dart';
import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart';
import 'package:doctor_app_flutter/screens/patients/insurance_approvals_details.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/patients/patient_service_title.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/patient-profile-app-bar.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
@ -22,10 +23,12 @@ class InsuranceApprovalScreenNew extends StatefulWidget {
InsuranceApprovalScreenNew({this.appointmentNo});
@override
_InsuranceApprovalScreenNewState createState() => _InsuranceApprovalScreenNewState();
_InsuranceApprovalScreenNewState createState() =>
_InsuranceApprovalScreenNewState();
}
class _InsuranceApprovalScreenNewState extends State<InsuranceApprovalScreenNew> {
class _InsuranceApprovalScreenNewState
extends State<InsuranceApprovalScreenNew> {
@override
Widget build(BuildContext context) {
ProjectViewModel projectViewModel = Provider.of(context);
@ -39,9 +42,11 @@ class _InsuranceApprovalScreenNewState extends State<InsuranceApprovalScreenNew>
? (model) => model.getInsuranceInPatient(mrn: patient.patientId)
: patient.appointmentNo != null
? (model) => model.getInsuranceApproval(patient,
appointmentNo: int.parse(patient?.appointmentNo.toString()), projectId: patient.projectId)
appointmentNo: int.parse(patient?.appointmentNo.toString()),
projectId: patient.projectId)
: (model) => model.getInsuranceApproval(patient),
builder: (BuildContext context, InsuranceViewModel model, Widget child) => AppScaffold(
builder: (BuildContext context, InsuranceViewModel model, Widget child) =>
AppScaffold(
appBar: PatientProfileAppBar(
patient,
isInpatient: isInpatient,
@ -59,32 +64,11 @@ class _InsuranceApprovalScreenNewState extends State<InsuranceApprovalScreenNew>
),
child: model.insuranceApprovalInPatient.length != 0
? Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
children: [
Row(
children: [
AppText(
TranslationBase.of(context).insurance22,
fontSize: 15.0,
fontWeight: FontWeight.w600,
fontFamily: 'Poppins',
),
],
),
Row(
children: [
AppText(
TranslationBase.of(context).approvals22,
fontSize: 30.0,
fontWeight: FontWeight.w700,
),
],
),
],
),
ServiceTitle(
title: TranslationBase.of(context).insurance22,
subTitle: TranslationBase.of(context).approvals22,
),
...List.generate(
model.insuranceApprovalInPatient.length,
@ -94,25 +78,40 @@ class _InsuranceApprovalScreenNewState extends State<InsuranceApprovalScreenNew>
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => InsuranceApprovalsDetails(
builder: (context) =>
InsuranceApprovalsDetails(
patient: patient,
indexInsurance: index,
patientType: patientType,
),
settings: RouteSettings(name: 'InsuranceApprovalsDetails'),
settings: RouteSettings(
name: 'InsuranceApprovalsDetails'),
),
);
},
child: DoctorCardInsurance(
patientOut: "In Patient",
profileUrl: model.insuranceApprovalInPatient[index].doctorImage,
clinic: model.insuranceApprovalInPatient[index].clinicName,
doctorName: model.insuranceApprovalInPatient[index].doctorName,
branch: model.insuranceApprovalInPatient[index].approvalNo.toString(),
profileUrl: model
.insuranceApprovalInPatient[index]
.doctorImage,
clinic: model
.insuranceApprovalInPatient[index]
.clinicName,
doctorName: model
.insuranceApprovalInPatient[index]
.doctorName,
branch: model
.insuranceApprovalInPatient[index]
.approvalNo
.toString(),
isPrescriptions: true,
approvalStatus:
model.insuranceApprovalInPatient[index].approvalStatusDescption ?? '',
branch2: model.insuranceApprovalInPatient[index].projectName,
approvalStatus: model
.insuranceApprovalInPatient[index]
.approvalStatusDescption ??
'',
branch2: model
.insuranceApprovalInPatient[index]
.projectName,
),
),
),
@ -129,7 +128,8 @@ class _InsuranceApprovalScreenNewState extends State<InsuranceApprovalScreenNew>
Image.asset('assets/images/no-data.png'),
Padding(
padding: const EdgeInsets.all(8.0),
child: AppText(TranslationBase.of(context).noInsuranceApprovalFound),
child: AppText(TranslationBase.of(context)
.noInsuranceApprovalFound),
),
SizedBox(
height: 150.0,
@ -156,7 +156,8 @@ class _InsuranceApprovalScreenNewState extends State<InsuranceApprovalScreenNew>
Row(
children: [
AppText(
TranslationBase.of(context).insurance22,
TranslationBase.of(context)
.insurance22,
fontSize: 15.0,
fontWeight: FontWeight.w600,
fontFamily: 'Poppins',
@ -166,7 +167,8 @@ class _InsuranceApprovalScreenNewState extends State<InsuranceApprovalScreenNew>
Row(
children: [
AppText(
TranslationBase.of(context).approvals22,
TranslationBase.of(context)
.approvals22,
fontSize: 30.0,
fontWeight: FontWeight.w700,
),
@ -180,31 +182,47 @@ class _InsuranceApprovalScreenNewState extends State<InsuranceApprovalScreenNew>
(index) => Container(
child: InkWell(
onTap: () async {
await locator<AnalyticsService>().logEvent(
eventCategory: "Insurance Approval Screen New",
eventAction: "Insurance Approval Details",
await locator<AnalyticsService>()
.logEvent(
eventCategory:
"Insurance Approval Screen New",
eventAction:
"Insurance Approval Details",
);
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => InsuranceApprovalsDetails(
builder: (context) =>
InsuranceApprovalsDetails(
patient: patient,
indexInsurance: index,
patientType: patientType,
),
settings: RouteSettings(name: 'InsuranceApprovalsDetails'),
settings: RouteSettings(
name:
'InsuranceApprovalsDetails'),
),
);
},
child: DoctorCardInsurance(
patientOut: model.insuranceApproval[index].patientDescription,
profileUrl: model.insuranceApproval[index].doctorImage,
clinic: model.insuranceApproval[index].clinicName,
doctorName: model.insuranceApproval[index].doctorName,
branch: model.insuranceApproval[index].approvalNo.toString(),
patientOut: model.insuranceApproval[index]
.patientDescription,
profileUrl: model
.insuranceApproval[index].doctorImage,
clinic: model
.insuranceApproval[index].clinicName,
doctorName: model
.insuranceApproval[index].doctorName,
branch: model
.insuranceApproval[index].approvalNo
.toString(),
isPrescriptions: true,
approvalStatus: model.insuranceApproval[index].approvalStatusDescption ?? '',
branch2: model.insuranceApproval[index].projectName,
approvalStatus: model
.insuranceApproval[index]
.approvalStatusDescption ??
'',
branch2: model
.insuranceApproval[index].projectName,
),
),
),
@ -221,7 +239,8 @@ class _InsuranceApprovalScreenNewState extends State<InsuranceApprovalScreenNew>
Image.asset('assets/images/no-data.png'),
Padding(
padding: const EdgeInsets.all(8.0),
child: AppText(TranslationBase.of(context).noInsuranceApprovalFound),
child: AppText(TranslationBase.of(context)
.noInsuranceApprovalFound),
)
],
),

@ -6,6 +6,7 @@ import 'package:doctor_app_flutter/screens/patients/profile/lab_result/laborator
import 'package:doctor_app_flutter/screens/procedures/ProcedureType.dart';
import 'package:doctor_app_flutter/screens/procedures/base_add_procedure_tab_page.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/patients/patient_service_title.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/add-order/addNewOrder.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/patient-profile-app-bar.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
@ -66,27 +67,14 @@ class _LabsHomePageState extends State<LabsHomePage> {
SizedBox(
height: 12,
),
if (model.patientLabOrdersList.isNotEmpty && patient.patientStatusType != 43)
Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
TranslationBase.of(context).lab,
style: "caption2",
color: Colors.black,
fontSize: 13,
),
AppText(
TranslationBase.of(context).result,
bold: true,
fontSize: 22,
),
],
),
if (model.patientLabOrdersList.isNotEmpty &&
patient.patientStatusType != 43)
ServiceTitle(
title: TranslationBase.of(context).lab,
subTitle: TranslationBase.of(context).result,
),
if (patient.patientStatusType != null && patient.patientStatusType == 43)
if (patient.patientStatusType != null &&
patient.patientStatusType == 43)
Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
@ -106,7 +94,8 @@ class _LabsHomePageState extends State<LabsHomePage> {
],
),
),
if ((patient.patientStatusType != null && patient.patientStatusType == 43) ||
if ((patient.patientStatusType != null &&
patient.patientStatusType == 43) ||
(isFromLiveCare && patient.appointmentNo != null))
AddNewOrder(
onTap: () {
@ -146,26 +135,44 @@ class _LabsHomePageState extends State<LabsHomePage> {
child: Container(
width: 20,
decoration: BoxDecoration(
color: model.patientLabOrdersList[index].isLiveCareAppointment
color: model.patientLabOrdersList[index]
.isLiveCareAppointment
? Colors.red[900]
: !model.patientLabOrdersList[index].isInOutPatient
: !model.patientLabOrdersList[index]
.isInOutPatient
? Colors.black
: Color(0xffa9a089),
borderRadius: BorderRadius.only(
topLeft: projectViewModel.isArabic ? Radius.circular(0) : Radius.circular(8),
bottomLeft: projectViewModel.isArabic ? Radius.circular(0) : Radius.circular(8),
topRight: projectViewModel.isArabic ? Radius.circular(8) : Radius.circular(0),
bottomRight: projectViewModel.isArabic ? Radius.circular(8) : Radius.circular(0)),
topLeft: projectViewModel.isArabic
? Radius.circular(0)
: Radius.circular(8),
bottomLeft: projectViewModel.isArabic
? Radius.circular(0)
: Radius.circular(8),
topRight: projectViewModel.isArabic
? Radius.circular(8)
: Radius.circular(0),
bottomRight: projectViewModel.isArabic
? Radius.circular(8)
: Radius.circular(0)),
),
child: RotatedBox(
quarterTurns: 3,
child: Center(
child: Text(
model.patientLabOrdersList[index].isLiveCareAppointment
? TranslationBase.of(context).liveCare.toUpperCase()
: !model.patientLabOrdersList[index].isInOutPatient
? TranslationBase.of(context).inPatientLabel.toUpperCase()
: TranslationBase.of(context).outpatient.toUpperCase(),
model.patientLabOrdersList[index]
.isLiveCareAppointment
? TranslationBase.of(context)
.liveCare
.toUpperCase()
: !model.patientLabOrdersList[index]
.isInOutPatient
? TranslationBase.of(context)
.inPatientLabel
.toUpperCase()
: TranslationBase.of(context)
.outpatient
.toUpperCase(),
style: TextStyle(color: Colors.white),
),
)),
@ -181,7 +188,8 @@ class _LabsHomePageState extends State<LabsHomePage> {
context,
FadePage(
page: LaboratoryResultPage(
patientLabOrders: model.patientLabOrdersList[index],
patientLabOrders:
model.patientLabOrdersList[index],
patient: patient,
isInpatient: isInpatient,
arrivalType: arrivalType,
@ -189,12 +197,18 @@ class _LabsHomePageState extends State<LabsHomePage> {
),
),
),
doctorName: model.patientLabOrdersList[index].doctorName,
invoiceNO: ' ${model.patientLabOrdersList[index].invoiceNo}',
profileUrl: model.patientLabOrdersList[index].doctorImageURL,
branch: model.patientLabOrdersList[index].projectName,
clinic: model.patientLabOrdersList[index].clinicDescription,
appointmentDate: model.patientLabOrdersList[index].orderDate,
doctorName:
model.patientLabOrdersList[index].doctorName,
invoiceNO:
' ${model.patientLabOrdersList[index].invoiceNo}',
profileUrl: model
.patientLabOrdersList[index].doctorImageURL,
branch:
model.patientLabOrdersList[index].projectName,
clinic: model
.patientLabOrdersList[index].clinicDescription,
appointmentDate:
model.patientLabOrdersList[index].orderDate,
orderNo: model.patientLabOrdersList[index].orderNo,
isShowTime: false,
),
@ -203,7 +217,8 @@ class _LabsHomePageState extends State<LabsHomePage> {
),
),
),
if (model.patientLabOrdersList.isEmpty && patient.patientStatusType != 43)
if (model.patientLabOrdersList.isEmpty &&
patient.patientStatusType != 43)
Center(
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,

@ -7,6 +7,7 @@ import 'package:doctor_app_flutter/screens/procedures/ProcedureType.dart';
import 'package:doctor_app_flutter/screens/procedures/base_add_procedure_tab_page.dart';
import 'package:doctor_app_flutter/util/date-utils.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/patients/patient_service_title.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/add-order/addNewOrder.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/patient-profile-app-bar.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
@ -57,16 +58,10 @@ class PrescriptionsPage extends StatelessWidget {
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
TranslationBase.of(context).orders,
style: "caption2",
color: Colors.black,
fontSize: 13,
),
AppText(
TranslationBase.of(context).prescriptions,
bold: true,
fontSize: 22,
ServiceTitle(
title: TranslationBase.of(context).orders,
subTitle:
TranslationBase.of(context).prescriptions,
),
],
),
@ -78,16 +73,10 @@ class PrescriptionsPage extends StatelessWidget {
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
TranslationBase.of(context).orders,
style: "caption2",
color: Colors.black,
fontSize: 13,
),
AppText(
TranslationBase.of(context).prescriptions,
bold: true,
fontSize: 22,
ServiceTitle(
title: TranslationBase.of(context).orders,
subTitle:
TranslationBase.of(context).prescriptions,
),
],
),
@ -169,10 +158,6 @@ class PrescriptionsPage extends StatelessWidget {
child: ListView(
physics: BouncingScrollPhysics(),
children: <Widget>[
// SizedBox(
// height: 12,
// ),
ListView.builder(
scrollDirection: Axis.vertical,
physics: NeverScrollableScrollPhysics(),

@ -5,6 +5,7 @@ import 'package:doctor_app_flutter/icons_app/doctor_app_icons.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/card_with_bg_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/user-guid/CusomRow.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
@ -81,8 +82,9 @@ class PatientReferralItemWidget extends StatelessWidget {
AppText(
referralStatus != null ? referralStatus : "",
fontFamily: 'Poppins',
fontSize: 1.9 * SizeConfig.textMultiplier,
fontWeight: FontWeight.w700,
fontSize: 10.0,
letterSpacing: -0.4,
fontWeight: FontWeight.w600,
color: referralStatusCode == 1
? Color(0xffc4aa54)
: referralStatusCode == 2
@ -97,7 +99,8 @@ class PatientReferralItemWidget extends StatelessWidget {
referredDate,
fontFamily: 'Poppins',
fontWeight: FontWeight.w600,
fontSize: 2.0 * SizeConfig.textMultiplier,
letterSpacing: -0.48,
fontSize: 12.0,
color: Color(0XFF28353E),
)
],
@ -108,24 +111,23 @@ class PatientReferralItemWidget extends StatelessWidget {
Expanded(
child: AppText(
patientName,
fontSize: SizeConfig.textMultiplier * 2.2,
fontWeight: FontWeight.bold,
color: Colors.black,
fontSize: 16.0,
fontWeight: FontWeight.w600,
color: Color(0xff2E303A),
fontFamily: 'Poppins',
letterSpacing: -0.64,
),
),
SizedBox(
width: 4,
width: 0,
),
patientGender == 1
? Icon(
DoctorApp.male_2,
color: Colors.blue,
)
: Icon(
DoctorApp.female_1,
color: Colors.pink,
),
: Icon(DoctorApp.female_1,
color: Color(0xffF0448D)),
SizedBox(
width: 4,
),
@ -133,8 +135,9 @@ class PatientReferralItemWidget extends StatelessWidget {
referredTime,
fontFamily: 'Poppins',
fontWeight: FontWeight.w600,
fontSize: 1.8 * SizeConfig.textMultiplier,
fontSize: 12.0,
color: Color(0XFF575757),
letterSpacing: 0.48,
)
],
),
@ -148,19 +151,10 @@ class PatientReferralItemWidget extends StatelessWidget {
Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
AppText(
TranslationBase.of(context).fileNumber,
fontFamily: 'Poppins',
fontWeight: FontWeight.w600,
fontSize: 1.7 * SizeConfig.textMultiplier,
color: Color(0XFF575757),
),
AppText(
patientID,
fontFamily: 'Poppins',
fontWeight: FontWeight.w700,
fontSize: 1.6 * SizeConfig.textMultiplier,
color: Color(0XFF2E303A),
CustomRow(
label:
TranslationBase.of(context).fileNumber,
value: patientID,
),
],
),
@ -168,30 +162,18 @@ class PatientReferralItemWidget extends StatelessWidget {
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
isSameBranch
CustomRow(
label: isSameBranch
? TranslationBase.of(context)
.referredFrom
: TranslationBase.of(context).refClinic,
fontFamily: 'Poppins',
fontWeight: FontWeight.w600,
fontSize: 1.7 * SizeConfig.textMultiplier,
color: Color(0XFF575757),
),
Expanded(
child: AppText(
!isReferralClinic
? isSameBranch
? TranslationBase.of(context)
.sameBranch
: TranslationBase.of(context)
.otherBranch
: " " + referralClinic,
fontFamily: 'Poppins',
fontWeight: FontWeight.w700,
fontSize: 1.6 * SizeConfig.textMultiplier,
color: Color(0XFF2E303A),
),
value: !isReferralClinic
? isSameBranch
? TranslationBase.of(context)
.sameBranch
: TranslationBase.of(context)
.otherBranch
: " " + referralClinic,
),
],
),
@ -202,9 +184,10 @@ class PatientReferralItemWidget extends StatelessWidget {
children: [
AppText(
nationality != null ? nationality : "",
fontWeight: FontWeight.bold,
fontWeight: FontWeight.w600,
color: Color(0xFF2E303A),
fontSize: 1.4 * SizeConfig.textMultiplier,
fontSize: 10.0,
letterSpacing: -0.4,
),
nationalityFlag != null
? ClipRRect(
@ -228,22 +211,9 @@ class PatientReferralItemWidget extends StatelessWidget {
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
TranslationBase.of(context).remarks + " : ",
fontFamily: 'Poppins',
fontWeight: FontWeight.w600,
fontSize: 1.7 * SizeConfig.textMultiplier,
color: Color(0XFF575757),
),
Expanded(
child: AppText(
remark ?? "",
fontFamily: 'Poppins',
fontWeight: FontWeight.w700,
fontSize: 1.6 * SizeConfig.textMultiplier,
color: Color(0XFF2E303A),
maxLines: 1,
),
CustomRow(
label: TranslationBase.of(context).remarks + " : ",
value: remark ?? "",
),
],
),
@ -301,17 +271,19 @@ class PatientReferralItemWidget extends StatelessWidget {
AppText(
referralDoctorName,
fontFamily: 'Poppins',
fontWeight: FontWeight.w800,
fontSize: 1.7 * SizeConfig.textMultiplier,
color: Colors.black,
fontWeight: FontWeight.w600,
fontSize: 14.0,
color: Color(0xff2E303A),
letterSpacing: -0.56,
),
if (clinicDescription != null)
AppText(
clinicDescription,
fontFamily: 'Poppins',
fontWeight: FontWeight.w700,
fontSize: 1.4 * SizeConfig.textMultiplier,
color: Color(0XFF2E303A),
fontWeight: FontWeight.w600,
fontSize: 10.0,
color: Color(0xff575757),
letterSpacing: -0.4,
),
],
),

@ -0,0 +1,43 @@
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class ServiceTitle extends StatefulWidget {
final String title;
final String subTitle;
const ServiceTitle({Key key, this.title, this.subTitle}) : super(key: key);
@override
_ServiceTitleState createState() => _ServiceTitleState();
}
class _ServiceTitleState extends State<ServiceTitle> {
@override
Widget build(BuildContext context) {
return Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
widget.title,
color: Color(0xff2E303A),
fontSize: 12.0,
letterSpacing: -0.72,
fontWeight: FontWeight.w600,
fontHeight: 1.0,
),
AppText(
widget.subTitle,
color: Color(0xff2E303A),
fontSize: 24,
fontWeight: FontWeight.w700,
letterSpacing: -1.44,
fontHeight: 1.0,
),
],
),
);
}
}

@ -4,7 +4,8 @@ import 'package:flutter/material.dart';
class AddNewOrder extends StatelessWidget {
const AddNewOrder({
Key key,
this.onTap, this.label,
this.onTap,
this.label,
}) : super(key: key);
final Function onTap;
@ -16,22 +17,22 @@ class AddNewOrder extends StatelessWidget {
onTap: onTap,
child: Container(
width: double.maxFinite,
height: 140,
height: MediaQuery.of(context).size.height * 0.18,
margin: EdgeInsets.all(10),
decoration: BoxDecoration(
color: Colors.grey[300],
color: Color(0xffEAEAEA),
borderRadius: BorderRadius.circular(10),
),
child: Center(
child: Container(
height: 90,
height: MediaQuery.of(context).size.height * 0.11,
child: Column(
children: [
Container(
height: 40,
width: 40,
height: MediaQuery.of(context).size.height * 0.05,
width: MediaQuery.of(context).size.height * 0.05,
decoration: BoxDecoration(
color: Colors.grey[600],
color: Color(0xff7E7E7E),
borderRadius: BorderRadius.circular(10),
),
child: Center(
@ -45,8 +46,10 @@ class AddNewOrder extends StatelessWidget {
height: 10,
),
AppText(
label ??'',
color: Colors.grey[600],
label ?? '',
color: Color(0xff7E7E7E),
letterSpacing: -0.64,
fontSize: 16.0,
fontWeight: FontWeight.w600,
)
],

Loading…
Cancel
Save