testing issues fixed

design_3.0_latest
WaseemAbbasi22 11 months ago
parent 655a5cf790
commit 3787bb26e4

@ -15,7 +15,15 @@ class DashBoardProvider extends ChangeNotifier {
bool isAllCountLoading = false; bool isAllCountLoading = false;
bool isLoading = false; bool isLoading = false;
bool _isDetailLoading = 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; bool get isShowDashBoardCalendar => _isShowDashBoardCalendar;
@ -200,7 +208,7 @@ class DashBoardProvider extends ChangeNotifier {
Map<String, dynamic> body = {"pageNumber": pageNum, "pageSize": pageItemNumber}; Map<String, dynamic> body = {"pageNumber": pageNum, "pageSize": pageItemNumber};
if (status != null && status == 0) { if (status != null && status == 0) {
body["date"] = date ?? DateTime.now().toIso8601String(); body["date"] = date ??upcomingFilterSelectedDate.toIso8601String();
} else { } else {
body["statusValue"] = status; body["statusValue"] = status;
} }

@ -23,20 +23,22 @@ class RequestCategoryFragment extends StatelessWidget {
bool isNurse = (Provider.of<UserProvider>(context, listen: false).user?.type) == UsersTypes.normal_user; bool isNurse = (Provider.of<UserProvider>(context, listen: false).user?.type) == UsersTypes.normal_user;
return Column(mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.start, children: <Widget>[ return Column(mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.start, children: <Widget>[
//TODO uncommit this to get the calendar card.. //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( ? Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Row( context.translation.allWorkOrder.heading4(context),
mainAxisAlignment: MainAxisAlignment.spaceBetween, // Row(
children: [ // mainAxisAlignment: MainAxisAlignment.spaceBetween,
context.translation.allWorkOrder.heading4(context), // children: [
GestureDetector( // context.translation.allWorkOrder.heading4(context),
onTap: () { // GestureDetector(
dashboardProvider.isShowDashBoardCalendar = !dashboardProvider.isShowDashBoardCalendar; // onTap: () {
}, // dashboardProvider.isShowDashBoardCalendar = !dashboardProvider.isShowDashBoardCalendar;
child: dashboardProvider.isShowDashBoardCalendar ? AppAsset.listIcon.toSvgAsset() : AppAsset.calendarIcon.toSvgAsset()) // },
], // child: dashboardProvider.isShowDashBoardCalendar ? AppAsset.listIcon.toSvgAsset() : AppAsset.calendarIcon.toSvgAsset())
), // ],
// ),
dashboardProvider.isShowDashBoardCalendar dashboardProvider.isShowDashBoardCalendar
? Padding( ? Padding(
padding: EdgeInsets.only(top: 12.toScreenHeight), padding: EdgeInsets.only(top: 12.toScreenHeight),
@ -45,8 +47,7 @@ class RequestCategoryFragment extends StatelessWidget {
: const SizedBox(), : const SizedBox(),
], ],
).paddingOnly(start: 14, end: 12) ).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( getTabs(
requestsProvider: dashboardProvider, requestsProvider: dashboardProvider,
context: context, context: context,

@ -49,7 +49,7 @@ class RequestsFragment extends StatelessWidget {
onTap: isLoading onTap: isLoading
? null ? null
: () async { : () async {
Navigator.push(context, MaterialPageRoute(builder: (context) => RequestsListPage(index, title))); await Navigator.push(context, MaterialPageRoute(builder: (context) => RequestsListPage(index, title)));
Provider.of<DashBoardProvider>(context, listen: false).refreshDashboard(userType: Provider.of<SettingProvider>(context, listen: false).user!.type!, context: context); Provider.of<DashBoardProvider>(context, listen: false).refreshDashboard(userType: Provider.of<SettingProvider>(context, listen: false).user!.type!, context: context);
}, },
child: Column( child: Column(

@ -16,6 +16,8 @@
"exit": "إغلاق", "exit": "إغلاق",
"requestDetails": "تفاصيل الطلب", "requestDetails": "تفاصيل الطلب",
"retirementType": "نوع التقاعد", "retirementType": "نوع التقاعد",
"endDateTimeMustBeGreaterThanStartDate": "يجب أن يكون تاريخ ووقت الانتهاء أكبر من تاريخ البدء",
"signaturesAreRequired": "التوقيعات مطلوبة",
"assetRetiredPendingOpManagementApproval": "تم تقاعد الأصل. في انتظار موافقة إدارة العمليات", "assetRetiredPendingOpManagementApproval": "تم تقاعد الأصل. في انتظار موافقة إدارة العمليات",
"youMarkedThisIssueAsFixedWaitingForTheRequesterToConfirm": "لقد قمت بوضع علامة على هذه المشكلة على أنها تم إصلاحها. في انتظار تأكيد مقدم الطلب", "youMarkedThisIssueAsFixedWaitingForTheRequesterToConfirm": "لقد قمت بوضع علامة على هذه المشكلة على أنها تم إصلاحها. في انتظار تأكيد مقدم الطلب",
"assetRetirementRequestSubmittedSuccessfully": "تم تقديم طلب تقاعد الأصل بنجاح", "assetRetirementRequestSubmittedSuccessfully": "تم تقديم طلب تقاعد الأصل بنجاح",

@ -61,6 +61,8 @@
"edit": "Edit", "edit": "Edit",
"emailNotFound": "Email not found", "emailNotFound": "Email not found",
"from": "From", "from": "From",
"endDateTimeMustBeGreaterThanStartDate": "End Date time must be greater than start date",
"signaturesAreRequired": "Signatures are required",
"to": "To", "to": "To",
"linkNotFound": "Link not found", "linkNotFound": "Link not found",
"nameNotFound": "Name not found", "nameNotFound": "Name not found",

@ -10,13 +10,15 @@ class DashboardDetail {
DashboardDetail({this.data, this.totalRows, this.message, this.title, this.innerMessage, this.responseCode, this.isSuccess}); DashboardDetail({this.data, this.totalRows, this.message, this.title, this.innerMessage, this.responseCode, this.isSuccess});
DashboardDetail.fromJson(Map<String, dynamic> json) { DashboardDetail.fromJson(Map<String, dynamic> json) {
totalRows = json['totalRows'];
print('total rows is $totalRows');
if (json['data'] != null) { if (json['data'] != null) {
data = <Data>[]; data = <Data>[];
json['data'].forEach((v) { json['data'].forEach((v) {
data!.add(Data.fromJson(v)); data!.add(Data.fromJson(v));
}); });
} }
totalRows = json['totalRows'];
message = json['message']; message = json['message'];
title = json['title']; title = json['title'];
innerMessage = json['innerMessage']; innerMessage = json['innerMessage'];

@ -1,4 +1,5 @@
import 'dart:async'; import 'dart:async';
import 'dart:developer';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
@ -37,7 +38,6 @@ class _RequestsListPageState extends State<RequestsListPage> {
_dashBoardProvider.resetRequestDataList(); _dashBoardProvider.resetRequestDataList();
callRequestApis(); callRequestApis();
}); });
handleScroll(); handleScroll();
} }
@ -51,9 +51,12 @@ class _RequestsListPageState extends State<RequestsListPage> {
_scrollController = ScrollController(); _scrollController = ScrollController();
int pageNo = 1; int pageNo = 1;
_scrollController.addListener(() async { _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 && if (_scrollController.position.pixels == _scrollController.position.maxScrollExtent &&
!_dashBoardProvider.isDetailLoading && !_dashBoardProvider.isDetailLoading &&
(_dashBoardProvider.requestDetailList!.data!.length < _dashBoardProvider.requestDetailList!.totalRows!.toInt())) { (_dashBoardProvider.requestDetailList!.data!.length < _dashBoardProvider.requestDetailList!.totalRows!.toInt())) {
log('I am here in scroll ');
pageNo = pageNo + 1; pageNo = pageNo + 1;
_dashBoardProvider.pageNum = pageNo; _dashBoardProvider.pageNum = pageNo;
callRequestApis(showLoader: false, pageNo: pageNo); callRequestApis(showLoader: false, pageNo: pageNo);

@ -263,7 +263,6 @@ class ServiceRequestBottomSheet {
); );
requestDetailProvider.needVisitHelperModel?.visitDate = selectedDateTime; requestDetailProvider.needVisitHelperModel?.visitDate = selectedDateTime;
requestDetailProvider.updateNeedVisitHelperModel(requestDetailProvider.needVisitHelperModel); 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) { if (requestDetailProvider.currentWorkOrder?.data?.nextStep!.workOrderNextStepEnum == WorkOrderNextStepEnum.eArrived) {
requestDetailProvider.needVisitHelperModel?.workOrderId = requestDetailProvider.currentWorkOrder!.data!.requestId; 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(); requestDetailProvider.engineerUpdateNeedVisit();
// await requestDetailProvider.getWorkOrderById(id: requestDetailProvider.needVisitHelperModel!.workOrderId!); Navigator.pop(context);
} else { } else {
requestDetailProvider.needVisitHelperModel?.workOrderId = requestDetailProvider.currentWorkOrder!.data!.requestId; requestDetailProvider.needVisitHelperModel?.workOrderId = requestDetailProvider.currentWorkOrder!.data!.requestId;
requestDetailProvider.engineerNeedVisit(); requestDetailProvider.engineerNeedVisit();
requestDetailProvider.needVisitHelperModel = NeedVisitHelperModel();
getReminderTimeList(context: context); getReminderTimeList(context: context);
Navigator.pop(context);
initialVisitReminderBottomSheet(context: context); initialVisitReminderBottomSheet(context: context);
} }
Navigator.pop(context);
// //
}, },
@ -984,7 +977,6 @@ class ServiceRequestBottomSheet {
setState(() { setState(() {
newSignature = signature; newSignature = signature;
nurseSignature = "${DateTime.now().toIso8601String()}.png|${base64Encode(signature)}"; nurseSignature = "${DateTime.now().toIso8601String()}.png|${base64Encode(signature)}";
print('signature i got is ${newSignature}');
}); });
}, },
onSaved: (signature) { onSaved: (signature) {
@ -992,7 +984,6 @@ class ServiceRequestBottomSheet {
setState(() { setState(() {
newSignature = signature; newSignature = signature;
nurseSignature = "${DateTime.now().toIso8601String()}.png|${base64Encode(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!, workOrderId: requestDetailProvider.currentWorkOrder!.data!.requestId!,
signatureNurse: nurseSignature, signatureNurse: nurseSignature,
); );
await requestDetailProvider.nurseConfirm(); requestDetailProvider.nurseConfirm();
if (requestDetailProvider.currentWorkOrder!.data!.requestId != null) { if (requestDetailProvider.currentWorkOrder!.data!.requestId != null) {
requestDetailProvider.getWorkOrderById(id: requestDetailProvider.currentWorkOrder!.data!.requestId!); requestDetailProvider.getWorkOrderById(id: requestDetailProvider.currentWorkOrder!.data!.requestId!);
} }
Navigator.pop(context); Navigator.pop(context);
} else { } else {
//show some toast... context.translation.signaturesAreRequired.showToast;
} }
}, },
).expanded, ).expanded,

@ -17,14 +17,13 @@ class WeeklyCalendarFragment extends StatefulWidget {
} }
class _WeeklyCalendarFragmentState extends State<WeeklyCalendarFragment> { class _WeeklyCalendarFragmentState extends State<WeeklyCalendarFragment> {
DateTime? selectedDate = DateTime.now(); // Initially select today's date
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
List<DateTime> weekDates = getWeekDates(); List<DateTime> weekDates = getWeekDates();
return Consumer<DashBoardProvider>( return Consumer<DashBoardProvider>(
builder: (context, snapshot, _) => GridView.builder( builder: (context, dashBoardProvider, _) => GridView.builder(
padding: EdgeInsets.zero, padding: EdgeInsets.zero,
physics: const NeverScrollableScrollPhysics(), physics: const NeverScrollableScrollPhysics(),
shrinkWrap: true, shrinkWrap: true,
@ -41,23 +40,23 @@ class _WeeklyCalendarFragmentState extends State<WeeklyCalendarFragment> {
String formattedDate = DateFormat('dd MMM').format(currentDate); String formattedDate = DateFormat('dd MMM').format(currentDate);
// Check if the current date is selected // 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( return listItem(
formattedDate: formattedDate, formattedDate: formattedDate,
formattedDay: formattedDay, formattedDay: formattedDay,
context: context, context: context,
isLoading: snapshot.isAllCountLoading, isLoading: dashBoardProvider.isAllCountLoading,
currentDate: currentDate, currentDate: currentDate,
isSelected: isSelected, isSelected: isSelected,
onSelect: () { onSelect: () {
setState(() { dashBoardProvider.upcomingFilterSelectedDate = currentDate;
selectedDate = currentDate; // Update selected date on tap // setState(() {
}); // selectedDate = currentDate; // Update selected date on tap
log('selected date:${selectedDate?.toIso8601String()}'); // });
DashBoardProvider dashBoardProvider = Provider.of<DashBoardProvider>(context, listen: false); log('selected date:${dashBoardProvider.upcomingFilterSelectedDate.toIso8601String()}');
dashBoardProvider.resetRequestDataList(); dashBoardProvider.resetRequestDataList();
dashBoardProvider.getRequestDetail(usersType: UsersTypes.engineer, date: selectedDate?.toIso8601String(), status: 0); dashBoardProvider.getRequestDetail(usersType: UsersTypes.engineer, date: dashBoardProvider.upcomingFilterSelectedDate.toIso8601String(), status: 0);
}, },
); );
}, },

Loading…
Cancel
Save