Commit c339aefb authored by Steven杜宇's avatar Steven杜宇

// 家庭信息确认

parent ec24856c
...@@ -180,7 +180,12 @@ extension YHFamilyInfoUpdateViewController: UITableViewDelegate, UITableViewData ...@@ -180,7 +180,12 @@ extension YHFamilyInfoUpdateViewController: UITableViewDelegate, UITableViewData
[weak self] isEdit in [weak self] isEdit in
guard let self = self else { return } guard let self = self else { return }
self.isInfoEditing = isEdit self.isInfoEditing = isEdit
self.updateData() self.getData()
}
cell.selectBirthNation = {
[weak self] isInChina in
guard let self = self else { return }
self.getData()
} }
} else { } else {
......
...@@ -99,6 +99,44 @@ class YHFamilyMemberInfoModel: SmartCodable { ...@@ -99,6 +99,44 @@ class YHFamilyMemberInfoModel: SmartCodable {
return "" return ""
} }
func getMarriageState() -> String {
return self.getMarriageStatus(self.married)
}
func getHistoryMarriageState() -> String {
return self.getMarriageStatus(self.marriedHistory)
}
func getBirthNation() -> String {
if self.birthPlaceAboard == 0 {
return "国内"
} else if self.birthPlaceAboard == 1 {
return "国外"
}
return "未知"
}
func getHistoryBirthNation() -> String {
if self.birthPlaceAboardHistory == 0 {
return "国内"
} else if self.birthPlaceAboardHistory == 1 {
return "国外"
}
return "未知"
}
private func getMarriageStatus(_ marrage: String) -> String {
let arr = YHSheetPickerView.dataSource[.marriage1]!
for item in arr {
if item.index == Int(marrage) {
return item.title
}
}
return ""
}
required init() { required init() {
} }
......
...@@ -16,14 +16,15 @@ enum YHFamilyInfoType: Int { ...@@ -16,14 +16,15 @@ enum YHFamilyInfoType: Int {
case lastName = 3 case lastName = 3
case marriage = 4 case marriage = 4
case birthNation = 5 case birthNation = 5
case birthPlace = 6 case birthPlaceInChina = 6
case declareNation = 7 case birthPlaceAboard = 7
case occupation = 8 case declareNation = 8
case hongKongId = 9 case occupation = 9
case travelCertificateType = 10 case hongKongId = 10
case travelCertificateId = 11 case travelCertificateType = 11
case childName = 12 case travelCertificateId = 12
case spouseName = 13 case childName = 13
case spouseName = 14
} }
enum YHFamilyInfoActionType: Int { enum YHFamilyInfoActionType: Int {
...@@ -35,9 +36,11 @@ enum YHFamilyInfoActionType: Int { ...@@ -35,9 +36,11 @@ enum YHFamilyInfoActionType: Int {
class YHFamilyInfoOption { class YHFamilyInfoOption {
var value: String = "" var value: String = ""
var index: Int = -1
var isSelect: Bool = false var isSelect: Bool = false
init(value: String, isSelect: Bool) { init(index: Int, value: String, isSelect: Bool) {
self.index = index
self.value = value self.value = value
self.isSelect = isSelect self.isSelect = isSelect
} }
...@@ -88,6 +91,7 @@ class YHIFamilyInfoListCell: UITableViewCell { ...@@ -88,6 +91,7 @@ class YHIFamilyInfoListCell: UITableViewCell {
} }
} }
var editBlock:((Bool)->())? var editBlock:((Bool)->())?
var selectBirthNation:((Bool)->())?
lazy var whiteView: UIView = { lazy var whiteView: UIView = {
let view = UIView() let view = UIView()
...@@ -181,6 +185,14 @@ class YHIFamilyInfoListCell: UITableViewCell { ...@@ -181,6 +185,14 @@ class YHIFamilyInfoListCell: UITableViewCell {
itemView.updateItem(item, familyInfo: familyInfo) itemView.updateItem(item, familyInfo: familyInfo)
} else if let itemView = itemView as? YHInfoOptionView { } else if let itemView = itemView as? YHInfoOptionView {
itemView.clickBlock = {
[weak self] selectItem in
guard let self = self else { return }
if item.id == .birthNation {
familyInfo.birthPlaceAboard = selectItem.index
self.selectBirthNation?(familyInfo.birthPlaceAboard == 0)
}
}
itemsContentView.addSubview(itemView) itemsContentView.addSubview(itemView)
itemView.updateItem(item, familyInfo: familyInfo) itemView.updateItem(item, familyInfo: familyInfo)
} }
......
...@@ -33,7 +33,6 @@ class YHInfoItemView: UIView { ...@@ -33,7 +33,6 @@ class YHInfoItemView: UIView {
let label = UILabel() let label = UILabel()
label.numberOfLines = 0 label.numberOfLines = 0
label.font = UIFont.PFSC_M(ofSize: 14) label.font = UIFont.PFSC_M(ofSize: 14)
label.text = "张全蛋"
label.textColor = UIColor.mainTextColor label.textColor = UIColor.mainTextColor
return label return label
}() }()
...@@ -66,7 +65,6 @@ class YHInfoItemView: UIView { ...@@ -66,7 +65,6 @@ class YHInfoItemView: UIView {
lazy var previousTitleLabel: UILabel = { lazy var previousTitleLabel: UILabel = {
let label = UILabel() let label = UILabel()
label.font = UIFont.PFSC_R(ofSize: 12) label.font = UIFont.PFSC_R(ofSize: 12)
label.text = "原主申人姓名"
label.textColor = UIColor.mainTextColor(alpha: 0.3) label.textColor = UIColor.mainTextColor(alpha: 0.3)
return label return label
}() }()
...@@ -75,7 +73,6 @@ class YHInfoItemView: UIView { ...@@ -75,7 +73,6 @@ class YHInfoItemView: UIView {
let label = UILabel() let label = UILabel()
label.numberOfLines = 0 label.numberOfLines = 0
label.font = UIFont.PFSC_M(ofSize: 12) label.font = UIFont.PFSC_M(ofSize: 12)
label.text = "张全蛋"
label.textColor = UIColor.mainTextColor(alpha: 0.3) label.textColor = UIColor.mainTextColor(alpha: 0.3)
return label return label
}() }()
...@@ -193,16 +190,18 @@ class YHInfoItemView: UIView { ...@@ -193,16 +190,18 @@ class YHInfoItemView: UIView {
@objc func didSelectSheetBtnClicked() { @objc func didSelectSheetBtnClicked() {
if item.action == .select { if item.action == .select {
self.becomeFirstResponder() self.becomeFirstResponder()
if item.id == .marriage { if item.id == .marriage { // 婚姻状况
YHSheetPickerView.show(type:.marriage, selectTitle: item.value) { YHSheetPickerView.show(type:.marriage1, selectTitle: self.faimilyInfo.getMarriageState()) {
[weak self] item in [weak self] item in
guard let self = self else { return } guard let self = self else { return }
self.item.value = item.title self.item.value = item.title
self.detailLabel.text = item.title self.detailLabel.text = item.title
self.faimilyInfo.married = "\(item.index)"
self.updateItem(self.item, familyInfo: self.faimilyInfo)
} }
} else if item.id == .birthPlace { } else if item.id == .birthPlaceInChina { // 国内出生地
let vc = YHAddressViewController() let vc = YHAddressViewController()
vc.backLocationStringController = { vc.backLocationStringController = {
...@@ -217,17 +216,20 @@ class YHInfoItemView: UIView { ...@@ -217,17 +216,20 @@ class YHInfoItemView: UIView {
} }
self.item.value = address self.item.value = address
self.detailLabel.text = address self.detailLabel.text = address
self.faimilyInfo.birthPlace.area = [string2, string3]
self.updateItem(self.item, familyInfo: self.faimilyInfo)
} }
UIViewController.current?.present(vc, animated: true) UIViewController.current?.present(vc, animated: true)
} else if item.id == .declareNation { } else if item.id == .declareNation { // 申报国籍
let vc = YHSelectCountryViewController() let vc = YHSelectCountryViewController()
vc.backLocationStringController = { (country) in vc.backLocationStringController = { (country) in
self.item.value = country self.item.value = country
self.detailLabel.text = country self.detailLabel.text = country
self.faimilyInfo.nationality = country
self.updateItem(self.item, familyInfo: self.faimilyInfo)
} }
UIViewController.current?.navigationController?.pushViewController(vc) UIViewController.current?.navigationController?.pushViewController(vc)
} }
} }
} }
...@@ -329,6 +331,7 @@ extension YHInfoItemView: UITextFieldDelegate { ...@@ -329,6 +331,7 @@ extension YHInfoItemView: UITextFieldDelegate {
} }
func updateText(_ newText: String) { func updateText(_ newText: String) {
self.item.value = newText self.item.value = newText
if self.item.id == .mainApplicantName || self.item.id == .spouseName || self.item.id == .childName { if self.item.id == .mainApplicantName || self.item.id == .spouseName || self.item.id == .childName {
self.faimilyInfo.name = newText self.faimilyInfo.name = newText
...@@ -344,6 +347,9 @@ extension YHInfoItemView: UITextFieldDelegate { ...@@ -344,6 +347,9 @@ extension YHInfoItemView: UITextFieldDelegate {
} else if self.item.id == .hongKongId { } else if self.item.id == .hongKongId {
self.faimilyInfo.hkIdentityid = newText self.faimilyInfo.hkIdentityid = newText
} else if self.item.id == .birthPlaceAboard {
self.faimilyInfo.birthPlace.details = newText
} }
} }
...@@ -365,6 +371,9 @@ extension YHInfoItemView: UITextFieldDelegate { ...@@ -365,6 +371,9 @@ extension YHInfoItemView: UITextFieldDelegate {
} else if self.item.id == .lastName { } else if self.item.id == .lastName {
return "请输入名(拼音)" return "请输入名(拼音)"
} else if self.item.id == .birthPlaceAboard {
return "请输入出生地"
} else if self.item.id == .occupation { } else if self.item.id == .occupation {
return "请输入职业" return "请输入职业"
...@@ -397,6 +406,9 @@ extension YHInfoItemView: UITextFieldDelegate { ...@@ -397,6 +406,9 @@ extension YHInfoItemView: UITextFieldDelegate {
} else if self.item.id == .lastName { } else if self.item.id == .lastName {
return "请输入名(拼音)" return "请输入名(拼音)"
} else if self.item.id == .birthPlaceAboard {
return "请输入出生地"
} else if self.item.id == .occupation { } else if self.item.id == .occupation {
return "请输入职业" return "请输入职业"
...@@ -409,6 +421,7 @@ extension YHInfoItemView: UITextFieldDelegate { ...@@ -409,6 +421,7 @@ extension YHInfoItemView: UITextFieldDelegate {
class YHInfoOptionView: UIView { class YHInfoOptionView: UIView {
var clickBlock:((YHFamilyInfoOption)->())?
var item: YHFamilyInfoItem = YHFamilyInfoItem() var item: YHFamilyInfoItem = YHFamilyInfoItem()
var familyInfo: YHFamilyMemberInfoModel = YHFamilyMemberInfoModel() var familyInfo: YHFamilyMemberInfoModel = YHFamilyMemberInfoModel()
...@@ -592,9 +605,11 @@ class YHInfoOptionView: UIView { ...@@ -592,9 +605,11 @@ class YHInfoOptionView: UIView {
option.isSelect = isSelect option.isSelect = isSelect
if isSelect { if isSelect {
item.value = option.value item.value = option.value
clickBlock?(option)
} }
} }
self.updateItem(item, familyInfo: self.familyInfo) self.updateItem(item, familyInfo: self.familyInfo)
} }
} }
} }
...@@ -115,54 +115,70 @@ class YHFamilyInfoConfirmViewModel: NSObject { ...@@ -115,54 +115,70 @@ class YHFamilyInfoConfirmViewModel: NSObject {
action: .select, action: .select,
isMust: true, isMust: true,
title: "婚姻状况", title: "婚姻状况",
value: model.info.married, value: model.info.getMarriageState(),
previousTitle: "原婚姻状况", previousTitle: "原婚姻状况",
previousValue: model.info.marriedHistory, previousValue: model.info.getHistoryMarriageState(),
isEditMode: isEditMode, isEditMode: isEditMode,
isShowPreviousInfo: !isEditMode && !model.info.marriedHistory.isEmpty) isShowPreviousInfo: !isEditMode && !model.info.marriedHistory.isEmpty)
resultArr.append(marriageInfo) resultArr.append(marriageInfo)
} }
// 出生国家/地区 // 出生国家/地区
let birthNation = "国内" let birthNation = model.info.getBirthNation()
let options = [YHFamilyInfoOption(value: "国内", isSelect: true), let historyBirthNation = model.info.getHistoryBirthNation()
YHFamilyInfoOption(value: "国外", isSelect: false)] let options = [YHFamilyInfoOption(index: 0, value: "国内", isSelect: model.info.birthPlaceAboard == 0),
YHFamilyInfoOption(index: 1, value: "国外", isSelect: model.info.birthPlaceAboard != 0)]
let birthNationInfo = YHFamilyInfoItem(id: .birthNation, let birthNationInfo = YHFamilyInfoItem(id: .birthNation,
action: .choice, action: .choice,
isMust: true, isMust: true,
title: "出生国家/地区", title: "出生国家/地区",
value: birthNation, value: birthNation,
previousTitle: "原出生国家/地区", previousTitle: "原出生国家/地区",
previousValue: birthNation, previousValue: historyBirthNation,
options: options, options: options,
isEditMode: isEditMode, isEditMode: isEditMode,
isShowPreviousInfo: !isEditMode && !birthNation.isEmpty) isShowPreviousInfo: !isEditMode && !birthNation.isEmpty)
resultArr.append(birthNationInfo) resultArr.append(birthNationInfo)
// 出生地 // 出生地
let birthPlace = "上海市市辖区" if model.info.birthPlaceAboard == 0 { // 国内
let birthPlaceInfo = YHFamilyInfoItem(id: .birthPlace, let birthPlace = model.info.birthPlace.area.joined(separator: "")
let birthPlaceHistory = model.info.birthPlaceHistory.area.joined(separator: "")
let birthPlaceInfo = YHFamilyInfoItem(id: .birthPlaceInChina,
action: .select, action: .select,
isMust: true, isMust: true,
title: "出生地", title: "出生地",
value: birthPlace, value: birthPlace,
previousTitle: "原出生地", previousTitle: "原出生地",
previousValue: birthPlace, previousValue: birthPlaceHistory,
isEditMode: isEditMode, isEditMode: isEditMode,
isShowPreviousInfo: !isEditMode && !birthPlace.isEmpty) isShowPreviousInfo: !isEditMode && !birthPlaceHistory.isEmpty)
resultArr.append(birthPlaceInfo) resultArr.append(birthPlaceInfo)
} else { // 国外
let birthPlaceInfo = YHFamilyInfoItem(id: .birthPlaceAboard,
action: .edit,
isMust: true,
title: "出生地",
value: model.info.birthPlace.details,
previousTitle: "原出生地",
previousValue: model.info.birthPlaceHistory.details,
isEditMode: isEditMode,
isShowPreviousInfo: !isEditMode && !model.info.birthPlaceHistory.details.isEmpty)
resultArr.append(birthPlaceInfo)
}
// 申报国籍 // 申报国籍
let declareNation = "中国"
let declareNationInfo = YHFamilyInfoItem(id: .declareNation, let declareNationInfo = YHFamilyInfoItem(id: .declareNation,
action: .select, action: .select,
isMust: true, isMust: true,
title: "申报国籍", title: "申报国籍",
value: declareNation, value: model.info.nationality,
previousTitle: "原申报国籍", previousTitle: "原申报国籍",
previousValue: declareNation, previousValue: model.info.nationalityHistory,
isEditMode: isEditMode, isEditMode: isEditMode,
isShowPreviousInfo: !isEditMode && !declareNation.isEmpty) isShowPreviousInfo: !isEditMode && !model.info.nationalityHistory.isEmpty)
resultArr.append(declareNationInfo) resultArr.append(declareNationInfo)
// 职业 // 职业
......
...@@ -529,7 +529,7 @@ extension YHChildBasicInfoVC : UITableViewDelegate, UITableViewDataSource { ...@@ -529,7 +529,7 @@ extension YHChildBasicInfoVC : UITableViewDelegate, UITableViewDataSource {
} }
} else if detailItem.type == .marriageState { // 婚姻 } else if detailItem.type == .marriageState { // 婚姻
YHSheetPickerView.show(type: .marriage, selectTitle:self.child?.married) { YHSheetPickerView.show(type: .marriageText, selectTitle:self.child?.married) {
[weak self] selectItem in [weak self] selectItem in
guard let self = self else { return } guard let self = self else { return }
self.child?.married = selectItem.title self.child?.married = selectItem.title
......
...@@ -483,7 +483,7 @@ extension YHBrotherInfoVC : UITableViewDelegate, UITableViewDataSource { ...@@ -483,7 +483,7 @@ extension YHBrotherInfoVC : UITableViewDelegate, UITableViewDataSource {
} else if detailItem.type == .marriageState { // 婚姻 } else if detailItem.type == .marriageState { // 婚姻
let marriage = self.brotherInfo?.married let marriage = self.brotherInfo?.married
YHSheetPickerView.show(type: .marriage, selectTitle:marriage) { YHSheetPickerView.show(type: .marriageText, selectTitle:marriage) {
[weak self] selectItem in [weak self] selectItem in
guard let self = self else { return } guard let self = self else { return }
self.brotherInfo?.married = selectItem.title self.brotherInfo?.married = selectItem.title
......
...@@ -530,7 +530,7 @@ extension YHParentInfoVC : UITableViewDelegate, UITableViewDataSource { ...@@ -530,7 +530,7 @@ extension YHParentInfoVC : UITableViewDelegate, UITableViewDataSource {
} }
} else if detailItem.type == .marriageState { // 婚姻 } else if detailItem.type == .marriageState { // 婚姻
YHSheetPickerView.show(type: .marriage, selectTitle:self.parentInfo?.married) { YHSheetPickerView.show(type: .marriageText, selectTitle:self.parentInfo?.married) {
[weak self] selectItem in [weak self] selectItem in
guard let self = self else { return } guard let self = self else { return }
self.parentInfo?.married = selectItem.title self.parentInfo?.married = selectItem.title
......
...@@ -193,7 +193,7 @@ class YHSheetPickerView: UIView { ...@@ -193,7 +193,7 @@ class YHSheetPickerView: UIView {
// 婚姻 // 婚姻
.marriage: .marriageText:
[YHSheetPickerViewItem(title:"已婚".local, index:1), [YHSheetPickerViewItem(title:"已婚".local, index:1),
YHSheetPickerViewItem(title:"未婚".local, index:0), YHSheetPickerViewItem(title:"未婚".local, index:0),
YHSheetPickerViewItem(title:"分居".local, index:2), YHSheetPickerViewItem(title:"分居".local, index:2),
...@@ -201,6 +201,18 @@ class YHSheetPickerView: UIView { ...@@ -201,6 +201,18 @@ class YHSheetPickerView: UIView {
YHSheetPickerViewItem(title:"丧偶".local, index:4), YHSheetPickerViewItem(title:"丧偶".local, index:4),
], ],
// 婚姻
.marriage1:
[YHSheetPickerViewItem(title:"已婚".local, index:1),
YHSheetPickerViewItem(title:"未婚".local, index:2),
YHSheetPickerViewItem(title:"离婚".local, index:3),
YHSheetPickerViewItem(title:"分居".local, index:4),
YHSheetPickerViewItem(title:"丧偶".local, index:5),
YHSheetPickerViewItem(title:"事实婚姻".local, index:6),
YHSheetPickerViewItem(title:"鳏寡".local, index:7),
],
// 教育 // 教育
.educationStyle: .educationStyle:
[YHSheetPickerViewItem(title:"全日制".local, index:0), [YHSheetPickerViewItem(title:"全日制".local, index:0),
...@@ -333,7 +345,7 @@ class YHSheetPickerView: UIView { ...@@ -333,7 +345,7 @@ class YHSheetPickerView: UIView {
var whiteContentHeight = 322.0 var whiteContentHeight = 322.0
if self.type == .educationDegree if self.type == .educationDegree
|| self.type == .marriage || self.type == .marriageText
|| self.type == .profession || self.type == .profession
|| self.type == .certificate || self.type == .certificate
|| self.type == .identity || self.type == .identity
...@@ -389,7 +401,9 @@ extension YHSheetPickerView { ...@@ -389,7 +401,9 @@ extension YHSheetPickerView {
return "选择学位" return "选择学位"
case .educationDegree: case .educationDegree:
return "选择学位" return "选择学位"
case .marriage: case .marriageText:
return "选择婚姻状况"
case .marriage1:
return "选择婚姻状况" return "选择婚姻状况"
case .educationStyle: case .educationStyle:
return "选择授课形式" return "选择授课形式"
......
...@@ -18,8 +18,11 @@ enum YHSheetPickerViewType: Int { ...@@ -18,8 +18,11 @@ enum YHSheetPickerViewType: Int {
case educationDegree case educationDegree
// 学位有无 // 学位有无
case ownDegree case ownDegree
// 婚姻 // 婚姻(文字有效)
case marriage case marriageText
// 婚姻(index有效)
case marriage1
// 授课形式 // 授课形式
case educationStyle case educationStyle
// 职业 // 职业
......
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