Commit 219f73a0 authored by Steven杜宇's avatar Steven杜宇

// 护照选择器

parent d79c1264
......@@ -141,7 +141,7 @@ class YHFamilyMemberFormVC: YHBaseViewController {
"is_handled": 0,
"finish_follow": 0,
"step": 0,
"not_fill_num": -1,
"not_fill_num": 7,
"certificates": [],
"is_live_oversea_year": 0
],
......@@ -180,7 +180,7 @@ class YHFamilyMemberFormVC: YHBaseViewController {
"is_handled": 0,
"finish_follow": 0,
"step": 0,
"not_fill_num": -1,
"not_fill_num": 5,
"certificates": [],
"is_live_oversea_year": 0
],
......@@ -548,6 +548,8 @@ extension YHFamilyMemberFormVC : UITableViewDelegate, UITableViewDataSource {
let detailItem = item as! YHFamilyMember
let cell = tableView.dequeueReusableCell(withIdentifier: YHFormItemEnterDetailCell.cellReuseIdentifier, for: indexPath) as! YHFormItemEnterDetailCell
cell.title = detailItem.getTitle()
cell.detailLabel.text = String(format: "有%d项未填写".local, detailItem.notFillNum)
cell.isShowDeleteBtn = false
cell.deleteBlock = nil
if detailItem.relationType == .child || detailItem.relationType == .brother {
......@@ -641,6 +643,10 @@ extension YHFamilyMemberFormVC : UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let view = YHFormPickerView(type: YHFormPickerViewType.certificate)
view.selectType = .certificate(.officialPassport)
view.show()
return
let arr = items[indexPath.section]
let item:YHFormItemProtocol = arr[indexPath.row]
......
......@@ -7,6 +7,7 @@
//
import UIKit
import SmartCodable
class YHSpouseInitialInfoVC: YHBaseViewController {
......@@ -93,13 +94,32 @@ class YHSpouseInitialInfoVC: YHBaseViewController {
let arr1:[YHFormItemProtocol] = [title1, item10]
// 居住信息
var arr2 = [YHFormItemProtocol]()
let title2 = YHFormTitleItem(type: .liveInfo)
let item20 = YHFormDetailItem(type: .isLiveTother)
item20.isLiveTogether = (spouse.finishFollow == 1)
let item21 = YHFormDetailItem(type: .nationOrArea)
let item22 = YHFormDetailItem(type: .liveCity)
let item23 = YHFormDetailItem(type: .detailAddress)
let arr2:[YHFormItemProtocol] = [title2, item20, item21, item22, item23]
arr2.append(title2)
arr2.append(item20)
if !item20.isLiveTogether { // 不同住 才需填写国家/地区
let item21 = YHFormDetailItem(type: .nationOrArea)
arr2.append(item21)
// 国家/地区已填写 才显示现居住城市和详细地址两行
if let dict = spouse.address {
if dict.peel is [String: Any] {
let dict = dict.peel as! [String: Any]
let address = YHAddress.deserialize(dict: dict)
if address?.area != nil || address?.country != nil {
let item22 = YHFormDetailItem(type: .liveCity)
let item23 = YHFormDetailItem(type: .detailAddress)
arr2.append(item22)
arr2.append(item23)
}
}
}
}
// 港澳通信证
let title3 = YHFormTitleItem(type: .hkAndMacaoPassport)
......
......@@ -427,7 +427,7 @@ class YHFormDetailItem : YHFormItemProtocol {
// MARK: - YHWelcome
class YHWelcome: SmartCodable {
var code: Int = -1
var code: Int = 0
var msg: String = ""
var data: YHFamilyMemberGroupInfo?
......@@ -476,11 +476,11 @@ enum YHFamilyMemberType: Int {
}
class YHFamilyMember: SmartCodable, YHFormItemProtocol {
var id: Int = -1
var deceased: Int = -1
var custody: Int = -1
var id: Int = 0
var deceased: Int = 0
var custody: Int = 0
var nationality: String?
var orderId: Int = -1
var orderId: Int = 0
var relation: String?
var hasDegree: String?
......@@ -488,8 +488,8 @@ class YHFamilyMember: SmartCodable, YHFormItemProtocol {
// var hasDegreeJson: [YHHasDegreeJson]?
var hasDegreeJson: SmartAny?
var follow: Int = -1
var statement: Int = -1
var follow: Int = 0
var statement: Int = 0
var subsetName: String?
// mark any
......@@ -498,7 +498,7 @@ class YHFamilyMember: SmartCodable, YHFormItemProtocol {
var usedName: String?
var birthday: String?
var birthPlaceAboard: Int = -1
var birthPlaceAboard: Int = 0
// mark any
// var birthPlace: YHAddress?
......@@ -515,9 +515,9 @@ class YHFamilyMember: SmartCodable, YHFormItemProtocol {
var childHasHkId: SmartAny?
var hkIdentityCard: String?
var sex: Int = -1
var sex: Int = 0
var married: String?
var nows: Int = -1
var nows: Int = 0
// mark any
// var address: YHAddress?
......@@ -537,11 +537,11 @@ class YHFamilyMember: SmartCodable, YHFormItemProtocol {
var hkIdentity: String?
var hkIdentityOther: String?
var liveCountry: String?
var isHandled: Int = -1
var finishFollow: Int = -1
var step: Int = -1
var notFillNum: Int = -1
var isLiveOverseaYear: Int = -1
var isHandled: Int = 0
var finishFollow: Int = 0
var step: Int = 0
var notFillNum: Int = 0
var isLiveOverseaYear: Int = 0
var surname: String?
// mark any
......@@ -614,7 +614,17 @@ class YHFamilyMember: SmartCodable, YHFormItemProtocol {
func getTitle() -> String {
// 1父亲 2 母亲 3 配偶 4子女 5兄弟姐妹
if let relation = relation {
return relation.local
if relation == "1" {
return "父亲".local
} else if relation == "2" {
return "母亲".local
} else if relation == "3" {
return "配偶".local
} else if relation == "4" {
return "子女".local
} else if relation == "5" {
return "兄弟姐妹".local
}
}
return ""
}
......@@ -626,6 +636,7 @@ class YHFamilyMember: SmartCodable, YHFormItemProtocol {
// MARK: - 居住地址信息 YHAddress
class YHAddress: SmartCodable {
var area: [String]?
var country: String?
var details: String?
......@@ -695,14 +706,14 @@ class YHCNIdentityCard: SmartCodable {
}
var id: Int = -1
var id: Int = 0
var number: String?
var issueAt: String?
var issueDateStartAt: String?
var issueDateEndAt: String?
var imgFront: String?
var imgBack: String?
var passportType: Int = -1
var passportType: Int = 0
enum CodingKeys: String, CodingKey {
case id = "id"
......
......@@ -21,6 +21,8 @@ enum YHFormPickerViewType: Int {
case occupation = 4
// 性别
case gender = 5
// 证件
case certificate = 6
}
enum YHFormPickerViewSubType {
......@@ -31,54 +33,70 @@ enum YHFormPickerViewSubType {
case education(YHPickerViewEducationType)
case occupation(YHPickerViewOccupationType)
case gender(YHPickerViewGenderType)
case certificate(YHPickerViewCertificateType)
var title:String {
switch self {
case .none:
return "".local
case .marriage(.unmarriage):
return "未婚".local
case .marriage(.marriaged):
return "已婚".local
case .marriage(.separated):
return "分居".local
case .marriage(.divorced):
return "离婚".local
case .marriage(.widowed):
return "丧偶".local
case .degree(.bachelor):
return "学士学位".local
case .degree(.master):
return "硕士学位".local
case .degree(.doctor):
return "博士学位".local
case .none:
return "".local
case .education(.fullTime):
return "全日制".local
case .education(.partTime):
return "兼职制".local
case.education(.distanceCourses):
return "遥距课程".local
case .marriage(.unmarriage):
return "未婚".local
case .marriage(.marriaged):
return "已婚".local
case .marriage(.separated):
return "分居".local
case .marriage(.divorced):
return "离婚".local
case .marriage(.widowed):
return "丧偶".local
case .occupation(.onTheJob):
return "在职".local
case .occupation(.retire):
return "退休".local
case .occupation(.unemployed):
return "无业".local
case .occupation(.student):
return "学生".local
case .degree(.bachelor):
return "学士学位".local
case .degree(.master):
return "硕士学位".local
case .degree(.doctor):
return "博士学位".local
case .education(.fullTime):
return "全日制".local
case .education(.partTime):
return "兼职制".local
case.education(.distanceCourses):
return "遥距课程".local
case .occupation(.onTheJob):
return "在职".local
case .occupation(.retire):
return "退休".local
case .occupation(.unemployed):
return "无业".local
case .occupation(.student):
return "学生".local
case .gender(.male):
return "男".local
case .gender(.female):
return "女".local
case .gender(.male):
return "男".local
case .gender(.female):
return "女".local
case .certificate(.passport):
return "护照".local
case .certificate(.travelPassport):
return "旅游通行证".local
case .certificate(.diplomaticPassport):
return "外交护照".local
case .certificate(.chineseStatelessTravelPassport):
return "中国发无国籍旅游证件".local
case .certificate(.otherStatelessTravelPassport):
return "其他无国籍旅行证件".local
case .certificate(.unitedNationsPassport):
return "联合国通行证".local
case .certificate(.officialPassport):
return "公务护照".local
}
}
}
static func getType(_ title: String?) -> YHFormPickerViewSubType {
......@@ -124,6 +142,21 @@ enum YHFormPickerViewSubType {
return .gender(.male)
} else if title == "女".local {
return .gender(.female)
} else if title == "护照".local {
return .certificate(.passport)
} else if title == "外交护照".local {
return .certificate(.diplomaticPassport)
} else if title == "旅游通行证".local {
return .certificate(.travelPassport)
} else if title == "公务护照".local {
return .certificate(.officialPassport)
} else if title == "中国发无国籍旅游证件".local {
return .certificate(.chineseStatelessTravelPassport)
} else if title == "其他无国籍旅行证件".local {
return .certificate(.otherStatelessTravelPassport)
} else if title == "联合国通行证".local {
return .certificate(.unitedNationsPassport)
}
return .none
......@@ -180,6 +213,24 @@ enum YHPickerViewGenderType {
case female
}
enum YHPickerViewCertificateType {
// 护照
case passport
// 外交护照
case diplomaticPassport
// 公务护照
case officialPassport
// 中国发无国籍旅游证件
case chineseStatelessTravelPassport
// 旅游通行证
case travelPassport
// 联合国通行证
case unitedNationsPassport
// 其他无国籍旅行证件
case otherStatelessTravelPassport
}
class YHFormPickerViewItem {
......@@ -319,6 +370,15 @@ class YHFormPickerView: UIView {
[YHFormPickerViewItem(type: .gender(.male)),
YHFormPickerViewItem(type: .gender(.female))],
// 证件
.certificate:
[YHFormPickerViewItem(type: .certificate(.passport)),
YHFormPickerViewItem(type: .certificate(.diplomaticPassport)),
YHFormPickerViewItem(type: .certificate(.officialPassport)),
YHFormPickerViewItem(type: .certificate(.chineseStatelessTravelPassport)),
YHFormPickerViewItem(type: .certificate(.travelPassport)),
YHFormPickerViewItem(type: .certificate(.unitedNationsPassport)),
YHFormPickerViewItem(type: .certificate(.otherStatelessTravelPassport))],
]
}()
......@@ -431,19 +491,21 @@ class YHFormPickerView: UIView {
func getTitle(type: YHFormPickerViewType)-> String {
switch type {
case .none:
return ""
case .degree:
return "选择学位"
case .marriage:
return "选择婚姻状况"
case .edution:
return "选择学位"
case .occupation:
return "选择职业"
case .gender:
return "选择性别"
}
case .none:
return ""
case .degree:
return "选择学位"
case .marriage:
return "选择婚姻状况"
case .edution:
return "选择学位"
case .occupation:
return "选择职业"
case .gender:
return "选择性别"
case .certificate:
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