// // CommonRightMenuKS.swift // xingchuangke // // Created by Apple on 2021/3/4. // Copyright © 2021 Virgil. All rights reserved. // import UIKit class CommonRightMenuKS: 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 dealWXBtn: UIButton! @IBOutlet weak var dealALBtn: UIButton! @IBOutlet weak var dealSFBtn: UIButton! @IBOutlet weak var cardAllBtn: UIButton! @IBOutlet weak var cardJJBtn: UIButton! @IBOutlet weak var cardDJBtn: UIButton! @IBOutlet weak var wayAllBtn: UIButton! @IBOutlet weak var wayBtn: UIButton! @IBOutlet weak var wayBtn1: UIButton! @IBOutlet weak var deviceAllBtn: UIButton! @IBOutlet weak var deviceMPBtn: UIButton! @IBOutlet weak var deviceCTBtn: UIButton! @IBOutlet weak var deviceDPBtn: UIButton! @IBOutlet weak var btnConfrim: UIButton! @IBOutlet weak var btnReset: UIButton! @IBOutlet weak var btnEnd: UIButton! @IBOutlet weak var btnStart: UIButton! var queryEntity: QueryEntityKS! var oBackFunc: CommonBackQueryKS! var btnTypes = [UIButton]() var arrTempType = NSMutableArray() func initView(arrType: NSMutableArray, backFunc:@escaping CommonBackQueryKS) { oBackFunc = backFunc self.setSizeWidth(width: ScreenWidth) btnEnd.setCornerRadius(size: 3) btnStart.setCornerRadius(size: 3) scrollView.contentSize.height = btnConfrim.bottom() + 40 busAllBtn.isSelected = true dealAllBtn.isSelected = true cardAllBtn.isSelected = true wayAllBtn.isSelected = true deviceAllBtn.isSelected = true busAllBtn.setTitleColor(.red, for: .selected) dealAllBtn.setTitleColor(.red, for: .selected) cardAllBtn.setTitleColor(.red, for: .selected) wayAllBtn.setTitleColor(.red, for: .selected) deviceAllBtn.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 = QueryEntityKS() 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 1041: // 全部 queryEntity.cardType = "" refreshView() break case 1042: // 借记卡 queryEntity.cardType = "01" refreshView() break case 1043: // 贷记卡 queryEntity.cardType = "02" refreshView() break case 1003: // s+0 queryEntity.settleWay = "01" refreshView() break case 1004: // t+1 queryEntity.settleWay = "02" refreshView() break case 1005: // 全部 queryEntity.settleWay = "" refreshView() break case 1050: // 全部 queryEntity.deviceType = "" refreshView() break case 1051: // MPOS queryEntity.deviceType = "MPOS" refreshView() break case 1052: // 传统POS queryEntity.deviceType = "传统POS" refreshView() break case 1053: // 电签POS queryEntity.deviceType = "电签POS" refreshView() break case 1007: // 重置 queryEntity.startTime = "选择开始日期" queryEntity.endTime = "选择截止日期" queryEntity.cardType = "" queryEntity.settleWay = "" queryEntity.typeID = "" queryEntity.depositTrade = "" queryEntity.busType = "" queryEntity.deviceType = "" 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 dealWXBtn.isSelected = false dealALBtn.isSelected = false dealSFBtn.isSelected = false dealAllBtn.setTitleColor(.red, for: .selected) dealSKBtn.setTitleColor(.black, for: .normal) dealHKBtn.setTitleColor(.black, for: .normal) dealWXBtn.setTitleColor(.black, for: .normal) dealALBtn.setTitleColor(.black, for: .normal) dealSFBtn.setTitleColor(.black, for: .normal) } else if queryEntity.depositTrade == "01" { dealAllBtn.isSelected = false dealSKBtn.isSelected = true dealHKBtn.isSelected = false dealWXBtn.isSelected = false dealALBtn.isSelected = false dealSFBtn.isSelected = false dealAllBtn.setTitleColor(.black, for: .normal) dealSKBtn.setTitleColor(.red, for: .selected) dealHKBtn.setTitleColor(.black, for: .normal) dealWXBtn.setTitleColor(.black, for: .normal) dealALBtn.setTitleColor(.black, for: .normal) dealSFBtn.setTitleColor(.black, for: .normal) }else if queryEntity.depositTrade == "02" { dealAllBtn.isSelected = false dealSKBtn.isSelected = false dealHKBtn.isSelected = true dealWXBtn.isSelected = false dealALBtn.isSelected = false dealSFBtn.isSelected = false dealAllBtn.setTitleColor(.black, for: .normal) dealSKBtn.setTitleColor(.black, for: .normal) dealHKBtn.setTitleColor(.red, for: .selected) dealWXBtn.setTitleColor(.black, for: .normal) dealALBtn.setTitleColor(.black, for: .normal) dealSFBtn.setTitleColor(.black, for: .normal) }else if queryEntity.depositTrade == "03" { dealAllBtn.isSelected = false dealSKBtn.isSelected = false dealHKBtn.isSelected = false dealWXBtn.isSelected = true dealALBtn.isSelected = false dealSFBtn.isSelected = false dealAllBtn.setTitleColor(.black, for: .normal) dealSKBtn.setTitleColor(.black, for: .normal) dealHKBtn.setTitleColor(.black, for: .normal) dealWXBtn.setTitleColor(.red, for: .selected) dealALBtn.setTitleColor(.black, for: .normal) dealSFBtn.setTitleColor(.black, for: .normal) }else if queryEntity.depositTrade == "04" { dealAllBtn.isSelected = false dealSKBtn.isSelected = false dealHKBtn.isSelected = false dealWXBtn.isSelected = false dealALBtn.isSelected = true dealSFBtn.isSelected = false dealAllBtn.setTitleColor(.black, for: .normal) dealSKBtn.setTitleColor(.black, for: .normal) dealHKBtn.setTitleColor(.black, for: .normal) dealWXBtn.setTitleColor(.black, for: .normal) dealALBtn.setTitleColor(.red, for: .selected) dealSFBtn.setTitleColor(.black, for: .normal) }else { dealAllBtn.isSelected = true dealSKBtn.isSelected = false dealHKBtn.isSelected = false dealWXBtn.isSelected = false dealALBtn.isSelected = false dealSFBtn.isSelected = true dealAllBtn.setTitleColor(.black, for: .normal) dealSKBtn.setTitleColor(.black, for: .normal) dealHKBtn.setTitleColor(.black, for: .normal) dealWXBtn.setTitleColor(.black, for: .normal) dealALBtn.setTitleColor(.black, for: .normal) dealSFBtn.setTitleColor(.red, for: .selected) } if queryEntity.cardType == "" { cardAllBtn.isSelected = true cardJJBtn.isSelected = false cardDJBtn.isSelected = false cardAllBtn.setTitleColor(.red, for: .selected) cardJJBtn.setTitleColor(.black, for: .normal) cardDJBtn.setTitleColor(.black, for: .normal) } else if queryEntity.cardType == "01" { cardAllBtn.isSelected = false cardJJBtn.isSelected = true cardDJBtn.isSelected = false cardAllBtn.setTitleColor(.black, for: .normal) cardJJBtn.setTitleColor(.red, for: .selected) cardDJBtn.setTitleColor(.black, for: .normal) }else if queryEntity.cardType == "02" { cardAllBtn.isSelected = false cardJJBtn.isSelected = false cardDJBtn.isSelected = true cardAllBtn.setTitleColor(.black, for: .normal) cardJJBtn.setTitleColor(.black, for: .normal) cardDJBtn.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) } if queryEntity.deviceType == "" { deviceAllBtn.isSelected = true deviceMPBtn.isSelected = false deviceCTBtn.isSelected = false deviceDPBtn.isSelected = false deviceAllBtn.setTitleColor(.red, for: .selected) deviceMPBtn.setTitleColor(.black, for: .normal) deviceCTBtn.setTitleColor(.black, for: .normal) deviceDPBtn.setTitleColor(.black, for: .normal) } else if queryEntity.deviceType == "MPOS" { deviceAllBtn.isSelected = false deviceMPBtn.isSelected = true deviceCTBtn.isSelected = false deviceDPBtn.isSelected = false deviceAllBtn.setTitleColor(.black, for: .normal) deviceMPBtn.setTitleColor(.red, for: .selected) deviceCTBtn.setTitleColor(.black, for: .normal) deviceDPBtn.setTitleColor(.black, for: .normal) }else if queryEntity.deviceType == "传统POS" { deviceAllBtn.isSelected = false deviceMPBtn.isSelected = false deviceCTBtn.isSelected = true deviceDPBtn.isSelected = false deviceAllBtn.setTitleColor(.black, for: .normal) deviceMPBtn.setTitleColor(.black, for: .normal) deviceCTBtn.setTitleColor(.red, for: .selected) deviceDPBtn.setTitleColor(.black, for: .normal) }else if queryEntity.deviceType == "电签POS" { deviceAllBtn.isSelected = false deviceMPBtn.isSelected = false deviceCTBtn.isSelected = false deviceDPBtn.isSelected = true deviceAllBtn.setTitleColor(.black, for: .normal) deviceMPBtn.setTitleColor(.black, for: .normal) deviceCTBtn.setTitleColor(.black, for: .normal) deviceDPBtn.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 QueryEntityKS: NSObject { ///品牌ID var typeID = "" var startTime = "" var endTime = "" ///结算方式:T0 T1 var settleWay = "" ///交易卡类型:借记卡 var cardType = "" ///商户类型 var busType = "" ///交易类型 var depositTrade = "" ///设备类型 var deviceType = "" } typealias CommonBackQueryKS=(_ entity: QueryEntityKS) -> Void