You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
RSGDoctorApp/lib/widgets/patients/profile/prescription_out_patinets_w...

140 lines
5.9 KiB
Dart

import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:doctor_app_flutter/models/patient/prescription/prescription_res_model.dart';
import 'package:doctor_app_flutter/screens/patients/out_patient_prescription_details_screen.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/medication.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/card_with_bgNew_widget.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:hexcolor/hexcolor.dart';
import 'large_avatar.dart';
class PrescriptionOutPatientWidget extends StatelessWidget {
final List<PrescriptionResModel> patientPrescriptionsList;
PrescriptionOutPatientWidget({Key key, this.patientPrescriptionsList});
@override
Widget build(BuildContext context) {
return Container(
child: patientPrescriptionsList.length == 0
? Center(
child: SingleChildScrollView(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Container(
padding: EdgeInsets.all(40),
decoration: BoxDecoration(
border:
Border.all(color: HexColor('#B8382C'), width: 4),
borderRadius: BorderRadius.all(Radius.circular(100))),
child: IconButton(
icon: Icon(
Icons.add,
size: 35,
),
onPressed: () {
openAddPrescription(context);
}),
),
Padding(
child: AppText(
TranslationBase.of(context).noPrescription,
fontWeight: FontWeight.bold,
),
padding: EdgeInsets.all(10),
),
AppText(
TranslationBase.of(context).applyNow,
fontWeight: FontWeight.bold,
color: HexColor('#B8382C'),
)
],
),
))
: Container(
margin: EdgeInsets.fromLTRB(SizeConfig.realScreenWidth * 0.05, 0,
SizeConfig.realScreenWidth * 0.05, 0),
child: ListView.builder(
itemCount: patientPrescriptionsList.length,
itemBuilder: (BuildContext context, int index) {
return InkWell(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) =>
OutPatientPrescriptionDetailsScreen(
prescriptionResModel:
patientPrescriptionsList[index],
),
settings: RouteSettings(name: 'OutPatientPrescriptionDetailsScreen')
),
);
},
child: CardWithBgWidgetNew(
widget: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Row(
children: <Widget>[
LargeAvatar(
url: patientPrescriptionsList[index]
.doctorImageURL,
name: patientPrescriptionsList[index]
.doctorName,
radius: 10,
width: 70,
),
Expanded(
child: Container(
margin:
EdgeInsets.only(left: 15, right: 15),
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: <Widget>[
AppText(
'${patientPrescriptionsList[index].name}',
fontSize:
2.5 * SizeConfig.textMultiplier,
),
SizedBox(
height: 8,
),
AppText(
'${patientPrescriptionsList[index].clinicDescription}',
fontSize:
2.5 * SizeConfig.textMultiplier,
color:
Theme.of(context).primaryColor),
SizedBox(
height: 8,
),
],
),
),
)
],
),
],
),
));
},
),
),
);
}
openAddPrescription(BuildContext context) {
showModalBottomSheet(
context: context,
builder: (context) {
return MedicationDetails();
});
}
}