family file changes

merge-update-with-lab-changes
Sultan Khan 5 years ago
parent f53f2f7cab
commit 2c1d7c511e

@ -1065,6 +1065,7 @@ const Map localizedValues = {
"pharmacyServiceTermsCondition": {"en": "I agree with the terms of service and I adhere to them unconditionally", "ar": " أوافق على شروط الخدمة وألتزم بها دون قيد أو شرط"}, "pharmacyServiceTermsCondition": {"en": "I agree with the terms of service and I adhere to them unconditionally", "ar": " أوافق على شروط الخدمة وألتزم بها دون قيد أو شرط"},
"Year": {"en": "YEAR", "ar": "السنة"}, "Year": {"en": "YEAR", "ar": "السنة"},
"years": {"en": "Years", "ar": "السنة"},
"Month": {"en": "MONTH", "ar": "الشهر"}, "Month": {"en": "MONTH", "ar": "الشهر"},
"point": {"en": "POINT", "ar": "النقاط"}, "point": {"en": "POINT", "ar": "النقاط"},
"riyal": {"en": "RIYAL", "ar": "الريال"}, "riyal": {"en": "RIYAL", "ar": "الريال"},

@ -115,6 +115,7 @@ class RRTViewModel extends BaseViewModel {
var success = false; var success = false;
await _service.baseAppClient.post(PATIENT_ER_UPDATE_PRES_ORDER, body: body, onSuccess: (response, statusCode) { await _service.baseAppClient.post(PATIENT_ER_UPDATE_PRES_ORDER, body: body, onSuccess: (response, statusCode) {
success = true; success = true;
rrtServiceData.pendingOrders.remove(order);
}, onFailure: (error, statusCode) { }, onFailure: (error, statusCode) {
AppToast.showErrorToast(message: error); AppToast.showErrorToast(message: error);
success = false; success = false;

@ -295,13 +295,21 @@ class GetAllSharedRecordsByStatusList {
int iD; int iD;
int patientID; int patientID;
int responseID; int responseID;
Null relationshipID;
Null relationship;
Null relationshipN;
int regionID; int regionID;
int status; int status;
dynamic isActive; Null isActive;
String editedOn; String editedOn;
String createdOn; String createdOn;
int age;
String emaiLAddress; String emaiLAddress;
int gender;
String genderDescription;
String genderImage;
String mobileNumber; String mobileNumber;
int patientDataVerified;
String patientIdenficationNumber; String patientIdenficationNumber;
String patientName; String patientName;
String statusDescription; String statusDescription;
@ -310,13 +318,21 @@ class GetAllSharedRecordsByStatusList {
{this.iD, {this.iD,
this.patientID, this.patientID,
this.responseID, this.responseID,
this.relationshipID,
this.relationship,
this.relationshipN,
this.regionID, this.regionID,
this.status, this.status,
this.isActive, this.isActive,
this.editedOn, this.editedOn,
this.createdOn, this.createdOn,
this.age,
this.emaiLAddress, this.emaiLAddress,
this.gender,
this.genderDescription,
this.genderImage,
this.mobileNumber, this.mobileNumber,
this.patientDataVerified,
this.patientIdenficationNumber, this.patientIdenficationNumber,
this.patientName, this.patientName,
this.statusDescription}); this.statusDescription});
@ -325,13 +341,21 @@ class GetAllSharedRecordsByStatusList {
iD = json['ID']; iD = json['ID'];
patientID = json['PatientID']; patientID = json['PatientID'];
responseID = json['ResponseID']; responseID = json['ResponseID'];
relationshipID = json['RelationshipID'];
relationship = json['Relationship'];
relationshipN = json['RelationshipN'];
regionID = json['RegionID']; regionID = json['RegionID'];
status = json['Status']; status = json['Status'];
isActive = json['IsActive']; isActive = json['IsActive'];
editedOn = json['EditedOn']; editedOn = json['EditedOn'];
createdOn = json['CreatedOn']; createdOn = json['CreatedOn'];
age = json['Age'];
emaiLAddress = json['EmaiLAddress']; emaiLAddress = json['EmaiLAddress'];
gender = json['Gender'];
genderDescription = json['GenderDescription'];
genderImage = json['GenderImage'];
mobileNumber = json['MobileNumber']; mobileNumber = json['MobileNumber'];
patientDataVerified = json['PatientDataVerified'];
patientIdenficationNumber = json['PatientIdenficationNumber']; patientIdenficationNumber = json['PatientIdenficationNumber'];
patientName = json['PatientName']; patientName = json['PatientName'];
statusDescription = json['StatusDescription']; statusDescription = json['StatusDescription'];
@ -342,13 +366,21 @@ class GetAllSharedRecordsByStatusList {
data['ID'] = this.iD; data['ID'] = this.iD;
data['PatientID'] = this.patientID; data['PatientID'] = this.patientID;
data['ResponseID'] = this.responseID; data['ResponseID'] = this.responseID;
data['RelationshipID'] = this.relationshipID;
data['Relationship'] = this.relationship;
data['RelationshipN'] = this.relationshipN;
data['RegionID'] = this.regionID; data['RegionID'] = this.regionID;
data['Status'] = this.status; data['Status'] = this.status;
data['IsActive'] = this.isActive; data['IsActive'] = this.isActive;
data['EditedOn'] = this.editedOn; data['EditedOn'] = this.editedOn;
data['CreatedOn'] = this.createdOn; data['CreatedOn'] = this.createdOn;
data['Age'] = this.age;
data['EmaiLAddress'] = this.emaiLAddress; data['EmaiLAddress'] = this.emaiLAddress;
data['Gender'] = this.gender;
data['GenderDescription'] = this.genderDescription;
data['GenderImage'] = this.genderImage;
data['MobileNumber'] = this.mobileNumber; data['MobileNumber'] = this.mobileNumber;
data['PatientDataVerified'] = this.patientDataVerified;
data['PatientIdenficationNumber'] = this.patientIdenficationNumber; data['PatientIdenficationNumber'] = this.patientIdenficationNumber;
data['PatientName'] = this.patientName; data['PatientName'] = this.patientName;
data['StatusDescription'] = this.statusDescription; data['StatusDescription'] = this.statusDescription;

@ -32,6 +32,8 @@ import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/routes.dart'; import 'package:diplomaticquarterapp/routes.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:diplomaticquarterapp/services/clinic_services/get_clinic_service.dart'; import 'package:diplomaticquarterapp/services/clinic_services/get_clinic_service.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart';
import 'package:diplomaticquarterapp/extensions/string_extensions.dart';
class MyFamily extends StatefulWidget { class MyFamily extends StatefulWidget {
final bool isAppbarVisible; final bool isAppbarVisible;
@ -55,6 +57,7 @@ class _MyFamily extends State<MyFamily> with TickerProviderStateMixin {
PharmacyModuleViewModel pharmacyModuleViewModel = locator<PharmacyModuleViewModel>(); PharmacyModuleViewModel pharmacyModuleViewModel = locator<PharmacyModuleViewModel>();
ToDoCountProviderModel toDoProvider; ToDoCountProviderModel toDoProvider;
var isVaiable = false; var isVaiable = false;
bool isSwitchUser = false;
@override @override
void initState() { void initState() {
_tabController = new TabController(length: 2, vsync: this, initialIndex: 0); _tabController = new TabController(length: 2, vsync: this, initialIndex: 0);
@ -195,50 +198,105 @@ class _MyFamily extends State<MyFamily> with TickerProviderStateMixin {
return Padding( return Padding(
padding: EdgeInsets.only(top: 50), padding: EdgeInsets.only(top: 50),
child: Column(children: <Widget>[ child: Column(children: <Widget>[
Row( // Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, // mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[ // children: <Widget>[
Expanded( // Expanded(
flex: 3, // flex: 3,
child: Texts( // child: Texts(
TranslationBase.of(context).request, // TranslationBase.of(context).request,
textAlign: TextAlign.center, // textAlign: TextAlign.center,
)), // )),
Expanded(flex: 2, child: Texts(TranslationBase.of(context).switchUser, textAlign: TextAlign.center)), // Expanded(flex: 2, child: Texts(TranslationBase.of(context).switchUser, textAlign: TextAlign.center)),
Expanded(flex: 1, child: Texts(TranslationBase.of(context).deleteView, textAlign: TextAlign.center)), // Expanded(flex: 1, child: Texts(TranslationBase.of(context).deleteView, textAlign: TextAlign.center)),
], // ],
), // ),
Column( Column(
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
children: snapshot.data.getAllSharedRecordsByStatusList.map<Widget>((result) { children: snapshot.data.getAllSharedRecordsByStatusList.map<Widget>((result) {
return result.status == 3 return result.status == 3
? Padding( ? Card(
padding: EdgeInsets.all(10), margin: EdgeInsets.all(10),
child: Row( shape: cardRadius(15),
children: <Widget>[ color: result.gender == 1 ? Color(0xff6EA8FF) : Color(0xffFDA4B0),
Expanded(flex: 3, child: Text(result.patientName)), elevation: 3,
Expanded( child: Container(
flex: 2, // height: 130,
child: IconButton( width: MediaQuery.of(context).size.width,
icon: Icon(Icons.group), padding: EdgeInsets.all(10),
color: Colors.black, child: Column(
onPressed: () { crossAxisAlignment: CrossAxisAlignment.start,
switchUser(result, context); children: <Widget>[
}, Texts(
)), result.patientName.toLowerCase().capitalizeFirstofEach,
Expanded( fontSize: 22,
flex: 1, fontWeight: FontWeight.bold,
child: IconButton( color: Colors.white,
icon: Icon( ),
Icons.delete, Texts(TranslationBase.of(context).fileNumber + ': ' + result.responseID.toString(), fontSize: 12, color: Colors.white),
color: Colors.black, Texts(result.age.toString() + ' ' + TranslationBase.of(context).years + ', ' + result.genderDescription, fontSize: 12, color: Colors.white),
), Row(
onPressed: () { mainAxisAlignment: MainAxisAlignment.spaceBetween,
deleteFamily(result, context); children: [
}, Row(
)), children: [
], CupertinoSwitch(
)) value: isSwitchUser,
onChanged: (value) {
setState(() {
isSwitchUser = value;
});
if (isSwitchUser == true) switchUser(result, context);
},
),
Texts(
TranslationBase.of(context).switchUser,
color: Colors.white,
fontSize: 12,
)
],
),
InkWell(
onTap: () {
deleteFamily(result, context);
},
child: Row(
children: [
Texts(
TranslationBase.of(context).delete,
color: Colors.white,
fontSize: 12,
),
Icon(
Icons.delete,
color: Colors.white,
),
],
))
],
)
// Expanded(
// flex: 2,
// child: IconButton(
// icon: Icon(Icons.group),
// color: Colors.black,
// onPressed: () {
// switchUser(result, context);
// },
// )),
// Expanded(
// flex: 1,
// child: IconButton(
// icon: Icon(
// Icons.delete,
// color: Colors.black,
// ),
// onPressed: () {
// deleteFamily(result, context);
// },
// )),
],
)))
: SizedBox(); : SizedBox();
}).toList()) }).toList())
])); ]));
@ -308,35 +366,34 @@ class _MyFamily extends State<MyFamily> with TickerProviderStateMixin {
])), ])),
Column( Column(
children: familyFileProvider.allSharedRecordsByStatusResponse.getAllSharedRecordsByStatusList.map<Widget>((result) { children: familyFileProvider.allSharedRecordsByStatusResponse.getAllSharedRecordsByStatusList.map<Widget>((result) {
return Padding( return Card(
padding: EdgeInsets.all(10),
child: Row( child: Row(
children: <Widget>[ children: <Widget>[
Expanded(flex: 3, child: Text(result.patientName)), Expanded(flex: 3, child: Text(result.patientName)),
Expanded( Expanded(
flex: 1, flex: 1,
child: IconButton( child: IconButton(
icon: Icon( icon: Icon(
Icons.check_circle, Icons.check_circle,
color: Colors.black, color: Colors.black,
), ),
onPressed: () { onPressed: () {
acceptRemoveRequest(result.iD, 3, context); acceptRemoveRequest(result.iD, 3, context);
}, },
)), )),
Expanded( Expanded(
flex: 1, flex: 1,
child: IconButton( child: IconButton(
icon: Icon( icon: Icon(
Icons.delete, Icons.delete,
color: Colors.black, color: Colors.black,
), ),
onPressed: () { onPressed: () {
acceptRemoveRequest(result.iD, 4, context); acceptRemoveRequest(result.iD, 4, context);
}, },
)) ))
], ],
)); ));
}).toList()) }).toList())
]) ])
], ],
@ -525,7 +582,6 @@ class _MyFamily extends State<MyFamily> with TickerProviderStateMixin {
} }
loginAfter(result, context) async { loginAfter(result, context) async {
GifLoaderDialogUtils.hideDialog(context);
var currentLang = await sharedPref.getString(APP_LANGUAGE); var currentLang = await sharedPref.getString(APP_LANGUAGE);
Provider.of<ProjectViewModel>(context, listen: false).setPrivilege(privilegeList: result, isLoginChild: true); Provider.of<ProjectViewModel>(context, listen: false).setPrivilege(privilegeList: result, isLoginChild: true);
result = list.CheckActivationCode.fromJson(result); result = list.CheckActivationCode.fromJson(result);
@ -559,7 +615,7 @@ class _MyFamily extends State<MyFamily> with TickerProviderStateMixin {
.getIsLastAppointmentRatedList() .getIsLastAppointmentRatedList()
.then((value) => { .then((value) => {
getToDoCount(), getToDoCount(),
// Utils.hideProgressDialog(), GifLoaderDialogUtils.hideDialog(context),
if (appointmentRateViewModel.isHaveAppointmentNotRate) if (appointmentRateViewModel.isHaveAppointmentNotRate)
{ {
Navigator.pushAndRemoveUntil( Navigator.pushAndRemoveUntil(
@ -582,7 +638,7 @@ class _MyFamily extends State<MyFamily> with TickerProviderStateMixin {
.catchError((err) { .catchError((err) {
print(err); print(err);
// Utils.hideProgressDialog(); // Utils.hideProgressDialog();
// GifLoaderDialogUtils.hideDialog(context); GifLoaderDialogUtils.hideDialog(context);
}); });
} }

@ -5,6 +5,10 @@ import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/pages/ErService/rapid-response-team/rrt-main-screen.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:diplomaticquarterapp/uitl/utils.dart';
class RRTLogPage extends StatefulWidget { class RRTLogPage extends StatefulWidget {
final List<PrescriptionsOrder> orders; final List<PrescriptionsOrder> orders;
@ -18,10 +22,18 @@ class RRTLogPage extends StatefulWidget {
class RRTLogPageState extends State<RRTLogPage> { class RRTLogPageState extends State<RRTLogPage> {
RRTViewModel viewModel; RRTViewModel viewModel;
@override
void initState() {
setState(() {});
super.initState();
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return BaseView<RRTViewModel>( return BaseView<RRTViewModel>(
onModelReady: (vm) => viewModel = vm, onModelReady: (vm) => {
viewModel = vm,
},
builder: (ctx, vm, widgetState) { builder: (ctx, vm, widgetState) {
return ListView.builder( return ListView.builder(
itemCount: widget.orders.length, itemCount: widget.orders.length,
@ -36,12 +48,13 @@ class RRTLogPageState extends State<RRTLogPage> {
deleteOrder(PrescriptionsOrder order) async { deleteOrder(PrescriptionsOrder order) async {
GifLoaderDialogUtils.showMyDialog(context); GifLoaderDialogUtils.showMyDialog(context);
var success = await viewModel.cancelOrder(order); var success = await viewModel.cancelOrder(order);
GifLoaderDialogUtils.hideDialog(context);
if (success) { if (success) {
setState(() { viewModel.setState(ViewState.Busy);
widget.orders.remove(order); await viewModel.getAllOrders();
}); viewModel.setState(ViewState.Idle);
Navigator.popUntil(context, (route) => Utils.route(route, equalsTo: RRTMainScreen));
Navigator.push(context, FadePage(page: RRTMainScreen()));
} }
await viewModel.getAllOrders();
} }
} }

@ -9,6 +9,8 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
class RRTMainScreen extends StatefulWidget { class RRTMainScreen extends StatefulWidget {
final index = 0;
RRTMainScreen({index});
@override @override
State<StatefulWidget> createState() => RRTMainScreenState(); State<StatefulWidget> createState() => RRTMainScreenState();
} }

@ -5,26 +5,37 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart'; import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'package:diplomaticquarterapp/core/viewModels/er/rrt-view-model.dart';
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/uitl/utils.dart';
import 'package:diplomaticquarterapp/pages/ErService/rapid-response-team/rrt-main-screen.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
final _item_content_seperator = Container(height: 0.25, padding: EdgeInsets.all(10), color: Colors.grey.withOpacity(0.5)); final _item_content_seperator = Container(height: 0.25, padding: EdgeInsets.all(10), color: Colors.grey.withOpacity(0.5));
class RRTLogListItem extends StatelessWidget { class RRTLogListItem extends StatefulWidget {
final PrescriptionsOrder order; final PrescriptionsOrder order;
final Function(PrescriptionsOrder) onCancel; final Function(PrescriptionsOrder) onCancel;
RRTLogListItem(this.order, {this.onCancel}); RRTLogListItem(this.order, {this.onCancel});
@override
State<StatefulWidget> createState() => RRTLogListItemState();
BuildContext _context; BuildContext _context;
}
class RRTLogListItemState extends State<RRTLogListItem> {
RRTViewModel viewModel;
TranslationBase localize; TranslationBase localize;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
ProjectViewModel projectViewModel = Provider.of(context); ProjectViewModel projectViewModel = Provider.of(context);
_context = context;
localize = TranslationBase.of(context); localize = TranslationBase.of(context);
int status = order.status; int status = widget.order.status;
String _statusDisp = projectViewModel.isArabic ? order.descriptionN : order.description; String _statusDisp = projectViewModel.isArabic ? widget.order.descriptionN : widget.order.description;
Color _color; Color _color;
if (status == 1) { if (status == 1) {
//pending //pending
@ -39,119 +50,126 @@ class RRTLogListItem extends StatelessWidget {
//cancel // Rejected //cancel // Rejected
_color = Color(0xffD02127); _color = Color(0xffD02127);
} }
return Container( return BaseView<RRTViewModel>(
margin: EdgeInsets.all(5), onModelReady: (vm) => {
decoration: BoxDecoration( viewModel = vm,
color: _color, },
borderRadius: BorderRadius.all( builder: (ctx, vm, widgetState) {
Radius.circular(10.0), return Container(
), margin: EdgeInsets.all(5),
boxShadow: [ decoration: BoxDecoration(
BoxShadow( color: _color,
color: Color(0xff000000).withOpacity(.05), borderRadius: BorderRadius.all(
blurRadius: 27, Radius.circular(10.0),
offset: Offset(0, -3), ),
), boxShadow: [
], BoxShadow(
), color: Color(0xff000000).withOpacity(.05),
child: Container( blurRadius: 27,
// decoration: containerColorRadiusLeft(Colors.white, 12), offset: Offset(0, -3),
margin: EdgeInsets.only(left: projectViewModel.isArabic ? 0 : 6, right: projectViewModel.isArabic ? 6 : 0), ),
padding: EdgeInsets.symmetric(vertical: 14, horizontal: 12), ],
decoration: BoxDecoration( ),
color: Colors.white, child: Container(
border: Border.all(color: Colors.white, width: 1), // decoration: containerColorRadiusLeft(Colors.white, 12),
borderRadius: BorderRadius.only( margin: EdgeInsets.only(left: projectViewModel.isArabic ? 0 : 6, right: projectViewModel.isArabic ? 6 : 0),
bottomRight: projectViewModel.isArabic ? Radius.circular(0) : Radius.circular(10.0), padding: EdgeInsets.symmetric(vertical: 14, horizontal: 12),
topRight: projectViewModel.isArabic ? Radius.circular(0) : Radius.circular(10.0), decoration: BoxDecoration(
bottomLeft: projectViewModel.isArabic ? Radius.circular(10.0) : Radius.circular(0), color: Colors.white,
topLeft: projectViewModel.isArabic ? Radius.circular(10.0) : Radius.circular(0), border: Border.all(color: Colors.white, width: 1),
), borderRadius: BorderRadius.only(
), bottomRight: projectViewModel.isArabic ? Radius.circular(0) : Radius.circular(10.0),
// clipBehavior: Clip.antiAlias, topRight: projectViewModel.isArabic ? Radius.circular(0) : Radius.circular(10.0),
child: Row( bottomLeft: projectViewModel.isArabic ? Radius.circular(10.0) : Radius.circular(0),
crossAxisAlignment: CrossAxisAlignment.start, topLeft: projectViewModel.isArabic ? Radius.circular(10.0) : Radius.circular(0),
children: [ ),
Expanded( ),
child: Column( // clipBehavior: Clip.antiAlias,
mainAxisAlignment: MainAxisAlignment.start, child: Row(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Text( Expanded(
_statusDisp, child: Column(
style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: _color, letterSpacing: -0.4, height: 16 / 10), mainAxisAlignment: MainAxisAlignment.start,
), crossAxisAlignment: CrossAxisAlignment.start,
SizedBox(height: 6), children: [
Text( Text(
'${TranslationBase.of(context).requestID}: ${order.iD}', _statusDisp,
style: TextStyle(fontSize: 16, fontWeight: FontWeight.w600, color: Color(0xff2E303A), letterSpacing: -0.64, height: 25 / 16), style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: _color, letterSpacing: -0.4, height: 16 / 10),
),
Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
TranslationBase.of(context).locationa + ": ",
style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: Color(0xff575757), letterSpacing: -0.4, height: 16 / 10),
),
Expanded(
child: Text(
!projectViewModel.isArabic ? order.nearestProjectDescription.trim().toString() : order.nearestProjectDescriptionN.toString(),
style: TextStyle(fontSize: 14, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.56),
), ),
), SizedBox(height: 6),
], Text(
'${TranslationBase.of(context).requestID}: ${widget.order.iD}',
style: TextStyle(fontSize: 16, fontWeight: FontWeight.w600, color: Color(0xff2E303A), letterSpacing: -0.64, height: 25 / 16),
),
Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
TranslationBase.of(context).locationa + ": ",
style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: Color(0xff575757), letterSpacing: -0.4, height: 16 / 10),
),
Expanded(
child: Text(
!projectViewModel.isArabic ? widget.order.nearestProjectDescription.trim().toString() : widget.order.nearestProjectDescriptionN.toString(),
style: TextStyle(fontSize: 14, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.56),
),
),
],
),
Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
localize.pickupDate + ": ",
style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: Color(0xff575757), letterSpacing: -0.4, height: 16 / 10),
),
Expanded(
child: Text(
widget.order.getFormattedDateTime(),
style: TextStyle(fontSize: 14, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.56),
),
),
],
),
],
),
), ),
Row( Column(
crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.end,
children: [ children: [
Text( Text(
localize.pickupDate + ": ", DateUtil.getDayMonthYearDateFormattedLang(widget.order.createdOn, projectViewModel.isArabic),
style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: Color(0xff575757), letterSpacing: -0.4, height: 16 / 10), style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.4, height: 16 / 10),
), ),
Expanded( SizedBox(height: 12),
child: Text( if (widget.order.status == 1 || widget.order.status == 2)
order.getFormattedDateTime(), InkWell(
style: TextStyle(fontSize: 14, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.56), onTap: () {
//onCancel(order);
cancelOrders(widget.order);
},
child: Container(
padding: EdgeInsets.symmetric(vertical: 8, horizontal: 14),
decoration: BoxDecoration(
color: Color(0xffD02127),
border: Border.all(color: Colors.white, width: 1),
borderRadius: BorderRadius.circular(10),
),
child: Text(
TranslationBase.of(context).cancel_nocaps,
style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: Colors.white, letterSpacing: -0.4),
),
),
), ),
),
], ],
), ),
], ],
), ),
), ),
Column( );
mainAxisAlignment: MainAxisAlignment.spaceBetween, });
crossAxisAlignment: CrossAxisAlignment.end,
children: [
Text(
DateUtil.getDayMonthYearDateFormattedLang(order.createdOn, projectViewModel.isArabic),
style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.4, height: 16 / 10),
),
SizedBox(height: 12),
if (order.status == 1 || order.status == 2)
InkWell(
onTap: () {
onCancel(order);
},
child: Container(
padding: EdgeInsets.symmetric(vertical: 8, horizontal: 14),
decoration: BoxDecoration(
color: Color(0xffD02127),
border: Border.all(color: Colors.white, width: 1),
borderRadius: BorderRadius.circular(10),
),
child: Text(
TranslationBase.of(context).cancel_nocaps,
style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: Colors.white, letterSpacing: -0.4),
),
),
),
],
),
],
),
),
);
// return Container( // return Container(
// padding: EdgeInsets.all(15), // padding: EdgeInsets.all(15),
@ -207,4 +225,16 @@ class RRTLogListItem extends StatelessWidget {
// style: TextStyle(color: Colors.white, fontSize: 13), // style: TextStyle(color: Colors.white, fontSize: 13),
// ), // ),
// ); // );
cancelOrders(order) async {
GifLoaderDialogUtils.showMyDialog(context);
var success = await viewModel.cancelOrder(order);
if (success) {
viewModel.setState(ViewState.Busy);
await viewModel.getAllOrders();
viewModel.setState(ViewState.Idle);
Navigator.popUntil(context, (route) => Utils.route(route, equalsTo: RRTMainScreen));
Navigator.push(context, FadePage(page: RRTMainScreen()));
}
}
} }

@ -16,6 +16,7 @@ import 'package:flutter/material.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart';
import 'package:diplomaticquarterapp/pages/ErService/rapid-response-team/rrt-main-screen.dart'; import 'package:diplomaticquarterapp/pages/ErService/rapid-response-team/rrt-main-screen.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
class RRTPlaceOrderPage extends StatelessWidget { class RRTPlaceOrderPage extends StatelessWidget {
TranslationBase localize; TranslationBase localize;
@ -206,7 +207,10 @@ class RRTPlaceOrderPage extends StatelessWidget {
} }
} }
gotoRRTRoot() { gotoRRTRoot() async {
viewModel.setState(ViewState.Busy);
await viewModel.getAllOrders();
viewModel.setState(ViewState.Idle);
Navigator.popUntil(_context, (route) => Utils.route(route, equalsTo: RRTMainScreen)); Navigator.popUntil(_context, (route) => Utils.route(route, equalsTo: RRTMainScreen));
Navigator.push(_context, FadePage(page: RRTMainScreen())); Navigator.push(_context, FadePage(page: RRTMainScreen()));
} }

@ -1788,6 +1788,8 @@ class TranslationBase {
String get year => localizedValues['Year'][locale.languageCode]; String get year => localizedValues['Year'][locale.languageCode];
String get years => localizedValues['years'][locale.languageCode];
String get month => localizedValues['Month'][locale.languageCode]; String get month => localizedValues['Month'][locale.languageCode];
String get point => localizedValues['point'][locale.languageCode]; String get point => localizedValues['point'][locale.languageCode];

Loading…
Cancel
Save