123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176 |
- import 'package:farmer_client/widgets/Modal.dart' as modal;
- import 'package:farmer_client/widgets/layout/BasicPage.dart';
- import 'package:flutter/material.dart';
- import '../../utils/timer.dart';
- import '../MoreCars/index.dart';
- import 'package:carousel_slider/carousel_slider.dart';
- import 'package:farmer_client/pages/home/widgets/home/widgets/headers.dart';
- import 'package:farmer_client/pages/home/widgets/home/widgets/searchBannerHeader.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 '../../../../models/app.dart';
- import '../../../../models/entities/CardInfo.dart';
- import '../../../../models/entities/CardListModel.dart';
- import '../../../../services/homeAPI.dart';
- import '../../../../widgets/CarsCard.dart';
- import 'package:farmer_client/models/entities/Banners.dart';
-
- class Home extends BasicPage {
- Home({Key? key}) : super(key: key) {
- tabIndex = 0;
- naviTitle = '首页';
- }
- EasyRefreshController _controller = EasyRefreshController();
-
- String? location = AppController.t.locationStr;
- final machineryLists = Rx<List<CardListModel>>([]);
-
- final newMachineryLists = Rx<List<CardListModel>>([]);
- var pageIndex = 1; //页数
- var count = 10; //每页10条
- late int maxSum; //最多条数
- int _count = 0;
- Map<String, dynamic> params = {'pageNum': 1,'location':AppController.t.locationStr ?? '112.087465,32.687507'};
-
-
- void getNewData() {
- pageIndex = 1;
- params['pageNum'] = pageIndex;
- print(params['pageNum']);
- getMachinery(params).then((value) {
- maxSum = value['total'];
-
- List<CardListModel> list = [];
- value['records'].forEach((item) {
- list.add(CardListModel.fromJson(item));
- });
- machineryLists(list);
- newMachineryLists(list);
- _count = machineryLists.value.length;
- });
- }
-
- void getMoreData() {
- pageIndex++;
- params['pageNum'] = pageIndex;
- print(params['pageNum']);
- getMachinery(params).then((value) {
- maxSum = value['total'];
- List<CardListModel> list = [];
- List<CardListModel> Newlist = [];
- value['records'].forEach((item) {
- list.add(CardListModel.fromJson(item));
- });
- newMachineryLists.value.addAll(list);
- Newlist.addAll(newMachineryLists.value);
- machineryLists(Newlist);
- _count = machineryLists.value.length;
- });
- }
-
- @override
- Widget builder(BuildContext context) {
- setTimeout(() {
- // showDialog(context: Get.overlayContext!, builder: (BuildContext c) {
- // return Modal(type: 'dialog', title: '测试', message: '这是一段 message !', onConfirm: () => print('hahahaha'),);
- // } );
- // Get.dialog(Modal(type: 'dialog', title: '测试', message: '这是一段 message !', onConfirm: () => print('hahahaha'),));
- // modal.showDialog(title: '测试', content: SizedBox(width: 400, height: 300,), onConfirm: () => false);
- }, 2000);
-
- return Container(
- decoration: BoxDecoration(color: Colors.white),
- alignment: Alignment.center,
- padding: EdgeInsets.fromLTRB(15.w, 5.w, 15.w, 0),
- child:Column(
- children: [
- searchBannerHeader(),
- Row(
- mainAxisAlignment: MainAxisAlignment.spaceBetween,
- children: [
- Container(
- padding: EdgeInsets.fromLTRB(10.w, 15.w, 10.w, 0),
-
- child: Row(
- children: [
- Padding(
- padding: EdgeInsets.fromLTRB(0, 0, 8, 0),
- child: Image(
- image:
- AssetImage('images/icons/carsListImga.png'),
- fit: BoxFit.cover,
- width: 20.w,
- ),
- ),
- Text(
- '农机列表',
- style: TextStyle(
- color: Color(0xff222222),
- fontSize: 20.sp,
- fontWeight: FontWeight.bold),
- )
- ],
- ),
- ),
- Container(
- child: GestureDetector(
- child: Text('更多 >>'),
- onTap: () {
- print('点我进入农机搜索/更多页');
- Get.to(MoreCars());
- },
- ),
- )
- ],
- ),
- Expanded(
- child: (
- EasyRefresh(
- controller: _controller,
- firstRefresh: true,
- onRefresh: () async {
- await Future.delayed(Duration(seconds: 1), () {
- print("下拉刷新-----");
- getNewData();
- _controller.resetLoadState();
- });
- },
- onLoad: () async {
- await Future.delayed(Duration(seconds: 1), () {
- if (_count == maxSum) {
- Fluttertoast.showToast(msg: '暂无更多数据哦');
- } else {
- getMoreData();
- }
- _controller.finishLoad(noMore: _count >= maxSum);
-
- });
- },
- child: Obx(
- () => machineryLists.value.length > 0
- ?
- Column(
- mainAxisSize: MainAxisSize.min,
- children: machineryLists.value
- .map((item) => CarsCard(item: item))
- .toList(),
- ): NullCard(text: '暂无农机信息!'),
- ),
- )
-
- ),
- ),
-
- ],
- )
-
-
- );
-
- }
- }
|