Commit 97e80920 authored by David黄金龙's avatar David黄金龙

Merge commit 'c3021027' into davidhuang

* commit 'c3021027':
  // 家庭信息
parents eb5debea c3021027
...@@ -78,7 +78,8 @@ class YHChildInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol { ...@@ -78,7 +78,8 @@ class YHChildInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol {
updateStepView() updateStepView()
print("step:\(child.step)") print("step:\(child.step)")
currentStep = child.step currentStep = child.step
stepView.maxIndex = child.step
view.addSubview(stepView) view.addSubview(stepView)
view.addSubview(bottomView) view.addSubview(bottomView)
...@@ -140,7 +141,6 @@ class YHChildInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol { ...@@ -140,7 +141,6 @@ class YHChildInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol {
stepView.dataSource = titles stepView.dataSource = titles
let step = currentStep let step = currentStep
currentStep = step currentStep = step
stepView.maxIndex = child.step
stepView.block = { stepView.block = {
[weak self] index in [weak self] index in
......
...@@ -104,6 +104,7 @@ class YHSpouseInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol { ...@@ -104,6 +104,7 @@ class YHSpouseInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol {
updateStepView() updateStepView()
print("step:\(spouse.step)") print("step:\(spouse.step)")
currentStep = spouse.step currentStep = spouse.step
stepView.maxIndex = spouse.step
bottomView.submitBlock = { bottomView.submitBlock = {
[weak self] in [weak self] in
...@@ -162,7 +163,6 @@ class YHSpouseInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol { ...@@ -162,7 +163,6 @@ class YHSpouseInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol {
} }
stepView.dataSource = titles stepView.dataSource = titles
stepView.maxIndex = spouse.step
// 数据源可能会变,所以需要重新设置step // 数据源可能会变,所以需要重新设置step
let step = currentStep let step = currentStep
currentStep = step currentStep = step
......
...@@ -13,6 +13,8 @@ class YHCertificateInfoController: YHBaseViewController, YHFamilyMemberProtol { ...@@ -13,6 +13,8 @@ class YHCertificateInfoController: YHBaseViewController, YHFamilyMemberProtol {
var familyMember:YHFamilyMember? var familyMember:YHFamilyMember?
weak var delegate:YHSpouseInfoVCProtocol? weak var delegate:YHSpouseInfoVCProtocol?
var items:[[YHFormItemProtocol]] = [[YHFormItemProtocol]]() var items:[[YHFormItemProtocol]] = [[YHFormItemProtocol]]()
// 是否显示未填写错误提示
var isNeedShowError = false
lazy var tableView: UITableView = { lazy var tableView: UITableView = {
...@@ -44,7 +46,7 @@ class YHCertificateInfoController: YHBaseViewController, YHFamilyMemberProtol { ...@@ -44,7 +46,7 @@ class YHCertificateInfoController: YHBaseViewController, YHFamilyMemberProtol {
super.viewDidLoad() super.viewDidLoad()
gk_navTitle = "证件信息填写".local gk_navTitle = "证件信息填写".local
createUI() createUI()
loadCertificateInfo() loadInfo()
} }
func createUI() { func createUI() {
...@@ -60,58 +62,44 @@ class YHCertificateInfoController: YHBaseViewController, YHFamilyMemberProtol { ...@@ -60,58 +62,44 @@ class YHCertificateInfoController: YHBaseViewController, YHFamilyMemberProtol {
} }
guard let familyMember = familyMember else { return } guard let familyMember = familyMember else { return }
loadCertificateInfo() loadInfo()
} }
func loadCertificateInfo() { func loadInfo() {
guard let familyMember = familyMember else { return } guard let familyMember = familyMember else { return }
items.removeAll() items.removeAll()
// 中国身份证 信息必有 // 中国身份证 信息必有
let title0 = YHFormTitleItem(type: .chinaIdCardInfo) let title0 = YHFormTitleItem(type: .chinaIdCardInfo)
let item01 = YHFormDetailItem(type: .chinaIdentityCardNumber)
let item02 = YHFormDetailItem(type: .certificateSignPlace) let item01 = YHFormDetailItem(type: .chinaIdentityCardNumber, value:familyMember.certificates.cnIdentityCard.number, tips: "请输入中国身份证号".local)
let item03 = YHFormDetailItem(type: .certificateSignDate) let item02 = YHFormDetailItem(type: .certificateSignPlace, value:familyMember.certificates.cnIdentityCard.issueAt, tips: "请输入签发地".local)
let item04 = YHFormDetailItem(type: .certificateValidDate) let item03 = YHFormDetailItem(type: .certificateSignDate, value:familyMember.certificates.cnIdentityCard.issueDateStartAt, tips: "请选择签发日期".local)
let item04 = YHFormDetailItem(type: .certificateValidDate, value:familyMember.certificates.cnIdentityCard.issueDateEndAt, tips: "请选择签发日期".local)
let arr0:[YHFormItemProtocol] = [title0, item01, item02, item03, item04] let arr0:[YHFormItemProtocol] = [title0, item01, item02, item03, item04]
items.append(arr0) items.append(arr0)
item01.value = familyMember.certificates.cnIdentityCard.number
item02.value = familyMember.certificates.cnIdentityCard.issueAt
item03.value = familyMember.certificates.cnIdentityCard.issueDateStartAt
item04.value = familyMember.certificates.cnIdentityCard.issueDateEndAt
// 港澳通行证 非必须 // 港澳通行证 非必须
if familyMember.isNeedHandleHKPassPort() { if familyMember.isNeedHandleHKPassPort() {
let title1 = YHFormTitleItem(type: .hkAndMacaoPassport) let title1 = YHFormTitleItem(type: .hkAndMacaoPassport)
let item10 = YHFormDetailItem(type: .traverlPassportNumber) let item10 = YHFormDetailItem(type: .traverlPassportNumber, value: familyMember.certificates.hkMacaoPass.number, tips:"请输入旅行证件号码".local)
let item11 = YHFormDetailItem(type: .certificateSignPlace) let item11 = YHFormDetailItem(type: .certificateSignPlace, value: familyMember.certificates.hkMacaoPass.issueAt, tips:"请输入签发地".local)
let item12 = YHFormDetailItem(type: .certificateSignDate) let item12 = YHFormDetailItem(type: .certificateSignDate, value: familyMember.certificates.hkMacaoPass.issueDateStartAt, tips:"请选择签发日期".local)
let item13 = YHFormDetailItem(type: .certificateValidDate) let item13 = YHFormDetailItem(type: .certificateValidDate, 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)
item10.value = familyMember.certificates.hkMacaoPass.number
item11.value = familyMember.certificates.hkMacaoPass.issueAt
item12.value = familyMember.certificates.hkMacaoPass.issueDateStartAt
item13.value = familyMember.certificates.hkMacaoPass.issueDateEndAt
} }
// 护照及其他旅行证件 信息必有 // 护照及其他旅行证件 信息必有
let title2 = YHFormTitleItem(type: .passPortOrTravelInfo) let title2 = YHFormTitleItem(type: .passPortOrTravelInfo)
let item20 = YHFormDetailItem(type: .certificateType, isNeed: false) let item20 = YHFormDetailItem(type: .certificateType, isNeed: false, value:String(familyMember.certificates.passport.passportType), tips:"请选择证件类别".local)
let item21 = YHFormDetailItem(type: .certificateNumber, isNeed: false) let item21 = YHFormDetailItem(type: .certificateNumber, isNeed: false, value: familyMember.certificates.passport.number, tips: "请输入证件号码".local)
let item22 = YHFormDetailItem(type: .certificateSignPlace, isNeed: false) let item22 = YHFormDetailItem(type: .certificateSignPlace, isNeed: false, value: familyMember.certificates.passport.issueAt, tips:"请输入签发地".local)
let item23 = YHFormDetailItem(type: .certificateSignDate, isNeed: false) let item23 = YHFormDetailItem(type: .certificateSignDate, isNeed: false, value:familyMember.certificates.passport.issueDateStartAt, tips:"请选择签发日期".local)
let item24 = YHFormDetailItem(type: .certificateValidDate, isNeed: false) let item24 = YHFormDetailItem(type: .certificateValidDate, isNeed: false, value:familyMember.certificates.passport.issueDateEndAt,tips:"请选择届满日期".local)
let arr2:[YHFormItemProtocol] = [title2, item20, item21, item22, item23, item24] let arr2:[YHFormItemProtocol] = [title2, item20, item21, item22, item23, item24]
items.append(arr2) items.append(arr2)
item20.value = String(familyMember.certificates.passport.passportType)
item21.value = familyMember.certificates.passport.number
item22.value = familyMember.certificates.passport.issueAt
item23.value = familyMember.certificates.passport.issueDateStartAt
item24.value = familyMember.certificates.passport.issueDateEndAt
// 证件类别名称 // 证件类别名称
var selectType:YHFormPickerViewSubType = .certificate(.passport) var selectType:YHFormPickerViewSubType = .certificate(.passport)
...@@ -164,6 +152,7 @@ extension YHCertificateInfoController : UITableViewDelegate, UITableViewDataSour ...@@ -164,6 +152,7 @@ extension YHCertificateInfoController : UITableViewDelegate, UITableViewDataSour
cell.placeHolder = detailItem.placeHolder cell.placeHolder = detailItem.placeHolder
cell.title = detailItem.getTitle() cell.title = detailItem.getTitle()
cell.text = detailItem.value cell.text = detailItem.value
cell.setTips(detailItem.tips, isShow: isNeedShowError && detailItem.isShowTips)
cell.textChange = { cell.textChange = {
[weak self] (text, isEditEnd) in [weak self] (text, isEditEnd) in
...@@ -191,6 +180,7 @@ extension YHCertificateInfoController : UITableViewDelegate, UITableViewDataSour ...@@ -191,6 +180,7 @@ extension YHCertificateInfoController : UITableViewDelegate, UITableViewDataSour
} }
} }
if isEditEnd { if isEditEnd {
self.loadInfo()
self.save() self.save()
} }
} }
...@@ -203,15 +193,38 @@ extension YHCertificateInfoController : UITableViewDelegate, UITableViewDataSour ...@@ -203,15 +193,38 @@ extension YHCertificateInfoController : UITableViewDelegate, UITableViewDataSour
cell.isMust = detailItem.isNeed cell.isMust = detailItem.isNeed
cell.title = detailItem.getTitle() cell.title = detailItem.getTitle()
cell.detail = detailItem.value cell.detail = detailItem.value
cell.setTips(detailItem.tips, isShow: isNeedShowError && detailItem.isShowTips)
return cell return cell
} }
if detailItem.type == .certificateValidDate { if detailItem.type == .certificateValidDate { // 届满日期
if title.type == .chinaIdCardInfo { // 身份证
let cell = tableView.dequeueReusableCell(withIdentifier: YHFormItemExpireDateCell.cellReuseIdentifier, for: indexPath) as! YHFormItemExpireDateCell
cell.isMust = detailItem.isNeed
cell.title = detailItem.getTitle()
cell.detail = (detailItem.value == YHCNIdentityCard.longTime ? "" : detailItem.value)
cell.isLontTime = (detailItem.value == YHCNIdentityCard.longTime)
cell.clickBlock = {
[weak self] isLongTime in
guard let self = self else { return }
if title.type == .chinaIdCardInfo {
self.familyMember?.certificates.cnIdentityCard.issueDateEndAt = (isLongTime ? YHCNIdentityCard.longTime : "")
loadInfo()
save()
}
}
cell.setTips(detailItem.tips, isShow: isNeedShowError && detailItem.isShowTips)
return cell
}
let cell = tableView.dequeueReusableCell(withIdentifier: YHFormItemExpireDateCell.cellReuseIdentifier, for: indexPath) as! YHFormItemExpireDateCell let cell = tableView.dequeueReusableCell(withIdentifier: YHFormItemSelectSheetCell.cellReuseIdentifier, for: indexPath) as! YHFormItemSelectSheetCell
cell.isMust = detailItem.isNeed cell.isMust = detailItem.isNeed
cell.title = detailItem.getTitle() cell.title = detailItem.getTitle()
cell.detail = detailItem.value cell.detail = detailItem.value
cell.setTips(detailItem.tips, isShow: isNeedShowError && detailItem.isShowTips)
return cell return cell
} }
} }
...@@ -279,11 +292,13 @@ extension YHCertificateInfoController : UITableViewDelegate, UITableViewDataSour ...@@ -279,11 +292,13 @@ extension YHCertificateInfoController : UITableViewDelegate, UITableViewDataSour
if item is YHFormDetailItem { if item is YHFormDetailItem {
let detailItem = item as! YHFormDetailItem let detailItem = item as! YHFormDetailItem
let title = arr[0] as! YHFormTitleItem let title = arr[0] as! YHFormTitleItem
if detailItem.type == .certificateValidDate || if detailItem.type == .certificateValidDate ||
detailItem.type == .certificateSignDate { // 届满日期 签发日期 detailItem.type == .certificateSignDate { // 届满日期 签发日期
self.view?.endEditing(true) self.view?.endEditing(true)
YHDatePickView.show(type: .yyyymmdd) { [weak self] date in YHDatePickView.show(type: .yyyymmdd) {
[weak self] date in
let dataArr = date.components(separatedBy: YHDatePickView.separator) let dataArr = date.components(separatedBy: YHDatePickView.separator)
print(dataArr) print(dataArr)
guard let self = self else { return } guard let self = self else { return }
...@@ -300,7 +315,7 @@ extension YHCertificateInfoController : UITableViewDelegate, UITableViewDataSour ...@@ -300,7 +315,7 @@ extension YHCertificateInfoController : UITableViewDelegate, UITableViewDataSour
certificate = familyMember.certificates.passport certificate = familyMember.certificates.passport
} }
changeCertificateDate(certificate, type: detailItem.type, date: date) changeCertificateDate(certificate, type: detailItem.type, date: date)
self.loadCertificateInfo() self.loadInfo()
save() save()
} }
} else if detailItem.type == .certificateType { // 选择证件类别 } else if detailItem.type == .certificateType { // 选择证件类别
...@@ -316,7 +331,7 @@ extension YHCertificateInfoController : UITableViewDelegate, UITableViewDataSour ...@@ -316,7 +331,7 @@ extension YHCertificateInfoController : UITableViewDelegate, UITableViewDataSour
[weak self] selectType in [weak self] selectType in
guard let self = self else { return } guard let self = self else { return }
self.familyMember?.certificates.passport.passportType = selectType.index self.familyMember?.certificates.passport.passportType = selectType.index
self.loadCertificateInfo() self.loadInfo()
self.save() self.save()
} }
} }
...@@ -327,6 +342,7 @@ extension YHCertificateInfoController : UITableViewDelegate, UITableViewDataSour ...@@ -327,6 +342,7 @@ extension YHCertificateInfoController : UITableViewDelegate, UITableViewDataSour
func changeCertificateDate(_ certificate:YHCNIdentityCard?, type:YHFormDetailItemType, date:String?) { func changeCertificateDate(_ certificate:YHCNIdentityCard?, type:YHFormDetailItemType, date:String?) {
if type == .certificateSignDate { if type == .certificateSignDate {
certificate?.issueDateStartAt = date ?? "" certificate?.issueDateStartAt = date ?? ""
} else if type == .certificateValidDate { } else if type == .certificateValidDate {
certificate?.issueDateEndAt = date ?? "" certificate?.issueDateEndAt = date ?? ""
} }
...@@ -355,11 +371,44 @@ extension YHCertificateInfoController : UITableViewDelegate, UITableViewDataSour ...@@ -355,11 +371,44 @@ extension YHCertificateInfoController : UITableViewDelegate, UITableViewDataSour
} }
} }
func loadInfo() { // 检查填写信息完整性
self.tableView.reloadData() func checkIntegrity() -> Bool {
guard let familyMember = familyMember else { return false}
// 验证身份证
if familyMember.certificates.cnIdentityCard.number.count <= 0
|| familyMember.certificates.cnIdentityCard.issueAt.count <= 0
|| familyMember.certificates.cnIdentityCard.issueDateStartAt.count <= 0
|| familyMember.certificates.cnIdentityCard.issueDateEndAt.count <= 0
{
return false
}
if familyMember.isNeedHandleHKPassPort() {
// 如果选了办理过港澳通行证,则需要验证港澳通行证
if familyMember.certificates.hkMacaoPass.number.count <= 0
|| familyMember.certificates.hkMacaoPass.issueAt.count <= 0
|| familyMember.certificates.hkMacaoPass.issueDateStartAt.count <= 0
|| familyMember.certificates.hkMacaoPass.issueDateEndAt.count <= 0
|| familyMember.certificates.hkMacaoPass.passportType == -1
{
return false
}
}
return true
} }
func nextStep()->Bool { func nextStep() -> Bool {
let isChecked = checkIntegrity()
isNeedShowError = !isChecked
loadInfo()
if !isChecked {
YHHUD.flash(message: "资料还未填完")
return false
}
return true return true
} }
} }
......
...@@ -1239,6 +1239,7 @@ class YHCertificates: SmartCodable { ...@@ -1239,6 +1239,7 @@ class YHCertificates: SmartCodable {
// MARK: - YHCNIdentityCard // MARK: - YHCNIdentityCard
class YHCNIdentityCard: SmartCodable { class YHCNIdentityCard: SmartCodable {
static let longTime = "8888-01-01"
var id: Int = 0 var id: Int = 0
var number: String = "" var number: String = ""
var issueAt: String = "" var issueAt: String = ""
...@@ -1246,7 +1247,7 @@ class YHCNIdentityCard: SmartCodable { ...@@ -1246,7 +1247,7 @@ class YHCNIdentityCard: SmartCodable {
var issueDateEndAt: String = "" var issueDateEndAt: String = ""
var imgFront: String = "" var imgFront: String = ""
var imgBack: String = "" var imgBack: String = ""
var passportType: Int = 0 var passportType: Int = -1
enum CodingKeys: String, CodingKey { enum CodingKeys: String, CodingKey {
case id = "id" case id = "id"
......
...@@ -14,8 +14,8 @@ class YHFamilyRequestViewModel { ...@@ -14,8 +14,8 @@ class YHFamilyRequestViewModel {
//请求所有家庭成员信息 //请求所有家庭成员信息
func getFamilyInfo(params:[String:Any], callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) { func getFamilyInfo(params:[String:Any], callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Family.familyInfoApi // let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Family.familyInfoApi
// let strUrl = "http://192.168.34.187:8808/" + YHAllApiName.Family.familyInfoApi let strUrl = "http://192.168.34.187:8808/" + YHAllApiName.Family.familyInfoApi
YHHUD.show(.progress(message: "数据加载中...")) YHHUD.show(.progress(message: "数据加载中..."))
...@@ -45,8 +45,8 @@ class YHFamilyRequestViewModel { ...@@ -45,8 +45,8 @@ class YHFamilyRequestViewModel {
YHHUD.show(.progress(message: "数据加载中...")) YHHUD.show(.progress(message: "数据加载中..."))
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Family.familyInfoApi // let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Family.familyInfoApi
// let strUrl = "http://192.168.34.187:8808/" + YHAllApiName.Family.familyInfoApi let strUrl = "http://192.168.34.187:8808/" + YHAllApiName.Family.familyInfoApi
let _ = YHNetRequest.postRequest(url: strUrl, params:params) {[weak self] json, code in let _ = YHNetRequest.postRequest(url: strUrl, params:params) {[weak self] json, code in
......
...@@ -20,7 +20,7 @@ class YHFormItemExpireDateCell: UITableViewCell { ...@@ -20,7 +20,7 @@ class YHFormItemExpireDateCell: UITableViewCell {
var isMust = false var isMust = false
var placeHolder:String? = "请选择" var placeHolder:String? = "请选择"
var clickBlock:(()->Void)? var clickBlock:((Bool)->Void)?
// 是否隐藏顶部分割线 // 是否隐藏顶部分割线
var isHiddenTopLine:Bool = false { var isHiddenTopLine:Bool = false {
didSet { didSet {
...@@ -185,11 +185,15 @@ class YHFormItemExpireDateCell: UITableViewCell { ...@@ -185,11 +185,15 @@ class YHFormItemExpireDateCell: UITableViewCell {
func updateUI() { func updateUI() {
detailLabel.isHidden = isLontTime detailLabel.isHidden = isLontTime
tipsLabel.isHidden = isLontTime if isLontTime {
tipsLabel.isHidden = true
} else {
tipsLabel.isHidden = !isEmptyString(detail)
}
longTimeBtn.isSelected = isLontTime
longTimeBtn.snp.remakeConstraints { make in longTimeBtn.snp.remakeConstraints { make in
make.size.equalTo(CGSizeMake(longTimeBtnWidth, 40)) make.size.equalTo(CGSizeMake(longTimeBtnWidth, 40))
make.centerY.equalToSuperview() make.centerY.equalTo(titleLabel)
if isLontTime { if isLontTime {
make.left.equalTo(detailLabel) make.left.equalTo(detailLabel)
} else { } else {
...@@ -200,11 +204,10 @@ class YHFormItemExpireDateCell: UITableViewCell { ...@@ -200,11 +204,10 @@ class YHFormItemExpireDateCell: UITableViewCell {
@objc func didClickLongTimeBtn() { @objc func didClickLongTimeBtn() {
longTimeBtn.isSelected = !longTimeBtn.isSelected isLontTime = !isLontTime
isLontTime = longTimeBtn.isSelected
if let clickBlock = clickBlock { if let clickBlock = clickBlock {
clickBlock() clickBlock(isLontTime)
} }
} }
} }
...@@ -46,7 +46,7 @@ class YHFormItemInputTextCell: UITableViewCell { ...@@ -46,7 +46,7 @@ class YHFormItemInputTextCell: UITableViewCell {
var placeHolder:String? { var placeHolder:String? {
didSet { didSet {
if let placeHolder = placeHolder { if let placeHolder = placeHolder, !placeHolder.isEmpty {
textField.attributedPlaceholder = NSAttributedString(string: placeHolder, attributes: [NSAttributedString.Key.foregroundColor : UIColor.placeHolderColor]) textField.attributedPlaceholder = NSAttributedString(string: placeHolder, attributes: [NSAttributedString.Key.foregroundColor : UIColor.placeHolderColor])
} else { } else {
textField.attributedPlaceholder = NSAttributedString(string: "请输入", attributes: [NSAttributedString.Key.foregroundColor : UIColor.placeHolderColor]) textField.attributedPlaceholder = NSAttributedString(string: "请输入", attributes: [NSAttributedString.Key.foregroundColor : UIColor.placeHolderColor])
......
...@@ -51,7 +51,7 @@ class YHFormItemSelectSheetCell: UITableViewCell { ...@@ -51,7 +51,7 @@ class YHFormItemSelectSheetCell: UITableViewCell {
detailLabel.text = detail detailLabel.text = detail
detailLabel.textColor = detailColor detailLabel.textColor = detailColor
} else { } else {
detailLabel.text = placeHolder detailLabel.text = isEmptyString(placeHolder) ? "请选择" : placeHolder
detailLabel.textColor = placeHolderColor detailLabel.textColor = placeHolderColor
} }
} }
......
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