|
|
|
@ -17,6 +17,7 @@ import 'package:flutter/material.dart';
|
|
|
|
|
|
|
|
|
|
import '../../config/config.dart';
|
|
|
|
|
import '../../widgets/shared/loader/gif_loader_dialog_utils.dart';
|
|
|
|
|
import '../patients/profile/soap_update/shared_soap_widgets/bottom_sheet_dialog_button.dart';
|
|
|
|
|
import 'ProcedureType.dart';
|
|
|
|
|
|
|
|
|
|
class AddFavouriteProcedure extends StatefulWidget {
|
|
|
|
@ -48,110 +49,96 @@ class _AddFavouriteProcedureState extends State<AddFavouriteProcedure> {
|
|
|
|
|
@override
|
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
|
return BaseView<ProcedureViewModel>(
|
|
|
|
|
builder: (BuildContext context, ProcedureViewModel model_, Widget child) =>
|
|
|
|
|
builder: (BuildContext context, ProcedureViewModel model_,
|
|
|
|
|
Widget child) =>
|
|
|
|
|
AppScaffold(
|
|
|
|
|
isShowAppBar: false,
|
|
|
|
|
baseViewModel: model,
|
|
|
|
|
body: Column(
|
|
|
|
|
children: [
|
|
|
|
|
Container(
|
|
|
|
|
height: MediaQuery.of(context).size.height * 0.070,
|
|
|
|
|
),
|
|
|
|
|
(widget.previousProcedureViewModel.templateList.length != 0)
|
|
|
|
|
? Expanded(
|
|
|
|
|
child: EntityListCheckboxSearchFavProceduresWidget(
|
|
|
|
|
isProcedure:
|
|
|
|
|
!(widget.procedureType == ProcedureType.PRESCRIPTION),
|
|
|
|
|
model: widget.previousProcedureViewModel,
|
|
|
|
|
removeFavProcedure: (item) {
|
|
|
|
|
setState(() {
|
|
|
|
|
entityList.remove(item);
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
addFavProcedure: (history) {
|
|
|
|
|
setState(() {
|
|
|
|
|
entityList.add(history);
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
isEntityFavListSelected: (master) =>
|
|
|
|
|
isEntityListSelected(master),
|
|
|
|
|
groupProcedures: groupProcedures,
|
|
|
|
|
selectProcedures: (selectedProcedure) {
|
|
|
|
|
setState(() {
|
|
|
|
|
groupProcedures = selectedProcedure;
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
)
|
|
|
|
|
: Container(
|
|
|
|
|
child: Padding(
|
|
|
|
|
padding: EdgeInsets.symmetric(vertical: 50.0),
|
|
|
|
|
child: AppText('You Don\'t have favorite prescription'),
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
bottomSheet: Container(
|
|
|
|
|
margin: EdgeInsets.all(SizeConfig.widthMultiplier * 5),
|
|
|
|
|
child: Wrap(
|
|
|
|
|
alignment: WrapAlignment.center,
|
|
|
|
|
children: <Widget>[
|
|
|
|
|
AppButton(
|
|
|
|
|
title: widget.procedureType.getAddButtonTitle(context) ??
|
|
|
|
|
TranslationBase.of(context).addSelectedProcedures,
|
|
|
|
|
color: AppGlobal.appGreenColor,
|
|
|
|
|
disabled: widget.previousProcedureViewModel.templateList.length == 0 ? true : false,
|
|
|
|
|
fontWeight: FontWeight.w700,
|
|
|
|
|
onPressed: () {
|
|
|
|
|
if (widget.procedureType == ProcedureType.PRESCRIPTION) {
|
|
|
|
|
if (groupProcedures == null) {
|
|
|
|
|
DrAppToastMsg.showErrorToast(
|
|
|
|
|
'Please Select item ',
|
|
|
|
|
);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
isShowAppBar: false,
|
|
|
|
|
baseViewModel: model,
|
|
|
|
|
body: Column(
|
|
|
|
|
children: [
|
|
|
|
|
(widget.previousProcedureViewModel.templateList.length != 0)
|
|
|
|
|
? Expanded(
|
|
|
|
|
child: EntityListCheckboxSearchFavProceduresWidget(
|
|
|
|
|
isProcedure: !(widget.procedureType ==
|
|
|
|
|
ProcedureType.PRESCRIPTION),
|
|
|
|
|
model: widget.previousProcedureViewModel,
|
|
|
|
|
removeFavProcedure: (item) {
|
|
|
|
|
setState(() {
|
|
|
|
|
entityList.remove(item);
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
addFavProcedure: (history) {
|
|
|
|
|
setState(() {
|
|
|
|
|
entityList.add(history);
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
isEntityFavListSelected: (master) =>
|
|
|
|
|
isEntityListSelected(master),
|
|
|
|
|
groupProcedures: groupProcedures,
|
|
|
|
|
selectProcedures: (selectedProcedure) {
|
|
|
|
|
setState(() {
|
|
|
|
|
groupProcedures = selectedProcedure;
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
)
|
|
|
|
|
: Container(
|
|
|
|
|
child: Padding(
|
|
|
|
|
padding: EdgeInsets.symmetric(vertical: 50.0),
|
|
|
|
|
child: AppText(
|
|
|
|
|
'You Don\'t have favorite prescription'),
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
bottomSheet: BottomSheetDialogButton(
|
|
|
|
|
label: widget.procedureType.getAddButtonTitle(context) ??
|
|
|
|
|
TranslationBase.of(context).addSelectedProcedures,
|
|
|
|
|
onTap: () async {
|
|
|
|
|
if (widget.procedureType == ProcedureType.PRESCRIPTION) {
|
|
|
|
|
if (groupProcedures == null) {
|
|
|
|
|
DrAppToastMsg.showErrorToast(
|
|
|
|
|
'Please Select item ',
|
|
|
|
|
);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Navigator.push(
|
|
|
|
|
context,
|
|
|
|
|
MaterialPageRoute(
|
|
|
|
|
builder: (context) => PrescriptionCheckOutScreen(
|
|
|
|
|
patient: widget.patient,
|
|
|
|
|
model: widget.prescriptionModel,
|
|
|
|
|
groupProcedures: groupProcedures,
|
|
|
|
|
),
|
|
|
|
|
settings: RouteSettings(
|
|
|
|
|
name: 'PrescriptionCheckOutScreen')),
|
|
|
|
|
);
|
|
|
|
|
} else {
|
|
|
|
|
if (entityList.isEmpty == true) {
|
|
|
|
|
DrAppToastMsg.showErrorToast(
|
|
|
|
|
TranslationBase.of(context)
|
|
|
|
|
.fillTheMandatoryProcedureDetails,
|
|
|
|
|
Navigator.push(
|
|
|
|
|
context,
|
|
|
|
|
MaterialPageRoute(
|
|
|
|
|
builder: (context) => PrescriptionCheckOutScreen(
|
|
|
|
|
patient: widget.patient,
|
|
|
|
|
model: widget.prescriptionModel,
|
|
|
|
|
groupProcedures: groupProcedures,
|
|
|
|
|
),
|
|
|
|
|
settings: RouteSettings(
|
|
|
|
|
name: 'PrescriptionCheckOutScreen')),
|
|
|
|
|
);
|
|
|
|
|
} else {
|
|
|
|
|
if (entityList.isEmpty == true) {
|
|
|
|
|
DrAppToastMsg.showErrorToast(
|
|
|
|
|
TranslationBase.of(context)
|
|
|
|
|
.fillTheMandatoryProcedureDetails,
|
|
|
|
|
);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
Navigator.push(
|
|
|
|
|
context,
|
|
|
|
|
MaterialPageRoute(
|
|
|
|
|
builder: (context) => ProcedureCheckOutScreen(
|
|
|
|
|
items: entityList,
|
|
|
|
|
model: model,
|
|
|
|
|
patient: widget.patient,
|
|
|
|
|
addButtonTitle: widget.procedureType
|
|
|
|
|
.getAddButtonTitle(context),
|
|
|
|
|
toolbarTitle: widget.procedureType
|
|
|
|
|
.getToolbarLabel(context),
|
|
|
|
|
),
|
|
|
|
|
settings:
|
|
|
|
|
RouteSettings(name: 'ProcedureCheckOutScreen')),
|
|
|
|
|
);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
Navigator.push(
|
|
|
|
|
context,
|
|
|
|
|
MaterialPageRoute(
|
|
|
|
|
builder: (context) => ProcedureCheckOutScreen(
|
|
|
|
|
items: entityList,
|
|
|
|
|
model: model,
|
|
|
|
|
patient: widget.patient,
|
|
|
|
|
addButtonTitle: widget.procedureType
|
|
|
|
|
.getAddButtonTitle(context),
|
|
|
|
|
toolbarTitle: widget.procedureType
|
|
|
|
|
.getToolbarLabel(context),
|
|
|
|
|
),
|
|
|
|
|
settings:
|
|
|
|
|
RouteSettings(name: 'ProcedureCheckOutScreen')),
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
})),
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|