| | |
| | | @IBOutlet weak var btn_payment: UIButton! |
| | | @IBOutlet weak var view_halfYard: UIView! |
| | | @IBOutlet weak var btn_call: UIButton! |
| | | @IBOutlet weak var cons_cancelWidth: NSLayoutConstraint! |
| | | @IBOutlet weak var label_descInfo: UILabel! |
| | | @IBOutlet weak var view_yard: UIView! |
| | | |
| | | private var yardBookingModel:YardBookingModel! |
| | | private var yardBookingDetailDataModel:YardBookingDetailDataModel? |
| | |
| | | label_title.text = yardBookingModel.name |
| | | label_address.text = String(format: "%@(%@)", yardBookingModel.storeName,yardBookingModel.storeAddress) |
| | | label_type.text = yardBookingModel.siteTypeName |
| | | view_yard.isHidden = yardBookingModel.siteTypeName.isEmpty |
| | | getData() |
| | | } |
| | | |
| | |
| | | self?.label_paymentPrice.text = model.payMoney.string + "课时" |
| | | case .coin: |
| | | self?.label_paymentPrice.text = model.payMoney.int.string + "币" |
| | | case .integral:break |
| | | } |
| | | |
| | | self?.label_bookingTime.text = Date.jq_format(TimeInterval(model.startTime / 1000), formatter: "yyyy-MM-dd HH:mm") |
| | | self?.label_usedState.text = model.status.titleRaw |
| | | self?.label_paymentTime.text = Date.jq_format(TimeInterval(model.payTime / 1000), formatter: "yyyy-MM-dd HH:mm") |
| | | |
| | | switch model.state { |
| | | switch model.status { |
| | | case .waitPayment: |
| | | self?.label_paymentTime.text = "待支付" |
| | | self?.label_usedState.text = "待支付" |
| | |
| | | self?.view_qrCode.isHidden = true |
| | | self?.btn_payment.isHidden = false |
| | | |
| | | case .cancel,.complete: |
| | | self?.view_qrCode.isHidden = true |
| | | case .cancel,.complete,.overdue: |
| | | self?.btn_payment.isHidden = true |
| | | |
| | | self?.btn_cancel.isHidden = true |
| | | self?.view_qrCode.isHidden = true |
| | | case .inStore: |
| | | self?.btn_payment.isHidden = true |
| | | self?.btn_cancel.isHidden = true |
| | | self?.showQRCode(model, ids: data.data?.ids ?? []) |
| | | case .pending: |
| | | if let m = self?.yardBookingDetailDataModel{ |
| | | let t = OpenDoorTimeModel(start_time: TimeInterval(model.startTime / 1000), end_time: TimeInterval(model.endTime / 1000)) |
| | | let openDoorModel = OpenDoorModel(sid: m.siteId, rid: data.data?.ids ?? [], uid: m.appUserId, time: [t], type: 2) |
| | | if let modelStr = openDoorModel.toJSONString(){ |
| | | self?.img_QRCode.image = QRCodeImage(string: modelStr, size: 132 * sceneDelegate!.window!.screen.scale) |
| | | } |
| | | } |
| | | self?.btn_payment.isHidden = true |
| | | self?.btn_cancel.isHidden = true |
| | | self?.showQRCode(model, ids: data.data?.ids ?? []) |
| | | fallthrough |
| | | default: |
| | | |
| | | self?.view_paymentTime.isHidden = model.payTime == 0 |
| | | self?.label_paymentTime.text = Date.jq_format(TimeInterval(model.payTime / 1000), formatter: "yyyy-MM-dd HH:mm") |
| | | self?.label_usedState.text = model.state.titleRaw |
| | | self?.view_qrCode.isHidden = false |
| | | self?.btn_cancel.isHidden = false |
| | | self?.btn_payment.isHidden = true |
| | | break |
| | | // self?.view_paymentTime.isHidden = true |
| | | // self?.label_usedState.text = model.status.titleRaw |
| | | // self?.view_qrCode.isHidden = false |
| | | // self?.btn_cancel.isHidden = false |
| | | // self?.btn_payment.isHidden = true |
| | | // self?.cons_cancelWidth.constant = 189 |
| | | } |
| | | } |
| | | }) { error in |
| | |
| | | }.disposed(by: disposeBag) |
| | | } |
| | | |
| | | override func setUI() { |
| | | let text = "您已经预约成功,请在预约时段扫码此二维码入场。您可以在“预约场地-已预约场地-详情”页面找到此二维码。" |
| | | let attribute = AttributedStringbuilder.build().add(string: text, withFont: UIFont.systemFont(ofSize: 12, weight: .medium), withColor: .black.withAlphaComponent(0.43),lineSpace: 5).mutableAttributedString |
| | | label_descInfo.attributedText = attribute |
| | | } |
| | | |
| | | private func showQRCode(_ model:YardBookingDetailDataModel,ids:[Int]){ |
| | | |
| | | guard model.goType == 0 else { |
| | | //入园方式是手环,隐藏Code |
| | | view_qrCode.isHidden = true;return |
| | | } |
| | | |
| | | if let m = yardBookingDetailDataModel{ |
| | | let t = OpenDoorTimeModel(start_time: TimeInterval(model.startTime / 1000), end_time: TimeInterval(model.endTime / 1000)) |
| | | let openDoorModel = OpenDoorModel(sid: m.siteId, rid: ids, uid: m.appUserId, time: [t], type: 2) |
| | | if let modelStr = openDoorModel.toJSONString(){ |
| | | img_QRCode.image = QRCodeImage(string: modelStr, size: 132 * sceneDelegate!.window!.screen.scale) |
| | | } |
| | | } |
| | | } |
| | | |
| | | @IBAction func callAction(_ sender: UIButton) { |
| | | guard let phone = yardBookingDetailDataModel?.phone else {return} |
| | | UIApplication.shared.open(URL(string: "tell://\(phone)")!, options: [:], completionHandler: nil) |
| | | UIApplication.shared.open(URL(string: "tel://\(phone)")!, options: [:], completionHandler: nil) |
| | | } |
| | | |
| | | |
| | |
| | | } |
| | | |
| | | @IBAction func paymentAction(_ sender: UIButton) { |
| | | Services.continuePaymentPrice(id: yardBookingModel.id).subscribe(onNext: {data in |
| | | if let model = data.data{ |
| | | PaymentView.show(money: (ali: model.cash, wx: model.cash, coin: model.playPaiCoin, course: nil,integral:nil)) { [weak self] paytype in |
| | | guard let weakSelf = self else { return } |
| | | Services.continuePayment(id: weakSelf.yardBookingModel.id, payType: paytype).subscribe(onNext: {data in |
| | | if let m = data.data{ |
| | | switch paytype { |
| | | case .aliPay: |
| | | YYPaymentManager.shared.sendPaymentRequest(YYAlipayRequest(orderString: m.orderString)) { result in |
| | | switch result { |
| | | case .success: |
| | | let vc = PaymentResultVC(result: .success, objType: .activityApply) |
| | | vc.modalPresentationStyle = .fullScreen |
| | | self?.present(vc, animated: true) |
| | | case .cancel: |
| | | alert(msg: "交易取消") |
| | | case .failure(let error): |
| | | let vc = PaymentResultVC(result: .fail(error.localizedDescription), objType: .activityApply) |
| | | vc.modalPresentationStyle = .fullScreen |
| | | self?.present(vc, animated: true) |
| | | } |
| | | } |
| | | case .wechat:break |
| | | case .coin: |
| | | let vc = PaymentResultVC(result: .success, objType: .activityApply) |
| | | vc.modalPresentationStyle = .fullScreen |
| | | self?.present(vc, animated: true) |
| | | case .courseNum:break |
| | | case .integral:break |
| | | } |
| | | } |
| | | }) { error in |
| | | let vc = PaymentResultVC(result: .fail(error.localizedDescription), objType: .activityApply) |
| | | vc.modalPresentationStyle = .fullScreen |
| | | self?.present(vc, animated: true) |
| | | }.disposed(by: weakSelf.disposeBag) |
| | | } |
| | | } |
| | | }) { error in |
| | | |
| | | }.disposed(by: disposeBag) |
| | | } |
| | | |
| | | } |