wallet_list_presenter.dart 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. import 'package:liftmanager/internal/wode/page/wallet/wallet_page.dart';
  2. import 'package:liftmanager/internal/wode/page/wallet/small_money.dart';
  3. import 'package:liftmanager/mvp/base_page_presenter.dart';
  4. import 'package:liftmanager/net/api_service.dart';
  5. import 'package:liftmanager/widgets/state_layout.dart';
  6. import 'package:liftmanager/utils/log_util.dart';
  7. class WalletListPresenter extends BasePagePresenter<WalletPageState> {
  8. Future getWalletList(int page,
  9. {int currentYear,
  10. int currentMonth,
  11. Function(double, double) complete}) async {
  12. await NewApiService().getWalletList(page, 20,
  13. currentYear: currentYear, currentMonth: currentMonth, onSuccess: (res) {
  14. view.closeProgress();
  15. if (complete != null) {
  16. if (res != null && res.records.length > 0) {
  17. complete(res.records[0].income, res.records[0].outcome);
  18. } else {
  19. complete(0, 0);
  20. }
  21. }
  22. if (res != null) {
  23. view.provider.setHasMore(res.records.length == 20);
  24. if (page == 1) {
  25. view.provider.list.clear();
  26. if (res.records.isEmpty) {
  27. view.provider.setStateType(StateType.empty);
  28. } else {
  29. view.provider.addAll(res.records);
  30. }
  31. } else {
  32. view.provider.addAll(res.records);
  33. }
  34. } else {
  35. /// 加载失败
  36. view.provider.setHasMore(false);
  37. view.provider.setStateType(StateType.empty);
  38. }
  39. }, onError: (code, msg) {
  40. if (complete != null) {
  41. complete(0, 0);
  42. }
  43. view.closeProgress();
  44. view.provider.setHasMore(false);
  45. view.provider.setStateType(StateType.network);
  46. });
  47. }
  48. }
  49. class WalletListPresenterSeconds extends BasePagePresenter<SmallMoneyState> {
  50. Future getWalletList(int page,
  51. {int currentYear,
  52. int currentMonth,
  53. Function(double, double) complete}) async {
  54. await NewApiService().getWalletList(page, 20,
  55. currentYear: currentYear, currentMonth: currentMonth, onSuccess: (res) {
  56. LogUtil.d(res);
  57. LogUtil.d(666663);
  58. view.closeProgress();
  59. if (res != null && res.records.length > 0) {
  60. complete(res.records[0].income, res.records[0].outcome);
  61. } else {
  62. complete(0, 0);
  63. }
  64. if (res != null) {
  65. view.provider.setHasMore(res.records.length == 20);
  66. if (page == 1) {
  67. view.provider.list.clear();
  68. if (res.records.isEmpty) {
  69. view.provider.setStateType(StateType.empty);
  70. } else {
  71. view.provider.addAll(res.records);
  72. }
  73. } else {
  74. view.provider.addAll(res.records);
  75. }
  76. } else {
  77. /// 加载失败
  78. view.provider.setHasMore(false);
  79. view.provider.setStateType(StateType.empty);
  80. }
  81. }, onError: (code, msg) {
  82. if (complete != null) {
  83. complete(0, 0);
  84. }
  85. view.closeProgress();
  86. view.provider.setHasMore(false);
  87. view.provider.setStateType(StateType.network);
  88. });
  89. }
  90. }