import 'package:doctor_app_flutter/core/model/Prescriptions/prescription_in_patient.dart'; import 'package:doctor_app_flutter/core/viewModel/prescription_view_model.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/screens/base/base_view.dart'; import 'package:doctor_app_flutter/util/date-utils.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/widgets/patients/profile/patient-profile-header-new-design-app-bar.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:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; class PrescriptionItemsInPatientPage extends StatelessWidget { final PrescriotionInPatient prescriptions; final PatiantInformtion patient; final String patientType; final String arrivalType; final DateTime startOn; final DateTime stopOn; final int prescriptionIndex; PrescriptionItemsInPatientPage( {Key key, this.prescriptions, this.patient, this.patientType, this.arrivalType, this.stopOn, this.startOn, this.prescriptionIndex}); @override Widget build(BuildContext context) { ProjectViewModel projectViewModel = Provider.of(context); return BaseView( onModelReady: (model) async { if (model.inPatientPrescription.length == 0) { await model.getPrescriptionsInPatient(patient); } }, builder: (_, model, widget) => AppScaffold( isShowAppBar: true, backgroundColor: Colors.grey[100], baseViewModel: model, appBar: PatientProfileHeaderNewDesignAppBar( patient, patient.patientType.toString(), patient.arrivedOn), body: SingleChildScrollView( child: Container( child: Column( children: [ Container( decoration: BoxDecoration( borderRadius: BorderRadius.circular(12), color: Colors.white, ), margin: EdgeInsets.all(12), child: Padding( padding: const EdgeInsets.all(8.0), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Container( margin: EdgeInsets.only(left: 18, right: 18), child: AppText( model.inPatientPrescription[prescriptionIndex] .itemDescription, bold: true, ), ), SizedBox( height: 12, ), Row( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.center, children: [ SizedBox( width: 18, ), SizedBox( width: 10, ), Expanded( child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Row( children: [ AppText( TranslationBase.of(context).direction, color: Colors.grey, ), Expanded( child: AppText(" " + model .inPatientPrescription[ prescriptionIndex] .direction ?? '')), ], ), Row( children: [ AppText( TranslationBase.of(context).route, color: Colors.grey, ), AppText(" " + model .inPatientPrescription[ prescriptionIndex] .route .toString() ?? ''), ], ), Row( children: [ AppText( TranslationBase.of(context).refill, color: Colors.grey, ), Expanded( child: AppText(" " + model .inPatientPrescription[ prescriptionIndex] .refillType ?? '')), ], ), Row( children: [ AppText( TranslationBase.of(context).startDate, color: Colors.grey, ), Expanded( child: AppText( '${AppDateUtils.getDayMonthYearDateFormatted(startOn, isArabic: projectViewModel.isArabic)}', color: Colors.black, fontWeight: FontWeight.w600, fontSize: 14, ), ), ], ), Row( children: [ AppText( TranslationBase.of(context).stopDate, color: Colors.grey, ), Expanded( child: AppText( '${AppDateUtils.getDayMonthYearDateFormatted(stopOn, isArabic: projectViewModel.isArabic)}', color: Colors.black, fontWeight: FontWeight.w600, fontSize: 14, ), ), ], ), Row( children: [ AppText( 'UOM', color: Colors.grey, ), AppText(" " + model .inPatientPrescription[ prescriptionIndex] .unitofMeasurementDescription ?? ''), ], ), Row( children: [ AppText( TranslationBase.of(context).dailyDoses, color: Colors.grey, ), AppText(" " + model .inPatientPrescription[ prescriptionIndex] .dose .toString() ?? ''), ], ), Row( children: [ AppText( TranslationBase.of(context).status, color: Colors.grey, ), AppText(" " + model .inPatientPrescription[ prescriptionIndex] .statusDescription .toString() ?? ''), ], ), Row( children: [ AppText( TranslationBase.of(context).processed, color: Colors.grey, ), AppText(" " + model .inPatientPrescription[ prescriptionIndex] .processedBy ?? ''), ], ), Row( children: [ AppText( TranslationBase.of(context).dailyDoses, color: Colors.grey, ), AppText(" " + model .inPatientPrescription[ prescriptionIndex] .dose .toString() ?? ''), ], ), SizedBox( height: 12, ), AppText(model .inPatientPrescription[ prescriptionIndex] .comments ?? ''), ], ), ) ], ) ], ), ), ), ], ), ), ), ), ); } }