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,6 +28,12 @@ class YHMainApplicantInformationViewController: YHBaseViewController { ...@@ -28,6 +28,12 @@ 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 }
self.stepView.currentIndex = self.viewModel.mainModel.step ?? 0
self.updateDataSource()
}
}
func updateDataSource() {
if self.stepView.currentIndex == 0 { if self.stepView.currentIndex == 0 {
self.dataSource = self.viewModel.getBaseDataSource() self.dataSource = self.viewModel.getBaseDataSource()
} else if self.stepView.currentIndex == 1 { } else if self.stepView.currentIndex == 1 {
...@@ -39,7 +45,6 @@ class YHMainApplicantInformationViewController: YHBaseViewController { ...@@ -39,7 +45,6 @@ class YHMainApplicantInformationViewController: YHBaseViewController {
} }
self.tableView.reloadData() self.tableView.reloadData()
} }
}
func setView() { func setView() {
stepView = { stepView = {
...@@ -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,16 +199,39 @@ class YHMainApplicantInformationViewModel: YHBaseViewModel { ...@@ -199,16 +199,39 @@ class YHMainApplicantInformationViewModel: YHBaseViewModel {
} else { } else {
type = "submit" type = "submit"
} }
let params: [String:Any] = ["address":["area": mainModel.address?.area ?? [], let area: [String] = mainModel.address?.area ?? []
let birthArea: [String] = mainModel.birth_place?.area ?? []
let address = ["area": area,
"country": mainModel.address?.country ?? "", "country": mainModel.address?.country ?? "",
"details": mainModel.address?.details ?? "", "details": mainModel.address?.details ?? "",
"foreign": mainModel.address?.foreign ?? ""], "foreign": mainModel.address?.foreign ?? ""] as [String : Any]
"address_aboard": mainModel.address_aboard ?? 0, let birthPlace = ["area": birthArea,
"age":mainModel.age ?? "",
"birth_place":["area": mainModel.birth_place?.area ?? [],
"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]
let cnID = ["img_back": mainModel.certificates?.cn_identity_card?.img_back ?? "",
"img_front": mainModel.certificates?.cn_identity_card?.img_front ?? "",
"issue_at": mainModel.certificates?.cn_identity_card?.issue_at ?? "",
"issue_date_end_at": mainModel.certificates?.cn_identity_card?.issue_date_end_at ?? "",
"issue_date_start_at": mainModel.certificates?.cn_identity_card?.issue_date_start_at ?? "",
"number": mainModel.certificates?.cn_identity_card?.number ?? ""] as [String : Any]
let hkID = ["img_back": mainModel.certificates?.hk_macao_pass?.img_back ?? "",
"img_front": mainModel.certificates?.hk_macao_pass?.img_front ?? "",
"issue_at": mainModel.certificates?.hk_macao_pass?.issue_at ?? "",
"issue_date_end_at": mainModel.certificates?.hk_macao_pass?.issue_date_end_at ?? "",
"issue_date_start_at": mainModel.certificates?.hk_macao_pass?.issue_date_start_at ?? "",
"number": mainModel.certificates?.hk_macao_pass?.number ?? ""] as [String : Any]
let passport = ["img_back": mainModel.certificates?.passport?.img_back ?? "",
"img_front": mainModel.certificates?.passport?.img_front ?? "",
"issue_at": mainModel.certificates?.passport?.issue_at ?? "",
"issue_date_end_at": mainModel.certificates?.passport?.issue_date_end_at ?? "",
"issue_date_start_at": mainModel.certificates?.passport?.issue_date_start_at ?? "",
"number": mainModel.certificates?.passport?.number ?? "",
"passport_type": mainModel.certificates?.passport?.passport_type ?? 0] as [String : Any]
let params: [String : Any] = ["address": address,
"address_aboard": mainModel.address_aboard ?? 0,
"age":mainModel.age ?? "",
"birth_place": birthPlace,
"birth_place_aboard": mainModel.birth_place_aboard ?? 0, "birth_place_aboard": mainModel.birth_place_aboard ?? 0,
"birthday": mainModel.birthday ?? "", "birthday": mainModel.birthday ?? "",
"email": mainModel.email ?? "", "email": mainModel.email ?? "",
...@@ -229,31 +252,14 @@ class YHMainApplicantInformationViewModel: YHBaseViewModel { ...@@ -229,31 +252,14 @@ class YHMainApplicantInformationViewModel: YHBaseViewModel {
"save_type": type, "save_type": type,
"username_pinyin": ["family_name": mainModel.username_pinyin?.family_name ?? "", "username_pinyin": ["family_name": mainModel.username_pinyin?.family_name ?? "",
"given_name": mainModel.username_pinyin?.given_name ?? ""], "given_name": mainModel.username_pinyin?.given_name ?? ""],
"certificates":["cn_identity_card": ["img_back": mainModel.certificates?.cn_identity_card?.img_back ?? "", "certificates":["cn_identity_card": cnID,
"img_front": mainModel.certificates?.cn_identity_card?.img_front ?? "", "hk_macao_pass": hkID,
"issue_at": mainModel.certificates?.cn_identity_card?.issue_at ?? "", "passport": passport]
"issue_date_end_at": mainModel.certificates?.cn_identity_card?.issue_date_end_at ?? "", ]
"issue_date_start_at": mainModel.certificates?.cn_identity_card?.issue_date_start_at ?? "",
"number": mainModel.certificates?.cn_identity_card?.number ?? ""],
"hk_macao_pass":
["img_back": mainModel.certificates?.hk_macao_pass?.img_back ?? "",
"img_front": mainModel.certificates?.hk_macao_pass?.img_front ?? "",
"issue_at": mainModel.certificates?.hk_macao_pass?.issue_at ?? "",
"issue_date_end_at": mainModel.certificates?.hk_macao_pass?.issue_date_end_at ?? "",
"issue_date_start_at": mainModel.certificates?.hk_macao_pass?.issue_date_start_at ?? "",
"number": mainModel.certificates?.hk_macao_pass?.number ?? ""],
"passport":
["img_back": mainModel.certificates?.passport?.img_back ?? "",
"img_front": mainModel.certificates?.passport?.img_front ?? "",
"issue_at": mainModel.certificates?.passport?.issue_at ?? "",
"issue_date_end_at": mainModel.certificates?.passport?.issue_date_end_at ?? "",
"issue_date_start_at": mainModel.certificates?.passport?.issue_date_start_at ?? "",
"number": mainModel.certificates?.passport?.number ?? "",
"passport_type": mainModel.certificates?.passport?.passport_type ?? 0]]]
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