Commit 001f2ce1 authored by pete谢兆麟's avatar pete谢兆麟

主申请人数据save和submit

parent 5f0c690b
...@@ -245,17 +245,17 @@ enum YHFormPickerViewSubType { ...@@ -245,17 +245,17 @@ enum YHFormPickerViewSubType {
} }
enum YHPickerViewMarriageType { enum YHPickerViewMarriageType: Int {
// 未婚 // 未婚
case unmarriage case unmarriage = 0
// 已婚 // 已婚
case marriaged case marriaged = 1
// 离婚 // 离婚
case divorced case divorced = 2
// 分居 // 分居
case separated case separated = 3
// 丧偶 // 丧偶
case widowed case widowed = 4
} }
enum YHPickerViewDegreeType { enum YHPickerViewDegreeType {
...@@ -287,28 +287,28 @@ enum YHPickerViewOccupationType { ...@@ -287,28 +287,28 @@ enum YHPickerViewOccupationType {
case student case student
} }
enum YHPickerViewGenderType { enum YHPickerViewGenderType: Int {
// 男 // 男
case male case male = 0
// 女 // 女
case female case female = 1
} }
enum YHPickerViewCertificateType { enum YHPickerViewCertificateType: Int {
// 护照 // 护照
case passport case passport = 0
// 外交护照 // 外交护照
case diplomaticPassport case diplomaticPassport = 1
// 公务护照 // 公务护照
case officialPassport case officialPassport = 2
// 中国发无国籍旅游证件 // 中国发无国籍旅游证件
case chineseStatelessTravelPassport case chineseStatelessTravelPassport = 3
// 旅游通行证 // 旅游通行证
case travelPassport case travelPassport = 4
// 联合国通行证 // 联合国通行证
case unitedNationsPassport case unitedNationsPassport = 5
// 其他无国籍旅行证件 // 其他无国籍旅行证件
case otherStatelessTravelPassport case otherStatelessTravelPassport = 6
} }
......
...@@ -28,17 +28,22 @@ class YHMainApplicantInformationViewController: YHBaseViewController { ...@@ -28,17 +28,22 @@ class YHMainApplicantInformationViewController: YHBaseViewController {
func getData() { func getData() {
viewModel.requestMainInformation("133969") {[weak self] success, error in viewModel.requestMainInformation("133969") {[weak self] success, error in
guard let self = self else { return } guard let self = self else { return }
if self.stepView.currentIndex == 0 { self.stepView.currentIndex = self.viewModel.mainModel.step ?? 0
self.dataSource = self.viewModel.getBaseDataSource() self.updateDataSource()
} else if self.stepView.currentIndex == 1 { }
self.dataSource = self.viewModel.getIDCardDataSource() }
} else if self.stepView.currentIndex == 2 {
self.dataSource = self.viewModel.getDocumentInformation() func updateDataSource() {
} else if self.stepView.currentIndex == 3 { if self.stepView.currentIndex == 0 {
self.dataSource = self.viewModel.getDetailDataSource() self.dataSource = self.viewModel.getBaseDataSource()
} } else if self.stepView.currentIndex == 1 {
self.tableView.reloadData() self.dataSource = self.viewModel.getIDCardDataSource()
} else if self.stepView.currentIndex == 2 {
self.dataSource = self.viewModel.getDocumentInformation()
} else if self.stepView.currentIndex == 3 {
self.dataSource = self.viewModel.getDetailDataSource()
} }
self.tableView.reloadData()
} }
func setView() { func setView() {
...@@ -47,7 +52,7 @@ class YHMainApplicantInformationViewController: YHBaseViewController { ...@@ -47,7 +52,7 @@ class YHMainApplicantInformationViewController: YHBaseViewController {
step.dataSource = ["初始信息", "证件上传", "基本信息", "证件信息"] step.dataSource = ["初始信息", "证件上传", "基本信息", "证件信息"]
step.block = { [weak self] (index) in step.block = { [weak self] (index) in
guard let self = self else { return } guard let self = self else { return }
self.getData() self.updateDataSource()
} }
return step return step
}() }()
...@@ -80,10 +85,20 @@ class YHMainApplicantInformationViewController: YHBaseViewController { ...@@ -80,10 +85,20 @@ class YHMainApplicantInformationViewController: YHBaseViewController {
bottomView = { bottomView = {
let bottom = YHBottomNextView() let bottom = YHBottomNextView()
bottom.block = { [weak self] in bottom.nextblock = { [weak self] in
guard let self = self else { return } guard let self = self else { return }
self.stepView.currentIndex = self.stepView.currentIndex + 1 self.stepView.currentIndex = self.stepView.currentIndex + 1
self.getData() self.viewModel.updateMainInformation(.submit) {[weak self] success in
guard let self = self else { return }
self.stepView.currentIndex = self.stepView.currentIndex
self.updateDataSource()
}
}
bottom.saveBlock = { [weak self] in
guard let self = self else { return }
self.viewModel.updateMainInformation(.save) {[weak self] success in
guard let self = self else { return }
}
} }
return bottom return bottom
}() }()
......
...@@ -10,7 +10,8 @@ import UIKit ...@@ -10,7 +10,8 @@ import UIKit
class YHBottomNextView: UIView { class YHBottomNextView: UIView {
typealias Block = () -> () typealias Block = () -> ()
var block: Block? var nextblock: Block?
var saveBlock: Block?
var saveButton: UIButton! var saveButton: UIButton!
var nextButton: UIButton! var nextButton: UIButton!
...@@ -66,11 +67,13 @@ class YHBottomNextView: UIView { ...@@ -66,11 +67,13 @@ class YHBottomNextView: UIView {
@objc func save() { @objc func save() {
if let block = saveBlock {
block()
}
} }
@objc func goNext() { @objc func goNext() {
if let block = block { if let block = nextblock {
block() block()
} }
} }
......
...@@ -139,16 +139,31 @@ class YHItemView: UIView { ...@@ -139,16 +139,31 @@ class YHItemView: UIView {
let questionAttrStr = NSMutableAttributedString(string: str, attributes: attributes) let questionAttrStr = NSMutableAttributedString(string: str, attributes: attributes)
titleLabel.attributedText = questionAttrStr titleLabel.attributedText = questionAttrStr
} }
messageTextField.placeholder = dataSource.prompts
messageTextField.text = dataSource.message
if dataSource.isUserKeyBoard ?? false { if dataSource.isUserKeyBoard ?? false {
nextStepImageView.isHidden = true nextStepImageView.isHidden = true
centerButton.isHidden = true centerButton.isHidden = true
} else { } else {
if let type = dataSource.type {
switch type {
case .normal: break
case .address: break
case .time: break
case .image: break
case .id:
messageTextField.text = YHFormPickerViewSubType.certificate(YHPickerViewCertificateType(rawValue: dataSource.message?.int ?? 0) ?? .chineseStatelessTravelPassport).title
case .country: break
case .sex:
messageTextField.text = YHFormPickerViewSubType.gender(YHPickerViewGenderType(rawValue: dataSource.message?.int ?? 0) ?? .female).title
case .marry:
messageTextField.text = YHFormPickerViewSubType.marriage(YHPickerViewMarriageType(rawValue: dataSource.message?.int ?? 0) ?? .unmarriage).title
}
}
nextStepImageView.isHidden = false nextStepImageView.isHidden = false
centerButton.isHidden = false centerButton.isHidden = false
} }
messageTextField.placeholder = dataSource.prompts
messageTextField.text = dataSource.message
if (dataSource.leftButtonString != nil) { if (dataSource.leftButtonString != nil) {
leftButton.isHidden = false leftButton.isHidden = false
leftButton.setTitle(dataSource.leftButtonString, for: .normal) leftButton.setTitle(dataSource.leftButtonString, for: .normal)
......
...@@ -199,61 +199,67 @@ class YHMainApplicantInformationViewModel: YHBaseViewModel { ...@@ -199,61 +199,67 @@ class YHMainApplicantInformationViewModel: YHBaseViewModel {
} else { } else {
type = "submit" type = "submit"
} }
let params: [String:Any] = ["address":["area": mainModel.address?.area ?? [], let area: [String] = mainModel.address?.area ?? []
"country": mainModel.address?.country ?? "", let birthArea: [String] = mainModel.birth_place?.area ?? []
"details": mainModel.address?.details ?? "", let address = ["area": area,
"foreign": mainModel.address?.foreign ?? ""], "country": mainModel.address?.country ?? "",
"address_aboard": mainModel.address_aboard ?? 0, "details": mainModel.address?.details ?? "",
"age":mainModel.age ?? "", "foreign": mainModel.address?.foreign ?? ""] as [String : Any]
"birth_place":["area": mainModel.birth_place?.area ?? [], let birthPlace = ["area": birthArea,
"country": mainModel.birth_place?.country ?? "", "country": mainModel.birth_place?.country ?? "",
"details": mainModel.birth_place?.details ?? "", "details": mainModel.birth_place?.details ?? "",
"foreign": mainModel.birth_place?.foreign ?? ""], "foreign": mainModel.birth_place?.foreign ?? ""] as [String : Any]
"birth_place_aboard": mainModel.birth_place_aboard ?? 0, let cnID = ["img_back": mainModel.certificates?.cn_identity_card?.img_back ?? "",
"birthday": mainModel.birthday ?? "", "img_front": mainModel.certificates?.cn_identity_card?.img_front ?? "",
"email": mainModel.email ?? "", "issue_at": mainModel.certificates?.cn_identity_card?.issue_at ?? "",
"has_hk_id": mainModel.has_hk_id ?? 0, "issue_date_end_at": mainModel.certificates?.cn_identity_card?.issue_date_end_at ?? "",
"hk_id_number": mainModel.hk_id_number ?? "", "issue_date_start_at": mainModel.certificates?.cn_identity_card?.issue_date_start_at ?? "",
"id": mainModel.id ?? 0, "number": mainModel.certificates?.cn_identity_card?.number ?? ""] as [String : Any]
"is_handled": mainModel.is_handled ?? "", let hkID = ["img_back": mainModel.certificates?.hk_macao_pass?.img_back ?? "",
"is_live_oversea_year": mainModel.is_live_oversea_year ?? 0, "img_front": mainModel.certificates?.hk_macao_pass?.img_front ?? "",
"married": mainModel.married ?? 0, "issue_at": mainModel.certificates?.hk_macao_pass?.issue_at ?? "",
"mobile": mainModel.mobile ?? "", "issue_date_end_at": mainModel.certificates?.hk_macao_pass?.issue_date_end_at ?? "",
"nationality": mainModel.nationality ?? "", "issue_date_start_at": mainModel.certificates?.hk_macao_pass?.issue_date_start_at ?? "",
"order_id": mainModel.order_id ?? "", "number": mainModel.certificates?.hk_macao_pass?.number ?? ""] as [String : Any]
"sex": mainModel.sex ?? 0, let passport = ["img_back": mainModel.certificates?.passport?.img_back ?? "",
"step": mainModel.step ?? 0, "img_front": mainModel.certificates?.passport?.img_front ?? "",
"surname": mainModel.surname ?? "", "issue_at": mainModel.certificates?.passport?.issue_at ?? "",
"used_name": mainModel.used_name ?? "", "issue_date_end_at": mainModel.certificates?.passport?.issue_date_end_at ?? "",
"username": mainModel.username ?? "", "issue_date_start_at": mainModel.certificates?.passport?.issue_date_start_at ?? "",
"save_type": type, "number": mainModel.certificates?.passport?.number ?? "",
"username_pinyin": ["family_name": mainModel.username_pinyin?.family_name ?? "", "passport_type": mainModel.certificates?.passport?.passport_type ?? 0] as [String : Any]
"given_name": mainModel.username_pinyin?.given_name ?? ""], let params: [String : Any] = ["address": address,
"certificates":["cn_identity_card": ["img_back": mainModel.certificates?.cn_identity_card?.img_back ?? "", "address_aboard": mainModel.address_aboard ?? 0,
"img_front": mainModel.certificates?.cn_identity_card?.img_front ?? "", "age":mainModel.age ?? "",
"issue_at": mainModel.certificates?.cn_identity_card?.issue_at ?? "", "birth_place": birthPlace,
"issue_date_end_at": mainModel.certificates?.cn_identity_card?.issue_date_end_at ?? "", "birth_place_aboard": mainModel.birth_place_aboard ?? 0,
"issue_date_start_at": mainModel.certificates?.cn_identity_card?.issue_date_start_at ?? "", "birthday": mainModel.birthday ?? "",
"number": mainModel.certificates?.cn_identity_card?.number ?? ""], "email": mainModel.email ?? "",
"hk_macao_pass": "has_hk_id": mainModel.has_hk_id ?? 0,
["img_back": mainModel.certificates?.hk_macao_pass?.img_back ?? "", "hk_id_number": mainModel.hk_id_number ?? "",
"img_front": mainModel.certificates?.hk_macao_pass?.img_front ?? "", "id": mainModel.id ?? 0,
"issue_at": mainModel.certificates?.hk_macao_pass?.issue_at ?? "", "is_handled": mainModel.is_handled ?? "",
"issue_date_end_at": mainModel.certificates?.hk_macao_pass?.issue_date_end_at ?? "", "is_live_oversea_year": mainModel.is_live_oversea_year ?? 0,
"issue_date_start_at": mainModel.certificates?.hk_macao_pass?.issue_date_start_at ?? "", "married": mainModel.married ?? 0,
"number": mainModel.certificates?.hk_macao_pass?.number ?? ""], "mobile": mainModel.mobile ?? "",
"passport": "nationality": mainModel.nationality ?? "",
["img_back": mainModel.certificates?.passport?.img_back ?? "", "order_id": mainModel.order_id ?? "",
"img_front": mainModel.certificates?.passport?.img_front ?? "", "sex": mainModel.sex ?? 0,
"issue_at": mainModel.certificates?.passport?.issue_at ?? "", "step": mainModel.step ?? 0,
"issue_date_end_at": mainModel.certificates?.passport?.issue_date_end_at ?? "", "surname": mainModel.surname ?? "",
"issue_date_start_at": mainModel.certificates?.passport?.issue_date_start_at ?? "", "used_name": mainModel.used_name ?? "",
"number": mainModel.certificates?.passport?.number ?? "", "username": mainModel.username ?? "",
"passport_type": mainModel.certificates?.passport?.passport_type ?? 0]]] "save_type": type,
"username_pinyin": ["family_name": mainModel.username_pinyin?.family_name ?? "",
"given_name": mainModel.username_pinyin?.given_name ?? ""],
"certificates":["cn_identity_card": cnID,
"hk_macao_pass": hkID,
"passport": passport]
]
let strUrl = YHBaseUrlManager.shared.curURL() + "frontend/order-information/update_information" let strUrl = YHBaseUrlManager.shared.curURL() + "frontend/order-information/update_information"
let _ = YHNetRequest.postRequest(url: strUrl, params: params) { [weak self] json, code in let _ = YHNetRequest.postRequest(url: strUrl, params: params) { [weak self] json, code in
guard let self = self else { return } guard let self = self else { return }
callBackBlock(true)
} failBlock: { err in } failBlock: { err in
callBackBlock(false) callBackBlock(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