younger_times
2023-07-17 a0071c0c7726d3e6742bc7c4c30536302766626a
WanPai/Root/Activity/VC/ActivitySignupDetailVC.swift
@@ -6,19 +6,140 @@
//
import UIKit
import SDWebImage
import JQTools
let CancelActivitySingup_Noti = Notification.Name.init("CancelActivitySingup_Noti")
class ActivitySignupDetailVC: BaseVC {
    private var id:Int!
    @IBOutlet weak var img_profile: UIImageView!
    @IBOutlet weak var label_storeName: UILabel!
    @IBOutlet weak var label_title: UILabel!
    @IBOutlet weak var label_joinCondition: UILabel!
    @IBOutlet weak var label_address: UILabel!
    @IBOutlet weak var label_duetime: UILabel!
    @IBOutlet weak var label_starttime: UILabel!
    @IBOutlet weak var label_endtime: UILabel!
    @IBOutlet weak var label_ageScope: UILabel!
    @IBOutlet weak var label_city: UILabel!
    @IBOutlet weak var label_money: UILabel!
    @IBOutlet weak var label_totalMoney: UILabel!
    @IBOutlet weak var label_introducion: UILabel!
    @IBOutlet weak var img_enrollRequired: UIImageView!
    @IBOutlet weak var cons_imgEnrollHei: NSLayoutConstraint!
    @IBOutlet weak var btn_cancel: UIButton!
    @IBOutlet weak var tableView: UITableView!
    @IBOutlet weak var cons_tableHei: NSLayoutConstraint!
    var activityDetailModel:ActivityDetailModel?{
        didSet{
            guard let m = activityDetailModel else {return}
            img_profile.sd_setImage(with: URL(string: m.storeCoverDrawing)!)
            label_storeName.text = m.storeName + "(\(m.storeAddress))"
            label_title.text = m.name
            label_joinCondition.text = m.registerCondition.strTitle
            label_address.text = m.address
            label_duetime.text = m.registerEndTime
            label_starttime.text = m.startTime
            label_endtime.text = m.endTime
            label_ageScope.text = m.age
            label_introducion.text = m.introduction
            label_city.text = m.province + "|" + m.city
            SDWebImageDownloader.shared.downloadImage(with: URL(string: m.registrationNotes)!) {[weak self] image, data, error, status in
                guard let img = image else {
                    self?.cons_imgEnrollHei.constant = 0;return
                }
                let radio = img.size.width / img.size.height
                self?.cons_imgEnrollHei.constant = radio * JQ_ScreenW
            }
            if m.cashPrice != 0 {
                label_money.text =  String(format: "%@/人", m.cashPrice.currency())
                label_totalMoney.text = String(format: "合计:%@", (m.cashPrice * Double(m.participant.count)).currency())
            }
            if m.playPaiCoin != 0{
                label_money.text =  String(format: "%ld币/人", m.playPaiCoin)
                label_totalMoney.text = String(format: "合计:%ld币", (m.playPaiCoin * m.participant.count))
            }
            if m.classPrice != 0{
                label_money.text =  String(format: "%ld课时/人", m.classPrice)
                label_totalMoney.text = String(format: "合计:%ld课时", (m.classPrice * m.participant.count))
            }
            cons_tableHei.constant = Double(m.participant.count) * 100
            tableView.reloadData()
        }
    }
    required init(id: Int) {
        super.init(nibName: nil, bundle: nil)
        self.id = id
    }
    required init?(coder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    override func viewDidLoad() {
        super.viewDidLoad()
        title = "活动详情"
        Services.queryMyCompetitionInfo(id: id).subscribe(onNext: {data in
            self.activityDetailModel = data.data
        }).disposed(by: disposeBag)
    }
    override func setUI() {
        tableView.delegate = self
        tableView.dataSource = self
        tableView.register(UINib(nibName: "StudentInfo_2_TCell", bundle: nil), forCellReuseIdentifier: "_StudentInfo_2_TCell")
    }
    @IBAction func operationAction(_ sender: UIButton) {
        CommonAlertView.show(title: "提示", content: "确认取消吗?取消后相关费用将会退还到原支付账户!") { _ in
        CommonAlertView.show(title: "提示", content: "确认取消吗?取消后相关费用将会退还到原支付账户!") { [weak self]status in
            guard let weakSelf = self else { return }
            if status{
                Services.cancelMyCOmpetition(id: weakSelf.id).subscribe(onNext: { data in
                    alertSuccess(msg: "取消成功")
                    self?.btn_cancel.isHidden = true
                    NotificationCenter.default.post(name: CancelActivitySingup_Noti, object: nil)
                }).disposed(by: weakSelf.disposeBag)
            }
        }
    }
}
extension ActivitySignupDetailVC:UITableViewDelegate{
}
extension ActivitySignupDetailVC:UITableViewDataSource{
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let student = activityDetailModel!.participant[indexPath.row]
        let cell = tableView.dequeueReusableCell(withIdentifier: "_StudentInfo_2_TCell") as! StudentInfo_2_TCell
        cell.indexPath = indexPath
        cell.activityDetailPartModel = student
        cell.btn_edit.isHidden = true
        cell.img_radio.isHidden = true
        cell.btn_delete.isHidden = true
        return cell
    }
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return activityDetailModel?.participant.count ?? 0
    }
}