|
|
|
|
@ -26,6 +26,107 @@ class RequestDetailPage extends StatelessWidget {
|
|
|
|
|
|
|
|
|
|
const RequestDetailPage({super.key, required this.requestDetailPageArguments});
|
|
|
|
|
|
|
|
|
|
Widget buildRequestDetailsContainer(BuildContext context) {
|
|
|
|
|
final requestDetail = requestDetailPageArguments.requestModel;
|
|
|
|
|
return Column(
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
|
children: [
|
|
|
|
|
Row(
|
|
|
|
|
mainAxisAlignment: MainAxisAlignment.start,
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
|
children: [
|
|
|
|
|
Expanded(
|
|
|
|
|
child: Column(
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
|
mainAxisAlignment: MainAxisAlignment.start,
|
|
|
|
|
children: [
|
|
|
|
|
requestDetail.vehicleTypeName.toText(fontSize: 16, letterSpacing: -0.64),
|
|
|
|
|
showItem("${LocaleKeys.brand.tr()}: ", requestDetail.brand),
|
|
|
|
|
showItem("${LocaleKeys.model.tr()}: ", requestDetail.model),
|
|
|
|
|
showItem("${LocaleKeys.year.tr()}: ", "${requestDetail.year}"),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
Column(
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.end,
|
|
|
|
|
mainAxisAlignment: MainAxisAlignment.start,
|
|
|
|
|
children: [
|
|
|
|
|
"${requestDetail.city ?? ""} ${requestDetail.countryName}".toText(
|
|
|
|
|
color: MyColors.lightTextColor,
|
|
|
|
|
),
|
|
|
|
|
if (requestDetail.createdOn != null) ...[
|
|
|
|
|
DateTime.parse(requestDetail.createdOn!).getTimeAgo().toText(
|
|
|
|
|
color: MyColors.lightTextColor,
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
if (requestDetail.customerName.isNotEmpty) ...[
|
|
|
|
|
showItem("${LocaleKeys.customerName.tr()}: ", requestDetail.customerName),
|
|
|
|
|
],
|
|
|
|
|
showItem("${LocaleKeys.description.tr()}: ", requestDetail.description),
|
|
|
|
|
16.height,
|
|
|
|
|
|
|
|
|
|
if (AppState().currentAppType == AppType.provider &&
|
|
|
|
|
(requestDetailPageArguments.requestModel.requestStatus == RequestStatusEnum.inProgress || requestDetailPageArguments.requestModel.requestStatus == RequestStatusEnum.submitted)) ...[
|
|
|
|
|
Row(
|
|
|
|
|
mainAxisAlignment: MainAxisAlignment.end,
|
|
|
|
|
children: [
|
|
|
|
|
("${LocaleKeys.reportComplaint.tr()}?").toText(fontSize: 14, color: MyColors.darkTextColor),
|
|
|
|
|
],
|
|
|
|
|
).onPress(
|
|
|
|
|
() {
|
|
|
|
|
int customerID = requestDetailPageArguments.requestModel.customerId;
|
|
|
|
|
int complainType = 2;
|
|
|
|
|
String customerName = requestDetailPageArguments.requestModel.customerName;
|
|
|
|
|
|
|
|
|
|
context.read<AppointmentsVM>().buildComplaintBottomSheet(
|
|
|
|
|
customerID: customerID,
|
|
|
|
|
customerName: customerName,
|
|
|
|
|
complainType: complainType,
|
|
|
|
|
context: context,
|
|
|
|
|
);
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
|
|
|
|
|
// showItem("${LocaleKeys.priceRange.tr()}:", ""),
|
|
|
|
|
// Row(
|
|
|
|
|
// children: [
|
|
|
|
|
// Expanded(
|
|
|
|
|
// child: Row(
|
|
|
|
|
// mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
|
// crossAxisAlignment: CrossAxisAlignment.end,
|
|
|
|
|
// children: [
|
|
|
|
|
// Row(
|
|
|
|
|
// crossAxisAlignment: CrossAxisAlignment.end,
|
|
|
|
|
// children: [
|
|
|
|
|
// "${requestDetail.price.toInt()}".toText(fontSize: 19, isBold: true, letterSpacing: -1.16),
|
|
|
|
|
// 2.width,
|
|
|
|
|
// LocaleKeys.sar.tr().toText(color: MyColors.lightTextColor, fontSize: 10, letterSpacing: -0.4),
|
|
|
|
|
// ],
|
|
|
|
|
// ),
|
|
|
|
|
// Row(
|
|
|
|
|
// children: [
|
|
|
|
|
// Utils.statusContainerChip(
|
|
|
|
|
// text: (requestDetail.requestStatusName),
|
|
|
|
|
// chipColor: MyColors.grey98Color.withOpacity(0.1),
|
|
|
|
|
// textColor: MyColors.lightTextColor,
|
|
|
|
|
// ),
|
|
|
|
|
// ],
|
|
|
|
|
// ),
|
|
|
|
|
// ],
|
|
|
|
|
// ),
|
|
|
|
|
// ),
|
|
|
|
|
// // const Icon(Icons.arrow_forward)
|
|
|
|
|
// ],
|
|
|
|
|
// ),
|
|
|
|
|
],
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Widget buildRequestDetailActionFooter({
|
|
|
|
|
required int requestId,
|
|
|
|
|
required RequestStatusEnum requestStatus,
|
|
|
|
|
@ -209,107 +310,6 @@ class RequestDetailPage extends StatelessWidget {
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Widget buildRequestDetailsContainer(BuildContext context) {
|
|
|
|
|
final requestDetail = requestDetailPageArguments.requestModel;
|
|
|
|
|
return Column(
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
|
children: [
|
|
|
|
|
Row(
|
|
|
|
|
mainAxisAlignment: MainAxisAlignment.start,
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
|
children: [
|
|
|
|
|
Expanded(
|
|
|
|
|
child: Column(
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
|
mainAxisAlignment: MainAxisAlignment.start,
|
|
|
|
|
children: [
|
|
|
|
|
requestDetail.vehicleTypeName.toText(fontSize: 16, letterSpacing: -0.64),
|
|
|
|
|
showItem("${LocaleKeys.brand.tr()}: ", requestDetail.brand),
|
|
|
|
|
showItem("${LocaleKeys.model.tr()}: ", requestDetail.model),
|
|
|
|
|
showItem("${LocaleKeys.year.tr()}: ", "${requestDetail.year}"),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
Column(
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.end,
|
|
|
|
|
mainAxisAlignment: MainAxisAlignment.start,
|
|
|
|
|
children: [
|
|
|
|
|
"${requestDetail.city ?? ""} ${requestDetail.countryName}".toText(
|
|
|
|
|
color: MyColors.lightTextColor,
|
|
|
|
|
),
|
|
|
|
|
if (requestDetail.createdOn != null) ...[
|
|
|
|
|
DateTime.parse(requestDetail.createdOn!).getTimeAgo().toText(
|
|
|
|
|
color: MyColors.lightTextColor,
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
if (requestDetail.customerName.isNotEmpty) ...[
|
|
|
|
|
showItem("${LocaleKeys.customerName.tr()}: ", requestDetail.customerName),
|
|
|
|
|
],
|
|
|
|
|
showItem("${LocaleKeys.description.tr()}: ", requestDetail.description),
|
|
|
|
|
16.height,
|
|
|
|
|
|
|
|
|
|
if (AppState().currentAppType == AppType.provider &&
|
|
|
|
|
(requestDetailPageArguments.requestModel.requestStatus == RequestStatusEnum.inProgress || requestDetailPageArguments.requestModel.requestStatus == RequestStatusEnum.submitted)) ...[
|
|
|
|
|
Row(
|
|
|
|
|
mainAxisAlignment: MainAxisAlignment.end,
|
|
|
|
|
children: [
|
|
|
|
|
("${LocaleKeys.reportComplaint.tr()}?").toText(fontSize: 14, color: MyColors.darkTextColor),
|
|
|
|
|
],
|
|
|
|
|
).onPress(
|
|
|
|
|
() {
|
|
|
|
|
int customerID = requestDetailPageArguments.requestModel.customerId;
|
|
|
|
|
int complainType = 2;
|
|
|
|
|
String customerName = requestDetailPageArguments.requestModel.customerName;
|
|
|
|
|
|
|
|
|
|
context.read<AppointmentsVM>().buildComplaintBottomSheet(
|
|
|
|
|
customerID: customerID,
|
|
|
|
|
customerName: customerName,
|
|
|
|
|
complainType: complainType,
|
|
|
|
|
context: context,
|
|
|
|
|
);
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
|
|
|
|
|
// showItem("${LocaleKeys.priceRange.tr()}:", ""),
|
|
|
|
|
// Row(
|
|
|
|
|
// children: [
|
|
|
|
|
// Expanded(
|
|
|
|
|
// child: Row(
|
|
|
|
|
// mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
|
// crossAxisAlignment: CrossAxisAlignment.end,
|
|
|
|
|
// children: [
|
|
|
|
|
// Row(
|
|
|
|
|
// crossAxisAlignment: CrossAxisAlignment.end,
|
|
|
|
|
// children: [
|
|
|
|
|
// "${requestDetail.price.toInt()}".toText(fontSize: 19, isBold: true, letterSpacing: -1.16),
|
|
|
|
|
// 2.width,
|
|
|
|
|
// LocaleKeys.sar.tr().toText(color: MyColors.lightTextColor, fontSize: 10, letterSpacing: -0.4),
|
|
|
|
|
// ],
|
|
|
|
|
// ),
|
|
|
|
|
// Row(
|
|
|
|
|
// children: [
|
|
|
|
|
// Utils.statusContainerChip(
|
|
|
|
|
// text: (requestDetail.requestStatusName),
|
|
|
|
|
// chipColor: MyColors.grey98Color.withOpacity(0.1),
|
|
|
|
|
// textColor: MyColors.lightTextColor,
|
|
|
|
|
// ),
|
|
|
|
|
// ],
|
|
|
|
|
// ),
|
|
|
|
|
// ],
|
|
|
|
|
// ),
|
|
|
|
|
// ),
|
|
|
|
|
// // const Icon(Icons.arrow_forward)
|
|
|
|
|
// ],
|
|
|
|
|
// ),
|
|
|
|
|
],
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Widget showItem(String title, String value) {
|
|
|
|
|
return Row(
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
|
|