//
|
// MarketExchangeVC.swift
|
// DolphinEnglishLearnManager
|
//
|
// Created by 无故事王国 on 2024/5/21.
|
//
|
|
import UIKit
|
import RxRelay
|
import QMUIKit
|
|
class MarketExchangeVC: BaseVC {
|
@IBOutlet weak var scrollView: UIScrollView!
|
@IBOutlet weak var view_footer: UIView!
|
@IBOutlet weak var view_container: UIView!
|
@IBOutlet weak var field_number: UITextField!
|
@IBOutlet weak var cons_footerHei: NSLayoutConstraint!
|
@IBOutlet weak var label_address: UILabel!
|
@IBOutlet weak var label_address_info: UILabel!
|
@IBOutlet weak var img_cover: UIImageView!
|
@IBOutlet weak var label_goodsName: UILabel!
|
@IBOutlet weak var label_coin: UILabel!
|
@IBOutlet weak var btn_add: UIButton!
|
@IBOutlet weak var btn_reduce: UIButton!
|
@IBOutlet weak var textView_remark: QMUITextView!
|
@IBOutlet weak var label_num: UILabel!
|
@IBOutlet weak var label_needCoin: UILabel!
|
@IBOutlet weak var label_orderNum: UILabel!
|
@IBOutlet weak var label_footNeedCoin: UILabel!
|
|
private var viewModel = MarketContentViewModel()
|
private var recipientId:Int? // 地址ID
|
|
required init(viewModel:MarketContentViewModel) {
|
super.init(nibName: nil, bundle: nil)
|
self.viewModel = viewModel
|
}
|
|
required init?(coder: NSCoder) {
|
fatalError("init(coder:) has not been implemented")
|
}
|
|
override func viewDidLoad() {
|
super.viewDidLoad()
|
|
Services.redeemNow(goodId: viewModel.detailModel.value!.good!.id).subscribe(onNext: {result in
|
self.label_orderNum.text = result.data?.orderNumber ?? ""
|
self.viewModel.detailModel.accept(result.data)
|
}).disposed(by: disposeBag)
|
|
Services.addressList().subscribe(onNext: {[weak self]result in
|
self?.viewModel.address.accept(result.data ?? [])
|
|
if result.data?.count == 0{
|
self?.label_address.text = "新建收货地址"
|
self?.label_address_info.isHidden = true
|
return
|
}
|
|
if let first = result.data?.filter({$0.isDefault == 1}).first{
|
self?.label_address.text = first.address
|
self?.label_address_info.text = first.recipient + "|" + first.recipientPhone
|
self?.recipientId = first.id
|
}else{
|
self?.label_address.text = "选择收货地址"
|
self?.label_address_info.isHidden = true
|
}
|
}).disposed(by: disposeBag)
|
|
self.img_cover.sd_setImage(with: URL(string: viewModel.detailModel.value?.good?.coverImg))
|
self.img_cover.jq_cornerRadius = 10
|
self.label_goodsName.text = viewModel.detailModel.value?.good?.name ?? ""
|
self.label_coin.text = "\(viewModel.detailModel.value?.good?.integral ?? 0)"
|
if viewModel.detailModel.value?.good?.userCount == 1{
|
btn_add.isEnabled = false
|
btn_reduce.isEnabled = false
|
field_number.isEnabled = false
|
}
|
}
|
|
override func setUI() {
|
super.setUI()
|
view_container.jq_cornerRadius = 8
|
scrollView.contentInset = UIEdgeInsets(top: 26, left: 0, bottom: 31, right: 0)
|
cons_footerHei.constant = 54 + UIDevice.jq_safeEdges.bottom
|
}
|
|
override func setRx() {
|
viewModel.number.subscribe(onNext: {[weak self] num in
|
self?.field_number.text = "\(num)"
|
self?.label_num.text = "\(num)"
|
let totalCoin = num * (self?.viewModel.detailModel.value?.good?.integral ?? 0)
|
self?.label_needCoin.text = "\(totalCoin)"
|
self?.label_footNeedCoin.text = "\(totalCoin)"
|
}).disposed(by: disposeBag)
|
|
field_number.rx.controlEvent(.editingDidEnd).subscribe(onNext: {[weak self] _ in
|
if let count = self?.field_number.text?.int{
|
self?.viewModel.number.accept(count)
|
}
|
}).disposed(by: disposeBag)
|
}
|
|
@IBAction func addressAction(_ sender: Any) {
|
|
if viewModel.address.value.count == 0{
|
let vc = AddressManageVC(type: .handle)
|
vc.title = "地址管理"
|
vc.chooseAddress {[weak self] m in
|
self?.label_address.text = m.address
|
self?.label_address_info.text = m.recipient + "|" + m.recipientPhone
|
self?.recipientId = m.id
|
self?.label_address_info.isHidden = false
|
}
|
push(vc: vc)
|
return
|
}
|
|
let vc = AddressManageVC(type: .handle)
|
vc.title = "地址管理"
|
vc.chooseAddress {[weak self] m in
|
self?.label_address.text = m.address
|
self?.label_address_info.text = m.recipient + "|" + m.recipientPhone
|
self?.recipientId = m.id
|
self?.label_address_info.isHidden = false
|
}
|
push(vc: vc)
|
}
|
|
@IBAction func addNumAction(_ sender: UIButton) {
|
var num = viewModel.number.value + 1
|
if num >= viewModel.detailModel.value?.good?.userCount ?? 999{
|
num = viewModel.detailModel.value?.good?.userCount ?? 999
|
sender.isEnabled = false
|
}
|
viewModel.number.accept(num)
|
}
|
|
@IBAction func reduceAction(_ sender: UIButton) {
|
let num = max(1,viewModel.number.value - 1)
|
viewModel.number.accept(num)
|
btn_add.isEnabled = true
|
}
|
|
@IBAction func exchangeAction(_ sender: UIButton) {
|
|
guard recipientId != nil else{
|
CommonAlertView.show(content: "请先选择收货地址") {
|
let vc = AddressManageVC(type: .handle)
|
vc.title = "地址管理"
|
vc.chooseAddress {[weak self] m in
|
self?.label_address.text = m.address
|
self?.label_address_info.text = m.recipient + "|" + m.recipientPhone
|
self?.recipientId = m.id
|
self?.label_address_info.isHidden = false
|
}
|
self.push(vc: vc)
|
}
|
return
|
}
|
|
CommonAlertView.show(content: "确认兑换当前商品吗?") {
|
let goodsId = self.viewModel.detailModel.value!.good!.id
|
let num = self.viewModel.number.value
|
let orderNumber = self.viewModel.detailModel.value?.orderNumber ?? ""
|
let recipientId = self.recipientId
|
|
Services.goodsExchangeStudy(goodsId: goodsId, number: num, orderNumber: orderNumber, recipientId: recipientId!, remark: self.textView_remark.text!).subscribe(onNext: {_ in
|
let vc = ExchangeResultVC(resultType: .success)
|
vc.title = "商品详情"
|
self.push(vc: vc)
|
}).disposed(by: self.disposeBag)
|
}
|
}
|
}
|