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

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

parent 961eb2be
......@@ -225,6 +225,8 @@ class YHMyInformationItemCell: UITableViewCell {
block(self.dataSource ?? YHUserInformationModel())
}
}
case .travel:
break
}
}
......
......@@ -155,6 +155,7 @@ extension YHAdopterChinaViewController: UITableViewDelegate, UITableViewDataSour
guard let url = success else { return }
self.viewModel.requestCnIDCardMessage(url, isBack: 0) {[weak self] success, error in
guard let self = self else { return }
self.data = viewModel.getBaseDataSource(isShowPrompt)
self.tableView.reloadSections([1], with: .none)
}
}
......
......@@ -50,7 +50,11 @@ class YHAdopterNewPeopleViewController: YHBaseViewController {
func updateDataSource() {
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)
} else if self.stepView.currentIndex == 1 {
self.cardDataSource = self.viewModel.mainModel.docList
......
......@@ -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 {
......@@ -145,7 +156,8 @@ extension YHAdopterTravelViewController: UITableViewDelegate, UITableViewDataSou
guard let url = success else { return }
self.viewModel.requestHkIDCardMessage(url, isBack: 0) {[weak self] success, error in
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
let id = model.id
if id != .id2 && id != .id3 && id != .id4 {
self.data = viewModel.getBaseDataSource(isShowPrompt)
self.tableView.reloadSections([1], with: .none)
self.tableView.reloadData()
}
}
return cell
......@@ -170,9 +182,13 @@ extension YHAdopterTravelViewController: UITableViewDelegate, UITableViewDataSou
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
if indexPath.section == 0 {
if indexPath.row == 0 {
if model.reject_reason.count != 0 {
return 119
} else {
if isOneYearAfter(model.certificates_info.sign_expire_date) && model.certificates_info.sign_expire_date.count != 0 {
return 119
}
return 86
}
}
......
......@@ -200,5 +200,25 @@ class YHAdopterIncomeTitleTableViewCell: UITableViewCell {
failLabel.text = data.reject_reason
titleLabel.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 {
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:"请输入姓名")
var string = ""
if mainModel.info.dep_nationality == 0 {
......@@ -28,7 +28,8 @@ class YHAdopterNewPeopleViewModel: YHBaseViewModel {
string = "海外地区"
}
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]
}
......
......@@ -16,7 +16,7 @@ class YHYHAdopterTravelViewModel: YHBaseViewModel {
}
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 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:"请输入签发地点")
......@@ -66,7 +66,8 @@ class YHYHAdopterTravelViewModel: YHBaseViewModel {
func updateModel(_ model: YHHKIDCardModel) {
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 {
mainModel.certificates_info.birthday = model.birth
......
......@@ -21,6 +21,7 @@ enum YHItemSelectType: Int {
case school = 9
case degree = 10
case selectAddress = 11
case travel = 12
}
enum YHItemID: Int {
......
......@@ -22,12 +22,12 @@ class YHItemView: UIView {
var country: String = ""
var state: Int = 0 {
didSet {
if state == 1 || state == 2 {
if state == 1 || state == 3 {
nextStepImageView.isHidden = true
messageTextField.isEnabled = false
} else {
nextStepImageView.isHidden = false
messageTextField.isEnabled = true
// nextStepImageView.isHidden = false
// messageTextField.isEnabled = true
}
}
}
......@@ -235,6 +235,16 @@ class YHItemView: UIView {
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:
if dataSource.message == "0" {
messageTextField.text = ""
......@@ -490,6 +500,16 @@ class YHItemView: UIView {
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:
let vc = YHSelectCountryViewController()
vc.backLocationStringController = { (country) in
......
......@@ -238,6 +238,8 @@ class YHOtherPickerView: UIView {
return "高管证明文件"
case .idType:
return "选择证件类别"
case .travelIdType:
return "选择证件类别"
case .sex:
return "选择性别"
case .marry:
......@@ -283,7 +285,7 @@ extension YHOtherPickerView: UIPickerViewDelegate, UIPickerViewDataSource {
func pickerView(_ pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusing view: UIView?) -> UIView {
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()
label.textColor = UIColor.mainTextColor
label.font = UIFont.PFSC_M(ofSize: 14)
......@@ -408,6 +410,14 @@ extension YHOtherPickerView {
arrData.append(model)
}
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:
let arr = YHConstantArrayData.arrSex
arrData.removeAll()
......
......@@ -27,6 +27,8 @@ enum YHOtherPickerViewType: Int {
case prove
// 证件类别
case idType
// 旅行证件类别
case travelIdType
// 性别
case sex
// 婚姻状况
......@@ -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]] = [
["title": "男",
"id": "1"
......@@ -454,6 +486,8 @@ class YHConstantArrayData {
arrData = YHConstantArrayData.arrSex
case .idType:
arrData = YHConstantArrayData.arrIdType
case .travelIdType:
arrData = YHConstantArrayData.arrTravelIdType
case .structure:
arrData = YHConstantArrayData.arrStructure
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