| | |
| | | // |
| | | |
| | | import UIKit |
| | | import RxSwift |
| | | import RxRelay |
| | | |
| | | class WorldCupContentViewModel:RefreshModel<WorldCupListModel>{ |
| | | |
| | | var studentID = BehaviorRelay<Int>(value:0) |
| | | var isStudent = BehaviorRelay<Int>(value:0) |
| | | var state = BehaviorRelay<Int>(value:0) |
| | | |
| | | override func api() -> (Observable<BaseResponse<[WorldCupListModel]>>)? { |
| | | return Services.getMyWorldCupList(id: studentID.value, isStudent: isStudent.value, pageNo: page, state: state.value) |
| | | } |
| | | } |
| | | |
| | | class WorldCupContentVC: BaseVC { |
| | | var currentPartModel:ActivityDetailPartModel? |
| | | |
| | | private var viewModel = WorldCupContentViewModel() |
| | | |
| | | private var tableView:UITableView! |
| | | override func viewDidLoad() { |
| | | super.viewDidLoad() |
| | | view.backgroundColor = .clear |
| | | } |
| | | |
| | | init(state:Int) { |
| | | super.init(nibName: nil, bundle: nil) |
| | | viewModel.state.accept(state) |
| | | } |
| | | |
| | | required init?(coder: NSCoder) { |
| | | fatalError("init(coder:) has not been implemented") |
| | | } |
| | | |
| | | override func setUI() { |
| | | tableView = UITableView(frame: .zero, style: .plain) |
| | | tableView.delegate = self |
| | |
| | | tableView.separatorStyle = .none |
| | | tableView.backgroundColor = .clear |
| | | tableView.register(UINib(nibName: "WorldCupTCell", bundle: nil), forCellReuseIdentifier: "_WorldCupTCell") |
| | | |
| | | view.addSubview(tableView) |
| | | tableView.snp.makeConstraints { make in |
| | | make.edges.equalToSuperview() |
| | | } |
| | | |
| | | viewModel.configure(tableView) |
| | | |
| | | if let m = currentPartModel{ |
| | | viewModel.studentID.accept(m.id) |
| | | viewModel.isStudent.accept(m.isStudent) |
| | | viewModel.beginRefresh() |
| | | } |
| | | } |
| | | } |
| | |
| | | extension WorldCupContentVC:UITableViewDelegate,UITableViewDataSource{ |
| | | |
| | | func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { |
| | | let vc = WorldCupContentDetailVC() |
| | | let model = viewModel.dataSource.value[indexPath.row] |
| | | let vc = WorldCupContentDetailVC(id: model.id) |
| | | push(vc: vc) |
| | | } |
| | | |
| | | func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { |
| | | return 20 |
| | | return viewModel.dataSource.value.count |
| | | } |
| | | |
| | | func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { |
| | | let model = viewModel.dataSource.value[indexPath.row] |
| | | let cell = tableView.dequeueReusableCell(withIdentifier: "_WorldCupTCell") as! WorldCupTCell |
| | | cell.backgroundColor = .clear |
| | | cell.setWorldCupListModel(model) |
| | | cell.label_state.text = viewModel.state.value == 2 ? "未开始":"进行中" |
| | | return cell |
| | | } |
| | | |