// // YingFuZhangKuanXQViewController.swift // GeliBusinessPlatform // // Created by junye lu on 2020/4/30. // Copyright © 2020 junye lu. All rights reserved. // import UIKit class YingFuZhangKuanXQViewController:BaseViewController,UISearchBarDelegate,SearchBarViewDelegate,UITableViewDelegate,UITableViewDataSource,YingFuZhangKuanXQCellDelegate,GLAlertSelectViewDelegate, GeliAlertViewDelegate{ func sureGeliAlertViewAction(sender: UIButton) { HUD.flash(.progress) let model = datas[sender.tag] uncollected(["user_token":UserToken as Any,"cus_log_id":model.cus_log_id as Any], success: { (data) in HUD.hide() self.listView.mj_header?.beginRefreshing() }) { (err) in } } let UserToken = UserDefaults.standard.value(forKey: "user_token") var ven_id:Int? var dataArr:Array<accountsPayableDetailDataListModel> = [] var datas:Array<accountReceivableDetailListModel> = [] func GLASClose(view: GLAlertSelectView, selectnum: Int, selectArr: Array<Int>) { glSelectView?.removeFromSuperview() glSelectView = nil } func GLAlertSelectViewFinish(sender:UIButton,title:String,cellTag:Int) { HUD.flash(.progress) var dict = ["user_token":UserToken as Any] switch title { case "付款": let model = dataArr[cellTag] dict["po_id"] = model.po_id dict["pay_type"] = sender.tag + 1 dict["pay_status"] = 2 payStatus(dict, success: { (data) in HUD.hide() self.listView.mj_header?.beginRefreshing() }) { (err) in} break case "设置未付款": let model = dataArr[cellTag] dict["po_id"] = model.po_id dict["pay_type"] = 0 dict["pay_status"] = 1 payStatus(dict, success: { (data) in HUD.hide() self.listView.mj_header?.beginRefreshing() }) { (err) in} break case "收款": let model = datas[cellTag] dict["cus_log_id"] = model.cus_log_id if sender.tag == 0 { dict["pay_type"] = 7 }else{ dict["pay_type"] = sender.tag + 8 } confirmReceipt(dict, success: { (data) in HUD.hide() self.listView.mj_header?.beginRefreshing() }) { (err) in } break default: break } self.glSelectView?.removeFromSuperview() self.glSelectView = nil } let payTypeArr = ["已付款","未付款"] let typeArr = ["现金","转账(私)","转账(公)","转账(微信)","转账(支付宝)"] var glSelectView:GLAlertSelectView? var navTitle:String = "" var searchV : SearchBarView? = nil @IBOutlet weak var listView: UITableView! @IBOutlet weak var searchBGView: UIView! var first = "" var second = "" var third = "" override func viewDidLoad() { super.viewDidLoad() super.viewDidLoad() navbar.title = navTitle self.view.addSubview(navbar) //searchbar let searchBr = SearchBarView.init() self.searchBGView.addSubview(searchBr) searchBr.snp.makeConstraints { (make) in make.left.right.equalTo(0) make.centerY.equalToSuperview() make.height.equalTo(35) } searchV = searchBr searchBr.placeholderStr = "请输入单号" searchBr.cornerRadius = 35/2.0 searchBr.delegate = self searchBr.delegateL = self SetTopFrame(view: searchBGView, height: 44) listView.separatorStyle = .none listView.register(UINib(nibName: "YingFuZhangKuanXQCell", bundle: nil), forCellReuseIdentifier: "YingFuZhangKuanXQCell") //下拉刷新相关设置 headerMJ.setRefreshingTarget(self, refreshingAction: #selector(loadData)) listView.mj_header = headerMJ //上拉加载相关设置 footerMJ.setRefreshingTarget(self, refreshingAction: #selector(loadMoreData)) listView.mj_footer = footerMJ listView.mj_header?.beginRefreshing() } func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { let view = UIView(frame: CGRect(x: 0, y: 0, width: fullScreenWidth, height: 77)) view.backgroundColor = UIColor.white let title = UILabel() title.text = "当前应付款余额总计:" title.font = UIFont.boldSystemFont(ofSize: 13) title.textColor = UIColor(named: "灰色字体颜色") view.addSubview(title) title.sizeToFit() title.snp.makeConstraints { (make) in make.top.left.equalTo(15) make.height.equalTo(18.5) make.width.equalTo(title.bounds.size.width) } let ti1 = UILabel() ti1.text = "¥\(first)" ti1.font = UIFont.boldSystemFont(ofSize: 13) ti1.textColor = UIColor(named: "#F57575") view.addSubview(ti1) ti1.snp.makeConstraints { (make) in make.left.equalTo(title.snp_right) make.right.equalTo(0) make.centerY.equalTo(title.snp_centerY) make.height.equalTo(18.5) } let title2 = UILabel() title2.font = UIFont.boldSystemFont(ofSize: 13) title2.text = "已付应付账款:" title2.textColor = UIColor(named: "灰色字体颜色") view.addSubview(title2) title2.sizeToFit() title2.snp.makeConstraints { (make) in make.top.equalTo(title.snp_bottom).offset(10) make.left.equalTo(15) make.height.equalTo(18.5) make.width.equalTo(title2.bounds.size.width) } let ti11 = UILabel() ti11.text = "¥\(second)" ti11.font = UIFont.boldSystemFont(ofSize: 13) ti11.textColor = UIColor(named: "#F57575") view.addSubview(ti11) ti11.snp.makeConstraints { (make) in make.left.equalTo(title2.snp_right) make.right.equalTo(0) make.centerY.equalTo(title2.snp_centerY) make.height.equalTo(18.5) } if navTitle.contains("应收"){ title.text = "当前应收款余额总计:" title2.text = "本期借方余额:" let title3 = UILabel() title3.font = UIFont.boldSystemFont(ofSize: 13) title3.text = "本期贷方余额:" title3.textColor = UIColor(named: "灰色字体颜色") view.addSubview(title3) title3.sizeToFit() title3.snp.makeConstraints { (make) in make.top.equalTo(title2.snp_bottom).offset(10) make.left.equalTo(15) make.height.equalTo(18.5) make.width.equalTo(title3.bounds.size.width) } let ti111 = UILabel() ti111.text = "¥\(third)" ti111.font = UIFont.boldSystemFont(ofSize: 13) ti111.textColor = UIColor(named: "#F57575") view.addSubview(ti111) ti111.snp.makeConstraints { (make) in make.left.equalTo(title3.snp_right) make.right.equalTo(0) make.centerY.equalTo(title3.snp_centerY) make.height.equalTo(18.5) } } let l1 = UIView() l1.backgroundColor = UIColor(named: "灰色分界线") view.addSubview(l1) l1.snp.makeConstraints { (make) in make.height.equalTo(1) make.top.right.left.equalTo(0) } return view } func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat { if navTitle.contains("应付"){ return 77 } return 105.5 } func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { if navTitle.contains("应付"){ return dataArr.count } return datas.count } func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { return 210 } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "YingFuZhangKuanXQCell") as! YingFuZhangKuanXQCell cell.delegate = self cell.submitBtn.tag = indexPath.row cell.tag = indexPath.row if navTitle.contains("应付"){ if dataArr.count > 0 { let model = dataArr[indexPath.row] cell.model = model } }else{ let model = datas[indexPath.row] cell.data = model } return cell } //MARK: - 列表按钮改变状态 func YingFuZhangKuanXQCellBtnClick(cell: YingFuZhangKuanXQCell, sender: UIButton) { let view = GLAlertSelectView(frame: self.view.bounds) view.delegate = self view.isYsYf = true view.ysyfTitle = sender.titleLabel?.text! as! String view.cellTag = cell.tag switch sender.titleLabel?.text { case "付款": if glSelectView == nil { view.dataArr = typeArr view.titleLbl.text = "请选择付款方式" glSelectView = view self.view.addSubview(view) } break case "设置未付款": if glSelectView == nil { view.titleLbl.text = "请选择付款状态" view.selectNum = 0 view.dataArr = payTypeArr glSelectView = view self.view.addSubview(view) } break case "收款": if glSelectView == nil { view.dataArr = typeArr view.titleLbl.text = "请选择收款方式" glSelectView = view self.view.addSubview(view) } break case "设置未收款": let alertView = GeliAlertView(frame: self.view.window!.bounds) alertView.delegate = self; alertView.tishiLbl.text = "" alertView.rightBtn.tag = cell.tag alertView.titileLbl.text = "确定设为未收款?" alertView.rightBtn.setAttributedTitle(NSAttributedString(string: "确定"), for: .normal) self.view.window?.addSubview(alertView) break default: break } } var keyword = "" var page = 0 //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(searchBGView!.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 if (navTitle.contains("应付")){ let dic = ["user_token":UserToken as Any,"keyword":keyword as Any,"page":page as Any,"ven_id":ven_id as Any] accountsPayableDetail(dic, success: { (data) in let model = (data as! accountsPayableDetailModel) self.dataArr.removeAll() model.data?.list?.forEach({ (item) in self.dataArr.append(item) }) if model.data?.payable != nil{ self.first = model.data?.payable as! String } if model.data?.already != nil { self.second = "\(model.data!.already!)" } self.listView.reloadData() self.listView.mj_header?.endRefreshing() self.page = 2 if model.data?.list?.count == 0 { self.listView.mj_footer?.endRefreshingWithNoMoreData() }else{ self.listView.mj_footer?.endRefreshing() } }) { (error) in self.listView.mj_header?.endRefreshing() } }else{//应收 let dic = ["user_token":UserToken as Any,"keyword":keyword as Any,"page":page as Any,"cus_id":ven_id as Any] accountReceivableDetail(dic, success: { (data) in let model = data as! accountReceivableDetailModel self.datas.removeAll() model.data?.list?.forEach({ (item) in self.datas.append(item) }) self.first = model.data?.arrears_money! as! String self.second = "0.00" if model.data!.jf != nil { self.second = "\(model.data!.jf!)" } self.third = "0.00" if model.data!.df != nil { self.third = "\(model.data!.df!)" } self.listView.reloadData() self.listView.mj_header?.endRefreshing() self.page = 2 if model.data?.list?.count == 0 { self.listView.mj_footer?.endRefreshingWithNoMoreData() }else{ self.listView.mj_footer?.endRefreshing() } }) { (err) in self.listView.mj_header?.endRefreshing() } } } //MARK:--加载更多数据 @objc func loadMoreData(){ print("加载更多数据") if (navTitle.contains("应付")){ let dic = ["user_token":UserToken as Any,"keyword":keyword as Any,"page":page as Any,"ven_id":ven_id as Any] accountsPayableDetail(dic, success: { (data) in let dataM = data as! accountsPayableDetailModel if dataM.data?.list?.count == 0 { self.listView.mj_footer?.endRefreshingWithNoMoreData() }else{ self.page += 1 dataM.data?.list?.forEach({ (model) in self.dataArr.append(model) }) self.listView.reloadData() self.listView.mj_footer?.endRefreshing() } }) { (error) in self.listView.mj_footer?.endRefreshing() } }else{//应收 let dic = ["user_token":UserToken as Any,"keyword":keyword as Any,"page":page as Any,"cus_id":ven_id as Any] accountReceivableDetail(dic, success: { (data) in let model = data as! accountReceivableDetailModel if model.data?.list?.count == 0 { self.listView.mj_footer?.endRefreshingWithNoMoreData() }else{ self.page += 1 model.data?.list?.forEach({ (item) in self.datas.append(item) }) self.listView.reloadData() self.listView.mj_footer?.endRefreshing() } }) { (err) in self.listView.mj_footer?.endRefreshing() } } } }