//
|
// SpendingDetailContentVC.swift
|
// XQMuse
|
//
|
// Created by 无故事王国 on 2024/8/22.
|
//
|
|
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(set) var tableView:UITableView!
|
private var viewModel = SpendingDetailViewModel()
|
|
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 viewDidLoad() {
|
super.viewDidLoad()
|
|
viewModel.configure(tableView)
|
viewModel.beginRefresh()
|
}
|
|
override func setUI() {
|
tableView = UITableView(frame: .zero, style: .plain)
|
tableView.delegate = self
|
tableView.dataSource = self
|
tableView.register(UINib(nibName: "SpendingDetailContentTCell", bundle: nil), forCellReuseIdentifier: "_SpendingDetailContentTCell")
|
tableView.separatorStyle = .none
|
|
view.addSubview(tableView)
|
tableView.snp.makeConstraints { make in
|
make.edges.equalToSuperview()
|
}
|
}
|
}
|
|
extension SpendingDetailContentVC:UITableViewDelegate & UITableViewDataSource{
|
|
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
|
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 viewModel.dataSource.value?.list.count ?? 0
|
}
|
|
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
|
return 70
|
}
|
}
|