From 3787bb26e492137f4c91cce20143f4c159661968 Mon Sep 17 00:00:00 2001 From: WaseemAbbasi22 Date: Sun, 24 Nov 2024 14:24:54 +0300 Subject: [PATCH] testing issues fixed --- lib/dashboard_latest/dashboard_provider.dart | 12 ++++++-- .../widgets/request_category_fragment.dart | 29 ++++++++++--------- .../widgets/requests_fragment.dart | 2 +- lib/l10n/app_ar.arb | 2 ++ lib/l10n/app_en.arb | 2 ++ lib/models/new_models/dashboard_detail.dart | 4 ++- .../pages/land_page/requests_list_page.dart | 5 +++- .../service_request_bottomsheet.dart | 19 ++++-------- .../components/weekly_calendar_fragment.dart | 19 ++++++------ 9 files changed, 51 insertions(+), 43 deletions(-) diff --git a/lib/dashboard_latest/dashboard_provider.dart b/lib/dashboard_latest/dashboard_provider.dart index 68c61821..eb2cb0f1 100644 --- a/lib/dashboard_latest/dashboard_provider.dart +++ b/lib/dashboard_latest/dashboard_provider.dart @@ -15,7 +15,15 @@ class DashBoardProvider extends ChangeNotifier { bool isAllCountLoading = false; bool isLoading = false; bool _isDetailLoading = false; - bool _isShowDashBoardCalendar = false; + bool _isShowDashBoardCalendar = true; + DateTime _upcomingFilterSelectedDate = DateTime.now(); + + DateTime get upcomingFilterSelectedDate => _upcomingFilterSelectedDate; + + set upcomingFilterSelectedDate(DateTime value) { + _upcomingFilterSelectedDate = value; + notifyListeners(); + } bool get isShowDashBoardCalendar => _isShowDashBoardCalendar; @@ -200,7 +208,7 @@ class DashBoardProvider extends ChangeNotifier { Map body = {"pageNumber": pageNum, "pageSize": pageItemNumber}; if (status != null && status == 0) { - body["date"] = date ?? DateTime.now().toIso8601String(); + body["date"] = date ??upcomingFilterSelectedDate.toIso8601String(); } else { body["statusValue"] = status; } diff --git a/lib/dashboard_latest/widgets/request_category_fragment.dart b/lib/dashboard_latest/widgets/request_category_fragment.dart index ea04a212..83179357 100644 --- a/lib/dashboard_latest/widgets/request_category_fragment.dart +++ b/lib/dashboard_latest/widgets/request_category_fragment.dart @@ -23,20 +23,22 @@ class RequestCategoryFragment extends StatelessWidget { bool isNurse = (Provider.of(context, listen: false).user?.type) == UsersTypes.normal_user; return Column(mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.start, children: [ //TODO uncommit this to get the calendar card.. - !isNurse&&dashboardProvider.tabs[dashboardProvider.currentListIndex].tag==0 + !isNurse && dashboardProvider.tabs.isNotEmpty && dashboardProvider.tabs[dashboardProvider.currentListIndex].tag == 0 ? Column( + crossAxisAlignment: CrossAxisAlignment.start, children: [ - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - context.translation.allWorkOrder.heading4(context), - GestureDetector( - onTap: () { - dashboardProvider.isShowDashBoardCalendar = !dashboardProvider.isShowDashBoardCalendar; - }, - child: dashboardProvider.isShowDashBoardCalendar ? AppAsset.listIcon.toSvgAsset() : AppAsset.calendarIcon.toSvgAsset()) - ], - ), + context.translation.allWorkOrder.heading4(context), + // Row( + // mainAxisAlignment: MainAxisAlignment.spaceBetween, + // children: [ + // context.translation.allWorkOrder.heading4(context), + // GestureDetector( + // onTap: () { + // dashboardProvider.isShowDashBoardCalendar = !dashboardProvider.isShowDashBoardCalendar; + // }, + // child: dashboardProvider.isShowDashBoardCalendar ? AppAsset.listIcon.toSvgAsset() : AppAsset.calendarIcon.toSvgAsset()) + // ], + // ), dashboardProvider.isShowDashBoardCalendar ? Padding( padding: EdgeInsets.only(top: 12.toScreenHeight), @@ -45,8 +47,7 @@ class RequestCategoryFragment extends StatelessWidget { : const SizedBox(), ], ).paddingOnly(start: 14, end: 12) - : - context.translation.allWorkOrder.heading4(context).paddingOnly(start: 16, end: 16), + : context.translation.allWorkOrder.heading4(context).paddingOnly(start: 16, end: 16), getTabs( requestsProvider: dashboardProvider, context: context, diff --git a/lib/dashboard_latest/widgets/requests_fragment.dart b/lib/dashboard_latest/widgets/requests_fragment.dart index 0b7a5958..f5cbdd1b 100644 --- a/lib/dashboard_latest/widgets/requests_fragment.dart +++ b/lib/dashboard_latest/widgets/requests_fragment.dart @@ -49,7 +49,7 @@ class RequestsFragment extends StatelessWidget { onTap: isLoading ? null : () async { - Navigator.push(context, MaterialPageRoute(builder: (context) => RequestsListPage(index, title))); + await Navigator.push(context, MaterialPageRoute(builder: (context) => RequestsListPage(index, title))); Provider.of(context, listen: false).refreshDashboard(userType: Provider.of(context, listen: false).user!.type!, context: context); }, child: Column( diff --git a/lib/l10n/app_ar.arb b/lib/l10n/app_ar.arb index f5826f22..c639d9d6 100644 --- a/lib/l10n/app_ar.arb +++ b/lib/l10n/app_ar.arb @@ -16,6 +16,8 @@ "exit": "إغلاق", "requestDetails": "تفاصيل الطلب", "retirementType": "نوع التقاعد", + "endDateTimeMustBeGreaterThanStartDate": "يجب أن يكون تاريخ ووقت الانتهاء أكبر من تاريخ البدء", + "signaturesAreRequired": "التوقيعات مطلوبة", "assetRetiredPendingOpManagementApproval": "تم تقاعد الأصل. في انتظار موافقة إدارة العمليات", "youMarkedThisIssueAsFixedWaitingForTheRequesterToConfirm": "لقد قمت بوضع علامة على هذه المشكلة على أنها تم إصلاحها. في انتظار تأكيد مقدم الطلب", "assetRetirementRequestSubmittedSuccessfully": "تم تقديم طلب تقاعد الأصل بنجاح", diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index dff25392..6513c04c 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -61,6 +61,8 @@ "edit": "Edit", "emailNotFound": "Email not found", "from": "From", + "endDateTimeMustBeGreaterThanStartDate": "End Date time must be greater than start date", + "signaturesAreRequired": "Signatures are required", "to": "To", "linkNotFound": "Link not found", "nameNotFound": "Name not found", diff --git a/lib/models/new_models/dashboard_detail.dart b/lib/models/new_models/dashboard_detail.dart index abc33163..9e091277 100644 --- a/lib/models/new_models/dashboard_detail.dart +++ b/lib/models/new_models/dashboard_detail.dart @@ -10,13 +10,15 @@ class DashboardDetail { DashboardDetail({this.data, this.totalRows, this.message, this.title, this.innerMessage, this.responseCode, this.isSuccess}); DashboardDetail.fromJson(Map json) { + totalRows = json['totalRows']; + print('total rows is $totalRows'); if (json['data'] != null) { data = []; json['data'].forEach((v) { data!.add(Data.fromJson(v)); }); } - totalRows = json['totalRows']; + message = json['message']; title = json['title']; innerMessage = json['innerMessage']; diff --git a/lib/new_views/pages/land_page/requests_list_page.dart b/lib/new_views/pages/land_page/requests_list_page.dart index 8301a4e6..a62b5980 100644 --- a/lib/new_views/pages/land_page/requests_list_page.dart +++ b/lib/new_views/pages/land_page/requests_list_page.dart @@ -1,4 +1,5 @@ import 'dart:async'; +import 'dart:developer'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; @@ -37,7 +38,6 @@ class _RequestsListPageState extends State { _dashBoardProvider.resetRequestDataList(); callRequestApis(); }); - handleScroll(); } @@ -51,9 +51,12 @@ class _RequestsListPageState extends State { _scrollController = ScrollController(); int pageNo = 1; _scrollController.addListener(() async { + log('loading value i got is ${_dashBoardProvider.isDetailLoading}'); + log('total rows i got is ${_dashBoardProvider.requestDetailList!.totalRows}'); if (_scrollController.position.pixels == _scrollController.position.maxScrollExtent && !_dashBoardProvider.isDetailLoading && (_dashBoardProvider.requestDetailList!.data!.length < _dashBoardProvider.requestDetailList!.totalRows!.toInt())) { + log('I am here in scroll '); pageNo = pageNo + 1; _dashBoardProvider.pageNum = pageNo; callRequestApis(showLoader: false, pageNo: pageNo); diff --git a/lib/service_request_latest/views/components/bottom_sheets/service_request_bottomsheet.dart b/lib/service_request_latest/views/components/bottom_sheets/service_request_bottomsheet.dart index b3d9bfc9..ce023edc 100644 --- a/lib/service_request_latest/views/components/bottom_sheets/service_request_bottomsheet.dart +++ b/lib/service_request_latest/views/components/bottom_sheets/service_request_bottomsheet.dart @@ -263,7 +263,6 @@ class ServiceRequestBottomSheet { ); requestDetailProvider.needVisitHelperModel?.visitDate = selectedDateTime; requestDetailProvider.updateNeedVisitHelperModel(requestDetailProvider.needVisitHelperModel); - print('selected date time i got is ${requestDetailProvider.needVisitHelperModel?.visitDate}'); } }); }, @@ -297,23 +296,17 @@ class ServiceRequestBottomSheet { } if (requestDetailProvider.currentWorkOrder?.data?.nextStep!.workOrderNextStepEnum == WorkOrderNextStepEnum.eArrived) { requestDetailProvider.needVisitHelperModel?.workOrderId = requestDetailProvider.currentWorkOrder!.data!.requestId; - // requestDetailProvider.updateNeedVisitHelperModel(NeedVisitHelperModel( - // workOrderId: requestDetailProvider.needVisitHelperModel?.workOrderId, - // visitDate: requestDetailProvider.needVisitHelperModel?.visitDate, - // comment: requestDetailProvider.needVisitHelperModel?.comment, - // )); - print('visit date i got is ${requestDetailProvider.needVisitHelperModel?.visitDate}'); requestDetailProvider.engineerUpdateNeedVisit(); - // await requestDetailProvider.getWorkOrderById(id: requestDetailProvider.needVisitHelperModel!.workOrderId!); + Navigator.pop(context); } else { requestDetailProvider.needVisitHelperModel?.workOrderId = requestDetailProvider.currentWorkOrder!.data!.requestId; requestDetailProvider.engineerNeedVisit(); - requestDetailProvider.needVisitHelperModel = NeedVisitHelperModel(); getReminderTimeList(context: context); + Navigator.pop(context); initialVisitReminderBottomSheet(context: context); } - Navigator.pop(context); + // }, @@ -984,7 +977,6 @@ class ServiceRequestBottomSheet { setState(() { newSignature = signature; nurseSignature = "${DateTime.now().toIso8601String()}.png|${base64Encode(signature)}"; - print('signature i got is ${newSignature}'); }); }, onSaved: (signature) { @@ -992,7 +984,6 @@ class ServiceRequestBottomSheet { setState(() { newSignature = signature; nurseSignature = "${DateTime.now().toIso8601String()}.png|${base64Encode(signature)}"; - print('signature i got is ${newSignature}'); }); }, ), @@ -1030,13 +1021,13 @@ class ServiceRequestBottomSheet { workOrderId: requestDetailProvider.currentWorkOrder!.data!.requestId!, signatureNurse: nurseSignature, ); - await requestDetailProvider.nurseConfirm(); + requestDetailProvider.nurseConfirm(); if (requestDetailProvider.currentWorkOrder!.data!.requestId != null) { requestDetailProvider.getWorkOrderById(id: requestDetailProvider.currentWorkOrder!.data!.requestId!); } Navigator.pop(context); } else { - //show some toast... + context.translation.signaturesAreRequired.showToast; } }, ).expanded, diff --git a/lib/service_request_latest/views/components/weekly_calendar_fragment.dart b/lib/service_request_latest/views/components/weekly_calendar_fragment.dart index 335f93cf..4d5b2289 100644 --- a/lib/service_request_latest/views/components/weekly_calendar_fragment.dart +++ b/lib/service_request_latest/views/components/weekly_calendar_fragment.dart @@ -17,14 +17,13 @@ class WeeklyCalendarFragment extends StatefulWidget { } class _WeeklyCalendarFragmentState extends State { - DateTime? selectedDate = DateTime.now(); // Initially select today's date @override Widget build(BuildContext context) { List weekDates = getWeekDates(); return Consumer( - builder: (context, snapshot, _) => GridView.builder( + builder: (context, dashBoardProvider, _) => GridView.builder( padding: EdgeInsets.zero, physics: const NeverScrollableScrollPhysics(), shrinkWrap: true, @@ -41,23 +40,23 @@ class _WeeklyCalendarFragmentState extends State { String formattedDate = DateFormat('dd MMM').format(currentDate); // Check if the current date is selected - bool isSelected = selectedDate != null && selectedDate!.day == currentDate.day && selectedDate!.month == currentDate.month && selectedDate!.year == currentDate.year; + bool isSelected = dashBoardProvider.upcomingFilterSelectedDate.day == currentDate.day && dashBoardProvider.upcomingFilterSelectedDate.month == currentDate.month && dashBoardProvider.upcomingFilterSelectedDate.year == currentDate.year; return listItem( formattedDate: formattedDate, formattedDay: formattedDay, context: context, - isLoading: snapshot.isAllCountLoading, + isLoading: dashBoardProvider.isAllCountLoading, currentDate: currentDate, isSelected: isSelected, onSelect: () { - setState(() { - selectedDate = currentDate; // Update selected date on tap - }); - log('selected date:${selectedDate?.toIso8601String()}'); - DashBoardProvider dashBoardProvider = Provider.of(context, listen: false); + dashBoardProvider.upcomingFilterSelectedDate = currentDate; + // setState(() { + // selectedDate = currentDate; // Update selected date on tap + // }); + log('selected date:${dashBoardProvider.upcomingFilterSelectedDate.toIso8601String()}'); dashBoardProvider.resetRequestDataList(); - dashBoardProvider.getRequestDetail(usersType: UsersTypes.engineer, date: selectedDate?.toIso8601String(), status: 0); + dashBoardProvider.getRequestDetail(usersType: UsersTypes.engineer, date: dashBoardProvider.upcomingFilterSelectedDate.toIso8601String(), status: 0); }, ); },