| | |
| | | |
| | | import UIKit |
| | | import JQTools |
| | | import RxSwift |
| | | import RxCocoa |
| | | import RxRelay |
| | | |
| | | class TreeTeskExchangeViewModel:RefreshModel<EnergyExchangeGiftModel>{ |
| | | var energyValue = BehaviorRelay<Int>(value:0) |
| | | |
| | | override func api() -> (Observable<BaseResponse<[EnergyExchangeGiftModel]>>)? { |
| | | return Services.energyExchangeGift(page: page) |
| | | } |
| | | } |
| | | |
| | | class TreeTeskEnergyExchangeVC: BaseVC { |
| | | |
| | | @IBOutlet weak var tableView: UITableView! |
| | | @IBOutlet weak var label_energy: UILabel! |
| | | @IBOutlet weak var image_qrCode: UIImageView! |
| | | |
| | | var viewModel = TreeTeskExchangeViewModel() |
| | | |
| | | override func viewDidLoad() { |
| | | super.viewDidLoad() |
| | | title = "礼品兑换" |
| | | viewModel.configure(tableView) |
| | | viewModel.beginRefresh() |
| | | |
| | | Services.getTotalEnergy().subscribe(onNext: {[weak self] data in |
| | | self?.viewModel.energyValue.accept(data.data ?? 0) |
| | | self?.label_energy.text = "\(data.data ?? 0)" |
| | | }).disposed(by: disposeBag) |
| | | |
| | | Services.getCustomerCode().subscribe(onNext: {[weak self] data in |
| | | self?.image_qrCode.sd_setImage(with: URL(string: data.data ?? "")) |
| | | }).disposed(by: disposeBag) |
| | | } |
| | | |
| | | override func setUI() { |
| | |
| | | |
| | | func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { |
| | | |
| | | let attribute = AttributedStringbuilder.build().add(string: "是否确认使用X能量值兑换当前礼品?\n兑换后系统将自动扣除能量值", withFont: .systemFont(ofSize: 14, weight: .medium), withColor: .black.withAlphaComponent(0.59), indent: 0, lineSpace: 6).mutableAttributedString |
| | | let m = viewModel.dataSource.value[indexPath.row] |
| | | |
| | | guard m.receiveStatus == .no else { |
| | | CommonAlertView.show(title: "提示", content: "你已经兑换过了", isSingle: true) { _ in |
| | | |
| | | } |
| | | return |
| | | } |
| | | |
| | | guard viewModel.energyValue.value > m.energyValue else { |
| | | CommonAlertView.show(title: "提示", content: "兑换能量值不足", isSingle: true) { _ in |
| | | |
| | | } |
| | | return |
| | | } |
| | | |
| | | let attribute = AttributedStringbuilder.build().add(string: "是否确认使用\(m.energyValue)能量值兑换当前礼品?\n兑换后系统将自动扣除能量值", withFont: .systemFont(ofSize: 14, weight: .medium), withColor: .black.withAlphaComponent(0.59), indent: 0, lineSpace: 6).mutableAttributedString |
| | | |
| | | CommonAlertView.show(title: "提示", attribute: attribute, isSingle: false, cancelStr: "再想想", completeStr: "确认") { state in |
| | | |
| | | if state{ |
| | | TreeTeskExchangeSuccessView.show() |
| | | Services.exchangeGift(prizeId: m.id).subscribe(onNext: {data in |
| | | TreeTeskExchangeSuccessView.show() |
| | | }).disposed(by: self.disposeBag) |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { |
| | | let m = viewModel.dataSource.value[indexPath.row] |
| | | let cell = tableView.dequeueReusableCell(withIdentifier: "_TreeTeskEnergyTCell") as! TreeTeskEnergyTCell |
| | | cell.isExchanged(indexPath.row == 0) |
| | | cell.setEnergyExchangeGiftModel(m) |
| | | return cell |
| | | } |
| | | |
| | | func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { |
| | | return 11 |
| | | return viewModel.dataSource.value.count |
| | | } |
| | | |
| | | func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { |