MeTraineeSubjectPageViewController.swift 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. //
  2. // MeTraineeSubjectPageViewController.swift
  3. // JiaPeiManage
  4. //
  5. // Created by Ning.ge on 2023/6/15.
  6. //
  7. import UIKit
  8. import RxSwift
  9. import RxCocoa
  10. final class MeTraineeSubjectPageViewController: BaseTableViewController {
  11. let cellIdentifier:String = "_MeTraineeSubjectCell"
  12. //VM
  13. let meTraineeSubjectViewModel = MeTraineeSubjectViewModel()
  14. init(type:TraineeType,state:String,schoolId:Int) {
  15. super.init()
  16. self.meTraineeSubjectViewModel.type = type
  17. self.meTraineeSubjectViewModel.state = state
  18. self.meTraineeSubjectViewModel.schoolId = schoolId
  19. }
  20. required convenience init?(coder aDecoder: NSCoder) {
  21. fatalError("init(coder:) has not been implemented")
  22. }
  23. override func viewDidLoad() {
  24. super.viewDidLoad()
  25. //绑定
  26. biandView()
  27. //获取list
  28. self.meTraineeSubjectViewModel.getCoachInfoList(vc:self)
  29. }
  30. func biandView(){
  31. tableView.delegate = self
  32. // tableView.dataSource = self
  33. tableView.separatorStyle = .none //去除分割线
  34. tableView.register(UINib(nibName: "MeTraineeSubjectCell", bundle: nil), forCellReuseIdentifier: cellIdentifier)
  35. tableView.rowHeight = 288.f
  36. setupRefreshHeader(tableView) {[unowned self] in
  37. self.meTraineeSubjectViewModel.getCoachInfoList(vc:self)
  38. }
  39. // 设置上拉加载更多
  40. tableView.es.addInfiniteScrolling { [unowned self] in
  41. self.meTraineeSubjectViewModel.getLoadMore(vc:self)
  42. }
  43. self.isEmptyDisplay = false
  44. //RX 绑定
  45. self.meTraineeSubjectViewModel.items
  46. .bind(to: tableView.rx.items(cellIdentifier: cellIdentifier,cellType:MeTraineeSubjectCell.self)) { (row, model, cell) in
  47. cell.index_button.setTitle("\(row+1)", for: .normal)
  48. cell.setRowInfo(rowInfo:model as! RowInfo)
  49. }
  50. .disposed(by: disposeBag)
  51. // tableView点击事件
  52. tableView.rx.itemSelected.throttle(.seconds(1), scheduler: MainScheduler.instance)
  53. .subscribe(onNext: { [weak self]indexPath in
  54. print("点击\(indexPath)行")
  55. let rowInfo:RowInfo = self!.meTraineeSubjectViewModel.rows[indexPath.row]
  56. if rowInfo != nil && rowInfo.bmType == "2" {
  57. NYSwRouter.push(NYSwPushType.trainee_info,context: rowInfo)
  58. }
  59. self?.tableView.deselectRow(at: indexPath, animated: false)
  60. }).disposed(by: disposeBag)
  61. }
  62. }
  63. extension MeTraineeSubjectPageViewController:UITableViewDelegate {
  64. }