123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- //
- // MeTraineeSearchViewModel.swift
- // JiaPeiManage
- //
- // Created by Ning.ge on 2023/7/12.
- //
- import UIKit
- import RxSwift
- class MeTraineeSearchViewModel: NSObject {
-
- // MARK: 服务属性
- private let cocahService: CoachServiceType = CoachService(networking: CoachNetworking())
- // @objc weak var vc:StatisticsPageController? = nil
- // MARK: 数据
- var traineeDataModel:TraineeDataModel?
- var page:Int = 1
- var pageSize:Int = 15
- var state = ""
- var schoolId:Int = 0
- var appCoachId = ""
- var coachId = ""
- var rows:[RowInfo] = []
-
- private let itemsSubject = BehaviorSubject<[RowInfo]>(value: [])
-
- var items: Observable<[RowInfo]> {
- return itemsSubject.asObservable()
- }
-
-
- override init() {
- super.init()
- // searchCoachInfoList()
- }
-
- /// 数据请求
- func searchCoachInfoList(vc:MeTraineeSearchPageViewController)
- {
- print("网络请求")
- var keyword:String = vc.search_textfield.text!.trimmingCharacters(in: .whitespacesAndNewlines)
- if keyword == "" {
- self.traineeDataModel?.total = 0
- self.rows.removeAll()
- vc.hideLoadAnimation()
- vc.stopRefresh()
- vc.tableView.reloadData()
- return
- }
-
- //非绑定的学员 并且 是开启预报名地区
- if appCoachId == "" && LocalManager.userInfo.cityPower == "1"{
-
- if schoolId>0 {//在校
- self.cocahService.yallSchoolStudentInfoListRequest(city: LocalManager.userInfo.city!, coachId:coachId, field: keyword, pageNum: page, pageSize: pageSize, schoolId: schoolId).subscribe(onSuccess: { [unowned self] traineeDataModel in
- self.rows.removeAll()
- self.traineeDataModel = traineeDataModel
- self.rows += traineeDataModel.rows!
- print("coachInfoListRequest成功")
- vc.isEmptyDisplay = true
- vc.hideLoadAnimation()
- vc.stopRefresh()
- vc.tableView.reloadData()
- }, onError: { error in
- vc.stopRefresh()
- })
- .disposed(by: vc.disposeBag)
- }else{//我的
- self.cocahService.yallStudentInfoListRequest(city: LocalManager.userInfo.city!, coachId:coachId, field: keyword, pageNum: page, pageSize: pageSize, schoolId: schoolId).subscribe(onSuccess: { [unowned self] traineeDataModel in
- self.rows.removeAll()
- self.traineeDataModel = traineeDataModel
- self.rows += traineeDataModel.rows!
- print("coachInfoListRequest成功")
- vc.isEmptyDisplay = true
- vc.hideLoadAnimation()
- vc.stopRefresh()
- vc.tableView.reloadData()
- }, onError: { error in
- vc.stopRefresh()
- })
- .disposed(by: vc.disposeBag)
- }
-
-
- }else{//绑定的学员+remark=1+ 走原始api
- let coachIdStr = (appCoachId == "" ? coachId: "")
- self.cocahService.coachInfoListRequest(city: LocalManager.userInfo.city!, appCoachId: appCoachId, coachId: coachIdStr, field: keyword, pageNum: page, pageSize: pageSize, schoolId: schoolId, state: state)
- .subscribe(onSuccess: { [unowned self] traineeDataModel in
- self.rows.removeAll()
- self.traineeDataModel = traineeDataModel
- self.rows += traineeDataModel.rows!
- print("coachInfoListRequest成功")
- vc.isEmptyDisplay = true
- vc.hideLoadAnimation()
- vc.stopRefresh()
- vc.tableView.reloadData()
- }, onError: { error in
- vc.stopRefresh()
- })
- .disposed(by: vc.disposeBag)
- }
-
- }
-
- //更多
- func getLoadMore(vc:MeTraineeSearchPageViewController){
- //计算-页数
- if (traineeDataModel != nil){
- let total = pageSize*self.page
- if(total<(traineeDataModel?.total)!){
- self.page+=1
- }else{
- vc.stopLoad()
- return //已经显示完
- }
- }
- var keyword:String = vc.search_textfield.text!.trimmingCharacters(in: .whitespacesAndNewlines)
- //非绑定的学员 并且 是开启预报名地区
- if appCoachId == "" && LocalManager.userInfo.cityPower == "1"{
- if schoolId>0 {//在校
- self.cocahService.yallSchoolStudentInfoListRequest(city: LocalManager.userInfo.city!, coachId:coachId, field: keyword, pageNum: page, pageSize: pageSize, schoolId: schoolId).subscribe(onSuccess: { [unowned self] traineeDataModel in
- self.traineeDataModel = traineeDataModel
- if(traineeDataModel.rows!.count>0){
- self.rows += traineeDataModel.rows!
- }
- vc.tableView.reloadData()
- vc.stopLoad()
- }, onError: { error in
- vc.stopRefresh()
- })
- .disposed(by: vc.disposeBag)
- }else{//我的
- self.cocahService.yallStudentInfoListRequest(city: LocalManager.userInfo.city!, coachId:coachId, field: keyword, pageNum: page, pageSize: pageSize, schoolId: schoolId).subscribe(onSuccess: { [unowned self] traineeDataModel in
- self.traineeDataModel = traineeDataModel
- if(traineeDataModel.rows!.count>0){
- self.rows += traineeDataModel.rows!
- }
- vc.tableView.reloadData()
- vc.stopLoad()
- }, onError: { error in
- vc.stopRefresh()
- })
- .disposed(by: vc.disposeBag)
- }
-
- }else{//绑定的学员+remark=1+ 走原始api
- self.cocahService.coachInfoListRequest(city: LocalManager.userInfo.city!, appCoachId: appCoachId, coachId: "", field: keyword, pageNum: page, pageSize: pageSize, schoolId: schoolId, state: state)
- .subscribe(onSuccess: { [unowned self] traineeDataModel in
- self.traineeDataModel = traineeDataModel
- if(traineeDataModel.rows!.count>0){
- self.rows += traineeDataModel.rows!
- }
- vc.tableView.reloadData()
- vc.stopLoad()
- }, onError: { error in
- vc.stopRefresh()
- })
- .disposed(by: vc.disposeBag)
- }
- }
-
- }
|