Commit 2edd8250 authored by Steven杜宇's avatar Steven杜宇

// 证书

parent 62a746f0
......@@ -11,6 +11,8 @@ import UIKit
class YHCertificateInfoController: YHBaseViewController, YHFamilyMemberProtol {
var familyMember:YHFamilyMember?
var mainApplicantInfo: YHMyMainApplicantInfoModel?
weak var delegate:YHSpouseInfoVCProtocol?
var items:[[YHFormItemProtocol]] = [[YHFormItemProtocol]]()
// 是否显示未填写错误提示
......@@ -97,8 +99,20 @@ class YHCertificateInfoController: YHBaseViewController, YHFamilyMemberProtol {
// 护照是否必填
var isPassportMust = false
if familyMember.nationality.contains("中国") { // 中国国籍
let isLiveInChina = familyMember.address.country.contains("中国".local)
// 国籍
let nationality = familyMember.nationality
// 居住国外是否满一年
var is_live_oversea_year = familyMember.isOverSeasOver1Year()
// 居住国家
var liveCountry = familyMember.address.country
if familyMember.isLiveTother(), let mainApplicant = mainApplicantInfo { // 与主申请人同住用主申请人的居住信息判断
liveCountry = mainApplicant.applicant_address.country
is_live_oversea_year = mainApplicant.isOverSeasOver1Year()
}
if nationality.contains("中国") { // 中国国籍
let isLiveInChina = liveCountry.contains("中国".local)
if isLiveInChina { // 居住国内
if familyMember.isHandled == 0 { // 没办理过港澳通行证
// 证件信息:港澳通行证非必填(无身份证、护照)
......@@ -112,7 +126,7 @@ class YHCertificateInfoController: YHBaseViewController, YHFamilyMemberProtol {
}
} else { // 居住国外
if !familyMember.isOverSeasOver1Year() { // 居住国外不满一年
if !is_live_oversea_year { // 居住国外不满一年
if familyMember.isHandled == 0 { // 没办理过港澳通行证
// 证件信息:港澳通行证非必填(无身份证、护照)
showHK = true
......
......@@ -16,10 +16,18 @@ class YHCertificateUploadVC: YHBaseViewController, YHFamilyMemberProtol {
var familyMember:YHFamilyMember? {
didSet {
if let familyMember = familyMember {
viewModel.mainModel = familyMember
viewModel.familyMemberModel = familyMember
}
}
}
var mainApplicantInfo: YHMyMainApplicantInfoModel? {
didSet {
if let mainApplicantInfo = mainApplicantInfo {
viewModel.mainApplicantInfo = mainApplicantInfo
}
}
}
lazy var viewModel: YHFamilyMemberViewModel = {
let model = YHFamilyMemberViewModel()
model.saveInfoSilentBlock = {
......
......@@ -33,6 +33,8 @@ class YHChildInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol {
didSet {
if let mainApplicantInfo = mainApplicantInfo {
primaryInfoVC.mainApplicantInfo = mainApplicantInfo
uploadVC.mainApplicantInfo = mainApplicantInfo
certificateVC.mainApplicantInfo = mainApplicantInfo
}
}
}
......
......@@ -54,6 +54,8 @@ class YHSpouseInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol {
didSet {
if let mainApplicantInfo = mainApplicantInfo {
primaryInfoVC.mainApplicantInfo = mainApplicantInfo
uploadVC.mainApplicantInfo = mainApplicantInfo
certificateVC.mainApplicantInfo = mainApplicantInfo
}
}
}
......
......@@ -11,8 +11,9 @@ import Alamofire
class YHFamilyMemberViewModel : YHBaseViewModel{
var mainModel: YHFamilyMember = YHFamilyMember()
var familyMemberModel: YHFamilyMember = YHFamilyMember()
var mainApplicantInfo: YHMyMainApplicantInfoModel?
var saveInfoSilentBlock:(()->())?
func getIDCardDataSource(_ isShowPrompt: Bool) -> [YHSectionItemModel] {
......@@ -22,17 +23,24 @@ class YHFamilyMemberViewModel : YHBaseViewModel{
let section1 = YHSectionItemModel(title: "中国身份证(选填)", models: [item1])
let item2 = YHItemModel(id: .id7, isNeed: true, title: "护照(选填)", isUserKeyBoard: false, prompts: "请输入", message: nil, isShowPrompts: isShowPrompt)
let section2 = YHSectionItemModel(title: "护照(选填)", models: [item2])
let addressCountry = mainModel.address.country
let nationality = mainModel.nationality
let is_live_oversea_year = mainModel.isOverSeasOver1Year()
var addressCountry = familyMemberModel.address.country
var nationality = familyMemberModel.nationality
var is_live_oversea_year = familyMemberModel.isOverSeasOver1Year()
if familyMemberModel.isLiveTother(), let mainApplicant = mainApplicantInfo { // 与主申请人同住用主申请人的居住信息判断
addressCountry = mainApplicant.applicant_address.country
is_live_oversea_year = mainApplicant.isOverSeasOver1Year()
}
if (nationality.contains("中国") && addressCountry.contains("中国")) || (nationality.contains("中国") && !is_live_oversea_year) {
if mainModel.isHandled == 1 {
if familyMemberModel.isHandled == 1 {
return [section, section1]
} else {
return [section]
}
} else if nationality.contains("中国") && is_live_oversea_year {
return [section, section2]
} else {
return [section2]
}
......@@ -42,34 +50,34 @@ class YHFamilyMemberViewModel : YHBaseViewModel{
guard let type = item.id else { return }
if item.id == .id8 {
mainModel.certificates.cnIdentityCard.number = item.message ?? ""
familyMemberModel.certificates.cnIdentityCard.number = item.message ?? ""
} else if item.id == .id9 {
mainModel.certificates.cnIdentityCard.issueAt = item.message ?? ""
familyMemberModel.certificates.cnIdentityCard.issueAt = item.message ?? ""
} else if item.id == .id10 {
mainModel.certificates.cnIdentityCard.issueDateStartAt = item.message ?? ""
familyMemberModel.certificates.cnIdentityCard.issueDateStartAt = item.message ?? ""
} else if item.id == .id11 {
mainModel.certificates.cnIdentityCard.issueDateEndAt = item.message ?? ""
familyMemberModel.certificates.cnIdentityCard.issueDateEndAt = item.message ?? ""
} else if item.id == .id12 {
mainModel.certificates.hkMacaoPass.number = item.message ?? ""
familyMemberModel.certificates.hkMacaoPass.number = item.message ?? ""
} else if item.id == .id13 {
mainModel.certificates.hkMacaoPass.issueAt = item.message ?? ""
familyMemberModel.certificates.hkMacaoPass.issueAt = item.message ?? ""
} else if item.id == .id14 {
mainModel.certificates.hkMacaoPass.issueDateStartAt = item.message ?? ""
familyMemberModel.certificates.hkMacaoPass.issueDateStartAt = item.message ?? ""
} else if item.id == .id15 {
mainModel.certificates.hkMacaoPass.issueDateEndAt = item.message ?? ""
familyMemberModel.certificates.hkMacaoPass.issueDateEndAt = item.message ?? ""
} else if item.id == .id16 {
// mainModel.certificates.passport.passportType = item.value?.first ?? ""
// familyMemberModel.certificates.passport.passportType = item.value?.first ?? ""
} else if item.id == .id17 {
mainModel.certificates.passport.number = item.message ?? ""
familyMemberModel.certificates.passport.number = item.message ?? ""
} else if item.id == .id18 {
mainModel.certificates.passport.issueAt = item.message ?? ""
familyMemberModel.certificates.passport.issueAt = item.message ?? ""
} else if item.id == .id19 {
mainModel.certificates.passport.issueDateStartAt = item.message ?? ""
familyMemberModel.certificates.passport.issueDateStartAt = item.message ?? ""
} else if item.id == .id20 {
mainModel.certificates.passport.issueDateEndAt = item.message ?? ""
familyMemberModel.certificates.passport.issueDateEndAt = item.message ?? ""
}
if let saveInfoSilentBlock = saveInfoSilentBlock {
saveInfoSilentBlock()
......@@ -79,32 +87,32 @@ class YHFamilyMemberViewModel : YHBaseViewModel{
// 更新身份证
func updateModel(_ model: YHCNIDCardModel) {
if model.name.count != 0 {
mainModel.subsetName = model.name
familyMemberModel.subsetName = model.name
}
if model.birth.count != 0 {
if mainModel.relationType != .child {
if familyMemberModel.relationType != .child {
// 孩子生日设置大于18岁后必须设置为不能随行 导致证件上传和证件信息页面隐藏 会产生异常
mainModel.birthday = model.birth
familyMemberModel.birthday = model.birth
}
}
if model.gender.count != 0 {
if model.gender == "女" {
mainModel.setMale(false)
familyMemberModel.setMale(false)
} else {
mainModel.setMale(true)
familyMemberModel.setMale(true)
}
}
if model.term_begins.count != 0 {
mainModel.certificates.cnIdentityCard.issueDateStartAt = model.term_begins
familyMemberModel.certificates.cnIdentityCard.issueDateStartAt = model.term_begins
}
if model.end_of_term.count != 0 {
mainModel.certificates.cnIdentityCard.issueDateEndAt = model.end_of_term
familyMemberModel.certificates.cnIdentityCard.issueDateEndAt = model.end_of_term
}
if model.issuing_authority.count != 0 {
mainModel.certificates.cnIdentityCard.issueAt = model.issuing_authority
familyMemberModel.certificates.cnIdentityCard.issueAt = model.issuing_authority
}
if model.card_num.count != 0 {
mainModel.certificates.cnIdentityCard.number = model.card_num
familyMemberModel.certificates.cnIdentityCard.number = model.card_num
}
if let saveInfoSilentBlock = saveInfoSilentBlock {
saveInfoSilentBlock()
......@@ -114,32 +122,32 @@ class YHFamilyMemberViewModel : YHBaseViewModel{
// 更新港澳通行证
func updateModel(_ model: YHHKIDCardModel) {
if model.name.count != 0 {
mainModel.subsetName = model.name
familyMemberModel.subsetName = model.name
}
if model.birth.count != 0 {
if mainModel.relationType != .child {
if familyMemberModel.relationType != .child {
// 孩子生日设置大于18岁后必须设置为不能随行 导致证件上传和证件信息页面隐藏 会产生异常
mainModel.birthday = model.birth
familyMemberModel.birthday = model.birth
}
}
if model.gender.count != 0 {
if model.gender == "女" {
mainModel.setMale(false)
familyMemberModel.setMale(false)
} else {
mainModel.setMale(true)
familyMemberModel.setMale(true)
}
}
if model.term_begins.count != 0 {
mainModel.certificates.hkMacaoPass.issueDateStartAt = model.term_begins
familyMemberModel.certificates.hkMacaoPass.issueDateStartAt = model.term_begins
}
if model.end_of_term.count != 0 {
mainModel.certificates.hkMacaoPass.issueDateEndAt = model.end_of_term
familyMemberModel.certificates.hkMacaoPass.issueDateEndAt = model.end_of_term
}
if model.IssueAddress.count != 0 {
mainModel.certificates.hkMacaoPass.issueAt = model.IssueAddress
familyMemberModel.certificates.hkMacaoPass.issueAt = model.IssueAddress
}
if model.card_num.count != 0 {
mainModel.certificates.hkMacaoPass.number = model.card_num
familyMemberModel.certificates.hkMacaoPass.number = model.card_num
}
if let saveInfoSilentBlock = saveInfoSilentBlock {
saveInfoSilentBlock()
......@@ -150,18 +158,18 @@ class YHFamilyMemberViewModel : YHBaseViewModel{
switch type {
case .identity:
if isFront {
mainModel.certificates.cnIdentityCard.imgFront = url
familyMemberModel.certificates.cnIdentityCard.imgFront = url
} else {
mainModel.certificates.cnIdentityCard.imgBack = url
familyMemberModel.certificates.cnIdentityCard.imgBack = url
}
case .passport:
if isFront {
mainModel.certificates.hkMacaoPass.imgFront = url
familyMemberModel.certificates.hkMacaoPass.imgFront = url
} else {
mainModel.certificates.hkMacaoPass.imgBack = url
familyMemberModel.certificates.hkMacaoPass.imgBack = url
}
case .other:
mainModel.certificates.passport.imgFront = url
familyMemberModel.certificates.passport.imgFront = url
}
if let saveInfoSilentBlock = saveInfoSilentBlock {
saveInfoSilentBlock()
......
......@@ -26,8 +26,8 @@ class YHIdentityCardCell: UITableViewCell {
var viewModel: YHFamilyMemberViewModel! {
didSet {
if type == .identity {
if viewModel.mainModel.certificates.cnIdentityCard.imgFront.count != 0 {
self.viewModel.getPublicImageUrl(viewModel.mainModel.certificates.cnIdentityCard.imgFront) {[weak self] success, error in
if viewModel.familyMemberModel.certificates.cnIdentityCard.imgFront.count != 0 {
self.viewModel.getPublicImageUrl(viewModel.familyMemberModel.certificates.cnIdentityCard.imgFront) {[weak self] success, error in
guard let self = self else { return }
guard let url = success else { return }
self.frontImageButton.kf.setBackgroundImage(with: URL(string: url), for: .normal, completionHandler: { _ in
......@@ -36,8 +36,8 @@ class YHIdentityCardCell: UITableViewCell {
self.frontImageButton.setContent("", "")
}
}
if viewModel.mainModel.certificates.cnIdentityCard.imgBack.count != 0 {
self.viewModel.getPublicImageUrl(viewModel.mainModel.certificates.cnIdentityCard.imgBack) {[weak self] success, error in
if viewModel.familyMemberModel.certificates.cnIdentityCard.imgBack.count != 0 {
self.viewModel.getPublicImageUrl(viewModel.familyMemberModel.certificates.cnIdentityCard.imgBack) {[weak self] success, error in
guard let self = self else { return }
guard let url = success else { return }
self.backSurfaceImageButton.kf.setBackgroundImage(with: URL(string: url), for: .normal, completionHandler: { _ in
......@@ -47,8 +47,8 @@ class YHIdentityCardCell: UITableViewCell {
}
}
} else if type == .passport {
if viewModel.mainModel.certificates.hkMacaoPass.imgFront.count != 0 {
self.viewModel.getPublicImageUrl(viewModel.mainModel.certificates.hkMacaoPass.imgFront) {[weak self] success, error in
if viewModel.familyMemberModel.certificates.hkMacaoPass.imgFront.count != 0 {
self.viewModel.getPublicImageUrl(viewModel.familyMemberModel.certificates.hkMacaoPass.imgFront) {[weak self] success, error in
guard let self = self else { return }
guard let url = success else { return }
self.frontImageButton.kf.setBackgroundImage(with: URL(string: url), for: .normal, completionHandler: { _ in
......@@ -57,8 +57,8 @@ class YHIdentityCardCell: UITableViewCell {
self.frontImageButton.setContent("", "")
}
}
if viewModel.mainModel.certificates.hkMacaoPass.imgBack.count != 0 {
self.viewModel.getPublicImageUrl(viewModel.mainModel.certificates.hkMacaoPass.imgBack) {[weak self] success, error in
if viewModel.familyMemberModel.certificates.hkMacaoPass.imgBack.count != 0 {
self.viewModel.getPublicImageUrl(viewModel.familyMemberModel.certificates.hkMacaoPass.imgBack) {[weak self] success, error in
guard let self = self else { return }
guard let url = success else { return }
self.backSurfaceImageButton.kf.setBackgroundImage(with: URL(string: url), for: .normal, completionHandler: { _ in
......@@ -68,8 +68,8 @@ class YHIdentityCardCell: UITableViewCell {
}
}
} else {
if viewModel.mainModel.certificates.passport.imgFront.count != 0 {
self.viewModel.getPublicImageUrl(viewModel.mainModel.certificates.passport.imgFront) {[weak self] success, error in
if viewModel.familyMemberModel.certificates.passport.imgFront.count != 0 {
self.viewModel.getPublicImageUrl(viewModel.familyMemberModel.certificates.passport.imgFront) {[weak self] success, error in
guard let self = self else { return }
guard let url = success else { return }
self.frontImageButton.kf.setBackgroundImage(with: URL(string: url), for: .normal, completionHandler: { _ in
......@@ -317,38 +317,38 @@ class YHIdentityCardCell: UITableViewCell {
@objc func frontImageClick() {
if type == .identity {
if viewModel.mainModel.certificates.cnIdentityCard.imgFront.count != 0 {
if viewModel.familyMemberModel.certificates.cnIdentityCard.imgFront.count != 0 {
// let vc = YHImageViewController()
// vc.imgString = viewModel.mainModel.certificates.cnIdentityCard.imgFront
// UIViewController.current?.navigationController?.pushViewController(vc)
if viewModel.mainModel.certificates.cnIdentityCard.imgFront.isEmpty == false {
if viewModel.familyMemberModel.certificates.cnIdentityCard.imgFront.isEmpty == false {
let vc = YHImageViewController()
vc.imgString = viewModel.mainModel.certificates.cnIdentityCard.imgFront
vc.imgString = viewModel.familyMemberModel.certificates.cnIdentityCard.imgFront
UIViewController.current?.navigationController?.pushViewController(vc)
}
return
}
} else if type == .passport {
if viewModel.mainModel.certificates.hkMacaoPass.imgFront.count != 0 {
if viewModel.familyMemberModel.certificates.hkMacaoPass.imgFront.count != 0 {
// let vc = YHImageViewController()
// vc.imgString = viewModel.mainModel.certificates.hkMacaoPass.imgFront
// UIViewController.current?.navigationController?.pushViewController(vc)
if viewModel.mainModel.certificates.hkMacaoPass.imgFront.isEmpty == false {
if viewModel.familyMemberModel.certificates.hkMacaoPass.imgFront.isEmpty == false {
let vc = YHImageViewController()
vc.imgString = viewModel.mainModel.certificates.hkMacaoPass.imgFront
vc.imgString = viewModel.familyMemberModel.certificates.hkMacaoPass.imgFront
UIViewController.current?.navigationController?.pushViewController(vc)
}
return
}
} else {
if viewModel.mainModel.certificates.passport.imgFront.count != 0 {
if viewModel.familyMemberModel.certificates.passport.imgFront.count != 0 {
if viewModel.mainModel.certificates.passport.imgFront.isEmpty == false {
if viewModel.familyMemberModel.certificates.passport.imgFront.isEmpty == false {
let vc = YHImageViewController()
vc.imgString = viewModel.mainModel.certificates.passport.imgFront
vc.imgString = viewModel.familyMemberModel.certificates.passport.imgFront
UIViewController.current?.navigationController?.pushViewController(vc)
}
......@@ -387,28 +387,28 @@ class YHIdentityCardCell: UITableViewCell {
@objc func backSurfaceImageClick() {
if type == .identity {
if viewModel.mainModel.certificates.cnIdentityCard.imgBack.count != 0 {
if viewModel.familyMemberModel.certificates.cnIdentityCard.imgBack.count != 0 {
// let vc = YHImageViewController()
// vc.imgString = viewModel.mainModel.certificates.cnIdentityCard.imgBack
// UIViewController.current?.navigationController?.pushViewController(vc)
if viewModel.mainModel.certificates.cnIdentityCard.imgBack.isEmpty == false {
if viewModel.familyMemberModel.certificates.cnIdentityCard.imgBack.isEmpty == false {
let vc = YHImageViewController()
vc.imgString = viewModel.mainModel.certificates.cnIdentityCard.imgBack
vc.imgString = viewModel.familyMemberModel.certificates.cnIdentityCard.imgBack
UIViewController.current?.navigationController?.pushViewController(vc)
}
return
}
} else {
if viewModel.mainModel.certificates.hkMacaoPass.imgBack.count != 0 {
if viewModel.familyMemberModel.certificates.hkMacaoPass.imgBack.count != 0 {
// let vc = YHImageViewController()
// vc.imgString = viewModel.mainModel.certificates.hkMacaoPass.imgBack
// UIViewController.current?.navigationController?.pushViewController(vc)
if viewModel.mainModel.certificates.hkMacaoPass.imgBack.isEmpty == false {
if viewModel.familyMemberModel.certificates.hkMacaoPass.imgBack.isEmpty == false {
let vc = YHImageViewController()
vc.imgString = viewModel.mainModel.certificates.hkMacaoPass.imgBack
vc.imgString = viewModel.familyMemberModel.certificates.hkMacaoPass.imgBack
UIViewController.current?.navigationController?.pushViewController(vc)
}
return
......
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