Merge remote-tracking branch 'origin/design_3.0_TM_Module_bug_fixes' into design_3.0_TM_Module_bug_fixes

design_3.0_task_module_new
WaseemAbbasi22 6 months ago
commit b577343353

@ -59,6 +59,7 @@ class DeviceItemView extends StatelessWidget {
'${context.translation.requestNo}: ${requestData!.requestNo}'.bodyText(context),
],
),
8.height,
Row(
mainAxisSize: MainAxisSize.min,
children: [
@ -111,14 +112,16 @@ class DeviceItemView extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
'${context.translation.requestNo}: ${requestDetails!.requestNo}'.bodyText(context),
(requestDetails?.nameOfType ?? context.translation.deviceTransferRequest).heading5(context),
8.height,
'${context.translation.requestNo}: ${requestDetails!.requestNo}'.bodyText(context),
"${context.translation.from} : ${requestDetails!.siteTransferFrom?.cleanupWhitespace.capitalizeFirstOfEach}".bodyText(context),
"${context.translation.to} : ${requestDetails!.siteTransferTo?.cleanupWhitespace.capitalizeFirstOfEach}".bodyText(context),
requestDetails!.status!.replaceAll("=", ":").bodyText(context),
],
),
8.height,
Row(
mainAxisSize: MainAxisSize.min,
children: [

@ -108,6 +108,7 @@ class GasRefillItemView extends StatelessWidget {
),
8.height,
(requestDetails?.nameOfType ?? context.translation.gasRefillRequest).heading5(context),
8.height,
'${context.translation.gasType}: ${requestDetails!.gasType}'.bodyText(context),
'${context.translation.site}: ${requestDetails!.site?.cleanupWhitespace?.capitalizeFirstOfEach}'.bodyText(context),
'${context.translation.requestNo}: ${requestDetails!.requestNo}'.bodyText(context),

@ -54,7 +54,7 @@ class PpmItemView extends StatelessWidget {
// '${context.translation.assetSN}: ${request.assetSN}'.bodyText(context),//todo ask ahmed
// '${context.translation.code}: ${request.code}'.bodyText(context),
'PM No: ${requestData!.requestNo}'.bodyText(context),
16.height,
8.height,
Row(
mainAxisSize: MainAxisSize.min,
children: [
@ -105,7 +105,7 @@ class PpmItemView extends StatelessWidget {
'${context.translation.assetSN}: ${requestDetails!.assetSN}'.bodyText(context),
// '${context.translation.code}: ${request.code}'.bodyText(context),
'PM No: ${requestDetails!.requestNo}'.bodyText(context),
16.height,
8.height,
Row(
mainAxisSize: MainAxisSize.min,
children: [

@ -53,7 +53,7 @@ class RecurrentWoItemView extends StatelessWidget {
// '${context.translation.assetSN}: ${request.assetSN}'.bodyText(context),//todo ask ahmed
// '${context.translation.code}: ${request.code}'.bodyText(context),
'${context.translation.taskNo}: ${requestData!.requestNo}'.bodyText(context),
16.height,
8.height,
Row(
mainAxisSize: MainAxisSize.min,
children: [
@ -103,7 +103,7 @@ class RecurrentWoItemView extends StatelessWidget {
'${context.translation.site}: ${requestDetails!.site}'.bodyText(context),
// '${context.translation.code}: ${request.code}'.bodyText(context),
'${context.translation.taskNo}: ${requestDetails!.requestNo}'.bodyText(context),
16.height,
8.height,
Row(
mainAxisSize: MainAxisSize.min,
children: [

@ -7,6 +7,8 @@ import 'package:test_sa/new_views/pages/land_page/requests/gas_refill_item_view.
import 'package:test_sa/new_views/pages/land_page/requests/ppm_item_view.dart';
import 'package:test_sa/new_views/pages/land_page/requests/recurrent_wo_item_view.dart';
import 'package:test_sa/new_views/pages/land_page/requests/service_request_item_view.dart';
import 'package:test_sa/views/pages/user/tasks_request/task_request_detail_view.dart';
import 'package:test_sa/views/pages/user/tasks_request/task_request_item_view.dart';
class RequestPaginatedListview extends StatelessWidget {
final List<Data> list;
@ -18,7 +20,6 @@ class RequestPaginatedListview extends StatelessWidget {
@override
Widget build(BuildContext context) {
return ListView.separated(
itemCount: list.length < totalCount ? list.length + 1 : list.length,
controller: scrollController,
@ -50,12 +51,10 @@ class RequestPaginatedListview extends StatelessWidget {
bool isAssetTransfer = request.transactionNo == 3;
bool isPPMs = request.transactionNo == 4;
bool isRecurrentTask = request.transactionNo == 5;
bool isTask = request.transactionNo == 6;
if (isServiceRequest) {
return ServiceRequestItemView(
requestData: request,
refreshData: false,
);
return ServiceRequestItemView(requestData: request, refreshData: false);
} else if (isGasRefill) {
return GasRefillItemView(requestData: request);
} else if (isPPMs) {
@ -64,6 +63,8 @@ class RequestPaginatedListview extends StatelessWidget {
return DeviceItemView(requestData: request);
} else if (isRecurrentTask) {
return RecurrentWoItemView(requestData: request);
} else if (isTask) {
return TaskRequestItemView(requestData: request);
} else {
return Container(
height: 100,

@ -111,8 +111,12 @@ class _DeviceTransferDetailsState extends State<DeviceTransferDetails> {
_buildTextWidget(_model!.comment!),
],
if (_attachments.isNotEmpty) ...[
8.height,
const Divider().defaultStyle(context),
Text(
"Attachments".addTranslation,
style: AppTextStyles.heading6.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50),
),
8.height,
FilesList(images: _model?.assetTransferAttachments?.map((e) => URLs.getFileUrl(e.attachmentName ?? '') ?? '').toList() ?? []),
//attachmentWidget(),
]

@ -471,7 +471,10 @@ class _UpdateDeviceTransferState extends State<UpdateDeviceTransfer> {
: (widget.model.receiverVisitTimers?.fold(0.0, (sum, item) => (sum ?? 0) + DateTime.parse(item.endDateTime!).difference(DateTime.parse(item.startDateTime!)).inSeconds) ?? 0);
bool isTimerEnable = widget.isSender ? (!(_formModel.senderMachineStatusValue == 3)) : (!(_formModel.receiverMachineStatusValue == 3));
return Scaffold(
appBar: DefaultAppBar(title: context.translation.transferAsset),
appBar: DefaultAppBar(title: context.translation.transferAsset,
onWillPopScope: () {
_update(status: 0);
},),
key: _scaffoldKey,
body: SafeArea(
child: LoadingManager(
@ -555,7 +558,11 @@ class _UpdateDeviceTransferState extends State<UpdateDeviceTransfer> {
),
),
),
);
).handlePopScope(
cxt: context,
onSave: () {
_update(status: 0);
});
}
void updateTimer({TimerModel? timer}) {

@ -1,6 +1,8 @@
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:test_sa/controllers/api_routes/urls.dart';
import 'package:test_sa/controllers/providers/api/gas_refill_comments.dart';
import 'package:test_sa/controllers/providers/api/gas_refill_provider.dart';
import 'package:test_sa/controllers/providers/api/user_provider.dart';
@ -10,9 +12,10 @@ import 'package:test_sa/extensions/string_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/new_views/common_widgets/app_filled_button.dart';
import 'package:test_sa/views/pages/user/gas_refill/gas_refill_form.dart';
import 'package:test_sa/views/widgets/images/multi_image_picker.dart';
import 'package:test_sa/views/widgets/images/files_list.dart';
import 'package:test_sa/views/widgets/loaders/app_loading.dart';
import 'package:test_sa/views/widgets/loaders/no_data_found.dart';
import '../../../../extensions/text_extensions.dart';
import '../../../../models/enums/user_types.dart';
import '../../../../models/new_models/gas_refill_model.dart';
@ -164,13 +167,7 @@ class _GasRefillDetailsPageState extends State<GasRefillDetailsPage> {
style: AppTextStyles.heading6.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50),
),
8.height,
MultiFilesPicker(
label: context.translation.attachments,
files: _attachments,
enabled: false,
onlyImages: false,
),
12.height,
FilesList(images: _model?.gasRefillAttachments?.map((e) => URLs.getFileUrl(e.attachmentName ?? '') ?? '').toList() ?? []),
],
],
).expanded,

@ -80,8 +80,7 @@ class _GasRefillFormState extends State<GasRefillForm> {
if (widget.gasRefillModel != null) {
_formModel.fromGasRefillModel(widget.gasRefillModel!);
totalWorkingHours =
_formModel.gasRefillTimers?.fold(0.0, (sum, item) => (sum ?? 0) + DateTime.parse(item.endDate!).difference(DateTime.parse(item.startDate!)).inSeconds) ?? 0;
totalWorkingHours = _formModel.gasRefillTimers?.fold(0.0, (sum, item) => (sum ?? 0) + DateTime.parse(item.endDate!).difference(DateTime.parse(item.startDate!)).inSeconds) ?? 0;
_commentController.text = _formModel.techComment ?? "";
try {
_deliveredQuantity = deliveredQuantity.singleWhere((element) => element.value == _formModel.gasRefillDetails![0].deliverdQty);
@ -130,8 +129,8 @@ class _GasRefillFormState extends State<GasRefillForm> {
});
_formModel.gasRefillAttachments = [];
for (var item in _attachments) {
_formModel.gasRefillAttachments
?.add(GasRefillAttachments(id: 0,gasRefillId: _formModel.id??0, attachmentName: ServiceRequestUtils.isLocalUrl(item.path) ? "${item.path.split("/").last}|${base64Encode(item.readAsBytesSync())}" : item.path));
_formModel.gasRefillAttachments?.add(GasRefillAttachments(
id: 0, gasRefillId: _formModel.id ?? 0, attachmentName: ServiceRequestUtils.isLocalUrl(item.path) ? "${item.path.split("/").last}|${base64Encode(item.readAsBytesSync())}" : item.path));
}
await _gasRefillProvider?.updateGasRefill(status: status, model: _formModel).whenComplete(() {
if (status == 1) {
@ -190,7 +189,12 @@ class _GasRefillFormState extends State<GasRefillForm> {
double totalWorkingHours = _formModel.gasRefillTimers?.fold(0.0, (sum, item) => (sum ?? 0) + DateTime.parse(item.endDate!).difference(DateTime.parse(item.startDate!)).inSeconds) ?? 0;
return Scaffold(
appBar: DefaultAppBar(title: context.translation.gasRefill),
appBar: DefaultAppBar(
title: context.translation.gasRefill,
onWillPopScope: () {
_onSubmit(context, 0);
},
),
key: _scaffoldKey,
body: Form(
key: _formKey,
@ -341,7 +345,11 @@ class _GasRefillFormState extends State<GasRefillForm> {
)),
),
),
);
).handlePopScope(
cxt: context,
onSave: () {
_onSubmit(context, 0);
});
}
Widget _timerWidget(BuildContext context, double totalWorkingHours) {

@ -106,8 +106,8 @@ class _TaskRequestDetailsViewState extends State<TaskRequestDetailsView> {
"Task Details".addTranslation,
style: AppTextStyles.heading4.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50),
),
'${context.translation.taskType}: ${widget.requestDetails?.nameOfType ?? "-"}'.bodyText(context),
'${context.translation.taskNo}: ${widget.requestDetails?.requestNo ?? "-"}'.bodyText(context),
'${context.translation.taskType}: ${taskModel?.taskType?.typeName ?? "-"}'.bodyText(context),
'${context.translation.taskNo}: ${taskModel?.taskJobNo ?? "-"}'.bodyText(context),
if (taskProvider.taskRequestModel?.taskType?.isRecallAndAlert == true) ...[
recallAlertTypeWidget(taskModel: taskProvider.taskRequestModel!),
Column(
@ -171,21 +171,11 @@ class _TaskRequestDetailsViewState extends State<TaskRequestDetailsView> {
);
}
// Widget linkWithAssetWidget({required TaskData taskModel}) {
// return Column(
// crossAxisAlignment: CrossAxisAlignment.start,
// children: [
// // assetDetails(),
// ],
// );
// }
Widget linkWithLocationWidget({required TaskData taskModel}) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
const Divider().defaultStyle(context),
Text(
"Location Details".addTranslation,
style: AppTextStyles.heading4.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50),

@ -84,7 +84,10 @@ class _TaskRequestFormState extends State<TaskRequestForm> {
Widget build(BuildContext context) {
return Consumer<TaskRequestProvider>(builder: (context, taskProvider, child) {
return Scaffold(
appBar: DefaultAppBar(title: context.translation.taskRequest),
appBar: DefaultAppBar(title: context.translation.taskRequest,
onWillPopScope: () {
_updateTask(context: context, status: 0);
},),
key: _scaffoldKey,
body: taskProvider.isLoading
? const ALoading()
@ -164,7 +167,11 @@ class _TaskRequestFormState extends State<TaskRequestForm> {
),
)
: NoDataFound(message: context.translation.noDataFound).center,
);
).handlePopScope(
cxt: context,
onSave: () {
_updateTask(context: context, status: 0);
});
});
}

@ -55,7 +55,7 @@ class TaskRequestItemView extends StatelessWidget {
infoWidget(label: context.translation.requestNo, value: requestData?.requestNo, context: context),
infoWidget(label: context.translation.assetName, value: requestData?.assetName, context: context),
infoWidget(label: context.translation.assetNo, value: requestData?.assetNumber, context: context),
12.height,
8.height,
Row(
mainAxisSize: MainAxisSize.min,
children: [
@ -109,7 +109,7 @@ class TaskRequestItemView extends StatelessWidget {
infoWidget(label: context.translation.assetNo, value: requestDetails!.assetNo, context: context),
infoWidget(label: context.translation.assetSN, value: requestDetails!.assetSN, context: context),
infoWidget(label: context.translation.site, value: requestDetails!.site, context: context),
12.height,
8.height,
Row(
mainAxisSize: MainAxisSize.min,
children: [

Loading…
Cancel
Save