import 'dart:convert'; import 'package:bbyyy/beans/my_shop_bean_entity.dart'; import 'package:bbyyy/https/MyDio.dart'; import 'package:bbyyy/my_tools/dims.dart'; import 'package:bbyyy/my_tools/event_bus.dart'; import 'package:bbyyy/my_tools/my_colors.dart'; import 'package:bbyyy/my_tools/my_cookie.dart'; import 'package:bbyyy/my_tools/my_tools.dart'; import 'package:bbyyy/my_tools/my_views.dart'; import 'package:flutter/material.dart'; import 'package:pull_to_refresh/pull_to_refresh.dart'; class ApplicationPage extends StatefulWidget { @override _ApplicationPageState createState() => _ApplicationPageState(); } class _ApplicationPageState extends State { RefreshController controller = RefreshController(initialRefresh: true); int page = 1; List data = []; @override void initState() { // TODO: implement initState super.initState(); EventBus().on('申请页面返回', (arg) { controller.requestRefresh(); }); } @override void dispose() { // TODO: implement dispose super.dispose(); EventBus().off('申请页面返回'); } @override Widget build(BuildContext context) { return Scaffold( body: Column( children: [ MyViews().myAppBar('入帮申请', context, []), Expanded( child: SmartRefresher( controller: controller, onLoading: onLoading, onRefresh: onRefresh, enablePullUp: true, enablePullDown: true, child: data.length==0?Center(child: MyViews().myText('暂无申请', MyColors.c333333, 16),):ListView.builder( itemBuilder: (c, index) { return MyViews().getApplicationItems(data[index], context); }, itemCount: data.length, padding: EdgeInsets.only(top: 10), ), ), ) ], ), ); } void onLoading() { page++; enquiryApplication(); } void onRefresh() { page = 1; enquiryApplication(); } enquiryApplication() { MyDio().query({ "key": "shop_user", "filters": { "conditions": [ "role!=0", "owner_uid==${MyCookie().getUID()}", "review_state==0" ] }, "dims": shopUserDims, "paging": [page, 20] }, (response, hasError) { if (!hasError) { MyShopBeanEntity entity = MyShopBeanEntity().fromJson(json.decode(response.data.toString())); if (page == 1) { data.clear(); } data.addAll(entity.data.data); } setState(() { endRe(controller); }); }, (error) {}); } }