// // MyShopMenuContent.swift // xingchuangke // // Created by 李晓飞 on 2020/8/23. // Copyright © 2020 Virgil. All rights reserved. // import UIKit class MyShopMenuContent: UIView { let rateArr: NSArray = ["0.52%", "0.53%", "0.54%", "0.55%", "0.56%", "0.57%", "0.58%", "0.59%", "0.6%"] @IBOutlet weak var startTimeBtn: UIButton! @IBOutlet weak var endTimeBtn: UIButton! @IBOutlet weak var minRateBtn: UIButton! @IBOutlet weak var maxRateBtn: UIButton! var startTime: String = "" var endTime: String = "" var busType: String = "" var miniRate: String = "" var maxRate: String = "" let queryEntity: ShopQueryModel = ShopQueryModel() var oBackFunc: ShopQueryEntity! func callBackForSure(backFunc:@escaping ShopQueryEntity) { oBackFunc = backFunc } @IBAction func btnMenuClick(_ sender: Any) { // 1001 ~ 1008 let btn = (sender as! UIButton) switch btn.tag { case 1001: // 开始时间 let viewDatePicer = (CommonViewUntils.getViewForXIB(anyClass: Virgil_SelectDateForPickerView.self) as! Virgil_SelectDateForPickerView) var defaultDate: Date! if self.queryEntity.startTime.length() == 0 || self.queryEntity.startTime.length() != 10 { defaultDate = CommonDate.addMonth(date: Date(), month: 0) } else { defaultDate = CommonDate.getDateForString(dateStr: self.queryEntity.startTime, dateFormat: "yyyy-MM-dd") } // defaultDate = CommonDate.addMonth(date: Date(), month: -1) viewDatePicer.datePicker.maximumDate = Date() viewDatePicer.showDatePickerView(defaultDate: defaultDate) {[weak self] (str) in self!.queryEntity.startTime = str self!.startTimeBtn.isSelected = true self!.startTimeBtn.setTitle(str, for: .selected) } break case 1002: // 结束时间 let viewDatePicer = (CommonViewUntils.getViewForXIB(anyClass: Virgil_SelectDateForPickerView.self) as! Virgil_SelectDateForPickerView) var defaultDate: Date! if self.queryEntity.endTime.length() == 0 || self.queryEntity.endTime.length() != 10 { defaultDate = CommonDate.addMonth(date: Date(), month: 0) } else { defaultDate = CommonDate.getDateForString(dateStr: self.queryEntity.endTime, dateFormat: "yyyy-MM-dd") } // defaultDate = CommonDate.addMonth(date: Date(), month: -1) viewDatePicer.datePicker.maximumDate = Date() viewDatePicer.showDatePickerView(defaultDate: defaultDate) {[weak self] (str) in self!.queryEntity.endTime = str self!.endTimeBtn.isSelected = true self!.endTimeBtn.setTitle(str, for: .selected) } break case 1003: // 个人版 btn.isSelected = true let oB = self.viewWithTag(1004) as! UIButton oB.isSelected = false self.queryEntity.busType = "0" break case 1004: // 商户版 btn.isSelected = true let oB = self.viewWithTag(1003) as! UIButton oB.isSelected = false self.queryEntity.busType = "1" break case 1005: // 最低费率 let alert = UIAlertController.init(title: nil, message: nil, preferredStyle: .actionSheet) for rateStr in rateArr { let action = UIAlertAction.init(title: (rateStr as! String), style: .default) { (defaultAction) in self.minRateBtn.isSelected = true self.minRateBtn.setTitle(defaultAction.title, for: .selected) self.queryEntity.miniRate = defaultAction.title! } alert.addAction(action) } let action = UIAlertAction.init(title: "取消", style: .cancel) { (_) in } alert.addAction(action) let curVc = currentViewController() curVc?.present(alert, animated: true, completion: nil) break case 1006: // 最高费率 let alert = UIAlertController.init(title: nil, message: nil, preferredStyle: .actionSheet) for rateStr in rateArr { let action = UIAlertAction.init(title: (rateStr as! String), style: .default) { (defaultAction) in self.maxRateBtn.isSelected = true self.maxRateBtn.setTitle(defaultAction.title, for: .selected) self.queryEntity.maxRate = defaultAction.title! } alert.addAction(action) } let action = UIAlertAction.init(title: "取消", style: .cancel) { (_) in } alert.addAction(action) let curVc = currentViewController() curVc?.present(alert, animated: true, completion: nil) break case 1007: // 重置 do { self.queryEntity.startTime = "" self.queryEntity.endTime = "" // 商户类型 self.queryEntity.busType = "" self.queryEntity.miniRate = "" self.queryEntity.maxRate = "" resetData() } break case 1008: // 确定 if oBackFunc != nil { oBackFunc(queryEntity) } break default: break } } func resetData() { self.startTimeBtn.isSelected = false self.startTimeBtn.setTitle("请选择开始时间", for: .normal) self.endTimeBtn.isSelected = false self.endTimeBtn.setTitle("请选择结束时间", for: .normal) // self.startTimeBtn.isSelected = false // self.startTimeBtn.isSelected = false let perBtn = self.viewWithTag(1003) as! UIButton let merBtn = self.viewWithTag(1004) as! UIButton perBtn.isSelected = false merBtn.isSelected = false self.minRateBtn.isSelected = false self.minRateBtn.setTitle("选择最低费率", for: .normal) self.maxRateBtn.isSelected = false self.maxRateBtn.setTitle("选择最高费率", for: .normal) } /* // Only override draw() if you perform custom drawing. // An empty implementation adversely affects performance during animation. override func draw(_ rect: CGRect) { // Drawing code } */ ///获取当前视图所在导航控制器 func currentViewController() -> UIViewController? { var n = next while n != nil { if (n?.isKind(of: UIViewController.self))! { return n as? UIViewController } n = n?.next } return nil } } class ShopQueryModel: NSObject { // 开通时间 var startTime: String = "" var endTime: String = "" // 商户类型 var busType: String = "" // 商户费率 var miniRate: String = "" var maxRate: String = "" } typealias ShopQueryEntity = (_ entity: ShopQueryModel) -> Void