// // CommonRightMenuKY.swift // xingchuangke // // Created by Apple on 2021/3/4. // Copyright © 2021 Virgil. All rights reserved. // import UIKit class CommonRightMenuKY: UIView { @IBOutlet weak var scrollView: UIScrollView! @IBOutlet weak var busAllBtn: UIButton! @IBOutlet weak var busJJBtn: UIButton! @IBOutlet weak var busSHBtn: UIButton! @IBOutlet weak var dealAllBtn: UIButton! @IBOutlet weak var dealSKBtn: UIButton! @IBOutlet weak var dealHKBtn: UIButton! @IBOutlet weak var dealXPBtn: UIButton! @IBOutlet weak var dealSMBtn: UIButton! @IBOutlet weak var dealYJBtn: UIButton! @IBOutlet weak var payAllBtn: UIButton! @IBOutlet weak var payYSFJBtn: UIButton! @IBOutlet weak var payYSFDBtn: UIButton! @IBOutlet weak var paySKJBtn: UIButton! @IBOutlet weak var payBZBtn: UIButton! @IBOutlet weak var payWXBtn: UIButton! @IBOutlet weak var payALBtn: UIButton! @IBOutlet weak var cardAllBtn: UIButton! @IBOutlet weak var cardJJBtn: UIButton! @IBOutlet weak var cardXYBtn: UIButton! @IBOutlet weak var wayAllBtn: UIButton! @IBOutlet weak var wayBtn: UIButton! @IBOutlet weak var wayBtn1: UIButton! @IBOutlet weak var btnConfrim: UIButton! @IBOutlet weak var btnReset: UIButton! @IBOutlet weak var btnEnd: UIButton! @IBOutlet weak var btnStart: UIButton! var queryEntity: QueryEntityKY! var oBackFunc: CommonBackQueryKY! var btnTypes = [UIButton]() var arrTempType = NSMutableArray() func initView(arrType: NSMutableArray, backFunc:@escaping CommonBackQueryKY) { oBackFunc = backFunc self.setSizeWidth(width: ScreenWidth) btnReset.setCornerRadius(size: 3) btnConfrim.setCornerRadius(size: 3) btnEnd.setCornerRadius(size: 3) btnStart.setCornerRadius(size: 3) scrollView.contentSize.height = btnConfrim.bottom() + 40 busAllBtn.isSelected = true dealAllBtn.isSelected = true payAllBtn.isSelected = true cardAllBtn.isSelected = true wayAllBtn.isSelected = true busAllBtn.setTitleColor(.red, for: .selected) dealAllBtn.setTitleColor(.red, for: .selected) payAllBtn.setTitleColor(.red, for: .selected) cardAllBtn.setTitleColor(.red, for: .selected) wayAllBtn.setTitleColor(.red, for: .selected) arrTempType.removeAllObjects() arrTempType.addObjects(from: arrType as! [Any]) // scrollViewType.removeAll(); var left: CGFloat = 14 btnTypes.removeAll() for i in 0 ..< arrType.count { let btn = UIButton(frame: CGRect(x: left, y: 0, width: 100, height: 36)) btn.backgroundColor = CommonUntils.getUIColorFromRGB(rgbValue: 0xf5f5f5, alpha: 1.0) btn.setTitle((arrType[i] as! NSDictionary).getString(key: "name"), for: .normal) btn.setTitleColor(CommonUntils.getUIColorFromRGB(rgbValue: 0x333333, alpha: 1.0), for: .normal) btn.setTitleColor(UIColor.white, for: .selected) btn.sizeToFitWidth() btn.titleLabel?.font = UIFont.systemFont(ofSize: 12) btn.tag = i btn.addTarget(self, action: #selector(btnTypeClick), for: .touchUpInside) btn.setSizeWidth(width: btn.width() + 40) // scrollViewType.addSubview(btn) left = btn.right() + 15 btnTypes.append(btn) btn.setCornerRadius(size: 3) } // scrollViewType.contentSize.width = left; queryEntity = QueryEntityKY() queryEntity.startTime = "选择开始日期" queryEntity.endTime = "选择截止日期" } @objc func btnTypeClick(btn: UIButton) { for btnTemp in btnTypes { if btnTemp.tag == btn.tag { queryEntity.typeID = (arrTempType[btn.tag] as! NSDictionary).getString(key: "id") btnTemp.backgroundColor = CommonUntils.getUIColorFromRGB(rgbValue: 0x2A92F7, alpha: 1.0) btnTemp.isSelected = true } else { btnTemp.backgroundColor = CommonUntils.getUIColorFromRGB(rgbValue: 0xf5f5f5, alpha: 1.0) btnTemp.isSelected = false } } } @IBAction func btnMenuClick(_ sender: AnyObject) { switch (sender as! UIButton).tag { case 1001: // 开始时间 let viewDatePicer = (CommonViewUntils.getViewForXIB(anyClass: Virgil_SelectDateForPickerView.self) as! Virgil_SelectDateForPickerView) var defaultDate: Date! if queryEntity.startTime == "选择开始日期" || queryEntity.startTime.length() != 10 { defaultDate = CommonDate.addMonth(date: Date(), month: 0) } else { defaultDate = CommonDate.getDateForString(dateStr: queryEntity.startTime, dateFormat: "yyyy-MM-dd") } viewDatePicer.datePicker.maximumDate = Date() viewDatePicer.showDatePickerView(defaultDate: defaultDate) {[weak self] (str) in self!.queryEntity.startTime = str self!.refreshView() } break case 1002: // 结束时间 let viewDatePicer = (CommonViewUntils.getViewForXIB(anyClass: Virgil_SelectDateForPickerView.self) as! Virgil_SelectDateForPickerView) var defaultDate: Date! if queryEntity.endTime == "选择截止日期" || queryEntity.endTime.length() != 10 { defaultDate = Date() } else { defaultDate = CommonDate.getDateForString(dateStr: queryEntity.endTime, dateFormat: "yyyy-MM-dd") } viewDatePicer.datePicker.maximumDate = Date() viewDatePicer.showDatePickerView(defaultDate: defaultDate) {[weak self] (str) in self!.queryEntity.endTime = str self!.refreshView() } refreshView() break case 1011: // 全部 queryEntity.busType = "" refreshView() break case 1012: // 个人版 queryEntity.busType = "0" refreshView() case 1013: // 商户版 queryEntity.busType = "1" refreshView() break case 1021: // 全部 queryEntity.depositTrade = "" refreshView() break case 1022: // 刷卡 queryEntity.depositTrade = "01" refreshView() break case 1023: // 挥卡 queryEntity.depositTrade = "02" refreshView() break case 1024: // 芯片插卡 queryEntity.depositTrade = "03" refreshView() break case 1025: // 扫码 queryEntity.depositTrade = "04" refreshView() break case 1026: // 押金 queryEntity.depositTrade = "05" refreshView() break case 1031: // 全部 queryEntity.payType = "" refreshView() break case 1032: // 云闪付借记卡 queryEntity.payType = "01" refreshView() break case 1033: // 云闪付贷记卡 queryEntity.payType = "02" refreshView() break case 1034: // 刷卡交易借记卡 queryEntity.payType = "03" refreshView() break case 1035: // 刷卡交易贷记卡 queryEntity.payType = "04" refreshView() break case 1039: // 微信 queryEntity.payType = "08" refreshView() break case 1040: // 支付宝 queryEntity.payType = "09" refreshView() break case 1041: // 全部 queryEntity.cardType = "" refreshView() break case 1042: // 借记卡 queryEntity.cardType = "01" refreshView() break case 1043: //信用卡 queryEntity.cardType = "02" refreshView() break case 1003: // S0 queryEntity.settleWay = "01" refreshView() break case 1004: // T1 queryEntity.settleWay = "02" refreshView() break case 1005: // 全部 queryEntity.settleWay = "" refreshView() break case 1007: // 重置 queryEntity.startTime = "选择开始日期" queryEntity.endTime = "选择截止日期" queryEntity.cardType = "" queryEntity.settleWay = "" queryEntity.typeID = "" queryEntity.payType = "" queryEntity.depositTrade = "" queryEntity.busType = "" refreshView() break case 1008: // 确定 hidMenu() if oBackFunc != nil { oBackFunc(queryEntity) } break case 1009: // 隐藏 hidMenu() break default: break } } func refreshView() { for btnTemp in btnTypes { if queryEntity.typeID != (arrTempType[btnTemp.tag] as! NSDictionary).getString(key: "id") { btnTemp.isSelected = false btnTemp.backgroundColor = CommonUntils.getUIColorFromRGB(rgbValue: 0xf5f5f5, alpha: 1.0) } } if queryEntity.busType == "" { busAllBtn.isSelected = true busJJBtn.isSelected = false busSHBtn.isSelected = false busAllBtn.setTitleColor(.red, for: .selected) busJJBtn.setTitleColor(.black, for: .normal) busSHBtn.setTitleColor(.black, for: .normal) } else if queryEntity.busType == "0" { busAllBtn.isSelected = false busJJBtn.isSelected = true busSHBtn.isSelected = false busAllBtn.setTitleColor(.black, for: .normal) busJJBtn.setTitleColor(.red, for: .selected) busSHBtn.setTitleColor(.black, for: .normal) } else { busAllBtn.isSelected = false busJJBtn.isSelected = false busSHBtn.isSelected = true busAllBtn.setTitleColor(.black, for: .normal) busJJBtn.setTitleColor(.black, for: .normal) busSHBtn.setTitleColor(.red, for: .selected) } if queryEntity.depositTrade == "" { dealAllBtn.isSelected = true dealSKBtn.isSelected = false dealHKBtn.isSelected = false dealXPBtn.isSelected = false dealSMBtn.isSelected = false dealYJBtn.isSelected = false dealAllBtn.setTitleColor(.red, for: .selected) dealSKBtn.setTitleColor(.black, for: .normal) dealHKBtn.setTitleColor(.black, for: .normal) dealXPBtn.setTitleColor(.black, for: .normal) dealSMBtn.setTitleColor(.black, for: .normal) dealYJBtn.setTitleColor(.black, for: .normal) } else if queryEntity.depositTrade == "01" { dealAllBtn.isSelected = false dealSKBtn.isSelected = true dealHKBtn.isSelected = false dealXPBtn.isSelected = false dealSMBtn.isSelected = false dealYJBtn.isSelected = false dealAllBtn.setTitleColor(.black, for: .normal) dealSKBtn.setTitleColor(.red, for: .selected) dealHKBtn.setTitleColor(.black, for: .normal) dealXPBtn.setTitleColor(.black, for: .normal) dealSMBtn.setTitleColor(.black, for: .normal) dealYJBtn.setTitleColor(.black, for: .normal) }else if queryEntity.depositTrade == "02" { dealAllBtn.isSelected = false dealSKBtn.isSelected = false dealHKBtn.isSelected = true dealXPBtn.isSelected = false dealSMBtn.isSelected = false dealYJBtn.isSelected = false dealAllBtn.setTitleColor(.black, for: .normal) dealSKBtn.setTitleColor(.black, for: .normal) dealHKBtn.setTitleColor(.red, for: .selected) dealXPBtn.setTitleColor(.black, for: .normal) dealSMBtn.setTitleColor(.black, for: .normal) dealYJBtn.setTitleColor(.black, for: .normal) }else if queryEntity.depositTrade == "03" { dealAllBtn.isSelected = false dealSKBtn.isSelected = false dealHKBtn.isSelected = false dealXPBtn.isSelected = true dealSMBtn.isSelected = false dealYJBtn.isSelected = false dealAllBtn.setTitleColor(.black, for: .normal) dealSKBtn.setTitleColor(.black, for: .normal) dealHKBtn.setTitleColor(.black, for: .normal) dealXPBtn.setTitleColor(.red, for: .selected) dealSMBtn.setTitleColor(.black, for: .normal) dealYJBtn.setTitleColor(.black, for: .normal) }else if queryEntity.depositTrade == "04" { dealAllBtn.isSelected = false dealSKBtn.isSelected = false dealHKBtn.isSelected = false dealXPBtn.isSelected = false dealSMBtn.isSelected = true dealYJBtn.isSelected = false dealAllBtn.setTitleColor(.black, for: .normal) dealSKBtn.setTitleColor(.black, for: .normal) dealHKBtn.setTitleColor(.black, for: .normal) dealXPBtn.setTitleColor(.black, for: .normal) dealSMBtn.setTitleColor(.red, for: .selected) dealYJBtn.setTitleColor(.black, for: .normal) }else { dealAllBtn.isSelected = false dealSKBtn.isSelected = false dealHKBtn.isSelected = false dealXPBtn.isSelected = false dealSMBtn.isSelected = false dealYJBtn.isSelected = true dealAllBtn.setTitleColor(.black, for: .normal) dealSKBtn.setTitleColor(.black, for: .normal) dealHKBtn.setTitleColor(.black, for: .normal) dealXPBtn.setTitleColor(.black, for: .normal) dealSMBtn.setTitleColor(.black, for: .normal) dealYJBtn.setTitleColor(.red, for: .selected) } if queryEntity.payType == "" { payAllBtn.isSelected = true payYSFJBtn.isSelected = false payYSFDBtn.isSelected = false paySKJBtn.isSelected = false payBZBtn.isSelected = false payWXBtn.isSelected = false payALBtn.isSelected = false payAllBtn.setTitleColor(.red, for: .selected) payYSFJBtn.setTitleColor(.black, for: .normal) payYSFDBtn.setTitleColor(.black, for: .normal) paySKJBtn.setTitleColor(.black, for: .normal) payBZBtn.setTitleColor(.black, for: .normal) payWXBtn.setTitleColor(.black, for: .normal) payALBtn.setTitleColor(.black, for: .normal) } else if queryEntity.payType == "01" { payAllBtn.isSelected = false payYSFJBtn.isSelected = true payYSFDBtn.isSelected = false paySKJBtn.isSelected = false payBZBtn.isSelected = false payWXBtn.isSelected = false payALBtn.isSelected = false payAllBtn.setTitleColor(.black, for: .normal) payYSFJBtn.setTitleColor(.red, for: .selected) payYSFDBtn.setTitleColor(.black, for: .normal) paySKJBtn.setTitleColor(.black, for: .normal) payBZBtn.setTitleColor(.black, for: .normal) payWXBtn.setTitleColor(.black, for: .normal) payALBtn.setTitleColor(.black, for: .normal) }else if queryEntity.payType == "02" { payAllBtn.isSelected = false payYSFJBtn.isSelected = false payYSFDBtn.isSelected = true paySKJBtn.isSelected = false payBZBtn.isSelected = false payWXBtn.isSelected = false payALBtn.isSelected = false payAllBtn.setTitleColor(.black, for: .normal) payYSFJBtn.setTitleColor(.black, for: .normal) payYSFDBtn.setTitleColor(.red, for: .selected) paySKJBtn.setTitleColor(.black, for: .normal) payBZBtn.setTitleColor(.black, for: .normal) payWXBtn.setTitleColor(.black, for: .normal) payALBtn.setTitleColor(.black, for: .normal) }else if queryEntity.payType == "03" { payAllBtn.isSelected = false payYSFJBtn.isSelected = false payYSFDBtn.isSelected = false paySKJBtn.isSelected = true payBZBtn.isSelected = false payWXBtn.isSelected = false payALBtn.isSelected = false payAllBtn.setTitleColor(.black, for: .normal) payYSFJBtn.setTitleColor(.black, for: .normal) payYSFDBtn.setTitleColor(.black, for: .normal) paySKJBtn.setTitleColor(.red, for: .selected) payBZBtn.setTitleColor(.black, for: .normal) payWXBtn.setTitleColor(.black, for: .normal) payALBtn.setTitleColor(.black, for: .normal) }else if queryEntity.payType == "04" { payAllBtn.isSelected = false payYSFJBtn.isSelected = false payYSFDBtn.isSelected = false paySKJBtn.isSelected = false payBZBtn.isSelected = true payWXBtn.isSelected = false payALBtn.isSelected = false payAllBtn.setTitleColor(.black, for: .normal) payYSFJBtn.setTitleColor(.black, for: .normal) payYSFDBtn.setTitleColor(.black, for: .normal) paySKJBtn.setTitleColor(.black, for: .normal) payBZBtn.setTitleColor(.red, for: .selected) payWXBtn.setTitleColor(.black, for: .normal) payALBtn.setTitleColor(.black, for: .normal) }else if queryEntity.payType == "05" { payAllBtn.isSelected = false payYSFJBtn.isSelected = false payYSFDBtn.isSelected = false paySKJBtn.isSelected = false payBZBtn.isSelected = false payWXBtn.isSelected = false payALBtn.isSelected = false payAllBtn.setTitleColor(.black, for: .normal) payYSFJBtn.setTitleColor(.black, for: .normal) payYSFDBtn.setTitleColor(.black, for: .normal) paySKJBtn.setTitleColor(.black, for: .normal) payBZBtn.setTitleColor(.black, for: .normal) payWXBtn.setTitleColor(.black, for: .normal) payALBtn.setTitleColor(.black, for: .normal) }else if queryEntity.payType == "06" { payAllBtn.isSelected = false payYSFJBtn.isSelected = false payYSFDBtn.isSelected = false paySKJBtn.isSelected = false payBZBtn.isSelected = false payWXBtn.isSelected = false payALBtn.isSelected = false payAllBtn.setTitleColor(.black, for: .normal) payYSFJBtn.setTitleColor(.black, for: .normal) payYSFDBtn.setTitleColor(.black, for: .normal) paySKJBtn.setTitleColor(.black, for: .normal) payBZBtn.setTitleColor(.black, for: .normal) payWXBtn.setTitleColor(.black, for: .normal) payALBtn.setTitleColor(.black, for: .normal) }else if queryEntity.payType == "07" { payAllBtn.isSelected = false payYSFJBtn.isSelected = false payYSFDBtn.isSelected = false paySKJBtn.isSelected = false payBZBtn.isSelected = false payWXBtn.isSelected = false payALBtn.isSelected = false payAllBtn.setTitleColor(.black, for: .normal) payYSFJBtn.setTitleColor(.black, for: .normal) payYSFDBtn.setTitleColor(.black, for: .normal) paySKJBtn.setTitleColor(.black, for: .normal) payBZBtn.setTitleColor(.black, for: .normal) payWXBtn.setTitleColor(.black, for: .normal) payALBtn.setTitleColor(.black, for: .normal) }else if queryEntity.payType == "08" { payAllBtn.isSelected = false payYSFJBtn.isSelected = false payYSFDBtn.isSelected = false paySKJBtn.isSelected = false payBZBtn.isSelected = false payWXBtn.isSelected = true payALBtn.isSelected = false payAllBtn.setTitleColor(.black, for: .normal) payYSFJBtn.setTitleColor(.black, for: .normal) payYSFDBtn.setTitleColor(.black, for: .normal) paySKJBtn.setTitleColor(.black, for: .normal) payBZBtn.setTitleColor(.black, for: .normal) payWXBtn.setTitleColor(.red, for: .selected) payALBtn.setTitleColor(.black, for: .normal) }else { payAllBtn.isSelected = false payYSFJBtn.isSelected = false payYSFDBtn.isSelected = false paySKJBtn.isSelected = false payBZBtn.isSelected = false payWXBtn.isSelected = false payALBtn.isSelected = true payAllBtn.setTitleColor(.black, for: .normal) payYSFJBtn.setTitleColor(.black, for: .normal) payYSFDBtn.setTitleColor(.black, for: .normal) paySKJBtn.setTitleColor(.black, for: .normal) payBZBtn.setTitleColor(.black, for: .normal) payWXBtn.setTitleColor(.black, for: .normal) payALBtn.setTitleColor(.red, for: .selected) } if queryEntity.cardType == "" { cardAllBtn.isSelected = true cardJJBtn.isSelected = false cardXYBtn.isSelected = false cardAllBtn.setTitleColor(.red, for: .selected) cardJJBtn.setTitleColor(.black, for: .normal) cardXYBtn.setTitleColor(.black, for: .normal) } else if queryEntity.cardType == "01" { cardAllBtn.isSelected = false cardJJBtn.isSelected = true cardXYBtn.isSelected = false cardAllBtn.setTitleColor(.black, for: .normal) cardJJBtn.setTitleColor(.red, for: .selected) cardXYBtn.setTitleColor(.black, for: .normal) }else if queryEntity.cardType == "02" { cardAllBtn.isSelected = false cardJJBtn.isSelected = false cardXYBtn.isSelected = true cardAllBtn.setTitleColor(.black, for: .normal) cardJJBtn.setTitleColor(.black, for: .normal) cardXYBtn.setTitleColor(.red, for: .selected) } if queryEntity.settleWay == "" { wayAllBtn.isSelected = true wayBtn.isSelected = false wayBtn1.isSelected = false wayAllBtn.setTitleColor(.red, for: .selected) wayBtn.setTitleColor(.black, for: .normal) wayBtn1.setTitleColor(.black, for: .normal) } else if queryEntity.settleWay == "01" { wayAllBtn.isSelected = false wayBtn.isSelected = true wayBtn1.isSelected = false wayAllBtn.setTitleColor(.black, for: .normal) wayBtn.setTitleColor(.red, for: .selected) wayBtn1.setTitleColor(.black, for: .normal) }else { wayAllBtn.isSelected = false wayBtn.isSelected = false wayBtn1.isSelected = true wayAllBtn.setTitleColor(.black, for: .normal) wayBtn.setTitleColor(.black, for: .normal) wayBtn1.setTitleColor(.red, for: .selected) } btnStart.setTitle(queryEntity.startTime, for: .normal) btnEnd.setTitle(queryEntity.endTime, for: .normal) } func showMenu(paretnView: UIView) { scrollView.marginLeft(left: ScreenWidth) paretnView.addSubview(self) self.setFillForSuperView() UIView.animate(withDuration: 0.5, animations: { self.scrollView.marginLeft(left: ScreenWidth - self.scrollView.width()) }) { (_) in } } func hidMenu() { UIView.animate(withDuration: 0.5, animations: { self.scrollView.marginLeft(left: ScreenWidth) }) { (_) in self.removeFromSuperview() } } } class QueryEntityKY: NSObject { ///品牌ID var typeID = "" var startTime = "" var endTime = "" ///结算方式:T0 T1 var settleWay = "" ///交易卡类型:借记卡 var cardType = "" ///商户类型 var busType = "" ///交易类型 var depositTrade = "" ///交易方式 var payType = "" } typealias CommonBackQueryKY=(_ entity: QueryEntityKY) -> Void