123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- import 'package:farmer_client/pages/infomation/widgets/Information/index.dart';
- 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:fluttertoast/fluttertoast.dart';
- import 'package:get/get_rx/src/rx_types/rx_types.dart';
- import 'package:get/get_state_manager/get_state_manager.dart';
-
- import '../../models/entities/NewsInformationModel.dart';
- import '../../services/news.dart';
- import '../../widgets/NullCard.dart';
-
- class Infomation extends BasicPage {
- // List<NewsInformationModel> newsListItem=[];
-
- Infomation({Key? key}) : super(key: key) {
- tabIndex = 2;
- naviTitle = '资讯';
- }
- EasyRefreshController _controller = EasyRefreshController();
-
- final newsListItem = Rx<List<NewsInformationModel>>([]);
- final addNewOrderList = Rx<List<NewsInformationModel>>([]);
- var pageIndex = 1; //页数
- var count = 10; //每页10条
- late int maxSum; //最多条数
- int _count = 0;
- Map<String, dynamic> params = {'pageNum': 1};
- @override
- void beforeShow() {
- // TODO: implement beforeShow
- super.beforeShow();
- // EasyLoading.show(status: '数据加载中...');
- //
- // getNewsList(params).then((value) {
- // final list = <NewsInformationModel>[];
- //
- // value['records'].forEach((item) {
- // list.add(NewsInformationModel.fromJson(item));
- // print('newsListItem');
- //
- // print(newsListItem.value);
- // });
- // newsListItem.value = list;
- // EasyLoading.dismiss();
- //
- // });
- }
-
- void getNewData() {
- pageIndex = 1;
- params['pageNum'] = pageIndex;
- print(params['pageNum']);
- getNewsList(params).then((value) {
- maxSum = value['total'];
-
- List<NewsInformationModel> list = [];
- value['records'].forEach((item) {
- list.add(NewsInformationModel.fromJson(item));
- });
- newsListItem(list);
- addNewOrderList(list);
- _count = newsListItem.value.length;
- });
- }
-
- void getMoreData() {
- pageIndex++;
- params['pageNum'] = pageIndex;
- print(params['pageNum']);
- getNewsList(params).then((value) {
- maxSum = value['total'];
- List<NewsInformationModel> list = [];
- List<NewsInformationModel> Newlist = [];
- value['records'].forEach((item) {
- list.add(NewsInformationModel.fromJson(item));
- });
- addNewOrderList.value.addAll(list);
- Newlist.addAll(addNewOrderList.value);
- newsListItem(Newlist);
- _count = newsListItem.value.length;
- });
- }
-
-
-
- @override
- Widget builder(BuildContext context) {
- return 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(
- () => newsListItem.value.length > 0
- ?
- Column(
- mainAxisSize: MainAxisSize.min,
- children: newsListItem.value
- .map((item) => Information(item: item))
- .toList(),
- ): NullCard(text: '暂无资讯!'),
- ),
- );
- // Container(
- // child: Obx(() => Column(
- // mainAxisSize: MainAxisSize.min,
- // children: newsListItem.value
- // .map((item) => Information(
- // item: item,
- // ))
- // .toList(),
- // )));
- }
- }
|