// // MeTraineeSubjectPageViewController.swift // JiaPeiManage // // Created by Ning.ge on 2023/6/15. // import UIKit import RxSwift import RxCocoa final class MeTraineeSubjectPageViewController: BaseTableViewController { let cellIdentifier:String = "_MeTraineeSubjectCell" //VM let meTraineeSubjectViewModel = MeTraineeSubjectViewModel() init(type:TraineeType,state:String,schoolId:Int) { super.init() self.meTraineeSubjectViewModel.type = type self.meTraineeSubjectViewModel.state = state self.meTraineeSubjectViewModel.schoolId = schoolId } required convenience init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } override func viewDidLoad() { super.viewDidLoad() //绑定 biandView() //获取list self.meTraineeSubjectViewModel.getCoachInfoList(vc:self) } func biandView(){ tableView.delegate = self // tableView.dataSource = self tableView.separatorStyle = .none //去除分割线 tableView.register(UINib(nibName: "MeTraineeSubjectCell", bundle: nil), forCellReuseIdentifier: cellIdentifier) tableView.rowHeight = 288.f setupRefreshHeader(tableView) {[unowned self] in self.meTraineeSubjectViewModel.getCoachInfoList(vc:self) } // 设置上拉加载更多 tableView.es.addInfiniteScrolling { [unowned self] in if self.meTraineeSubjectViewModel != nil { self.meTraineeSubjectViewModel.getLoadMore(vc:self) } } self.isEmptyDisplay = false //RX 绑定 self.meTraineeSubjectViewModel.items .bind(to: tableView.rx.items(cellIdentifier: cellIdentifier,cellType:MeTraineeSubjectCell.self)) { (row, model, cell) in cell.index_button.setTitle("\(row+1)", for: .normal) cell.setRowInfo(rowInfo:model as! RowInfo) } .disposed(by: disposeBag) // tableView点击事件 tableView.rx.itemSelected.throttle(.seconds(1), scheduler: MainScheduler.instance) .subscribe(onNext: { [weak self]indexPath in print("点击\(indexPath)行") let rowInfo:RowInfo = self!.meTraineeSubjectViewModel.rows[indexPath.row] if rowInfo != nil { //rowInfo.bmType == "2" NYSwRouter.push(NYSwPushType.trainee_info,context: rowInfo) } self?.tableView.deselectRow(at: indexPath, animated: false) }).disposed(by: disposeBag) } } extension MeTraineeSubjectPageViewController:UITableViewDelegate { }