procedure fixes, liveCare working

merge-requests/711/head
mosazaid 5 years ago
parent b36ddf9317
commit 66d12f8fdd

@ -13,6 +13,8 @@ class LiveCarePatientServices extends BaseService {
bool _isFinished = false;
bool _isLive = false;
bool get isFinished => _isFinished;
setFinished(bool isFinished){
@ -53,7 +55,7 @@ class LiveCarePatientServices extends BaseService {
hasError = true;
super.error = error;
}, body: endCallReq.toJson(),isLiveCare: true);
}, body: endCallReq.toJson(),isLiveCare:_isLive);
}
Future startCall(StartCallReq startCallReq) async {
@ -64,7 +66,7 @@ class LiveCarePatientServices extends BaseService {
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: startCallReq.toJson(),isLiveCare: true);
}, body: startCallReq.toJson(),isLiveCare:_isLive);
}
Future endCallWithCharge(int vcID) async{
hasError = false;
@ -79,7 +81,7 @@ class LiveCarePatientServices extends BaseService {
},
body: {
"VC_ID": vcID,"generalid":"Cs2020@2016\$2958",
},isLiveCare: true
},isLiveCare:_isLive
);
}
@ -98,7 +100,7 @@ class LiveCarePatientServices extends BaseService {
"VC_ID": vcID,
"IsOutKsa": false,
"Notes": notes,
},isLiveCare: true
},isLiveCare:_isLive
);
}
}

@ -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,
),
),
),
),
],
),
),
);
}
}

@ -1,8 +1,6 @@
import 'package:doctor_app_flutter/core/viewModel/prescription_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_prescription_form.dart';
import 'package:doctor_app_flutter/screens/prescription/prescription_home_screen.dart';
import 'package:doctor_app_flutter/screens/prescription/prescription_item_in_patient_page.dart';
import 'package:doctor_app_flutter/screens/prescription/prescription_items_page.dart';
import 'package:doctor_app_flutter/screens/procedures/ProcedureType.dart';

@ -64,6 +64,8 @@ extension procedureType on ProcedureType {
return null;
case ProcedureType.LAB_RESULT:
return "02";
case ProcedureType.RADIOLOGY:
return "03";
case ProcedureType.PRESCRIPTION:
return "55";
default:

@ -75,9 +75,9 @@ class _AddFavouriteProcedureState extends State<AddFavouriteProcedure> {
isEntityFavListSelected: (master) =>
isEntityListSelected(master),
groupProcedures: groupProcedures,
selectProcedures: (valasd) {
selectProcedures: (selectedProcedure) {
setState(() {
groupProcedures = valasd;
groupProcedures = selectedProcedure;
});
},
),

@ -19,6 +19,7 @@ class EntityListCheckboxSearchWidget extends StatefulWidget {
final bool Function(EntityList) isEntityListSelected;
final List<EntityList> masterList;
/// todo clear the function here
EntityListCheckboxSearchWidget(
{Key key,
this.model,

Loading…
Cancel
Save