adding slide up to prescription and procedure

merge-requests/854/head
hussam al-habibeh 4 years ago
parent 6dd8f62b2a
commit 7d4f6d5264

@ -12,6 +12,7 @@ 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/doctor_card.dart';
import 'package:doctor_app_flutter/widgets/transitions/fade_page.dart';
import 'package:doctor_app_flutter/widgets/transitions/slide_up_page.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
@ -44,8 +45,7 @@ class _RadiologyHomePageState extends State<RadiologyHomePage> {
Widget build(BuildContext context) {
ProjectViewModel projectViewModel = Provider.of(context);
return BaseView<ProcedureViewModel>(
onModelReady: (model) => model.getPatientRadOrders(patient,
patientType: patientType, isInPatient: false),
onModelReady: (model) => model.getPatientRadOrders(patient, patientType: patientType, isInPatient: false),
builder: (_, model, widget) => AppScaffold(
isShowAppBar: true,
backgroundColor: Colors.grey[100],
@ -63,8 +63,7 @@ class _RadiologyHomePageState extends State<RadiologyHomePage> {
SizedBox(
height: 12,
),
if (model.radiologyList.isNotEmpty &&
patient.patientStatusType != 43)
if (model.radiologyList.isNotEmpty && patient.patientStatusType != 43)
Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
@ -84,8 +83,7 @@ class _RadiologyHomePageState extends State<RadiologyHomePage> {
],
),
),
if (patient.patientStatusType != null &&
patient.patientStatusType == 43)
if (patient.patientStatusType != null && patient.patientStatusType == 43)
Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
@ -105,20 +103,19 @@ class _RadiologyHomePageState extends State<RadiologyHomePage> {
],
),
),
if ((patient.patientStatusType != null &&
patient.patientStatusType == 43) ||
if ((patient.patientStatusType != null && patient.patientStatusType == 43) ||
(isFromLiveCare && patient.appointmentNo != null))
AddNewOrder(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => BaseAddProcedureTabPage(
patient: patient,
model: model,
procedureType: ProcedureType.RADIOLOGY,
), settings: RouteSettings(name: 'AddProcedureTabPage')
),
SlideUpPageRoute(
widget: BaseAddProcedureTabPage(
patient: patient,
model: model,
procedureType: ProcedureType.RADIOLOGY,
),
settingRoute: 'AddProcedureTabPage'),
);
},
label: TranslationBase.of(context).applyForRadiologyOrder,
@ -143,43 +140,26 @@ class _RadiologyHomePageState extends State<RadiologyHomePage> {
height: 160,
decoration: BoxDecoration(
//Colors.red[900] Color(0xff404545)
color: model.radiologyList[index]
.isLiveCareAppodynamicment
color: model.radiologyList[index].isLiveCareAppodynamicment
? Colors.red[900]
: !model.radiologyList[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.radiologyList[index]
.isLiveCareAppodynamicment
? TranslationBase.of(context)
.liveCare
.toUpperCase()
: !model.radiologyList[index]
.isInOutPatient
? TranslationBase.of(context)
.inPatientLabel
.toUpperCase()
: TranslationBase.of(context)
.outpatient
.toUpperCase(),
model.radiologyList[index].isLiveCareAppodynamicment
? TranslationBase.of(context).liveCare.toUpperCase()
: !model.radiologyList[index].isInOutPatient
? TranslationBase.of(context).inPatientLabel.toUpperCase()
: TranslationBase.of(context).outpatient.toUpperCase(),
style: TextStyle(color: Colors.white),
),
)),
@ -187,29 +167,21 @@ class _RadiologyHomePageState extends State<RadiologyHomePage> {
Expanded(
child: DoctorCard(
isNoMargin: true,
doctorName:
model.radiologyList[index].doctorName,
profileUrl:
model.radiologyList[index].doctorImageURL,
invoiceNO:
'${model.radiologyList[index].invoiceNo}',
branch:
'${model.radiologyList[index].projectName}',
clinic: model
.radiologyList[index].clinicDescription,
doctorName: model.radiologyList[index].doctorName,
profileUrl: model.radiologyList[index].doctorImageURL,
invoiceNO: '${model.radiologyList[index].invoiceNo}',
branch: '${model.radiologyList[index].projectName}',
clinic: model.radiologyList[index].clinicDescription,
appointmentDate:
model.radiologyList[index].orderDate ??
model.radiologyList[index].reportDate,
model.radiologyList[index].orderDate ?? model.radiologyList[index].reportDate,
onTap: () {
Navigator.push(
context,
FadePage(
page: RadiologyDetailsPage(
finalRadiology:
model.radiologyList[index],
patient: patient,
isInpatient:isInpatient
),
finalRadiology: model.radiologyList[index],
patient: patient,
isInpatient: isInpatient),
),
);
},
@ -218,8 +190,7 @@ class _RadiologyHomePageState extends State<RadiologyHomePage> {
],
),
)),
if (model.radiologyList.isEmpty &&
patient.patientStatusType != 43)
if (model.radiologyList.isEmpty && patient.patientStatusType != 43)
Center(
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,

@ -15,6 +15,7 @@ import 'package:doctor_app_flutter/widgets/shared/doctor_card.dart';
import 'package:doctor_app_flutter/widgets/shared/network_base_view.dart';
import 'package:doctor_app_flutter/widgets/shared/user-guid/in_patient_doctor_card.dart';
import 'package:doctor_app_flutter/widgets/transitions/fade_page.dart';
import 'package:doctor_app_flutter/widgets/transitions/slide_up_page.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
@ -95,13 +96,13 @@ class PrescriptionsPage extends StatelessWidget {
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => BaseAddProcedureTabPage(
patient: patient,
prescriptionModel: model,
procedureType: ProcedureType.PRESCRIPTION,
),
settings: RouteSettings(name: 'AddProcedureTabPage')),
SlideUpPageRoute(
widget: BaseAddProcedureTabPage(
patient: patient,
prescriptionModel: model,
procedureType: ProcedureType.PRESCRIPTION,
),
settingRoute: 'AddProcedureTabPage'),
);
},
label: TranslationBase.of(context).applyForNewPrescriptionsOrder,

@ -11,6 +11,7 @@ import 'package:doctor_app_flutter/util/translations_delegate_base.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';
import 'package:doctor_app_flutter/widgets/transitions/slide_up_page.dart';
import 'package:flutter/material.dart';
import 'ProcedureCard.dart';
@ -99,13 +100,13 @@ class ProcedureScreen extends StatelessWidget {
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => BaseAddProcedureTabPage(
patient: patient,
model: model,
procedureType: ProcedureType.PROCEDURE,
),
settings: RouteSettings(name: 'AddProcedureTabPage')),
SlideUpPageRoute(
widget: BaseAddProcedureTabPage(
patient: patient,
model: model,
procedureType: ProcedureType.PROCEDURE,
),
settingRoute: 'AddProcedureTabPage'),
);
},
child: Container(

@ -9,9 +9,9 @@ class SlideUpPageRoute extends PageRouteBuilder {
final Widget widget;
final bool fullscreenDialog;
final bool opaque;
final String settingRoute;
SlideUpPageRoute(
{this.widget, this.fullscreenDialog = false, this.opaque = true})
SlideUpPageRoute({this.widget, this.fullscreenDialog = false, this.opaque = true, this.settingRoute})
: super(
pageBuilder: (
BuildContext context,
@ -24,21 +24,17 @@ class SlideUpPageRoute extends PageRouteBuilder {
opaque: opaque,
barrierColor: Color.fromRGBO(0, 0, 0, 0.5),
barrierDismissible: true,
settings: RouteSettings(name: widget.runtimeType.toString()),
settings: RouteSettings(name: settingRoute ?? widget.runtimeType.toString()),
transitionDuration: Duration(milliseconds: 800),
transitionsBuilder: ((BuildContext context,
Animation<double> animation,
Animation<double> secondaryAnimation,
Widget child) {
transitionsBuilder:
((BuildContext context, Animation<double> animation, Animation<double> secondaryAnimation, Widget child) {
var begin = Offset(0.0, 1.0);
var end = Offset.zero;
var curve = Curves.easeInOutQuint;
var tween =
Tween(begin: begin, end: end).chain(CurveTween(curve: curve));
var tween = Tween(begin: begin, end: end).chain(CurveTween(curve: curve));
return SlideTransition(
position: animation.drive(tween), child: child);
return SlideTransition(position: animation.drive(tween), child: child);
}),
);
}

Loading…
Cancel
Save