import 'package:doctor_app_flutter/core/enum/filter_type.dart'; import 'package:doctor_app_flutter/core/viewModel/prescriptions_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/screens/prescription/prescription_items_page.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.dart'; import 'package:doctor_app_flutter/widgets/shared/Text.dart'; import 'package:doctor_app_flutter/widgets/shared/app_expandable_notifier_new.dart'; import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/doctor_card.dart'; import 'package:doctor_app_flutter/widgets/transitions/fade_page.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; class PrescriptionsPage extends StatelessWidget { @override Widget build(BuildContext context) { final routeArgs = ModalRoute.of(context).settings.arguments as Map; PatiantInformtion patient = routeArgs['patient']; String patientType = routeArgs['patientType']; String arrivalType = routeArgs['arrivalType']; ProjectViewModel projectViewModel = Provider.of(context); return BaseView( onModelReady: (model) => model.getPrescriptions(patient), builder: (_, model, w) => AppScaffold( baseViewModel: model, isShowAppBar: false, body: FractionallySizedBox( widthFactor: 1.0, child: ListView( physics: BouncingScrollPhysics(), children: [ PatientProfileHeaderNewDesign(patient,arrivalType??'0',patientType), SizedBox(height: 12,), Padding( padding: const EdgeInsets.all(8.0), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Texts('Order',style: "caption2",color: Colors.black,fontSize: 13,), Texts('Prescriptions',bold: true,fontSize: 22,), ], ), ), if(patientType!=null && patientType=='7') InkWell( onTap: (){ //TODO Hussam call the add page here }, child: Container( width: double.maxFinite, height: 140, margin: EdgeInsets.all(10), decoration: BoxDecoration( color: Colors.grey[300], borderRadius: BorderRadius.circular(10), ), child: Center( child: Container( height: 90, child: Column( children: [ Container( height: 40, width: 40, decoration: BoxDecoration( color: Colors.grey[600], borderRadius: BorderRadius.circular(10), ), child: Center( child: Icon(Icons.add,color: Colors.white,), ), ), SizedBox(height: 10,), Texts('Apply for New Prescriptions Order',color: Colors.grey[600],fontWeight: FontWeight.w600,) ], ), ), ), ), ), ...List.generate(model.prescriptionsList.length, (index) => InkWell( onTap: () => Navigator.push( context, FadePage( page: PrescriptionItemsPage( prescriptions: model.prescriptionsList[index], patient: patient, ), ), ), child: DoctorCard( doctorName: model.prescriptionsList[index].doctorName, profileUrl: model.prescriptionsList[index].doctorImageURL, branch: model.prescriptionsList[index].name, appointmentDate: DateUtils.getDateTimeFromServerFormat(model.prescriptionsList[index].appointmentDate,), orderNo: model.prescriptionsList[index].appointmentNo.toString(), invoiceNO:model.prescriptionsList[index].appointmentNo.toString(), ) )) ], ), ), )); } }