| | |
| | | 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) |
| | | } |
| | | } |