//
//  YingFuZKListViewController.swift
//  GeliBusinessPlatform
//
//  Created by junye lu on 2020/5/8.
//  Copyright © 2020 junye lu. All rights reserved.
//

import UIKit

class YingFuZKListViewController: BaseViewController,UISearchBarDelegate,SearchBarViewDelegate,UITableViewDataSource,UITableViewDelegate {
    let UserToken = UserDefaults.standard.value(forKey: "user_token")
    var page : Int = 0
    var keyword: String = ""
    var dataArr:Array<accountsPayableListDataModel> = []//应付
    var datas:Array<Any> = []//应收
    @IBOutlet weak var titleLbl: UILabel!
    @IBOutlet weak var totalPriceLbl: UILabel!
    @IBOutlet weak var topView: UIView!
    @IBOutlet weak var listView: UITableView!
    var searchV : SearchBarView? = nil
    var barTitle:String?
    override func viewDidLoad() {
        super.viewDidLoad()
        navbar.title = barTitle
        self.view.addSubview(navbar)
        listView.separatorStyle = .none
        SetTopFrame(view: topView, height: 44)
        
        if barTitle == "应收账款" {
            titleLbl.text = "当前应收款余额总计:"
        }
        
        let searchBr = SearchBarView.init()
        topView.addSubview(searchBr)
        searchBr.snp.makeConstraints { (make) in
            make.left.equalTo(10)
            make.right.equalTo(-10)
            make.centerY.equalToSuperview()
            make.height.equalTo(30)
        }
        searchV = searchBr
        searchBr.placeholderStr = "请输入单号"
        searchBr.cornerRadius = 35/2.0
        searchBr.delegate = self
        searchBr.delegateL = self
        
        listView.register(UINib(nibName: "YingFuZhangKuanCell", bundle: nil), forCellReuseIdentifier: "YingFuZhangKuanCell")
        //下拉刷新相关设置
        headerMJ.setRefreshingTarget(self, refreshingAction: #selector(loadData))
        listView.mj_header = headerMJ
        //上拉加载相关设置
        footerMJ.setRefreshingTarget(self, refreshingAction: #selector(loadMoreData))
        listView.mj_footer = footerMJ
        listView.mj_header?.beginRefreshing()
    }
    
    
    
    //MARK: - CELL DELEGATE
    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        
        let vc = YingFuZhangKuanXQViewController()
        vc.navTitle = "\(barTitle!)详情"
        
        if (barTitle?.contains("应付"))!{
            let model = dataArr[indexPath.row]
            vc.ven_id = model.ven_id!
            
        }
        self.navigationController?.pushViewController(vc, animated: true)
    }
    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        return 49
    }
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        if (barTitle?.contains("应付"))!{
            return dataArr.count
        }else{
            return datas.count
        }
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "YingFuZhangKuanCell") as! YingFuZhangKuanCell
        if (barTitle?.contains("应付"))!{
            let mo = dataArr[indexPath.row]
            cell.nameLbl.text = mo.ven_name!
            if mo.payable_money != "0.00" {
                cell.priceLbl.text = "¥-" + mo.payable_money!
            }else{
                cell.priceLbl.text = "¥0"
            }
        }else{
            
        }
        return cell
        
    }
    //MAKR:--调起搜索后添加个蒙版本
    var blackBtnView:UIButton! = nil
    func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
        print("点击搜索进行--")
        searchBar.resignFirstResponder()
        keyword = searchBar.text!
        listView.mj_header?.beginRefreshing()
        
    }
    //MARK:--取消搜索代理
    func clearSearchAction() {
        print("取消搜索代理了--")
    }
    func searchBarTextDidEndEditing(_ searchBar: UISearchBar) {
        print("编辑即将结束了--")
        removeBlackBtnView()
        if searchBar.text?.count == 0 && keyword.count != 0{
            keyword = searchBar.text!
            listView.mj_header?.beginRefreshing()
            
        }
    }
    func searchBarShouldBeginEditing(_ searchBar: UISearchBar) -> Bool {
        print("调起搜索后添加个蒙版本")
        blackBtnView = UIButton ()
        blackBtnView.backgroundColor = UIColor.init(named: "提示视图背景色")
        self.view.addSubview(blackBtnView)
        blackBtnView.snp.makeConstraints { (make) in
            make.left.right.bottom.equalToSuperview()
            make.top.equalTo(topView!.snp_bottom)
        }
        blackBtnView.addTarget(self, action: #selector(removeBlackBtnView), for: .touchUpInside)
        
        return true
    }
    @objc func removeBlackBtnView(){
        if blackBtnView != nil {
            blackBtnView.removeFromSuperview()
            searchV!.resignFirstResponder()
        }
    }
    //MARK:--加载数据
    @objc func loadData(){
        print("加载数据")
        page = 1
        let dic = ["user_token":UserToken as Any,"keyword":keyword as Any,"page":page as Any]
        if (barTitle?.contains("应付"))!{
            accountsPayableList(dic, success: { (data) in
                let model = (data as! accountsPayableListModel)
                self.dataArr.removeAll()
                model.data?.vendor_res?.forEach({ (model) in
                    self.dataArr.append(model)
                })
                self.totalPriceLbl.text = "¥-\(model.data!.total_payable_money!)"
                self.listView.reloadData()
                self.listView.mj_header?.endRefreshing()
                self.page = 2
                if model.data?.vendor_res?.count == 0 {
                    self.listView.mj_footer?.endRefreshingWithNoMoreData()
                }else{
                    self.listView.mj_footer?.endRefreshing()
                }
            }) { (error) in
                self.listView.mj_header?.endRefreshing()
            }
        }else{//应收
            
        }
    }
    //MARK:--加载更多数据
    @objc func loadMoreData(){
        print("加载更多数据")
        
        let dic = ["user_token":UserToken as Any,"keyword":keyword as Any,"page":page as Any]
        if (barTitle?.contains("应付"))!{
            accountsPayableList(dic, success: { (data) in
                let dataM = data as! accountsPayableListModel
                if dataM.data?.vendor_res?.count == 0 {
                    self.listView.mj_footer?.endRefreshingWithNoMoreData()
                }else{
                    self.page += 1
                    dataM.data?.vendor_res?.forEach({ (model) in
                        self.dataArr.append(model)
                    })
                    self.listView.reloadData()
                    self.listView.mj_footer?.endRefreshing()
                }
            }) { (error) in
                self.listView.mj_footer?.endRefreshing()
                
            }
        }else{//应收
            
        }
    }
    
}