Commit a3f02389 authored by Steven杜宇's avatar Steven杜宇

// 信息确认

parent 8a2c065e
...@@ -62,6 +62,8 @@ class YHResignCertificateInfoModel: SmartCodable { ...@@ -62,6 +62,8 @@ class YHResignCertificateInfoModel: SmartCodable {
var issue_start: String = "" var issue_start: String = ""
var validate_start: String = "" var validate_start: String = ""
var validate_end: String = "" var validate_end: String = ""
var address: String = ""
var number: String = ""
var is_show: Bool = false var is_show: Bool = false
var submit: Bool = true var submit: Bool = true
......
...@@ -80,6 +80,7 @@ class YHResignAppointContainerViewController: YHBaseViewController { ...@@ -80,6 +80,7 @@ class YHResignAppointContainerViewController: YHBaseViewController {
} else { // 预约过 } else { // 预约过
self.scheduleVC.scheduleArr = self.viewModel.scheduleInfoList.renewal_List self.scheduleVC.scheduleArr = self.viewModel.scheduleInfoList.renewal_List
self.scheduleVC.isTogether = self.viewModel.scheduleInfoList.is_together
self.scheduleVC.view.isHidden = false self.scheduleVC.view.isHidden = false
self.appointVC.view.isHidden = true self.appointVC.view.isHidden = true
} }
......
...@@ -16,6 +16,7 @@ class YHResignAppointScheduleListViewController: YHBaseViewController { ...@@ -16,6 +16,7 @@ class YHResignAppointScheduleListViewController: YHBaseViewController {
var renewalId: Int = 0 var renewalId: Int = 0
let viewModel = YHResignAppointViewModel() let viewModel = YHResignAppointViewModel()
var isTogether: Int = 0 // 0单人 1一起 2分批
var scheduleArr: [YHResignAppointGroup] = [] { var scheduleArr: [YHResignAppointGroup] = [] {
didSet { didSet {
self.tableView.reloadData() self.tableView.reloadData()
...@@ -24,13 +25,6 @@ class YHResignAppointScheduleListViewController: YHBaseViewController { ...@@ -24,13 +25,6 @@ class YHResignAppointScheduleListViewController: YHBaseViewController {
} }
// 是否隐藏修改按钮 // 是否隐藏修改按钮
var isHiddenModifyBtn: Bool = false var isHiddenModifyBtn: Bool = false
var isTogether: Bool {
get {
// 只有一个行程安排 就是一起去递交
return scheduleArr.count <= 1
}
}
lazy var tableView: UITableView = { lazy var tableView: UITableView = {
let tableView = UITableView(frame: CGRect.zero, style:.grouped) let tableView = UITableView(frame: CGRect.zero, style:.grouped)
...@@ -203,7 +197,7 @@ class YHResignAppointScheduleListViewController: YHBaseViewController { ...@@ -203,7 +197,7 @@ class YHResignAppointScheduleListViewController: YHBaseViewController {
guard let self = self else { return } guard let self = self else { return }
let group = scheduleArr[0] let group = scheduleArr[0]
vc.togetherSetting.isCanEdit = false vc.togetherSetting.isCanEdit = false
vc.togetherSetting.is_together = 1 vc.togetherSetting.is_together = self.isTogether
vc.defaultSubmitTime = group.ready_to_submit_at vc.defaultSubmitTime = group.ready_to_submit_at
vc.defaultLeaveHKTime = group.leave_hk_at vc.defaultLeaveHKTime = group.leave_hk_at
vc.allAppointUsers = self.viewModel.appointUsers vc.allAppointUsers = self.viewModel.appointUsers
...@@ -357,7 +351,7 @@ extension YHResignAppointScheduleListViewController: UITableViewDelegate, UITabl ...@@ -357,7 +351,7 @@ extension YHResignAppointScheduleListViewController: UITableViewDelegate, UITabl
if 0 <= indexPath.row && indexPath.row < scheduleArr.count { if 0 <= indexPath.row && indexPath.row < scheduleArr.count {
let model = scheduleArr[indexPath.row] let model = scheduleArr[indexPath.row]
if isTogether { if scheduleArr.count <= 1 {
let cell = tableView.dequeueReusableCell(withIdentifier: YHResignHaveAppointedSingleInfoCell.cellReuseIdentifier, for: indexPath) as! YHResignHaveAppointedSingleInfoCell let cell = tableView.dequeueReusableCell(withIdentifier: YHResignHaveAppointedSingleInfoCell.cellReuseIdentifier, for: indexPath) as! YHResignHaveAppointedSingleInfoCell
cell.updateModel(model) cell.updateModel(model)
// 点击确认在港或未确认在港按钮 // 点击确认在港或未确认在港按钮
......
...@@ -219,12 +219,38 @@ extension YHResignInfoConfirmModifyViewController: UITableViewDelegate, UITableV ...@@ -219,12 +219,38 @@ extension YHResignInfoConfirmModifyViewController: UITableViewDelegate, UITableV
guard let self = self else { return } guard let self = self else { return }
self.updateData() self.updateData()
} }
// 点击有效期不足去处理
cell.clickUnvalidTime = {
[weak self] in
guard let self = self else { return }
if let identity = self.detailMember.identity {
self.viewModel.getCertificateDetail(identity.id) { cerDetailModel, error in
guard let cerDetailModel = cerDetailModel else {
let msg = error?.errorMsg ?? "请求证件详情错误"
YHHUD.flash(message: msg)
return
}
if cerDetailModel.cert_type == "PASS_PORT" {
// 护照
let vc = YHResignCertificateDetailPassPortViewController()
vc.dataModel = cerDetailModel
self.navigationController?.pushViewController(vc)
} else {
// 港澳通行证
let vc = YHResignCertificateDetailHkViewController()
vc.dataModel = cerDetailModel
self.navigationController?.pushViewController(vc)
}
}
}
}
} else { } else {
let title: ASAttributedString = .init("递交证件信息", .font(UIFont.PFSC_M(ofSize: 17)),.foreground(UIColor.mainTextColor)) let title: ASAttributedString = .init("递交证件信息", .font(UIFont.PFSC_M(ofSize: 17)),.foreground(UIColor.mainTextColor))
let subtitle: ASAttributedString = .init("(如需更换,请联系您的生活管家)", .font(UIFont.PFSC_R(ofSize: 13)),.foreground(UIColor.mainTextColor(alpha: 0.5))) cell.titleLabel.attributed.text = title
cell.titleLabel.attributed.text = title + subtitle
cell.modifyBtn.isHidden = true cell.modifyBtn.isHidden = true
} }
......
...@@ -139,6 +139,8 @@ class YHResignFamilyInfoListCell: UITableViewCell { ...@@ -139,6 +139,8 @@ class YHResignFamilyInfoListCell: UITableViewCell {
} }
} }
var clickUnvalidTime:(()->())?
// 是否进入编辑模式 // 是否进入编辑模式
var editBlock:((Bool)->())? var editBlock:((Bool)->())?
// 选择出生国家 // 选择出生国家
...@@ -261,6 +263,11 @@ class YHResignFamilyInfoListCell: UITableViewCell { ...@@ -261,6 +263,11 @@ class YHResignFamilyInfoListCell: UITableViewCell {
} else if let itemView = itemView as? YHResignInfoValidTimeItemView { } else if let itemView = itemView as? YHResignInfoValidTimeItemView {
itemsContentView.addSubview(itemView) itemsContentView.addSubview(itemView)
itemView.updateItem(item, familyInfo: familyInfo) itemView.updateItem(item, familyInfo: familyInfo)
itemView.clickUnvalidTime = {
[weak self] in
guard let self = self else { return }
clickUnvalidTime?()
}
} }
if let itemView = itemView { if let itemView = itemView {
......
...@@ -13,6 +13,7 @@ import AttributedString ...@@ -13,6 +13,7 @@ import AttributedString
// 文字编辑和选择弹窗时使用 // 文字编辑和选择弹窗时使用
class YHResignInfoValidTimeItemView: UIView { class YHResignInfoValidTimeItemView: UIView {
var clickUnvalidTime: (()->())?
private var debounceTimer: Timer? private var debounceTimer: Timer?
var item: YHResignFamilyInfoItem = YHResignFamilyInfoItem() var item: YHResignFamilyInfoItem = YHResignFamilyInfoItem()
...@@ -41,9 +42,12 @@ class YHResignInfoValidTimeItemView: UIView { ...@@ -41,9 +42,12 @@ class YHResignInfoValidTimeItemView: UIView {
}() }()
lazy var grayContentView: UIView = { lazy var grayContentView: UIView = {
let view = UIView() let view = UIView()
view.layer.cornerRadius = kCornerRadius6 view.layer.cornerRadius = kCornerRadius6
view.backgroundColor = UIColor(hex: 0xF8F9FB) view.backgroundColor = UIColor(hex: 0xF8F9FB)
let tap = UITapGestureRecognizer(target: self, action: #selector(didUnvalidTimeClicked))
view.addGestureRecognizer(tap)
view.clipsToBounds = true view.clipsToBounds = true
let errorTipsLabel = UILabel() let errorTipsLabel = UILabel()
...@@ -83,6 +87,10 @@ class YHResignInfoValidTimeItemView: UIView { ...@@ -83,6 +87,10 @@ class YHResignInfoValidTimeItemView: UIView {
return view return view
}() }()
@objc func didUnvalidTimeClicked() {
clickUnvalidTime?()
}
override init(frame: CGRect) { override init(frame: CGRect) {
super.init(frame: frame) super.init(frame: frame)
createUI() createUI()
......
...@@ -132,6 +132,32 @@ class YHResignInfoConfirmViewModel { ...@@ -132,6 +132,32 @@ class YHResignInfoConfirmViewModel {
callback?("", "") callback?("", "")
} }
} }
func getCertificateDetail(_ cerId: Int, callback:((_ model: YHResignCertificateModel?, _ error:YHErrorModel?)->())?) {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.ResignInfoConfirm.certificateDetail
let _ = YHNetRequest.getRequest(url: strUrl,params: ["id" : cerId]) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
printLog("model 是 ==> \(json)")
if json.code == 200 {
guard let dic = json.data?.peel as? [String : Any], let resultModel = YHResignCertificateModel.deserialize(from: dic) else {
let err = YHErrorModel(errorCode: YHErrorCode.dictParseError.rawValue, errorMsg: YHErrorCode.dictParseError.description())
callback?(nil, err)
return
}
callback?(resultModel, nil)
} else {
let err = YHErrorModel(errorCode: Int32(json.code), errorMsg: json.msg.isEmpty ? "" : json.msg)
callback?(nil, err)
}
} failBlock: { err in
callback?(nil, err)
}
}
} }
extension YHResignInfoConfirmViewModel { extension YHResignInfoConfirmViewModel {
......
...@@ -572,6 +572,8 @@ class YHAllApiName { ...@@ -572,6 +572,8 @@ class YHAllApiName {
// 信息确认成员列表点击确认 // 信息确认成员列表点击确认
static let confirmInfo = "super-app/renewal/information-confirm" static let confirmInfo = "super-app/renewal/information-confirm"
static let update = "super-app/renewal/information-update" static let update = "super-app/renewal/information-update"
static let certificateDetail = "/super-app/renewal/certificate-detail"
} }
// 在港记录 // 在港记录
......
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