|
|
|
|
@ -5,6 +5,7 @@ import 'package:test_sa/extensions/int_extensions.dart';
|
|
|
|
|
import 'package:test_sa/extensions/string_extensions.dart';
|
|
|
|
|
import 'package:test_sa/extensions/text_extensions.dart';
|
|
|
|
|
import 'package:test_sa/extensions/widget_extensions.dart';
|
|
|
|
|
import 'package:test_sa/models/all_requests_and_count_model.dart';
|
|
|
|
|
import 'package:test_sa/models/new_models/dashboard_detail.dart';
|
|
|
|
|
import 'package:test_sa/service_request_latest/views/request_detail_main_view.dart';
|
|
|
|
|
|
|
|
|
|
@ -12,66 +13,118 @@ import '../../../../views/widgets/requests/request_status.dart';
|
|
|
|
|
import '../../../app_style/app_color.dart';
|
|
|
|
|
|
|
|
|
|
class ServiceRequestItemView extends StatelessWidget {
|
|
|
|
|
final Data request;
|
|
|
|
|
final Data? requestData;
|
|
|
|
|
final RequestsDetails? requestDetails;
|
|
|
|
|
final bool showShadow;
|
|
|
|
|
|
|
|
|
|
const ServiceRequestItemView(this.request, {Key? key, this.showShadow = true}) : super(key: key);
|
|
|
|
|
const ServiceRequestItemView({Key? key, this.requestData, this.requestDetails, this.showShadow = true}) : super(key: key);
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
|
return Column(
|
|
|
|
|
mainAxisSize: MainAxisSize.min,
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
|
children: [
|
|
|
|
|
Row(
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
|
children: [
|
|
|
|
|
StatusLabel(
|
|
|
|
|
label: request.priorityName!,
|
|
|
|
|
textColor: AppColor.getRequestStatusTextColorByName(context, request.priorityName!),
|
|
|
|
|
backgroundColor: AppColor.getRequestStatusColorByName(context, request.priorityName!),
|
|
|
|
|
),
|
|
|
|
|
8.width,
|
|
|
|
|
StatusLabel(
|
|
|
|
|
label: request.statusName!,
|
|
|
|
|
textColor: AppColor.getRequestStatusTextColorByName(context, request.statusName!),
|
|
|
|
|
backgroundColor: AppColor.getRequestStatusColorByName(context, request.statusName!),
|
|
|
|
|
),
|
|
|
|
|
1.width.expanded,
|
|
|
|
|
Text(request.transactionDate!.toServiceRequestCardFormat,
|
|
|
|
|
textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50)),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
8.height,
|
|
|
|
|
context.translation.serviceRequest.heading5(context),
|
|
|
|
|
'${context.translation.assetName}: ${request.assetName?.cleanupWhitespace.capitalizeFirstOfEach}'.bodyText(context),
|
|
|
|
|
// '${context.translation.assetNumber}: ${request.assetNo}'.bodyText(context),
|
|
|
|
|
'${context.translation.requestType}: ${request.requestTypeName}'.bodyText(context),
|
|
|
|
|
'${context.translation.requestNo}: ${request.requestNo}'.bodyText(context),
|
|
|
|
|
8.height,
|
|
|
|
|
Row(
|
|
|
|
|
// mainAxisSize: MainAxisSize.min,
|
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
|
children: [
|
|
|
|
|
Text(
|
|
|
|
|
context.translation.viewDetails,
|
|
|
|
|
style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)),
|
|
|
|
|
),
|
|
|
|
|
4.width,
|
|
|
|
|
Icon(
|
|
|
|
|
Icons.arrow_forward,
|
|
|
|
|
color: AppColor.blueStatus(context),
|
|
|
|
|
size: 14,
|
|
|
|
|
)
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
).toShadowContainer(context, showShadow: showShadow).onPress(() {
|
|
|
|
|
//Older code...
|
|
|
|
|
print('request id i got is ${request.id!}');
|
|
|
|
|
Navigator.of(context).push(MaterialPageRoute(builder: (_) => RequestDetailMain(requestId: request.id!)));
|
|
|
|
|
// Navigator.of(context).push(MaterialPageRoute(
|
|
|
|
|
// builder: (_) => const HistoryLogView()));
|
|
|
|
|
});
|
|
|
|
|
if (requestData != null) {
|
|
|
|
|
return Column(
|
|
|
|
|
mainAxisSize: MainAxisSize.min,
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
|
children: [
|
|
|
|
|
Row(
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
|
children: [
|
|
|
|
|
StatusLabel(
|
|
|
|
|
label: requestData!.priorityName!,
|
|
|
|
|
textColor: AppColor.getRequestStatusTextColorByName(context, requestData!.priorityName!),
|
|
|
|
|
backgroundColor: AppColor.getRequestStatusColorByName(context, requestData!.priorityName!),
|
|
|
|
|
),
|
|
|
|
|
8.width,
|
|
|
|
|
StatusLabel(
|
|
|
|
|
label: requestData!.statusName!,
|
|
|
|
|
textColor: AppColor.getRequestStatusTextColorByName(context, requestData!.statusName!),
|
|
|
|
|
backgroundColor: AppColor.getRequestStatusColorByName(context, requestData!.statusName!),
|
|
|
|
|
),
|
|
|
|
|
1.width.expanded,
|
|
|
|
|
Text(requestData!.transactionDate!.toServiceRequestCardFormat,
|
|
|
|
|
textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50)),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
8.height,
|
|
|
|
|
context.translation.serviceRequest.heading5(context),
|
|
|
|
|
'${context.translation.assetName}: ${requestData!.assetName?.cleanupWhitespace.capitalizeFirstOfEach}'.bodyText(context),
|
|
|
|
|
// '${context.translation.assetNumber}: ${request.assetNo}'.bodyText(context),
|
|
|
|
|
'${context.translation.requestType}: ${requestData!.requestTypeName}'.bodyText(context),
|
|
|
|
|
'${context.translation.requestNo}: ${requestData!.requestNo}'.bodyText(context),
|
|
|
|
|
8.height,
|
|
|
|
|
Row(
|
|
|
|
|
// mainAxisSize: MainAxisSize.min,
|
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
|
children: [
|
|
|
|
|
Text(
|
|
|
|
|
context.translation.viewDetails,
|
|
|
|
|
style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)),
|
|
|
|
|
),
|
|
|
|
|
4.width,
|
|
|
|
|
Icon(
|
|
|
|
|
Icons.arrow_forward,
|
|
|
|
|
color: AppColor.blueStatus(context),
|
|
|
|
|
size: 14,
|
|
|
|
|
)
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
).toShadowContainer(context, showShadow: showShadow).onPress(() {
|
|
|
|
|
Navigator.of(context).push(MaterialPageRoute(builder: (_) => RequestDetailMain(requestId: requestData!.id!)));
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
if (requestDetails != null) {
|
|
|
|
|
return Column(
|
|
|
|
|
mainAxisSize: MainAxisSize.min,
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
|
children: [
|
|
|
|
|
Row(
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
|
children: [
|
|
|
|
|
StatusLabel(
|
|
|
|
|
label: requestDetails!.priority,
|
|
|
|
|
textColor: AppColor.getRequestStatusTextColorByName(context, requestDetails!.priority),
|
|
|
|
|
backgroundColor: AppColor.getRequestStatusColorByName(context, requestDetails!.priority),
|
|
|
|
|
),
|
|
|
|
|
8.width,
|
|
|
|
|
StatusLabel(
|
|
|
|
|
label: requestDetails!.status,
|
|
|
|
|
textColor: AppColor.getRequestStatusTextColorByName(context, requestDetails!.status),
|
|
|
|
|
backgroundColor: AppColor.getRequestStatusColorByName(context, requestDetails!.status),
|
|
|
|
|
),
|
|
|
|
|
1.width.expanded,
|
|
|
|
|
Text(requestDetails!.date!.toServiceRequestCardFormat, textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50)),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
8.height,
|
|
|
|
|
context.translation.serviceRequest.heading5(context),
|
|
|
|
|
'${context.translation.assetName}: ${requestDetails!.assetName?.cleanupWhitespace?.capitalizeFirstOfEach}'.bodyText(context),
|
|
|
|
|
'${context.translation.assetNumber}: ${requestDetails!.assetNo}'.bodyText(context),
|
|
|
|
|
'${context.translation.requestType}: ${requestDetails!.requestType}'.bodyText(context),
|
|
|
|
|
'${context.translation.requestNo}: ${requestDetails!.requestNo}'.bodyText(context),
|
|
|
|
|
8.height,
|
|
|
|
|
Row(
|
|
|
|
|
// mainAxisSize: MainAxisSize.min,
|
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
|
children: [
|
|
|
|
|
Text(
|
|
|
|
|
context.translation.viewDetails,
|
|
|
|
|
style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)),
|
|
|
|
|
),
|
|
|
|
|
4.width,
|
|
|
|
|
Icon(
|
|
|
|
|
Icons.arrow_forward,
|
|
|
|
|
color: AppColor.blueStatus(context),
|
|
|
|
|
size: 14,
|
|
|
|
|
)
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
).toShadowContainer(context, showShadow: showShadow).onPress(() {
|
|
|
|
|
Navigator.of(context).push(MaterialPageRoute(builder: (_) => RequestDetailMain(requestId: requestDetails!.id!)));
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return SizedBox();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|