Commit 1b19627a authored by Steven杜宇's avatar Steven杜宇

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

parents 4b65004e 45d173c8
This diff is collapsed.
...@@ -230,7 +230,10 @@ class YHServiceOrderListView: YHBaseViewController { ...@@ -230,7 +230,10 @@ class YHServiceOrderListView: YHBaseViewController {
UIViewController.current?.navigationController?.pushViewController(vc) UIViewController.current?.navigationController?.pushViewController(vc)
} else if type == 38 { } else if type == 38 {
//上传旅行证件 //上传旅行证件
let vc = YHResignUploadTravelCardListViewController()
vc.orderId = orderId
vc.batchId = stepId
UIViewController.current?.navigationController?.pushViewController(vc)
} }
} }
} }
......
...@@ -116,6 +116,10 @@ class YHHKVisaRenewalPaymentVC: YHBaseViewController { ...@@ -116,6 +116,10 @@ class YHHKVisaRenewalPaymentVC: YHBaseViewController {
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
setupUI() setupUI()
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
requestData() requestData()
} }
...@@ -140,7 +144,7 @@ extension YHHKVisaRenewalPaymentVC { ...@@ -140,7 +144,7 @@ extension YHHKVisaRenewalPaymentVC {
@objc private func clickSureButton() { @objc private func clickSureButton() {
let vc = YHResignUploadTravelCardListViewController() let vc = YHResignUploadTravelCardListViewController()
vc.orderId = orderId vc.orderId = orderId
// vc.batchId = renewalId vc.batchId = renewalId
navigationController?.pushViewController(vc) navigationController?.pushViewController(vc)
} }
......
...@@ -10,8 +10,10 @@ import UIKit ...@@ -10,8 +10,10 @@ import UIKit
class YHResignUploadTravelCardListViewController: YHBaseViewController { class YHResignUploadTravelCardListViewController: YHBaseViewController {
var orderId: Int = 0 var orderId: Int = 0
lazy var viewModel: YHTravelDocsPreparationViewModel = { var batchId: Int = 0
let vm = YHTravelDocsPreparationViewModel()
lazy var viewModel: YHResignUploadTravelCardViewModel = {
let vm = YHResignUploadTravelCardViewModel()
return vm return vm
}() }()
...@@ -28,11 +30,7 @@ class YHResignUploadTravelCardListViewController: YHBaseViewController { ...@@ -28,11 +30,7 @@ class YHResignUploadTravelCardListViewController: YHBaseViewController {
tableView.tableFooterView = YHResignUploadTravelCardListfootView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: 837.fix)) tableView.tableFooterView = YHResignUploadTravelCardListfootView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: 837.fix))
tableView.backgroundColor = .clear tableView.backgroundColor = .clear
tableView.register(UITableViewCell.self, forCellReuseIdentifier: "UITableViewCell") tableView.register(UITableViewCell.self, forCellReuseIdentifier: "UITableViewCell")
tableView.register(YHTravelDocsPreparationListCell.self, forCellReuseIdentifier: YHTravelDocsPreparationListCell.cellReuseIdentifier) tableView.register(YHResignUploadTravelCardListTableViewCell.self, forCellReuseIdentifier: YHResignUploadTravelCardListTableViewCell.cellReuseIdentifier)
tableView.register(YHTravelDocsPreparationTipsCell.self, forCellReuseIdentifier: YHTravelDocsPreparationTipsCell.cellReuseIdentifier)
return tableView return tableView
}() }()
...@@ -86,19 +84,19 @@ private extension YHResignUploadTravelCardListViewController { ...@@ -86,19 +84,19 @@ private extension YHResignUploadTravelCardListViewController {
func loadData() { func loadData() {
let params: [String : Any] = ["order_id": orderId] let params: [String : Any] = ["order_id": orderId]
YHHUD.show(.progress(message: "加载中...")) YHHUD.show(.progress(message: "加载中..."))
viewModel.getTravelDocsList(param: params){ success, error in // viewModel.getTravelDocsList(orderID: 132957, renewalId: 288, callBackBlock: {[weak self] success, error in
viewModel.getTravelDocsList(orderID: orderId, renewalId: batchId, callBackBlock: {[weak self] success, error in
YHHUD.hide() YHHUD.hide()
guard let self = self else { return }
if success { if success {
} else { } else {
let msg = error?.errorMsg ?? "获取数据出错"
YHHUD.flash(message: msg)
DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
self.navigationController?.popViewController()
}
} }
self.tableView.reloadData() self.tableView.reloadData()
} })
} }
func setupUI() { func setupUI() {
...@@ -141,7 +139,7 @@ extension YHResignUploadTravelCardListViewController: UITableViewDelegate, UITab ...@@ -141,7 +139,7 @@ extension YHResignUploadTravelCardListViewController: UITableViewDelegate, UITab
} }
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let approveCell = tableView.dequeueReusableCell(withIdentifier: YHTravelDocsPreparationListCell.cellReuseIdentifier, for: indexPath) as! YHTravelDocsPreparationListCell let approveCell = tableView.dequeueReusableCell(withIdentifier: YHResignUploadTravelCardListTableViewCell.cellReuseIdentifier, for: indexPath) as! YHResignUploadTravelCardListTableViewCell
approveCell.dataModel = viewModel.arrTravelDocs[indexPath.section] approveCell.dataModel = viewModel.arrTravelDocs[indexPath.section]
return approveCell return approveCell
} }
...@@ -151,12 +149,20 @@ extension YHResignUploadTravelCardListViewController: UITableViewDelegate, UITab ...@@ -151,12 +149,20 @@ extension YHResignUploadTravelCardListViewController: UITableViewDelegate, UITab
} }
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if let model = viewModel.arrTravelDocs[indexPath.section] { let model = viewModel.arrTravelDocs[indexPath.section]
if model.status == -1 { if model.status == 2 {
return return
} else {
if model.travel_cert_type == 1 {
//跳转护照
let vc = YHResignUploadTravelPassportViewController()
vc.fatherData = model
vc.orderId = orderId
self.navigationController?.pushViewController(vc)
} else { } else {
let vc = YHTravelDocsPreparationDetailVC() //跳转港澳通行证
vc.dataModel = model let vc = YHResignUploadTravelHKViewController()
vc.fatherData = model
vc.orderId = orderId vc.orderId = orderId
self.navigationController?.pushViewController(vc) self.navigationController?.pushViewController(vc)
} }
......
...@@ -11,14 +11,15 @@ import AttributedString ...@@ -11,14 +11,15 @@ import AttributedString
class YHResignUploadTravelHKViewController: YHBaseViewController { class YHResignUploadTravelHKViewController: YHBaseViewController {
lazy var viewModel: YHResignCertificateDetailViewModel = { lazy var viewModel: YHResignUploadTravelCardDetailViewModel = {
let vm = YHResignCertificateDetailViewModel() let vm = YHResignUploadTravelCardDetailViewModel()
return vm return vm
}() }()
var fatherData: YHResignUploadTravelCardListModel = YHResignUploadTravelCardListModel()
//上个界面传递过来的数据对象 //上个界面传递过来的数据对象
var dataModel : YHResignCertificateModel = YHResignCertificateModel() var dataModel : YHResignUploadTravelCardDetailModel = YHResignUploadTravelCardDetailModel()
var orderId: Int = 0 var orderId: Int = 0
var batchId: Int = 0
var tipsArr: [ASAttributedString] = [] var tipsArr: [ASAttributedString] = []
var urls: [String] = ["",""] var urls: [String] = ["",""]
var data: [YHItemModel] = [] var data: [YHItemModel] = []
...@@ -37,7 +38,7 @@ class YHResignUploadTravelHKViewController: YHBaseViewController { ...@@ -37,7 +38,7 @@ class YHResignUploadTravelHKViewController: YHBaseViewController {
tableView.backgroundColor = UIColor(hex: 0xF8F9FB) tableView.backgroundColor = UIColor(hex: 0xF8F9FB)
tableView.register(UITableViewCell.self, forCellReuseIdentifier: "UITableViewCell") tableView.register(UITableViewCell.self, forCellReuseIdentifier: "UITableViewCell")
tableView.register(YHTravelCertificateTipsCell.self, forCellReuseIdentifier: YHTravelCertificateTipsCell.cellReuseIdentifier) tableView.register(YHTravelCertificateTipsCell.self, forCellReuseIdentifier: YHTravelCertificateTipsCell.cellReuseIdentifier)
tableView.register(YHResignCertificateHKTableViewCell.self, forCellReuseIdentifier: YHResignCertificateHKTableViewCell.cellReuseIdentifier) tableView.register(YHResignUploadTravelHKTableViewCell.self, forCellReuseIdentifier: YHResignUploadTravelHKTableViewCell.cellReuseIdentifier)
return tableView return tableView
}() }()
...@@ -121,20 +122,29 @@ class YHResignUploadTravelHKViewController: YHBaseViewController { ...@@ -121,20 +122,29 @@ class YHResignUploadTravelHKViewController: YHBaseViewController {
} }
func updateData() { func updateData() {
let params : [String : Any] = [
"order_id": orderId,
"renewal_id": batchId,
"user_id": fatherData.id,
"user_type": fatherData.type
]
viewModel.getResignCertificateDetail(params) {[weak self] success, error in
guard let self = self else { return }
dataModel = self.viewModel.dataModel
if dataModel.img_front.count != 0 {
urls[0] = dataModel.img_front
}
if dataModel.img_back.count != 0 {
urls[1] = dataModel.img_back
}
self.data = viewModel.getBaseDataSource(isShowPrompt)
// 头部提示
tipsArr = getTipsWithType(date: self.dataModel.latest_validaty_date)
tableView.reloadData()
}
// travel_cert_type 证件类型 0-未知 1-护照 3-港澳通行证 // travel_cert_type 证件类型 0-未知 1-护照 3-港澳通行证
// nationality : Int = -1 国籍 1-中国 2-国外 // nationality : Int = -1 国籍 1-中国 2-国外
self.viewModel.dataModel = dataModel
if dataModel.cert_info.img_front.count != 0 {
urls[0] = dataModel.cert_info.img_front
}
if dataModel.cert_info.img_back.count != 0 {
urls[1] = dataModel.cert_info.img_back
}
self.data = viewModel.getBaseDataSource(isShowPrompt)
// 头部提示
tipsArr = getTipsWithType(date: self.dataModel.valid_date)
tableView.reloadData()
} }
...@@ -157,16 +167,16 @@ class YHResignUploadTravelHKViewController: YHBaseViewController { ...@@ -157,16 +167,16 @@ class YHResignUploadTravelHKViewController: YHBaseViewController {
failString = "请港澳通行证背面" failString = "请港澳通行证背面"
return false return false
} }
if self.viewModel.dataModel.cert_info.issue_start.count == 0 { if self.viewModel.dataModel.issue_start.count == 0 {
return false return false
} }
if self.viewModel.dataModel.cert_info.issue_end.count == 0 { if self.viewModel.dataModel.issue_end.count == 0 {
return false return false
} }
if self.viewModel.dataModel.cert_info.validate_start.count == 0 { if self.viewModel.dataModel.visa_start.count == 0 {
return false return false
} }
if self.viewModel.dataModel.cert_info.validate_end.count == 0 { if self.viewModel.dataModel.visa_end.count == 0 {
return false return false
} }
return true return true
...@@ -174,20 +184,6 @@ class YHResignUploadTravelHKViewController: YHBaseViewController { ...@@ -174,20 +184,6 @@ class YHResignUploadTravelHKViewController: YHBaseViewController {
override func viewWillAppear(_ animated: Bool) { override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated) super.viewWillAppear(animated)
if dataModel.cert_info.is_show {
} else {
YHAdopterCardExampleView.exampleView(type: .travel).show()
let hkPassPort: [String: Any] = ["is_show": true,
"submit": false
]
let params : [String : Any] = [
"hkPassPort": hkPassPort,
"id":dataModel.id
]
viewModel.submitResignCertificateUpdate(params) { success, error in
}
}
} }
} }
...@@ -200,19 +196,18 @@ private extension YHResignUploadTravelHKViewController { ...@@ -200,19 +196,18 @@ private extension YHResignUploadTravelHKViewController {
//2、保存旅行证件 //2、保存旅行证件
func saveAllTravelCertificate() { func saveAllTravelCertificate() {
let hkPassPort: [String: Any] = ["name": "港澳通行证",
"issue_start": self.viewModel.dataModel.cert_info.issue_start,
"issue_end": self.viewModel.dataModel.cert_info.issue_end,
"img_front": urls[0],
"img_back": urls[1],
"validate_start": self.viewModel.dataModel.cert_info.validate_start,
"validate_end": self.viewModel.dataModel.cert_info.validate_end,
"sign_type": "D",
"submit": true,
"is_show": true]
let params : [String : Any] = [ let params : [String : Any] = [
"hkPassPort": hkPassPort, "order_id": orderId,
"id": dataModel.id "renewal_id": batchId,
"user_id": fatherData.id,
"user_type": fatherData.type,
"type": self.viewModel.dataModel.type,
"img_back": urls[1],
"img_front": urls[0],
"issue_start": self.viewModel.dataModel.issue_start,
"issue_end": self.viewModel.dataModel.issue_end,
"visa_start": self.viewModel.dataModel.visa_start,
"visa_end": self.viewModel.dataModel.visa_end,
] ]
viewModel.submitResignCertificateUpdate(params) { success, error in viewModel.submitResignCertificateUpdate(params) { success, error in
if success { if success {
...@@ -245,7 +240,7 @@ extension YHResignUploadTravelHKViewController: UITableViewDelegate, UITableView ...@@ -245,7 +240,7 @@ extension YHResignUploadTravelHKViewController: UITableViewDelegate, UITableView
return cell return cell
} }
let cell = tableView.dequeueReusableCell(withIdentifier: YHResignCertificateHKTableViewCell.cellReuseIdentifier, for: indexPath) as! YHResignCertificateHKTableViewCell let cell = tableView.dequeueReusableCell(withIdentifier: YHResignUploadTravelHKTableViewCell.cellReuseIdentifier, for: indexPath) as! YHResignUploadTravelHKTableViewCell
cell.firstImageName = "service_adopter_card_travel_front" cell.firstImageName = "service_adopter_card_travel_front"
cell.lastImageName = "service_adopter_card_travel_back" cell.lastImageName = "service_adopter_card_travel_back"
cell.firstLabelName = "港澳通行证正面" cell.firstLabelName = "港澳通行证正面"
...@@ -265,10 +260,10 @@ extension YHResignUploadTravelHKViewController: UITableViewDelegate, UITableView ...@@ -265,10 +260,10 @@ extension YHResignUploadTravelHKViewController: UITableViewDelegate, UITableView
YHHUD.hide() YHHUD.hide()
if success, let result = result { if success, let result = result {
if !result.term_begins.isEmpty { if !result.term_begins.isEmpty {
self.dataModel.cert_info.issue_start = result.term_begins self.dataModel.issue_start = result.term_begins
} }
if !result.end_of_term.isEmpty { if !result.end_of_term.isEmpty {
self.dataModel.cert_info.issue_end = result.end_of_term self.dataModel.issue_end = result.end_of_term
} }
} else { } else {
// OCR 无法识别 // OCR 无法识别
...@@ -280,10 +275,10 @@ extension YHResignUploadTravelHKViewController: UITableViewDelegate, UITableView ...@@ -280,10 +275,10 @@ extension YHResignUploadTravelHKViewController: UITableViewDelegate, UITableView
self.viewModel.getHKCardBackInfoByOcr(url, isBack: 1) { success, result in self.viewModel.getHKCardBackInfoByOcr(url, isBack: 1) { success, result in
YHHUD.hide() YHHUD.hide()
if success, let result = result { if success, let result = result {
if !result.back_term_begins.isEmpty { self.dataModel.cert_info.validate_start = result.back_term_begins if !result.back_term_begins.isEmpty { self.dataModel.visa_start = result.back_term_begins
} }
if !result.back_end_of_term.isEmpty { if !result.back_end_of_term.isEmpty {
self.dataModel.cert_info.validate_end = result.back_end_of_term self.dataModel.visa_end = result.back_end_of_term
} }
} else { } else {
// OCR 无法识别 // OCR 无法识别
...@@ -298,9 +293,9 @@ extension YHResignUploadTravelHKViewController: UITableViewDelegate, UITableView ...@@ -298,9 +293,9 @@ extension YHResignUploadTravelHKViewController: UITableViewDelegate, UITableView
guard let self = self else { return } guard let self = self else { return }
self.urls[index] = url self.urls[index] = url
if index == 0 { if index == 0 {
self.dataModel.cert_info.img_front = "" self.dataModel.img_front = ""
} else { } else {
self.dataModel.cert_info.img_back = "" self.dataModel.img_back = ""
} }
} }
cell.block = {[weak self] model in cell.block = {[weak self] model in
......
...@@ -11,14 +11,16 @@ import AttributedString ...@@ -11,14 +11,16 @@ import AttributedString
class YHResignUploadTravelPassportViewController: YHBaseViewController { class YHResignUploadTravelPassportViewController: YHBaseViewController {
lazy var viewModel: YHResignCertificateDetailViewModel = { lazy var viewModel: YHResignUploadTravelCardDetailViewModel = {
let vm = YHResignCertificateDetailViewModel() let vm = YHResignUploadTravelCardDetailViewModel()
return vm return vm
}() }()
var fatherData: YHResignUploadTravelCardListModel = YHResignUploadTravelCardListModel()
//上个界面传递过来的数据对象 //上个界面传递过来的数据对象
var dataModel : YHResignCertificateModel = YHResignCertificateModel() var dataModel : YHResignUploadTravelCardDetailModel = YHResignUploadTravelCardDetailModel()
var orderId: Int = 0 var orderId: Int = 0
var batchId: Int = 0
var tipsArr: [ASAttributedString] = [] var tipsArr: [ASAttributedString] = []
var urls: [String] = [""] var urls: [String] = [""]
var data: [YHItemModel] = [] var data: [YHItemModel] = []
...@@ -37,7 +39,7 @@ class YHResignUploadTravelPassportViewController: YHBaseViewController { ...@@ -37,7 +39,7 @@ class YHResignUploadTravelPassportViewController: YHBaseViewController {
tableView.backgroundColor = UIColor(hex: 0xF8F9FB) tableView.backgroundColor = UIColor(hex: 0xF8F9FB)
tableView.register(UITableViewCell.self, forCellReuseIdentifier: "UITableViewCell") tableView.register(UITableViewCell.self, forCellReuseIdentifier: "UITableViewCell")
tableView.register(YHTravelCertificateTipsCell.self, forCellReuseIdentifier: YHTravelCertificateTipsCell.cellReuseIdentifier) tableView.register(YHTravelCertificateTipsCell.self, forCellReuseIdentifier: YHTravelCertificateTipsCell.cellReuseIdentifier)
tableView.register(YHResignCertificatePassportTableViewCell.self, forCellReuseIdentifier: YHResignCertificatePassportTableViewCell.cellReuseIdentifier) tableView.register(YHResignUploadTravelPassportTableViewCell.self, forCellReuseIdentifier: YHResignUploadTravelPassportTableViewCell.cellReuseIdentifier)
return tableView return tableView
}() }()
...@@ -110,14 +112,23 @@ class YHResignUploadTravelPassportViewController: YHBaseViewController { ...@@ -110,14 +112,23 @@ class YHResignUploadTravelPassportViewController: YHBaseViewController {
// travel_cert_type 证件类型 0-未知 1-护照 3-港澳通行证 // travel_cert_type 证件类型 0-未知 1-护照 3-港澳通行证
// nationality : Int = -1 国籍 1-中国 2-国外 // nationality : Int = -1 国籍 1-中国 2-国外
self.viewModel.dataModel = dataModel let params : [String : Any] = [
if dataModel.cert_info.img_front.count != 0 { "order_id": orderId,
urls[0] = dataModel.cert_info.img_front "renewal_id": batchId,
"user_id": fatherData.id,
"user_type": fatherData.type
]
viewModel.getResignCertificateDetail(params) {[weak self] success, error in
guard let self = self else { return }
dataModel = self.viewModel.dataModel
if dataModel.img_front.count != 0 {
urls[0] = dataModel.img_front
}
self.data = viewModel.getPassPortDataSource(isShowPrompt)
// 头部提示
tipsArr = getTipsWithType(date: self.dataModel.latest_validaty_date)
tableView.reloadData()
} }
self.data = viewModel.getPassPortDataSource(isShowPrompt)
// 头部提示
tipsArr = getTipsWithType(date: self.dataModel.valid_date)
tableView.reloadData()
} }
...@@ -137,10 +148,10 @@ class YHResignUploadTravelPassportViewController: YHBaseViewController { ...@@ -137,10 +148,10 @@ class YHResignUploadTravelPassportViewController: YHBaseViewController {
return false return false
} }
if self.viewModel.dataModel.cert_info.issue_start.count == 0 { if self.viewModel.dataModel.issue_start.count == 0 {
return false return false
} }
if self.viewModel.dataModel.cert_info.issue_end.count == 0 { if self.viewModel.dataModel.issue_end.count == 0 {
return false return false
} }
return true return true
...@@ -148,20 +159,7 @@ class YHResignUploadTravelPassportViewController: YHBaseViewController { ...@@ -148,20 +159,7 @@ class YHResignUploadTravelPassportViewController: YHBaseViewController {
override func viewWillAppear(_ animated: Bool) { override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated) super.viewWillAppear(animated)
if dataModel.cert_info.is_show {
} else {
YHAdopterCardExampleView.exampleView(type: .chinaTravel).show()
let passPort: [String: Any] = ["is_show": true,
"submit": false
]
let params : [String : Any] = [
"passPort": passPort,
"id":dataModel.id
]
viewModel.submitResignCertificateUpdate(params) { success, error in
}
}
} }
} }
...@@ -175,21 +173,20 @@ private extension YHResignUploadTravelPassportViewController { ...@@ -175,21 +173,20 @@ private extension YHResignUploadTravelPassportViewController {
//2、保存旅行证件 //2、保存旅行证件
func saveAllTravelCertificate() { func saveAllTravelCertificate() {
let passPort: [String: Any] = ["name": "护照",
"issue_start": self.viewModel.dataModel.cert_info.issue_start,
"issue_end": self.viewModel.dataModel.cert_info.issue_end,
"img_front": urls[0],
"submit": true,
"is_show": true]
let params : [String : Any] = [ let params : [String : Any] = [
"passPort": passPort, "order_id": orderId,
"id": dataModel.id "renewal_id": batchId,
"user_id": fatherData.id,
"user_type": fatherData.type,
"type": self.viewModel.dataModel.type,
"img_front": urls[0],
"issue_start": self.viewModel.dataModel.issue_start,
"issue_end": self.viewModel.dataModel.issue_end
] ]
viewModel.submitResignCertificateUpdate(params) { success, error in viewModel.submitResignCertificateUpdate(params) { success, error in
if success { if success {
YHHUD.flash(message: "保存成功") YHHUD.flash(message: "保存成功")
self.navigationController?.popViewController() self.navigationController?.popViewController()
} else { } else {
let msg = error?.errorMsg ?? "保存失败,请重试" let msg = error?.errorMsg ?? "保存失败,请重试"
YHHUD.flash(message: msg) YHHUD.flash(message: msg)
...@@ -217,7 +214,7 @@ extension YHResignUploadTravelPassportViewController: UITableViewDelegate, UITab ...@@ -217,7 +214,7 @@ extension YHResignUploadTravelPassportViewController: UITableViewDelegate, UITab
return cell return cell
} }
let cell = tableView.dequeueReusableCell(withIdentifier: YHResignCertificatePassportTableViewCell.cellReuseIdentifier, for: indexPath) as! YHResignCertificatePassportTableViewCell let cell = tableView.dequeueReusableCell(withIdentifier: YHResignUploadTravelPassportTableViewCell.cellReuseIdentifier, for: indexPath) as! YHResignUploadTravelPassportTableViewCell
cell.firstImageName = "service_adopter_card_china_travel_front" cell.firstImageName = "service_adopter_card_china_travel_front"
cell.firstLabelName = "护照资料页" cell.firstLabelName = "护照资料页"
cell.dataModel = dataModel cell.dataModel = dataModel
...@@ -238,7 +235,7 @@ extension YHResignUploadTravelPassportViewController: UITableViewDelegate, UITab ...@@ -238,7 +235,7 @@ extension YHResignUploadTravelPassportViewController: UITableViewDelegate, UITab
guard let self = self else { return } guard let self = self else { return }
self.urls[index] = url self.urls[index] = url
if index == 0 { if index == 0 {
self.dataModel.cert_info.img_front = "" self.dataModel.img_front = ""
} }
} }
cell.block = {[weak self] model in cell.block = {[weak self] model in
......
//
// YHResignUploadTravelCardDetailModel.swift
// galaxy
//
// Created by EDY on 2024/10/14.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
import SmartCodable
class YHResignUploadTravelCardDetailModel: SmartCodable {
var latest_validaty_date: String = "" //有效期最晚时间
var type: Int = 0 //1-护照 3-港澳通行证
var order_id: Int = 0
var img_back: String = ""
var img_front: String = ""
var issue_end: String = ""
var issue_start: String = ""
var user_id: Int = 0
var user_type: String = ""
var name: String = ""
var visa_start: String = ""
var visa_end: String = ""
var is_show: Bool = false
var submit: Bool = true
required init() {
}
}
//
// YHResignUploadTravelCardListModel.swift
// galaxy
//
// Created by EDY on 2024/10/14.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
import SmartCodable
class YHResignUploadTravelCardListModel: SmartCodable {
var id : Int = -1//用户id
var name : String = ""//用户姓名
var type : String = ""//用户类型
var travel_cert_type : Int = -1//证件类型 0-未知 1-护照 3-港澳通行证
var status : Int = -1//缴费状态 -1-未缴费 0-待上传 1-待审核 2-已拒绝 3-已完成
required init() {
}
}
//
// YHResignUploadTravelCardListTableViewCell.swift
// galaxy
//
// Created by EDY on 2024/10/14.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHResignUploadTravelCardListTableViewCell: UITableViewCell {
static let cellReuseIdentifier = "YHResignUploadTravelCardListTableViewCell"
static let cellH : CGFloat = 70
var dataModel : YHResignUploadTravelCardListModel? {
didSet {
updataUI()
}
}
lazy var whiteContentView: UIView = {
let view = UIView()
view.backgroundColor = .white
view.layer.cornerRadius = kCornerRadius6
view.clipsToBounds = true
return view
}()
lazy var titleLable: UILabel = {
let label = UILabel()
label.textColor = UIColor.mainTextColor
label.font = UIFont.PFSC_B(ofSize:16)
label.text = "张山"
return label
}()
lazy var subtTitleLable: UILabel = {
let label = UILabel()
label.textColor = UIColor.mainTextColor50
label.font = UIFont.PFSC_R(ofSize:13)
label.text = "(港澳通行证入境)"
return label
}()
lazy var statusLable: UILabel = {
let label = UILabel()
label.textColor = UIColor.failColor
label.font = UIFont.PFSC_R(ofSize:14)
label.text = "已驳回"
return label
}()
lazy var statusImageView: UIImageView = {
let view = UIImageView(image: UIImage(named: "blue_right_arrow"))
return view
}()
required init?(coder: NSCoder) {
super.init(coder: coder)
}
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
setupUI()
}
}
private extension YHResignUploadTravelCardListTableViewCell {
func updataUI() {
guard let model = dataModel else { return }
titleLable.text = model.name
//travel_cert_type integer <int32> 证件类型 0-未知 1-护照 3-港澳通行证
if model.travel_cert_type == 1 {
subtTitleLable.text = "(护照入境)"
} else if model.travel_cert_type == 3 {
subtTitleLable.text = "(港澳通行证入境)"
} else {
subtTitleLable.text = ""
}
titleLable.textColor = .mainTextColor
//status 缴费状态 -1-未缴费 0-待上传 1-待审核 2-已拒绝 3-已完成
if model.status == 2 {
statusLable.text = "未开启"
titleLable.textColor = .mainTextColor30
statusLable.textColor = UIColor.mainTextColor30
statusImageView.image = UIImage(named: "disable_right_arrow")
} else if model.status == 0 {
statusLable.text = "待上传"
statusLable.textColor = UIColor.brandMainColor
statusImageView.image = UIImage(named: "blue_right_arrow")
} else if model.status == 1 {
statusLable.text = "已完成"
statusLable.textColor = UIColor.successColor
statusImageView.image = UIImage(named: "green_right_arrow")
} else {
statusLable.text = "-"
statusLable.textColor = UIColor.failColor
statusImageView.image = UIImage(named: "red_right_arrow")
}
}
func setupUI() {
selectionStyle = .none
backgroundColor = .clear
contentView.backgroundColor = .clear
contentView.addSubview(whiteContentView)
whiteContentView.snp.makeConstraints { make in
make.edges.equalToSuperview()
}
whiteContentView.addSubview(statusImageView)
statusImageView.snp.makeConstraints { make in
make.right.equalTo(-18)
make.width.height.equalTo(20)
make.centerY.equalToSuperview()
}
whiteContentView.addSubview(statusLable)
statusLable.snp.makeConstraints { make in
make.centerY.equalToSuperview()
make.right.equalTo(statusImageView.snp.left)
make.height.equalTo(20)
}
whiteContentView.addSubview(titleLable)
titleLable.snp.makeConstraints { make in
make.centerY.equalToSuperview()
make.left.equalToSuperview().offset(18)
make.height.equalTo(20)
}
whiteContentView.addSubview(subtTitleLable)
subtTitleLable.snp.makeConstraints { make in
make.centerY.equalToSuperview()
make.left.equalTo(titleLable.snp.right).offset(8)
// make.right.equalTo(statusLable.snp.left).offset(-8)
make.height.equalTo(20)
}
}
}
//
// YHResignUploadTravelCardDetailViewModel.swift
// galaxy
//
// Created by EDY on 2024/10/14.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHResignUploadTravelCardDetailViewModel: YHBaseViewModel {
var dataModel : YHResignUploadTravelCardDetailModel = YHResignUploadTravelCardDetailModel()
func submitResignCertificateUpdate(_ params: [String : Any],callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.TravelCard.save
let _ = YHNetRequest.postRequest(url: strUrl,params: params) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
printLog("model 是 ==> \(json)")
if json.code == 200 {
callBackBlock(true,nil)
} else {
let err = YHErrorModel(errorCode: Int32(json.code), errorMsg: json.msg.isEmpty ? "" : json.msg)
callBackBlock(false,err)
}
} failBlock: { err in
callBackBlock(false,err)
}
}
func getBaseDataSource(_ isShowPrompt: Bool) -> [YHItemModel] {
let item1 = YHItemModel(id: .id1, isNeed: true, title: "开始时间", isUserKeyBoard: false, prompts: "请选择", message: getResultString(dataModel.issue_start), type: .time, isShowPrompts: isShowPrompt, alertMessage:"请选择开始时间")
let item2 = YHItemModel(id: .id2, isNeed: true, title: "到期时间", isUserKeyBoard: false, prompts: "请选择", message: getResultString(dataModel.issue_end), type: .time, isShowPrompts: isShowPrompt, alertMessage:"请选择到期时间")
let item3 = YHItemModel(id: .id3, isNeed: true, title: "开始时间", isUserKeyBoard: false, prompts: "请选择", message: getResultString(dataModel.visa_start), type: .time, isShowPrompts: isShowPrompt, alertMessage:"请选择开始时间")
let item4 = YHItemModel(id: .id4, isNeed: true, title: "到期时间", isUserKeyBoard: false, prompts: "请选择", message: getResultString(dataModel.visa_end), type: .time, isShowPrompts: isShowPrompt, alertMessage:"请选择到期时间")
return [item1, item2, item3, item4]
}
func getPassPortDataSource(_ isShowPrompt: Bool) -> [YHItemModel] {
let item1 = YHItemModel(id: .id5, isNeed: true, title: "签发日期", isUserKeyBoard: false, prompts: "请选择", message: getResultString(dataModel.visa_start), type: .time, isShowPrompts: isShowPrompt, alertMessage:"请选择开始时间")
let item2 = YHItemModel(id: .id6, isNeed: true, title: "届满日期", isUserKeyBoard: false, prompts: "请选择", message: getResultString(dataModel.visa_end), type: .time, isShowPrompts: isShowPrompt, alertMessage:"请选择到期时间")
return [item1, item2]
}
func updateModel(_ item: YHItemModel) {
guard let type = item.id else { return }
switch type {
case .id1:
dataModel.issue_start = item.message ?? ""
case .id2:
dataModel.issue_end = item.message ?? ""
case .id3:
dataModel.visa_start = item.message ?? ""
case .id4:
dataModel.visa_end = item.message ?? ""
case .id5:
dataModel.visa_start = item.message ?? ""
case .id6:
dataModel.visa_end = item.message ?? ""
default:
break
}
}
func getResultString(_ data: String) -> String {
let dateString = data // 原始日期时间字符串
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss" // 设置原始日期时间格式
if let date = dateFormatter.date(from: dateString) {
dateFormatter.dateFormat = "yyyy-MM-dd" // 设置目标日期格式
let convertedDateString = dateFormatter.string(from: date) // 转换日期到目标格式
return convertedDateString
}
return data
}
func getResignCertificateDetail(_ params: [String : Any],callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.TravelCard.detail
let _ = YHNetRequest.getRequest(url: strUrl,params: params) { [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 = YHResignUploadTravelCardDetailModel.deserialize(from: dic) else {
callBackBlock(false,nil)
return
}
self.dataModel = resultModel
callBackBlock(true,nil)
} else {
let err = YHErrorModel(errorCode: Int32(json.code), errorMsg: json.msg.isEmpty ? "" : json.msg)
callBackBlock(false,err)
}
} failBlock: { err in
callBackBlock(false,err)
}
}
}
//
// YHResignUploadTravelCardViewModel.swift
// galaxy
//
// Created by EDY on 2024/10/14.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHResignUploadTravelCardViewModel: YHBaseViewModel {
//列表信息
var arrTravelDocs : [YHResignUploadTravelCardListModel] = []
//旅行证件嫌弃
var travelDetailModel : YHTravelDocsPreparationDetailModel?
}
extension YHResignUploadTravelCardViewModel {
//获取旅行证件准备列表
func getTravelDocsList(orderID: Int, renewalId: Int, callBackBlock:@escaping (_ success: Bool,_ err:YHErrorModel?)->()) {
let params: [String : Any] = ["order_id": orderID, "renewal_id": renewalId]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.TravelCard.list
let _ = YHNetRequest.getRequest(url: strUrl, params:params) { [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? [Any],let list = [YHResignUploadTravelCardListModel].deserialize(from: dic) else {
let err = YHErrorModel(errorCode: YHErrorCode.dictParseError.rawValue, errorMsg: YHErrorCode.dictParseError.description())
self.arrTravelDocs = []
callBackBlock(false, err)
return
}
self.arrTravelDocs = list
callBackBlock(true, nil)
} else {
let err = YHErrorModel(errorCode: Int32(json.code), errorMsg: json.msg.isEmpty ? "" : json.msg)
callBackBlock(false,err)
}
} failBlock: { err in
callBackBlock(false,err)
}
}
//获取旅行证件详情
func getTravelDocsDetailInfo(param : [String:Any],callBackBlock:@escaping (_ success: Bool,_ err:YHErrorModel?)->()) {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.TravelDocsPreparation.getTravelDocsDetailApi
let _ = YHNetRequest.getRequest(url: strUrl,params:param) { [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 = YHTravelDocsPreparationDetailModel.deserialize(from: dic) else {
let err = YHErrorModel(errorCode: YHErrorCode.dictParseError.rawValue, errorMsg: YHErrorCode.dictParseError.description())
self.travelDetailModel = nil
callBackBlock(false, err)
return
}
self.travelDetailModel = resultModel
for item in resultModel.list {
if let item = item {
item.latest_validaty_date = self.travelDetailModel?.latest_validaty_date ?? ""
item.china_travel_latest_validaty_date = self.travelDetailModel?.china_travel_latest_validaty_date ?? ""
item.age = resultModel.age
}
}
callBackBlock(true, nil)
} else {
self.travelDetailModel = nil
let err = YHErrorModel(errorCode: Int32(json.code), errorMsg: json.msg.isEmpty ? "" : json.msg)
callBackBlock(false,err)
}
} failBlock: { err in
self.travelDetailModel = nil
callBackBlock(false,err)
}
}
//保存旅行证件
func saveTravelDocsInfo(params: [String: Any], callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.TravelDocsPreparation.saveTravelDocsInfoApi
let _ = YHNetRequest.postRequest(url: strUrl, params: params) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else {
callBackBlock(false,nil)
return
}
if json.code == 200 {
callBackBlock(true,nil)
} else {
let err = YHErrorModel(errorCode: Int32(json.code), errorMsg: json.msg.isEmpty ? "" : json.msg)
callBackBlock(false,err)
}
} failBlock: { err in
callBackBlock(false,err)
}
}
}
...@@ -594,4 +594,11 @@ class YHAllApiName { ...@@ -594,4 +594,11 @@ class YHAllApiName {
// 确认在港 // 确认在港
static let confirmInHK = "super-app/renewal-visa/confirm-in-hk" static let confirmInHK = "super-app/renewal-visa/confirm-in-hk"
} }
//续签旅行证件
struct TravelCard {
static let list = "super-app/renewal/travel-cert-list"
static let detail = "super-app/renewal/travel-cert-detail"
static let save = "super-app/renewal/travel-cert-save"
}
} }
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