Commit 379921ee authored by Steven杜宇's avatar Steven杜宇

// 证书

parent 23ca0164
...@@ -66,54 +66,111 @@ class YHCertificateInfoController: YHBaseViewController, YHFamilyMemberProtol { ...@@ -66,54 +66,111 @@ class YHCertificateInfoController: YHBaseViewController, YHFamilyMemberProtol {
loadInfo() loadInfo()
} }
func loadInfo() { func showLogic() -> (showHK: Bool, isHKMust: Bool, showPassport: Bool, isPassportMust: Bool) {
guard let familyMember = familyMember else { return (false, false, false, false) }
// 中国国籍&居住国内、中国国籍&居住国外不满一年
// 1) 办理过港澳通
// 证件上传:身份证+港澳通
// 证件信息:港澳通行证必填(无身份证、护照)
//
// 2) 没办理过港澳通
// 证件上传:身份证
// 证件信息:港澳通行证非必填(无身份证、护照)
//
// 中国国籍&居住国外满一年
// 证件上传:护照+身份证
// 证件信息:护照必填(无身份证)
//
// 外籍国籍(无论是否在国外居住满一年):
// 证件上传:护照
// 证件信息:仅护照且必填(无身份证)
// 是否显示港澳通行证
var showHK = false
// 港澳通行证是否必填
var isHKMust = false
// 是否显示护照
var showPassport = false
// 护照是否必填
var isPassportMust = false
if familyMember.nationality.contains("中国") { // 中国国籍
let isLiveInChina = familyMember.address.country.contains("中国".local)
if isLiveInChina { // 居住国内
if !familyMember.certificates.hkMacaoPass.number.isEmpty { // 没办理过港澳通行证
// 证件信息:港澳通行证非必填(无身份证、护照)
showHK = true
isHKMust = false
} else { // 办理过港澳通行证
// 证件信息:港澳通行证必填(无身份证、护照)
showHK = true
isHKMust = true
}
} else { // 居住国外
if !familyMember.isOverSeasOver1Year() { // 居住国外不满一年
if !familyMember.certificates.hkMacaoPass.number.isEmpty { // 没办理过港澳通行证
// 证件信息:港澳通行证非必填(无身份证、护照)
showHK = true
isHKMust = false
} else { // 办理过港澳通行证
// 证件信息:港澳通行证必填(无身份证、护照)
showHK = true
isHKMust = true
}
} else { // 居住国外满一年
// 证件信息:护照必填(无身份证)
showPassport = true
isPassportMust = true
}
}
} else { // 外国国籍
// 证件信息:仅护照且必填(无身份证)
showPassport = true
isPassportMust = true
}
return (showHK, isHKMust, showPassport, isPassportMust)
}
func loadInfo() {
guard let familyMember = familyMember else { return } guard let familyMember = familyMember else { return }
items.removeAll() items.removeAll()
// 中国身份证 let a = showLogic()
let isChinaCardMust = familyMember.isChinese() && familyMember.relationType != .child let showHK = a.showHK
let title0 = YHFormTitleItem(type: .chinaIdCardInfo) let isHKMust = a.isHKMust
let showPassport = a.showPassport
let item01 = YHFormDetailItem(type: .chinaIdentityCardNumber, isNeed:isChinaCardMust, value:familyMember.certificates.cnIdentityCard.number, tips: "请输入正确的中国身份证号".local) let isPassportMust = a.isPassportMust
let item02 = YHFormDetailItem(type: .certificateSignPlace, isNeed:isChinaCardMust, value:familyMember.certificates.cnIdentityCard.issueAt, tips: "请输入签发地".local)
let item03 = YHFormDetailItem(type: .certificateSignDate, isNeed:isChinaCardMust, value:familyMember.certificates.cnIdentityCard.issueDateStartAt, tips: "请选择签发日期".local)
let item04 = YHFormDetailItem(type: .certificateValidDate, isNeed:isChinaCardMust, value:familyMember.certificates.cnIdentityCard.issueDateEndAt, tips: "请选择签发日期".local)
let arr0:[YHFormItemProtocol] = [title0, item01, item02, item03, item04]
items.append(arr0)
if showHK { // 显示港澳通行证
// 港澳通行证 非必须
if familyMember.isNeedHandleHKPassPort() {
let title1 = YHFormTitleItem(type: .hkAndMacaoPassport) let title1 = YHFormTitleItem(type: .hkAndMacaoPassport)
let item10 = YHFormDetailItem(type: .traverlPassportNumber, value: familyMember.certificates.hkMacaoPass.number, tips:"请输入证件号码".local) let item10 = YHFormDetailItem(type: .traverlPassportNumber, isNeed:isHKMust, value: familyMember.certificates.hkMacaoPass.number, tips:"请输入证件号码".local)
let item11 = YHFormDetailItem(type: .certificateSignPlace, value: familyMember.certificates.hkMacaoPass.issueAt, tips:"请输入签发地".local) let item11 = YHFormDetailItem(type: .certificateSignPlace, isNeed:isHKMust, value: familyMember.certificates.hkMacaoPass.issueAt, tips:"请输入签发地".local)
let item12 = YHFormDetailItem(type: .certificateSignDate, value: familyMember.certificates.hkMacaoPass.issueDateStartAt, tips:"请选择签发日期".local) let item12 = YHFormDetailItem(type: .certificateSignDate, isNeed:isHKMust, value: familyMember.certificates.hkMacaoPass.issueDateStartAt, tips:"请选择签发日期".local)
let item13 = YHFormDetailItem(type: .certificateValidDate, value: familyMember.certificates.hkMacaoPass.issueDateEndAt, tips:"请选择届满日期".local) let item13 = YHFormDetailItem(type: .certificateValidDate, isNeed:isHKMust, value: familyMember.certificates.hkMacaoPass.issueDateEndAt, tips:"请选择届满日期".local)
let arr1:[YHFormItemProtocol] = [title1, item10, item11, item12, item13] let arr1:[YHFormItemProtocol] = [title1, item10, item11, item12, item13]
items.append(arr1) items.append(arr1)
} }
// 护照及其他旅行证件 信息必有 if showPassport { // 显示护照
let isPassPortMust = !familyMember.isChinese()
let title2 = YHFormTitleItem(type: .passPortOrTravelInfo) let title2 = YHFormTitleItem(type: .passPortOrTravelInfo)
let item21 = YHFormDetailItem(type: .certificateNumber, isNeed: isPassportMust, value: familyMember.certificates.passport.number, tips: "请输入证件号码".local)
// 证件类别名称 let item22 = YHFormDetailItem(type: .certificateSignPlace, isNeed: isPassportMust, value: familyMember.certificates.passport.issueAt, tips:"请输入签发地".local)
var value = "" let item23 = YHFormDetailItem(type: .certificateSignDate, isNeed: isPassportMust, value:familyMember.certificates.passport.issueDateStartAt, tips:"请选择签发日期".local)
let passPortType = self.familyMember?.certificates.passport.passPortType ?? 0 let item24 = YHFormDetailItem(type: .certificateValidDate, isNeed: isPassportMust, value:familyMember.certificates.passport.issueDateEndAt,tips:"请选择届满日期".local)
if let item = YHSheetPickerView.getItem(type:.certificate, index:passPortType) { let arr2:[YHFormItemProtocol] = [title2, item21, item22, item23, item24]
value = item.title
}
let item20 = YHFormDetailItem(type: .certificateType, isNeed: isPassPortMust, value:value, tips:"请选择证件类别".local)
let item21 = YHFormDetailItem(type: .certificateNumber, isNeed: isPassPortMust, value: familyMember.certificates.passport.number, tips: "请输入证件号码".local)
let item22 = YHFormDetailItem(type: .certificateSignPlace, isNeed: isPassPortMust, value: familyMember.certificates.passport.issueAt, tips:"请输入签发地".local)
let item23 = YHFormDetailItem(type: .certificateSignDate, isNeed: isPassPortMust, value:familyMember.certificates.passport.issueDateStartAt, tips:"请选择签发日期".local)
let item24 = YHFormDetailItem(type: .certificateValidDate, isNeed: isPassPortMust, value:familyMember.certificates.passport.issueDateEndAt,tips:"请选择届满日期".local)
let arr2:[YHFormItemProtocol] = [title2, item20, item21, item22, item23, item24]
items.append(arr2) items.append(arr2)
}
tableView.reloadData() tableView.reloadData()
} }
} }
extension YHCertificateInfoController : UITableViewDelegate, UITableViewDataSource { extension YHCertificateInfoController : UITableViewDelegate, UITableViewDataSource {
...@@ -141,31 +198,31 @@ extension YHCertificateInfoController : UITableViewDelegate, UITableViewDataSour ...@@ -141,31 +198,31 @@ extension YHCertificateInfoController : UITableViewDelegate, UITableViewDataSour
let titleItem = item as! YHFormTitleItem let titleItem = item as! YHFormTitleItem
let cell = tableView.dequeueReusableCell(withIdentifier: YHFormItemTitleCell.cellReuseIdentifier, for: indexPath) as! YHFormItemTitleCell let cell = tableView.dequeueReusableCell(withIdentifier: YHFormItemTitleCell.cellReuseIdentifier, for: indexPath) as! YHFormItemTitleCell
var isNeedText = "" // var isNeedText = ""
if titleItem.type == .chinaIdCardInfo { // if titleItem.type == .chinaIdCardInfo {
if let familyMember = familyMember { // if let familyMember = familyMember {
let isChinaCardMust = familyMember.isChinese() && familyMember.relationType != .child // let isChinaCardMust = familyMember.isChinese() && familyMember.relationType != .child
isNeedText = isChinaCardMust ? "(必填)" : "(选填)" // isNeedText = isChinaCardMust ? "(必填)" : "(选填)"
} // }
//
} else if titleItem.type == .hkAndMacaoPassport { // } else if titleItem.type == .hkAndMacaoPassport {
if let familyMember = familyMember { // if let familyMember = familyMember {
isNeedText = familyMember.isNeedHandleHKPassPort() ? "(必填)" : "(选填)" // isNeedText = familyMember.isNeedHandleHKPassPort() ? "(必填)" : "(选填)"
} // }
//
} else if titleItem.type == .passPortOrTravelInfo { // } else if titleItem.type == .passPortOrTravelInfo {
if let familyMember = familyMember { // if let familyMember = familyMember {
let isPassPortMust = !familyMember.isChinese() // let isPassPortMust = !familyMember.isChinese()
isNeedText = isPassPortMust ? "(必填)" : "(选填)" // isNeedText = isPassPortMust ? "(必填)" : "(选填)"
} // }
} // }
var title = "" var title = item.getTitle()
if isNeedText.isEmpty { // if isNeedText.isEmpty {
title = item.getTitle() // title = item.getTitle()
} else { // } else {
title = "\(item.getTitle())\(isNeedText)" // title = "\(item.getTitle())\(isNeedText)"
} // }
cell.setTitleAndSubTitle(title: title) cell.setTitleAndSubTitle(title: title)
return cell return cell
} }
...@@ -465,19 +522,13 @@ extension YHCertificateInfoController : UITableViewDelegate, UITableViewDataSour ...@@ -465,19 +522,13 @@ extension YHCertificateInfoController : UITableViewDelegate, UITableViewDataSour
guard let familyMember = familyMember else { return false} guard let familyMember = familyMember else { return false}
let isChinaCardMust = familyMember.isChinese() && familyMember.relationType != .child let a = showLogic()
if isChinaCardMust { let showHK = a.showHK
if familyMember.certificates.cnIdentityCard.number.count != 18 let isHKMust = a.isHKMust
|| familyMember.certificates.cnIdentityCard.issueAt.count <= 0 let showPassport = a.showPassport
|| familyMember.certificates.cnIdentityCard.issueDateStartAt.count <= 0 let isPassportMust = a.isPassportMust
|| familyMember.certificates.cnIdentityCard.issueDateEndAt.count <= 0
{
return false
}
}
// 如果选了办理过港澳通行证,则需要验证港澳通行证 if showHK, isHKMust {
if familyMember.isNeedHandleHKPassPort() {
if familyMember.certificates.hkMacaoPass.number.count <= 0 if familyMember.certificates.hkMacaoPass.number.count <= 0
|| familyMember.certificates.hkMacaoPass.issueAt.count <= 0 || familyMember.certificates.hkMacaoPass.issueAt.count <= 0
...@@ -488,13 +539,11 @@ extension YHCertificateInfoController : UITableViewDelegate, UITableViewDataSour ...@@ -488,13 +539,11 @@ extension YHCertificateInfoController : UITableViewDelegate, UITableViewDataSour
} }
} }
// 是老外需验证护照 if showPassport, isPassportMust {
if !familyMember.isChinese() {
if familyMember.certificates.passport.number.count <= 0 if familyMember.certificates.passport.number.count <= 0
|| familyMember.certificates.passport.issueAt.count <= 0 || familyMember.certificates.passport.issueAt.count <= 0
|| familyMember.certificates.passport.issueDateStartAt.count <= 0 || familyMember.certificates.passport.issueDateStartAt.count <= 0
|| familyMember.certificates.passport.issueDateEndAt.count <= 0 || familyMember.certificates.passport.issueDateEndAt.count <= 0
|| familyMember.certificates.passport.passPortType == 0
{ {
return false return false
} }
......
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