timer issue fixed.

design_3.0_task_module_new
Sikander Saleem 4 months ago
parent 60979b7f95
commit 407c913002

@ -80,37 +80,7 @@ class _ActivitiesListViewState extends State<ActivitiesListView> {
children: [
(activities.isEmpty && reOrderActivities.isEmpty)
? NoDataFound(message: context.translation.noDataFound).center.expanded
:
// : showReorderView
// ? ReorderableListView(
// padding: const EdgeInsets.all(16),
// children: [
// for (int index = 0; index < reOrderActivities.length; index++)
// if (reOrderActivities[index].activityMaintenance != null)
// ReorderWidget(
// key: ValueKey(index),
// child: maintenanceActivityCard(requestDetailProvider: requestDetailProvider, userProvider: userProvider, context: context, activity: reOrderActivities[index])
// .paddingOnly(top: 8, bottom: 8),
// )
// else
// ReorderWidget(
// key: ValueKey(index),
// child: sparePartActivityCard(requestDetailProvider: requestDetailProvider, userProvider: userProvider, context: context, activity: reOrderActivities[index])
// .paddingOnly(top: 8, bottom: 8),
// )
// ],
// onReorder: (oldIndex, newIndex) {
// setState(() {
// if (oldIndex < newIndex) {
// newIndex -= 1;
// }
// final Activities item = reOrderActivities.removeAt(oldIndex);
// reOrderActivities.insert(newIndex, item);
// });
// }).expanded
// :
ListView.separated(
: ListView.separated(
padding: const EdgeInsets.all(16),
itemCount: activities.length,
separatorBuilder: (czt, index) => 16.height,
@ -131,17 +101,6 @@ class _ActivitiesListViewState extends State<ActivitiesListView> {
loading: requestDetailProvider.isLoading,
disableButton: disableNewActivity,
onPressed: () async {
// if (showReorderView) {
// // requestDetailProvider.currentWorkOrder!.data!.activities = reOrderActivities;
// List<Map<String, dynamic>> data = [];
// for (int i = 0; i < reOrderActivities.length; i++) {
// data.add({"id": reOrderActivities[i].id, "orderNo": i});
// }
// reOrderActivities = [];
// requestDetailProvider.reOrderActivities(workOrderId: requestDetailProvider.currentWorkOrder!.data!.requestId!, reOrderActivityDTOs: data);
// showReorderView = false;
// return;
// }
ServiceRequestBottomSheet.activityTypeBottomSheet(context: context);
},
))
@ -152,6 +111,11 @@ class _ActivitiesListViewState extends State<ActivitiesListView> {
}
Widget sparePartActivityCard({required ServiceRequestDetailProvider requestDetailProvider, required UserProvider userProvider, required BuildContext context, required Activities activity}) {
bool showActionButtons = userProvider.user!.userID == requestDetailProvider.currentWorkOrder?.data?.assignedEmployee?.userId &&
userProvider.user!.type == UsersTypes.engineer &&
requestDetailProvider.currentWorkOrder?.data?.status?.value != 5 &&
requestDetailProvider.currentWorkOrder?.data?.status?.value != 3;
return Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start,
@ -167,10 +131,7 @@ class _ActivitiesListViewState extends State<ActivitiesListView> {
backgroundColor: AppColor.primary10,
),
// "drag_icon".toSvgAsset(height: 12, width: 23, color: AppColor.neutral160),
if (userProvider.user!.userID == requestDetailProvider.currentWorkOrder?.data?.assignedEmployee?.userId &&
userProvider.user!.type == UsersTypes.engineer &&
requestDetailProvider.currentWorkOrder?.data?.status?.value != 5 &&
requestDetailProvider.currentWorkOrder?.data?.status?.value != 3)
if (showActionButtons)
Row(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
@ -225,10 +186,10 @@ class _ActivitiesListViewState extends State<ActivitiesListView> {
],
],
).toShadowContainer(context, padding: 12, showShadow: false).onPress(() {
if (showActionButtons) return;
if (requestDetailProvider.isReadOnlyRequest) {
editSparePartRequest(context: context, requestDetailProvider: requestDetailProvider, activity: activity);
}
else if(userProvider.user!.userID == requestDetailProvider.currentWorkOrder?.data?.assignedEmployee?.userId) {
} else if (userProvider.user!.userID == requestDetailProvider.currentWorkOrder?.data?.assignedEmployee?.userId) {
requestDetailProvider.isReadOnlyRequest = true;
editSparePartRequest(context: context, requestDetailProvider: requestDetailProvider, activity: activity);
}
@ -239,6 +200,10 @@ class _ActivitiesListViewState extends State<ActivitiesListView> {
double totalWorkingHours =
activity.activityMaintenance?.activityMaintenanceTimers?.fold(0.0, (sum, item) => (sum ?? 0) + DateTime.parse(item.endTime!).difference(DateTime.parse(item.startTime!)).inSeconds) ?? 0;
bool showActionButtons = userProvider.user!.userID == requestDetailProvider.currentWorkOrder?.data?.assignedEmployee?.userId &&
userProvider.user!.type == UsersTypes.engineer &&
requestDetailProvider.currentWorkOrder?.data?.status?.value != 5 &&
requestDetailProvider.currentWorkOrder?.data?.status?.value != 3;
return Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start,
@ -268,10 +233,7 @@ class _ActivitiesListViewState extends State<ActivitiesListView> {
),
// "drag_icon".toSvgAsset(height: 12, width: 23, color: AppColor.neutral160),
if (userProvider.user!.userID == requestDetailProvider.currentWorkOrder?.data?.assignedEmployee?.userId &&
userProvider.user!.type == UsersTypes.engineer &&
requestDetailProvider.currentWorkOrder?.data?.status?.value != 5 &&
requestDetailProvider.currentWorkOrder?.data?.status?.value != 3)
if (showActionButtons)
Row(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
@ -338,10 +300,10 @@ class _ActivitiesListViewState extends State<ActivitiesListView> {
// ]
],
).toShadowContainer(context, padding: 12, showShadow: false).onPress(() {
if (showActionButtons) return;
if (requestDetailProvider.isReadOnlyRequest) {
editMaintenanceRequest(context: context, requestDetailProvider: requestDetailProvider, activity: activity);
}
else if(userProvider.user!.userID == requestDetailProvider.currentWorkOrder?.data?.assignedEmployee?.userId) {
} else if (userProvider.user!.userID == requestDetailProvider.currentWorkOrder?.data?.assignedEmployee?.userId) {
requestDetailProvider.isReadOnlyRequest = true;
editMaintenanceRequest(context: context, requestDetailProvider: requestDetailProvider, activity: activity);
}
@ -399,7 +361,7 @@ class _ActivitiesListViewState extends State<ActivitiesListView> {
if (activity.activityMaintenance?.supplier != null) {
requestDetailProvider.activityMaintenanceHelperModel?.supplier?.suppPersons = await requestDetailProvider.getSupplierEngineerData(supplierName: activity.activityMaintenance!.supplier!.name!);
}
requestDetailProvider.updateActivityMaintenanceHelperModel(requestDetailProvider.activityMaintenanceHelperModel);
// requestDetailProvider.updateActivityMaintenanceHelperModel(requestDetailProvider.activityMaintenanceHelperModel);
// return;
} catch (e) {
print("Edit error $e");

@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:fluttertoast/fluttertoast.dart';
import 'package:provider/provider.dart';
import 'package:test_sa/controllers/api_routes/api_manager.dart';
import 'package:test_sa/controllers/providers/api/status_drop_down/report/service_report_repair_location_provider.dart';
import 'package:test_sa/extensions/context_extension.dart';
import 'package:test_sa/extensions/int_extensions.dart';
@ -168,14 +169,44 @@ class _MaintenanceRequestFormState extends State<MaintenanceRequestForm> with Si
Fluttertoast.showToast(msg: "${context.translation.youHaveToSelect} ${context.translation.activityStatus}");
return false;
}
if (model.activityMaintenanceTimerModel?.startAt == null) {
Fluttertoast.showToast(msg: "Working Hours Required");
return false;
}
if (model.activityMaintenanceTimerModel?.endAt == null) {
Fluttertoast.showToast(msg: "Please Stop The Timer");
return false;
bool isTimerPickerEnable = ApiManager.instance.assetGroup?.enabledEngineerTimer ?? false;
if (isTimerPickerEnable) {
if (model.activityMaintenanceTimerModel?.startAt == null && model.activityTimePicker == null) {
Fluttertoast.showToast(msg: "Working Hours Required");
return false;
}
if (model.activityTimePicker == null) {
if (model.activityMaintenanceTimerModel?.startAt == null) {
Fluttertoast.showToast(msg: "Working Hours Required");
return false;
}
if (model.activityMaintenanceTimerModel?.endAt == null) {
Fluttertoast.showToast(msg: "Please Stop The Timer");
return false;
}
}
} else {
if (model.activityMaintenanceTimerModel?.startAt == null) {
Fluttertoast.showToast(msg: "Working Hours Required");
return false;
}
if (model.activityMaintenanceTimerModel?.endAt == null) {
Fluttertoast.showToast(msg: "Please Stop The Timer");
return false;
}
}
//
// if (model.activityMaintenanceTimerModel?.startAt == null) {
// Fluttertoast.showToast(msg: "Working Hours Required");
// return false;
// }
// if (model.activityMaintenanceTimerModel?.endAt == null) {
// Fluttertoast.showToast(msg: "Please Stop The Timer");
// return false;
// }
// if (model.startTime == null) {
// Fluttertoast.showToast(msg: "${context.translation.youHaveToSelect} ${context.translation.startTime}");
// return false;

@ -166,7 +166,7 @@ class _AppTimerState extends State<AppTimer> {
backgroundColor: AppColor.neutral100,
date: _pickerStartAt,
from: widget.pickerFromDate,
enable: _tempPickerTimer == null,
enable: widget.enabled ? _tempPickerTimer == null:false,
formatDateWithTime: true,
onDatePicker: (selectedDate) {
showTimePicker(
@ -185,7 +185,7 @@ class _AppTimerState extends State<AppTimer> {
label: context.translation.endTime,
hideShadow: true,
backgroundColor: AppColor.neutral100,
enable: _pickerStartAt != null,
enable: widget.enabled? _pickerStartAt != null:false,
from:_pickerStartAt,
date: _pickerEndAt,
to: DateTime.now(),

Loading…
Cancel
Save