application_page.dart 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. import 'dart:convert';
  2. import 'package:bbyyy/beans/my_shop_bean_entity.dart';
  3. import 'package:bbyyy/https/MyDio.dart';
  4. import 'package:bbyyy/my_tools/dims.dart';
  5. import 'package:bbyyy/my_tools/event_bus.dart';
  6. import 'package:bbyyy/my_tools/my_colors.dart';
  7. import 'package:bbyyy/my_tools/my_cookie.dart';
  8. import 'package:bbyyy/my_tools/my_tools.dart';
  9. import 'package:bbyyy/my_tools/my_views.dart';
  10. import 'package:flutter/material.dart';
  11. import 'package:pull_to_refresh/pull_to_refresh.dart';
  12. class ApplicationPage extends StatefulWidget {
  13. @override
  14. _ApplicationPageState createState() => _ApplicationPageState();
  15. }
  16. class _ApplicationPageState extends State<ApplicationPage> {
  17. RefreshController controller = RefreshController(initialRefresh: true);
  18. int page = 1;
  19. List<MyShopBeanDataData> data = [];
  20. @override
  21. void initState() {
  22. // TODO: implement initState
  23. super.initState();
  24. EventBus().on('申请页面返回', (arg) {
  25. controller.requestRefresh();
  26. });
  27. }
  28. @override
  29. void dispose() {
  30. // TODO: implement dispose
  31. super.dispose();
  32. EventBus().off('申请页面返回');
  33. }
  34. @override
  35. Widget build(BuildContext context) {
  36. return Scaffold(
  37. body: Column(
  38. children: [
  39. MyViews().myAppBar('入帮申请', context, []),
  40. Expanded(
  41. child: SmartRefresher(
  42. controller: controller,
  43. onLoading: onLoading,
  44. onRefresh: onRefresh,
  45. enablePullUp: true,
  46. enablePullDown: true,
  47. child: data.length==0?Center(child: MyViews().myText('暂无申请', MyColors.c333333, 16),):ListView.builder(
  48. itemBuilder: (c, index) {
  49. return MyViews().getApplicationItems(data[index], context);
  50. },
  51. itemCount: data.length,
  52. padding: EdgeInsets.only(top: 10),
  53. ),
  54. ),
  55. )
  56. ],
  57. ),
  58. );
  59. }
  60. void onLoading() {
  61. page++;
  62. enquiryApplication();
  63. }
  64. void onRefresh() {
  65. page = 1;
  66. enquiryApplication();
  67. }
  68. enquiryApplication() {
  69. MyDio().query({
  70. "key": "shop_user",
  71. "filters": {
  72. "conditions": [
  73. "role!=0",
  74. "owner_uid==${MyCookie().getUID()}",
  75. "review_state==0"
  76. ]
  77. },
  78. "dims": shopUserDims,
  79. "paging": [page, 20]
  80. }, (response, hasError) {
  81. if (!hasError) {
  82. MyShopBeanEntity entity =
  83. MyShopBeanEntity().fromJson(json.decode(response.data.toString()));
  84. if (page == 1) {
  85. data.clear();
  86. }
  87. data.addAll(entity.data.data);
  88. }
  89. setState(() {
  90. endRe(controller);
  91. });
  92. }, (error) {});
  93. }
  94. }