//
|
// ActivityDetailVC.swift
|
// WanPai
|
//
|
// Created by 杨锴 on 2023/6/13.
|
//
|
|
import UIKit
|
import SDWebImage
|
import JQTools
|
|
class ActivityDetailVC: BaseVC {
|
private var id:Int!
|
|
@IBOutlet weak var view_banner: UIView!
|
@IBOutlet weak var label_storeNames: 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_coin: UILabel!
|
@IBOutlet weak var label_courseNum: UILabel!
|
@IBOutlet weak var label_introducion: UILabel!
|
@IBOutlet weak var img_enrollRequired: UIImageView!
|
@IBOutlet weak var cons_imgEnrollHei: NSLayoutConstraint!
|
@IBOutlet weak var btn_enroll: UIButton!
|
@IBOutlet weak var label_matchStore: UILabel!
|
@IBOutlet weak var btn_moreMatchStore: UIButton!
|
|
@IBOutlet weak var view_money: UIView!
|
@IBOutlet weak var view_coin: UIView!
|
@IBOutlet weak var view_courseNum: UIView!
|
|
private lazy var bannerView:CommonBannerView = {
|
let v = CommonBannerView()
|
return v
|
}()
|
|
var activityDetailModel:ActivityDetailModel!{
|
didSet{
|
label_storeNames.text = activityDetailModel.storeInfos.map({$0.name}).joined(separator: ",")
|
btn_moreMatchStore.isHidden = (label_storeNames.text?.count ?? 0) < 50
|
|
label_title.text = activityDetailModel.name
|
label_joinCondition.text = activityDetailModel.registerCondition.strTitle + "参与"
|
label_address.text = activityDetailModel.address
|
label_duetime.text = activityDetailModel.registerEndTime
|
label_starttime.text = activityDetailModel.startTime
|
label_endtime.text = activityDetailModel.endTime
|
label_ageScope.text = activityDetailModel.age + "岁"
|
label_introducion.text = activityDetailModel.introduction
|
label_city.isHidden = activityDetailModel.province.isEmpty || activityDetailModel.city.isEmpty
|
label_city.text = activityDetailModel.province + "|" + activityDetailModel.city
|
SDWebImageDownloader.shared.downloadImage(with: URL(string: activityDetailModel.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 = JQ_ScreenW / radio
|
self?.img_enrollRequired.image = img
|
}
|
|
view_money.isHidden = activityDetailModel.cashPrice == 0
|
view_courseNum.isHidden = activityDetailModel.classPrice == 0
|
view_coin.isHidden = activityDetailModel.playPaiCoin == 0
|
|
label_money.text = String(format: "%@/人", activityDetailModel.cashPrice.currency())
|
label_coin.text = String(format: "%ld币/人", activityDetailModel.playPaiCoin)
|
label_courseNum.text = String(format: "%ld课时/人", activityDetailModel.classPrice)
|
|
if activityDetailModel.hasPass == 1{
|
btn_enroll.setTitle("报名已截止", for: .normal)
|
btn_enroll.backgroundColor = UIColor.gray.withAlphaComponent(0.5)
|
btn_enroll.isEnabled = false
|
}
|
|
let imgs = activityDetailModel.imgs.components(separatedBy: ",")
|
var items = [CommonBannerModel]()
|
for (index,img) in imgs.enumerated(){
|
items.append(CommonBannerModel(index: index,resource: img,mediaType: .imageUrl))
|
}
|
bannerView.setItems(items: items)
|
}
|
}
|
|
|
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.queryCompetitionDetail(id: id).subscribe(onNext: {[weak self] data in
|
if let data = data.data{
|
self?.activityDetailModel = data
|
}
|
}).disposed(by: disposeBag)
|
}
|
|
override func setUI() {
|
view_banner.addSubview(bannerView)
|
bannerView.frame = CGRect(x: 0, y: 0, width: JQ_ScreenW, height: JQ_ScreenW * 0.56)
|
|
let moreBtnAttributeding = AttributedStringbuilder.build().add(string: "查看更多", withFont: UIFont.systemFont(ofSize: 12, weight: .medium), withColor: Def_ThemeColor).underLine(color: Def_ThemeColor).mutableAttributedString
|
btn_moreMatchStore.setAttributedTitle(moreBtnAttributeding, for: .normal)
|
}
|
|
@IBAction func matchStoreAction(_ sender: UIButton) {
|
let text = activityDetailModel.storeInfos.map({$0.name}).joined(separator: ",")
|
AgreentView.show(type: .matchStore, content: text)
|
}
|
|
@IBAction func joinAction(_ sender: UIButton) {
|
let vc = ActivityDetailApplyVC(model: activityDetailModel)
|
push(vc: vc)
|
}
|
}
|