Commit 820d2600 authored by David黄金龙's avatar David黄金龙

Merge branch 'develop' of http://gitlab.galaxy-immi.com/mobile-group/galaxy-iOS into develop

* 'develop' of http://gitlab.galaxy-immi.com/mobile-group/galaxy-iOS:
  //  旅行
  封装控件逻辑
  //  UI
  //  消息
  // 消息
  图片上传逻辑
  加载刷新
  新增加受养人一堆逻辑完善
parents b5031cdc 1f0dfcdf
...@@ -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
} }
} }
......
...@@ -122,6 +122,10 @@ extension YHAdoptedChinaTravelViewController: UITableViewDelegate, UITableViewDa ...@@ -122,6 +122,10 @@ extension YHAdoptedChinaTravelViewController: UITableViewDelegate, UITableViewDa
guard let self = self else { return } guard let self = self else { return }
self.urls[index] = url self.urls[index] = url
} }
cell.deleteBlock = { [weak self] url, index in
guard let self = self else { return }
self.urls[index] = url
}
return cell return cell
} }
......
...@@ -133,6 +133,10 @@ extension YHAdopterBirthViewController: UITableViewDelegate, UITableViewDataSour ...@@ -133,6 +133,10 @@ extension YHAdopterBirthViewController: UITableViewDelegate, UITableViewDataSour
guard let self = self else { return } guard let self = self else { return }
self.urls[index] = url self.urls[index] = url
} }
cell.deleteBlock = { [weak self] url, index in
guard let self = self else { return }
self.urls[index] = url
}
return cell return cell
} }
......
...@@ -122,6 +122,10 @@ extension YHAdopterChinaLifeViewController: UITableViewDelegate, UITableViewData ...@@ -122,6 +122,10 @@ extension YHAdopterChinaLifeViewController: UITableViewDelegate, UITableViewData
guard let self = self else { return } guard let self = self else { return }
self.urls[index] = url self.urls[index] = url
} }
cell.deleteBlock = { [weak self] url, index in
guard let self = self else { return }
self.urls[index] = url
}
return cell return cell
} }
......
...@@ -155,10 +155,15 @@ extension YHAdopterChinaViewController: UITableViewDelegate, UITableViewDataSour ...@@ -155,10 +155,15 @@ 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.tableView.reloadSections([1], with: .none) self.data = viewModel.getChinaDataSource(isShowPrompt)
self.tableView.reloadData()
} }
} }
} }
cell.deleteBlock = { [weak self] url, index in
guard let self = self else { return }
self.urls[index] = url
}
return cell return cell
} }
} }
...@@ -170,7 +175,7 @@ extension YHAdopterChinaViewController: UITableViewDelegate, UITableViewDataSour ...@@ -170,7 +175,7 @@ extension YHAdopterChinaViewController: UITableViewDelegate, UITableViewDataSour
let id = model.id let id = model.id
if id != .id21 && id != .id22 && id != .id23 { if id != .id21 && id != .id22 && id != .id23 {
self.data = viewModel.getChinaDataSource(isShowPrompt) self.data = viewModel.getChinaDataSource(isShowPrompt)
self.tableView.reloadSections([1], with: .none) self.tableView.reloadData()
} }
} }
return cell return cell
......
...@@ -123,6 +123,10 @@ extension YHAdopterIdCardViewController: UITableViewDelegate, UITableViewDataSou ...@@ -123,6 +123,10 @@ extension YHAdopterIdCardViewController: UITableViewDelegate, UITableViewDataSou
guard let self = self else { return } guard let self = self else { return }
self.urls[index] = url self.urls[index] = url
} }
cell.deleteBlock = { [weak self] url, index in
guard let self = self else { return }
self.urls[index] = url
}
return cell return cell
} }
......
...@@ -131,6 +131,10 @@ extension YHAdopterMarryViewController: UITableViewDelegate, UITableViewDataSour ...@@ -131,6 +131,10 @@ extension YHAdopterMarryViewController: UITableViewDelegate, UITableViewDataSour
guard let self = self else { return } guard let self = self else { return }
self.urls[index] = url self.urls[index] = url
} }
cell.deleteBlock = { [weak self] url, index in
guard let self = self else { return }
self.urls[index] = url
}
return cell return cell
} }
......
...@@ -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
......
...@@ -133,6 +133,10 @@ extension YHAdopterResidentViewController: UITableViewDelegate, UITableViewDataS ...@@ -133,6 +133,10 @@ extension YHAdopterResidentViewController: UITableViewDelegate, UITableViewDataS
guard let self = self else { return } guard let self = self else { return }
self.urls[index] = url self.urls[index] = url
} }
cell.deleteBlock = { [weak self] url, index in
guard let self = self else { return }
self.urls[index] = url
}
return cell return cell
} }
......
...@@ -108,6 +108,19 @@ class YHAdopterTravelViewController: YHBaseViewController { ...@@ -108,6 +108,19 @@ class YHAdopterTravelViewController: YHBaseViewController {
} }
} }
func isOneYearAfter(_ dateString: String) -> Bool {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
guard let inputDate = dateFormatter.date(from: dateString) else {
return false // 输入格式不正确
}
let currentDate = Date()
let oneYearFromNow = Calendar.current.date(byAdding: .year, value: 1, to: currentDate)!
return inputDate < oneYearFromNow
}
} }
extension YHAdopterTravelViewController: UITableViewDelegate, UITableViewDataSource { extension YHAdopterTravelViewController: UITableViewDelegate, UITableViewDataSource {
...@@ -145,10 +158,15 @@ extension YHAdopterTravelViewController: UITableViewDelegate, UITableViewDataSou ...@@ -145,10 +158,15 @@ 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.data = viewModel.getBaseDataSource(isShowPrompt)
self.tableView.reloadData() self.tableView.reloadData()
} }
} }
} }
cell.deleteBlock = { [weak self] url, index in
guard let self = self else { return }
self.urls[index] = url
}
return cell return cell
} }
} }
...@@ -161,7 +179,7 @@ extension YHAdopterTravelViewController: UITableViewDelegate, UITableViewDataSou ...@@ -161,7 +179,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 +188,13 @@ extension YHAdopterTravelViewController: UITableViewDelegate, UITableViewDataSou ...@@ -170,9 +188,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
} }
} }
......
...@@ -57,7 +57,7 @@ class YHAdopterCardExampleView: UIView { ...@@ -57,7 +57,7 @@ class YHAdopterCardExampleView: UIView {
data = ["service_adopter_example_other1", "service_adopter_example_other2","service_adopter_example_other3","service_adopter_example_other4"] data = ["service_adopter_example_other1", "service_adopter_example_other2","service_adopter_example_other3","service_adopter_example_other4"]
centerView.snp.remakeConstraints { make in centerView.snp.remakeConstraints { make in
make.left.right.bottom.equalToSuperview() make.left.right.bottom.equalToSuperview()
make.height.equalTo(801.fix) make.height.equalTo(701.fix)
} }
} }
......
...@@ -200,5 +200,27 @@ class YHAdopterIncomeTitleTableViewCell: UITableViewCell { ...@@ -200,5 +200,27 @@ 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) -> Bool {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
guard let inputDate = dateFormatter.date(from: dateString) else {
return false // 输入格式不正确
}
let currentDate = Date()
let oneYearFromNow = Calendar.current.date(byAdding: .year, value: 1, to: currentDate)!
return inputDate < oneYearFromNow
} }
} }
...@@ -11,6 +11,7 @@ import UIKit ...@@ -11,6 +11,7 @@ import UIKit
class YHAdopterMarryCardTableViewCell: UITableViewCell { class YHAdopterMarryCardTableViewCell: UITableViewCell {
typealias UrlBlock = (_ url: String, _ index: Int) -> () typealias UrlBlock = (_ url: String, _ index: Int) -> ()
var urlBlock: UrlBlock? var urlBlock: UrlBlock?
var deleteBlock: UrlBlock?
var frontLabel: UILabel! var frontLabel: UILabel!
var backSurfaceLabel: UILabel! var backSurfaceLabel: UILabel!
var thirdLabel: UILabel! var thirdLabel: UILabel!
...@@ -354,20 +355,32 @@ class YHAdopterMarryCardTableViewCell: UITableViewCell { ...@@ -354,20 +355,32 @@ class YHAdopterMarryCardTableViewCell: UITableViewCell {
} }
@objc func frontDeleteClick() { @objc func frontDeleteClick() {
firstUrl = ""
frontDeleteButton.isHidden = true frontDeleteButton.isHidden = true
frontImageButton.setBackgroundImage(UIImage(named: "service_adopter_card_marry_front"), for: .normal) frontImageButton.setBackgroundImage(UIImage(named: "service_adopter_card_marry_front"), for: .normal)
frontImageButton.setContent("card_upload", "点击上传") frontImageButton.setContent("card_upload", "点击上传")
if let block = self.deleteBlock {
block("", 0)
}
} }
@objc func backSurfaceDeleteClick() { @objc func backSurfaceDeleteClick() {
secondUrl = ""
backSurfaceDeleteButton.isHidden = true backSurfaceDeleteButton.isHidden = true
backSurfaceImageButton.setBackgroundImage(UIImage(named: "service_adopter_card_marry_second"), for: .normal) backSurfaceImageButton.setBackgroundImage(UIImage(named: "service_adopter_card_marry_second"), for: .normal)
backSurfaceImageButton.setContent("card_upload", "点击上传") backSurfaceImageButton.setContent("card_upload", "点击上传")
if let block = self.deleteBlock {
block("", 1)
}
} }
@objc func thirdDeleteClick() { @objc func thirdDeleteClick() {
lastUrl = ""
thirdDeleteButton.isHidden = true thirdDeleteButton.isHidden = true
thirdImageButton.setBackgroundImage(UIImage(named: "service_adopter_card_marry_back"), for: .normal) thirdImageButton.setBackgroundImage(UIImage(named: "service_adopter_card_marry_back"), for: .normal)
thirdImageButton.setContent("card_upload", "点击上传") thirdImageButton.setContent("card_upload", "点击上传")
if let block = self.deleteBlock {
block("", 2)
}
} }
} }
...@@ -11,6 +11,7 @@ import UIKit ...@@ -11,6 +11,7 @@ import UIKit
class YHAdopterResidentTableViewCell: UITableViewCell { class YHAdopterResidentTableViewCell: UITableViewCell {
typealias UrlBlock = (_ url: String, _ index: Int) -> () typealias UrlBlock = (_ url: String, _ index: Int) -> ()
var urlBlock: UrlBlock? var urlBlock: UrlBlock?
var deleteBlock: UrlBlock?
var frontLabel: UILabel! var frontLabel: UILabel!
var frontImageButton: YHCardButton! var frontImageButton: YHCardButton!
var frontDeleteButton: UIButton! var frontDeleteButton: UIButton!
...@@ -179,9 +180,13 @@ class YHAdopterResidentTableViewCell: UITableViewCell { ...@@ -179,9 +180,13 @@ class YHAdopterResidentTableViewCell: UITableViewCell {
} }
@objc func frontDeleteClick() { @objc func frontDeleteClick() {
firstUrl = ""
frontDeleteButton.isHidden = true frontDeleteButton.isHidden = true
frontImageButton.setBackgroundImage(UIImage(named: firstImageName), for: .normal) frontImageButton.setBackgroundImage(UIImage(named: firstImageName), for: .normal)
frontImageButton.setContent("card_upload", "点击上传") frontImageButton.setContent("card_upload", "点击上传")
if let block = self.deleteBlock {
block("", 0)
}
} }
} }
...@@ -11,6 +11,7 @@ import UIKit ...@@ -11,6 +11,7 @@ import UIKit
class YHAdopterTravelCardTableViewCell: UITableViewCell { class YHAdopterTravelCardTableViewCell: UITableViewCell {
typealias UrlBlock = (_ url: String, _ index: Int) -> () typealias UrlBlock = (_ url: String, _ index: Int) -> ()
var urlBlock: UrlBlock? var urlBlock: UrlBlock?
var deleteBlock: UrlBlock?
var frontLabel: UILabel! var frontLabel: UILabel!
var backSurfaceLabel: UILabel! var backSurfaceLabel: UILabel!
var frontImageButton: YHCardButton! var frontImageButton: YHCardButton!
...@@ -283,14 +284,22 @@ class YHAdopterTravelCardTableViewCell: UITableViewCell { ...@@ -283,14 +284,22 @@ class YHAdopterTravelCardTableViewCell: UITableViewCell {
} }
@objc func frontDeleteClick() { @objc func frontDeleteClick() {
firstUrl = ""
frontDeleteButton.isHidden = true frontDeleteButton.isHidden = true
frontImageButton.setBackgroundImage(UIImage(named: firstImageName), for: .normal) frontImageButton.setBackgroundImage(UIImage(named: firstImageName), for: .normal)
frontImageButton.setContent("card_upload", "点击上传") frontImageButton.setContent("card_upload", "点击上传")
if let block = self.deleteBlock {
block("", 0)
}
} }
@objc func backSurfaceDeleteClick() { @objc func backSurfaceDeleteClick() {
lastUrl = ""
backSurfaceDeleteButton.isHidden = true backSurfaceDeleteButton.isHidden = true
backSurfaceImageButton.setBackgroundImage(UIImage(named: lastImageName), for: .normal) backSurfaceImageButton.setBackgroundImage(UIImage(named: lastImageName), for: .normal)
backSurfaceImageButton.setContent("card_upload", "点击上传") backSurfaceImageButton.setContent("card_upload", "点击上传")
if let block = self.deleteBlock {
block("", 1)
}
} }
} }
...@@ -145,6 +145,7 @@ class YHCardUploadView: UIView { ...@@ -145,6 +145,7 @@ class YHCardUploadView: UIView {
} }
@objc func frontDeleteClick() { @objc func frontDeleteClick() {
firstUrl = ""
frontDeleteButton.isHidden = true frontDeleteButton.isHidden = true
frontImageButton.setBackgroundImage(UIImage(named: defaultImageName), for: .normal) frontImageButton.setBackgroundImage(UIImage(named: defaultImageName), for: .normal)
frontImageButton.setContent("card_upload", "点击上传") frontImageButton.setContent("card_upload", "点击上传")
......
...@@ -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
......
...@@ -224,7 +224,7 @@ class YHTravelDocsPreparationDetailVC: YHBaseViewController { ...@@ -224,7 +224,7 @@ class YHTravelDocsPreparationDetailVC: YHBaseViewController {
item.cerDetailModel.isNeedCheckDate = false item.cerDetailModel.isNeedCheckDate = false
if item.cerDetailModel.isOCR_failed { if item.cerDetailModel.isOCR_failed {
hasError = true // 无法识别不能当做无法提交的错误 所以 此处 hasError 不必设置为true
item.cerDetailModel.isNeedCheckCer = true item.cerDetailModel.isNeedCheckCer = true
item.cerDetailModel.checkTips = "无法识别,请核查文件" item.cerDetailModel.checkTips = "无法识别,请核查文件"
......
...@@ -69,7 +69,7 @@ class YHTravelCertificateUploadCell: UITableViewCell { ...@@ -69,7 +69,7 @@ class YHTravelCertificateUploadCell: UITableViewCell {
lazy var templateButton: UIButton = { lazy var templateButton: UIButton = {
let btn = UIButton() let btn = UIButton()
btn.frame = CGRect(x: 0, y: 0, width: 48, height: 16) btn.frame = CGRect(x: 0, y: 0, width: 48, height: 16)
btn.setTitle("资料模版", for: .normal) btn.setTitle("示例模版", for: .normal)
btn.titleLabel?.font = .PFSC_M(ofSize: 10) btn.titleLabel?.font = .PFSC_M(ofSize: 10)
btn.setTitleColor(.brandMainColor, for: .normal) btn.setTitleColor(.brandMainColor, for: .normal)
btn.layer.cornerRadius = kCornerRadius3 btn.layer.cornerRadius = kCornerRadius3
...@@ -108,8 +108,8 @@ class YHTravelCertificateUploadCell: UITableViewCell { ...@@ -108,8 +108,8 @@ class YHTravelCertificateUploadCell: UITableViewCell {
label.font = UIFont.PFSC_R(ofSize: 12) label.font = UIFont.PFSC_R(ofSize: 12)
label.textColor = UIColor.failColor label.textColor = UIColor.failColor
let a: ASAttributedString = .init("温馨提示:", .font(UIFont.PFSC_R(ofSize: 12)),.foreground(UIColor.mainTextColor50)) let a: ASAttributedString = .init("温馨提示:", .font(UIFont.PFSC_R(ofSize: 12)),.foreground(UIColor.brandMainColor))
let b: ASAttributedString = .init("具体根据当地出入境规定办理并提交相关证件,如有疑问,可联系银河客服经理咨询", .font(UIFont.PFSC_R(ofSize: 12)),.foreground(UIColor.brandMainColor)) let b: ASAttributedString = .init("具体根据当地出入境规定办理并提交相关证件,如有疑问,可联系银河客服经理咨询", .font(UIFont.PFSC_R(ofSize: 12)),.foreground(UIColor.mainTextColor(alpha: 0.5)))
label.attributed.text = a+b label.attributed.text = a+b
return label return label
}() }()
......
...@@ -133,7 +133,7 @@ extension YHTravelDocsPreparationViewModel { ...@@ -133,7 +133,7 @@ extension YHTravelDocsPreparationViewModel {
} }
if type == 2 { if type == 2 {
return .init("上传《护照》(需有效期≥签证时长+3个月)", .font(UIFont.PFSC_R(ofSize:14)),.foreground(UIColor.mainTextColor(alpha: 0.5))) return .init("上传《护照》(需有效期≥\(date))", .font(UIFont.PFSC_R(ofSize:14)),.foreground(UIColor.mainTextColor(alpha: 0.5)))
} }
if type == 3 { if type == 3 {
......
...@@ -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()
......
...@@ -269,13 +269,47 @@ extension YHMessageDetailListVC: UITableViewDelegate, UITableViewDataSource { ...@@ -269,13 +269,47 @@ extension YHMessageDetailListVC: UITableViewDelegate, UITableViewDataSource {
self.navigationController?.popToRootViewController(animated: false) self.navigationController?.popToRootViewController(animated: false)
goTabBarBy(tabType: .service) goTabBarBy(tabType: .service)
} else if self.type == YHMessageType.identityApproved.rawValue { // 身份获批 } else if (self.type == YHMessageType.identityApproved.rawValue ||
self.navigationController?.popToRootViewController(animated: false) self.type == YHMessageType.goToHK.rawValue)
goTabBarBy(tabType: .service)
{ // 身份获批 或 赴港办证
let orderId = Int(item.orderId) ?? 0
} else if self.type == YHMessageType.goToHK.rawValue { // 赴港办证 if item.redirectPage == "add_dependent" { // 新增受养人
let vc = YHAddAdoptersViewController()
vc.orderId = orderId
navigationController?.pushViewController(vc)
} else if item.redirectPage == "principal_approval_success" { // 原则批获批成功
let vc = YHPrincipleApprovedWaitSubmitVC()
vc.orderId = orderId
navigationController?.pushViewController(vc)
} else if item.redirectPage == "pay_electronic_visa" { // 电子签证缴费
let vc = YHVisaPaymentVC()
vc.orderID = orderId
navigationController?.pushViewController(vc)
} else if item.redirectPage == "prepare_travel_certificate" { // 旅行证件准备
let vc = YHTravelDocsPreparationListViewController()
vc.orderId = orderId
navigationController?.pushViewController(vc)
} else if item.redirectPage == "upload_pass_certificate" { // 上传过关证件
let vc = YHUploadCertificateVC()
vc.orderId = orderId
navigationController?.pushViewController(vc)
} else if item.redirectPage == "appoint_for_id_card" { // 赴港办证预约
let vc = YHCertificateAppointViewController()
vc.orderId = orderId
navigationController?.pushViewController(vc)
} else { // 其余条件进入服务页
self.navigationController?.popToRootViewController(animated: false)
goTabBarBy(tabType: .service)
}
} else if self.type == YHMessageType.renewal.rawValue { // 身份续签 } else if self.type == YHMessageType.renewal.rawValue { // 身份续签
} }
......
...@@ -196,9 +196,9 @@ class YHMessageListVC: YHBaseViewController { ...@@ -196,9 +196,9 @@ class YHMessageListVC: YHBaseViewController {
} }
// 身份续签 // 身份续签
if !self.viewModel.msgList.renewal.lastMessage.isEmpty { // if !self.viewModel.msgList.renewal.lastMessage.isEmpty {
hasUnreadMsg = true // hasUnreadMsg = true
} // }
if hasUnreadMsg { if hasUnreadMsg {
if !isHidden { if !isHidden {
...@@ -211,7 +211,7 @@ class YHMessageListVC: YHBaseViewController { ...@@ -211,7 +211,7 @@ class YHMessageListVC: YHBaseViewController {
msgArr.append(self.viewModel.msgList.approval) msgArr.append(self.viewModel.msgList.approval)
msgArr.append(self.viewModel.msgList.goToHK) msgArr.append(self.viewModel.msgList.goToHK)
msgArr.append(self.viewModel.msgList.renewal) // msgArr.append(self.viewModel.msgList.renewal)
} }
} }
......
...@@ -104,6 +104,7 @@ class YHDetailMessageModel: SmartCodable { ...@@ -104,6 +104,7 @@ class YHDetailMessageModel: SmartCodable {
var isRead: Bool = false var isRead: Bool = false
var orderId: String = "" var orderId: String = ""
var url: String = "" var url: String = ""
var redirectPage: String = ""
required init() { required init() {
...@@ -113,5 +114,6 @@ class YHDetailMessageModel: SmartCodable { ...@@ -113,5 +114,6 @@ class YHDetailMessageModel: SmartCodable {
case id, title, content, time, url case id, title, content, time, url
case isRead = "is_read" case isRead = "is_read"
case orderId = "order_id" case orderId = "order_id"
case redirectPage = "redirect_page"
} }
} }
...@@ -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