my requests pagination + Sender only close sender request Sender,

Receiver can do both jobs, sender & receiver.
main_design2.0
nextwo 2 years ago
parent 0d595449df
commit 6b740549a5

@ -28,6 +28,18 @@ class AllRequestsProvider extends ChangeNotifier {
AllRequestsAndCount highPriorityRequests;
AllRequestsAndCount calendarRequests;
final pageItemNumber = 10;
int pageNum=1;
bool nextPage = true;
void reset() {
allRequestsAndCount?.requestsDetails?.clear();
allRequestsAndCount = null;
pageNum=1;
nextPage = true;
stateCode = null;
}
void getRequests() {
getHighPriorityRequests();
getOverdueRequests();
@ -53,6 +65,8 @@ class AllRequestsProvider extends ChangeNotifier {
"statusTransaction": status,
"priority": [0, 1],
"displayData": [],
"pageNumber" : pageNum++,
"pageSize" : pageItemNumber,
if (search?.requestNumber?.value?.isNotEmpty ?? false) "requestNumber": search.requestNumber.value,
if (search?.assetName?.value?.isNotEmpty ?? false) "assetName": search.assetName.value,
if (search?.assetNo?.value?.isNotEmpty ?? false) "assetNumber": search.assetNo.value,
@ -66,7 +80,16 @@ class AllRequestsProvider extends ChangeNotifier {
stateCode = response.statusCode;
if (response.statusCode >= 200 && response.statusCode < 300) {
allRequestsAndCount = AllRequestsAndCount.fromJson(json.decode(response.body)["data"][0]);
if (allRequestsAndCount == null) {
allRequestsAndCount = AllRequestsAndCount.fromJson(json.decode(response.body)["data"][0]);
} else{
allRequestsAndCount.requestsDetails.addAll(AllRequestsAndCount.fromJson(json.decode(response.body)["data"][0]).requestsDetails);
}
if (allRequestsAndCount.requestsDetails.length >= pageItemNumber) {
nextPage = true;
} else {
nextPage = false;
}
notifyListeners();
} else {
allRequestsAndCount = null;

@ -10,6 +10,7 @@ import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/pages/land_page/my_request/all_requests_filter_page.dart';
import 'package:test_sa/new_views/pages/land_page/my_request/all_requests_search_page.dart';
import 'package:test_sa/new_views/pages/land_page/widgets/request_item_view_list.dart';
import 'package:test_sa/views/widgets/loaders/lazy_loading.dart';
class MyRequestsPage extends StatefulWidget {
const MyRequestsPage({Key key}) : super(key: key);
@ -23,7 +24,7 @@ class _MyRequestsPageState extends State<MyRequestsPage> {
SearchAllRequestsModel _search;
List<String> requestsList;
int selectedRequest;
int selectedRequest=0;
@override
Widget build(BuildContext context) {
@ -35,7 +36,6 @@ class _MyRequestsPageState extends State<MyRequestsPage> {
context.translation.deviceTransferRequest,
context.translation.preventiveMaintenance,
];
selectedRequest = 0;
_provider = Provider.of<AllRequestsProvider>(context, listen: false);
_provider.getAllRequests(context);
}
@ -122,6 +122,7 @@ class _MyRequestsPageState extends State<MyRequestsPage> {
setState(() {
selectedRequest = index;
});
_provider.reset();
_provider.getAllRequests(context, typeTransaction: selectedRequest == 0 ? null : selectedRequest);
}
}),
@ -129,7 +130,13 @@ class _MyRequestsPageState extends State<MyRequestsPage> {
itemCount: requestsList.length),
),
Consumer<AllRequestsProvider>(builder: (context, snapshot, _) {
return RequestItemViewList(snapshot.allRequestsAndCount?.requestsDetails ?? [], snapshot.isAllLoading);
return LazyLoading(
child: RequestItemViewList(snapshot.allRequestsAndCount?.requestsDetails ?? [], snapshot.isAllLoading),
nextPage: snapshot.nextPage,
onLazyLoad: (){
print(selectedRequest);
snapshot.getAllRequests(context, typeTransaction: selectedRequest == 0 ? null : selectedRequest);},
);
}).expanded,
],
));

@ -185,7 +185,7 @@ class _DeviceTransferDetailsState extends State<DeviceTransferDetails> {
if ((_userProvider.user?.type == UsersTypes.engineer))
if (isSender
? (!(_model?.senderMachineStatusName?.toLowerCase()?.contains("close") ?? false) && !(_model?.senderMachineStatusName?.toLowerCase()?.contains("complete") ?? false))
: (!(_model?.receiverMachineStatusName?.toLowerCase()?.contains("close") ?? false) && !(_model?.receiverMachineStatusName?.toLowerCase()?.contains("complete") ?? false)))
: ((!(_model?.receiverMachineStatusName?.toLowerCase()?.contains("close") ?? false) && !(_model?.receiverMachineStatusName?.toLowerCase()?.contains("complete") ?? false)) && (_userProvider.user?.username == _model.receiverAssignedEmployeeName)))
"edit".toSvgAsset(height: 48, width: 48).onPress(() {
Navigator.of(context).push(MaterialPageRoute(builder: (_) => UpdateDeviceTransfer(model: _model, isSender: isSender)));
}),

@ -100,6 +100,10 @@ class _ServiceRequestDetailsPageState extends State<ServiceRequestDetailsPage> {
'${context.translation.requestNo}: ${serviceRequest.requestCode}',
style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20),
),
// Text(
// '${context.translation.visitDate}: ${serviceRequest.visitDate}',
// style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20),
// ),
],
).expanded,
Column(

Loading…
Cancel
Save