import 'package:doctor_app_flutter/config/size_config.dart'; import 'package:doctor_app_flutter/core/viewModel/patient_view_model.dart'; import 'package:doctor_app_flutter/core/viewModel/sick_leave_view_model.dart'; import 'package:doctor_app_flutter/icons_app/doctor_app_icons.dart'; import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart'; import 'package:doctor_app_flutter/models/sickleave/get_all_sickleave_response.dart'; import 'package:doctor_app_flutter/screens/base/base_view.dart'; import 'package:doctor_app_flutter/screens/sick-leave/sick_leave.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/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-profile-header-new-design.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/card_with_bgNew_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/rounded_container_widget.dart'; import 'package:doctor_app_flutter/widgets/transitions/fade_page.dart'; import 'package:flutter/material.dart'; import 'package:hexcolor/hexcolor.dart'; class AddSickLeavScreen extends StatelessWidget { PatiantInformtion patient; @override Widget build(BuildContext context) { final routeArgs = ModalRoute.of(context).settings.arguments as Map; patient = routeArgs['patient']; return BaseView( onModelReady: (model) => model.getSickLeave(patient.patientMRN), builder: (_, model, w) => AppScaffold( baseViewModel: model, isShowAppBar: false, appBarTitle: TranslationBase.of(context).sickleave, body: SingleChildScrollView( child: Column(children: [ PatientProfileHeaderNewDesign( patient, routeArgs['patientType'], routeArgs['arrivalType']), Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Padding( padding: EdgeInsets.all(10), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ AppText( TranslationBase.of(context).patient, fontWeight: FontWeight.bold, ), AppText( TranslationBase.of(context).sickLeave, fontSize: 24, fontWeight: FontWeight.bold, ), ], )), Container( width: SizeConfig.screenWidth, margin: EdgeInsets.only( left: 20, right: 20, top: 10, bottom: 10), padding: EdgeInsets.all(20), decoration: BoxDecoration( borderRadius: BorderRadius.circular(10), color: HexColor('#EAEAEA')), child: Column( mainAxisAlignment: MainAxisAlignment.start, children: [ Container( child: Container( decoration: BoxDecoration( color: Colors.grey, borderRadius: BorderRadius.circular(10)), padding: EdgeInsets.all(3), child: IconButton( icon: Icon( Icons.add, size: 35, color: Colors.white, ), onPressed: () { openSickLeave( context, false, ); }), )), Padding( child: AppText( TranslationBase.of(context).noSickLeaveApplied, fontWeight: FontWeight.bold, fontFamily: 'Poppins', fontSize: 16, textAlign: TextAlign.center, color: HexColor('#7E7E7E')), padding: EdgeInsets.all(10), ), ], )), ], ), model.getAllSIckLeave.length > 0 ? Column( children: model.getAllSIckLeave .map((GetAllSickLeaveResponse item) { return RoundedContainer( child: Column( children: [ Container( decoration: BoxDecoration( border: Border( left: BorderSide( color: item.status == 1 ? Colors.yellow[800] : item.status == 2 ? Colors.green : Colors.black, width: 5.0, ))), padding: EdgeInsets.all(10), child: Row( mainAxisAlignment: MainAxisAlignment.start, children: [ Expanded( flex: 4, child: Wrap( // mainAxisAlignment: // MainAxisAlignment.start, children: [ Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Container( padding: EdgeInsets.all(3), child: AppText( item.status == 1 ? TranslationBase.of( context) .hold : item.status == 2 ? TranslationBase.of( context) .active : TranslationBase.of( context) .all, fontWeight: FontWeight.bold, color: item.status == 1 ? Colors.yellow[800] : item.status == 2 ? Colors.green : Colors.black, ), ), Row( children: [ AppText(TranslationBase.of( context) .daysSickleave), AppText( item.noOfDays.toString(), fontWeight: FontWeight.bold, ), ], ), Row( children: [ AppText( TranslationBase.of(context) .startDate + ' ', ), Flexible( child: AppText( DateUtils .convertStringToDateFormat( item.startDate, 'dd-MMM-yyyy'), fontWeight: FontWeight.bold, )) ], ), Row( mainAxisAlignment: MainAxisAlignment .spaceBetween, children: [ AppText( item.remarks ?? "", ), (item.status == 1 || item.status == 2) ? IconButton( icon: Image.asset( 'assets/images/edit.png'), // color: Colors.green, //Colors.black, onPressed: () => { if (item.status == 1) { DrAppToastMsg.showErrorToast( TranslationBase.of( context) .sickleaveonhold) } else { openSickLeave( context, true, extendedData: item) } }, ) : SizedBox() ]), ], ), SizedBox( width: 20, ), ], ), ), ], )), ], )); }).toList(), ) : SizedBox() // : new Builder(builder: (context) { // return Column( // crossAxisAlignment: CrossAxisAlignment.start, // children: [ // Padding( // padding: EdgeInsets.all(10), // child: Column( // crossAxisAlignment: CrossAxisAlignment.start, // children: [ // AppText( // TranslationBase.of(context).patient, // fontWeight: FontWeight.bold, // ), // AppText( // TranslationBase.of(context).sickLeave, // fontSize: 24, // fontWeight: FontWeight.bold, // ), // ], // )), // Container( // width: SizeConfig.screenWidth, // margin: EdgeInsets.only( // left: 20, right: 20, top: 20, bottom: 20), // padding: EdgeInsets.all(20), // decoration: BoxDecoration( // borderRadius: BorderRadius.circular(10), // color: HexColor('#EAEAEA')), // child: Column( // mainAxisAlignment: MainAxisAlignment.start, // children: [ // Container( // child: Container( // decoration: BoxDecoration( // color: Colors.grey, // borderRadius: // BorderRadius.circular(10)), // padding: EdgeInsets.all(3), // child: IconButton( // icon: Icon( // Icons.add, // size: 35, // color: Colors.white, // ), // onPressed: () { // openSickLeave( // context, // false, // ); // }), // )), // Padding( // child: AppText( // TranslationBase.of(context) // .noSickLeaveApplied, // fontWeight: FontWeight.bold, // fontFamily: 'Poppins', // fontSize: 16, // textAlign: TextAlign.center, // color: HexColor('#7E7E7E')), // padding: EdgeInsets.all(10), // ), // ], // )), // SizedBox( // height: SizeConfig.screenHeight * .6, // ) // ], // ); // }), ])))); } openSickLeave(BuildContext context, isExtend, {GetAllSickLeaveResponse extendedData}) { // showModalBottomSheet( // context: context, // builder: (context) { // return new Container( // child: Navigator.push( context, FadePage( page: SickLeaveScreen( appointmentNo: isExtend == true ? extendedData.appointmentNo : patient.appointmentNo, //extendedData.appointmentNo, patientMRN: isExtend == true ? extendedData.patientMRN : patient.patientMRN, isExtended: isExtend, extendedData: extendedData, patient: patient))); } }