MeTraineeSearchViewModel.swift 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. //
  2. // MeTraineeSearchViewModel.swift
  3. // JiaPeiManage
  4. //
  5. // Created by Ning.ge on 2023/7/12.
  6. //
  7. import UIKit
  8. import RxSwift
  9. class MeTraineeSearchViewModel: NSObject {
  10. // MARK: 服务属性
  11. private let cocahService: CoachServiceType = CoachService(networking: CoachNetworking())
  12. // MARK: 数据
  13. var traineeDataModel:TraineeDataModel?
  14. var page:Int = 1
  15. var pageSize:Int = 250
  16. var state = ""
  17. var schoolId:Int = 0
  18. var appCoachId = ""
  19. var coachId = ""
  20. private let itemsSubject = BehaviorSubject<[RowInfo]>(value: [])
  21. var items: Observable<[RowInfo]> {
  22. return itemsSubject.asObservable()
  23. }
  24. override init() {
  25. super.init()
  26. // searchCoachInfoList()
  27. }
  28. /// 数据请求
  29. func searchCoachInfoList(searchPageVC:MeTraineeSearchPageViewController)
  30. {
  31. print("网络请求")
  32. var keyword:String = searchPageVC.search_textfield.text!.trimmingCharacters(in: .whitespacesAndNewlines)
  33. if keyword == "" {
  34. self.traineeDataModel?.total = 0
  35. self.traineeDataModel?.rows?.removeAll()
  36. searchPageVC.isEmptyDisplay = true
  37. searchPageVC.hideLoadAnimation()
  38. searchPageVC.stopRefresh()
  39. searchPageVC.tableView.reloadData()
  40. return
  41. }
  42. //绑定的学员+remark=1+ 走原始api
  43. if appCoachId != "" && LocalManager.userInfo.cityPower == "1"{
  44. self.cocahService.coachInfoListRequest(city: LocalManager.userInfo.city!, appCoachId: appCoachId, coachId: "", field: keyword, pageNum: page, pageSize: pageSize, schoolId: schoolId, state: state)
  45. .subscribe(onSuccess: { [unowned self] traineeDataModel in
  46. self.traineeDataModel = traineeDataModel
  47. // itemsSubject.onNext(traineeDataModel.rows!)
  48. print("coachInfoListRequest成功")
  49. searchPageVC.isEmptyDisplay = true
  50. searchPageVC.hideLoadAnimation()
  51. searchPageVC.stopRefresh()
  52. searchPageVC.tableView.reloadData()
  53. }, onError: { error in
  54. searchPageVC.stopRefresh()
  55. })
  56. .disposed(by: searchPageVC.disposeBag)
  57. }else{
  58. self.cocahService.allStudentInfoListRequest(city: LocalManager.userInfo.city!, coachId:coachId, field: keyword, pageNum: page, pageSize: pageSize, schoolId: schoolId).subscribe(onSuccess: { [unowned self] traineeDataModel in
  59. self.traineeDataModel = traineeDataModel
  60. // itemsSubject.onNext(traineeDataModel.rows!)
  61. print("coachInfoListRequest成功")
  62. searchPageVC.isEmptyDisplay = true
  63. searchPageVC.hideLoadAnimation()
  64. searchPageVC.stopRefresh()
  65. searchPageVC.tableView.reloadData()
  66. }, onError: { error in
  67. searchPageVC.stopRefresh()
  68. })
  69. .disposed(by: searchPageVC.disposeBag)
  70. }
  71. }
  72. }