fix
无故事王国
2024-06-20 f2e891eecfac25bf6aed38c8eadfdf05704b16b6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
//
//  CoinRecordHistoryVC.swift
//  DolphinEnglishLearnManager
//
//  Created by 无故事王国 on 2024/5/20.
//
 
import UIKit
import RxRelay
import JQTools
import RxSwift
 
class CoinRecordHistoryViewModel:RefreshInnerModel<IntegralModel>{
                var selectDate = BehaviorRelay<Date?>(value:nil)
 
                override func api() -> (Observable<BaseResponse<BaseResponseList<IntegralModel>>>)? {
                                return Services.integralDetail(pageNum: page, time: selectDate.value?.jq_format("yyyy-MM"))
                }
}
 
class CoinRecordHistoryVC: BaseVC {
 
                @IBOutlet weak var view_menuTitle: UIView!
                @IBOutlet weak var tableView: UITableView!
                @IBOutlet weak var label_coin: UILabel!
                @IBOutlet weak var btn_selectDate: UIButton!
                
                private var viewModel  = CoinRecordHistoryViewModel()
                override func viewDidLoad() {
                                super.viewDidLoad()
 
                                viewModel.configure(tableView,needMore: true)
                                viewModel.beginRefresh()
 
                                Services.getIntegral().subscribe(onNext: {reault in
                                                self.label_coin.text = "\(reault.data ?? 0)"
                                }).disposed(by: disposeBag)
                }
 
                override func setUI() {
                                super.setUI()
                                view_menuTitle.jq_addCorners(corner: [.topLeft,.topRight], radius: 20)
                                tableView.delegate = self
                                tableView.dataSource = self
                                tableView.showsVerticalScrollIndicator = false
                                tableView.showsHorizontalScrollIndicator = false
                                tableView.register(UINib(nibName: "Home_1_TCell", bundle: nil), forCellReuseIdentifier: "_Home_1_TCell")
                                tableView.separatorStyle = .none
                }
 
                override func setRx() {
                                viewModel.selectDate.subscribe(onNext: {[weak self]date in
                                                if let d = date{
                                                                let formartDate = String(format: "%ld-%02ld", d.jq_nowYear(),d.jq_nowMonth())
                                                                self?.btn_selectDate.setTitle(formartDate, for: .normal)
                                                }
                                }).disposed(by: disposeBag)
                }
 
                @IBAction func chooseDateTimeAction(_ sender: UIButton) {
                                let year = viewModel.selectDate.value?.jq_nowYear() ?? Date().jq_nowYear()
                                let month = viewModel.selectDate.value?.jq_nowMonth() ?? Date().jq_nowMonth()
                                BitrhdayPickerView.show(title: "查询时间", type: .YM, defaultYear: year, defaultMonth: month, defaultDay: 0, minYear: 2021) {[weak self] date in
                                                self?.viewModel.selectDate.accept(date)
                                                self?.viewModel.beginRefresh()
                                }
                }
 
                @IBAction func resetAction(_ sender: UIButton) {
                                viewModel.selectDate.accept(nil)
                                btn_selectDate.setTitle("请选择", for: .normal)
                                viewModel.beginRefresh()
                }
}
 
extension CoinRecordHistoryVC:UITableViewDelegate{
 
}
 
extension CoinRecordHistoryVC:UITableViewDataSource{
                func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
                                let cell = tableView.dequeueReusableCell(withIdentifier: "_Home_1_TCell", for: indexPath) as! Home_1_TCell
 
                                if indexPath.row % 2 == 0{
                                                cell.contentView.backgroundColor = UIColor(hexStr: "#F4FAFE")
                                }else{
                                                cell.contentView.backgroundColor = .white
                                }
 
                                let m = viewModel.dataSource.value?.records[indexPath.row]
                                cell.integralModel = m
                                return cell
                }
 
                func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
                                return viewModel.dataSource.value?.records.count ?? 0
                }
 
                func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
                                return 40
                }
}