| | |
| | | |
| | | import UIKit |
| | | import JQTools |
| | | import RxSwift |
| | | import RxRelay |
| | | |
| | | class SpendingDetailViewModel:RefreshInnerModel<BalanceInfoModel>{ |
| | | |
| | | var state = BehaviorRelay<Int>(value: 1) |
| | | |
| | | override func api() -> (Observable<BaseResponse<BaseResponseList<BalanceInfoModel>>>)? { |
| | | return Services.balanceRecordList(page: page, pageSize: 20, state: state.value) |
| | | } |
| | | } |
| | | |
| | | class SpendingDetailContentVC: BaseVC { |
| | | |
| | | private var page:Int! |
| | | private var tableView:UITableView! |
| | | private var viewModel = SpendingDetailViewModel() |
| | | |
| | | init(page:Int) { |
| | | init(state:Int) { |
| | | super.init(nibName: nil, bundle: nil) |
| | | self.page = page |
| | | viewModel.state.accept(state) |
| | | } |
| | | |
| | | required init?(coder: NSCoder) { |
| | |
| | | override func viewDidLoad() { |
| | | super.viewDidLoad() |
| | | |
| | | // Do any additional setup after loading the view. |
| | | viewModel.configure(tableView) |
| | | viewModel.beginRefresh() |
| | | } |
| | | |
| | | override func setUI() { |
| | |
| | | extension SpendingDetailContentVC:UITableViewDelegate & UITableViewDataSource{ |
| | | |
| | | func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { |
| | | let vc = SpendingDetailInfoVC() |
| | | let model = viewModel.dataSource.value!.list[indexPath.row] |
| | | let vc = SpendingDetailInfoVC(id: model.id) |
| | | JQ_currentViewController().jq_push(vc: vc, animated: true) |
| | | } |
| | | |
| | | func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { |
| | | let model = viewModel.dataSource.value!.list[indexPath.row] |
| | | let cell = tableView.dequeueReusableCell(withIdentifier: "_SpendingDetailContentTCell", for: indexPath) as! SpendingDetailContentTCell |
| | | |
| | | cell.setBalanceInfoModel(model) |
| | | return cell |
| | | } |
| | | |
| | | func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { |
| | | return 10 |
| | | return viewModel.dataSource.value?.list.count ?? 0 |
| | | } |
| | | |
| | | func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { |