//
//  OrderListVC.swift
//  GeliBusinessPlatform
//
//  Created by 刘俊宏 on 2020/4/26.
//  Copyright © 2020 junye lu. All rights reserved.
//

import UIKit
import ViewAnimator //cell动效

class OrderListVC: BaseViewController, UITableViewDelegate, UITableViewDataSource, GeliAlertViewDelegate, OrderDViewControllerDelegate,CGDListCellDelegate{
    let UserToken = UserDefaults.standard.value(forKey: "user_token")
    
    //MARK:--基础数据
    var keyword: String = ""
    var startTime : Int = 0
    var endTime : Int = 0
    var payStatus : String = "100"
    var orderSource : Int = 0
    var shippingStatus : String = "100"
    var orderStatus : Int = 100
    var page : Int = 0
    var isUpData = false{
        didSet{
            if !isUpData {
                if tableV  != nil {
                    tableV.mj_header?.beginRefreshing()
                }
            }
        }
    }
    
    //MARK:--列表数据源
    var dataArr:Array<OrderListDataModel> = []
    override func viewDidLoad() {
        super.viewDidLoad()
        switch self.title {
        case "全部":
            orderStatus = 100
            break
        case "待接单":
            orderStatus = 0
            break
        case "待付款":
            orderStatus = 1
            break
        case "待发货":
            orderStatus = 6
            break
        case "待收货":
            orderStatus = 7
            break
        case "已收货":
            orderStatus = 10
            break
        case "退款退货":
            orderStatus = 1109
            break
        case "交易完成":
            orderStatus = 5
            break
        default:
            break
        }
        setTabv()
        
    }
    //MARK:--VC 初始化
    convenience init(title: String) {
        self.init(title: title, content: "")
    }
    init(title: String, content: String) {
        super.init(nibName: nil, bundle: nil)
        self.title = title
        print("ttit===\(title)")
    }
    
    required init?(coder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
    //MARK:--加载数据
    @objc func loadData(){
        print("加载数据")
        isUpData = true
        page = 1
        var dic = ["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]
        if endTime == 0 {
            dic.removeValue(forKey: "end_time")
        }
        orderList(dic, success: { (data) in
            
            self.dataArr.removeAll()
            let dataM = data as! OrderListModel
            dataM.data?.forEach({ (model) in
                self.dataArr.append(model)
            })
            self.tableV.reloadData()
            self.tableV?.mj_header?.endRefreshing()
            self.page = 2
            self.tableV.performBatchUpdates({
                UIView.animate(views: self.tableV!.visibleCells,
                               animations: self.animations, completion: {
                                
                })
            }, completion: nil)
            if dataM.data?.count == 0 {
                self.tableV?.mj_footer?.endRefreshingWithNoMoreData()
            }else{
                self.tableV?.mj_footer?.endRefreshing()
            }
        }) { (error) in
            self.tableV?.mj_header?.endRefreshing()
            
        }
        
        
    }
    //MARK:--加载更多数据
    @objc func loadMoreData(){
        print("加载更多数据")
        
        
        var dic = ["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]
        if endTime == 0 {
            dic.removeValue(forKey: "end_time")
        }
        orderList(dic, success: { (data) in
            let dataM = data as! OrderListModel
            if dataM.data?.count == 0 {
                self.tableV?.mj_footer?.endRefreshingWithNoMoreData()
            }else{
                self.page += 1
                dataM.data?.forEach({ (model) in
                    self.dataArr.append(model)
                })
                self.tableV.reloadData()
                self.tableV?.mj_footer?.endRefreshing()
            }
            
        }) { (error) in
            self.tableV?.mj_footer?.endRefreshing()
            
        }
        
    }
    
    //MARK:-- tablev 处理
    var tableV :UITableView!
    var tableSearchV :UITableView! = nil
    
//    private let animations = [AnimationType.from(direction: .bottom, offset: 300*glscale)]
    private let animations = [AnimationType.vector(CGVector(dx: 0, dy: 300*glscale))]
    func setTabv() {
        tableV = UITableView()
        view.addSubview(tableV);
        tableV.snp.makeConstraints { (make) in
            make.top.left.right.bottom.equalToSuperview()
        }
        tableV.backgroundColor = UIColor.init(named: "app底色")
        tableV.delegate = self
        tableV.dataSource = self
        tableV.separatorStyle = .none
        tableV?.register(UINib(nibName: "CGDListCell", bundle: nil), forCellReuseIdentifier: "CGDListCell")
        
        let footerTbV = UIView(frame: CGRect(x: 0, y: 0, width: view.frame.size.width, height: 15*glscale))
        footerTbV.backgroundColor = UIColor.init(named: "app底色")
        tableV.tableFooterView = footerTbV
        
        //下拉刷新相关设置
        headerMJ.setRefreshingTarget(self, refreshingAction: #selector(loadData))
        self.tableV!.mj_header = headerMJ
        //上拉加载相关设置
        footerMJ.setRefreshingTarget(self, refreshingAction: #selector(loadMoreData))
        self.tableV!.mj_footer = footerMJ
        self.tableV?.mj_header?.beginRefreshing()
        
    }
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        
        return dataArr.count
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "CGDListCell") as! CGDListCell
        let rowModel = self.dataArr[indexPath.row]
 
   
        cell.orderNumerLbl.text = rowModel.order_sn!
        
        if rowModel.order_status != nil && rowModel.order_status_d != nil && rowModel.goods_before_pay != nil {
            cell.statusLbl.text = orderStatusStrByInt(statusNumber: rowModel.order_status!, status_d: rowModel.order_status_d!, isBfPay: rowModel.goods_before_pay!, LmIdx: orderStatus)
        }
        if rowModel.goods_number != nil {
            cell.countLbl.text = "\(rowModel.goods_number!)"
        }
        cell.priceLbl.text = rowModel.sum_amount
        cell.timeLbl.text = TimeByDouble(sender: rowModel.add_time!)
        
        cell.formLbl.isHidden = true
        cell.yuShouStatus.isHidden = true
        cell.beforeOrderLbl.isHidden = true
 
        if rowModel.order_type == 4 {
            //预售
            cell.yuShouStatus.isHidden = false
            cell.yuShouStatus.text = "预售"
        }else{
            if rowModel.order_type == 5 {
                //分销
                cell.yuShouStatus.isHidden = false
                cell.yuShouStatus.text = "分销"
            }else{
                cell.yuShouStatus.isHidden = true
            }
        }
        if rowModel.from == 3 {
            cell.formLbl.isHidden = false
            if cell.yuShouStatus.isHidden {
                cell.formNSlayout.constant = 8
            }else{
                cell.formNSlayout.constant = 8 + 30 + 8
            }
        }else{
            cell.formLbl.isHidden = true
        }
        if rowModel.goods_before_pay == 1 {
            cell.beforeOrderLbl.isHidden = false
            if cell.yuShouStatus.isHidden && cell.formLbl.isHidden {
                cell.beforeNSLayout.constant = 8
            }else if cell.yuShouStatus.isHidden && !cell.formLbl.isHidden {
                cell.beforeNSLayout.constant = 8 + 30 + 8
            }else if !cell.yuShouStatus.isHidden && cell.formLbl.isHidden {
                cell.beforeNSLayout.constant = 8 + 30 + 8
            }else{
                cell.beforeNSLayout.constant = 8 + 30 + 8 + 18 + 8
            }
        }else{
            cell.beforeOrderLbl.isHidden = true
        }
 
        
        var btnStr:Array<String> = []
        switch rowModel.order_status {
        case 0://待接单
            btnStr = ["同意接单","先货后款","拒绝接单"]
            if rowModel.goods_before_pay == 1 {
                btnStr = ["同意接单","拒绝接单"]
            }
            break
        case 1://待付款
            btnStr = ["取消订单"]
            if rowModel.shipping_status == 1 && rowModel.pay_status == 0 {
                btnStr = ["退货"]
            }
            break
        case 5://交易完成
            btnStr = ["查看订单"]
            break
        case 6://待发货
            if rowModel.from == 3 || rowModel.from == 5 {//销售下单
                btnStr = ["发货","取消订单并退款"]
                if rowModel.pay_status != 2{
                    btnStr = ["发货","取消订单","确认收款"]
                }
            }else{
                btnStr = ["发货","退款"]
                if rowModel.pay_status != 2{
                    btnStr = ["发货","取消订单"]
                }
            }
            if rowModel.goods_before_pay == 1 && orderStatus == 1{
                btnStr.append("付款码")
            }
            if rowModel.apply_cancel == 1 {
                btnStr = ["拒绝取消订单","同意取消订单"]
            }
            
            break
        case 7://待收货
            if rowModel.from == 3 || rowModel.from == 5 {//销售下单
                btnStr = ["确认收货","退款退货","退款"]
                if rowModel.pay_status != 2{//未收款
                    btnStr = ["确认收货","确认收款","取消订单"]
                }
            }else{
                btnStr = ["退款"]
                if rowModel.pay_status != 2 {
                    btnStr = ["取消订单"]
                }
                if rowModel.goods_before_pay == 1 && orderStatus == 1{
                    btnStr = ["取消订单","付款码"]
                }
            }
            if rowModel.apply_cancel == 1 {
                btnStr = ["拒绝取消订单","同意取消订单"]
            }
            break
        case 9:
            btnStr = ["查看订单"]
            if rowModel.order_status_d == 91 && rowModel.from == 3 || rowModel.from == 5 {
                btnStr = ["确认收到退款"]
            }
            if rowModel.order_status_d == 93 {
                btnStr = ["确认收到退货"]
            }
            break
        case 10://已收货
            btnStr = ["退款退货"]
            if rowModel.pay_status != 2 {
                btnStr = ["取消订单"]
            }
            if rowModel.from == 3 || rowModel.from == 5 {
                btnStr.append("确认收款")
            }
            if rowModel.goods_before_pay == 1 && orderStatus == 1{
                btnStr.append("付款码")
            }
            break
        case 11:
            btnStr = ["查看订单"]
            if rowModel.order_status_d == 111 || rowModel.order_status_d == 112 || rowModel.order_status_d == 113{
                btnStr = ["拒绝退款","同意退款"]
            }
            if rowModel.order_status_d == 114 || rowModel.order_status_d == 115 {
                btnStr = ["拒绝退货","同意退货"]
            }
            if rowModel.order_status_d == 116 || rowModel.order_status_d == 117 {
                btnStr = ["拒绝退款退货","同意退款退货"]
            }
            break
        default:
            btnStr = ["查看订单"]
            break
        }
        if rowModel.pay_status! != 2 {
            if rowModel.order_status == 1 || rowModel.order_status == 6 || rowModel.order_status == 7 || rowModel.order_status == 10 {
                if !btnStr.contains("付款码") && btnStr.count < 3 {
                    btnStr.append("付款码")
                }
            }
        }
        cell.delegate = self
        cell.setBtnView(arr: btnStr, index: indexPath.row)
        cell.dataArr = rowModel.order_goods
        return cell
    }
    var isYuShou = false
    var isSrueOrder = 10086
    var rejectType = 10086
    var agreeType = 10086
    func allBtnSubmit(sender: UIButton) {
        print(sender.tag)
        let rowModel = self.dataArr[sender.tag]
        if sender.titleLabel?.text == "同意接单" {
            isSrueOrder = 0
            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 = 2
            
            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 == "退款" || sender.titleLabel?.text == "取消订单并退款"{
            isSrueOrder = 3
            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 = 99
            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 = 7
            let alertView = GeliAlertView(frame: self.view.window!.bounds)
            alertView.delegate = self;
            alertView.tishiLbl.text = ""
            alertView.titileLbl.text = "是否\(sender.titleLabel!.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 = 8
            let alertView = GeliAlertView(frame: self.view.window!.bounds)
            alertView.delegate = self;
            alertView.tishiLbl.text = ""
            alertView.titileLbl.text = "是否\(sender.titleLabel!.text!)?"
            alertView.rightBtn.setAttributedTitle(NSAttributedString(string: "确认"), for: .normal)
            alertView.rightBtn.tag = rowModel.order_id!
            self.view.window?.addSubview(alertView)
        }else if sender.titleLabel?.text == "同意退款" || sender.titleLabel?.text == "同意退款退货" || sender.titleLabel?.text == "同意退货"{
            isSrueOrder = 5
            if sender.titleLabel!.text == "同意退款" {
                agreeType = 1
            }
            if sender.titleLabel!.text == "同意退货"{
                agreeType = 2
            }
            let alertView = GeliAlertView(frame: self.view.window!.bounds)
            alertView.delegate = self;
            alertView.tishiLbl.text = ""
            alertView.titileLbl.text = "是否\(sender.titleLabel!.text!)?"
            alertView.rightBtn.setAttributedTitle(NSAttributedString(string: "确认"), for: .normal)
            alertView.rightBtn.tag = rowModel.order_id!
            self.view.window?.addSubview(alertView)
        }else if sender.titleLabel?.text == "拒绝退款" || sender.titleLabel?.text == "拒绝退款退货" || sender.titleLabel?.text == "拒绝退货"{
            isSrueOrder = 6
            rejectType = rowModel.order_status_d!
            let alertView = GeliAlertView(frame: self.view.window!.bounds)
            alertView.delegate = self;
            alertView.tishiLbl.text = ""
            alertView.titileLbl.text = "是否\(sender.titleLabel!.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 = 9
            let alertView = GeliAlertView(frame: self.view.window!.bounds)
            alertView.delegate = self;
            alertView.tishiLbl.text = ""
            alertView.titileLbl.text = "是否\(sender.titleLabel!.text!)?"
            alertView.rightBtn.setAttributedTitle(NSAttributedString(string: "确认"), for: .normal)
            alertView.rightBtn.tag = rowModel.order_id!
            self.view.window?.addSubview(alertView)
        }else if sender.titleLabel?.text == "确认收款" || sender.titleLabel?.text == "确认收到退款"{
            isSrueOrder = 10
            let alertView = GeliAlertView(frame: self.view.window!.bounds)
            alertView.delegate = self;
            alertView.tishiLbl.text = ""
            alertView.titileLbl.text = "是否\(sender.titleLabel!.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 = 11
            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 = 12
            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 = 13
            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 = 4
            if rowModel.order_type == 4 {
                isYuShou = 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 = 1
            
            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 == "付款码" {
            //MARK:--付款码测试完成
            let alertView = GeliAltetCodeView(frame: self.view.window!.bounds)
            alertView.saveImgID = rowModel.order_id!
            self.view.window?.addSubview(alertView)
            
        }else {
            //跳转订单详情
            let vc = OrderDViewController()
            vc.delegate = self
            vc.orderId = rowModel.order_id!
            vc.lmIdx = orderStatus
            self.navigationController?.pushViewController(vc, animated: true)
        }
    }
    func sureGeliAlertViewAction(sender: UIButton) {
        switch isSrueOrder {
        case 12:
            refundAndSalesReturn(["user_token":UserToken as Any,"order_id" : sender.tag as Any], success: { (data) in
                HUD.flash(.labeledSubSuccess(subtitle: "提交成功"),delay: 1.2)
                NotificationCenter.default.post(name: NSNotification.Name(rawValue: "orderChange"), object: nil)
                
            }) { (error) in
                
            }
            break
            
        case 13:
            confirmReceiving(["user_token":UserToken as Any,"order_id" : sender.tag as Any], success: { (data) in
                HUD.flash(.labeledSubSuccess(subtitle: "确认成功"),delay: 1.2)
                NotificationCenter.default.post(name: NSNotification.Name(rawValue: "orderChange"), object: nil)
                
            }) { (error) in
                
            }
            break
        case 99:
            editPayType(["user_token":UserToken as Any,"order_id":sender.tag as Any,"is_adsale":0 as Any,"amount_type":0 as Any,"pay_type":7 as Any], success: { (data) in
                let dataM = data as! UpDataModel
                if dataM.code == 1 {
                    NotificationCenter.default.post(name: NSNotification.Name(rawValue: "orderChange"), object: nil)
                }
            }) { (error) in
                
            }
            
            break
        case 0:
            orderConfirm(["user_token":UserToken as Any,"order_id" : sender.tag as Any], success: { (data) in
                HUD.flash(.labeledSubSuccess(subtitle: "确认成功"),delay: 1.2)
                NotificationCenter.default.post(name: NSNotification.Name(rawValue: "orderChange"), object: nil)
                
            }) { (error) in
                
            }
            break
        case 1:
            orderCancel(["user_token":UserToken as Any,"order_id" : sender.tag as Any], success: { (data) in
                HUD.flash(.labeledSubSuccess(subtitle: "取消成功"),delay: 1.2)
                NotificationCenter.default.post(name: NSNotification.Name(rawValue: "orderChange"), object: nil)
                
            }) { (error) in
                
            }
            break
        case 2:
            refuseOrder(["user_token":UserToken as Any,"order_id" : sender.tag as Any], success: { (data) in
                HUD.flash(.labeledSubSuccess(subtitle: "拒接成功"),delay: 1.2)
                NotificationCenter.default.post(name: NSNotification.Name(rawValue: "orderChange"), object: nil)
                
            }) { (error) in
                
            }
            break
        case 3:
            orderRefund(["user_token":UserToken as Any,"order_id" : sender.tag as Any], success: { (data) in
                HUD.flash(.labeledSubSuccess(subtitle: "提交成功"),delay: 1.2)
                NotificationCenter.default.post(name: NSNotification.Name(rawValue: "orderChange"), object: nil)
                
            }) { (error) in
                
            }
            break
        case 4:
            if isYuShou {
                sendOutAd(["user_token":UserToken as Any,"order_id" : sender.tag as Any], success: { (data) in
                    HUD.flash(.labeledSubSuccess(subtitle: "提交成功"),delay: 1.2)
                    NotificationCenter.default.post(name: NSNotification.Name(rawValue: "orderChange"), object: nil)
                    
                }) { (error) in
                    
                }
            }else{
                sendOut(["user_token":UserToken as Any,"order_id" : sender.tag as Any], success: { (data) in
                    HUD.flash(.labeledSubSuccess(subtitle: "提交成功"),delay: 1.2)
                    NotificationCenter.default.post(name: NSNotification.Name(rawValue: "orderChange"), object: nil)
                    
                }) { (error) in
                    
                }
            }
            break
        case 5://同意退款
            if agreeType == 10086 {
                refundAndSalesReturn(["user_token":UserToken as Any,"order_id" : sender.tag as Any], success: { (data) in
                    HUD.flash(.labeledSubSuccess(subtitle: "提交成功"),delay: 1.2)
                    NotificationCenter.default.post(name: NSNotification.Name(rawValue: "orderChange"), object: nil)
                    
                }) { (error) in
                    
                }
                return
            }
            refundOrSalesReturn(["user_token":UserToken as Any,"order_id" : sender.tag as Any,"type":agreeType as Any], success: { (data) in
                HUD.flash(.labeledSubSuccess(subtitle: "审批成功"),delay: 1.2)
                NotificationCenter.default.post(name: NSNotification.Name(rawValue: "orderChange"), object: nil)
                
            }) { (error) in
                
            }
            break
        case 6://拒绝退款
            var type = 1
            if rejectType == 114 && rejectType == 115 {
                type = 2
            }
            if rejectType == 116 && rejectType == 117  {
                type = 3
            }
            orderRefundRefuse(["user_token":UserToken as Any,"order_id" : sender.tag as Any,"type":type as Any], success: { (data) in
                HUD.flash(.labeledSubSuccess(subtitle: "拒绝成功"),delay: 1.2)
                NotificationCenter.default.post(name: NSNotification.Name(rawValue: "orderChange"), object: nil)
                
            }) { (error) in
                
            }
            break
        case 7:
            orderCancelAudit(["user_token":UserToken as Any,"order_id" : sender.tag as Any,"type":1 as Any], success: { (data) in
                HUD.flash(.labeledSubSuccess(subtitle: "已同意"),delay: 1.2)
                NotificationCenter.default.post(name: NSNotification.Name(rawValue: "orderChange"), object: nil)
                
            }) { (error) in
                
            }
            break
        case 8:
            orderCancelAudit(["user_token":UserToken as Any,"order_id" : sender.tag as Any,"type":2 as Any], success: { (data) in
                HUD.flash(.labeledSubSuccess(subtitle: "已拒绝"),delay: 1.2)
                NotificationCenter.default.post(name: NSNotification.Name(rawValue: "orderChange"), object: nil)
                
            }) { (error) in
                
            }
            break
        case 9:
            orderConfirm(["user_token":UserToken as Any,"order_id" : sender.tag as Any,"goods_before_pay":1 as Any], success: { (data) in
                HUD.flash(.labeledSubSuccess(subtitle: "提交成功"),delay: 1.2)
                NotificationCenter.default.post(name: NSNotification.Name(rawValue: "orderChange"), object: nil)
                
            }) { (error) in
                
            }
            break
        case 10:
            ConfirmRefund(["user_token":UserToken as Any,"order_id" : sender.tag as Any], success: { (data) in
                HUD.flash(.labeledSubSuccess(subtitle: "提交成功"),delay: 1.2)
                NotificationCenter.default.post(name: NSNotification.Name(rawValue: "orderChange"), object: nil)
                
            }) { (error) in
                
            }
            break
        case 11:
            confirmReturnedGoods(["user_token":UserToken as Any,"order_id" : sender.tag as Any], success: { (data) in
                HUD.flash(.labeledSubSuccess(subtitle: "提交成功"),delay: 1.2)
                NotificationCenter.default.post(name: NSNotification.Name(rawValue: "orderChange"), object: nil)
                
            }) { (error) in
                
            }
            break
        default:
            break
        }
    }
    
    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        print(indexPath)
        let rowModel = self.dataArr[indexPath.row]
        let vc = OrderDViewController()
        vc.delegate = self
        vc.orderId = rowModel.order_id!
        vc.lmIdx = orderStatus
        self.navigationController?.pushViewController(vc, animated: true)
    }
    func refishingOrderDchange() {
        self.tableV.mj_header?.beginRefreshing()
    }
    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        let rowModel = self.dataArr[indexPath.row]
        
        if rowModel.order_goods!.count > 4 {
            return CGFloat(185 + (49 * 4))
        }
        return CGFloat(185 + (49 * rowModel.order_goods!.count))
    }
    
}