import 'package:diplomaticquarterapp/core/enum/viewstate.dart'; import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/get_hhc_all_pres_orders_response_model.dart'; import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/update_pres_oreder_request_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/AlHabibMedicalService/cmc_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; import 'package:diplomaticquarterapp/uitl/app_toast.dart'; import 'package:diplomaticquarterapp/uitl/date_uitl.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/utils.dart'; import 'package:diplomaticquarterapp/uitl/utils_new.dart'; import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'Dialog/confirm_cancel_order_dialog.dart'; class OrdersLogDetailsPage extends StatelessWidget { final CMCViewModel model; const OrdersLogDetailsPage({Key key, this.model}) : super(key: key); @override Widget build(BuildContext context) { ProjectViewModel projectViewModel = Provider.of(context); void showConfirmMessage(CMCViewModel model, GetHHCAllPresOrdersResponseModel order) { showDialog( context: context, child: ConfirmCancelOrderDialog( model: model, onTap: () async { UpdatePresOrderRequestModel updatePresOrderRequestModel = UpdatePresOrderRequestModel(presOrderID: order.iD, rejectionReason: "", presOrderStatus: 4, editedBy: 3); await model.updateCmcPresOrder(updatePresOrderRequestModel); if (model.state == ViewState.ErrorLocal) { Utils.showErrorToast(model.error); } else { AppToast.showSuccessToast(message: TranslationBase.of(context).processDoneSuccessfully); await model.getCmcAllPresOrders(); } }, )); } return AppScaffold( isShowAppBar: false, baseViewModel: model, body: // ListView.separated( // physics: BouncingScrollPhysics(), // padding: EdgeInsets.all(21), // separatorBuilder: (context, index) { // return SizedBox(height: 12); // }, // itemBuilder: (context, index) { // int status = model.cmcAllPresOrders[index].status; // String _statusDisp = projectViewModel.isArabic ? model.cmcAllPresOrders[index].descriptionN : model.cmcAllPresOrders[index].description; // Color _color; // if (status == 1) { // //pending // _color = Color(0xffCC9B14); // } else if (status == 2) { // //processing // _color = Color(0xff2E303A); // } else if (status == 3) { // //completed // _color = Color(0xff359846); // } else if (status == 4) { // //cancel // Rejected // _color = Color(0xffD02127); // } // // return InkWell( // // onTap: () => Navigator.push( // // context, // // FadePage( // // page: PrescriptionsHistoryDetailsPage( // // prescriptionsOrder: prescriptionsViewModel.prescriptionsHistory[index], // // ), // // ), // // ), // child: Container( // height: 65, // decoration: BoxDecoration( // color: Colors.white, // borderRadius: BorderRadius.all( // Radius.circular(10.0), // ), // boxShadow: [ // BoxShadow( // color: Color(0xff000000).withOpacity(.05), // blurRadius: 27, // offset: Offset(0, -3), // ), // ], // ), // child: Row( // mainAxisSize: MainAxisSize.min, // children: [ // Container( // width: 6, // decoration: BoxDecoration( // color: _color, // borderRadius: BorderRadius.only( // topLeft: projectViewModel.isArabic ? Radius.circular(0.0) : Radius.circular(10.0), // bottomLeft: projectViewModel.isArabic ? Radius.circular(0.0) : Radius.circular(10.0), // topRight: projectViewModel.isArabic ? Radius.circular(10.0) : Radius.circular(0.0), // bottomRight: projectViewModel.isArabic ? Radius.circular(10.0) : Radius.circular(0.0), // ), // ), // ), // Expanded( // child: Padding( // padding: EdgeInsets.only(left: projectViewModel.isArabic ? 6 : 12, right: projectViewModel.isArabic ? 12 : 6), // child: Row( // crossAxisAlignment: CrossAxisAlignment.start, // mainAxisSize: MainAxisSize.min, // children: [ // Expanded( // child: Column( // mainAxisSize: MainAxisSize.min, // crossAxisAlignment: CrossAxisAlignment.start, // children: [ // Text( // _statusDisp, // style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: _color, letterSpacing: -0.4, height: 16 / 10), // ), // Text( // '${TranslationBase.of(context).orderNo}. ${model.cmcAllPresOrders[index].iD}', // style: TextStyle(fontSize: 16, fontWeight: FontWeight.w600, color: Color(0xff2E303A), letterSpacing: -0.64, height: 25 / 16), // ), // ], // ), // ), // Column( // mainAxisSize: MainAxisSize.min, // crossAxisAlignment: CrossAxisAlignment.end, // children: [ // Text( // DateUtil.formatDateToDate(DateUtil.convertStringToDate(model.cmcAllPresOrders[index].createdOn), projectViewModel.isArabic), // style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.4, height: 16 / 10), // ), // Text( // DateUtil.formatDateToTime(DateUtil.convertStringToDate(model.cmcAllPresOrders[index].createdOn)), // style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: Color(0xff575757), letterSpacing: -0.4, height: 16 / 10), // ), // ], // ) // ], // ), // ), // ), // Icon( // Icons.arrow_forward_ios, // size: 16, // ), // mWidth(6), // ], // ), // )); // }, // itemCount: model.cmcAllPresOrders.length, // ), SingleChildScrollView( physics: ScrollPhysics(), child: Container( margin: EdgeInsets.all(10), child: Center( child: FractionallySizedBox( widthFactor: 0.94, child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Column( crossAxisAlignment: CrossAxisAlignment.start, children: model.cmcAllPresOrders.map((order) { return Container( // margin: EdgeInsets.all(10), child: Container( width: double.infinity, padding: EdgeInsets.only(left: 12, right: 12, top: 12), child: Card( shape: cardRadius(12), elevation: 2, margin: EdgeInsets.zero, color: order.status == 4 ? Colors.red[900] : order.status == 3 ? Colors.green[400] : Color(0xffcd9e1b), clipBehavior: Clip.antiAlias, child: Container( // decoration: containerColorRadiusLeft(Colors.white, 12), margin: EdgeInsets.only(left: projectViewModel.isArabic ? 0 : 8, right: projectViewModel.isArabic ? 8 : 0), padding: EdgeInsets.all(12), // color: Colors.white, decoration: BoxDecoration( shape: BoxShape.rectangle, color: Colors.white, borderRadius: BorderRadius.only( topLeft: projectViewModel.isArabic ? Radius.zero : Radius.circular(12.0), topRight: projectViewModel.isArabic ? Radius.circular(12.0) : Radius.zero, bottomLeft: projectViewModel.isArabic ? Radius.zero : Radius.circular(12.0), bottomRight: projectViewModel.isArabic ? Radius.circular(12.0) : Radius.zero, ), ), // clipBehavior: Clip.antiAlias, child: Row( children: [ Expanded( child: Column( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, children: [ Texts( TranslationBase.of(context).OrderStatus + ' ' + (projectViewModel.isArabic ? order.descriptionN : order.description), bold: false, fontSize: 12, color: order.status == 4 ? Colors.red[900] : order.status == 3 ? Colors.green[400] : Color(0xffcd9e1b), fontWeight: FontWeight.bold, ), Texts( TranslationBase.of(context).requestID + ' ' + order.iD.toString(), fontWeight: FontWeight.w600, fontSize: 18, ), Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Texts( TranslationBase.of(context).orderLocation, bold: false, fontSize: 13, ), SizedBox( height: 4, ), Texts( !projectViewModel.isArabic ? order.nearestProjectDescription.toString() : order.nearestProjectDescriptionN.toString(), fontSize: 13, ), ], ) ], )), Column( children: [ Texts( DateUtil.getDayMonthYearDateFormatted(DateUtil.convertStringToDate(order.createdOn)), fontSize: 14, ), SizedBox(height: 8), (order.status == 1 || order.status == 2) ? SecondaryButton( onTap: () { showConfirmMessage(model, order); }, label: TranslationBase.of(context).cancel, color: Colors.red[900], small: true, ) : SizedBox() ], ), ], ))), )); }).toList()) ], ), ), ), ), ), // SingleChildScrollView( // physics: ScrollPhysics(), // child: Container( // margin: EdgeInsets.all(12), // child: Center( // child: FractionallySizedBox( // widthFactor: 0.94, // child: Column( // crossAxisAlignment: CrossAxisAlignment.start, // children: [ // Column( // crossAxisAlignment: CrossAxisAlignment.start, // children: model.cmcAllPresOrders.map((order) { // return Container( // width: double.infinity, // margin: EdgeInsets.only(top: 12), // clipBehavior: Clip.antiAlias, // decoration: BoxDecoration(border: Border.all(color: Colors.grey, width: 1), borderRadius: BorderRadius.circular(12), color: Colors.white), // child: Column( // crossAxisAlignment: CrossAxisAlignment.start, // children: [ // SizedBox( // height: 6, // ), // Container( // width: double.infinity, // padding: EdgeInsets.only(left: 15, bottom: 15, top: 8, right: 15), // decoration: BoxDecoration( // border: Border( // bottom: BorderSide( // color: Colors.grey, // width: 1.0, // ), // ), // // borderRadius: BorderRadius.circular(12), // ), // child: Column( // crossAxisAlignment: CrossAxisAlignment.start, // children: [ // Text( // TranslationBase.of(context).requestID, // style: TextStyle( // fontSize: 13, // fontWeight: FontWeight.w600, // letterSpacing: -0.45, // ), // ), // SizedBox( // height: 4, // ), // Text( // order.iD.toString(), // style: TextStyle( // fontSize: 18, // fontWeight: FontWeight.w600, // letterSpacing: -0.45, // ), // ), // ], // ), // ), // Container( // width: double.infinity, // padding: EdgeInsets.only(left: 15, bottom: 15, top: 15, right: 15), // decoration: BoxDecoration( // border: Border( // bottom: BorderSide( // color: Colors.grey, // width: 1.0, // ), // ), // // borderRadius: BorderRadius.circular(12), // ), // child: Column( // crossAxisAlignment: CrossAxisAlignment.start, // children: [ // Text( // TranslationBase.of(context).OrderStatus, // style: TextStyle( // fontSize: 13, // fontWeight: FontWeight.w600, // letterSpacing: -0.45, // ), // ), // SizedBox( // height: 4, // ), // Text( // projectViewModel.isArabic ? order.descriptionN : order.description, // style: TextStyle( // fontSize: 18, // fontWeight: FontWeight.w600, // letterSpacing: -0.45, // ), // ), // ], // ), // ), // Container( // width: double.infinity, // padding: EdgeInsets.only(left: 15, bottom: 15, top: 15, right: 15), // decoration: BoxDecoration( // border: Border( // bottom: BorderSide( // color: Colors.grey, // width: 1.0, // ), // ), // // borderRadius: BorderRadius.circular(12), // ), // child: Column( // crossAxisAlignment: CrossAxisAlignment.start, // children: [ // Text( // TranslationBase.of(context).pickupDate, // style: TextStyle( // fontSize: 13, // fontWeight: FontWeight.w600, // letterSpacing: -0.45, // ), // ), // SizedBox( // height: 4, // ), // Text( // DateUtil.getDayMonthYearDateFormatted(DateUtil.convertStringToDate(order.createdOn)), // style: TextStyle( // fontSize: 18, // fontWeight: FontWeight.w600, // letterSpacing: -0.45, // ), // ), // ], // ), // ), // Container( // width: double.infinity, // clipBehavior: Clip.antiAlias, // padding: EdgeInsets.only(left: 15, bottom: 15, top: 15, right: 15), // decoration: BoxDecoration( // border: Border( // bottom: BorderSide( // color: (order.status == 1 || order.status == 2) ? Colors.grey : Colors.transparent, // width: (order.status == 1 || order.status == 2) ? 1.0 : 0, // ), // ), // // borderRadius: BorderRadius.circular(12), // ), // child: Column( // crossAxisAlignment: CrossAxisAlignment.start, // children: [ // Text( // TranslationBase.of(context).orderLocation, // style: TextStyle( // fontSize: 13, // fontWeight: FontWeight.w600, // letterSpacing: -0.45, // ), // ), // SizedBox( // height: 4, // ), // Text( // !projectViewModel.isArabic ? order.projectDescription.toString() : order.projectDescriptionN.toString(), // style: TextStyle( // fontSize: 13, // fontWeight: FontWeight.w600, // letterSpacing: -0.45, // ), // ), // ], // ), // ), // (order.status == 1 || order.status == 2) // ? SizedBox( // height: 12, // ) // : Container(), // if (order.status == 1 || order.status == 2) // Center( // child: Container( // width: MediaQuery.of(context).size.width * 0.85, // child: SecondaryButton( // label: TranslationBase.of(context).cancel.toUpperCase(), // onTap: () { // showConfirmMessage(model, order); // }, // color: Colors.red[800], // disabled: false, // textColor: Theme.of(context).backgroundColor), // ), // ), // (order.status == 1 || order.status == 2) // ? SizedBox( // height: 12, // ) // : SizedBox( // height: 2, // ), // ], // ), // ); // }).toList()) // ], // ), // ), // ), // ), // ), ); } }