import 'package:farmer_client/pages/order/widgets/index.dart'; import 'package:farmer_client/widgets/layout/BasicPage.dart'; import 'package:flutter/material.dart'; import 'package:flutter_easyrefresh/easy_refresh.dart'; import 'package:farmer_client/widgets/NullCard.dart'; import 'package:flutter/material.dart'; import 'package:flutter_easyloading/flutter_easyloading.dart'; import 'package:flutter_easyrefresh/easy_refresh.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:fluttertoast/fluttertoast.dart'; import 'package:get/get.dart'; import 'package:get/get_rx/src/rx_types/rx_types.dart'; import '../../models/entities/OrderListAll.dart'; import '../../services/orderAPI.dart'; import '../../widgets/OrderListCard.dart'; class OrderPage extends BasicPage { OrderPage({Key? key}) : super(key: key) { tabIndex = 1; naviTitle = '订单'; } EasyRefreshController _controller = EasyRefreshController(); final orderListItem = Rx>([]); final newOrderList = Rx>([]); var pageIndex = 1; //页数 var count = 10; //每页10条 late int maxSum; //最多条数 int _count = 0; Map params = {'pageNum': 1,'mine':true}; void getNewData() { pageIndex = 1; params['pageNum'] = pageIndex; print(params['pageNum']); getOrderList(params).then((value) { maxSum = value['total']; List list = []; value['records'].forEach((item) { list.add(OrderListAll.fromJson(item)); }); orderListItem(list); newOrderList(list); _count = orderListItem.value.length; }); } void getMoreData() { pageIndex++; params['pageNum'] = pageIndex; print(params['pageNum']); getOrderList(params).then((value) { maxSum = value['total']; List list = []; List Newlist = []; value['records'].forEach((item) { list.add(OrderListAll.fromJson(item)); }); newOrderList.value.addAll(list); Newlist.addAll(newOrderList.value); orderListItem(Newlist); _count = orderListItem.value.length; }); } @override void beforeShow() { // TODO: implement beforeShow super.beforeShow(); getNewData(); } @override Widget builder(BuildContext context) { return Container( // padding: EdgeInsets.fromLTRB(15, 0, 15, 0), child:Column( children: [ OrderHead(), Container( height: 480.w, child:EasyRefresh( controller: _controller, firstRefresh: true, onRefresh: () async { await Future.delayed(Duration(seconds: 1), () { print("下拉刷新-----"); getNewData(); _controller.resetLoadState(); print('8888888888888888+$_controller'); _controller.finishRefresh(noMore: true); }); }, onLoad: () async { await Future.delayed(Duration(seconds: 1), () { if (_count == maxSum) { Fluttertoast.showToast(msg: '暂无更多数据哦'); } else { getMoreData(); } _controller.finishLoad(noMore: _count >= maxSum); }); }, child: Obx( () => orderListItem.value.length > 0 ? Column( mainAxisSize: MainAxisSize.min, children: orderListItem.value .map((item) => OrderListCard(item: item)) .toList(), ): NullCard(text: '您还没有新的订单!'), ), ) , ) ], ) , ); } }