Merge branch 'fix-issues' into 'development'

Fix issues

See merge request Cloud_Solution/doctor_app_flutter!309
merge-requests/311/merge
Mohammad Aljammal 4 years ago
commit d72f83987b

@ -589,7 +589,7 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
], ],
), ),
bodyWidget: ListView.builder( bodyWidget: ListView.builder(
//physics: , physics: NeverScrollableScrollPhysics(),
scrollDirection: Axis.vertical, scrollDirection: Axis.vertical,
shrinkWrap: true, shrinkWrap: true,
itemCount: model itemCount: model
@ -763,7 +763,7 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
], ],
), ),
bodyWidget: ListView.builder( bodyWidget: ListView.builder(
//physics: , physics: NeverScrollableScrollPhysics(),
scrollDirection: Axis.vertical, scrollDirection: Axis.vertical,
shrinkWrap: true, shrinkWrap: true,
itemCount: model itemCount: model

@ -210,20 +210,21 @@ class _PrescriptionFormWidgetState extends State<PrescriptionFormWidget> {
NetworkBaseView( NetworkBaseView(
baseViewModel: model, baseViewModel: model,
child: GestureDetector( child: GestureDetector(
onTap: (){ onTap: () {
FocusScope.of(context).requestFocus(new FocusNode()); FocusScope.of(context).requestFocus(new FocusNode());
}, },
child: DraggableScrollableSheet( child: DraggableScrollableSheet(
initialChildSize: 0.90, initialChildSize: 0.90,
maxChildSize: 0.90, maxChildSize: 0.90,
minChildSize: 0.9, minChildSize: 0.9,
builder: (BuildContext context, ScrollController scrollController) { builder:
(BuildContext context, ScrollController scrollController) {
return SingleChildScrollView( return SingleChildScrollView(
child: Container( child: Container(
height: 1010, height: 1010,
child: Padding( child: Padding(
padding: padding: EdgeInsets.symmetric(
EdgeInsets.symmetric(horizontal: 12.0, vertical: 10.0), horizontal: 12.0, vertical: 10.0),
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
//mainAxisAlignment: MainAxisAlignment.spaceEvenly, //mainAxisAlignment: MainAxisAlignment.spaceEvenly,
@ -247,8 +248,8 @@ class _PrescriptionFormWidgetState extends State<PrescriptionFormWidget> {
child: InkWell( child: InkWell(
onTap: model.allMedicationList != null onTap: model.allMedicationList != null
? () { ? () {
Helpers.hideKeyboard(context); Helpers.hideKeyboard(context);
setState(() { setState(() {
_selectedMedication = null; _selectedMedication = null;
}); });
} }
@ -267,8 +268,8 @@ class _PrescriptionFormWidgetState extends State<PrescriptionFormWidget> {
true, true,
), ),
itemSubmitted: (item) => setState( itemSubmitted: (item) => setState(
() => () => _selectedMedication =
_selectedMedication = item), item),
key: key, key: key,
suggestions: suggestions:
model.allMedicationList, model.allMedicationList,
@ -278,19 +279,18 @@ class _PrescriptionFormWidgetState extends State<PrescriptionFormWidget> {
child: Texts(suggestion child: Texts(suggestion
.description + .description +
'/' + '/' +
suggestion.genericName), suggestion
.genericName),
padding: padding:
EdgeInsets.all(8.0)), EdgeInsets.all(8.0)),
itemSorter: (a, b) => 1, itemSorter: (a, b) => 1,
itemFilter: (suggestion, input) => itemFilter: (suggestion, input) =>
suggestion.genericName suggestion.genericName.toLowerCase().startsWith(
.toLowerCase() input.toLowerCase()) ||
.startsWith(
input.toLowerCase()) ||
suggestion.description suggestion.description
.toLowerCase() .toLowerCase()
.startsWith( .startsWith(input
input.toLowerCase()) || .toLowerCase()) ||
suggestion.keywords suggestion.keywords
.toLowerCase() .toLowerCase()
.startsWith( .startsWith(
@ -338,17 +338,20 @@ class _PrescriptionFormWidgetState extends State<PrescriptionFormWidget> {
child: Row( child: Row(
children: [ children: [
Container( Container(
width: width: MediaQuery.of(context)
MediaQuery.of(context).size.width * .size
0.550, .width *
0.550,
child: TextFields( child: TextFields(
inputFormatters: [ inputFormatters: [
LengthLimitingTextInputFormatter(4), LengthLimitingTextInputFormatter(
4),
WhitelistingTextInputFormatter WhitelistingTextInputFormatter
.digitsOnly .digitsOnly
], ],
hintText: TranslationBase.of(context) hintText:
.strength, TranslationBase.of(context)
.strength,
controller: strengthController, controller: strengthController,
keyboardType: TextInputType.number, keyboardType: TextInputType.number,
onChanged: (String value) { onChanged: (String value) {
@ -375,40 +378,49 @@ class _PrescriptionFormWidgetState extends State<PrescriptionFormWidget> {
width: 10.0, width: 10.0,
), ),
Container( Container(
width: width: MediaQuery.of(context)
MediaQuery.of(context).size.width * .size
0.350, .width *
0.350,
child: InkWell( child: InkWell(
onTap: model.medicationStrengthList != onTap:
null model.medicationStrengthList !=
? () { null
Helpers.hideKeyboard(context); ? () {
ListSelectDialog dialog = Helpers.hideKeyboard(
ListSelectDialog( context);
list: model ListSelectDialog
.medicationStrengthList, dialog =
attributeName: 'nameEn', ListSelectDialog(
attributeValueId: 'id', list: model
okText: TranslationBase.of( .medicationStrengthList,
context) attributeName:
.ok, 'nameEn',
okFunction: attributeValueId:
(selectedValue) { 'id',
setState(() { okText:
units = selectedValue; TranslationBase.of(
}); context)
}, .ok,
); okFunction:
showDialog( (selectedValue) {
barrierDismissible: false, setState(() {
context: context, units =
builder: selectedValue;
(BuildContext context) { });
return dialog; },
}, );
); showDialog(
} barrierDismissible:
: null, false,
context: context,
builder: (BuildContext
context) {
return dialog;
},
);
}
: null,
child: TextField( child: TextField(
decoration: decoration:
textFieldSelectorDecoration( textFieldSelectorDecoration(
@ -430,8 +442,8 @@ class _PrescriptionFormWidgetState extends State<PrescriptionFormWidget> {
child: InkWell( child: InkWell(
onTap: model.medicationRouteList != null onTap: model.medicationRouteList != null
? () { ? () {
Helpers.hideKeyboard(context); Helpers.hideKeyboard(context);
ListSelectDialog dialog = ListSelectDialog dialog =
ListSelectDialog( ListSelectDialog(
list: model.medicationRouteList, list: model.medicationRouteList,
attributeName: 'nameEn', attributeName: 'nameEn',
@ -452,7 +464,8 @@ class _PrescriptionFormWidgetState extends State<PrescriptionFormWidget> {
showDialog( showDialog(
barrierDismissible: false, barrierDismissible: false,
context: context, context: context,
builder: (BuildContext context) { builder:
(BuildContext context) {
return dialog; return dialog;
}, },
); );
@ -473,13 +486,14 @@ class _PrescriptionFormWidgetState extends State<PrescriptionFormWidget> {
Container( Container(
height: screenSize.height * 0.070, height: screenSize.height * 0.070,
child: InkWell( child: InkWell(
onTap: model.medicationFrequencyList != null onTap: model.medicationFrequencyList !=
null
? () { ? () {
Helpers.hideKeyboard(context); Helpers.hideKeyboard(context);
ListSelectDialog dialog = ListSelectDialog dialog =
ListSelectDialog( ListSelectDialog(
list: list: model
model.medicationFrequencyList, .medicationFrequencyList,
attributeName: 'nameEn', attributeName: 'nameEn',
attributeValueId: 'id', attributeValueId: 'id',
okText: okText:
@ -494,7 +508,8 @@ class _PrescriptionFormWidgetState extends State<PrescriptionFormWidget> {
showDialog( showDialog(
barrierDismissible: false, barrierDismissible: false,
context: context, context: context,
builder: (BuildContext context) { builder:
(BuildContext context) {
return dialog; return dialog;
}, },
); );
@ -502,7 +517,8 @@ class _PrescriptionFormWidgetState extends State<PrescriptionFormWidget> {
: null, : null,
child: TextField( child: TextField(
decoration: textFieldSelectorDecoration( decoration: textFieldSelectorDecoration(
TranslationBase.of(context).frequency, TranslationBase.of(context)
.frequency,
frequency != null frequency != null
? frequency['nameEn'] ? frequency['nameEn']
: null, : null,
@ -515,13 +531,14 @@ class _PrescriptionFormWidgetState extends State<PrescriptionFormWidget> {
Container( Container(
height: screenSize.height * 0.070, height: screenSize.height * 0.070,
child: InkWell( child: InkWell(
onTap: model.medicationDoseTimeList != null onTap: model.medicationDoseTimeList !=
null
? () { ? () {
Helpers.hideKeyboard(context); Helpers.hideKeyboard(context);
ListSelectDialog dialog = ListSelectDialog dialog =
ListSelectDialog( ListSelectDialog(
list: list: model
model.medicationDoseTimeList, .medicationDoseTimeList,
attributeName: 'nameEn', attributeName: 'nameEn',
attributeValueId: 'id', attributeValueId: 'id',
okText: okText:
@ -536,7 +553,8 @@ class _PrescriptionFormWidgetState extends State<PrescriptionFormWidget> {
showDialog( showDialog(
barrierDismissible: false, barrierDismissible: false,
context: context, context: context,
builder: (BuildContext context) { builder:
(BuildContext context) {
return dialog; return dialog;
}, },
); );
@ -544,7 +562,8 @@ class _PrescriptionFormWidgetState extends State<PrescriptionFormWidget> {
: null, : null,
child: TextField( child: TextField(
decoration: textFieldSelectorDecoration( decoration: textFieldSelectorDecoration(
TranslationBase.of(context).doseTime, TranslationBase.of(context)
.doseTime,
doseTime != null doseTime != null
? doseTime['nameEn'] ? doseTime['nameEn']
: null, : null,
@ -554,103 +573,74 @@ class _PrescriptionFormWidgetState extends State<PrescriptionFormWidget> {
), ),
), ),
SizedBox(height: spaceBetweenTextFileds), SizedBox(height: spaceBetweenTextFileds),
if (model.patientAssessmentList.isNotEmpty) if (model.patientAssessmentList.isNotEmpty)
Container( Container(
height: screenSize.height * 0.070, height: screenSize.height * 0.070,
child: InkWell( width: double.infinity,
onTap: indicationList != null child: Row(
? () { children: [
Helpers.hideKeyboard(context); Container(
ListSelectDialog dialog = width: MediaQuery.of(context)
ListSelectDialog( .size
list: indicationList, .width *
attributeName: 'name', 0.29,
attributeValueId: 'id', child: InkWell(
okText: onTap: indicationList != null
TranslationBase.of(context) ? () {
.ok, Helpers.hideKeyboard(
okFunction: (selectedValue) { context);
setState(() { }
indication = selectedValue;
});
},
);
showDialog(
barrierDismissible: false,
context: context,
builder:
(BuildContext context) {
return dialog;
},
);
}
: null,
child: TextField(
decoration: textFieldSelectorDecoration(
model.patientAssessmentList[0]
.icdCode10ID
.toString(),
indication != null
? indication['name']
: null, : null,
true), child: TextField(
enabled: true, decoration:
readOnly: true, textFieldSelectorDecoration(
), model
.patientAssessmentList[
0]
.icdCode10ID
.toString(),
indication != null
? indication['name']
: null,
true),
enabled: true,
readOnly: true,
),
),
),
Container(
width: MediaQuery.of(context)
.size
.width *
0.65,
child: InkWell(
onTap: indicationList != null
? () {
Helpers.hideKeyboard(
context);
}
: null,
child: TextField(
maxLines: 5,
decoration:
textFieldSelectorDecoration(
model
.patientAssessmentList[
0]
.asciiDesc
.toString(),
indication != null
? indication['name']
: null,
true),
enabled: true,
readOnly: true,
),
),
),
],
), ),
), ),
//model.patientAssessmentList.forEach((element) { }).
// Column(
// children: model.patientAssessmentList
// .map((element) {
// return Container(
// height: screenSize.height * 0.070,
// child: InkWell(
// onTap: indicationList != null
// ? () {
// ListSelectDialog dialog =
// ListSelectDialog(
// list: indicationList,
// attributeName: 'name',
// attributeValueId: 'id',
// okText: TranslationBase.of(
// context)
// .ok,
// okFunction: (selectedValue) {
// setState(() {
// indication =
// selectedValue;
// });
// },
// );
// showDialog(
// barrierDismissible: false,
// context: context,
// builder:
// (BuildContext context) {
// return dialog;
// },
// );
// }
// : null,
// child: TextField(
// decoration:
// textFieldSelectorDecoration(
// element.icdCode10ID
// .toString(),
// indication != null
// ? indication['name']
// : null,
// true),
// enabled: true,
// readOnly: true,
// ),
// ),
// );
// }).toList(),
// ),
SizedBox(height: spaceBetweenTextFileds), SizedBox(height: spaceBetweenTextFileds),
Container( Container(
height: screenSize.height * 0.070, height: screenSize.height * 0.070,
@ -660,7 +650,8 @@ class _PrescriptionFormWidgetState extends State<PrescriptionFormWidget> {
child: TextField( child: TextField(
decoration: decoration:
Helpers.textFieldSelectorDecoration( Helpers.textFieldSelectorDecoration(
TranslationBase.of(context).date, TranslationBase.of(context)
.date,
selectedDate != null selectedDate != null
? "${DateUtils.convertStringToDateFormat(selectedDate.toString(), "yyyy-MM-dd")}" ? "${DateUtils.convertStringToDateFormat(selectedDate.toString(), "yyyy-MM-dd")}"
: null, : null,
@ -677,13 +668,14 @@ class _PrescriptionFormWidgetState extends State<PrescriptionFormWidget> {
Container( Container(
height: screenSize.height * 0.070, height: screenSize.height * 0.070,
child: InkWell( child: InkWell(
onTap: model.medicationDurationList != null onTap: model.medicationDurationList !=
null
? () { ? () {
Helpers.hideKeyboard(context); Helpers.hideKeyboard(context);
ListSelectDialog dialog = ListSelectDialog dialog =
ListSelectDialog( ListSelectDialog(
list: list: model
model.medicationDurationList, .medicationDurationList,
attributeName: 'nameEn', attributeName: 'nameEn',
attributeValueId: 'id', attributeValueId: 'id',
okText: okText:
@ -698,7 +690,8 @@ class _PrescriptionFormWidgetState extends State<PrescriptionFormWidget> {
showDialog( showDialog(
barrierDismissible: false, barrierDismissible: false,
context: context, context: context,
builder: (BuildContext context) { builder:
(BuildContext context) {
return dialog; return dialog;
}, },
); );
@ -706,7 +699,8 @@ class _PrescriptionFormWidgetState extends State<PrescriptionFormWidget> {
: null, : null,
child: TextField( child: TextField(
decoration: textFieldSelectorDecoration( decoration: textFieldSelectorDecoration(
TranslationBase.of(context).duration, TranslationBase.of(context)
.duration,
duration != null duration != null
? duration['nameEn'] ? duration['nameEn']
: null, : null,
@ -726,17 +720,10 @@ class _PrescriptionFormWidgetState extends State<PrescriptionFormWidget> {
child: TextFields( child: TextFields(
maxLines: 6, maxLines: 6,
minLines: 4, minLines: 4,
hintText: hintText: TranslationBase.of(context)
TranslationBase.of(context).instruction, .instruction,
controller: instructionController, controller: instructionController,
//keyboardType: TextInputType.number, //keyboardType: TextInputType.number,
validator: (value) {
if (value.isEmpty)
return TranslationBase.of(context)
.emptyMessage;
else
return null;
},
), ),
), ),
SizedBox(height: spaceBetweenTextFileds), SizedBox(height: spaceBetweenTextFileds),
@ -763,8 +750,23 @@ class _PrescriptionFormWidgetState extends State<PrescriptionFormWidget> {
"Please Fill All Fields"); "Please Fill All Fields");
return; return;
} }
if (int.parse(
strengthController.text) >
1000) {
DrAppToastMsg.showErrorToast(
"1000 is the MAX for the strength");
return;
}
if (int.parse(
strengthController.text) ==
0) {
DrAppToastMsg.showErrorToast(
"Streangth can't be zero");
return;
}
if (formKey.currentState.validate()) { if (formKey.currentState
.validate()) {
Navigator.pop(context); Navigator.pop(context);
{ {
// var x = model // var x = model
@ -801,8 +803,8 @@ class _PrescriptionFormWidgetState extends State<PrescriptionFormWidget> {
model: widget.model, model: widget.model,
duration: duration:
duration['id'].toString(), duration['id'].toString(),
frequency: frequency: frequency['id']
frequency['id'].toString(), .toString(),
route: route['id'].toString(), route: route['id'].toString(),
drugId: _selectedMedication drugId: _selectedMedication
.itemId .itemId
@ -812,7 +814,8 @@ class _PrescriptionFormWidgetState extends State<PrescriptionFormWidget> {
indication: indication:
indicationController.text, indicationController.text,
instruction: instruction:
instructionController.text, instructionController
.text,
doseTime: selectedDate, doseTime: selectedDate,
); );
} }

@ -8,6 +8,7 @@ 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/prescription_view_model.dart';
import 'package:doctor_app_flutter/models/patient/patiant_info_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/base/base_view.dart';
import 'package:doctor_app_flutter/util/date-utils.dart';
import 'package:doctor_app_flutter/util/dr_app_toast_msg.dart'; import 'package:doctor_app_flutter/util/dr_app_toast_msg.dart';
import 'package:doctor_app_flutter/util/helpers.dart'; import 'package:doctor_app_flutter/util/helpers.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
@ -36,6 +37,7 @@ class UpdatePrescriptionForm extends StatefulWidget {
final String startDate; final String startDate;
final String frequency; final String frequency;
final String drugNameGeneric; final String drugNameGeneric;
final PrescriptionViewModel model; final PrescriptionViewModel model;
UpdatePrescriptionForm( UpdatePrescriptionForm(
@ -71,14 +73,44 @@ class _UpdatePrescriptionFormState extends State<UpdatePrescriptionForm> {
GetMedicationResponseModel newSelectedMedication; GetMedicationResponseModel newSelectedMedication;
GlobalKey key = GlobalKey key =
new GlobalKey<AutoCompleteTextFieldState<GetMedicationResponseModel>>(); new GlobalKey<AutoCompleteTextFieldState<GetMedicationResponseModel>>();
List<dynamic> indicationList;
dynamic indication;
DateTime selectedDate;
@override @override
void initState() { void initState() {
super.initState(); super.initState();
indicationList = List();
dynamic indication1 = {"id": 545, "name": "Gingival Hyperplasia"};
dynamic indication2 = {"id": 546, "name": "Mild Drowsiness"};
dynamic indication3 = {"id": 547, "name": "Hypertrichosis"};
dynamic indication4 = {"id": 548, "name": "Mild Dizziness"};
dynamic indication5 = {"id": 549, "name": "Enlargement of Facial Features"};
dynamic indication6 = {
"id": 550,
"name": "Phenytoin Hypersensitivity Syndrome"
};
dynamic indication7 = {"id": 551, "name": "Asterixis"};
dynamic indication8 = {"id": 552, "name": "Bullous Dermatitis"};
dynamic indication9 = {"id": 554, "name": "Purpuric Dermatitis"};
dynamic indication10 = {"id": 555, "name": "Systemic Lupus Erythematosus"};
indicationList.add(indication1);
indicationList.add(indication2);
indicationList.add(indication3);
indicationList.add(indication4);
indicationList.add(indication5);
indicationList.add(indication6);
indicationList.add(indication7);
indicationList.add(indication8);
indicationList.add(indication9);
indicationList.add(indication10);
} }
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final screenSize = MediaQuery.of(context).size;
return StatefulBuilder(builder: return StatefulBuilder(builder:
(BuildContext context, StateSetter setState /*You can rename this!*/) { (BuildContext context, StateSetter setState /*You can rename this!*/) {
return BaseView<MedicineViewModel>( return BaseView<MedicineViewModel>(
@ -105,17 +137,17 @@ class _UpdatePrescriptionFormState extends State<UpdatePrescriptionForm> {
NetworkBaseView( NetworkBaseView(
baseViewModel: model, baseViewModel: model,
child: GestureDetector( child: GestureDetector(
onTap: (){ onTap: () {
FocusScope.of(context).requestFocus(new FocusNode()); FocusScope.of(context).requestFocus(new FocusNode());
}, },
child: DraggableScrollableSheet( child: DraggableScrollableSheet(
initialChildSize: 0.95, initialChildSize: 0.98,
maxChildSize: 0.99, maxChildSize: 0.99,
minChildSize: 0.6, minChildSize: 0.6,
builder: builder:
(BuildContext context, ScrollController scrollController) { (BuildContext context, ScrollController scrollController) {
return Container( return Container(
height: MediaQuery.of(context).size.height * 1.3, height: MediaQuery.of(context).size.height * 2.5,
child: Form( child: Form(
child: Padding( child: Padding(
padding: EdgeInsets.symmetric( padding: EdgeInsets.symmetric(
@ -211,15 +243,18 @@ class _UpdatePrescriptionFormState extends State<UpdatePrescriptionForm> {
child: Row( child: Row(
children: [ children: [
Container( Container(
width: width: MediaQuery.of(context)
MediaQuery.of(context).size.width * .size
0.4900, .width *
height: 0.4900,
MediaQuery.of(context).size.height * height: MediaQuery.of(context)
0.55, .size
.height *
0.55,
child: TextFields( child: TextFields(
inputFormatters: [ inputFormatters: [
LengthLimitingTextInputFormatter(4), LengthLimitingTextInputFormatter(
4),
WhitelistingTextInputFormatter WhitelistingTextInputFormatter
.digitsOnly .digitsOnly
], ],
@ -251,40 +286,49 @@ class _UpdatePrescriptionFormState extends State<UpdatePrescriptionForm> {
width: 10.0, width: 10.0,
), ),
Container( Container(
width: width: MediaQuery.of(context)
MediaQuery.of(context).size.width * .size
0.3700, .width *
0.3700,
child: InkWell( child: InkWell(
onTap: model.medicationStrengthList != onTap:
null model.medicationStrengthList !=
? () { null
Helpers.hideKeyboard(context); ? () {
ListSelectDialog dialog = Helpers.hideKeyboard(
ListSelectDialog( context);
list: model ListSelectDialog
.medicationStrengthList, dialog =
attributeName: 'nameEn', ListSelectDialog(
attributeValueId: 'id', list: model
okText: TranslationBase.of( .medicationStrengthList,
context) attributeName:
.ok, 'nameEn',
okFunction: attributeValueId:
(selectedValue) { 'id',
setState(() { okText:
units = selectedValue; TranslationBase.of(
}); context)
}, .ok,
); okFunction:
showDialog( (selectedValue) {
barrierDismissible: false, setState(() {
context: context, units =
builder: selectedValue;
(BuildContext context) { });
return dialog; },
}, );
); showDialog(
} barrierDismissible:
: null, false,
context: context,
builder: (BuildContext
context) {
return dialog;
},
);
}
: null,
child: TextField( child: TextField(
decoration: decoration:
textFieldSelectorDecoration( textFieldSelectorDecoration(
@ -309,8 +353,8 @@ class _UpdatePrescriptionFormState extends State<UpdatePrescriptionForm> {
child: InkWell( child: InkWell(
onTap: model.medicationRouteList != null onTap: model.medicationRouteList != null
? () { ? () {
Helpers.hideKeyboard(context); Helpers.hideKeyboard(context);
ListSelectDialog dialog = ListSelectDialog dialog =
ListSelectDialog( ListSelectDialog(
list: model.medicationRouteList, list: model.medicationRouteList,
attributeName: 'nameEn', attributeName: 'nameEn',
@ -330,7 +374,8 @@ class _UpdatePrescriptionFormState extends State<UpdatePrescriptionForm> {
showDialog( showDialog(
barrierDismissible: false, barrierDismissible: false,
context: context, context: context,
builder: (BuildContext context) { builder:
(BuildContext context) {
return dialog; return dialog;
}, },
); );
@ -354,13 +399,14 @@ class _UpdatePrescriptionFormState extends State<UpdatePrescriptionForm> {
height: MediaQuery.of(context).size.height * height: MediaQuery.of(context).size.height *
0.070, 0.070,
child: InkWell( child: InkWell(
onTap: model.medicationDoseTimeList != null onTap: model.medicationDoseTimeList !=
null
? () { ? () {
Helpers.hideKeyboard(context); Helpers.hideKeyboard(context);
ListSelectDialog dialog = ListSelectDialog dialog =
ListSelectDialog( ListSelectDialog(
list: list: model
model.medicationDoseTimeList, .medicationDoseTimeList,
attributeName: 'nameEn', attributeName: 'nameEn',
attributeValueId: 'id', attributeValueId: 'id',
okText: okText:
@ -375,7 +421,8 @@ class _UpdatePrescriptionFormState extends State<UpdatePrescriptionForm> {
showDialog( showDialog(
barrierDismissible: false, barrierDismissible: false,
context: context, context: context,
builder: (BuildContext context) { builder:
(BuildContext context) {
return dialog; return dialog;
}, },
); );
@ -383,7 +430,8 @@ class _UpdatePrescriptionFormState extends State<UpdatePrescriptionForm> {
: null, : null,
child: TextField( child: TextField(
decoration: textFieldSelectorDecoration( decoration: textFieldSelectorDecoration(
TranslationBase.of(context).doseTime, TranslationBase.of(context)
.doseTime,
doseTime != null doseTime != null
? doseTime['nameEn'] ? doseTime['nameEn']
: null, : null,
@ -399,13 +447,14 @@ class _UpdatePrescriptionFormState extends State<UpdatePrescriptionForm> {
height: MediaQuery.of(context).size.height * height: MediaQuery.of(context).size.height *
0.070, 0.070,
child: InkWell( child: InkWell(
onTap: model.medicationFrequencyList != null onTap: model.medicationFrequencyList !=
null
? () { ? () {
Helpers.hideKeyboard(context); Helpers.hideKeyboard(context);
ListSelectDialog dialog = ListSelectDialog dialog =
ListSelectDialog( ListSelectDialog(
list: list: model
model.medicationFrequencyList, .medicationFrequencyList,
attributeName: 'nameEn', attributeName: 'nameEn',
attributeValueId: 'id', attributeValueId: 'id',
okText: okText:
@ -421,7 +470,8 @@ class _UpdatePrescriptionFormState extends State<UpdatePrescriptionForm> {
showDialog( showDialog(
barrierDismissible: false, barrierDismissible: false,
context: context, context: context,
builder: (BuildContext context) { builder:
(BuildContext context) {
return dialog; return dialog;
}, },
); );
@ -429,7 +479,8 @@ class _UpdatePrescriptionFormState extends State<UpdatePrescriptionForm> {
: null, : null,
child: TextField( child: TextField(
decoration: textFieldSelectorDecoration( decoration: textFieldSelectorDecoration(
TranslationBase.of(context).frequency, TranslationBase.of(context)
.frequency,
frequencyUpdate != null frequencyUpdate != null
? frequencyUpdate['nameEn'] ? frequencyUpdate['nameEn']
: null, : null,
@ -445,13 +496,14 @@ class _UpdatePrescriptionFormState extends State<UpdatePrescriptionForm> {
height: MediaQuery.of(context).size.height * height: MediaQuery.of(context).size.height *
0.070, 0.070,
child: InkWell( child: InkWell(
onTap: model.medicationDurationList != null onTap: model.medicationDurationList !=
null
? () { ? () {
Helpers.hideKeyboard(context); Helpers.hideKeyboard(context);
ListSelectDialog dialog = ListSelectDialog dialog =
ListSelectDialog( ListSelectDialog(
list: list: model
model.medicationDurationList, .medicationDurationList,
attributeName: 'nameEn', attributeName: 'nameEn',
attributeValueId: 'id', attributeValueId: 'id',
okText: okText:
@ -467,7 +519,8 @@ class _UpdatePrescriptionFormState extends State<UpdatePrescriptionForm> {
showDialog( showDialog(
barrierDismissible: false, barrierDismissible: false,
context: context, context: context,
builder: (BuildContext context) { builder:
(BuildContext context) {
return dialog; return dialog;
}, },
); );
@ -475,7 +528,8 @@ class _UpdatePrescriptionFormState extends State<UpdatePrescriptionForm> {
: null, : null,
child: TextField( child: TextField(
decoration: textFieldSelectorDecoration( decoration: textFieldSelectorDecoration(
TranslationBase.of(context).duration, TranslationBase.of(context)
.duration,
updatedDuration != null updatedDuration != null
? updatedDuration['nameEn'] ? updatedDuration['nameEn']
.toString() .toString()
@ -488,6 +542,100 @@ class _UpdatePrescriptionFormState extends State<UpdatePrescriptionForm> {
SizedBox( SizedBox(
height: 12.0, height: 12.0,
), ),
Container(
height: screenSize.height * 0.070,
width: double.infinity,
child: Row(
children: [
Container(
width: MediaQuery.of(context)
.size
.width *
0.29,
child: InkWell(
onTap: indicationList != null
? () {
Helpers.hideKeyboard(
context);
}
: null,
child: TextField(
decoration:
textFieldSelectorDecoration(
model
.patientAssessmentList[
0]
.icdCode10ID
.toString(),
indication != null
? indication['name']
: null,
true),
enabled: true,
readOnly: true,
),
),
),
Container(
width: MediaQuery.of(context)
.size
.width *
0.61,
child: InkWell(
onTap: indicationList != null
? () {
Helpers.hideKeyboard(
context);
}
: null,
child: TextField(
maxLines: 3,
decoration:
textFieldSelectorDecoration(
model
.patientAssessmentList[
0]
.asciiDesc
.toString(),
indication != null
? indication['name']
: null,
true),
enabled: true,
readOnly: true,
),
),
),
],
),
),
SizedBox(
height: 12.0,
),
Container(
height: screenSize.height * 0.070,
child: InkWell(
onTap: () =>
selectDate(context, widget.model),
child: TextField(
decoration:
Helpers.textFieldSelectorDecoration(
widget.startDate,
selectedDate != null
? "${DateUtils.convertStringToDateFormat(selectedDate.toString(), "yyyy-MM-dd")}"
: null,
true,
suffixIcon: Icon(
Icons.calendar_today,
color: Colors.black,
)),
enabled: false,
),
),
),
SizedBox(
height: 12.0,
),
Container( Container(
decoration: BoxDecoration( decoration: BoxDecoration(
borderRadius: BorderRadius.all( borderRadius: BorderRadius.all(
@ -503,11 +651,11 @@ class _UpdatePrescriptionFormState extends State<UpdatePrescriptionForm> {
), ),
), ),
SizedBox( SizedBox(
height: 12.0, height: 10.0,
), ),
SizedBox( SizedBox(
height: height: MediaQuery.of(context).size.height *
MediaQuery.of(context).size.height * 0.12, 0.08,
), ),
Container( Container(
margin: EdgeInsets.all( margin: EdgeInsets.all(
@ -516,19 +664,22 @@ class _UpdatePrescriptionFormState extends State<UpdatePrescriptionForm> {
alignment: WrapAlignment.center, alignment: WrapAlignment.center,
children: <Widget>[ children: <Widget>[
AppButton( AppButton(
title: title: 'update prescription'
'update prescription'.toUpperCase(), .toUpperCase(),
onPressed: () { onPressed: () {
updatePrescription( updatePrescription(
newStartDate: selectedDate,
newDoseStreangth: newDoseStreangth:
strengthController strengthController
.text.isNotEmpty .text.isNotEmpty
? strengthController.text ? strengthController
.text
: widget.doseStreangth, : widget.doseStreangth,
newUnit: units != newUnit:
null units !=
? units['id'].toString() null
: widget.doseUnit, ? units['id'].toString()
: widget.doseUnit,
doseUnit: widget.doseUnit, doseUnit: widget.doseUnit,
doseStreangth: widget doseStreangth: widget
.doseStreangth, .doseStreangth,
@ -582,6 +733,24 @@ class _UpdatePrescriptionFormState extends State<UpdatePrescriptionForm> {
}); });
} }
selectDate(BuildContext context, PrescriptionViewModel model) async {
Helpers.hideKeyboard(context);
DateTime selectedDate;
selectedDate = DateTime.now();
final DateTime picked = await showDatePicker(
context: context,
initialDate: selectedDate,
firstDate: DateTime.now(),
lastDate: DateTime(2040),
initialEntryMode: DatePickerEntryMode.calendar,
);
if (picked != null && picked != selectedDate) {
setState(() {
this.selectedDate = picked;
});
}
}
InputDecoration textFieldSelectorDecoration( InputDecoration textFieldSelectorDecoration(
String hintText, String selectedText, bool isDropDown, String hintText, String selectedText, bool isDropDown,
{Icon suffixIcon}) { {Icon suffixIcon}) {
@ -626,6 +795,7 @@ class _UpdatePrescriptionFormState extends State<UpdatePrescriptionForm> {
String route, String route,
String routeId, String routeId,
String startDate, String startDate,
DateTime newStartDate,
String doseUnit, String doseUnit,
String doseStreangth, String doseStreangth,
String newDoseStreangth, String newDoseStreangth,
@ -664,7 +834,8 @@ class _UpdatePrescriptionFormState extends State<UpdatePrescriptionForm> {
duration: newDuration.isNotEmpty duration: newDuration.isNotEmpty
? int.parse(newDuration) ? int.parse(newDuration)
: int.parse(duration), : int.parse(duration),
doseStartDate: startDate)); doseStartDate:
newStartDate != null ? newStartDate.toIso8601String() : startDate));
updatePrescriptionReqModel.prescriptionRequestModel = sss; updatePrescriptionReqModel.prescriptionRequestModel = sss;
//postProcedureReqModel.procedures = controlsProcedure; //postProcedureReqModel.procedures = controlsProcedure;

Loading…
Cancel
Save