//
|
// MineGiveCoupons.swift
|
// OKProject
|
//
|
// Created by alvin_y on 2020/6/15.
|
// Copyright © 2020 yangwang. All rights reserved.
|
//
|
|
import UIKit
|
import RxCocoa
|
import RxSwift
|
|
class MineGiveCouponsVC: YYViewController {
|
@IBOutlet weak var label_name: UILabel!
|
@IBOutlet weak var image_avatar: YYImageView!
|
|
/// 搜索出来的用户信息
|
@IBOutlet weak var view_userInfo: UIView!
|
|
/// 提交
|
@IBOutlet weak var button_submit: YYButton!
|
|
/// 搜索
|
@IBOutlet weak var button_search: UIButton!
|
|
/// 手机号
|
@IBOutlet weak var textField_phone: YYTextField!
|
|
let viewModel = MineGiveCouponsViewModel()
|
|
|
/// 刷新回调
|
let refresh = Delegate<Void,Void>()
|
|
init(id: Int) {
|
super.init(nibName: String.init(describing: MineGiveCouponsVC.self), bundle: Bundle.main)
|
self.viewModel.id.accept(id)
|
}
|
|
required init?(coder: NSCoder) {
|
fatalError("init(coder:) has not been implemented")
|
}
|
|
override func viewDidLoad() {
|
super.viewDidLoad()
|
|
// Do any additional setup after loading the view.
|
}
|
|
//MARK: - Layouts
|
override func defineLayouts() {
|
super.defineLayouts()
|
navigationItem.title = "选择赠送人"
|
view_userInfo.isHidden = true
|
textField_phone.keyboardType = .numberPad
|
}
|
|
//MARK: - Rx
|
override func bindRx() {
|
super.bindRx()
|
|
textField_phone.rx.text.orEmpty.bind(to: viewModel.phone).disposed(by: disposeBag)
|
|
button_submit.rx.tap.subscribe(onNext: {[unowned self] (_) in
|
guard let data = self.viewModel.userInfo.value ,data.id != 0 else{
|
alert(text: "请选择用户")
|
return
|
}
|
self.viewModel.userId.accept(data.id)
|
self.viewModel.handselCoupon()
|
}).disposed(by: disposeBag)
|
|
|
button_search.rx.tap.subscribe(onNext: {[unowned self] (_) in
|
self.viewModel.queryUser()
|
}).disposed(by: disposeBag)
|
|
view_userInfo.rx.observe(Bool.self, #keyPath(UIView.isHidden))
|
.subscribe(onNext: {[unowned self] (hidden) in
|
self.button_submit.alpha = hidden ?? false ? 0.5 : 1
|
}).disposed(by: disposeBag)
|
|
// 用户信息
|
viewModel.userInfo
|
.skip(1)
|
.subscribe(onNext: {[unowned self] (r) in
|
guard let data = r ,data.id != 0 else{
|
self.view_userInfo.isHidden = true
|
alert(text: "用户不存在")
|
return
|
}
|
self.view_userInfo.isHidden = false
|
self.image_avatar.avatar(url: data.avatar)
|
self.label_name.text = data.nickName
|
}).disposed(by: disposeBag)
|
|
/// 赠送优惠券
|
viewModel.handselCouponSubject
|
.subscribe(onNext: {[unowned self] (status) in
|
switch status{
|
case .loading:
|
self.show()
|
break
|
case .success(_):
|
self.hide()
|
alert(popup: .single, title: "提示", text: "赠送成功,优惠券已经实时赠送给您的好友!", submitTitle: "确定", cancelTitle: "", submitClick: {[unowned self] in
|
self.yy_pop()
|
self.refresh.call()
|
}) {}
|
break
|
case .error(let error):
|
self.hide()
|
alert(text: error.localizedDescription)
|
break
|
}
|
}).disposed(by: rx.disposeBag)
|
|
// 查询
|
viewModel.requestSubject
|
.subscribe(onNext: {[unowned self] (status) in
|
switch status{
|
case .loading:
|
self.show()
|
break
|
case .success(_):
|
self.hide()
|
break
|
case .error(let error):
|
self.hide()
|
alert(text: error.localizedDescription)
|
break
|
}
|
}).disposed(by: rx.disposeBag)
|
|
|
}
|
}
|