|
|
|
|
@ -1,25 +1,75 @@
|
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
|
import 'package:provider/provider.dart';
|
|
|
|
|
import 'package:test_sa/controllers/providers/api/all_requests_provider.dart';
|
|
|
|
|
import 'package:test_sa/extensions/context_extension.dart';
|
|
|
|
|
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/ppm/recurrent_wo.dart';
|
|
|
|
|
import 'package:test_sa/models/new_models/dashboard_detail.dart';
|
|
|
|
|
import 'package:test_sa/new_views/app_style/app_color.dart';
|
|
|
|
|
import 'package:test_sa/views/pages/user/ppm/ppm_work_order/recurrent_wo/recurrent_work_order_view.dart';
|
|
|
|
|
|
|
|
|
|
import '../../../../views/widgets/requests/request_status.dart';
|
|
|
|
|
|
|
|
|
|
class RecurrentWoItemView extends StatelessWidget {
|
|
|
|
|
final Data? requestData;
|
|
|
|
|
final RequestsDetails? requestDetails;
|
|
|
|
|
final bool showShadow;
|
|
|
|
|
|
|
|
|
|
const RecurrentWoItemView({Key? key, this.requestDetails, this.showShadow = true}) : super(key: key);
|
|
|
|
|
const RecurrentWoItemView({Key? key, this.requestData, this.requestDetails, this.showShadow = true}) : super(key: key);
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
|
if (requestData != null) {
|
|
|
|
|
return Column(
|
|
|
|
|
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,
|
|
|
|
|
(requestData?.typeTransaction ?? context.translation.ppmRequest).heading5(context),
|
|
|
|
|
8.height,
|
|
|
|
|
// '${context.translation.assetNumber}: ${requestData!.assetNumber}'.bodyText(context),
|
|
|
|
|
// '${context.translation.assetSN}: ${request.assetSN}'.bodyText(context),//todo ask ahmed
|
|
|
|
|
// '${context.translation.code}: ${request.code}'.bodyText(context),
|
|
|
|
|
'${context.translation.requestNo}: ${requestData!.requestNo}'.bodyText(context),
|
|
|
|
|
16.height,
|
|
|
|
|
Row(
|
|
|
|
|
mainAxisSize: MainAxisSize.min,
|
|
|
|
|
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, withShadow: showShadow).onPress(() {
|
|
|
|
|
Navigator.of(context).push(MaterialPageRoute(builder: (_) => RecurrentWorkOrderView(taskId: requestData!.id)));
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
if (requestDetails != null) {
|
|
|
|
|
return Column(
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
|
|