procedure fixes, liveCare working
parent
b36ddf9317
commit
66d12f8fdd
@ -1,125 +0,0 @@
|
||||
import 'package:doctor_app_flutter/config/size_config.dart';
|
||||
import 'package:doctor_app_flutter/core/model/procedure/procedure_template_details_model.dart';
|
||||
import 'package:doctor_app_flutter/core/viewModel/medicine_view_model.dart';
|
||||
import 'package:doctor_app_flutter/core/viewModel/prescription_view_model.dart';
|
||||
import 'package:doctor_app_flutter/core/viewModel/procedure_View_model.dart';
|
||||
import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart';
|
||||
import 'package:doctor_app_flutter/screens/base/base_view.dart';
|
||||
import 'package:doctor_app_flutter/screens/prescription/prescription_checkout_screen.dart';
|
||||
import 'package:doctor_app_flutter/screens/procedures/entity_list_fav_procedure.dart';
|
||||
import 'package:doctor_app_flutter/util/dr_app_toast_msg.dart';
|
||||
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
|
||||
import 'package:doctor_app_flutter/widgets/shared/buttons/app_buttons_widget.dart';
|
||||
import 'package:doctor_app_flutter/widgets/shared/network_base_view.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class AddFavPrescription extends StatefulWidget {
|
||||
final PrescriptionViewModel model;
|
||||
final PatiantInformtion patient;
|
||||
final String categoryID;
|
||||
|
||||
const AddFavPrescription({Key key, this.model, this.patient, this.categoryID})
|
||||
: super(key: key);
|
||||
|
||||
@override
|
||||
_AddFavPrescriptionState createState() => _AddFavPrescriptionState();
|
||||
}
|
||||
|
||||
class _AddFavPrescriptionState extends State<AddFavPrescription> {
|
||||
MedicineViewModel model;
|
||||
PatiantInformtion patient;
|
||||
|
||||
List<ProcedureTempleteDetailsModel> entityList = List();
|
||||
ProcedureTempleteDetailsModel groupProcedures;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return BaseView<ProcedureViewModel>(
|
||||
onModelReady: (model) =>
|
||||
model.getProcedureTemplate(categoryID: widget.categoryID),
|
||||
builder: (BuildContext context, ProcedureViewModel model, Widget child) =>
|
||||
AppScaffold(
|
||||
isShowAppBar: false,
|
||||
baseViewModel: model,
|
||||
body: Column(
|
||||
children: [
|
||||
Container(
|
||||
height: MediaQuery.of(context).size.height * 0.070,
|
||||
),
|
||||
if (model.templateList.length != 0)
|
||||
Expanded(
|
||||
child: NetworkBaseView(
|
||||
baseViewModel: model,
|
||||
child: EntityListCheckboxSearchFavProceduresWidget(
|
||||
isProcedure: false,
|
||||
model: model,
|
||||
removeFavProcedure: (item) {
|
||||
setState(() {
|
||||
entityList.remove(item);
|
||||
});
|
||||
},
|
||||
addFavProcedure: (history) {
|
||||
setState(() {
|
||||
entityList.add(history);
|
||||
});
|
||||
},
|
||||
isEntityFavListSelected: (master) =>
|
||||
isEntityListSelected(master),
|
||||
groupProcedures: groupProcedures,
|
||||
selectProcedures: (valasd) {
|
||||
setState(() {
|
||||
groupProcedures = valasd;
|
||||
});
|
||||
},
|
||||
),
|
||||
),
|
||||
),
|
||||
Container(
|
||||
margin: EdgeInsets.all(SizeConfig.widthMultiplier * 5),
|
||||
child: Wrap(
|
||||
alignment: WrapAlignment.center,
|
||||
children: <Widget>[
|
||||
AppButton(
|
||||
title: 'Add Selected Prescription',
|
||||
color: Color(0xff359846),
|
||||
fontWeight: FontWeight.w700,
|
||||
onPressed: () {
|
||||
if (groupProcedures == null) {
|
||||
DrAppToastMsg.showErrorToast(
|
||||
'Please Select item ',
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (context) => PrescriptionCheckOutScreen(
|
||||
patient: widget.patient,
|
||||
model: widget.model,
|
||||
groupProcedures: groupProcedures,
|
||||
),
|
||||
),
|
||||
);
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
bool isEntityListSelected(ProcedureTempleteDetailsModel masterKey) {
|
||||
Iterable<ProcedureTempleteDetailsModel> history = entityList.where(
|
||||
(element) =>
|
||||
masterKey.templateID == element.templateID &&
|
||||
masterKey.procedureName == element.procedureName);
|
||||
if (history.length > 0) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@ -1,203 +0,0 @@
|
||||
import 'package:doctor_app_flutter/config/size_config.dart';
|
||||
import 'package:doctor_app_flutter/core/viewModel/prescription_view_model.dart';
|
||||
import 'package:doctor_app_flutter/core/viewModel/procedure_View_model.dart';
|
||||
import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart';
|
||||
import 'package:doctor_app_flutter/screens/base/base_view.dart';
|
||||
import 'package:doctor_app_flutter/screens/prescription/add_favourite_prescription.dart';
|
||||
import 'package:doctor_app_flutter/screens/prescription/add_prescription_form.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/shared/network_base_view.dart';
|
||||
import 'package:doctor_app_flutter/widgets/shared/text_fields/text_fields_utils.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class PrescriptionHomeScreen extends StatefulWidget {
|
||||
final PrescriptionViewModel model;
|
||||
final PatiantInformtion patient;
|
||||
|
||||
const PrescriptionHomeScreen({Key key, this.model, this.patient}) : super(key: key);
|
||||
@override
|
||||
_PrescriptionHomeScreenState createState() => _PrescriptionHomeScreenState();
|
||||
}
|
||||
|
||||
class _PrescriptionHomeScreenState extends State<PrescriptionHomeScreen> with SingleTickerProviderStateMixin {
|
||||
PrescriptionViewModel model;
|
||||
PatiantInformtion patient;
|
||||
TabController _tabController;
|
||||
int _activeTab = 0;
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
_tabController = TabController(length: 2, vsync: this);
|
||||
_tabController.addListener(_handleTabSelection);
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
super.dispose();
|
||||
_tabController.dispose();
|
||||
}
|
||||
|
||||
_handleTabSelection() {
|
||||
setState(() {
|
||||
_activeTab = _tabController.index;
|
||||
});
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final screenSize = MediaQuery.of(context).size;
|
||||
return BaseView<ProcedureViewModel>(
|
||||
//onModelReady: (model) => model.getCategory(),
|
||||
builder: (BuildContext context, ProcedureViewModel model, Widget child) => AppScaffold(
|
||||
isShowAppBar: false,
|
||||
body: NetworkBaseView(
|
||||
baseViewModel: model,
|
||||
child: DraggableScrollableSheet(
|
||||
minChildSize: 0.90,
|
||||
initialChildSize: 0.95,
|
||||
maxChildSize: 1.0,
|
||||
builder: (BuildContext context, ScrollController scrollController) {
|
||||
return Container(
|
||||
height: MediaQuery.of(context).size.height * 1.20,
|
||||
child: Padding(
|
||||
padding: EdgeInsets.all(12.0),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Row(children: [
|
||||
InkWell(
|
||||
child: Icon(
|
||||
Icons.arrow_back_ios,
|
||||
size: 24.0,
|
||||
),
|
||||
onTap: () {
|
||||
Navigator.pop(context);
|
||||
},
|
||||
),
|
||||
SizedBox(
|
||||
width: 7.0,
|
||||
),
|
||||
AppText(
|
||||
'Add prescription',
|
||||
fontWeight: FontWeight.w700,
|
||||
fontSize: 20,
|
||||
),
|
||||
]),
|
||||
SizedBox(
|
||||
height: MediaQuery.of(context).size.height * 0.04,
|
||||
),
|
||||
Expanded(
|
||||
child: Scaffold(
|
||||
extendBodyBehindAppBar: true,
|
||||
appBar: PreferredSize(
|
||||
preferredSize: Size.fromHeight(MediaQuery.of(context).size.height * 0.070),
|
||||
child: Container(
|
||||
height: MediaQuery.of(context).size.height * 0.070,
|
||||
decoration: BoxDecoration(
|
||||
border: Border(
|
||||
bottom:
|
||||
BorderSide(color: Theme.of(context).dividerColor, width: 0.5), //width: 0.7
|
||||
),
|
||||
color: Colors.white),
|
||||
child: Center(
|
||||
child: TabBar(
|
||||
isScrollable: false,
|
||||
controller: _tabController,
|
||||
indicatorColor: Colors.transparent,
|
||||
indicatorWeight: 1.0,
|
||||
indicatorSize: TabBarIndicatorSize.tab,
|
||||
labelColor: Theme.of(context).primaryColor,
|
||||
labelPadding: EdgeInsets.only(top: 0, left: 0, right: 0, bottom: 0),
|
||||
unselectedLabelColor: Colors.grey[800],
|
||||
tabs: [
|
||||
tabWidget(
|
||||
screenSize,
|
||||
_activeTab == 0,
|
||||
"Favorite Templates",
|
||||
),
|
||||
tabWidget(
|
||||
screenSize,
|
||||
_activeTab == 1,
|
||||
'All Prescription',
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
body: Column(
|
||||
children: [
|
||||
Expanded(
|
||||
child: TabBarView(
|
||||
physics: BouncingScrollPhysics(),
|
||||
controller: _tabController,
|
||||
children: [
|
||||
AddFavPrescription(
|
||||
model: widget.model,
|
||||
patient: widget.patient,
|
||||
categoryID: '55',
|
||||
),
|
||||
PrescriptionFormWidget(
|
||||
widget.model, widget.patient, widget.model.prescriptionList),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Widget tabWidget(Size screenSize, bool isActive, String title, {int counter = -1}) {
|
||||
return Center(
|
||||
child: Container(
|
||||
height: screenSize.height * 0.070,
|
||||
decoration: TextFieldsUtils.containerBorderDecoration(
|
||||
isActive ? Color(0xFFD02127 /*B8382B*/) : Color(0xFFEAEAEA),
|
||||
isActive ? Color(0xFFD02127) : Color(0xFFEAEAEA),
|
||||
borderRadius: 4,
|
||||
borderWidth: 0),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
AppText(
|
||||
title,
|
||||
fontSize: SizeConfig.textMultiplier * 1.5,
|
||||
color: isActive ? Colors.white : Color(0xFF2B353E),
|
||||
fontWeight: FontWeight.w700,
|
||||
),
|
||||
if (counter != -1)
|
||||
Container(
|
||||
margin: EdgeInsets.all(4),
|
||||
width: 15,
|
||||
height: 15,
|
||||
decoration: BoxDecoration(
|
||||
color: isActive ? Colors.white : Color(0xFFD02127),
|
||||
shape: BoxShape.circle,
|
||||
),
|
||||
child: Center(
|
||||
child: FittedBox(
|
||||
child: AppText(
|
||||
"$counter",
|
||||
fontSize: SizeConfig.textMultiplier * 1.5,
|
||||
color: !isActive ? Colors.white : Color(0xFFD02127),
|
||||
fontWeight: FontWeight.w700,
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue