repair_select_project_presenter.dart 1.3 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import 'package:flutter/cupertino.dart';
  2. import 'package:liftmanager/internal/repair/page/repair_select_project_page.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. class RepairSelectProjectPresenter extends BasePagePresenter<RepairSelectProjectPageState> {
  7. Future searchProject(BuildContext context,String text, int page, bool isShowDialog) async {
  8. await ApiService(context: context).searchProject(page,20,text,onSuccess: (data) {
  9. view.closeProgress();
  10. if (data != null) {
  11. view.provider.setHasMore(data.rows.length == 20);
  12. if(page == 1){
  13. view.provider.list.clear();
  14. if (data.rows.isEmpty) {
  15. view.provider.setStateType(StateType.empty);
  16. } else {
  17. view.provider.addAll(data.rows);
  18. }
  19. }else{
  20. view.provider.addAll(data.rows);
  21. }
  22. } else {
  23. /// 加载失败
  24. view.provider.setHasMore(false);
  25. view.provider.setStateType(StateType.empty);
  26. }
  27. }, onError: (code, msg) {
  28. view.closeProgress();
  29. view.provider.setHasMore(false);
  30. view.provider.setStateType(StateType.network);
  31. });
  32. }
  33. }