123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- import 'dart:async';
-
- import 'package:farmer_client/widgets/layout/BasicPage.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/app.dart';
- import '../../models/entities/CardListModel.dart';
- import '../../services/homeAPI.dart';
- import '../../widgets/CarsCard.dart';
- import '../../widgets/NullCard.dart';
- import 'dart:async';
-
- class SearchPage extends BasicPage {
- EasyRefreshController _controller = EasyRefreshController();
-
- final cardSearchList = Rx<List<CardListModel>>([]);
- final newCardSearchList = Rx<List<CardListModel>>([]);
- var pageIndex = 1; //页数
- var count = 10; //每页10条
- late int maxSum; //最多条数
- String value=''; //最多条数
- int _count = 0;
-
- var location = AppController.t.locationStr;
-
- void _onChange(String value) {
- Map<String, dynamic> params = {'pageNum': 1,'location':AppController.t.locationStr,'q':value};
-
- getNewData(params);
- // searchMachinery(params).then((value) {
- // EasyLoading.show(status: '数据加载中...');
- // final list = <CardListModel>[];
- // value['records'].forEach((item) {
- // list.add(CardListModel.fromJson(item));
- // });
- // cardSearchList(list);
- // newCardSearchList(list);
- // EasyLoading.dismiss();
- //
- // });
- }
-
-
- void getNewData(Map? params) {
- pageIndex = 1;
- params!['pageNum'] = pageIndex;
- print(params['pageNum']);
- searchMachinery(params).then((value) {
- maxSum = value['total'];
-
- List<CardListModel> list = [];
- value['records'].forEach((item) {
- list.add(CardListModel.fromJson(item));
- });
- cardSearchList(list);
- newCardSearchList(list);
- _count = cardSearchList.value.length;
- });
- }
-
- void getMoreData(Map? params) {
- pageIndex++;
- params!['pageNum'] = pageIndex;
- print(params['pageNum']);
- searchMachinery(params).then((value) {
- maxSum = value['total'];
- List<CardListModel> list = [];
- List<CardListModel> Newlist = [];
- value['records'].forEach((item) {
- list.add(CardListModel.fromJson(item));
- });
- newCardSearchList.value.addAll(list);
- Newlist.addAll(newCardSearchList.value);
- cardSearchList(Newlist);
- _count = cardSearchList.value.length;
- });
- }
-
- @override
- Widget builder(BuildContext context) {
- naviTitle = '搜索';
- return Container(
- child: Column(children: [
- Container(
- width: 345.w,
- height: 34.h,
- margin: EdgeInsets.symmetric(vertical: 15.h, horizontal: 15.w),
- padding: EdgeInsets.symmetric(vertical: 0, horizontal: 10.w),
- decoration: BoxDecoration(
- color: Color(0xFFf8f8f8),
- borderRadius: BorderRadius.all(Radius.circular(17.w))),
- child: Row(
- mainAxisAlignment: MainAxisAlignment.center,
- children: [
- Image.asset(
- 'images/icons/search.png',
- width: 15.w,
- height: 15.w,
- ),
- Container(
- width: 300.w,
- margin: EdgeInsets.fromLTRB(5.w, 0, 0, 0),
- child: TextField(
- style: TextStyle(fontSize: 14.sp),
- decoration: const InputDecoration(
- isCollapsed: true,
- hintText: '搜索关键字查询',
- border: InputBorder.none,
- counterText: '', //去掉计数
- floatingLabelBehavior: FloatingLabelBehavior.never,
- ),
- onChanged: (e) {
- _onChange(e);
- },
- ),
- ),
- ],
- ),
- ),
- Expanded(
- child:
- (
- EasyRefresh(
- controller: _controller,
- firstRefresh: true,
- onRefresh: () async {
- await Future.delayed(Duration(seconds: 1), () {
- print("下拉刷新-----");
- Map<String, dynamic> params = {'pageNum': pageIndex,'location':AppController.t.locationStr,'q':value};
-
- getNewData(params);
- _controller.resetLoadState();
- });
- },
- onLoad: () async {
- await Future.delayed(Duration(seconds: 1), () {
- if (_count == maxSum) {
- Fluttertoast.showToast(msg: '暂无更多数据哦');
- } else {
- Map<String, dynamic> params = {'pageNum': pageIndex,'location':AppController.t.locationStr,'q':value};
-
- getMoreData(params);
- }
- _controller.finishLoad(noMore: _count >= maxSum);
-
- });
- },
- child: Obx(
- () => cardSearchList.value.length > 0
- ?
- Column(
- mainAxisSize: MainAxisSize.min,
- children: cardSearchList.value
- .map((item) => CarsCard(item: item))
- .toList(),
- ): NullCard(text: '暂无农机信息!'),
- ),
- )
-
- ),
- )
- ]));
- }
- }
|