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

// 家庭

parent a9190c23
......@@ -196,6 +196,8 @@ class YHFamilyInfoUpdateViewController: YHBaseViewController {
}
let birthNation = "国内"
let options = [YHFamilyInfoOption(value: "国内", isSelect: true),
YHFamilyInfoOption(value: "国外", isSelect: false)]
let birthNationInfo = YHFamilyInfoItem(id: .birthNation,
action: .choice,
isMust: true,
......@@ -203,13 +205,14 @@ class YHFamilyInfoUpdateViewController: YHBaseViewController {
detail: birthNation,
previousTitle: "原出生国家/地区",
previousDetail: birthNation,
options: options,
isEditMode: isEditMode,
isShowPreviousInfo: isShowPreviousInfo)
arr1.append(birthNationInfo)
let birthPlace = "上海市市辖区"
let birthPlaceInfo = YHFamilyInfoItem(id: .birthPlace,
action: .edit,
action: .select,
isMust: true,
title: "出生地",
detail: birthPlace,
......@@ -221,7 +224,7 @@ class YHFamilyInfoUpdateViewController: YHBaseViewController {
let declareNation = "中国-CHINA"
let declareNationInfo = YHFamilyInfoItem(id: .declareNation,
action: .edit,
action: .select,
isMust: true,
title: "申报国籍",
detail: declareNation,
......@@ -284,7 +287,10 @@ class YHFamilyInfoUpdateViewController: YHBaseViewController {
arr2.append(cerIdInfo)
items.append(contentsOf: [arr1, arr2])
// 信息核实
items.append(arr1)
// 递交证件信息
items.append(arr2)
self.tableView.reloadData()
}
......
......@@ -33,6 +33,16 @@ enum YHFamilyInfoActionType: Int {
case choice = 3 // 按钮多项选择
}
class YHFamilyInfoOption {
var value: String = ""
var isSelect: Bool = false
init(value: String, isSelect: Bool) {
self.value = value
self.isSelect = isSelect
}
}
class YHFamilyInfoItem {
var id: YHFamilyInfoType = .none
var action:YHFamilyInfoActionType = .none
......@@ -43,12 +53,13 @@ class YHFamilyInfoItem {
var previousDetail: String = ""
var isEditMode: Bool = false
var isShowPreviousInfo: Bool = false
var options:[YHFamilyInfoOption] = []
required init() {
}
init(id: YHFamilyInfoType, action: YHFamilyInfoActionType, isMust: Bool, title: String, detail: String, previousTitle: String, previousDetail: String, isEditMode: Bool, isShowPreviousInfo: Bool) {
init(id: YHFamilyInfoType, action: YHFamilyInfoActionType, isMust: Bool, title: String, detail: String, previousTitle: String, previousDetail: String, options:[YHFamilyInfoOption] = [], isEditMode: Bool, isShowPreviousInfo: Bool) {
self.id = id
self.action = action
self.isMust = isMust
......@@ -56,6 +67,7 @@ class YHFamilyInfoItem {
self.detail = detail
self.previousTitle = previousTitle
self.previousDetail = previousDetail
self.options = options
self.isEditMode = isEditMode
self.isShowPreviousInfo = isShowPreviousInfo
}
......@@ -154,24 +166,37 @@ class YHIFamilyInfoListCell: UITableViewCell {
func updateItems(_ items:[YHFamilyInfoItem]) {
itemsContentView.removeSubviews()
var lastItemView:YHInfoItemView? = nil
var lastItemView:UIView? = nil
for (index, item) in items.enumerated() {
let itemView = YHInfoItemView(frame: .zero)
itemsContentView.addSubview(itemView)
itemView.updateItem(item)
itemView.snp.makeConstraints { make in
make.left.right.equalTo(0)
if let lastView = lastItemView {
make.top.equalTo(lastView.snp.bottom)
} else {
make.top.equalTo(itemsContentView.snp.top)
}
var itemView:UIView? = YHInfoItemView(frame: .zero)
if item.action == .choice {
itemView = YHInfoOptionView(frame: .zero)
}
if let itemView = itemView as? YHInfoItemView {
itemsContentView.addSubview(itemView)
itemView.updateItem(item)
if index == items.count-1 {
make.bottom.equalTo(itemsContentView.snp.bottom)
} else if let itemView = itemView as? YHInfoOptionView {
itemsContentView.addSubview(itemView)
itemView.updateItem(item)
}
if let itemView = itemView {
itemView.snp.makeConstraints { make in
make.left.right.equalTo(0)
if let lastView = lastItemView {
make.top.equalTo(lastView.snp.bottom)
} else {
make.top.equalTo(itemsContentView.snp.top)
}
if index == items.count-1 {
make.bottom.equalTo(itemsContentView.snp.bottom)
}
}
lastItemView = itemView
}
lastItemView = itemView
}
self.setNeedsLayout()
self.layoutIfNeeded()
......
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