Przeglądaj źródła

上拉加载下拉刷新ok

李志伟 3 lat temu
rodzic
commit
99d03150ab

+ 107
- 118
lib/pages/home/index.dart Wyświetl plik

@@ -1,4 +1,3 @@
1
-import 'dart:math';
2 1
 
3 2
 import 'package:carousel_slider/carousel_slider.dart';
4 3
 import 'package:flutter/material.dart';
@@ -54,129 +53,119 @@ class Home extends BasicPage {
54 53
   Function? Refresh;
55 54
   @override
56 55
   Widget builder(BuildContext context) {
57
-    return Column(
58
-      children: [
59
-        Container(
60
-          decoration: const BoxDecoration(color: Colors.white),
61
-          padding: EdgeInsets.all(15.w),
62
-          child: Column(
63
-            children: [
64
-              // const headers(),
65
-              // //banner
66
-              // Container(
67
-              //   margin: EdgeInsets.fromLTRB(0, 15.h, 0, 15.h),
68
-              //   child: Obx(() => CarouselSlider(
69
-              //         items: bannerList.value
70
-              //             .map((item) => Container(
71
-              //                   child: Center(
72
-              //                       child: Image.network(item.thumb.toString(),
73
-              //                           fit: BoxFit.cover, width: 345.w)),
74
-              //                 ))
75
-              //             .toList(),
76
-              //         options: CarouselOptions(
77
-              //           autoPlay: true,
78
-              //           enlargeCenterPage: false,
79
-              //           //图片中心放大
80
-              //           viewportFraction: 1,
81
-              //           //每个页面应占据的视口部分。默认为 0.8,这意味着每个页面填充 80% 的轮播。
82
-              //           // aspectRatio: 1.6,//纵横比
83
-              //           height: 214.w,
84
-              //           initialPage: 1, //初始页
85
-              //         ),
86
-              //       )),
87
-              // ),
88
-              // Container(
89
-              //   margin: EdgeInsets.fromLTRB(0, 15.h, 0, 20.h),
90
-              //   child: Row(
91
-              //     children: [
92
-              //       Padding(
93
-              //         padding: EdgeInsets.fromLTRB(0, 0, 10.w, 0),
94
-              //         child: Image.asset(
95
-              //           'images/index/orderList.png',
96
-              //           width: 20.w,
97
-              //         ),
98
-              //       ),
99
-              //       Text(
100
-              //         '作业列表',
101
-              //         style: TextStyle(
102
-              //             color: Color(0xff222222),
103
-              //             fontSize: 20.sp,
104
-              //             fontWeight: FontWeight.w800),
105
-              //       )
106
-              //     ],
107
-              //   ),
108
-              // ),
56
+    return Container(
57
+      decoration: const BoxDecoration(color: Colors.white),
58
+      padding: EdgeInsets.all(15.w),
59
+      child: Column(
60
+        children: [
61
+          const headers(),
62
+          //banner
63
+          Container(
64
+            margin: EdgeInsets.fromLTRB(0, 15.h, 0, 15.h),
65
+            child: Obx(() => CarouselSlider(
66
+                  items: bannerList.value
67
+                      .map((item) => Center(
68
+                          child: Image.network(item.thumb.toString(),
69
+                              fit: BoxFit.cover, width: 345.w)))
70
+                      .toList(),
71
+                  options: CarouselOptions(
72
+                    autoPlay: true,
73
+                    enlargeCenterPage: false,
74
+                    //图片中心放大
75
+                    viewportFraction: 1,
76
+                    //每个页面应占据的视口部分。默认为 0.8,这意味着每个页面填充 80% 的轮播。
77
+                    // aspectRatio: 1.6,//纵横比
78
+                    height: 214.w,
79
+                    initialPage: 1, //初始页
80
+                  ),
81
+                )),
82
+          ),
83
+          Container(
84
+            margin: EdgeInsets.fromLTRB(0, 15.h, 0, 20.h),
85
+            child: Row(
86
+              children: [
87
+                Padding(
88
+                  padding: EdgeInsets.fromLTRB(0, 0, 10.w, 0),
89
+                  child: Image.asset(
90
+                    'images/index/orderList.png',
91
+                    width: 20.w,
92
+                  ),
93
+                ),
94
+                Text(
95
+                  '作业列表',
96
+                  style: TextStyle(
97
+                      color: Color(0xff222222),
98
+                      fontSize: 20.sp,
99
+                      fontWeight: FontWeight.w800),
100
+                )
101
+              ],
102
+            ),
103
+          ),
109 104
 
110
-              Container(
111
-                // height: 185.h,
112
-                height: 585.h,
113
-                child: LoadMore(
105
+          Expanded(
106
+            flex: 1,
107
+            child: LoadMore(
108
+                fetch: (params) => getJobList(params),
109
+                builder: (
110
+                    {required BuildContext context,
111
+                    required ScrollController scrollController,
112
+                    required PagedResult data,
113
+                    required bool haveMore}) {
114
+                  return RefreshBuilder(
114 115
                     fetch: (params) => getJobList(params),
116
+                    useState: (value) {
117
+                      jobList(GetList(value.records));
118
+                    },
115 119
                     builder: (
116 120
                         {required BuildContext context,
117
-                        required ScrollController scrollController,
118
-                        required PagedResult data,
119
-                        required bool haveMore}) {
120
-                      return RefreshBuilder(
121
-                        fetch: (params) => getJobList(params),
122
-                        useState: (value) {
123
-                          jobList(GetList(value.records));
124
-                        },
125
-                        builder: (
126
-                            {required BuildContext context,
127
-                            required Function toggle}) {
128
-                          Refresh = toggle;
129
-                          return ListView.builder(
130
-                              controller: scrollController,
131
-                              itemCount: 1,
132
-                              itemBuilder:
133
-                                  (BuildContext context, int position) {
134
-                                if (jobList.value.isNotEmpty &&
135
-                                    GetList(data.records).isNotEmpty &&
136
-                                    jobList.value[0].jobId !=
137
-                                        GetList(data.records)[0].jobId) {
138
-                                  jobList([
139
-                                    ...jobList.value,
140
-                                    ...GetList(data.records)
141
-                                  ]);
142
-                                }
121
+                        required Function toggle}) {
122
+                      Refresh = toggle;
123
+                      return ListView.builder(
124
+                          controller: scrollController,
125
+                          itemCount: 1,
126
+                          itemBuilder: (BuildContext context, int position) {
127
+                            if (jobList.value.isNotEmpty &&
128
+                                GetList(data.records).isNotEmpty &&
129
+                                jobList.value[0].jobId !=
130
+                                    GetList(data.records)[0].jobId) {
131
+                              jobList(
132
+                                  [...jobList.value, ...GetList(data.records)]);
133
+                            }
143 134
 
144
-                                return Obx(() {
145
-                                  if (jobList.value != []) {
146
-                                    return Column(
147
-                                      children: jobList.value
148
-                                          .map(
149
-                                            (item) => MyCard(
150
-                                              item: item,
151
-                                              job: true,
152
-                                              detail: false,
153
-                                              onClick: () {
154
-                                                changeJob(item);
155
-                                              },
156
-                                              goDetail: () {
157
-                                                goDetail(item);
158
-                                              },
159
-                                              buttomText: item.status == 0
160
-                                                  ? '开始作业'
161
-                                                  : '完成作业',
162
-                                            ),
163
-                                          )
164
-                                          .toList(),
165
-                                    );
166
-                                  } else {
167
-                                    return const Text('暂无数据');
168
-                                  }
169
-                                });
170
-                              });
171
-                        },
172
-                        onError: () {},
173
-                      );
174
-                    }),
175
-              ),
176
-            ],
135
+                            return Obx(() {
136
+                              if (jobList.value != []) {
137
+                                return Column(
138
+                                  children: jobList.value
139
+                                      .map(
140
+                                        (item) => MyCard(
141
+                                          item: item,
142
+                                          job: true,
143
+                                          detail: false,
144
+                                          onClick: () {
145
+                                            changeJob(item);
146
+                                          },
147
+                                          goDetail: () {
148
+                                            goDetail(item);
149
+                                          },
150
+                                          buttomText: item.status == 0
151
+                                              ? '开始作业'
152
+                                              : '完成作业',
153
+                                        ),
154
+                                      )
155
+                                      .toList(),
156
+                                );
157
+                              } else {
158
+                                return const Text('暂无数据');
159
+                              }
160
+                            });
161
+                          });
162
+                    },
163
+                    onError: () {},
164
+                  );
165
+                }),
177 166
           ),
178
-        ),
179
-      ],
167
+        ],
168
+      ),
180 169
     );
181 170
   }
182 171
 }

+ 1
- 1
lib/pages/home/widgets/headers.dart Wyświetl plik

@@ -37,7 +37,7 @@ class headers extends StatelessWidget {
37 37
           ),
38 38
           child: GestureDetector(
39 39
             onTap: () {
40
-              Get.toNamed('/order');
40
+              Get.offNamed('/order');
41 41
             },
42 42
             child: Row(
43 43
               children: [

+ 88
- 157
lib/pages/order/index.dart Wyświetl plik

@@ -1,11 +1,10 @@
1 1
 import 'package:flutter/material.dart';
2
-import 'package:flutter_easyrefresh/easy_refresh.dart';
3 2
 import 'package:flutter_screenutil/flutter_screenutil.dart';
4 3
 import 'package:get/get.dart';
5 4
 import 'package:worker_client/models/entities/Order.dart';
6 5
 import 'package:worker_client/services/order.dart';
7 6
 import 'package:worker_client/widgets/MyCard/index.dart';
8
-import 'package:worker_client/widgets/NullCard.dart';
7
+import 'package:worker_client/widgets/RefreshMoreList.dart';
9 8
 import 'package:worker_client/widgets/layout/BasicPage.dart';
10 9
 
11 10
 class Order extends BasicPage {
@@ -23,64 +22,11 @@ class Order extends BasicPage {
23 22
   ];
24 23
   final currentIndex = Rx<int>(0);
25 24
 
26
-  //测试上拉加载更多
27
-  EasyRefreshController _controller = EasyRefreshController();
28
-  var pageIndex = 1;
29
-  var count = 10;
30
-  int maxSum = 0;
31
-  final params = Rx<Map<String, dynamic>>({'pageNum': 1, 'workStatus': 1});
32
-  final newOrderList = Rx<List<OrderModel>>([]);
33
-  void getNewData() {
34
-    Map<String, dynamic> map = {...params.value};
35
-    pageIndex = 1;
36
-    map['pageNum'] = pageIndex;
37
-    map['workStatus'] = currentIndex.value;
38
-    if (map['workStatus'] == 2) {
39
-      map['workStatus'] = 3;
40
-    }
41
-    map['q'] = q.value;
42
-    params(map);
43
-    getOrderList(params.value).then((value) {
44
-      maxSum = value['total'];
45
-
46
-      List<OrderModel> list = [];
47
-      value['records'].forEach((item) {
48
-        list.add(OrderModel.fromJson(item));
49
-      });
50
-      orderList(list);
51
-      newOrderList(list);
52
-    });
53
-  }
54
-
55
-  void getMoreData() {
56
-    Map<String, dynamic> map = {...params.value};
57
-    pageIndex++;
58
-    map['pageNum'] = pageIndex;
59
-    map['workStatus'] = currentIndex.value;
60
-    if (map['workStatus'] == 2) {
61
-      map['workStatus'] = 3;
62
-    }
63
-    map['q'] = q.value;
64
-    params(map);
65
-    getOrderList(params.value).then((value) {
66
-      maxSum = value['total'];
67
-      List<OrderModel> list = [];
68
-      List<OrderModel> Newlist = [];
69
-      value['records'].forEach((item) {
70
-        list.add(OrderModel.fromJson(item));
71
-      });
72
-      newOrderList.value.addAll(list);
73
-      Newlist.addAll(newOrderList.value);
74
-      orderList(Newlist);
75
-    });
76
-  }
77
-
78
-  int _count = 0;
25
+  final params = Rx<Map<String, dynamic>>({'workStatus': 0});
79 26
 
80 27
   @override
81 28
   void beforeShow() {
82 29
     super.beforeShow();
83
-    getNewData();
84 30
   }
85 31
 
86 32
   List<OrderModel> GetList(value) {
@@ -93,6 +39,7 @@ class Order extends BasicPage {
93 39
     Get.toNamed('/orderDetail', arguments: {'id': item.orderId});
94 40
   }
95 41
 
42
+  late Function Refresh;
96 43
   @override
97 44
   Widget builder(BuildContext context) {
98 45
     return Container(
@@ -130,7 +77,9 @@ class Order extends BasicPage {
130 77
                     ),
131 78
                     onChanged: (e) {
132 79
                       q(e);
133
-                      getNewData();
80
+                      Map<String, dynamic> myParams = {...params.value, 'q': q};
81
+                      params(myParams);
82
+                      Refresh();
134 83
                     },
135 84
                   ),
136 85
                 ),
@@ -138,110 +87,90 @@ class Order extends BasicPage {
138 87
             ),
139 88
           ),
140 89
           Container(
141
-              width: 345.w,
142
-              decoration: BoxDecoration(
143
-                color: Colors.white,
144
-                boxShadow: [
145
-                  BoxShadow(
146
-                      color: const Color(0x14000000),
147
-                      offset: Offset(0, 1.w),
148
-                      blurRadius: 0)
149
-                ],
150
-                border: Border(
151
-                  top: BorderSide.none,
152
-                  bottom:
153
-                      BorderSide(width: 1.w, color: const Color(0x14000000)),
154
-                  left: BorderSide.none,
155
-                  right: BorderSide.none, // 右边不设置边框
156
-                ),
90
+            width: 345.w,
91
+            decoration: BoxDecoration(
92
+              color: Colors.white,
93
+              boxShadow: [
94
+                BoxShadow(
95
+                    color: const Color(0x14000000),
96
+                    offset: Offset(0, 1.w),
97
+                    blurRadius: 0)
98
+              ],
99
+              border: Border(
100
+                top: BorderSide.none,
101
+                bottom: BorderSide(width: 1.w, color: const Color(0x14000000)),
102
+                left: BorderSide.none,
103
+                right: BorderSide.none, // 右边不设置边框
157 104
               ),
158
-              child: Obx(() => Row(
159
-                    children: tabValues.map((e) {
160
-                      int index = tabValues.indexOf(e);
161
-                      return Expanded(
162
-                        flex: 1,
163
-                        child: GestureDetector(
164
-                          onTap: () {
165
-                            currentIndex(index);
166
-                            getNewData();
167
-                          },
168
-                          child: SizedBox(
169
-                            height: 44.h,
170
-                            child: Stack(
171
-                              alignment: Alignment.center,
172
-                              children: [
173
-                                Text(
174
-                                  e,
175
-                                  textAlign: TextAlign.center,
176
-                                  style: TextStyle(
105
+            ),
106
+            child: Obx(
107
+              () => Row(
108
+                children: tabValues.map(
109
+                  (e) {
110
+                    int index = tabValues.indexOf(e);
111
+                    return Expanded(
112
+                      flex: 1,
113
+                      child: GestureDetector(
114
+                        onTap: () {
115
+                          currentIndex(index);
116
+                          Map<String, dynamic> map = {
117
+                            ...params.value,
118
+                            'workStatus': currentIndex.value
119
+                          };
120
+                          if (map['workStatus'] == 2) {
121
+                            map['workStatus'] = 3;
122
+                          }
123
+                          params(map);
124
+                          Refresh();
125
+                        },
126
+                        child: SizedBox(
127
+                          height: 44.h,
128
+                          child: Stack(
129
+                            alignment: Alignment.center,
130
+                            children: [
131
+                              Text(
132
+                                e,
133
+                                textAlign: TextAlign.center,
134
+                                style: TextStyle(
135
+                                    color: currentIndex.value == index
136
+                                        ? const Color(0xFF06b03b)
137
+                                        : const Color(0xFF999999),
138
+                                    fontSize: 16.sp,
139
+                                    fontWeight: currentIndex.value == index
140
+                                        ? FontWeight.w800
141
+                                        : FontWeight.w500),
142
+                              ),
143
+                              Positioned(
144
+                                bottom: 0,
145
+                                child: Container(
146
+                                  width: 48.h,
147
+                                  height: 3.w,
148
+                                  decoration: BoxDecoration(
177 149
                                       color: currentIndex.value == index
178 150
                                           ? const Color(0xFF06b03b)
179
-                                          : const Color(0xFF999999),
180
-                                      fontSize: 16.sp,
181
-                                      fontWeight: currentIndex.value == index
182
-                                          ? FontWeight.w800
183
-                                          : FontWeight.w500),
151
+                                          : Colors.white),
184 152
                                 ),
185
-                                Positioned(
186
-                                    bottom: 0,
187
-                                    child: Container(
188
-                                      width: 48.h,
189
-                                      height: 3.w,
190
-                                      decoration: BoxDecoration(
191
-                                          color: currentIndex.value == index
192
-                                              ? const Color(0xFF06b03b)
193
-                                              : Colors.white),
194
-                                    ))
195
-                              ],
196
-                            ),
153
+                              ),
154
+                            ],
197 155
                           ),
198 156
                         ),
199
-                      );
200
-                    }).toList(),
201
-                  ))),
157
+                      ),
158
+                    );
159
+                  },
160
+                ).toList(),
161
+              ),
162
+            ),
163
+          ),
202 164
           Expanded(
203 165
             flex: 1,
204
-            child: Obx(() => orderList.value.isNotEmpty
205
-                ? EasyRefresh(
206
-                    controller: _controller,
207
-                    header: ClassicalHeader(
208
-                      infoText: '',
209
-                      refreshedText: '刷新完成',
210
-                      refreshText: '刷新中....',
211
-                      refreshingText: '刷新中....',
212
-                      refreshReadyText: '刷新完毕',
213
-                      noMoreText: '',
214
-                      textColor: const Color(0xff666666),
215
-                    ),
216
-                    footer: ClassicalFooter(
217
-                      infoText: '',
218
-                      loadText: '上拉加载更多',
219
-                      loadingText: '加载中....',
220
-                      loadReadyText: '释放加载',
221
-                      noMoreText: '暂无更多',
222
-                      enableInfiniteLoad: false,
223
-                      textColor: const Color(0xff666666),
224
-                    ),
225
-                    // firstRefresh: true,//是否首次刷新
226
-                    onRefresh: () async {
227
-                      await Future.delayed(const Duration(seconds: 1), () {
228
-                        // print("下拉刷新-----");
229
-                        getNewData();
230
-                        _count = orderList.value.length;
231
-                        // print("最新条数" + _count.toString());
232
-                        _controller.resetLoadState();
233
-                      });
234
-                    },
235
-                    onLoad: () async {
236
-                      await Future.delayed(const Duration(seconds: 1), () {
237
-                        // print("上拉加载-----");
238
-                        getMoreData();
239
-                        _count = orderList.value.length;
240
-                        // print("加载更多条数" + _count.toString());
241
-                        _controller.finishLoad(noMore: _count >= maxSum);
242
-                      });
243
-                    },
244
-                    child: Column(
166
+            child: RefreshMoreList(
167
+              pPrams: params,
168
+              cardText: '暂无农机',
169
+              fetch: getOrderList,
170
+              builder: (
171
+                  {required BuildContext context, required Function toggle}) {
172
+                Refresh = toggle;
173
+                return Obx(() => Column(
245 174
                       children: orderList.value
246 175
                           .map(
247 176
                             (item) => MyCard(
@@ -250,15 +179,17 @@ class Order extends BasicPage {
250 179
                               detail: false,
251 180
                               onClick: () {},
252 181
                               goDetail: () {
253
-                                // goDetail(item);
182
+                                goDetail(item);
254 183
                               },
255 184
                               buttomText: item.status == 0 ? '开始作业' : '完成作业',
256 185
                             ),
257 186
                           )
258 187
                           .toList(),
259
-                    ),
260
-                  )
261
-                : const NullCard(text:'暂无订单'),
188
+                    ));
189
+              },
190
+              useState: (state) {
191
+                orderList(GetList(state));
192
+              },
262 193
             ),
263 194
           ),
264 195
         ],

+ 48
- 61
lib/widgets/RefreshMoreList.dart Wyświetl plik

@@ -1,26 +1,39 @@
1 1
 import 'package:flutter/material.dart';
2 2
 import 'package:flutter_easyrefresh/easy_refresh.dart';
3 3
 import 'package:get/get.dart';
4
-import 'package:worker_client/models/entities/Order.dart';
5
-import 'package:worker_client/services/order.dart';
6 4
 import 'package:worker_client/widgets/NullCard.dart';
7
-import 'package:worker_client/widgets/MyCard/index.dart';
8 5
 
9 6
 class RefreshMoreList extends StatefulWidget {
10
-  const RefreshMoreList({Key? key, required this.cardText, required this.pPrams}) : super(key: key);
7
+
8
+
9
+  RefreshMoreList({
10
+    Key? key,
11
+    required this.cardText,
12
+    required this.pPrams,
13
+    required this.fetch,
14
+    required this.builder,
15
+    required this.useState,
16
+  }) : super(key: key);
11 17
   final String cardText;
12
-  final Map<String,dynamic> pPrams;
18
+  final Rx<Map<String, dynamic>> pPrams;
19
+  final Function fetch;
20
+  Function(List<dynamic> state) useState;
21
+  Widget Function({
22
+    required BuildContext context,
23
+    required Function toggle,
24
+  }) builder;
25
+
13 26
   @override
14
-  State<RefreshMoreList> createState() => _RefreshMoreList(this.cardText,this.pPrams);
27
+  State<RefreshMoreList> createState() =>
28
+      _RefreshMoreList(this.cardText, this.fetch);
15 29
 }
16 30
 
17 31
 class _RefreshMoreList extends State<RefreshMoreList> {
18
-
19 32
   EasyRefreshController _controller = EasyRefreshController();
20 33
   final String cardText;
21
-  final Map<String,dynamic> pPrams;
34
+  final Function fetch;
22 35
 
23
-  _RefreshMoreList(this.cardText, this.pPrams);
36
+  _RefreshMoreList(this.cardText, this.fetch);
24 37
 
25 38
   @override
26 39
   void initState() {
@@ -29,62 +42,50 @@ class _RefreshMoreList extends State<RefreshMoreList> {
29 42
     getNewData();
30 43
   }
31 44
 
32
-  final orderList = Rx<List<OrderModel>>([]);
33 45
   var pageIndex = 1;
34 46
   var count = 10;
35 47
   int maxSum = 0;
36 48
   final params = Rx<Map<String, dynamic>>({'pageNum': 1});
37
-  final newOrderList = Rx<List<OrderModel>>([]);
49
+
50
+  final dataList=Rx<List<dynamic>>([]);
51
+  final newDataList=Rx<List<dynamic>>([]);
52
+
53
+
38 54
   void getNewData() {
39
-    Map<String, dynamic> map = {...params.value,...pPrams};
55
+    print(widget.pPrams.value);
56
+    Map<String, dynamic> map = {...params.value, ...widget.pPrams.value};
40 57
     pageIndex = 1;
41 58
     map['pageNum'] = pageIndex;
42
-    // map['workStatus'] = currentIndex.value;
43
-    if (map['workStatus'] == 2) {
44
-      map['workStatus'] = 3;
45
-    }
46
-    // map['q'] = q.value;
47 59
     params(map);
48
-    getOrderList(params.value).then((value) {
60
+    fetch(params.value).then((value) {
49 61
       maxSum = value['total'];
50
-
51
-      List<OrderModel> list = [];
52
-      value['records'].forEach((item) {
53
-        list.add(OrderModel.fromJson(item));
54
-      });
55
-      orderList(list);
56
-      newOrderList(list);
62
+      widget.useState(value['records']);
63
+      dataList(value['records']);
64
+      newDataList(value['records']);
57 65
     });
58 66
   }
59 67
 
60 68
   void getMoreData() {
61
-    Map<String, dynamic> map = {...params.value};
69
+    Map<String, dynamic> map = {...params.value, ...widget.pPrams.value};
62 70
     pageIndex++;
63 71
     map['pageNum'] = pageIndex;
64
-    // map['workStatus'] = currentIndex.value;
65
-    if (map['workStatus'] == 2) {
66
-      map['workStatus'] = 3;
67
-    }
68
-    // map['q'] = q.value;
69 72
     params(map);
70
-    getOrderList(params.value).then((value) {
73
+    fetch(params.value).then((value) {
71 74
       maxSum = value['total'];
72
-      List<OrderModel> list = [];
73
-      List<OrderModel> Newlist = [];
74
-      value['records'].forEach((item) {
75
-        list.add(OrderModel.fromJson(item));
76
-      });
77
-      newOrderList.value.addAll(list);
78
-      Newlist.addAll(newOrderList.value);
79
-      orderList(Newlist);
75
+      newDataList.value.addAll(value['records']);
76
+      widget.useState(newDataList.value);
77
+      dataList(newDataList.value);
80 78
     });
81 79
   }
82 80
 
83 81
   int _count = 0;
82
+  toggle() {
83
+    getNewData();
84
+  }
84 85
 
85 86
   @override
86 87
   Widget build(BuildContext context) {
87
-    return Obx(() => orderList.value.isNotEmpty
88
+    return Obx(() => dataList.value.isNotEmpty
88 89
         ? EasyRefresh(
89 90
             controller: _controller,
90 91
             header: ClassicalHeader(
@@ -100,9 +101,10 @@ class _RefreshMoreList extends State<RefreshMoreList> {
100 101
               infoText: '',
101 102
               loadText: '上拉加载更多',
102 103
               loadingText: '加载中....',
104
+              loadedText: '',
103 105
               loadReadyText: '释放加载',
104 106
               noMoreText: '暂无更多',
105
-              enableInfiniteLoad: false,
107
+              enableInfiniteLoad: true,
106 108
               textColor: const Color(0xff666666),
107 109
             ),
108 110
             // firstRefresh: true,//是否首次刷新
@@ -110,7 +112,7 @@ class _RefreshMoreList extends State<RefreshMoreList> {
110 112
               await Future.delayed(const Duration(seconds: 1), () {
111 113
                 // print("下拉刷新-----");
112 114
                 getNewData();
113
-                _count = orderList.value.length;
115
+                _count = dataList.value.length;
114 116
                 // print("最新条数" + _count.toString());
115 117
                 _controller.resetLoadState();
116 118
               });
@@ -119,28 +121,13 @@ class _RefreshMoreList extends State<RefreshMoreList> {
119 121
               await Future.delayed(const Duration(seconds: 1), () {
120 122
                 // print("上拉加载-----");
121 123
                 getMoreData();
122
-                _count = orderList.value.length;
124
+                _count = dataList.value.length;
123 125
                 // print("加载更多条数" + _count.toString());
124 126
                 _controller.finishLoad(noMore: _count >= maxSum);
125 127
               });
126 128
             },
127
-            child: Column(
128
-              children: orderList.value
129
-                  .map(
130
-                    (item) => MyCard(
131
-                      item: item,
132
-                      job: false,
133
-                      detail: false,
134
-                      onClick: () {},
135
-                      goDetail: () {
136
-                        // goDetail(item);
137
-                      },
138
-                      buttomText: item.status == 0 ? '开始作业' : '完成作业',
139
-                    ),
140
-                  )
141
-                  .toList(),
142
-            ),
143
-          )
129
+            child: widget.builder(context: context, toggle: toggle)
130
+            )
144 131
         : NullCard(text: cardText));
145 132
   }
146 133
 }