Commit 2e8c9e7a authored by Steven杜宇's avatar Steven杜宇

// 港澳通行证修改

parent 1d5b0471
......@@ -11,6 +11,8 @@ import AttributedString
class YHResignCertificateDetailHkViewController: YHBaseViewController {
var updateBlock: ((YHResignCertificateInfoModel) ->())?
lazy var viewModel: YHResignCertificateDetailViewModel = {
let vm = YHResignCertificateDetailViewModel()
return vm
......@@ -128,7 +130,7 @@ class YHResignCertificateDetailHkViewController: YHBaseViewController {
if dataModel.cert_info.img_back.count != 0 {
urls[1] = dataModel.cert_info.img_back
}
self.data = viewModel.getBaseDataSource(isShowPrompt)
self.data = viewModel.getBaseDatadSource(isShowPrompt)
// 头部提示
tipsArr = getTipsWithType(date: self.dataModel.valid_date)
tableView.reloadData()
......@@ -154,6 +156,15 @@ class YHResignCertificateDetailHkViewController: YHBaseViewController {
failString = "请港澳通行证背面"
return false
}
if self.viewModel.dataModel.cert_info.number.count <= 0 { // 证件号码为空
return false
}
if self.viewModel.dataModel.cert_info.address.count <= 0 { // 证件签发地为空
return false
}
if self.viewModel.dataModel.cert_info.issue_start.count == 0 {
return false
}
......@@ -225,6 +236,8 @@ private extension YHResignCertificateDetailHkViewController {
"img_back": urls[1],
"validate_start": self.viewModel.dataModel.cert_info.validate_start,
"validate_end": self.viewModel.dataModel.cert_info.validate_end,
"number": self.viewModel.dataModel.cert_info.number,
"address": self.viewModel.dataModel.cert_info.address,
"sign_type": "D",
"submit": true,
"is_show": true]
......@@ -234,8 +247,10 @@ private extension YHResignCertificateDetailHkViewController {
]
viewModel.submitResignCertificateUpdate(params) { success, error in
if success {
self.updateBlock?(self.viewModel.dataModel.cert_info)
YHHUD.flash(message: "保存成功")
self.navigationController?.popViewController()
self.navigationController?.popViewController()
} else {
let msg = error?.errorMsg ?? "保存失败,请重试"
YHHUD.flash(message: msg)
......@@ -333,6 +348,7 @@ extension YHResignCertificateDetailHkViewController: UITableViewDelegate, UITabl
if indexPath.section != 0 {
if urls[0].count == 0 && urls[1].count == 0 {
return 243
} else {
var tatol = 0
for item in data {
......@@ -343,7 +359,7 @@ extension YHResignCertificateDetailHkViewController: UITableViewDelegate, UITabl
tatol = tatol + 20
}
}
return CGFloat(521 + tatol)
return CGFloat(646 + tatol)
}
}
return UITableView.automaticDimension
......
......@@ -122,7 +122,7 @@ class YHResignCertificateDetailPassPortViewController: YHBaseViewController {
if dataModel.cert_info.img_front.count != 0 {
urls[0] = dataModel.cert_info.img_front
}
self.data = viewModel.getPassPortDataSource(isShowPrompt)
self.data = viewModel.getPassPortdDataSource(isShowPrompt)
// 头部提示
tipsArr = getTipsWithType(date: self.dataModel.valid_date)
tableView.reloadData()
......@@ -259,7 +259,7 @@ extension YHResignCertificateDetailPassPortViewController: UITableViewDelegate,
self.viewModel.getPublicImageUrl(url) {[weak self] success, error in
guard let self = self else { return }
guard let url = success else { return }
self.data = viewModel.getPassPortDataSource(isShowPrompt)
self.data = viewModel.getPassPortdDataSource(isShowPrompt)
self.tableView.reloadData()
}
}
......
......@@ -29,6 +29,9 @@ class YHResignCertificateHKTableViewCell: UITableViewCell {
var backSurfaceDeleteButton: UIButton!
var activityIndicator: UIActivityIndicatorView!
var showMessageLabel: UILabel!
var cerInfoLabel: UILabel!
var cerNumberView: YHItemView!
var cerSignPlaceView: YHItemView!
var cardLabel: UILabel!
var signLabel: UILabel!
var cardBeginView: YHItemView!
......@@ -110,7 +113,7 @@ class YHResignCertificateHKTableViewCell: UITableViewCell {
let isShow = item.isShowPrompts ?? false
let message = item.message ?? ""
let isNeed = item.isNeed ?? false
if item.id == .id1 {
if item.id == .id1 { // 卡片有效期开始时间
cardBeginView.dataSource = item
if isShow && message.count == 0 && isNeed {
cardBeginView.snp.updateConstraints { make in
......@@ -122,7 +125,7 @@ class YHResignCertificateHKTableViewCell: UITableViewCell {
}
}
}
if item.id == .id2 {
if item.id == .id2 { // 卡片有效期到期时间
cardEndView.dataSource = item
if isShow && message.count == 0 && isNeed {
cardEndView.snp.updateConstraints { make in
......@@ -139,7 +142,7 @@ class YHResignCertificateHKTableViewCell: UITableViewCell {
failString = "卡片有效期不足,需要为\(self.dataModel.valid_date)或以后"
}
}
if item.id == .id3 {
if item.id == .id3 { // 签注有效期开始时间
signBeginView.dataSource = item
if isShow && message.count == 0 && isNeed {
signBeginView.snp.updateConstraints { make in
......@@ -151,7 +154,7 @@ class YHResignCertificateHKTableViewCell: UITableViewCell {
}
}
}
if item.id == .id4 {
if item.id == .id4 { // 签注有效期到期时间
signEndView.dataSource = item
if isShow && message.count == 0 && isNeed {
signEndView.snp.updateConstraints { make in
......@@ -174,6 +177,32 @@ class YHResignCertificateHKTableViewCell: UITableViewCell {
}
}
}
if item.id == .id36 { // 证件信息 证件号码
cerNumberView.dataSource = item
if isShow && message.count == 0 && isNeed {
cerNumberView.snp.updateConstraints { make in
make.height.equalTo(72)
}
} else {
cerNumberView.snp.updateConstraints { make in
make.height.equalTo(52)
}
}
}
if item.id == .id37 { // 证件信息 签发地
cerSignPlaceView.dataSource = item
if isShow && message.count == 0 && isNeed {
cerSignPlaceView.snp.updateConstraints { make in
make.height.equalTo(72)
}
} else {
cerSignPlaceView.snp.updateConstraints { make in
make.height.equalTo(52)
}
}
}
}
}
}
......@@ -394,6 +423,72 @@ class YHResignCertificateHKTableViewCell: UITableViewCell {
make.height.equalTo(20)
}
// 【证件信息 UI】
cerInfoLabel = {
let label = UILabel()
label.font = UIFont.PFSC_M(ofSize: 15)
label.textColor = UIColor.mainTextColor
label.text = "证件信息"
return label
}()
centerView.addSubview(cerInfoLabel)
cerInfoLabel.snp.makeConstraints { make in
make.left.equalTo(18)
make.right.equalTo(-18)
make.top.equalTo(229)
make.height.equalTo(20)
}
cerNumberView = {
let view = YHItemView()
let line = UIView()
line.backgroundColor = UIColor.separatorColor
view.addSubview(line)
line.snp.makeConstraints { make in
make.left.right.bottom.equalToSuperview()
make.height.equalTo(0.5)
}
return view
}()
cerNumberView.block = {[weak self] model in
guard let self = self else { return }
if let block = self.block {
block(model)
}
}
centerView.addSubview(cerNumberView)
cerNumberView.snp.makeConstraints { make in
make.left.equalTo(18)
make.top.equalTo(cerInfoLabel.snp.bottom)
make.height.equalTo(52)
make.right.equalTo(-18)
}
cerSignPlaceView = {
let view = YHItemView()
let line = UIView()
line.backgroundColor = UIColor.separatorColor
view.addSubview(line)
line.snp.makeConstraints { make in
make.left.right.bottom.equalToSuperview()
make.height.equalTo(0.5)
}
return view
}()
cerSignPlaceView.block = {[weak self] model in
guard let self = self else { return }
if let block = self.block {
block(model)
}
}
centerView.addSubview(cerSignPlaceView)
cerSignPlaceView.snp.makeConstraints { make in
make.left.equalTo(18)
make.top.equalTo(cerNumberView.snp.bottom)
make.height.equalTo(52)
make.right.equalTo(-18)
}
// 【卡片有效期 UI】
cardLabel = {
let label = UILabel()
label.font = UIFont.PFSC_M(ofSize: 15)
......@@ -405,7 +500,7 @@ class YHResignCertificateHKTableViewCell: UITableViewCell {
cardLabel.snp.makeConstraints { make in
make.left.equalTo(18)
make.right.equalTo(-18)
make.top.equalTo(229)
make.top.equalTo(cerSignPlaceView.snp.bottom).offset(24)
make.height.equalTo(20)
}
cardBeginView = {
......@@ -465,6 +560,7 @@ class YHResignCertificateHKTableViewCell: UITableViewCell {
make.right.equalTo(-18)
}
// 【签注有效期 UI】
signLabel = {
let label = UILabel()
label.font = UIFont.PFSC_M(ofSize: 15)
......
......@@ -54,18 +54,27 @@ class YHResignCertificateDetailViewModel: YHBaseViewModel {
}
}
func getBaseDataSource(_ isShowPrompt: Bool) -> [YHItemModel] {
func getBaseDatadSource(_ isShowPrompt: Bool) -> [YHItemModel] {
let item5 = YHItemModel(id: .id36, isNeed: true, title: "证件号码", isUserKeyBoard: true, prompts: "A123456(A)", message: getResultString(dataModel.cert_info.number), isShowPrompts: isShowPrompt, alertMessage:"请输入证件号码")
let item6 = YHItemModel(id: .id37, isNeed: true, title: "签发地", isUserKeyBoard: true, prompts: "请输入", message: getResultString(dataModel.cert_info.address), isShowPrompts: isShowPrompt, alertMessage:"请输入签发地")
let item1 = YHItemModel(id: .id1, isNeed: true, title: "开始时间", isUserKeyBoard: false, prompts: "请选择", message: getResultString(dataModel.cert_info.issue_start), type: .time, isShowPrompts: isShowPrompt, alertMessage:"请选择开始时间")
let item2 = YHItemModel(id: .id2, isNeed: true, title: "到期时间", isUserKeyBoard: false, prompts: "请选择", message: getResultString(dataModel.cert_info.issue_end), type: .time, isShowPrompts: isShowPrompt, alertMessage:"请选择到期时间")
let item3 = YHItemModel(id: .id3, isNeed: true, title: "开始时间", isUserKeyBoard: false, prompts: "请选择", message: getResultString(dataModel.cert_info.validate_start), type: .time, isShowPrompts: isShowPrompt, alertMessage:"请选择开始时间")
let item4 = YHItemModel(id: .id4, isNeed: true, title: "到期时间", isUserKeyBoard: false, prompts: "请选择", message: getResultString(dataModel.cert_info.validate_end), type: .time, isShowPrompts: isShowPrompt, alertMessage:"请选择到期时间")
return [item1, item2, item3, item4]
return [item5, item6, item1, item2, item3, item4]
}
func getPassPortDataSource(_ isShowPrompt: Bool) -> [YHItemModel] {
func getPassPortdDataSource(_ isShowPrompt: Bool) -> [YHItemModel] {
let item3 = YHItemModel(id: .id36, isNeed: true, title: "证件号码", isUserKeyBoard: true, prompts: "A123456(A)", message: getResultString(dataModel.cert_info.number), isShowPrompts: isShowPrompt, alertMessage:"请输入证件号码")
let item4 = YHItemModel(id: .id37, isNeed: true, title: "签发地", isUserKeyBoard: true, prompts: "请输入", message: getResultString(dataModel.cert_info.address), isShowPrompts: isShowPrompt, alertMessage:"请输入签发地")
let item1 = YHItemModel(id: .id5, isNeed: true, title: "签发日期", isUserKeyBoard: false, prompts: "请选择", message: getResultString(dataModel.cert_info.issue_start), type: .time, isShowPrompts: isShowPrompt, alertMessage:"请选择开始时间")
let item2 = YHItemModel(id: .id6, isNeed: true, title: "届满日期", isUserKeyBoard: false, prompts: "请选择", message: getResultString(dataModel.cert_info.issue_end), type: .time, isShowPrompts: isShowPrompt, alertMessage:"请选择到期时间")
return [item1, item2]
return [item3, item4, item1, item2]
}
func updateModel(_ item: YHItemModel) {
......@@ -83,6 +92,10 @@ class YHResignCertificateDetailViewModel: YHBaseViewModel {
dataModel.cert_info.issue_start = item.message ?? ""
case .id6:
dataModel.cert_info.issue_end = item.message ?? ""
case .id36:
dataModel.cert_info.number = item.message ?? ""
case .id37:
dataModel.cert_info.address = item.message ?? ""
default:
break
}
......
......@@ -143,6 +143,7 @@ class YHResignInfoConfirmModifyViewController: YHBaseViewController {
if let identity = detailMember.identity {
let isValidDateEnough = identity.isValidDateEnough()
if !isValidDateEnough {
YHHUD.flash(message: "证件有效期不足")
return false
}
}
......@@ -235,6 +236,16 @@ extension YHResignInfoConfirmModifyViewController: UITableViewDelegate, UITableV
// 港澳通行证
let vc = YHResignCertificateDetailHkViewController()
vc.cerId = identity.id
vc.updateBlock = {
[weak self] cerInfo in
guard let self = self else { return }
if let identity = self.detailMember.identity {
identity.number = cerInfo.number
identity.begin = cerInfo.issue_start
identity.end = cerInfo.issue_end
self.updateData()
}
}
self.navigationController?.pushViewController(vc)
} else if identity.type == 3 {
......
......@@ -60,6 +60,9 @@ enum YHItemID: Int {
case id33 = 32 // 是否海外居住一年以上
case id34 = 33 // 主申请人信息 出生城市国外
case id35 = 34 // 香港ID号码
case id36 = 35 // 证件号码
case id37 = 36 // 证件签发地
}
......
......@@ -322,6 +322,12 @@ class YHMainApplicantInformationViewModel: YHBaseViewModel {
mainModel.birth_place.foreign = item.message ?? ""
case .id35:
mainModel.hk_id_number = item.message ?? ""
case .id36:
printLog("不需要")
case .id37:
printLog("不需要")
}
}
......
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