younger_times
2023-07-24 858bd6df13a6a6415d12d8e60141575574646f58
WanPai/Root/Welfare/VC/WelfareCouponsSubListVC.swift
@@ -1,18 +1,29 @@
//
//  WelfareCouponsSubListVC.swift
//  WanPai
//
//  Created by 无故事王国 on 2023/6/28.
//
    //
    //  WelfareCouponsSubListVC.swift
    //  WanPai
    //
    //  Created by 无故事王国 on 2023/6/28.
    //
import UIKit
import RxSwift
import RxRelay
import JQTools
let WelfareCoupons_Noti = NSNotification.Name("WelfareCoupons_Noti")
class WelfareCouponViewModel:RefreshModel<CouponModel>{
    var type = BehaviorRelay<Int?>(value: nil)
    var status = BehaviorRelay<Int?>(value: nil)
    override func api() -> (Observable<BaseResponse<[CouponModel]>>)? {
        Services.myCouponList(type: type.value, useStatus: status.value)
    }
}
class WelfareCouponsSubListVC: BaseVC {
    lazy private var tableView:UITableView = {
        let table = UITableView(frame: .zero, style: .plain)
    lazy private var tableView:BaseTableView = {
        let table = BaseTableView(frame: .zero, style: .plain)
        table.separatorStyle = .none
        table.delegate = self
        table.dataSource = self
@@ -20,11 +31,23 @@
        return table
    }()
    let viewModel = WelfareCouponViewModel()
    private var rows = Set<Int>()
    required init(type:Int?) {
        super.init(nibName: nil, bundle: nil)
        viewModel.type.accept(type)
    }
    required init?(coder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    override func viewDidLoad() {
        super.viewDidLoad()
        viewModel.configure(tableView,needMore: false)
        viewModel.beginRefresh()
    }
    override func setUI() {
@@ -32,6 +55,7 @@
        tableView.snp.makeConstraints { make in
            make.edges.equalToSuperview()
        }
        tableView.jq_setEmptyView()
    }
    override func setRx() {
@@ -54,7 +78,7 @@
extension WelfareCouponsSubListVC:UITableViewDataSource{
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
         return 15
        return viewModel.dataSource.value.count
    }
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
@@ -64,6 +88,7 @@
        cell.btn_info.isSelected = rows.contains(indexPath.row)
        cell.label_info.isHidden = !rows.contains(indexPath.row)
        cell.view_line.isHidden = !rows.contains(indexPath.row)
        cell.couponModel = viewModel.dataSource.value[indexPath.row]
        return cell
    }