Commit 8014654e authored by Steven杜宇's avatar Steven杜宇

// 证件上传

parent 0c35bb91
......@@ -11,6 +11,8 @@ import UIKit
class YHCertificateUploadVC: YHBaseViewController, YHFamilyMemberProtol {
var tableView: UITableView!
weak var delegate:YHSpouseInfoVCProtocol?
var familyMember:YHFamilyMember? {
didSet {
if let familyMember = familyMember {
......@@ -18,7 +20,15 @@ class YHCertificateUploadVC: YHBaseViewController, YHFamilyMemberProtol {
}
}
}
var viewModel: YHFamilyMemberViewModel = YHFamilyMemberViewModel()
lazy var viewModel: YHFamilyMemberViewModel = {
let model = YHFamilyMemberViewModel()
model.saveInfoSilentBlock = {
if let delegate = self.delegate, delegate.responds(to: #selector(YHSpouseInfoVCProtocol.saveInfoSilent)) {
delegate.saveInfoSilent()
}
}
return model
}()
override func viewDidLoad() {
super.viewDidLoad()
......
......@@ -94,6 +94,7 @@ class YHChildInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol {
guard let child = child else { return }
primaryInfoVC.delegate = self
uploadVC.delegate = self
certificateVC.delegate = self
basicInfoVC.delegate = self
......
......@@ -110,6 +110,7 @@ class YHSpouseInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol {
guard let spouse = spouse else { return }
primaryInfoVC.delegate = self
uploadVC.delegate = self
certificateVC.delegate = self
basicInfoVC.delegate = self
......
......@@ -13,6 +13,8 @@ class YHFamilyMemberViewModel : YHBaseViewModel{
var mainModel: YHFamilyMember = YHFamilyMember()
var saveInfoSilentBlock:(()->())?
func getIDCardDataSource(_ isShowPrompt: Bool) -> [YHSectionItemModel] {
let item = YHItemModel(id: .id5, isNeed: true, title: "身份证", isUserKeyBoard: false, prompts: "请输入", message: nil, isShowPrompts: isShowPrompt)
let section = YHSectionItemModel(title: "中国身份证(选填)", models: [item])
......@@ -58,6 +60,9 @@ class YHFamilyMemberViewModel : YHBaseViewModel{
} else if item.id == .id20 {
mainModel.certificates.passport.issueDateEndAt = item.message ?? ""
}
if let saveInfoSilentBlock = saveInfoSilentBlock {
saveInfoSilentBlock()
}
}
// 更新身份证
......@@ -90,6 +95,9 @@ class YHFamilyMemberViewModel : YHBaseViewModel{
if model.card_num.count != 0 {
mainModel.certificates.cnIdentityCard.number = model.card_num
}
if let saveInfoSilentBlock = saveInfoSilentBlock {
saveInfoSilentBlock()
}
}
// 更新港澳通行证
......@@ -122,6 +130,9 @@ class YHFamilyMemberViewModel : YHBaseViewModel{
if model.card_num.count != 0 {
mainModel.certificates.hkMacaoPass.number = model.card_num
}
if let saveInfoSilentBlock = saveInfoSilentBlock {
saveInfoSilentBlock()
}
}
func updateModel(_ type: YHCardType, isFront: Bool, url: String) {
......@@ -139,6 +150,9 @@ class YHFamilyMemberViewModel : YHBaseViewModel{
mainModel.certificates.hkMacaoPass.imgBack = url
}
}
if let saveInfoSilentBlock = saveInfoSilentBlock {
saveInfoSilentBlock()
}
}
func requestCnIDCardMessage(_ url: String, isBack: Int, callBackBlock:@escaping (_ success: Bool, _ error:YHErrorModel?)->()) {
......
......@@ -8,7 +8,6 @@
import UIKit
class YHIdentityCardCell: UITableViewCell {
typealias InformationBlock = (_ type: YHCardType, _ image: UIImage, _ isleft: Bool) -> ()
var informationBlock: InformationBlock?
......@@ -17,8 +16,8 @@ class YHIdentityCardCell: UITableViewCell {
var exampleButton: UIButton!
var frontLabel: UILabel!
var backSurfaceLabel: UILabel!
var frontImageButton: UIButton!
var backSurfaceImageButton: UIButton!
var frontImageButton: YHCardButton!
var backSurfaceImageButton: YHCardButton!
var frontDeleteButton: UIButton!
var backSurfaceDeleteButton: UIButton!
var activityIndicator: UIActivityIndicatorView!
......@@ -28,34 +27,38 @@ class YHIdentityCardCell: UITableViewCell {
if viewModel.mainModel.certificates.cnIdentityCard.imgFront.count != 0 {
self.viewModel.getPublicImageUrl(viewModel.mainModel.certificates.cnIdentityCard.imgFront) {[weak self] success, error in
guard let self = self else { return }
guard let _ = success else { return }
self.frontImageButton.kf.setBackgroundImage(with: URL(string: success), for: .normal)
guard let url = success else { return }
self.frontImageButton.kf.setBackgroundImage(with: URL(string: url), for: .normal)
self.frontDeleteButton.isHidden = false
self.frontImageButton.setContent("", "")
}
}
if viewModel.mainModel.certificates.cnIdentityCard.imgBack.count != 0 {
self.viewModel.getPublicImageUrl(viewModel.mainModel.certificates.cnIdentityCard.imgBack) {[weak self] success, error in
guard let self = self else { return }
guard let _ = success else { return }
self.backSurfaceImageButton.kf.setBackgroundImage(with: URL(string: success), for: .normal)
guard let url = success else { return }
self.backSurfaceImageButton.kf.setBackgroundImage(with: URL(string: url), for: .normal)
self.backSurfaceDeleteButton.isHidden = false
self.backSurfaceImageButton.setContent("", "")
}
}
} else {
if viewModel.mainModel.certificates.hkMacaoPass.imgFront.count != 0 {
self.viewModel.getPublicImageUrl(viewModel.mainModel.certificates.hkMacaoPass.imgFront) {[weak self] success, error in
guard let self = self else { return }
guard let _ = success else { return }
self.frontImageButton.kf.setBackgroundImage(with: URL(string: success), for: .normal)
guard let url = success else { return }
self.frontImageButton.kf.setBackgroundImage(with: URL(string: url), for: .normal)
self.frontDeleteButton.isHidden = false
self.frontImageButton.setContent("", "")
}
}
if viewModel.mainModel.certificates.hkMacaoPass.imgBack.count != 0 {
self.viewModel.getPublicImageUrl(viewModel.mainModel.certificates.hkMacaoPass.imgBack) {[weak self] success, error in
guard let self = self else { return }
guard let _ = success else { return }
self.backSurfaceImageButton.kf.setBackgroundImage(with: URL(string: success), for: .normal)
guard let url = success else { return }
self.backSurfaceImageButton.kf.setBackgroundImage(with: URL(string: url), for: .normal)
self.backSurfaceDeleteButton.isHidden = false
self.backSurfaceImageButton.setContent("", "")
}
}
}
......@@ -68,11 +71,14 @@ class YHIdentityCardCell: UITableViewCell {
titleLabel.text = "中国身份证(选填)"
frontLabel.text = "身份证人像面"
backSurfaceLabel.text = "身份证国徽面"
frontImageButton.setBackgroundImage(UIImage(named: "service_cn_card_front"), for: .normal)
backSurfaceImageButton.setBackgroundImage(UIImage(named: "service_cn_card_back"), for: .normal)
case .passport:
titleLabel.text = "港澳通行证(选填)"
frontLabel.text = "港澳通行证正面"
backSurfaceLabel.text = "港澳通行证反面"
frontImageButton.setBackgroundImage(UIImage(named: "service_hk_card_front"), for: .normal)
backSurfaceImageButton.setBackgroundImage(UIImage(named: "service_hk_card_back"), for: .normal)
}
}
}
......@@ -143,7 +149,7 @@ class YHIdentityCardCell: UITableViewCell {
}()
centerView.addSubview(exampleButton)
exampleButton.snp.makeConstraints { make in
make.left.equalTo(titleLabel.snp.right)
make.left.equalTo(titleLabel.snp.right).offset(8)
make.centerY.equalTo(titleLabel.snp.centerY)
make.height.equalTo(14)
make.width.equalTo(48)
......@@ -193,9 +199,12 @@ class YHIdentityCardCell: UITableViewCell {
}
frontImageButton = {
let button = UIButton(type: .custom)
button.setBackgroundImage(UIImage(named: "service_card_front"), for: .normal)
let button = YHCardButton()
button.setContent("card_upload", "点击上传")
button.setBackgroundImage(UIImage(named: "service_cn_card_front"), for: .normal)
button.addTarget(self, action: #selector(frontImageClick), for: .touchUpInside)
button.layer.cornerRadius = 4
button.clipsToBounds = true
return button
}()
centerView.addSubview(frontImageButton)
......@@ -222,9 +231,12 @@ class YHIdentityCardCell: UITableViewCell {
}
backSurfaceImageButton = {
let button = UIButton(type: .custom)
button.setBackgroundImage(UIImage(named: "service_card_back"), for: .normal)
let button = YHCardButton()
button.setContent("card_upload", "点击上传")
button.setBackgroundImage(UIImage(named: "service_cn_card_back"), for: .normal)
button.addTarget(self, action: #selector(backSurfaceImageClick), for: .touchUpInside)
button.layer.cornerRadius = 4
button.clipsToBounds = true
return button
}()
centerView.addSubview(backSurfaceImageButton)
......@@ -273,21 +285,23 @@ class YHIdentityCardCell: UITableViewCell {
@objc func frontImageClick() {
if type == .identity {
if viewModel.mainModel.certificates.cnIdentityCard.imgFront.count != 0 {
let vc = YHImageViewController()
vc.imgString = viewModel.mainModel.certificates.cnIdentityCard.imgFront
UIViewController.current?.navigationController?.pushViewController(vc)
return
}
} else {
if viewModel.mainModel.certificates.hkMacaoPass.imgFront.count != 0 {
let vc = YHImageViewController()
vc.imgString = viewModel.mainModel.certificates.hkMacaoPass.imgFront
UIViewController.current?.navigationController?.pushViewController(vc)
return
}
}
YHImagePickerView.show() {[weak self] image in
guard let self = self else { return }
self.activityIndicator.snp.remakeConstraints { make in
make.center.equalTo(self.frontImageButton.snp.center)
make.height.equalTo(25)
make.width.equalTo(25)
}
self.activityIndicator.startAnimating()
self.frontImageButton.setContent("card_loading", "上传中")
self.frontImageButton.startRotationAnimation()
self.viewModel.uploadImage(image) {[weak self] success, error in
guard let self = self else { return }
guard let url = success else { return }
......@@ -300,7 +314,8 @@ class YHIdentityCardCell: UITableViewCell {
if self.type == .identity {
self.viewModel.requestCnIDCardMessage(url, isBack: 0) {[weak self] success, error in
guard let self = self else { return }
self.activityIndicator.stopAnimating()
self.frontImageButton.stopRotationAnimation()
self.frontImageButton.setContent("", "")
if success {
} else {
YHHUD.flash(message: error?.errorMsg ?? "")
......@@ -309,7 +324,8 @@ class YHIdentityCardCell: UITableViewCell {
} else {
self.viewModel.requestHkIDCardMessage(url, isBack: 0) {[weak self] success, error in
guard let self = self else { return }
self.activityIndicator.stopAnimating()
self.frontImageButton.stopRotationAnimation()
self.frontImageButton.setContent("", "")
if success {
} else {
......@@ -319,30 +335,29 @@ class YHIdentityCardCell: UITableViewCell {
}
}
}
// if let block = self.informationBlock {
// block(self.type, image, false)
// }
}
}
@objc func backSurfaceImageClick() {
if type == .identity {
if viewModel.mainModel.certificates.cnIdentityCard.imgBack.count != 0 {
let vc = YHImageViewController()
vc.imgString = viewModel.mainModel.certificates.cnIdentityCard.imgBack
UIViewController.current?.navigationController?.pushViewController(vc)
return
}
} else {
if viewModel.mainModel.certificates.hkMacaoPass.imgBack.count != 0 {
let vc = YHImageViewController()
vc.imgString = viewModel.mainModel.certificates.hkMacaoPass.imgBack
UIViewController.current?.navigationController?.pushViewController(vc)
return
}
}
YHImagePickerView.show() {[weak self] image in
guard let self = self else { return }
self.activityIndicator.snp.remakeConstraints { make in
make.center.equalTo(self.backSurfaceImageButton.snp.center)
make.height.equalTo(25)
make.width.equalTo(25)
}
self.activityIndicator.startAnimating()
self.backSurfaceImageButton.setContent("card_loading", "上传中")
self.backSurfaceImageButton.startRotationAnimation()
self.viewModel.uploadImage(image) {[weak self] success, error in
guard let self = self else { return }
guard let url = success else { return }
......@@ -355,7 +370,8 @@ class YHIdentityCardCell: UITableViewCell {
if self.type == .identity {
self.viewModel.requestCnIDCardMessage(url, isBack: 1) {[weak self] success, error in
guard let self = self else { return }
self.activityIndicator.stopAnimating()
self.backSurfaceImageButton.stopRotationAnimation()
self.backSurfaceImageButton.setContent("", "")
if success {
} else {
......@@ -363,9 +379,10 @@ class YHIdentityCardCell: UITableViewCell {
}
}
} else {
self.viewModel.requestHkIDCardMessage(url, isBack: 1) {[weak self] success, error in
self.viewModel.requestHkIDCardMessage(url, isBack: 1 ) {[weak self] success, error in
guard let self = self else { return }
self.activityIndicator.stopAnimating()
self.backSurfaceImageButton.stopRotationAnimation()
self.backSurfaceImageButton.setContent("", "")
if success {
} else {
......@@ -375,9 +392,6 @@ class YHIdentityCardCell: UITableViewCell {
}
}
}
// if let block = self.informationBlock {
// block(self.type, image, true)
// }
}
}
......@@ -390,12 +404,24 @@ class YHIdentityCardCell: UITableViewCell {
@objc func frontDeleteClick() {
viewModel.updateModel(self.type, isFront: true, url: "")
frontDeleteButton.isHidden = true
frontImageButton.setBackgroundImage(UIImage(named: "service_card_front"), for: .normal)
switch type {
case .identity:
frontImageButton.setBackgroundImage(UIImage(named: "service_cn_card_front"), for: .normal)
case .passport:
frontImageButton.setBackgroundImage(UIImage(named: "service_hk_card_front"), for: .normal)
}
frontImageButton.setContent("card_upload", "点击上传")
}
@objc func backSurfaceDeleteClick() {
viewModel.updateModel(self.type, isFront: false, url: "")
backSurfaceDeleteButton.isHidden = true
backSurfaceImageButton.setBackgroundImage(UIImage(named: "service_card_back"), for: .normal)
switch type {
case .identity:
backSurfaceImageButton.setBackgroundImage(UIImage(named: "service_cn_card_back"), for: .normal)
case .passport:
backSurfaceImageButton.setBackgroundImage(UIImage(named: "service_hk_card_back"), for: .normal)
}
backSurfaceImageButton.setContent("card_upload", "点击上传")
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment