Commit 59b1da73 authored by 刘俊宏's avatar 刘俊宏

暂时完成订单列表操作

parent 0ed304da
......@@ -3,27 +3,4 @@
uuid = "5B8F44F7-39A9-41EF-84D0-455B68FF56A8"
type = "0"
version = "2.0">
<Breakpoints>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.ExceptionBreakpoint">
<BreakpointContent
uuid = "28CE393B-0C38-4855-BA55-51896D8FB746"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
breakpointStackSelectionBehavior = "1"
scope = "1"
stopOnStyle = "0">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.SwiftErrorBreakpoint">
<BreakpointContent
uuid = "6550B373-E925-4A81-B16D-B8228EBE65C0"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No">
</BreakpointContent>
</BreakpointProxy>
</Breakpoints>
</Bucket>
......@@ -230,3 +230,4 @@ func dayByDouble (sender : Double ) -> String {
dformatter.dateFormat = "yyyy.MM.dd"
return dformatter.string(from: data)
}
......@@ -88,7 +88,7 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate, UITabBarControllerDeleg
// Create the SwiftUI view that provides the window contents.
tabBarController.viewControllers = [v1, v2, v3, v4, v5]
tabBarController.selectedIndex = 2
// tabBarController.selectedIndex = 2
let contentView = tabBarController
if let windowScene = sceneC as? UIWindowScene {
......
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="15702" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="16096" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
<device id="retina6_5" orientation="portrait" appearance="light"/>
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15704"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="16086"/>
<capability name="Named colors" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
......
......@@ -10,7 +10,7 @@ import Foundation
import SwiftDate
protocol OrderSelectMoreViewDelegate {
func sureAction(selectData:Any)
func sureAction(beginDate: Date?, endginDate: Date?,paySelectArr:Array<Bool>,bugSelectArr:Array<Bool>,sendSelectArr:Array<Bool>)
func colseAction()
}
class OrderSelectMoreView: UIView,TitleAndSelCalendarViewDelegate ,TimeSelectViewDelgate{
......@@ -26,12 +26,22 @@ class OrderSelectMoreView: UIView,TitleAndSelCalendarViewDelegate ,TimeSelectVie
}
@IBAction func sure(_ sender: UIButton) {
self.removeFromSuperview()
self.delegate?.sureAction(selectData: "")
self.delegate?.sureAction(beginDate: BeginDate, endginDate: EndDate, paySelectArr: paySArr, bugSelectArr: bugSArr, sendSelectArr: sendSArr)
}
@IBAction func reset(_ sender: Any) {
//重置
moreBgView.subviews.forEach { (view) in
view.removeFromSuperview()
}
BeginDate = nil
EndDate = nil
paySArr = [false,false,false,false,false]
bugSArr = [false,false]
sendSArr = [false,false,false,false]
}
setUI()
}
//初始化时将xib中的view添加进来
override init(frame: CGRect) {
......@@ -70,6 +80,8 @@ class OrderSelectMoreView: UIView,TitleAndSelCalendarViewDelegate ,TimeSelectVie
func setUI() {
timeTilelV.delegate = self
moreBgView.addSubview(timeTilelV)
timeTilelV.timeLbl.text = "请选择时间范围"
timeTilelV.isSelectV = false
timeTilelV.snp.makeConstraints { (make) in
make.left.top.equalTo(15*glscale)
make.right.equalTo(-135*glscale)
......@@ -85,7 +97,7 @@ class OrderSelectMoreView: UIView,TitleAndSelCalendarViewDelegate ,TimeSelectVie
make.top.equalTo(timeTilelV.snp_bottom).offset(15*glscale)
}
let payV = addTitleAndMoreBtn(title: "支付状态", arrStr: ["未付款","欠款","已付款","月结","已退款"])
let payV = addTitleAndMoreBtn(title: "支付状态", arrStr: ["未付款","欠款","已付款","月结","已退款"], btnTag: 1000)
moreBgView.addSubview(payV)
payV.snp.makeConstraints { (make) in
make.left.equalTo(15*glscale)
......@@ -102,7 +114,7 @@ class OrderSelectMoreView: UIView,TitleAndSelCalendarViewDelegate ,TimeSelectVie
make.height.equalTo(1)
make.top.equalTo(payV.snp_bottom).offset(15*glscale)
}
let typeV = addTitleAndMoreBtn(title: "下单方式", arrStr: ["自助下单","销售下单"])
let typeV = addTitleAndMoreBtn(title: "下单方式", arrStr: ["自助下单","销售下单"], btnTag: 2000)
moreBgView.addSubview(typeV)
typeV.snp.makeConstraints { (make) in
make.left.equalTo(15*glscale)
......@@ -119,7 +131,7 @@ class OrderSelectMoreView: UIView,TitleAndSelCalendarViewDelegate ,TimeSelectVie
make.height.equalTo(1)
make.top.equalTo(typeV.snp_bottom).offset(15*glscale)
}
let statusV = addTitleAndMoreBtn(title: "商品配送情况", arrStr: ["未发货","已发货","已收货","已退货"])
let statusV = addTitleAndMoreBtn(title: "商品配送情况", arrStr: ["未发货","已发货","已收货","已退货"], btnTag: 3000)
moreBgView.addSubview(statusV)
statusV.snp.makeConstraints { (make) in
make.left.equalTo(15*glscale)
......@@ -131,7 +143,7 @@ class OrderSelectMoreView: UIView,TitleAndSelCalendarViewDelegate ,TimeSelectVie
contentHeight.constant = 400*glscale
}
//MARK--标题和按钮多的情况1
func addTitleAndMoreBtn(title:String,arrStr:[String]) -> UIView {
func addTitleAndMoreBtn(title:String,arrStr:[String],btnTag:Int) -> UIView {
let conView = UIView()
let titleLbl = UILabel()
......@@ -165,6 +177,8 @@ class OrderSelectMoreView: UIView,TitleAndSelCalendarViewDelegate ,TimeSelectVie
make.height.equalTo(30*glscale)
}
selectBtn.addTarget(self, action: #selector(selectBtnAction(sender:)), for: .touchUpInside)
selectBtn.tag = btnTag + i
allSelectBtn.append(selectBtn)
}
return conView
......@@ -178,6 +192,16 @@ class OrderSelectMoreView: UIView,TitleAndSelCalendarViewDelegate ,TimeSelectVie
sender.setTitleColor(UIColor.init(named: "多选按钮字体颜色"), for: .normal)
sender.backgroundColor = UIColor.init(named: "多选按钮背景颜色")
}
if sender.tag < 2000 {
let index = sender.tag - 1000
paySArr[index] = sender.isSelected
}else if sender.tag < 3000 {
let index = sender.tag - 2000
bugSArr[index] = sender.isSelected
}else{
let index = sender.tag - 3000
sendSArr[index] = sender.isSelected
}
}
let calendarV = TimeSelectView(frame: CGRect(x: 0, y: 85*glscale, width: fullScreenWidth, height: 235*glscale))
//MARK:--展示日历选择器
......@@ -192,6 +216,10 @@ class OrderSelectMoreView: UIView,TitleAndSelCalendarViewDelegate ,TimeSelectVie
make.height.equalTo(1)
make.top.equalTo(calendarV.snp_bottom)
}
if BeginDate != nil {
calendarV.setOldDate(beginD: BeginDate!, endD: EndDate!)
}
}else{
calendarV.removeFromSuperview()
contentHeight.constant = 400*glscale
......@@ -204,8 +232,70 @@ class OrderSelectMoreView: UIView,TitleAndSelCalendarViewDelegate ,TimeSelectVie
}
//MARK:--日历代理
func selectMoreDate(beginDate: Date, endginDate: Date) {
timeTilelV.timeLbl.text = beginDate.toFormat("yyyy.MM.dd") + "," + endginDate.toFormat("yyyy.MM.dd")
//bug
let timeInterval:TimeInterval = beginDate.timeIntervalSince1970
let timeIntervalEnd:TimeInterval = endginDate.timeIntervalSince1970
timeTilelV.timeLbl.text = dayByDouble(sender: timeInterval) + "," + dayByDouble(sender: timeIntervalEnd)
EndDate = endginDate
BeginDate = beginDate
}
var allSelectBtn : Array<UIButton> = []
//MARK:--数据源
var BeginDate: Date! = nil
var EndDate: Date! = nil
var paySArr:Array<Bool> = [false,false,false,false,false]
var bugSArr:Array<Bool> = [false,false]
var sendSArr:Array<Bool> = [false,false,false,false]
func setUIbyData (beginDate: Date?, endginDate: Date?, paySelectArr: Array<Bool>, bugSelectArr: Array<Bool>, sendSelectArr: Array<Bool>) {
EndDate = endginDate
BeginDate = beginDate
self.paySArr = paySelectArr
self.bugSArr = bugSelectArr
self.sendSArr = sendSelectArr
if BeginDate == nil {
timeTilelV.timeLbl.text = "请选择时间范围"
}else{
let timeInterval:TimeInterval = BeginDate.timeIntervalSince1970
let timeIntervalEnd:TimeInterval = EndDate.timeIntervalSince1970
timeTilelV.timeLbl.text = dayByDouble(sender: timeInterval) + "," + dayByDouble(sender: timeIntervalEnd)
}
allSelectBtn.forEach { (sender) in
if sender.tag < 2000 {
let i = sender.tag - 1000
let isBool = paySelectArr[i]
sender.isSelected = isBool
if isBool {
sender.setTitleColor(UIColor.init(named: "白色背景色"), for: .normal)
sender.backgroundColor = UIColor.init(named: "蓝色字体颜色")
}
}else if sender.tag < 3000 {
let i = sender.tag - 2000
let isBool = bugSelectArr[i]
sender.isSelected = isBool
if isBool {
sender.setTitleColor(UIColor.init(named: "白色背景色"), for: .normal)
sender.backgroundColor = UIColor.init(named: "蓝色字体颜色")
}
}else{
let i = sender.tag - 3000
let isBool = sendSelectArr[i]
sender.isSelected = isBool
if isBool {
sender.setTitleColor(UIColor.init(named: "白色背景色"), for: .normal)
sender.backgroundColor = UIColor.init(named: "蓝色字体颜色")
}
}
}
}
}
......@@ -68,7 +68,7 @@
<color red="0.18000000715255737" green="0.18000000715255737" blue="0.18000000715255737" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</namedColor>
<namedColor name="灰色字体颜色">
<color red="0.40000000596046448" green="0.40000000596046448" blue="0.40000000596046448" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<color red="0.40000000000000002" green="0.40000000000000002" blue="0.40000000000000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</namedColor>
</resources>
</document>
......@@ -87,6 +87,28 @@ class TimeSelectView: UIView, FSCalendarDataSource, FSCalendarDelegate {
var BeginDate: Date!
var EndDate: Date!
var SelectAction: Bool = false
func setOldDate (beginD: Date , endD:Date) {
// let previousDate = self.gregorian.date(byAdding: .day, value: -1, to: beginD)!
// let nextDate = self.gregorian.date(byAdding: .day, value: -1, to: endD)!
let selectArr = calendarC.selectedDates
for select in selectArr{
calendarC.deselect(select)
}
calendarC.select(beginD)
BeginDate = beginD
let number = numberOfDaysWithFromDate(fromDate: BeginDate, toDate: endD)!
EndDate = endD
for i in 0 ..< number {
let dateA = endD.addingTimeInterval(TimeInterval(-i*60*60*24))
calendarC.select(dateA)
}
self.configureVisibleCells()
}
func clearTheSelect(){
let selectArr = calendarC.selectedDates
......@@ -137,11 +159,11 @@ class TimeSelectView: UIView, FSCalendarDataSource, FSCalendarDelegate {
calendarC.select(dateA)
}
let previousDate = self.gregorian.date(byAdding: .day, value: 1, to: BeginDate)!
print("选中开始时间\(previousDate)")
let nextDate = self.gregorian.date(byAdding: .day, value: 1, to: EndDate)!
print("选中结束时间\(nextDate)")
self.delegate?.selectMoreDate(beginDate: previousDate, endginDate: nextDate)
// let previousDate = self.gregorian.date(byAdding: .day, value: 1, to: BeginDate)!
// print("选中开始时间\(previousDate)")
// let nextDate = self.gregorian.date(byAdding: .day, value: 1, to: EndDate)!
// print("选中结束时间\(nextDate)")
self.delegate?.selectMoreDate(beginDate: BeginDate, endginDate: EndDate)
}
}
......@@ -165,9 +187,10 @@ class TimeSelectView: UIView, FSCalendarDataSource, FSCalendarDelegate {
}
self.configureVisibleCells()
}
func maximumDate(for calendar: FSCalendar) -> Date {
return Date()
}
//MARK:--最大天数为今日
// func maximumDate(for calendar: FSCalendar) -> Date {
// return Date()
// }
// func calendar(_ calendar: FSCalendar, shouldSelect date: Date, at monthPosition: FSCalendarMonthPosition) -> Bool {
// return monthPosition == .current
// }
......@@ -177,7 +200,7 @@ class TimeSelectView: UIView, FSCalendarDataSource, FSCalendarDelegate {
// }
//计算日期差
//MARK:--计算日期差
func numberOfDaysWithFromDate(fromDate:Date,toDate:Date) -> Int? {
let calendar = Calendar.init(identifier: .gregorian)
let comp = calendar.dateComponents([.day], from: fromDate, to: toDate)
......
......@@ -9,16 +9,17 @@
import UIKit
import ViewAnimator //cell动效
class OrderListVC: BaseViewController, UITableViewDelegate, UITableViewDataSource, DaiQueRenCellDelegate {
class OrderListVC: BaseViewController, UITableViewDelegate, UITableViewDataSource, DaiQueRenCellDelegate, GeliAlertViewDelegate{
//MARK:--基础数据
var keyword: String = ""
var startTime : Int = 0
var endTime : Int = 0
var payStatus : Int = 0
var order_source : Int = 0
var shipping_status : Int = 0
var order_status : Int = 0
var payStatus : String = ""
var orderSource : Int = 0
var shippingStatus : String = ""
var orderStatus : Int = 100
var page : Int = 0
var isUpData = false
var selectData:String = ""{
didSet{
......@@ -39,25 +40,25 @@ class OrderListVC: BaseViewController, UITableViewDelegate, UITableViewDataSourc
super.viewDidLoad()
switch self.title {
case "全部":
order_status = 100
orderStatus = 100
break
case "待确认":
order_status = 0
orderStatus = 0
break
case "待付款":
order_status = 1
orderStatus = 1
break
case "待发货":
order_status = 6
orderStatus = 6
break
case "已发货":
order_status = 7
orderStatus = 7
break
case "退款/货":
order_status = 5
orderStatus = 5
break
case "已取消":
order_status = 2
orderStatus = 2
break
default:
break
......@@ -82,9 +83,10 @@ class OrderListVC: BaseViewController, UITableViewDelegate, UITableViewDataSourc
//MARK:--加载数据
@objc func loadData(){
print("加载数据")
isUpData = true
page = 1
let UserToken = UserDefaults.standard.value(forKey: "user_token")
orderList(["user_token":UserToken as Any,"keyword":keyword,"page":page,"order_status":order_status], success: { (data) in
orderList(["user_token":UserToken as Any,"keyword":keyword,"page":page,"order_status":orderStatus,"pay_status":payStatus,"order_source":orderSource,"shipping_status":shippingStatus,"start_time":startTime,"end_time":endTime], success: { (data) in
self.dataArr.removeAll()
let dataM = data as! OrderListModel
......@@ -107,7 +109,7 @@ class OrderListVC: BaseViewController, UITableViewDelegate, UITableViewDataSourc
print("加载更多数据")
let UserToken = UserDefaults.standard.value(forKey: "user_token")
orderList(["user_token":UserToken as Any,"keyword":keyword,"page":page,"order_status":order_status], success: { (data) in
orderList(["user_token":UserToken as Any,"keyword":keyword,"page":page,"order_status":orderStatus,"pay_status":payStatus,"order_source":orderSource,"shipping_status":shippingStatus,"start_time":startTime,"end_time":endTime], success: { (data) in
self.page += 1
let dataM = data as! OrderListModel
dataM.data?.forEach({ (model) in
......@@ -179,47 +181,79 @@ class OrderListVC: BaseViewController, UITableViewDelegate, UITableViewDataSourc
return cell
}
//MARK:--如果存在操作是否需要自动刷新?
func cancel(sender: UIButton) {
print(sender.tag)
//取消订单
isSrueOrder = false
let rowModel = self.dataArr[sender.tag]
let UserToken = UserDefaults.standard.value(forKey: "user_token")
orderCancel(["user_token":UserToken as Any,"order_id" : rowModel.order_id as Any], success: { (data) in
self.tableV.mj_header?.beginRefreshing()
}) { (error) in
}
let alertView = GeliAlertView(frame: self.view.window!.bounds)
alertView.delegate = self;
alertView.tishiLbl.text = ""
alertView.titileLbl.text = "是否确认取消订单?"
alertView.rightBtn.setAttributedTitle(NSAttributedString(string: "确认"), for: .normal)
alertView.rightBtn.tag = rowModel.order_id!
self.view.window?.addSubview(alertView)
}
var isSrueOrder = false
func submit(sender: UIButton) {
print(sender.tag)
let rowModel = self.dataArr[sender.tag]
if sender.titleLabel?.text == "确认订单" {
isSrueOrder = true
let alertView = GeliAlertView(frame: self.view.window!.bounds)
alertView.delegate = self;
alertView.tishiLbl.text = ""
alertView.titileLbl.text = "是否确认订单?"
alertView.rightBtn.setAttributedTitle(NSAttributedString(string: "确认"), for: .normal)
alertView.rightBtn.tag = rowModel.order_id!
self.view.window?.addSubview(alertView)
}else if sender.titleLabel?.text == "取消订单" {
isSrueOrder = false
let alertView = GeliAlertView(frame: self.view.window!.bounds)
alertView.delegate = self;
alertView.tishiLbl.text = ""
alertView.titileLbl.text = "是否确认取消订单?"
alertView.rightBtn.setAttributedTitle(NSAttributedString(string: "确认"), for: .normal)
alertView.rightBtn.tag = rowModel.order_id!
self.view.window?.addSubview(alertView)
}else {
//跳转订单详情
let vc = OrderDViewController()
vc.orderId = rowModel.order_id!
self.navigationController?.pushViewController(vc, animated: true)
}
}
func sureAction(sender: UIButton) {
if isSrueOrder {
let UserToken = UserDefaults.standard.value(forKey: "user_token")
orderConfirm(["user_token":UserToken as Any,"order_id" : rowModel.order_id as Any], success: { (data) in
orderConfirm(["user_token":UserToken as Any,"order_id" : sender.tag as Any], success: { (data) in
HUD.flash(.labeledSubSuccess(subtitle: "确认成功"),delay: 1.2)
self.tableV.mj_header?.beginRefreshing()
}) { (error) in
}
}else if sender.titleLabel?.text == "取消订单" {
}else{
let UserToken = UserDefaults.standard.value(forKey: "user_token")
orderCancel(["user_token":UserToken as Any,"order_id" : rowModel.order_id as Any], success: { (data) in
orderCancel(["user_token":UserToken as Any,"order_id" : sender.tag as Any], success: { (data) in
HUD.flash(.labeledSubSuccess(subtitle: "取消成功"),delay: 1.2)
self.tableV.mj_header?.beginRefreshing()
}) { (error) in
}
}else {
//跳转订单详情
let vc = OrderDViewController()
vc.orderId = rowModel.order_id!
self.navigationController?.pushViewController(vc, animated: true)
}
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
print(indexPath)
let rowModel = self.dataArr[indexPath.row]
......
......@@ -67,23 +67,42 @@ class OrderListViewController: BaseViewController ,UISearchBarDelegate, SearchBa
}
//MARK:--搜索按钮代理
var keyword = ""
func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
print("点击搜索进行--")
searchBar.resignFirstResponder()
// for vc in viewControllers {
// vc.selectData = "123"
// }
keyword = searchBar.text!
viewControllers.forEach { (vc) in
vc.keyword = keyword
vc.isUpData = false
}
let vc = viewControllers[selectIndex]
vc.tableV.mj_header?.beginRefreshing()
}
//MARK:--取消搜索代理
func clearSearchAction() {
print("取消搜索代理了--")
}
func searchBarTextDidEndEditing(_ searchBar: UISearchBar) {
print("编辑即将结束了--")
removeBlackBtnView()
if searchBar.text?.count == 0 && keyword.count != 0{
keyword = searchBar.text!
viewControllers.forEach { (vc) in
vc.keyword = keyword
vc.isUpData = false
}
let vc = viewControllers[selectIndex]
vc.tableV.mj_header?.beginRefreshing()
}
}
//MARK:--筛选
var BeginDate: Date! = nil
var EndDate: Date! = nil
var paySArr:Array<Bool> = [false,false,false,false,false]
var bugSArr:Array<Bool> = [false,false]
var sendSArr:Array<Bool> = [false,false,false,false]
var selectV : OrderSelectMoreView! = nil
@IBAction func SelectOtherAction(_ sender: UIButton) {
print("筛选")
......@@ -99,16 +118,46 @@ class OrderListViewController: BaseViewController ,UISearchBarDelegate, SearchBa
make.left.right.bottom.equalToSuperview()
make.top.equalTo(contentView.snp_top)
}
selectV.setUIbyData(beginDate: BeginDate, endginDate: EndDate, paySelectArr: paySArr, bugSelectArr: bugSArr, sendSelectArr: sendSArr)
}else{
selectV.removeFromSuperview()
selectV = nil
}
}
//MARK: -- 筛选代理
func sureAction(selectData: Any) {
func sureAction(beginDate: Date?, endginDate: Date?, paySelectArr: Array<Bool>, bugSelectArr: Array<Bool>, sendSelectArr: Array<Bool>) {
selectV = nil
EndDate = endginDate
BeginDate = beginDate
self.paySArr = paySelectArr
self.bugSArr = bugSelectArr
self.sendSArr = sendSelectArr
//暂时不处理选择方式
viewControllers.forEach { (vc) in
if EndDate == nil {
vc.startTime = 0
vc.endTime = 0
}else{
let timeInterval:TimeInterval = BeginDate!.timeIntervalSince1970
let timeIntervalEnd:TimeInterval = EndDate!.timeIntervalSince1970
vc.startTime = Int(timeInterval)
vc.endTime = Int(timeIntervalEnd)
}
vc.isUpData = false
}
let vc = viewControllers[selectIndex]
vc.tableV.mj_header?.beginRefreshing()
}
func colseAction() {
selectV = nil
}
......@@ -142,8 +191,10 @@ class OrderListViewController: BaseViewController ,UISearchBarDelegate, SearchBa
print("滚动至vc\(item.index)")
if selectIndex != item.index {
selectIndex = item.index
// let vc = destinationViewController as! OrderListVC
// vc.selectData = ["","","",""]
let vc = viewControllers[selectIndex]
if !vc.isUpData {
vc.tableV.mj_header?.beginRefreshing()
}
}
}
......
......@@ -58,6 +58,8 @@ class OrderDViewController: BaseViewController {
override func viewDidLoad() {
super.viewDidLoad()
navbar.title = "订单详情"
self.view.addSubview(navbar)
self.setBottomBtn(sender: bottomView)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment