123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. import 'package:farmer_client/models/app.dart';
  2. import 'package:farmer_client/models/entities/CardListModel.dart';
  3. import 'package:farmer_client/services/homeAPI.dart';
  4. import 'package:farmer_client/widgets/CarsCard.dart';
  5. import 'package:farmer_client/widgets/RefreshMoreList.dart';
  6. import 'package:farmer_client/widgets/layout/BasicPage.dart';
  7. import 'package:flutter/material.dart';
  8. import '../MoreCars/index.dart';
  9. import 'package:farmer_client/pages/home/widgets/home/widgets/searchBannerHeader.dart';
  10. import 'package:flutter_screenutil/flutter_screenutil.dart';
  11. import 'package:get/get.dart';
  12. class Home extends BasicPage {
  13. Home({Key? key}) : super(key: key) {
  14. tabIndex = 0;
  15. naviTitle = '首页';
  16. }
  17. String? location = AppController.t.locationStr;
  18. final machineryLists = Rx<List<CardListModel>>([]);
  19. final newMachineryLists = Rx<List<CardListModel>>([]);
  20. var pageIndex = 1; //页数
  21. var count = 10; //每页10条
  22. late int maxSum; //最多条数
  23. final params = Rx<Map<String, dynamic>>({
  24. 'pageSize': 10,
  25. 'location': AppController.t.locationStr ?? '112.087465,32.687507'
  26. });
  27. Function? Refresh;
  28. List<CardListModel> GetList(value) {
  29. List<CardListModel> list = [];
  30. if (value != null)
  31. value.forEach((item) => {list.add(CardListModel.fromJson(item))});
  32. return list;
  33. }
  34. @override
  35. Widget builder(BuildContext context) {
  36. return Container(
  37. decoration: const BoxDecoration(color: Colors.white),
  38. padding: EdgeInsets.fromLTRB(15.w, 5.w, 15.w, 0),
  39. child: Column(
  40. children: [
  41. const searchBannerHeader(),
  42. Row(
  43. mainAxisAlignment: MainAxisAlignment.spaceBetween,
  44. children: [
  45. Container(
  46. padding: EdgeInsets.symmetric(vertical: 15.h),
  47. child: Row(
  48. children: [
  49. Padding(
  50. padding: const EdgeInsets.only(right: 8),
  51. child: Image(
  52. image:
  53. const AssetImage('images/icons/carsListImga.png'),
  54. fit: BoxFit.cover,
  55. width: 20.w,
  56. ),
  57. ),
  58. Text(
  59. '农机列表',
  60. style: TextStyle(
  61. color: const Color(0xff222222),
  62. fontSize: 20.sp,
  63. fontWeight: FontWeight.bold),
  64. )
  65. ],
  66. ),
  67. ),
  68. GestureDetector(
  69. child: const Text('更多 >>'),
  70. onTap: () {
  71. Get.to(const MoreCars());
  72. },
  73. )
  74. ],
  75. ),
  76. Expanded(
  77. child: RefreshMoreList(
  78. pPrams: params,
  79. cardText: '暂无订单',
  80. fetch: getMachinery,
  81. useState: (state) {
  82. machineryLists(GetList(state));
  83. },
  84. builder: (
  85. {required BuildContext context, required Function toggle}) {
  86. Refresh = toggle;
  87. return Obx(
  88. () => Column(
  89. children: machineryLists.value
  90. .map(
  91. (item) => CarsCard(item: item),
  92. )
  93. .toList(),
  94. ),
  95. );
  96. },
  97. ),
  98. ),
  99. ],
  100. ),
  101. );
  102. }
  103. }