import 'package:doctor_app_flutter/config/shared_pref_kay.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/model/prescription_model.dart'; import 'package:doctor_app_flutter/core/viewModel/SOAP_view_model.dart'; import 'package:doctor_app_flutter/core/viewModel/patient-vital-sign-viewmodel.dart'; import 'package:doctor_app_flutter/core/viewModel/patient_view_model.dart'; import 'package:doctor_app_flutter/core/viewModel/prescription_view_model.dart'; import 'package:doctor_app_flutter/models/SOAP/GeneralGetReqForSOAP.dart'; import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart'; import 'package:doctor_app_flutter/models/patient/vital_sign/vital_sign_req_model.dart'; import 'package:doctor_app_flutter/screens/base/base_view.dart'; import 'package:doctor_app_flutter/screens/medicine/medicine_search_screen.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/network_base_view.dart'; import 'package:flutter/material.dart'; class DrugToDrug extends StatefulWidget { final PatiantInformtion patient; final prescription; DrugToDrug(this.patient, this.prescription); @override _DrugToDrug createState() => _DrugToDrug(); } class _DrugToDrug extends State { int typeID = 1; bool isLoaded = false; List> expandableList = [ {'name': 'CRITICAL'}, {'name': 'HIGH'}, {'name': 'MODERATE'}, {'name': 'LOW'}, {'name': 'INFO'}, ]; GeneralGetReqForSOAP generalGetReqForSOAP = GeneralGetReqForSOAP( patientMRN: 2954208, //widget.patient.patientMRN, episodeId: 210011002, //widget.patient.episodeNo, appointmentNo: 2016055308, //widget.patient.appointmentNo, doctorID: '', editedBy: ''); VitalSignsViewModel model = new VitalSignsViewModel(); SOAPViewModel model2 = new SOAPViewModel(); @override void initState() { getTypeID(); getRequestedData(); super.initState(); } @override Widget build(BuildContext context) { return isLoaded == true ? BaseView( onModelReady: (model3) => model3.getDrugToDrug( model.patientVitalSigns, model2.listOfDiagnosisType, model2.patientAllergiesList, widget.patient, widget.prescription), builder: (BuildContext context, PrescriptionViewModel model3, Widget child) => NetworkBaseView( baseViewModel: model3, child: Container( height: SizeConfig.realScreenHeight * .4, child: new ListView.builder( itemCount: expandableList.length, itemBuilder: (context, i) { return new ExpansionTile( title: new Text( expandableList[i]['name'], style: new TextStyle( fontSize: 20.0, fontWeight: FontWeight.bold, fontStyle: FontStyle.italic), ), children: [Text('Hi')], ); })))) : Container( height: SizeConfig.realScreenHeight * .45, child: Center( child: CircularProgressIndicator( valueColor: AlwaysStoppedAnimation(Colors.black), ))); } getTypeID() async { var type = await sharedPref.getString(SLECTED_PATIENT_TYPE) == '0' ? 2 : 1; setState(() { typeID = type; }); } getRequestedData() async { await model.getPatientVitalSign(widget.patient); await model2.getPatientAllergy(generalGetReqForSOAP); await model2.getMasterLookup(MasterKeysService.DiagnosisType); if (model.state == ViewState.Idle && model2.state == ViewState.Idle) { setState(() { isLoaded = true; }); } } }