index.dart 1.8KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import 'package:farmer_client/pages/order/widgets/index.dart';
  2. import 'package:flutter/material.dart';
  3. import 'package:get/get.dart';
  4. import 'package:get/get_rx/src/rx_types/rx_types.dart';
  5. import 'package:farmer_client/models/entities/OrderInfoModel.dart';
  6. import 'package:farmer_client/services/orderAPI.dart';
  7. import 'package:farmer_client/widgets/OrderListCard.dart';
  8. import 'package:farmer_client/widgets/layout/BasicPage.dart';
  9. import 'package:farmer_client/widgets/RefreshMoreList.dart';
  10. class OrderPage extends BasicPage {
  11. OrderPage({Key? key}) : super(key: key) {
  12. tabIndex = 1;
  13. naviTitle = '订单';
  14. }
  15. final orderList = Rx<List<OrderInfoModel>>([]);
  16. final params = Rx<Map<String, dynamic>>({'pageSize': 10, 'mine': true});
  17. Function? Refresh;
  18. List<OrderInfoModel> GetList(value) {
  19. List<OrderInfoModel> list = [];
  20. if (value != null)
  21. value.forEach((item) => {list.add(OrderInfoModel.fromJson(item))});
  22. return list;
  23. }
  24. @override
  25. Widget builder(BuildContext context) {
  26. return Column(
  27. children: [
  28. const OrderHead(),
  29. Expanded(
  30. child: RefreshMoreList(
  31. pPrams: params,
  32. cardText: '您还没有新的订单',
  33. fetch: getOrderList,
  34. useState: (state) {
  35. orderList(GetList(state));
  36. },
  37. builder: (
  38. {required BuildContext context, required Function toggle}) {
  39. Refresh = toggle;
  40. return Obx(
  41. () => Column(
  42. children: orderList.value
  43. .map(
  44. (item) => OrderListCard(item: item),
  45. )
  46. .toList(),
  47. ),
  48. );
  49. },
  50. ),
  51. ),
  52. ],
  53. );
  54. }
  55. }