123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275 |
- //
- // StatisticsStuListViewModel.swift
- // JiaPeiManage
- //
- // Created by Ning.ge on 2024/4/3.
- //
- import UIKit
- import RxSwift
- class StatisticsStuListViewModel: NSObject {
-
- // MARK: 服务属性
- private let cocahService: CoachServiceType = CoachService(networking: CoachNetworking())
-
- private let itemsSubject = BehaviorSubject<[RowInfo]>(value: [])
-
- var items: Observable<[RowInfo]> {
- return itemsSubject.asObservable()
- }
- // MARK: 数据
- var traineeDataModel:TraineeDataModel?
- var rows:[RowInfo] = []
-
- var page:Int = 1
- var pageSize:Int = 10
- var state = "1"
- var schoolId:Int = 0
- var type:TraineeType?
- var startDate = ""
- var endDate = ""
- override init() {
- super.init()
- // searchCoachInfoList()
- }
-
- func getCoachInfoList(vc:StatisticsStuListPageController)
- {
- page = 1
- let coachId = "\(LocalManager.userInfo.id)" //8-28 都传入coachId 都由服务端判断
- if (self.type == .advancet){ //预报名
- if state == "0" {
- if (schoolId>0){//在校
- self.cocahService.coachTempListDateRequest(city: LocalManager.userInfo.city!, appCoachId: "", coachId: coachId, field: "", pageNum: page, pageSize: pageSize, schoolId: schoolId, state: "",startDate: startDate, endDate: endDate)
- .subscribe(onSuccess: {[unowned self] traineeDataModel in
- self.rows.removeAll()
- self.traineeDataModel = traineeDataModel
- self.rows += traineeDataModel.rows!
- itemsSubject.onNext(self.rows)//消息rx
- print("coachInfoListRequest成功")
- vc.isEmptyDisplay = true
- vc.hideLoadAnimation()
- vc.tableView.reloadData()
- vc.stopRefresh()
- }, onError: { error in
- vc.stopRefresh()
- })
- .disposed(by: vc.disposeBag)
- }else {//我的
- self.cocahService.mycoachTempListRequest(city: LocalManager.userInfo.city!, appCoachId: "", coachId: coachId, field: "", pageNum: page, pageSize: pageSize, schoolId: schoolId, state: "")
- .subscribe(onSuccess: {[unowned self] traineeDataModel in
- self.rows.removeAll()
- self.traineeDataModel = traineeDataModel
- self.rows += traineeDataModel.rows!
- itemsSubject.onNext(self.rows)//消息rx
- print("coachInfoListRequest成功")
- vc.isEmptyDisplay = true
- vc.hideLoadAnimation()
- vc.tableView.reloadData()
- vc.stopRefresh()
- }, onError: { error in
- vc.stopRefresh()
- })
- .disposed(by: vc.disposeBag)
- }
-
- }else {
- if (schoolId>0){//在校
- self.cocahService.coachInfoListDateRequest(city: LocalManager.userInfo.city!, appCoachId: "", coachId: coachId, field: "", pageNum: page, pageSize: pageSize, schoolId: schoolId, state: state,startDate: startDate, endDate: endDate)
- .subscribe(onSuccess: {[unowned self] traineeDataModel in
- self.rows.removeAll()
- self.traineeDataModel = traineeDataModel
- self.rows += traineeDataModel.rows!
- itemsSubject.onNext(self.rows)//消息rx
- print("coachInfoListRequest成功")
- vc.isEmptyDisplay = true
- vc.hideLoadAnimation()
- vc.tableView.reloadData()
- vc.stopRefresh()
- }, onError: { error in
- vc.stopRefresh()
- })
- .disposed(by: vc.disposeBag)
- }else{//我的
- self.cocahService.coachInfoMyListRequest(city: LocalManager.userInfo.city!, appCoachId: "", coachId: coachId, field: "", pageNum: page, pageSize: pageSize, schoolId: schoolId, state: state)
- .subscribe(onSuccess: {[unowned self] traineeDataModel in
- self.rows.removeAll()
- self.traineeDataModel = traineeDataModel
- self.rows += traineeDataModel.rows!
- itemsSubject.onNext(self.rows)//消息rx
- print("coachInfoListRequest成功")
- vc.isEmptyDisplay = true
- vc.hideLoadAnimation()
- vc.tableView.reloadData()
- vc.stopRefresh()
- }, onError: { error in
- vc.stopRefresh()
- })
- .disposed(by: vc.disposeBag)
- }
-
- }
-
-
- return
- }
- if schoolId>0 {//在校
- self.cocahService.coachInfoListDateRequest(city: LocalManager.userInfo.city!, appCoachId: "", coachId: coachId, field: "", pageNum: page, pageSize: pageSize, schoolId: schoolId, state: state,startDate: startDate, endDate: endDate)
- .subscribe(onSuccess: {[unowned self] traineeDataModel in
- self.rows.removeAll()
- self.traineeDataModel = traineeDataModel
- self.rows += traineeDataModel.rows!
- itemsSubject.onNext(self.rows)//消息rx
- print("coachInfoListRequest成功")
- vc.isEmptyDisplay = true
- vc.hideLoadAnimation()
- vc.tableView.reloadData()
- vc.stopRefresh()
- }, onError: { error in
- vc.stopRefresh()
- })
- .disposed(by: vc.disposeBag)
- }else{//我的
- //schoolId = LocalManager.userInfo.schoolId
- self.cocahService.coachInfoMyListRequest(city: LocalManager.userInfo.city!, appCoachId: "", coachId: coachId, field: "", pageNum: page, pageSize: pageSize, schoolId: schoolId, state: state)
- .subscribe(onSuccess: {[unowned self] traineeDataModel in
- self.rows.removeAll()
- self.traineeDataModel = traineeDataModel
- self.rows += traineeDataModel.rows!
- itemsSubject.onNext(self.rows)//消息rx
- print("coachInfoListRequest成功")
- vc.isEmptyDisplay = true
- vc.hideLoadAnimation()
- vc.tableView.reloadData()
- vc.stopRefresh()
- }, onError: { error in
- vc.stopRefresh()
- })
- .disposed(by: vc.disposeBag)
- }
-
- }
-
-
- //更多
- func getLoadMore(vc:StatisticsStuListPageController){
- //计算-页数
- if (traineeDataModel != nil){
- let total = pageSize*self.page
- if(total<(traineeDataModel?.total)!){
- self.page+=1
- }else{
- vc.stopLoad()
- return //已经显示完
- }
- }
- let coachId = "\(LocalManager.userInfo.id)" //8-28 都传入coachId 都由服务端判断
- if (self.type == .advancet){ //预报名
- if state == "0" {
- if (schoolId>0){//在校
- self.cocahService.coachTempListDateRequest(city: LocalManager.userInfo.city!, appCoachId: "", coachId: coachId, field: "", pageNum: page, pageSize: pageSize, schoolId: schoolId, state: "",startDate: startDate, endDate: endDate)
- .subscribe(onSuccess: {[unowned self] traineeDataModel in
- self.traineeDataModel = traineeDataModel
- if(traineeDataModel.rows!.count>0){
- self.rows += traineeDataModel.rows!
- }
- itemsSubject.onNext(self.rows)//消息rx
- print("coachInfoListRequest成功")
- // vc.tableView.reloadData()
- vc.stopLoad()
- }, onError: { error in
- vc.stopRefresh()
- })
- .disposed(by: vc.disposeBag)
- }else {//我的
- self.cocahService.mycoachTempListRequest(city: LocalManager.userInfo.city!, appCoachId: "", coachId: coachId, field: "", pageNum: page, pageSize: pageSize, schoolId: schoolId, state: "")
- .subscribe(onSuccess: {[unowned self] traineeDataModel in
- self.traineeDataModel = traineeDataModel
- if(traineeDataModel.rows!.count>0){
- self.rows += traineeDataModel.rows!
- }
- itemsSubject.onNext(self.rows)//消息rx
- print("coachInfoListRequest成功")
- // vc.tableView.reloadData()
- vc.stopLoad()
- }, onError: { error in
- vc.stopRefresh()
- })
- .disposed(by: vc.disposeBag)
-
- }
-
- }else {
- if (schoolId>0){//在校
- self.cocahService.coachInfoListDateRequest(city: LocalManager.userInfo.city!, appCoachId: "", coachId: coachId, field: "", pageNum: page, pageSize: pageSize, schoolId: schoolId, state: state,startDate: startDate, endDate: endDate)
- .subscribe(onSuccess: {[unowned self] traineeDataModel in
- self.traineeDataModel = traineeDataModel
- if(traineeDataModel.rows!.count>0){
- self.rows += traineeDataModel.rows!
- }
- itemsSubject.onNext(self.rows)//消息rx
- print("coachInfoListRequest成功")
- // vc.tableView.reloadData()
- vc.stopLoad()
- }, onError: { error in
- vc.stopRefresh()
- })
- .disposed(by: vc.disposeBag)
- }else {//我的
- self.cocahService.coachInfoMyListRequest(city: LocalManager.userInfo.city!, appCoachId: "", coachId: coachId, field: "", 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!
- }
- itemsSubject.onNext(self.rows)//消息rx
- print("coachInfoListRequest成功")
- // vc.tableView.reloadData()
- vc.stopLoad()
- }, onError: { error in
- vc.stopRefresh()
- })
- .disposed(by: vc.disposeBag)
- }
-
- }
- return
- }
- if schoolId>0 {//在校
- //请求网络-加载
- self.cocahService.coachInfoListDateRequest(city: LocalManager.userInfo.city!, appCoachId: "", coachId: coachId, field: "", pageNum: page, pageSize: pageSize, schoolId: schoolId, state: state,startDate: startDate, endDate: endDate)
- .subscribe(onSuccess: {[unowned self] traineeDataModel in
- self.traineeDataModel = traineeDataModel
- if(traineeDataModel.rows!.count>0){
- self.rows += traineeDataModel.rows!
- }
- itemsSubject.onNext(self.rows)//消息rx
- print("coachInfoListDateRequest成功")
- // vc.tableView.reloadData()
- vc.stopLoad()
- }, onError: { error in
- vc.stopLoad()
- })
- .disposed(by: vc.disposeBag)
- }else{//我的
- //请求网络-加载
- self.cocahService.coachInfoMyListRequest(city: LocalManager.userInfo.city!, appCoachId: "", coachId: coachId, field: "", 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!
- }
- itemsSubject.onNext(self.rows)//消息rx
- print("coachInfoListRequest成功")
- // vc.tableView.reloadData()
- vc.stopLoad()
- }, onError: { error in
- vc.stopLoad()
- })
- .disposed(by: vc.disposeBag)
- }
-
- }
- }
|