Commit e285b9d1 authored by pete谢兆麟's avatar pete谢兆麟

新增加受养人一堆逻辑完善

parent 961eb2be
...@@ -225,6 +225,8 @@ class YHMyInformationItemCell: UITableViewCell { ...@@ -225,6 +225,8 @@ class YHMyInformationItemCell: UITableViewCell {
block(self.dataSource ?? YHUserInformationModel()) block(self.dataSource ?? YHUserInformationModel())
} }
} }
case .travel:
break
} }
} }
......
...@@ -155,6 +155,7 @@ extension YHAdopterChinaViewController: UITableViewDelegate, UITableViewDataSour ...@@ -155,6 +155,7 @@ extension YHAdopterChinaViewController: UITableViewDelegate, UITableViewDataSour
guard let url = success else { return } guard let url = success else { return }
self.viewModel.requestCnIDCardMessage(url, isBack: 0) {[weak self] success, error in self.viewModel.requestCnIDCardMessage(url, isBack: 0) {[weak self] success, error in
guard let self = self else { return } guard let self = self else { return }
self.data = viewModel.getBaseDataSource(isShowPrompt)
self.tableView.reloadSections([1], with: .none) self.tableView.reloadSections([1], with: .none)
} }
} }
......
...@@ -50,7 +50,11 @@ class YHAdopterNewPeopleViewController: YHBaseViewController { ...@@ -50,7 +50,11 @@ class YHAdopterNewPeopleViewController: YHBaseViewController {
func updateDataSource() { func updateDataSource() {
if self.stepView.currentIndex == 0 { if self.stepView.currentIndex == 0 {
self.dataSource = self.viewModel.getBaseDataSource(isShowPrompt) if titleText == "新增子女" {
self.dataSource = self.viewModel.getBaseDataSource(isShowPrompt,"子女信息")
} else {
self.dataSource = self.viewModel.getBaseDataSource(isShowPrompt)
}
self.bottomView.nextButton.setTitle("下一步", for: .normal) self.bottomView.nextButton.setTitle("下一步", for: .normal)
} else if self.stepView.currentIndex == 1 { } else if self.stepView.currentIndex == 1 {
self.cardDataSource = self.viewModel.mainModel.docList self.cardDataSource = self.viewModel.mainModel.docList
......
...@@ -108,6 +108,17 @@ class YHAdopterTravelViewController: YHBaseViewController { ...@@ -108,6 +108,17 @@ class YHAdopterTravelViewController: YHBaseViewController {
} }
} }
func isOneYearAfter(_ dateString: String, from baseDate: Date = Date()) -> Bool {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
guard let date = dateFormatter.date(from: dateString) else { return false }
let calendar = Calendar.current
let components = calendar.dateComponents([.year], from: date, to: baseDate)
return components.year ?? 0 >= 1
}
} }
extension YHAdopterTravelViewController: UITableViewDelegate, UITableViewDataSource { extension YHAdopterTravelViewController: UITableViewDelegate, UITableViewDataSource {
...@@ -145,7 +156,8 @@ extension YHAdopterTravelViewController: UITableViewDelegate, UITableViewDataSou ...@@ -145,7 +156,8 @@ extension YHAdopterTravelViewController: UITableViewDelegate, UITableViewDataSou
guard let url = success else { return } guard let url = success else { return }
self.viewModel.requestHkIDCardMessage(url, isBack: 0) {[weak self] success, error in self.viewModel.requestHkIDCardMessage(url, isBack: 0) {[weak self] success, error in
guard let self = self else { return } guard let self = self else { return }
self.tableView.reloadData() self.data = viewModel.getBaseDataSource(isShowPrompt)
self.tableView.reloadSections([1], with: .none)
} }
} }
} }
...@@ -161,7 +173,7 @@ extension YHAdopterTravelViewController: UITableViewDelegate, UITableViewDataSou ...@@ -161,7 +173,7 @@ extension YHAdopterTravelViewController: UITableViewDelegate, UITableViewDataSou
let id = model.id let id = model.id
if id != .id2 && id != .id3 && id != .id4 { if id != .id2 && id != .id3 && id != .id4 {
self.data = viewModel.getBaseDataSource(isShowPrompt) self.data = viewModel.getBaseDataSource(isShowPrompt)
self.tableView.reloadSections([1], with: .none) self.tableView.reloadData()
} }
} }
return cell return cell
...@@ -170,9 +182,13 @@ extension YHAdopterTravelViewController: UITableViewDelegate, UITableViewDataSou ...@@ -170,9 +182,13 @@ extension YHAdopterTravelViewController: UITableViewDelegate, UITableViewDataSou
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
if indexPath.section == 0 { if indexPath.section == 0 {
if indexPath.row == 0 { if indexPath.row == 0 {
if model.reject_reason.count != 0 { if model.reject_reason.count != 0 {
return 119 return 119
} else { } else {
if isOneYearAfter(model.certificates_info.sign_expire_date) && model.certificates_info.sign_expire_date.count != 0 {
return 119
}
return 86 return 86
} }
} }
......
...@@ -200,5 +200,25 @@ class YHAdopterIncomeTitleTableViewCell: UITableViewCell { ...@@ -200,5 +200,25 @@ class YHAdopterIncomeTitleTableViewCell: UITableViewCell {
failLabel.text = data.reject_reason failLabel.text = data.reject_reason
titleLabel.text = "旅行证件" titleLabel.text = "旅行证件"
alertLabel.text = "要求:中国籍上传港澳通行证正反面,外籍上传护照正反面" alertLabel.text = "要求:中国籍上传港澳通行证正反面,外籍上传护照正反面"
if isOneYearAfter(data.certificates_info.sign_expire_date) && data.certificates_info.sign_expire_date.count != 0 {
failLabel.text = "证件有效期至少需1年,请更新证件后上传"
failImageView.isHidden = false
failLabel.isHidden = false
} else {
failImageView.isHidden = true
failLabel.isHidden = true
}
}
func isOneYearAfter(_ dateString: String, from baseDate: Date = Date()) -> Bool {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
guard let date = dateFormatter.date(from: dateString) else { return false }
let calendar = Calendar.current
let components = calendar.dateComponents([.year], from: date, to: baseDate)
return components.year ?? 0 >= 1
} }
} }
...@@ -15,7 +15,7 @@ class YHAdopterNewPeopleViewModel: YHBaseViewModel { ...@@ -15,7 +15,7 @@ class YHAdopterNewPeopleViewModel: YHBaseViewModel {
super.init() super.init()
} }
func getBaseDataSource(_ isShowPrompt: Bool) -> [YHSectionItemModel] { func getBaseDataSource(_ isShowPrompt: Bool, _ title: String = "配偶信息") -> [YHSectionItemModel] {
let item = YHItemModel(id: .id1, isNeed: true, title: "姓名", isUserKeyBoard: true, prompts: "请输入", message: mainModel.info.dep_name, isShowPrompts: isShowPrompt, alertMessage:"请输入姓名") let item = YHItemModel(id: .id1, isNeed: true, title: "姓名", isUserKeyBoard: true, prompts: "请输入", message: mainModel.info.dep_name, isShowPrompts: isShowPrompt, alertMessage:"请输入姓名")
var string = "" var string = ""
if mainModel.info.dep_nationality == 0 { if mainModel.info.dep_nationality == 0 {
...@@ -28,7 +28,8 @@ class YHAdopterNewPeopleViewModel: YHBaseViewModel { ...@@ -28,7 +28,8 @@ class YHAdopterNewPeopleViewModel: YHBaseViewModel {
string = "海外地区" string = "海外地区"
} }
let item1 = YHItemModel(id: .id2, isNeed: true, title: "国家/地区", isUserKeyBoard: false, prompts: "请选择", message: string, type: .selectAddress, isShowPrompts: isShowPrompt, alertMessage:"请选择国家/地区") let item1 = YHItemModel(id: .id2, isNeed: true, title: "国家/地区", isUserKeyBoard: false, prompts: "请选择", message: string, type: .selectAddress, isShowPrompts: isShowPrompt, alertMessage:"请选择国家/地区")
let section = YHSectionItemModel(title: "配偶信息", models: [item, item1])
let section = YHSectionItemModel(title: title, models: [item, item1])
return [section] return [section]
} }
......
...@@ -16,7 +16,7 @@ class YHYHAdopterTravelViewModel: YHBaseViewModel { ...@@ -16,7 +16,7 @@ class YHYHAdopterTravelViewModel: YHBaseViewModel {
} }
func getBaseDataSource(_ isShowPrompt: Bool) -> [YHItemModel] { func getBaseDataSource(_ isShowPrompt: Bool) -> [YHItemModel] {
let item = YHItemModel(id: .id1, isNeed: true, title: "旅行证件类型", isUserKeyBoard: false, prompts: "请选择", message: "\(mainModel.certificates_info.travel_papers_type)", type: .id, isShowPrompts: isShowPrompt, alertMessage:"请选择旅行证件类型") let item = YHItemModel(id: .id1, isNeed: true, title: "旅行证件类型", isUserKeyBoard: false, prompts: "请选择", message: "\(mainModel.certificates_info.travel_papers_type)", type: .travel, isShowPrompts: isShowPrompt, alertMessage:"请选择旅行证件类型")
let item1 = YHItemModel(id: .id2, isNeed: true, title: "英文姓名", isUserKeyBoard: true, prompts: "请输入", message: mainModel.certificates_info.en_name, isShowPrompts: isShowPrompt, alertMessage:"请输入英文姓名") let item1 = YHItemModel(id: .id2, isNeed: true, title: "英文姓名", isUserKeyBoard: true, prompts: "请输入", message: mainModel.certificates_info.en_name, isShowPrompts: isShowPrompt, alertMessage:"请输入英文姓名")
let item2 = YHItemModel(id: .id3, isNeed: true, title: "旅行证件号码", isUserKeyBoard: true, prompts: "请输入", message: mainModel.certificates_info.travel_papers_number, isShowPrompts: isShowPrompt, alertMessage:"请输入旅行证件号码") let item2 = YHItemModel(id: .id3, isNeed: true, title: "旅行证件号码", isUserKeyBoard: true, prompts: "请输入", message: mainModel.certificates_info.travel_papers_number, isShowPrompts: isShowPrompt, alertMessage:"请输入旅行证件号码")
let item3 = YHItemModel(id: .id4, isNeed: true, title: "签发地点", isUserKeyBoard: true, prompts: "请输入", message: mainModel.certificates_info.sign_address, isShowPrompts: isShowPrompt, alertMessage:"请输入签发地点") let item3 = YHItemModel(id: .id4, isNeed: true, title: "签发地点", isUserKeyBoard: true, prompts: "请输入", message: mainModel.certificates_info.sign_address, isShowPrompts: isShowPrompt, alertMessage:"请输入签发地点")
...@@ -66,7 +66,8 @@ class YHYHAdopterTravelViewModel: YHBaseViewModel { ...@@ -66,7 +66,8 @@ class YHYHAdopterTravelViewModel: YHBaseViewModel {
func updateModel(_ model: YHHKIDCardModel) { func updateModel(_ model: YHHKIDCardModel) {
if model.name.count != 0 { if model.name.count != 0 {
mainModel.certificates_info.en_name = model.name mainModel.certificates_info.en_name = model.pingyin
mainModel.certificates_info.travel_papers_type = 1
} }
if model.birth.count != 0 { if model.birth.count != 0 {
mainModel.certificates_info.birthday = model.birth mainModel.certificates_info.birthday = model.birth
......
...@@ -21,6 +21,7 @@ enum YHItemSelectType: Int { ...@@ -21,6 +21,7 @@ enum YHItemSelectType: Int {
case school = 9 case school = 9
case degree = 10 case degree = 10
case selectAddress = 11 case selectAddress = 11
case travel = 12
} }
enum YHItemID: Int { enum YHItemID: Int {
......
...@@ -22,12 +22,12 @@ class YHItemView: UIView { ...@@ -22,12 +22,12 @@ class YHItemView: UIView {
var country: String = "" var country: String = ""
var state: Int = 0 { var state: Int = 0 {
didSet { didSet {
if state == 1 || state == 2 { if state == 1 || state == 3 {
nextStepImageView.isHidden = true nextStepImageView.isHidden = true
messageTextField.isEnabled = false messageTextField.isEnabled = false
} else { } else {
nextStepImageView.isHidden = false // nextStepImageView.isHidden = false
messageTextField.isEnabled = true // messageTextField.isEnabled = true
} }
} }
} }
...@@ -235,6 +235,16 @@ class YHItemView: UIView { ...@@ -235,6 +235,16 @@ class YHItemView: UIView {
messageTextField.text = item["title"] messageTextField.text = item["title"]
} }
} }
case .travel:
if dataSource.message == "0" {
messageTextField.text = ""
}
let arr = YHConstantArrayData.arrTravelIdType
arr.forEach { item in
if item["id"] == dataSource.message {
messageTextField.text = item["title"]
}
}
case .sex: case .sex:
if dataSource.message == "0" { if dataSource.message == "0" {
messageTextField.text = "" messageTextField.text = ""
...@@ -490,6 +500,16 @@ class YHItemView: UIView { ...@@ -490,6 +500,16 @@ class YHItemView: UIView {
block(self.dataSource ?? YHItemModel()) block(self.dataSource ?? YHItemModel())
} }
} }
case .travel:
YHOtherPickerView.show(type: .travelIdType, selectTitle: self.dataSource?.message ?? "") {[weak self] data in
guard let self = self else { return }
self.dataSource?.message = data.title
self.dataSource?.value = [data.index]
self.updateAllViews()
if let block = self.block {
block(self.dataSource ?? YHItemModel())
}
}
case .country: case .country:
let vc = YHSelectCountryViewController() let vc = YHSelectCountryViewController()
vc.backLocationStringController = { (country) in vc.backLocationStringController = { (country) in
......
...@@ -238,6 +238,8 @@ class YHOtherPickerView: UIView { ...@@ -238,6 +238,8 @@ class YHOtherPickerView: UIView {
return "高管证明文件" return "高管证明文件"
case .idType: case .idType:
return "选择证件类别" return "选择证件类别"
case .travelIdType:
return "选择证件类别"
case .sex: case .sex:
return "选择性别" return "选择性别"
case .marry: case .marry:
...@@ -283,7 +285,7 @@ extension YHOtherPickerView: UIPickerViewDelegate, UIPickerViewDataSource { ...@@ -283,7 +285,7 @@ extension YHOtherPickerView: UIPickerViewDelegate, UIPickerViewDataSource {
func pickerView(_ pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusing view: UIView?) -> UIView { func pickerView(_ pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusing view: UIView?) -> UIView {
switch type { switch type {
case .nature,.certificate,.structure,.level,.prove,.idType,.sex,.marry,.constellation,.selectAddress: case .nature,.certificate,.structure,.level,.prove,.idType,.travelIdType,.sex,.marry,.constellation,.selectAddress:
let label = UILabel() let label = UILabel()
label.textColor = UIColor.mainTextColor label.textColor = UIColor.mainTextColor
label.font = UIFont.PFSC_M(ofSize: 14) label.font = UIFont.PFSC_M(ofSize: 14)
...@@ -408,6 +410,14 @@ extension YHOtherPickerView { ...@@ -408,6 +410,14 @@ extension YHOtherPickerView {
arrData.append(model) arrData.append(model)
} }
title = getTitle(type: type) title = getTitle(type: type)
case .travelIdType:
let arr = YHConstantArrayData.arrTravelIdType
arrData.removeAll()
arr.forEach { item in
let model = YHOtherPickerViewItemData(title: item["title"] ?? "-", subTitle: "", index: item["id"] ?? "-")
arrData.append(model)
}
title = getTitle(type: type)
case .sex: case .sex:
let arr = YHConstantArrayData.arrSex let arr = YHConstantArrayData.arrSex
arrData.removeAll() arrData.removeAll()
......
...@@ -27,6 +27,8 @@ enum YHOtherPickerViewType: Int { ...@@ -27,6 +27,8 @@ enum YHOtherPickerViewType: Int {
case prove case prove
// 证件类别 // 证件类别
case idType case idType
// 旅行证件类别
case travelIdType
// 性别 // 性别
case sex case sex
// 婚姻状况 // 婚姻状况
...@@ -322,6 +324,36 @@ class YHConstantArrayData { ...@@ -322,6 +324,36 @@ class YHConstantArrayData {
] ]
] ]
static let arrTravelIdType : [[String : String]] = [
["title": "往来港澳通行证",
"id": "1"
],
["title": "护照",
"id": "3"
],
["title": "外交护照",
"id": "4"
],
["title": "公务护照",
"id": "5"
],
["title": "中国发无国籍旅游证件",
"id": "6"
],
["title": "旅游通行证",
"id": "7"
],
["title": "联合国通行证",
"id": "8"
],
["title": "其他无国籍旅行证件",
"id": "9"
],
["title": "其他",
"id": "10"
]
]
static let arrSex : [[String : String]] = [ static let arrSex : [[String : String]] = [
["title": "男", ["title": "男",
"id": "1" "id": "1"
...@@ -454,6 +486,8 @@ class YHConstantArrayData { ...@@ -454,6 +486,8 @@ class YHConstantArrayData {
arrData = YHConstantArrayData.arrSex arrData = YHConstantArrayData.arrSex
case .idType: case .idType:
arrData = YHConstantArrayData.arrIdType arrData = YHConstantArrayData.arrIdType
case .travelIdType:
arrData = YHConstantArrayData.arrTravelIdType
case .structure: case .structure:
arrData = YHConstantArrayData.arrStructure arrData = YHConstantArrayData.arrStructure
case .level: case .level:
......
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