| | |
| | | import UIKit |
| | | import JQTools |
| | | import QMUIKit |
| | | import RxSwift |
| | | import RxRelay |
| | | |
| | | class CoinStoreHeadView: UICollectionReusableView { |
| | | |
| | | @IBOutlet weak var btn_sort: QMUIButton! |
| | | @IBOutlet weak var btn_type: QMUIButton! |
| | | @IBOutlet weak var shadowView: UIView! |
| | | @IBOutlet weak var img_cover: UIImageView! |
| | | @IBOutlet weak var label_username: UILabel! |
| | | @IBOutlet weak var label_coin: UILabel! |
| | | @IBOutlet weak var tf_search: UITextField! |
| | | private var resortSubTypeView:CourseSubTypeView? |
| | | private var typeSubTypeView:CourseSubTypeView? |
| | | private var disposeBag = DisposeBag() |
| | | |
| | | |
| | | var viewModel:CoinStoreViewModel! |
| | | var innerView:UIView! |
| | | |
| | | override func awakeFromNib() { |
| | |
| | | btn_type.imagePosition = .right |
| | | btn_sort.spacingBetweenImageAndTitle = 5 |
| | | btn_type.spacingBetweenImageAndTitle = 5 |
| | | tf_search.delegate = self |
| | | tf_search.returnKeyType = .search |
| | | } |
| | | |
| | | |
| | | @IBAction func resortAction(_ sender: QMUIButton) { |
| | | guard !sender.isSelected else {return} |
| | | hiddenAction() |
| | | sender.isSelected = true |
| | | let items = Array<NormalSimpleModel>() |
| | | CourseSubTypeView.show(inView: self.innerView, afterView: self, items: items) { m in |
| | | var items = Array<NormalSimpleModel>() |
| | | items.append(NormalSimpleModel(id: 0, name: "默认排序")) |
| | | items.append(NormalSimpleModel(id: 1, name: "积分从高到低")) |
| | | items.append(NormalSimpleModel(id: 2, name: "积分从低到高")) |
| | | items.append(NormalSimpleModel(id: 3, name: "兑换从高到低")) |
| | | let model = items.filter({$0.id == viewModel.rank.value?.rawValue}) |
| | | resortSubTypeView = CourseSubTypeView.show(inView: self.innerView, afterView: self, items: items, selectModel: model.first) {[weak self] m in |
| | | if m.id == 0{ |
| | | self?.viewModel.rank.accept(nil) |
| | | }else{ |
| | | self?.viewModel.rank.accept(Sort2Type(rawValue: m.id)) |
| | | } |
| | | sender.setTitle(m.name, for: .normal) |
| | | self?.viewModel.beginRefresh() |
| | | sender.isSelected = false |
| | | } closeClouse: { |
| | | sender.isSelected = false |
| | | } |
| | | } |
| | | |
| | | @IBAction func searchAction(_ sender: Any) { |
| | | viewModel.beginRefresh() |
| | | } |
| | | |
| | | @IBAction func typeAction(_ sender: UIButton) { |
| | | guard !sender.isSelected else {return} |
| | | hiddenAction() |
| | | sender.isSelected = true |
| | | var items = Array<NormalSimpleModel>() |
| | | items.append(NormalSimpleModel(id: 0, name: "商品类型")) |
| | | items.append(NormalSimpleModel(id: 1, name: "实物")) |
| | | items.append(NormalSimpleModel(id: 2, name: "课包")) |
| | | items.append(NormalSimpleModel(id: 3, name: "门票")) |
| | | items.append(NormalSimpleModel(id: 4, name: "优惠券")) |
| | | |
| | | let model = items.filter({$0.id == viewModel.goodsType.value?.rawValue}) |
| | | typeSubTypeView = CourseSubTypeView.show(inView: self.innerView, afterView: self, items: items, selectModel: model.first) {[weak self] m in |
| | | sender.setTitle(m.name, for: .normal) |
| | | if m.id == 0{ |
| | | self?.viewModel.goodsType.accept(nil) |
| | | }else{ |
| | | self?.viewModel.goodsType.accept(ExchangeType(rawValue: m.id)) |
| | | } |
| | | self?.viewModel.beginRefresh() |
| | | sender.isSelected = false |
| | | } closeClouse: { |
| | | sender.isSelected = false |
| | | } |
| | | } |
| | | |
| | | @IBAction func typeAction(_ sender: UIButton) { |
| | | guard !sender.isSelected else {return} |
| | | sender.isSelected = true |
| | | let items = Array<NormalSimpleModel>() |
| | | CourseSubTypeView.show(inView: self.innerView, afterView: self, items: items) {m in |
| | | sender.isSelected = false |
| | | |
| | | } closeClouse: { |
| | | sender.isSelected = false |
| | | } |
| | | private func hiddenAction(){ |
| | | btn_sort.isSelected = false |
| | | btn_type.isSelected = false |
| | | typeSubTypeView?.removeFromSuperview() |
| | | resortSubTypeView?.removeFromSuperview() |
| | | } |
| | | |
| | | @IBAction func recoredAction(_ sender: UIButton) { |
| | |
| | | } |
| | | |
| | | } |
| | | |
| | | extension CoinStoreHeadView:UITextFieldDelegate{ |
| | | func textFieldShouldReturn(_ textField: UITextField) -> Bool { |
| | | textField.resignFirstResponder() |
| | | viewModel.beginRefresh() |
| | | return true |
| | | } |
| | | } |