team_search_presenter.dart 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import 'package:flutter/cupertino.dart';
  2. import 'package:liftmanager/internal/team/page/team_list_page.dart';
  3. import 'package:liftmanager/internal/team/page/team_search_page.dart';
  4. import 'package:liftmanager/mvp/base_page_presenter.dart';
  5. import 'package:liftmanager/net/api_service.dart';
  6. import 'package:liftmanager/widgets/state_layout.dart';
  7. class TeamSearchPresenter extends BasePagePresenter<TeamSearchPageState> {
  8. Future searchTeam(BuildContext context,String text, int page, bool isShowDialog) async {
  9. await ApiService(context: context).teamSearch(page,20,text,onSuccess: (data) {
  10. view.closeProgress();
  11. if (data != null) {
  12. view.provider.setHasMore(data.rows.length == 20);
  13. if(page == 1){
  14. view.provider.list.clear();
  15. if (data.rows.isEmpty) {
  16. view.provider.setStateType(StateType.empty);
  17. } else {
  18. view.provider.addAll(data.rows);
  19. }
  20. }else{
  21. view.provider.addAll(data.rows);
  22. }
  23. } else {
  24. /// 加载失败
  25. view.provider.setHasMore(false);
  26. view.provider.setStateType(StateType.empty);
  27. }
  28. }, onError: (code, msg) {
  29. view.closeProgress();
  30. view.provider.setHasMore(false);
  31. view.provider.setStateType(StateType.network);
  32. });
  33. }
  34. }