Merge branch 'feature-ucaf' into 'development'

Feature ucaf

See merge request Cloud_Solution/doctor_app_flutter!288
merge-requests/289/merge
Mohammad Aljammal 5 years ago
commit c078a1a5e1

@ -191,6 +191,8 @@ const SEARCH_DRUG = 'Services/DoctorApplication.svc/REST/GetMedicationList';
const DRUG_TO_DRUG = const DRUG_TO_DRUG =
'Services/DoctorApplication.svc/REST/DrugToDrugInteraction'; 'Services/DoctorApplication.svc/REST/DrugToDrugInteraction';
const GET_MEDICAL_FILE = 'Services/DoctorApplication.svc/REST/GetMedicalFile'; const GET_MEDICAL_FILE = 'Services/DoctorApplication.svc/REST/GetMedicalFile';
const GET_WARDS = 'Services/DoctorApplication.svc/REST/GetWards';
const GET_DIAGNOSIS_TYPES = 'Services/DoctorApplication.svc/REST/DiagnosisTypes';
var selectedPatientType = 1; var selectedPatientType = 1;

@ -12,7 +12,8 @@ enum MasterKeysService {
DiagnosisType, DiagnosisType,
ICD10, ICD10,
TemperatureMethods, TemperatureMethods,
Speciality Speciality,
AdmissionRequestType,
} }
extension SelectedMasterKeysService on MasterKeysService { extension SelectedMasterKeysService on MasterKeysService {
@ -57,6 +58,8 @@ extension SelectedMasterKeysService on MasterKeysService {
return 2005; return 2005;
case MasterKeysService.Speciality: case MasterKeysService.Speciality:
return 10; return 10;
case MasterKeysService.AdmissionRequestType:
return 2019;
break; break;
} }
} }

@ -0,0 +1,26 @@
class WardModel{
String description;
String descriptionN;
int floorID;
bool isActive;
WardModel(
{this.description, this.descriptionN, this.floorID, this.isActive});
WardModel.fromJson(Map<String, dynamic> json) {
description = json['description'];
descriptionN = json['descriptionN'];
floorID = json['floorID'];
isActive = json['isActive'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['description'] = this.description;
data['descriptionN'] = this.descriptionN;
data['floorID'] = this.floorID;
data['isActive'] = this.isActive;
return data;
}
}

@ -37,6 +37,7 @@ class LookupService extends BaseService {
List<MasterKeyModel> listOfICD10 = []; List<MasterKeyModel> listOfICD10 = [];
List<MasterKeyModel> listOfTemperatureMethods = []; List<MasterKeyModel> listOfTemperatureMethods = [];
List<MasterKeyModel> listOfSpeciality = []; List<MasterKeyModel> listOfSpeciality = [];
List<dynamic> listOfAdmissionType = [];
Future getMasterLookup(MasterKeysService masterKeys) async { Future getMasterLookup(MasterKeysService masterKeys) async {
hasError = false; hasError = false;
@ -145,6 +146,13 @@ class LookupService extends BaseService {
.add(MasterKeyModel.fromJson(v)); .add(MasterKeyModel.fromJson(v));
}); });
break; break;
case MasterKeysService.AdmissionRequestType:
listOfAdmissionType.clear();
entryList.forEach((v) {
// listOfAdmissionType.add(MasterKeyModel.fromJson(v));
listOfAdmissionType.add(v);
});
break;
} }
} }

@ -1,9 +1,14 @@
import 'package:doctor_app_flutter/config/config.dart'; import 'package:doctor_app_flutter/config/config.dart';
import 'package:doctor_app_flutter/core/model/admissionRequest/ward-model.dart';
import 'package:doctor_app_flutter/core/service/base/lookup-service.dart'; import 'package:doctor_app_flutter/core/service/base/lookup-service.dart';
import 'package:doctor_app_flutter/models/SOAP/master_key_model.dart';
class AdmissionRequestService extends LookupService { class AdmissionRequestService extends LookupService {
List<dynamic> doctorsList = []; List<dynamic> doctorsList = [];
List<dynamic> specialityList = []; List<dynamic> specialityList = [];
List<dynamic> wardList = [];
List<dynamic> diagnosisTypesList = [];
List<dynamic> allergiesLookupList = [];
setSpecialityList() { setSpecialityList() {
specialityList.clear(); specialityList.clear();
@ -12,6 +17,13 @@ class AdmissionRequestService extends LookupService {
}); });
} }
setAllergies() {
allergiesLookupList.clear();
allergiesList.forEach((element) {
allergiesLookupList.add(element.toJson());
});
}
Future getDoctorsList() async { Future getDoctorsList() async {
hasError = false; hasError = false;
@ -28,4 +40,50 @@ class AdmissionRequestService extends LookupService {
body: Map(), body: Map(),
); );
} }
Future getWardList() async {
hasError = false;
await baseAppClient.post(
GET_WARDS,
onSuccess: (dynamic response, int statusCode) {
wardList.clear();
if (response['AdmissionMasterList'] != null &&
response['AdmissionMasterList']['entityList'] != null) {
response['AdmissionMasterList']['entityList'].forEach((v) {
// wardList.add(WardModel.fromJson(v));
wardList.add(v);
});
}
},
onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
},
body: Map(),
);
}
Future getDiagnosisTypesList() async {
hasError = false;
await baseAppClient.post(
GET_DIAGNOSIS_TYPES,
onSuccess: (dynamic response, int statusCode) {
diagnosisTypesList.clear();
if (response['AdmissionDiagnosisList'] != null &&
response['AdmissionDiagnosisList']['entityList'] != null) {
response['AdmissionDiagnosisList']['entityList'].forEach((v) {
// diagnosisTypesList.add(MasterKeyModel.fromJson(v));
diagnosisTypesList.add(v);
});
}
},
onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
},
body: Map(),
);
}
} }

@ -1,6 +1,7 @@
import 'package:doctor_app_flutter/config/shared_pref_kay.dart'; import 'package:doctor_app_flutter/config/shared_pref_kay.dart';
import 'package:doctor_app_flutter/core/enum/master_lookup_key.dart'; import 'package:doctor_app_flutter/core/enum/master_lookup_key.dart';
import 'package:doctor_app_flutter/core/enum/viewstate.dart'; import 'package:doctor_app_flutter/core/enum/viewstate.dart';
import 'package:doctor_app_flutter/core/model/admissionRequest/ward-model.dart';
import 'package:doctor_app_flutter/core/service/patient-admission-request-service.dart'; import 'package:doctor_app_flutter/core/service/patient-admission-request-service.dart';
import 'package:doctor_app_flutter/core/viewModel/base_view_model.dart'; import 'package:doctor_app_flutter/core/viewModel/base_view_model.dart';
import 'package:doctor_app_flutter/models/SOAP/master_key_model.dart'; import 'package:doctor_app_flutter/models/SOAP/master_key_model.dart';
@ -15,20 +16,24 @@ class AdmissionRequestViewModel extends BaseViewModel{
List<dynamic> get speciality => _admissionRequestService.specialityList; List<dynamic> get speciality => _admissionRequestService.specialityList;
List<dynamic> get wardList => _admissionRequestService.wardList;
List<dynamic> get admissionTypeList => _admissionRequestService.listOfAdmissionType;
List<dynamic> get diagnosisTypesList => _admissionRequestService.diagnosisTypesList;
List<dynamic> get allergiesList => _admissionRequestService.allergiesLookupList;
String selectedLanguage; String selectedLanguage;
Future getLanguage() async { Future getLanguage() async {
selectedLanguage = await sharedPref.getString(APP_Language); selectedLanguage = await sharedPref.getString(APP_Language);
} }
Future getMasterLookup() async { Future getSpecialityList() async {
setState(ViewState.Busy);
await getLanguage(); await getLanguage();
await _admissionRequestService.getMasterLookup(MasterKeysService.Speciality); await getMasterLookup(MasterKeysService.Speciality);
if (_admissionRequestService.hasError) { if (!_admissionRequestService.hasError) {
error = _admissionRequestService.error;
setState(ViewState.Error);
} else {
_admissionRequestService.setSpecialityList(); _admissionRequestService.setSpecialityList();
await getClinicDoctors(); await getClinicDoctors();
} }
@ -43,4 +48,42 @@ class AdmissionRequestViewModel extends BaseViewModel{
} else } else
setState(ViewState.Idle); setState(ViewState.Idle);
} }
Future getWards() async {
setState(ViewState.Busy);
await _admissionRequestService.getWardList();
if (_admissionRequestService.hasError) {
error = _admissionRequestService.error;
setState(ViewState.ErrorLocal);
} else
setState(ViewState.Idle);
}
Future getDiagnosis() async {
setState(ViewState.Busy);
await _admissionRequestService.getDiagnosisTypesList();
if (_admissionRequestService.hasError) {
error = _admissionRequestService.error;
setState(ViewState.ErrorLocal);
} else
setState(ViewState.Idle);
}
Future getAllergies() async {
await getMasterLookup(MasterKeysService.Allergies);
if (!_admissionRequestService.hasError) {
_admissionRequestService.setAllergies();
}
}
Future getMasterLookup(MasterKeysService keysService) async {
setState(ViewState.Busy);
await _admissionRequestService.getMasterLookup(keysService);
if (_admissionRequestService.hasError) {
error = _admissionRequestService.error;
setState(ViewState.ErrorLocal);
} else {
setState(ViewState.Idle);
}
}
} }

@ -301,7 +301,7 @@ class DiagnosisWidget extends StatelessWidget {
fontSize: SizeConfig.textMultiplier * 2.0, fontSize: SizeConfig.textMultiplier * 2.0,
), ),
AppText( AppText(
"${diagnosis.icdCode10ID}}", "${diagnosis.icdCode10ID}",
fontWeight: FontWeight.normal, fontWeight: FontWeight.normal,
fontSize: SizeConfig.textMultiplier * 2.0, fontSize: SizeConfig.textMultiplier * 2.0,
), ),

@ -222,19 +222,19 @@ class _UCAFInputScreenState extends State<UCAFInputScreen> {
), ),
Container( Container(
child: TextField( child: TextField(
decoration: Helpers.textFieldSelectorDecoration( decoration: Helpers.textFieldSelectorDecoration(
TranslationBase.of(context) TranslationBase.of(context)
.additionalTextComplaints, .additionalTextComplaints,
helpers.parseHtmlString(model helpers.parseHtmlString(model
.patientChiefComplaintList[0] .patientChiefComplaintList[0]
.chiefComplaint), .chiefComplaint),
false), false),
enabled: false, enabled: false,
controller: _additionalComplaintsController, controller: _additionalComplaintsController,
keyboardType: TextInputType.text, keyboardType: TextInputType.multiline,
/*minLines: 4, minLines: 1,
maxLines: 6,*/ maxLines: 15,
)), )),
SizedBox( SizedBox(
height: 16, height: 16,
), ),
@ -363,7 +363,9 @@ class _UCAFInputScreenState extends State<UCAFInputScreen> {
false), false),
enabled: true, enabled: true,
controller: _signsController, controller: _signsController,
keyboardType: TextInputType.text, keyboardType: TextInputType.multiline,
minLines: null,
maxLines: null,
)), )),
SizedBox( SizedBox(
height: 16, height: 16,

@ -14,7 +14,6 @@ import 'package:flutter/material.dart';
import 'package:hexcolor/hexcolor.dart'; import 'package:hexcolor/hexcolor.dart';
import '../../../../routes.dart'; import '../../../../routes.dart';
import 'admission-request_second-screen.dart';
class AdmissionRequestDetailScreen extends StatefulWidget { class AdmissionRequestDetailScreen extends StatefulWidget {
@override @override
@ -35,7 +34,7 @@ class _AdmissionRequestDetailScreenState
final screenSize = MediaQuery.of(context).size; final screenSize = MediaQuery.of(context).size;
return BaseView<AdmissionRequestViewModel>( return BaseView<AdmissionRequestViewModel>(
onModelReady: (model) => model.getMasterLookup(), onModelReady: (model) => model.getSpecialityList(),
builder: (_, model, w) => AppScaffold( builder: (_, model, w) => AppScaffold(
baseViewModel: model, baseViewModel: model,
appBarTitle: TranslationBase.of(context).admissionRequest, appBarTitle: TranslationBase.of(context).admissionRequest,
@ -178,6 +177,10 @@ class _AdmissionRequestDetailScreenState
list: model.doctorsList, list: model.doctorsList,
attributeName: 'DoctorName', attributeName: 'DoctorName',
attributeValueId: 'DoctorID', attributeValueId: 'DoctorID',
usingSearch: true,
hintSearchText:
TranslationBase.of(context)
.doctorSearch,
okText: okText:
TranslationBase.of(context) TranslationBase.of(context)
.ok, .ok,

@ -1,18 +1,24 @@
import 'package:doctor_app_flutter/config/config.dart'; import 'package:doctor_app_flutter/config/config.dart';
import 'package:doctor_app_flutter/config/size_config.dart'; import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:doctor_app_flutter/core/enum/master_lookup_key.dart';
import 'package:doctor_app_flutter/core/enum/viewstate.dart';
import 'package:doctor_app_flutter/core/viewModel/patient-admission-request-viewmodel.dart'; import 'package:doctor_app_flutter/core/viewModel/patient-admission-request-viewmodel.dart';
import 'package:doctor_app_flutter/core/viewModel/project_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/date-utils.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';
import 'package:doctor_app_flutter/widgets/patients/profile/patient-page-header-widget.dart'; import 'package:doctor_app_flutter/widgets/patients/profile/patient-page-header-widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_buttons_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_buttons_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.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/app_texts_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/dialogs/dailog-list-select.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:hexcolor/hexcolor.dart'; import 'package:hexcolor/hexcolor.dart';
import 'package:provider/provider.dart';
import '../../../../routes.dart'; import '../../../../routes.dart';
@ -33,15 +39,17 @@ class _AdmissionRequestSecondScreenState
bool _preAnesthesiaReferred = false; bool _preAnesthesiaReferred = false;
dynamic _selectedWard; dynamic _selectedWard;
dynamic _selectedAdmissionType; dynamic _selectedAdmissionType;
dynamic _selectedDiagnosis;
dynamic _selectedAllergies;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final routeArgs = ModalRoute.of(context).settings.arguments as Map; final routeArgs = ModalRoute.of(context).settings.arguments as Map;
PatiantInformtion patient = routeArgs['patient']; PatiantInformtion patient = routeArgs['patient'];
final screenSize = MediaQuery.of(context).size; final screenSize = MediaQuery.of(context).size;
ProjectViewModel projectViewModel = Provider.of(context);
return BaseView<AdmissionRequestViewModel>( return BaseView<AdmissionRequestViewModel>(
// onModelReady: (model) => model.getMasterLookup(),
builder: (_, model, w) => AppScaffold( builder: (_, model, w) => AppScaffold(
baseViewModel: model, baseViewModel: model,
appBarTitle: TranslationBase.of(context).admissionRequest, appBarTitle: TranslationBase.of(context).admissionRequest,
@ -179,40 +187,44 @@ class _AdmissionRequestSecondScreenState
Container( Container(
height: screenSize.height * 0.070, height: screenSize.height * 0.070,
child: InkWell( child: InkWell(
onTap: onTap: model.wardList != null &&
/*model.doctorsList != null && model.wardList.length > 0
model.doctorsList.length > 0
? () { ? () {
ListSelectDialog dialog = openListDialogField('description',
ListSelectDialog( 'description', model.wardList,
list: model.doctorsList, (selectedValue) {
attributeName: 'DoctorName', setState(() {
attributeValueId: 'DoctorID', _selectedWard = selectedValue;
okText: TranslationBase.of(context).ok, });
okFunction: (selectedValue) { });
setState(() { }
_selectedDoctor = selectedValue; : () async {
}); await model.getWards();
}, if (model.state == ViewState.Idle &&
); model.wardList.length > 0) {
showDialog( openListDialogField('description',
barrierDismissible: false, 'description', model.wardList,
context: context, (selectedValue) {
builder: (BuildContext context) { setState(() {
return dialog; _selectedWard = selectedValue;
}, });
); });
} } else if (model.state ==
:*/ ViewState.ErrorLocal) {
null, DrAppToastMsg.showErrorToast(
model.error);
} else {
DrAppToastMsg.showErrorToast(
"Empty List");
}
},
child: TextField( child: TextField(
decoration: decoration:
Helpers.textFieldSelectorDecoration( Helpers.textFieldSelectorDecoration(
TranslationBase.of(context).ward, TranslationBase.of(context).ward,
/* _selectedWard != null _selectedWard != null
? _selectedWard['DoctorName'] ? _selectedWard['description']
:*/ : null,
null,
true), true),
enabled: false, enabled: false,
), ),
@ -238,41 +250,51 @@ class _AdmissionRequestSecondScreenState
Container( Container(
height: screenSize.height * 0.070, height: screenSize.height * 0.070,
child: InkWell( child: InkWell(
onTap: onTap: model.admissionTypeList != null &&
/*model.doctorsList != null && model.admissionTypeList.length > 0
model.doctorsList.length > 0
? () { ? () {
ListSelectDialog dialog = openListDialogField('nameEn', 'id',
ListSelectDialog( model.admissionTypeList,
list: model.doctorsList, (selectedValue) {
attributeName: 'DoctorName', setState(() {
attributeValueId: 'DoctorID', _selectedAdmissionType =
okText: TranslationBase.of(context).ok, selectedValue;
okFunction: (selectedValue) { });
setState(() { });
_selectedDoctor = selectedValue; }
}); : () async {
}, await model.getMasterLookup(
); MasterKeysService
showDialog( .AdmissionRequestType);
barrierDismissible: false, if (model.state == ViewState.Idle &&
context: context, model.admissionTypeList.length >
builder: (BuildContext context) { 0) {
return dialog; openListDialogField('nameEn',
}, 'id', model.admissionTypeList,
); (selectedValue) {
} setState(() {
:*/ _selectedAdmissionType =
null, selectedValue;
});
});
} else if (model.state ==
ViewState.ErrorLocal) {
DrAppToastMsg.showErrorToast(
model.error);
} else {
DrAppToastMsg.showErrorToast(
"Empty List");
}
},
child: TextField( child: TextField(
decoration: decoration:
Helpers.textFieldSelectorDecoration( Helpers.textFieldSelectorDecoration(
TranslationBase.of(context) TranslationBase.of(context)
.admissionType, .admissionType,
/* _admissionType != null _selectedAdmissionType != null
? _admissionType['DoctorName'] ? _selectedAdmissionType[
:*/ 'nameEn']
null, : null,
true), true),
enabled: false, enabled: false,
), ),
@ -284,41 +306,51 @@ class _AdmissionRequestSecondScreenState
Container( Container(
height: screenSize.height * 0.070, height: screenSize.height * 0.070,
child: InkWell( child: InkWell(
onTap: onTap: model.diagnosisTypesList != null &&
/*model.doctorsList != null && model.diagnosisTypesList.length > 0
model.doctorsList.length > 0
? () { ? () {
ListSelectDialog dialog = openListDialogField('nameEn', 'id',
ListSelectDialog( model.diagnosisTypesList,
list: model.doctorsList, (selectedValue) {
attributeName: 'DoctorName', setState(() {
attributeValueId: 'DoctorID', _selectedDiagnosis =
okText: TranslationBase.of(context).ok, selectedValue;
okFunction: (selectedValue) { });
setState(() { });
_selectedDoctor = selectedValue; }
}); : () async {
}, await model.getDiagnosis();
); if (model.state == ViewState.Idle &&
showDialog( model.diagnosisTypesList
barrierDismissible: false, .length >
context: context, 0) {
builder: (BuildContext context) { openListDialogField(
return dialog; 'nameEn',
}, 'id',
); model.diagnosisTypesList,
} (selectedValue) {
:*/ setState(() {
null, _selectedDiagnosis =
selectedValue;
});
});
} else if (model.state ==
ViewState.ErrorLocal) {
DrAppToastMsg.showErrorToast(
model.error);
} else {
DrAppToastMsg.showErrorToast(
"Empty List");
}
},
child: TextField( child: TextField(
decoration: decoration:
Helpers.textFieldSelectorDecoration( Helpers.textFieldSelectorDecoration(
TranslationBase.of(context) TranslationBase.of(context)
.diagnosis, .diagnosis,
/* _admissionType != null _selectedDiagnosis != null
? _admissionType['DoctorName'] ? _selectedDiagnosis['nameEn']
:*/ : null,
null,
true), true),
enabled: false, enabled: false,
), ),
@ -347,41 +379,48 @@ class _AdmissionRequestSecondScreenState
Container( Container(
height: screenSize.height * 0.070, height: screenSize.height * 0.070,
child: InkWell( child: InkWell(
onTap: onTap: model.allergiesList != null &&
/*model.doctorsList != null && model.allergiesList.length > 0
model.doctorsList.length > 0
? () { ? () {
ListSelectDialog dialog = openListDialogField('nameEn', 'id',
ListSelectDialog( model.allergiesList,
list: model.doctorsList, (selectedValue) {
attributeName: 'DoctorName', setState(() {
attributeValueId: 'DoctorID', _selectedAllergies =
okText: TranslationBase.of(context).ok, selectedValue;
okFunction: (selectedValue) { });
setState(() { });
_selectedDoctor = selectedValue; }
}); : () async {
}, await model.getAllergies();
); if (model.state == ViewState.Idle &&
showDialog( model.allergiesList.length >
barrierDismissible: false, 0) {
context: context, openListDialogField('nameEn',
builder: (BuildContext context) { 'id', model.allergiesList,
return dialog; (selectedValue) {
}, setState(() {
); _selectedAllergies =
} selectedValue;
:*/ });
null, });
} else if (model.state ==
ViewState.ErrorLocal) {
DrAppToastMsg.showErrorToast(
model.error);
} else {
DrAppToastMsg.showErrorToast(
"Empty List");
}
},
child: TextField( child: TextField(
decoration: decoration:
Helpers.textFieldSelectorDecoration( Helpers.textFieldSelectorDecoration(
TranslationBase.of(context) TranslationBase.of(context)
.allergies, .allergies,
/* _admissionType != null _selectedAllergies != null
? _admissionType['DoctorName'] ? _selectedAllergies['nameEn']
:*/ : null,
null,
true), true),
enabled: false, enabled: false,
), ),
@ -426,4 +465,59 @@ class _AdmissionRequestSecondScreenState
updateDate(picked); updateDate(picked);
} }
} }
void openListDialogField(String attributeName, String attributeValueId,
List<dynamic> list, Function(dynamic selectedValue) okFunction) {
ListSelectDialog dialog = ListSelectDialog(
list: list,
attributeName: attributeName,
attributeValueId: attributeValueId,
usingSearch: true,
okText: TranslationBase.of(context).ok,
okFunction: (selectedValue) {
okFunction(selectedValue);
},
);
showDialog(
barrierDismissible: false,
context: context,
builder: (BuildContext context) {
return dialog;
},
);
}
/*
onTap: model.wardList != null &&
model.wardList.length > 0
? () {
openListDialogField('description',
'description', model.wardList,
(selectedValue) {
setState(() {
_selectedWard = selectedValue;
});
});
}
: () async {
await model.getWards();
if (model.state == ViewState.Idle &&
model.wardList.length > 0) {
openListDialogField('description',
'description', model.wardList,
(selectedValue) {
setState(() {
_selectedWard = selectedValue;
});
});
} else if (model.state ==
ViewState.ErrorLocal) {
DrAppToastMsg.showErrorToast(
model.error);
} else {
DrAppToastMsg.showErrorToast(
"Empty List");
}
},
*/
} }

Loading…
Cancel
Save