| | |
| | | |
| | | import UIKit |
| | | import QMUIKit |
| | | import RxRelay |
| | | import RxSwift |
| | | import JQTools |
| | | |
| | | let AddBank_Noti = Notification.Name.init("AddBank_Noti") |
| | | |
| | | class AddBankInfoVC: BaseVC { |
| | | |
| | | struct AddBankRequestModel{ |
| | | var bankName = BehaviorRelay<String>(value:"") |
| | | var bankNo = BehaviorRelay<String>(value:"") |
| | | var holderName = BehaviorRelay<String>(value:"") |
| | | var idCard = BehaviorRelay<String>(value:"") |
| | | var phone = BehaviorRelay<String>(value:"") |
| | | var code = BehaviorRelay<String>(value:"") |
| | | |
| | | func isAuth()->Bool{ |
| | | guard !bankName.value.isEmpty else{ |
| | | alertError(msg: "请输入开户行");return false |
| | | } |
| | | guard !bankNo.value.isEmpty else{ |
| | | alertError(msg: "请输入卡号");return false |
| | | } |
| | | guard !holderName.value.isEmpty else{ |
| | | alertError(msg: "请输入持卡人");return false |
| | | } |
| | | guard !idCard.value.isEmpty else{ |
| | | alertError(msg: "请输入身份证号");return false |
| | | } |
| | | guard idCard.value.jq_idCard() else { |
| | | alertError(msg: "请输入正确的身份证号");return false |
| | | } |
| | | guard !phone.value.isEmpty else{ |
| | | alertError(msg: "请输入手机号");return false |
| | | } |
| | | guard phone.value.jq_isPhone else { |
| | | alertError(msg: "请输入正确的手机号");return false |
| | | } |
| | | guard !code.value.isEmpty else{ |
| | | alertError(msg: "请输入验证码");return false |
| | | } |
| | | guard code.value.count == 6 else { |
| | | alertError(msg: "请输入正确的验证码");return false |
| | | } |
| | | return true |
| | | } |
| | | |
| | | func toRequest()->Dictionary<String,Any>{ |
| | | return ["bankName":bankName.value, |
| | | "cardNo":bankNo.value, |
| | | "cardholder":holderName.value, |
| | | "identityCard":idCard.value, |
| | | "cellPhone":phone.value, |
| | | "code":code.value] |
| | | } |
| | | } |
| | | |
| | | @IBOutlet weak var tf_bankName: UITextField! |
| | | @IBOutlet weak var tf_cardNo: QMUITextField! |
| | | @IBOutlet weak var tf_holderName: QMUITextField! |
| | | @IBOutlet weak var tf_idcard: QMUITextField! |
| | | @IBOutlet weak var tf_phone: QMUITextField! |
| | | @IBOutlet weak var btn_add: UIButton! |
| | | @IBOutlet weak var tf_code: QMUITextField! |
| | | |
| | | private var requestModel = AddBankRequestModel() |
| | | |
| | | override func viewDidLoad() { |
| | | super.viewDidLoad() |
| | | title = "添加银行卡" |
| | |
| | | tf_idcard.inputView = idCardView |
| | | } |
| | | |
| | | override func setRx() { |
| | | tf_bankName.rx.text.orEmpty.bind(to: requestModel.bankName).disposed(by: disposeBag) |
| | | tf_cardNo.rx.text.orEmpty.bind(to: requestModel.bankNo).disposed(by: disposeBag) |
| | | tf_holderName.rx.text.orEmpty.bind(to: requestModel.holderName).disposed(by: disposeBag) |
| | | tf_idcard.rx.text.orEmpty.bind(to: requestModel.idCard).disposed(by: disposeBag) |
| | | tf_phone.rx.text.orEmpty.bind(to: requestModel.phone).disposed(by: disposeBag) |
| | | tf_code.rx.text.orEmpty.bind(to: requestModel.code).disposed(by: disposeBag) |
| | | } |
| | | |
| | | override func setUI() { |
| | | view.backgroundColor = UIColor(hexString: "f6f6f6") |
| | | |
| | | btn_add.localGradientColor(cornerRadius: 20) |
| | | } |
| | | |
| | | @IBAction func addhandleAction(_ sender: UIButton) { |
| | | view.endEditing(true) |
| | | if requestModel.isAuth(){ |
| | | Services.addBank(requestModel).subscribe(onNext: {data in |
| | | alertSuccess(msg: "添加成功") |
| | | NotificationCenter.default.post(name: AddBank_Noti, object: nil) |
| | | DispatchQueue.main.asyncAfter(delay: 1.0) { |
| | | self.navigationController?.popViewController() |
| | | } |
| | | }).disposed(by: disposeBag) |
| | | } |
| | | } |
| | | |
| | | |
| | | @IBAction func sendCodeAction(_ sender: UIButton) { |
| | | guard !requestModel.phone.value.isEmpty else { |
| | | alertError(msg: "请输入手机号");return |
| | | } |
| | | |
| | | Services.sendCode(type: .addBank).subscribe(onNext: {_ in |
| | | sender.jq_openCountDown(60, defultTitle: "发送验证码") { |
| | | sender.titleLabel?.font = UIFont.systemFont(ofSize: 12) |
| | | sender.setTitleColor(.black.withAlphaComponent(0.3), for: .normal) |
| | | } completeClouse: { |
| | | sender.titleLabel?.font = UIFont.systemFont(ofSize: 14, weight: .medium) |
| | | sender.setTitleColor(UIColor(hexStr: "#96AD81"), for: .normal) |
| | | } |
| | | }).disposed(by: disposeBag) |
| | | } |
| | | } |