// // SelectBankViewController.swift // xingchuangke // // Created by Virgil on 2019/3/30. // Copyright © 2019 Virgil. All rights reserved. // import UIKit class SplitDeviceViewController: BaseViewController, UITableViewDataSource, UITableViewDelegate, UITextFieldDelegate { @IBOutlet weak var tableView: UITableView! @IBOutlet weak var imgBackgroud: UIImageView! @IBOutlet weak var txtCode: UITextField! @IBOutlet weak var viewMenu: UIView! var mid = "" var provinceId = "" var cityId = "" var shopEntity: ShopOpenEntity! var bankName = "" override func viewDidLoad() { super.viewDidLoad() let viewNav = (CommonViewUntils.getViewForXIB(xibName: "NavView") as! NavView) viewNav.initView(title: "选择分拨代理") {[weak self] (index, _) in if index == 0 { self!.handleBack() } } self.view.addSubview(viewNav) viewNav.marginTop(top: 0) self.view.addSubview(viewNav) viewNav.marginTop(top: 0) viewMenu.marginTop(top: viewNav.bottom()) txtCode.setCornerRadius(size: 4) txtCode.setContentMarginLeft(leftWidth: 15) txtCode.setContentMarginRight(rightWidth: 30) imgBackgroud.setSizeHeight(height: viewMenu.bottom()) tableView.marginTop(top: 0, view: imgBackgroud) tableView.setSizeHeight(height: ScreenHeight - imgBackgroud.height() - 86) tableView.register(UINib(nibName: "SplitDeviceTableViewCell", bundle: nil), forCellReuseIdentifier: "SplitDeviceTableViewCell") tableView.delegate = self tableView.dataSource = self tableView.separatorStyle = .none tableView.showsVerticalScrollIndicator = false tableView.estimatedRowHeight = 100 tableView.keyboardDismissMode = .onDrag txtCode.delegate = self txtCode.returnKeyType = .search tableView.mj_header = MJRefreshNormalHeader(refreshingBlock: {[weak self] in self!.currentPage = 1 self!.loadData() }) tableView.mj_header?.lastUpdatedTimeKey = "ShowTableViewCell" tableView.mj_footer = MJRefreshBackNormalFooter(refreshingBlock: {[weak self] in self!.currentPage += 1 self!.loadData() }) } @IBAction func btnSubmitClick(_ sender: Any) { CommonUntils.AlertView(controller: self, title: "提示", message: "确定将此设备分拨到名下", buttons: ["确定"], style: .alert) {[weak self] (_, _) in self!.submitData() } } @IBAction func btnQuery(_ sender: Any) { self.currentPage = 1 loadData() } func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool { // if(string != "") // { // loadData(str:"\(textField.text!)\(string)"); // } // else // { // if(textField.text!.length() > 1) // { // loadData(str:"\(textField.text!.substringTo(index: textField.text!.length() - 1))"); // } // else // { // arrData.removeAllObjects(); // tableView.reloadData(); // } // } return true } func textFieldShouldReturn(_ textField: UITextField) -> Bool { self.currentPage = 1 loadData() return true } // MARK: =============加载数据=============== func loadData() //str:String { let url = RequestURL.myAgentList let params = NSMutableDictionary() params.setValue(CommonValue.getUserId(), forKey: "userId") params.setValue(txtCode.text!, forKey: "likeStr") loadDataList(url: url, params: params, tableView: tableView, tag: 1001) } func submitData() { if selectedIndex == -1 { SVProgressHUD.showError(withStatus: "请选择分拨代理") return } let url = RequestURL.machineAllocation let params = NSMutableDictionary() params.setValue(getString(current: selectedIndex, key: "id"), forKey: "userId") params.setValue(mid, forKey: "machineId") submitData(url: url, params: params, tag: 1002) } override func returnData(tag: Int) { if tag == 1001 { tableView.reloadData() } else if tag == 1002 { SVProgressHUD.showSuccess(withStatus: "分拨成功!") if !CommonUntils.reBackView(controller: self, aclass: PosManangerViewController.classForCoder()) { handleBack() } } } override func returnError(tag: Int, type: String) { } // MARK: TABLEVLEW 实现 func numberOfSections(in tableView: UITableView) -> Int { return 1 } func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return self.arrData.count } func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { return 60 } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "SplitDeviceTableViewCell", for: indexPath as IndexPath) as! SplitDeviceTableViewCell cell.lblTitle.text = getString(current: indexPath.row, key: "realName") == "" ? getString(current: indexPath.row, key: "nickName") : getString(current: indexPath.row, key: "realName") let isSelected = getIntValue(current: indexPath.row, key: "isSelected") if isSelected == 1 { cell.btnIsSelected.isSelected = true } else { cell.btnIsSelected.isSelected = false } cell.lblRemark.text = "手机号:\(getString(current: indexPath.row, key: "phone")) 推荐码:\(getString(current: indexPath.row, key: "recCode"))" return cell } var selectedIndex = -1 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { selectedIndex = indexPath.row for i in 0 ..< self.arrData.count { if i == indexPath.row { setArrDataIntValue(current: i, key: "isSelected", value: 1) } else { setArrDataIntValue(current: i, key: "isSelected", value: 0) } } tableView.reloadData() } override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) appDelegate.setNavigationBarHidden(isHidden: true) loadData() } override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) { super.init(nibName: "SplitDeviceViewController", bundle: nil) } required init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } }