| | |
| | | |
| | | import UIKit |
| | | import QMUIKit |
| | | import JQTools |
| | | import WebKit |
| | | |
| | | class WorldCupContentDetailVC: BaseVC { |
| | | |
| | | @IBOutlet weak var view_banner: UIView! |
| | | @IBOutlet weak var label_storeNames: UILabel! |
| | | // @IBOutlet weak var label_storeNames: UILabel! |
| | | @IBOutlet weak var label_title: UILabel! |
| | | @IBOutlet weak var label_hot: UILabel! |
| | | @IBOutlet weak var label_joinCondition: UILabel! |
| | | @IBOutlet weak var label_address: UILabel! |
| | | @IBOutlet weak var label_duetime: 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_money_total: UILabel! |
| | | @IBOutlet weak var label_introducion: UILabel! |
| | | @IBOutlet weak var btn_enroll: UIButton! |
| | | @IBOutlet weak var btn_cancel: UIButton! |
| | | @IBOutlet weak var tableView: UITableView! |
| | | @IBOutlet weak var btn_addStudent: QMUIButton! |
| | | @IBOutlet weak var cons_tableHei: NSLayoutConstraint! |
| | | @IBOutlet weak var label_matchStore: UILabel! |
| | | @IBOutlet weak var btn_moreMatchStore: UIButton! |
| | | @IBOutlet weak var webView: WKWebView! |
| | | @IBOutlet weak var cons_webHei: NSLayoutConstraint! |
| | | @IBOutlet weak var cons__cancelBtnHei: NSLayoutConstraint! |
| | | |
| | | private var id:Int! |
| | | private lazy var bannerView:CommonBannerView = { |
| | | let v = CommonBannerView() |
| | | return v |
| | | }() |
| | | |
| | | @IBOutlet weak var view_money: UIView! |
| | | @IBOutlet weak var view_coin: UIView! |
| | | @IBOutlet weak var view_courseNum: UIView! |
| | | private var detailModel:WorldCupDetailModel? |
| | | |
| | | 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.getMyWorldCupInfo(id: id).subscribe(onNext: {[weak self]data in |
| | | if let model = data.data{ |
| | | self?.detailModel = model |
| | | let imgs = model.infoImg.components(separatedBy: ",") |
| | | var items = [CommonBannerModel]() |
| | | for (index,img) in imgs.enumerated(){ |
| | | items.append(CommonBannerModel(index: index,resource: img,mediaType: .imageUrl)) |
| | | } |
| | | self?.bannerView.setItems(items: items) |
| | | self?.label_title.text = model.name |
| | | self?.label_hot.text = "\(model.heat)" |
| | | self?.label_duetime.text = model.registrationClosingTime |
| | | self?.label_starttime.text = model.startTime |
| | | self?.label_endtime.text = model.endTime |
| | | self?.label_ageScope.text = model.age + "岁" |
| | | if model.gender == 0{ |
| | | self?.label_joinCondition.text = "全部" |
| | | }else if model.gender == 1{ |
| | | self?.label_joinCondition.text = "仅限男生" |
| | | }else{ |
| | | self?.label_joinCondition.text = "仅限女生" |
| | | } |
| | | self?.label_introducion.text = model.intro |
| | | self?.label_money.text = "¥\(model.unitPrice.jq_formatFloat)/人" |
| | | self?.label_money_total.text = String(format: "合计:¥%.2f", model.expense) |
| | | self?.label_address.text = model.address |
| | | self?.label_city.text = "" |
| | | self?.label_matchStore.text = model.storeInfos.map({$0.name}).joined(separator: "、") |
| | | self?.btn_moreMatchStore.isHidden = model.storeInfos.count > 1 |
| | | self?.tableView.reloadData() |
| | | self?.webView.loadHTMLString(model.content.jq_wrapHtml(), baseURL: nil) |
| | | self?.btn_cancel.isHidden = model.revocable == 0 |
| | | self?.cons__cancelBtnHei.constant = model.revocable == 0 ? 0:40 |
| | | } |
| | | }).disposed(by: disposeBag) |
| | | } |
| | | |
| | | override func setUI() { |
| | |
| | | tableView.separatorStyle = .none |
| | | tableView.isScrollEnabled = false |
| | | tableView.register(UINib(nibName: "StudentInfo_4_TCell", bundle: nil), forCellReuseIdentifier: "_StudentInfo_4_TCell") |
| | | |
| | | view_banner.addSubview(bannerView) |
| | | bannerView.frame = CGRect(x: 0, y: 0, width: JQ_ScreenW, height: JQ_ScreenW * 0.56) |
| | | } |
| | | |
| | | override func setRx() { |
| | |
| | | .subscribe(onNext: { [weak self] size in |
| | | self?.cons_tableHei.constant = size?.height ?? 0 |
| | | }).disposed(by: disposeBag) |
| | | |
| | | |
| | | webView.scrollView.rx.observe(CGSize.self, "contentSize").subscribe(onNext: {[weak self] size in |
| | | self?.cons_webHei.constant = size?.height ?? 0 |
| | | }).disposed(by: disposeBag) |
| | | } |
| | | |
| | | @IBAction func matchStoreAction(_ sender: UIButton) { |
| | | guard let detailModel = detailModel else{return} |
| | | let text = detailModel.storeInfos.map({$0.name}).joined(separator: "、") |
| | | AgreentView.show(type: .matchPoint, content: text) |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | extension WorldCupContentDetailVC:UITableViewDataSource{ |
| | | func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { |
| | | return 3 |
| | | return detailModel?.participants.count ?? 0 |
| | | } |
| | | |
| | | func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { |
| | | let model = detailModel!.participants[indexPath.row] |
| | | let cell = tableView.dequeueReusableCell(withIdentifier: "_StudentInfo_4_TCell", for: indexPath) as! StudentInfo_4_TCell |
| | | cell.activityDetailPartModel = model |
| | | return cell |
| | | } |
| | | |
| | | func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { |
| | | 90 |
| | | } |
| | | |
| | | |
| | | } |