Commit 1a0eab11 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:
  //  家庭
  //  预约
  //  家庭
  //  家庭信息确认
  //  家庭成员
  // 预约接口
parents ca4f1745 82f61ec5
...@@ -72,6 +72,8 @@ ...@@ -72,6 +72,8 @@
04256E172C75BD2700A37BA4 /* YHVisaPaymentTipsCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04256E0A2C75BD2400A37BA4 /* YHVisaPaymentTipsCell.swift */; }; 04256E172C75BD2700A37BA4 /* YHVisaPaymentTipsCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04256E0A2C75BD2400A37BA4 /* YHVisaPaymentTipsCell.swift */; };
04256E182C75BD2700A37BA4 /* YHVisaPayTypeCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04256E0B2C75BD2400A37BA4 /* YHVisaPayTypeCell.swift */; }; 04256E182C75BD2700A37BA4 /* YHVisaPayTypeCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04256E0B2C75BD2400A37BA4 /* YHVisaPayTypeCell.swift */; };
04256E192C75BD2700A37BA4 /* YHUploadCertificateViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04256E0D2C75BD2400A37BA4 /* YHUploadCertificateViewModel.swift */; }; 04256E192C75BD2700A37BA4 /* YHUploadCertificateViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04256E0D2C75BD2400A37BA4 /* YHUploadCertificateViewModel.swift */; };
04256E1B2C75C60C00A37BA4 /* YHHKMemberModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04256E1A2C75C60C00A37BA4 /* YHHKMemberModel.swift */; };
04256E1D2C75C74200A37BA4 /* YHAppointHKResultModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04256E1C2C75C74200A37BA4 /* YHAppointHKResultModel.swift */; };
0425E63D2BA9345200A5E763 /* YHSchemeTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0425E63C2BA9345200A5E763 /* YHSchemeTableViewCell.swift */; }; 0425E63D2BA9345200A5E763 /* YHSchemeTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0425E63C2BA9345200A5E763 /* YHSchemeTableViewCell.swift */; };
0425E6402BA9357D00A5E763 /* YHScemeItemModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0425E63F2BA9357D00A5E763 /* YHScemeItemModel.swift */; }; 0425E6402BA9357D00A5E763 /* YHScemeItemModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0425E63F2BA9357D00A5E763 /* YHScemeItemModel.swift */; };
0425E6422BA95B1B00A5E763 /* YHSchemeTableFooterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0425E6412BA95B1B00A5E763 /* YHSchemeTableFooterView.swift */; }; 0425E6422BA95B1B00A5E763 /* YHSchemeTableFooterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0425E6412BA95B1B00A5E763 /* YHSchemeTableFooterView.swift */; };
...@@ -797,6 +799,8 @@ ...@@ -797,6 +799,8 @@
04256E0A2C75BD2400A37BA4 /* YHVisaPaymentTipsCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHVisaPaymentTipsCell.swift; sourceTree = "<group>"; }; 04256E0A2C75BD2400A37BA4 /* YHVisaPaymentTipsCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHVisaPaymentTipsCell.swift; sourceTree = "<group>"; };
04256E0B2C75BD2400A37BA4 /* YHVisaPayTypeCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHVisaPayTypeCell.swift; sourceTree = "<group>"; }; 04256E0B2C75BD2400A37BA4 /* YHVisaPayTypeCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHVisaPayTypeCell.swift; sourceTree = "<group>"; };
04256E0D2C75BD2400A37BA4 /* YHUploadCertificateViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHUploadCertificateViewModel.swift; sourceTree = "<group>"; }; 04256E0D2C75BD2400A37BA4 /* YHUploadCertificateViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHUploadCertificateViewModel.swift; sourceTree = "<group>"; };
04256E1A2C75C60C00A37BA4 /* YHHKMemberModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHHKMemberModel.swift; sourceTree = "<group>"; };
04256E1C2C75C74200A37BA4 /* YHAppointHKResultModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHAppointHKResultModel.swift; sourceTree = "<group>"; };
0425E63C2BA9345200A5E763 /* YHSchemeTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHSchemeTableViewCell.swift; sourceTree = "<group>"; }; 0425E63C2BA9345200A5E763 /* YHSchemeTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHSchemeTableViewCell.swift; sourceTree = "<group>"; };
0425E63F2BA9357D00A5E763 /* YHScemeItemModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHScemeItemModel.swift; sourceTree = "<group>"; }; 0425E63F2BA9357D00A5E763 /* YHScemeItemModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHScemeItemModel.swift; sourceTree = "<group>"; };
0425E6412BA95B1B00A5E763 /* YHSchemeTableFooterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHSchemeTableFooterView.swift; sourceTree = "<group>"; }; 0425E6412BA95B1B00A5E763 /* YHSchemeTableFooterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHSchemeTableFooterView.swift; sourceTree = "<group>"; };
...@@ -1598,6 +1602,8 @@ ...@@ -1598,6 +1602,8 @@
04256DD92C72D9F800A37BA4 /* M */ = { 04256DD92C72D9F800A37BA4 /* M */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
04256E1A2C75C60C00A37BA4 /* YHHKMemberModel.swift */,
04256E1C2C75C74200A37BA4 /* YHAppointHKResultModel.swift */,
); );
path = M; path = M;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -4364,6 +4370,7 @@ ...@@ -4364,6 +4370,7 @@
0430E6682C749128000511E2 /* YHAdopterChinaViewController.swift in Sources */, 0430E6682C749128000511E2 /* YHAdopterChinaViewController.swift in Sources */,
045EEE9F2B9F171A0022A143 /* YHWorkExperienceModel.swift in Sources */, 045EEE9F2B9F171A0022A143 /* YHWorkExperienceModel.swift in Sources */,
A5FF0F3C2C32F2460069852B /* YHActivityDetailCell1.swift in Sources */, A5FF0F3C2C32F2460069852B /* YHActivityDetailCell1.swift in Sources */,
04256E1B2C75C60C00A37BA4 /* YHHKMemberModel.swift in Sources */,
045EEF232B9F171A0022A143 /* YHItemView.swift in Sources */, 045EEF232B9F171A0022A143 /* YHItemView.swift in Sources */,
04256E192C75BD2700A37BA4 /* YHUploadCertificateViewModel.swift in Sources */, 04256E192C75BD2700A37BA4 /* YHUploadCertificateViewModel.swift in Sources */,
04754A952B96FF3D00F8ADCA /* UITextField+Extension.swift in Sources */, 04754A952B96FF3D00F8ADCA /* UITextField+Extension.swift in Sources */,
...@@ -4390,6 +4397,7 @@ ...@@ -4390,6 +4397,7 @@
044413FF2BC391F000784A14 /* YHServiceListViewController.swift in Sources */, 044413FF2BC391F000784A14 /* YHServiceListViewController.swift in Sources */,
0493B3DC2BA7EFE600AF9393 /* YHCertificateSearchViewController.swift in Sources */, 0493B3DC2BA7EFE600AF9393 /* YHCertificateSearchViewController.swift in Sources */,
0430E65A2C7436CD000511E2 /* YHAdopterNewPeopleViewModel.swift in Sources */, 0430E65A2C7436CD000511E2 /* YHAdopterNewPeopleViewModel.swift in Sources */,
04256E1D2C75C74200A37BA4 /* YHAppointHKResultModel.swift in Sources */,
04CE1ADB2C2AD91F001CB80A /* YHActivityTitleItemView.swift in Sources */, 04CE1ADB2C2AD91F001CB80A /* YHActivityTitleItemView.swift in Sources */,
A5FD63BF2B6250BC00D1D9DA /* YHInformationPerfectCell.swift in Sources */, A5FD63BF2B6250BC00D1D9DA /* YHInformationPerfectCell.swift in Sources */,
045EEE942B9F171A0022A143 /* YHPreviewInfoQuestionAndAnswerItemView.swift in Sources */, 045EEE942B9F171A0022A143 /* YHPreviewInfoQuestionAndAnswerItemView.swift in Sources */,
......
...@@ -10,9 +10,11 @@ import UIKit ...@@ -10,9 +10,11 @@ import UIKit
class YHCertificateAppointViewController: YHBaseViewController { class YHCertificateAppointViewController: YHBaseViewController {
var orderId: Int = 0
var items = ["", "", ""] var items = ["", "", ""]
let viewModel = YHCerAppointViewModel() let viewModel = YHCerAppointViewModel()
var isNeedGoHK: Int = 3 // 0不需要 1需要赴港 2没有选择
lazy var tableView: UITableView = { lazy var tableView: UITableView = {
let tableView = UITableView(frame:.zero, style:.grouped) let tableView = UITableView(frame:.zero, style:.grouped)
tableView.estimatedSectionHeaderHeight = 16.0 tableView.estimatedSectionHeaderHeight = 16.0
...@@ -49,6 +51,12 @@ class YHCertificateAppointViewController: YHBaseViewController { ...@@ -49,6 +51,12 @@ class YHCertificateAppointViewController: YHBaseViewController {
make.top.equalTo(k_Height_NavigationtBarAndStatuBar) make.top.equalTo(k_Height_NavigationtBarAndStatuBar)
} }
} }
func requetIsGoToHK() {
viewModel.getIsNeedGoToHK(orderId: orderId) { needGoHK in
}
}
} }
extension YHCertificateAppointViewController: UITableViewDelegate, UITableViewDataSource { extension YHCertificateAppointViewController: UITableViewDelegate, UITableViewDataSource {
......
//
// YHAppointHKResultModel.swift
// galaxy
//
// Created by edy on 2024/8/21.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
import SmartCodable
class YHAppointHKResultModel: SmartCodable {
var waiting: [YHAppointMemberGroupModel] = []
var success: [YHAppointMemberGroupModel] = []
enum CodingKeys: String, CodingKey {
case waiting = "waiting"
case success = "success"
}
required init() {
}
init(waiting: [YHAppointMemberGroupModel], success: [YHAppointMemberGroupModel]) {
self.waiting = waiting
self.success = success
}
}
class YHAppointMemberGroupModel: SmartCodable {
var id: Int = 0
var orderid: Int = 0
var userList: [YHAppointMemberModel] = []
var wantMinTime: String = ""
var wantMaxTime: String = ""
var wantImmigrationOffice: String = ""
var goTime: String = ""
var receipts: [String] = []
var submitTime: String = ""
enum CodingKeys: String, CodingKey {
case id = "id"
case orderid = "order_id"
case userList = "user_list"
case wantMinTime = "want_min_time"
case wantMaxTime = "want_max_time"
case wantImmigrationOffice = "want_immigration_office"
case goTime = "go_time"
case receipts = "receipts"
case submitTime = "submit_time"
}
required init() {
}
init(id: Int, orderid: Int, userList: [YHAppointMemberModel], wantMinTime: String, wantMaxTime: String, wantImmigrationOffice: String, goTime: String, receipts: [String], submitTime: String) {
self.id = id
self.orderid = orderid
self.userList = userList
self.wantMinTime = wantMinTime
self.wantMaxTime = wantMaxTime
self.wantImmigrationOffice = wantImmigrationOffice
self.goTime = goTime
self.receipts = receipts
self.submitTime = submitTime
}
}
// MARK: - UserList
class YHAppointMemberModel: SmartCodable {
var id: Int = 0
var name: String = ""
var type: String = ""
var fileNum: String = ""
var birthday: String = ""
var isCheck: Int = 0
var url: String = ""
var approvalDate: String = ""
var relation: String = ""
enum CodingKeys: String, CodingKey {
case id = "id"
case name = "name"
case type = "type"
case fileNum = "file_num"
case birthday = "birthday"
case isCheck = "is_check"
case url = "url"
case approvalDate = "approval_date"
case relation = "relation"
}
required init() {
}
init(id: Int, name: String, type: String, fileNum: String, birthday: String, isCheck: Int, url: String, approvalDate: String, relation: String) {
self.id = id
self.name = name
self.type = type
self.fileNum = fileNum
self.birthday = birthday
self.isCheck = isCheck
self.url = url
self.approvalDate = approvalDate
self.relation = relation
}
}
//
// YHHKMemberModel.swift
// galaxy
//
// Created by edy on 2024/8/21.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
import SmartCodable
class YHHKMemberModel: SmartCodable {
var id: Int = 0
var name: String = ""
var type: String = ""
var fileNum: String = ""
var birthday: String = ""
var isCheck: Int = 0
var url: String = ""
var approvalDate: String = ""
enum CodingKeys: String, CodingKey {
case id = "id"
case name = "name"
case type = "type"
case fileNum = "file_num"
case birthday = "birthday"
case isCheck = "is_check"
case url = "url"
case approvalDate = "approval_date"
}
required init() {
}
init(id: Int, name: String, type: String, fileNum: String, birthday: String, isCheck: Int, url: String, approvalDate: String) {
self.id = id
self.name = name
self.type = type
self.fileNum = fileNum
self.birthday = birthday
self.isCheck = isCheck
self.url = url
self.approvalDate = approvalDate
}
}
...@@ -10,10 +10,13 @@ import UIKit ...@@ -10,10 +10,13 @@ import UIKit
class YHCerAppointViewModel: NSObject { class YHCerAppointViewModel: NSObject {
var serviceArr:[YHServiceItem] = [] var serviceArr: [YHServiceItem] = []
var hkUsers: [YHHKMemberModel] = []
var appointResult: YHAppointHKResultModel = YHAppointHKResultModel()
// 获取香港服务列表
func getServicelist(_ callBack: @escaping (_ success: Bool,_ error: YHErrorModel?)->()) { func getServicelist(_ callBack: @escaping (_ success: Bool,_ error: YHErrorModel?)->()) {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.MakeCertificate.servicelist let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.MakeCertificate.servicelist
let _ = YHNetRequest.getRequest(url: strUrl) { let _ = YHNetRequest.getRequest(url: strUrl) {
[weak self] json, code in [weak self] json, code in
...@@ -48,4 +51,129 @@ class YHCerAppointViewModel: NSObject { ...@@ -48,4 +51,129 @@ class YHCerAppointViewModel: NSObject {
callBack(false, err) callBack(false, err)
} }
} }
// 所有赴港人员列表
func getGoHKFamilyMembers(orderId: Int, callback:((_ success: Bool, _ error: YHErrorModel?)->())?) {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.AppointHK.hkMembers
let _ = YHNetRequest.getRequest(url: strUrl,params: ["order_id" : orderId]) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
printLog("model 是 ==> \(json)")
if json.code == 200 {
let dic = json.data
guard let arr = [YHHKMemberModel].deserialize(array: dic as? [Any]) else {
let err = YHErrorModel(errorCode: YHErrorCode.dictParseError.rawValue, errorMsg: YHErrorCode.dictParseError.description())
self.hkUsers = []
callback?(false, err)
return
}
self.hkUsers.removeAll()
for user in arr {
if let user = user {
self.hkUsers.append(user)
}
}
callback?(true, nil)
} else {
let err = YHErrorModel(errorCode: Int32(json.code), errorMsg: json.msg.isEmpty ? "" : json.msg)
self.hkUsers = []
callback?(false, err)
}
} failBlock: { err in
self.hkUsers = []
callback?(false, err)
}
}
// 获取港府预约结果
func getAppointResult(orderId: Int, callback:((_ success: Bool, _ error: YHErrorModel?)->())?) {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.AppointHK.appointResult
let _ = YHNetRequest.getRequest(url: strUrl,params: ["order_id" : orderId]) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
printLog("model 是 ==> \(json)")
if json.code == 200 {
let dic = json.data
guard let resultModel = YHAppointHKResultModel.deserialize(dict: dic as? [AnyHashable : Any]) else {
let err = YHErrorModel(errorCode: YHErrorCode.dictParseError.rawValue, errorMsg: YHErrorCode.dictParseError.description())
callback?(false, err)
return
}
self.appointResult = resultModel
callback?(true, nil)
} else {
let err = YHErrorModel(errorCode: Int32(json.code), errorMsg: json.msg.isEmpty ? "" : json.msg)
callback?(false, err)
}
} failBlock: { err in
callback?(false, err)
}
}
// 是否需要赴港
func getIsNeedGoToHK(orderId: Int, callback:((_ needGoHK: Int)->())?) {
// 1需要赴港 0不需要 2没有选择
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.AppointHK.isNeedGoHK
let _ = YHNetRequest.getRequest(url: strUrl,params: ["order_id" : orderId]) {
[weak self] json, code in
guard let self = self else { return }
printLog("model 是 ==> \(json)")
if json.code == 200 {
//
} else {
let err = YHErrorModel(errorCode: Int32(json.code), errorMsg: json.msg.isEmpty ? "" : json.msg)
callback?(2)
}
} failBlock: { err in
callback?(2)
}
}
// 保存是否需要赴港
func saveNeedGoHK(orderId: Int, need: Bool, callback:((_ success: Bool)->())?) {
// is_need_to_hk 是否需要赴港 1需要 0不需要
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.AppointHK.saveNeedGoHK
let _ = YHNetRequest.postRequest(url: strUrl,params: ["order_id" : orderId,
"is_need_to_hk" : (need ? 1 : 0)]) {
[weak self] json, code in
guard let self = self else { return }
printLog("model 是 ==> \(json)")
if json.code == 200 {
callback?(true)
} else {
let err = YHErrorModel(errorCode: Int32(json.code), errorMsg: json.msg.isEmpty ? "" : json.msg)
callback?(false)
}
} failBlock: { err in
callback?(false)
}
}
} }
...@@ -103,7 +103,8 @@ class YHFamilyInfoUpdateViewController: YHBaseViewController { ...@@ -103,7 +103,8 @@ class YHFamilyInfoUpdateViewController: YHBaseViewController {
self.updateData() self.updateData()
} }
@objc func didCancelBtnClicked() { // 展示挽留弹窗
func showRetainAlertView() {
YHCommonAlertView.show("", "您尚未保存修改,确定关闭吗?", "仍然关闭", "继续编辑", fullGuestureEnable: false) { YHCommonAlertView.show("", "您尚未保存修改,确定关闭吗?", "仍然关闭", "继续编辑", fullGuestureEnable: false) {
self.navigationController?.popViewController() self.navigationController?.popViewController()
} callBack: { } callBack: {
...@@ -111,6 +112,14 @@ class YHFamilyInfoUpdateViewController: YHBaseViewController { ...@@ -111,6 +112,14 @@ class YHFamilyInfoUpdateViewController: YHBaseViewController {
} }
} }
@objc func didCancelBtnClicked() {
if self.isInfoEditing {
showRetainAlertView()
return
}
self.navigationController?.popViewController()
}
@objc func didConfirmBtnClicked() { @objc func didConfirmBtnClicked() {
self.detailMember.info.isCheck = true self.detailMember.info.isCheck = true
self.updateData() self.updateData()
...@@ -133,7 +142,7 @@ class YHFamilyInfoUpdateViewController: YHBaseViewController { ...@@ -133,7 +142,7 @@ class YHFamilyInfoUpdateViewController: YHBaseViewController {
relation = "spouse" relation = "spouse"
} else if self.detailMember.info.relation == YHFamilyMemberRelationType.child.rawValue { } else if self.detailMember.info.relation == YHFamilyMemberRelationType.child.rawValue {
relation = "child" relation = "children"
} }
let param:[String: Any] = ["orderId": orderId, let param:[String: Any] = ["orderId": orderId,
...@@ -145,6 +154,7 @@ class YHFamilyInfoUpdateViewController: YHBaseViewController { ...@@ -145,6 +154,7 @@ class YHFamilyInfoUpdateViewController: YHBaseViewController {
guard let self = self else { return } guard let self = self else { return }
if success { if success {
YHHUD.flash(message: "提交成功") YHHUD.flash(message: "提交成功")
self.navigationController?.popViewController()
return return
} }
...@@ -160,17 +170,35 @@ class YHFamilyInfoUpdateViewController: YHBaseViewController { ...@@ -160,17 +170,35 @@ class YHFamilyInfoUpdateViewController: YHBaseViewController {
// arr1 信息核实 // arr1 信息核实
let arr1 = viewModel.getInfoConfirm(self.detailMember, isEditMode: self.isInfoEditing) let arr1 = viewModel.getInfoConfirm(self.detailMember, isEditMode: self.isInfoEditing)
// arr2 递交证件信息
let arr2 = viewModel.getCertificateInfo(self.detailMember)
// 信息核实
items.append(arr1) items.append(arr1)
// 递交证件信息
items.append(arr2)
// arr2 递交证件信息
if let cer = self.detailMember.info.identity {
let arr2 = viewModel.getCertificateInfo(self.detailMember)
items.append(arr2)
}
self.tableView.reloadData() self.tableView.reloadData()
} }
override func backItemClick(_ sender: Any) {
self.view.endEditing(true)
if self.isInfoEditing {
showRetainAlertView()
return
}
self.navigationController?.popViewController()
}
// 是否可以返回,包括点击返回和手势返回,默认YES
override func navigationShouldPop() -> Bool {
self.view.endEditing(true)
if self.isInfoEditing {
showRetainAlertView()
return false
}
return true
}
} }
extension YHFamilyInfoUpdateViewController: UITableViewDelegate, UITableViewDataSource { extension YHFamilyInfoUpdateViewController: UITableViewDelegate, UITableViewDataSource {
......
...@@ -86,7 +86,7 @@ class YHFamilyMemberInfoModel: SmartCodable { ...@@ -86,7 +86,7 @@ class YHFamilyMemberInfoModel: SmartCodable {
var nationalityHistory: String = "" var nationalityHistory: String = ""
var hkIdentityid: String = "" var hkIdentityid: String = ""
var hkIdentityidHistory: String = "" var hkIdentityidHistory: String = ""
var identity: YHApplicantIdentityModel = YHApplicantIdentityModel() var identity: YHApplicantIdentityModel?
var occupationName: String = "" var occupationName: String = ""
var occupationNameHistory: String = "" var occupationNameHistory: String = ""
......
...@@ -17,7 +17,7 @@ class YHFamilyMemberInfoCell: UITableViewCell { ...@@ -17,7 +17,7 @@ class YHFamilyMemberInfoCell: UITableViewCell {
self.nameLabel.text = model.info.name self.nameLabel.text = model.info.name
self.pinyinLabel.text = "\(model.info.familyName) \(model.info.givenName)" self.pinyinLabel.text = "\(model.info.familyName) \(model.info.givenName)"
self.statusLabel.text = model.confirmStatus == 1 ? "已确认" : "待核对" self.statusLabel.text = model.confirmStatus == 1 ? "已确认" : "待核对"
let textColor: UIColor = model.confirmStatus == 1 ? .brandMainColor : .init(hex: 0x3CC694) let textColor: UIColor = model.confirmStatus == 1 ? .init(hex: 0x3CC694) : .brandMainColor
self.statusLabel.textColor = textColor self.statusLabel.textColor = textColor
let img = UIImage(named: "family_info_status_arrow")?.withRenderingMode(.alwaysTemplate) let img = UIImage(named: "family_info_status_arrow")?.withRenderingMode(.alwaysTemplate)
......
...@@ -73,9 +73,14 @@ class YHFamilyInfoItem { ...@@ -73,9 +73,14 @@ class YHFamilyInfoItem {
return "" return ""
} }
if self.isMust == false { // 非必填
return ""
}
// 必填
// value 为空的情况 // value 为空的情况
if self.id == .mainApplicantName { if self.id == .mainApplicantName {
return "请输入主申人姓名" return "请输入主申人姓名"
} }
if self.id == .spouseName { if self.id == .spouseName {
......
...@@ -391,13 +391,13 @@ extension YHInfoItemView: UITextFieldDelegate { ...@@ -391,13 +391,13 @@ extension YHInfoItemView: UITextFieldDelegate {
self.faimilyInfo.hkIdentityid = newText self.faimilyInfo.hkIdentityid = newText
} else if self.item.id == .birthPlaceAboard { } else if self.item.id == .birthPlaceAboard {
self.faimilyInfo.birthPlace.details = newText self.faimilyInfo.birthPlace.foreign = newText
} }
} }
func getPlaceHolder() -> String { func getPlaceHolder() -> String {
if self.item.id == .mainApplicantName { if self.item.id == .mainApplicantName {
return "请输入主申人姓名" return "请输入主申人姓名"
} }
if self.item.id == .spouseName { if self.item.id == .spouseName {
......
...@@ -169,7 +169,7 @@ extension YHFamilyInfoConfirmViewModel { ...@@ -169,7 +169,7 @@ extension YHFamilyInfoConfirmViewModel {
if model.info.relation == YHFamilyMemberRelationType.mainApplicant.rawValue { if model.info.relation == YHFamilyMemberRelationType.mainApplicant.rawValue {
id = .mainApplicantName id = .mainApplicantName
nameTitle = "主申人姓名" nameTitle = "主申人姓名"
previousNameTitle = "原主申人姓名" previousNameTitle = "原主申人姓名"
} else if model.info.relation == YHFamilyMemberRelationType.spouse.rawValue { } else if model.info.relation == YHFamilyMemberRelationType.spouse.rawValue {
...@@ -272,11 +272,11 @@ extension YHFamilyInfoConfirmViewModel { ...@@ -272,11 +272,11 @@ extension YHFamilyInfoConfirmViewModel {
action: .edit, action: .edit,
isMust: true, isMust: true,
title: "出生地", title: "出生地",
value: model.info.birthPlace.details, value: model.info.birthPlace.foreign,
previousTitle: "原出生地", previousTitle: "原出生地",
previousValue: model.info.birthPlaceHistory.details, previousValue: model.info.birthPlaceHistory.foreign,
isEditMode: isEditMode, isEditMode: isEditMode,
isShowPreviousInfo: !isEditMode && !model.info.birthPlaceHistory.details.isEmpty) isShowPreviousInfo: !isEditMode && !model.info.birthPlaceHistory.foreign.isEmpty)
resultArr.append(birthPlaceInfo) resultArr.append(birthPlaceInfo)
} }
...@@ -308,7 +308,7 @@ extension YHFamilyInfoConfirmViewModel { ...@@ -308,7 +308,7 @@ extension YHFamilyInfoConfirmViewModel {
// 香港身份证号 // 香港身份证号
let hongkongIdInfo = YHFamilyInfoItem(id: .hongKongId, let hongkongIdInfo = YHFamilyInfoItem(id: .hongKongId,
action: .edit, action: .edit,
isMust: true, isMust: false,
title: "香港身份证号", title: "香港身份证号",
value: model.info.hkIdentityid, value: model.info.hkIdentityid,
previousTitle: "原香港身份证号", previousTitle: "原香港身份证号",
...@@ -326,11 +326,11 @@ extension YHFamilyInfoConfirmViewModel { ...@@ -326,11 +326,11 @@ extension YHFamilyInfoConfirmViewModel {
var resultArr = [YHFamilyInfoItem]() var resultArr = [YHFamilyInfoItem]()
let travelCerInfo = YHFamilyInfoItem(id: .travelCertificateType, let travelCerInfo = YHFamilyInfoItem(id: .travelCertificateType,
action: .select, action: .select,
isMust: true, isMust: false,
title: "申报旅行证件", title: "申报旅行证件",
value: model.info.identity.name, value: model.info.identity?.name ?? "",
previousTitle: "原申报旅行证件", previousTitle: "原申报旅行证件",
previousValue: model.info.identity.name, previousValue: model.info.identity?.name ?? "",
isEditMode: false, isEditMode: false,
isShowPreviousInfo: false) isShowPreviousInfo: false)
resultArr.append(travelCerInfo) resultArr.append(travelCerInfo)
...@@ -338,11 +338,11 @@ extension YHFamilyInfoConfirmViewModel { ...@@ -338,11 +338,11 @@ extension YHFamilyInfoConfirmViewModel {
// 证件号 // 证件号
let cerIdInfo = YHFamilyInfoItem(id: .travelCertificateId, let cerIdInfo = YHFamilyInfoItem(id: .travelCertificateId,
action: .edit, action: .edit,
isMust: true, isMust: false,
title: "证件号", title: "证件号",
value: model.info.identity.number, value: model.info.identity?.number ?? "",
previousTitle: "原证件号", previousTitle: "原证件号",
previousValue: model.info.identity.number, previousValue: model.info.identity?.number ?? "",
isEditMode: false, isEditMode: false,
isShowPreviousInfo: false) isShowPreviousInfo: false)
resultArr.append(cerIdInfo) resultArr.append(cerIdInfo)
......
...@@ -208,6 +208,8 @@ class YHSheetPickerView: UIView { ...@@ -208,6 +208,8 @@ class YHSheetPickerView: UIView {
YHSheetPickerViewItem(title:"离婚".local, index:3), YHSheetPickerViewItem(title:"离婚".local, index:3),
YHSheetPickerViewItem(title:"分居".local, index:4), YHSheetPickerViewItem(title:"分居".local, index:4),
YHSheetPickerViewItem(title:"丧偶".local, index:5), YHSheetPickerViewItem(title:"丧偶".local, index:5),
YHSheetPickerViewItem(title:"已婚(再婚)".local, index:6),
], ],
......
...@@ -434,4 +434,16 @@ class YHAllApiName { ...@@ -434,4 +434,16 @@ class YHAllApiName {
} }
struct AppointHK {
// 所有赴港人员列表
static let hkMembers = "super-app/order/hk/user"
// 获取港府预约结果
static let appointResult = "super-app/order/hk/reservation"
// 是否需要赴港
static let isNeedGoHK = "super-app/order/hk/get-need-to-hk"
// 保存是否需要赴港
static let saveNeedGoHK = "super-app/order/hk/save-need-to-hk"
}
} }
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