fix
无故事王国
2024-02-28 4468d9f9b3b8c70597f04e5f1ecb61118c404d2c
WanPai/Root/Activity/VC/ActivityDetailVC.swift
@@ -10,121 +10,121 @@
import JQTools
class ActivityDetailVC: BaseVC {
    private var id:Int!
            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_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!
            @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
    }()
            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
            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
                }
                                    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
            }
                                                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
                                    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)
                                    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
         }
                                    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)
        }
    }
                                    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(id:Int) {
                        super.init(nibName: nil, bundle: nil)
                        self.id = id
            }
    required init?(coder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
            required init?(coder: NSCoder) {
                        fatalError("init(coder:) has not been implemented")
            }
    override func viewDidLoad() {
        super.viewDidLoad()
        title = "活动详情"
            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)
    }
                        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)
            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)
    }
                        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 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)
    }
            @IBAction func joinAction(_ sender: UIButton) {
                        let vc = ActivityDetailApplyVC(model: activityDetailModel)
                        push(vc: vc)
            }
}