杨锴
2025-05-11 7453d2d0cef415b34323d1b91e6cfa4a6ba31178
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
103
104
105
106
107
108
109
//
//  MyCardListVC.swift
//  WanPai
//
//  Created by 无故事王国 on 2025/3/28.
//
 
import UIKit
import RxSwift
import RxCocoa
import SnapKit
import MJRefresh
 
class MyCardViewModel:RefreshModel<HuiminCardMyItemModel>{
    override func api() -> (Observable<BaseResponse<[HuiminCardMyItemModel]>>)? {
        return Services.getMyHuiminCard(page: page)
    }
}
 
let Noti_MyCard_Refresh = Notification.Name.init("Noti_MyCard_Refresh")
 
class MyCardListVC: BaseVC {
 
    private let viewModel = MyCardViewModel()
    private var tableView:UITableView!
    private var sotreId:Int?
    private var model:HuiminCardModel?
    var jumpToFirst:HuiminCardMyItemModel? //如果只有一张卡,直接跳详情
 
    override func viewDidLoad() {
        super.viewDidLoad()
        title = "我的玩湃惠民卡"
 
        if let m = jumpToFirst{
            guard m.isExpire == 0 else{return}
 
            if m.status == 3{return}
 
            if m.isRefund == 2{return}
            let vc = MyCardItemVC(id: m.id)
            push(vc: vc)
        }
    }
 
    override func setUI() {
        tableView = UITableView(frame: .zero, style: .plain)
        tableView.delegate = self
        tableView.dataSource = self
        tableView.dataSource = self
        tableView.separatorStyle = .none
        tableView.contentInset = UIEdgeInsets(top: 30, left: 0, bottom: 0, right: 0)
        tableView.register(UINib(nibName: "MyCardTCell", bundle: nil), forCellReuseIdentifier: "_MyCardTCell")
        view.addSubview(tableView)
 
        tableView.snp.makeConstraints { make in
            make.edges.equalToSuperview()
        }
 
        viewModel.configure(tableView)
        tableView.mj_header?.ignoredScrollViewContentInsetTop = 30
        viewModel.beginRefresh()
 
    }
 
    override func setRx() {
        NotificationCenter.default.rx.notification(Noti_MyCard_Refresh).take(until: self.rx.deallocated).subscribe(onNext: {[unowned self] _ in
            self.viewModel.beginRefresh()
        }).disposed(by: disposeBag)
    }
}
 
extension MyCardListVC:UITableViewDelegate{
    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        let m = viewModel.dataSource.value[indexPath.row]
        guard m.isExpire == 0 else{
            alert(msg: "该卡已过期");return
        }
 
        if m.status == 3{
            alert(msg: "该卡已退款");return
        }
 
        if m.isRefund == 2{
            alert(msg: "该卡正在退款中");return
        }
 
        let vc = MyCardItemVC(id: m.id)
        push(vc: vc)
    }
}
 
extension MyCardListVC:UITableViewDataSource{
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        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: "_MyCardTCell", for: indexPath) as! MyCardTCell
        cell.setModel(model)
        return cell
    }
 
//    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
//        return 290
//    }
 
 
}