| | |
| | | |
| | | import UIKit |
| | | import JQTools |
| | | import RxSwift |
| | | import RxCocoa |
| | | |
| | | class ActivitySignupViewModel:RefreshModel<ActivityListModel>{ |
| | | var type = BehaviorRelay<SignupType>(value: .all) |
| | | override func api() -> (Observable<BaseResponse<[ActivityListModel]>>)? { |
| | | return Services.queryMyCompetitionList(page: page,pageSize: 20, type: type.value) |
| | | } |
| | | } |
| | | |
| | | class ActivitySignupListSubVC: BaseVC { |
| | | |
| | | var viewModel = ActivitySignupViewModel() |
| | | |
| | | enum SignupType:Int { |
| | | case all = 0 |
| | | case ongoing |
| | | case over |
| | | case prepare |
| | | case cancel |
| | | } |
| | | |
| | | var signupType:SignupType! |
| | | |
| | | lazy private var tableView:UITableView = { |
| | | let tableView = UITableView(frame: .zero, style: .plain) |
| | | lazy private var tableView:BaseTableView = { |
| | | let tableView = BaseTableView(frame: .zero, style: .plain) |
| | | tableView.delegate = self |
| | | tableView.dataSource = self |
| | | tableView.register(UINib(nibName: "ActivityInfoTCell", bundle: nil), forCellReuseIdentifier: "_ActivityInfoTCell") |
| | | return tableView |
| | | }() |
| | | |
| | | |
| | | init(type:SignupType) { |
| | | super.init(nibName: nil, bundle: nil) |
| | | self.signupType = type |
| | | viewModel.type.accept(type) |
| | | } |
| | | |
| | | required init?(coder: NSCoder) { |
| | |
| | | |
| | | override func viewDidLoad() { |
| | | super.viewDidLoad() |
| | | view.backgroundColor = .jq_randomColor |
| | | view.backgroundColor = .white |
| | | |
| | | tableView.jq_setEmptyView() |
| | | viewModel.configure(tableView) |
| | | viewModel.beginRefresh() |
| | | } |
| | | |
| | | override func setUI() { |
| | | view.addSubview(tableView) |
| | | tableView.delegate = self |
| | | tableView.dataSource = self |
| | | tableView.register(UINib(nibName: "ActivityInfoTCell", bundle: nil), forCellReuseIdentifier: "_ActivityInfoTCell") |
| | | tableView.snp.makeConstraints { make in |
| | | make.edges.equalToSuperview() |
| | | } |
| | |
| | | |
| | | extension ActivitySignupListSubVC:UITableViewDelegate{ |
| | | func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { |
| | | let model = viewModel.dataSource.value[indexPath.row] |
| | | let vc = ActivitySignupDetailVC() |
| | | push(vc: vc) |
| | | } |
| | |
| | | } |
| | | |
| | | func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { |
| | | return 5 |
| | | return viewModel.dataSource.value.count |
| | | } |
| | | } |