无故事王国
2023-10-19 eb795a6523edbc0fe3a3b1a3d3bea1063041efd5
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
//
//  ActivityStudentListVC.swift
//  WanPai
//
//  Created by 杨锴 on 2023/6/14.
//
 
import UIKit
import QMUIKit
import JQTools
import RxSwift
import RxCocoa
import HandyJSON
 
class ActivityStudentViewModel:RefreshModel<ActivityDetailPartModel>{
    override func api() -> (Observable<BaseResponse<[ActivityDetailPartModel]>>)? {
        return Services.queryParticipantList()
    }
}
 
class ActivityStudentListVC: BaseVC {
 
    @IBOutlet weak var btn_addStudent: QMUIButton!
    @IBOutlet weak var tableView: BaseTableView!
    private var viewModel = ActivityStudentViewModel()
 
    override func viewDidLoad() {
        super.viewDidLoad()
        title = "选择人员"
        viewModel.configure(tableView,needMore: false)
        viewModel.beginRefresh()
    }
    
    override func setUI() {
        btn_addStudent.imagePosition = .right
        btn_addStudent.spacingBetweenImageAndTitle = 4
        
        tableView.delegate = self
        tableView.dataSource = self
        tableView.separatorStyle = .none
        tableView.register(UINib(nibName: "StudentInfo_2_TCell", bundle: nil), forCellReuseIdentifier: "_StudentInfo_2_TCell")
//        tableView.jq_setEmptyView("暂无参赛人员")
    }
 
    override func setRx() {
        NotificationCenter.default.rx.notification(StudentUpdate_Nofi).take(until: self.rx.deallocated).subscribe(onNext: {[weak self] noti in
            self?.viewModel.beginRefresh()
        }).disposed(by: disposeBag)
    }
    
    @IBAction func addStudentAction(_ sender: Any) {
        let vc = AddStudentVC(type: .activity)
        push(vc: vc)
    }
}
 
extension ActivityStudentListVC:UITableViewDelegate{
    
}
 
extension ActivityStudentListVC:UITableViewDataSource{
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "_StudentInfo_2_TCell") as! StudentInfo_2_TCell
        cell.indexPath = indexPath
        cell.img_radio.isHidden = true
        cell.activityDetailPartModel = viewModel.dataSource.value[indexPath.row]
        cell.btn_verifiy.isHidden = !viewModel.dataSource.value[indexPath.row].idcard.isEmpty
        cell.delClouse = {index in
            CommonAlertView.show(title: "提示", content: "确认删除当前人员吗?") { [weak self] status in
                guard let weakSelf = self else { return }
                if status{
                    let m = weakSelf.viewModel.dataSource.value[index.row]
                    Services.deleParticipant(id: m.id).subscribe(onNext: { data in
                        weakSelf.viewModel.beginRefresh()
                    }).disposed(by: weakSelf.disposeBag)
                }
            }
        }
        return cell
    }
    
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return viewModel.dataSource.value.count
    }
}