Commit efd12997 authored by David黄金龙's avatar David黄金龙

旅行证件 准备

parent f5a7414c
...@@ -623,6 +623,11 @@ ...@@ -623,6 +623,11 @@
A592FE952BA6D23C0062FACA /* YHCertificateEntryCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A592FE942BA6D23C0062FACA /* YHCertificateEntryCell.swift */; }; A592FE952BA6D23C0062FACA /* YHCertificateEntryCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A592FE942BA6D23C0062FACA /* YHCertificateEntryCell.swift */; };
A592FE972BA6DB340062FACA /* YHCertificateViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A592FE962BA6DB340062FACA /* YHCertificateViewModel.swift */; }; A592FE972BA6DB340062FACA /* YHCertificateViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A592FE962BA6DB340062FACA /* YHCertificateViewModel.swift */; };
A596CADF2C6B9B3D00F85797 /* YHHomeAlertViewManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = A596CADE2C6B9B3D00F85797 /* YHHomeAlertViewManager.swift */; }; A596CADF2C6B9B3D00F85797 /* YHHomeAlertViewManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = A596CADE2C6B9B3D00F85797 /* YHHomeAlertViewManager.swift */; };
A598E9D72C7C9EF300F84739 /* YHTravelDocsPreparationListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A598E9D62C7C9EF300F84739 /* YHTravelDocsPreparationListViewController.swift */; };
A598E9DA2C7CA28200F84739 /* YHTravelDocsPreparationListCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A598E9D92C7CA28200F84739 /* YHTravelDocsPreparationListCell.swift */; };
A598E9DC2C7CA52300F84739 /* YHTravelDocsPreparationTipsCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A598E9DB2C7CA52300F84739 /* YHTravelDocsPreparationTipsCell.swift */; };
A598E9DF2C7CB2C400F84739 /* YHTravelDocsPreparationViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A598E9DE2C7CB2C400F84739 /* YHTravelDocsPreparationViewModel.swift */; };
A598E9E22C7CB32D00F84739 /* YHTravelDocsPreparationListModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A598E9E12C7CB32D00F84739 /* YHTravelDocsPreparationListModel.swift */; };
A59B43C72C48F68200B28379 /* YHEvaluationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A59B43C62C48F68200B28379 /* YHEvaluationView.swift */; }; A59B43C72C48F68200B28379 /* YHEvaluationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A59B43C62C48F68200B28379 /* YHEvaluationView.swift */; };
A59B43C92C491FB100B28379 /* YHH5WebViewVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = A59B43C82C491FB100B28379 /* YHH5WebViewVC.swift */; }; A59B43C92C491FB100B28379 /* YHH5WebViewVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = A59B43C82C491FB100B28379 /* YHH5WebViewVC.swift */; };
A59B43CB2C4A151200B28379 /* YHStatusAdvantageVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = A59B43CA2C4A151200B28379 /* YHStatusAdvantageVC.swift */; }; A59B43CB2C4A151200B28379 /* YHStatusAdvantageVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = A59B43CA2C4A151200B28379 /* YHStatusAdvantageVC.swift */; };
...@@ -1389,6 +1394,11 @@ ...@@ -1389,6 +1394,11 @@
A592FE942BA6D23C0062FACA /* YHCertificateEntryCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHCertificateEntryCell.swift; sourceTree = "<group>"; }; A592FE942BA6D23C0062FACA /* YHCertificateEntryCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHCertificateEntryCell.swift; sourceTree = "<group>"; };
A592FE962BA6DB340062FACA /* YHCertificateViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHCertificateViewModel.swift; sourceTree = "<group>"; }; A592FE962BA6DB340062FACA /* YHCertificateViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHCertificateViewModel.swift; sourceTree = "<group>"; };
A596CADE2C6B9B3D00F85797 /* YHHomeAlertViewManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHHomeAlertViewManager.swift; sourceTree = "<group>"; }; A596CADE2C6B9B3D00F85797 /* YHHomeAlertViewManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHHomeAlertViewManager.swift; sourceTree = "<group>"; };
A598E9D62C7C9EF300F84739 /* YHTravelDocsPreparationListViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHTravelDocsPreparationListViewController.swift; sourceTree = "<group>"; };
A598E9D92C7CA28200F84739 /* YHTravelDocsPreparationListCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHTravelDocsPreparationListCell.swift; sourceTree = "<group>"; };
A598E9DB2C7CA52300F84739 /* YHTravelDocsPreparationTipsCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHTravelDocsPreparationTipsCell.swift; sourceTree = "<group>"; };
A598E9DE2C7CB2C400F84739 /* YHTravelDocsPreparationViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHTravelDocsPreparationViewModel.swift; sourceTree = "<group>"; };
A598E9E12C7CB32D00F84739 /* YHTravelDocsPreparationListModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHTravelDocsPreparationListModel.swift; sourceTree = "<group>"; };
A59B43C62C48F68200B28379 /* YHEvaluationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHEvaluationView.swift; sourceTree = "<group>"; }; A59B43C62C48F68200B28379 /* YHEvaluationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHEvaluationView.swift; sourceTree = "<group>"; };
A59B43C82C491FB100B28379 /* YHH5WebViewVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHH5WebViewVC.swift; sourceTree = "<group>"; }; A59B43C82C491FB100B28379 /* YHH5WebViewVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHH5WebViewVC.swift; sourceTree = "<group>"; };
A59B43CA2C4A151200B28379 /* YHStatusAdvantageVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHStatusAdvantageVC.swift; sourceTree = "<group>"; }; A59B43CA2C4A151200B28379 /* YHStatusAdvantageVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHStatusAdvantageVC.swift; sourceTree = "<group>"; };
...@@ -2620,6 +2630,7 @@ ...@@ -2620,6 +2630,7 @@
046A952B2C6EFA710059326A /* Certificate(办证段) */ = { 046A952B2C6EFA710059326A /* Certificate(办证段) */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
A598E9D42C7C9CD100F84739 /* TravelDocumentsPreparation(4旅行证件准备) */,
049D62C32C6F259D00E811A1 /* FamilyInfoConfirm(1 家庭信息确认) */, 049D62C32C6F259D00E811A1 /* FamilyInfoConfirm(1 家庭信息确认) */,
0430E63C2C72DB48000511E2 /* AddAdopters(2新增受养人) */, 0430E63C2C72DB48000511E2 /* AddAdopters(2新增受养人) */,
04256DD72C72D9C200A37BA4 /* AppointCertificate(3 赴港办证预约) */, 04256DD72C72D9C200A37BA4 /* AppointCertificate(3 赴港办证预约) */,
...@@ -3431,6 +3442,50 @@ ...@@ -3431,6 +3442,50 @@
path = "HomeAlertViewManager(首页弹窗管理)"; path = "HomeAlertViewManager(首页弹窗管理)";
sourceTree = "<group>"; sourceTree = "<group>";
}; };
A598E9D42C7C9CD100F84739 /* TravelDocumentsPreparation(4旅行证件准备) */ = {
isa = PBXGroup;
children = (
A598E9E02C7CB2EC00F84739 /* M */,
A598E9DD2C7CB29300F84739 /* VM */,
A598E9D82C7CA26A00F84739 /* V */,
A598E9D52C7C9D0900F84739 /* C */,
);
path = "TravelDocumentsPreparation(4旅行证件准备)";
sourceTree = "<group>";
};
A598E9D52C7C9D0900F84739 /* C */ = {
isa = PBXGroup;
children = (
A598E9D62C7C9EF300F84739 /* YHTravelDocsPreparationListViewController.swift */,
);
path = C;
sourceTree = "<group>";
};
A598E9D82C7CA26A00F84739 /* V */ = {
isa = PBXGroup;
children = (
A598E9D92C7CA28200F84739 /* YHTravelDocsPreparationListCell.swift */,
A598E9DB2C7CA52300F84739 /* YHTravelDocsPreparationTipsCell.swift */,
);
path = V;
sourceTree = "<group>";
};
A598E9DD2C7CB29300F84739 /* VM */ = {
isa = PBXGroup;
children = (
A598E9DE2C7CB2C400F84739 /* YHTravelDocsPreparationViewModel.swift */,
);
path = VM;
sourceTree = "<group>";
};
A598E9E02C7CB2EC00F84739 /* M */ = {
isa = PBXGroup;
children = (
A598E9E12C7CB32D00F84739 /* YHTravelDocsPreparationListModel.swift */,
);
path = M;
sourceTree = "<group>";
};
A5ACE8D72B4564F7002C94D2 /* Classes */ = { A5ACE8D72B4564F7002C94D2 /* Classes */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
...@@ -4246,6 +4301,7 @@ ...@@ -4246,6 +4301,7 @@
04213B232C48B7F700797900 /* YHIdentityTabBar.swift in Sources */, 04213B232C48B7F700797900 /* YHIdentityTabBar.swift in Sources */,
04F5F86C2C1A9B52004A463C /* YHOtherServiceListViewController.swift in Sources */, 04F5F86C2C1A9B52004A463C /* YHOtherServiceListViewController.swift in Sources */,
04CC2EF02BC3DDB2000305DD /* YHServiceBannerView.swift in Sources */, 04CC2EF02BC3DDB2000305DD /* YHServiceBannerView.swift in Sources */,
A598E9DA2C7CA28200F84739 /* YHTravelDocsPreparationListCell.swift in Sources */,
045EEEA32B9F171A0022A143 /* YHCompanyModel.swift in Sources */, 045EEEA32B9F171A0022A143 /* YHCompanyModel.swift in Sources */,
0430E64E2C733477000511E2 /* YHAdopterIncomeDetailViewController.swift in Sources */, 0430E64E2C733477000511E2 /* YHAdopterIncomeDetailViewController.swift in Sources */,
045EEEC62B9F171A0022A143 /* YHOtherTextViewItemView.swift in Sources */, 045EEEC62B9F171A0022A143 /* YHOtherTextViewItemView.swift in Sources */,
...@@ -4285,6 +4341,8 @@ ...@@ -4285,6 +4341,8 @@
044D0BFC2C21635B00C5CF5E /* YHInformationAuthorizationStepOneViewController.swift in Sources */, 044D0BFC2C21635B00C5CF5E /* YHInformationAuthorizationStepOneViewController.swift in Sources */,
045EEEBF2B9F171A0022A143 /* YHWorkFileItemView.swift in Sources */, 045EEEBF2B9F171A0022A143 /* YHWorkFileItemView.swift in Sources */,
04AF58C42B4FC51C0066011A /* YHLocalizable.swift in Sources */, 04AF58C42B4FC51C0066011A /* YHLocalizable.swift in Sources */,
A598E9E22C7CB32D00F84739 /* YHTravelDocsPreparationListModel.swift in Sources */,
A598E9D72C7C9EF300F84739 /* YHTravelDocsPreparationListViewController.swift in Sources */,
A520124F2BABCE05008655EA /* YHFileListContentView.swift in Sources */, A520124F2BABCE05008655EA /* YHFileListContentView.swift in Sources */,
04CE1AE12C2AD91F001CB80A /* YHActivityDetailItemView.swift in Sources */, 04CE1AE12C2AD91F001CB80A /* YHActivityDetailItemView.swift in Sources */,
A517A4E42BB6C4BB000DEECD /* YHDocumentUploadView.swift in Sources */, A517A4E42BB6C4BB000DEECD /* YHDocumentUploadView.swift in Sources */,
...@@ -4330,6 +4388,7 @@ ...@@ -4330,6 +4388,7 @@
045EEF192B9F171A0022A143 /* YHAddressModel.swift in Sources */, 045EEF192B9F171A0022A143 /* YHAddressModel.swift in Sources */,
045EEEDB2B9F171A0022A143 /* YHCollegeSearchViewController.swift in Sources */, 045EEEDB2B9F171A0022A143 /* YHCollegeSearchViewController.swift in Sources */,
04C85DE72C36ADAE008B20D6 /* YHMyFileListHeaderView.swift in Sources */, 04C85DE72C36ADAE008B20D6 /* YHMyFileListHeaderView.swift in Sources */,
A598E9DC2C7CA52300F84739 /* YHTravelDocsPreparationTipsCell.swift in Sources */,
045EEE982B9F171A0022A143 /* YHPreviewInfoQuestionAndAnswerItemsView.swift in Sources */, 045EEE982B9F171A0022A143 /* YHPreviewInfoQuestionAndAnswerItemsView.swift in Sources */,
045EEE7A2B9F171A0022A143 /* YHPreviewForOtherInfoModel.swift in Sources */, 045EEE7A2B9F171A0022A143 /* YHPreviewForOtherInfoModel.swift in Sources */,
0414BDA92BC7E81500225367 /* YHMyPermissionSettingVC.swift in Sources */, 0414BDA92BC7E81500225367 /* YHMyPermissionSettingVC.swift in Sources */,
...@@ -4745,6 +4804,7 @@ ...@@ -4745,6 +4804,7 @@
044D0C0D2C22876A00C5CF5E /* YHEditBaseUserInfoViewController.swift in Sources */, 044D0C0D2C22876A00C5CF5E /* YHEditBaseUserInfoViewController.swift in Sources */,
04C85DE32C368B45008B20D6 /* YHMyFileListViewController.swift in Sources */, 04C85DE32C368B45008B20D6 /* YHMyFileListViewController.swift in Sources */,
045EEEF82B9F171A0022A143 /* YHFormItemOnlyDoubleChoiceCell.swift in Sources */, 045EEEF82B9F171A0022A143 /* YHFormItemOnlyDoubleChoiceCell.swift in Sources */,
A598E9DF2C7CB2C400F84739 /* YHTravelDocsPreparationViewModel.swift in Sources */,
0480976D2BA158A1000B9DCA /* YHCertificateListVC.swift in Sources */, 0480976D2BA158A1000B9DCA /* YHCertificateListVC.swift in Sources */,
0430E6522C733D82000511E2 /* YHAdopterIncomeFileTableViewCell.swift in Sources */, 0430E6522C733D82000511E2 /* YHAdopterIncomeFileTableViewCell.swift in Sources */,
045EEE8B2B9F171A0022A143 /* YHPreviewMainApplicantInfoViewController.swift in Sources */, 045EEE8B2B9F171A0022A143 /* YHPreviewMainApplicantInfoViewController.swift in Sources */,
......
...@@ -266,6 +266,9 @@ extension YHServiceOrderListView : UITableViewDelegate,UITableViewDataSource { ...@@ -266,6 +266,9 @@ extension YHServiceOrderListView : UITableViewDelegate,UITableViewDataSource {
//赴港行程指引 //赴港行程指引
} else if model.type == 26 { } else if model.type == 26 {
//旅行证件准备 //旅行证件准备
let vc = YHTravelDocsPreparationListViewController()
vc.orderID = orderID
navigationController?.pushViewController(vc)
} else if model.type == 27 { } else if model.type == 27 {
//上传过关证件 //上传过关证件
let vc = YHUploadCertificateVC() let vc = YHUploadCertificateVC()
......
//
// YHTravelDocsPreparationListViewController.swift
// galaxy
//
// Created by davidhuangA on 2024/8/26.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
/*
旅行证件准备
*/
class YHTravelDocsPreparationListViewController: YHBaseViewController {
var orderID: Int = 0
lazy var viewModel: YHTravelDocsPreparationViewModel = {
let vm = YHTravelDocsPreparationViewModel()
return vm
}()
lazy var tableView: UITableView = {
let tableView = UITableView(frame:.zero, style:.grouped)
tableView.estimatedSectionHeaderHeight = 16.0
tableView.estimatedSectionFooterHeight = 0.01
tableView.contentInsetAdjustmentBehavior = .never
tableView.showsVerticalScrollIndicator = false
tableView.separatorStyle = .none
tableView.delegate = self
tableView.dataSource = self
tableView.backgroundColor = .clear
tableView.register(UITableViewCell.self, forCellReuseIdentifier: "UITableViewCell")
tableView.register(YHTravelDocsPreparationListCell.self, forCellReuseIdentifier: YHTravelDocsPreparationListCell.cellReuseIdentifier)
tableView.register(YHTravelDocsPreparationTipsCell.self, forCellReuseIdentifier: YHTravelDocsPreparationTipsCell.cellReuseIdentifier)
return tableView
}()
override func viewDidLoad() {
super.viewDidLoad()
setupUI()
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
loadData()
}
}
private extension YHTravelDocsPreparationListViewController {
func loadData() {
let params: [String : Any] = ["order_id": orderID]
viewModel.getTravelDocsList(param: params){ success, error in
if success {
} else {
}
self.tableView.reloadData()
}
}
func setupUI() {
gk_navTitle = "旅行证件准备"
gk_navBarAlpha = 1.0
gk_navBackgroundColor = .white
view.backgroundColor = UIColor.contentBkgColor
if orderID == 0 {
if let id = UserDefaults.standard.value(forKey: "orderIdForPreview") {
self.orderID = (id as? Int) ?? 0
}
}
view.addSubview(tableView)
tableView.snp.makeConstraints { make in
make.left.equalToSuperview().offset(kMargin)
make.right.equalToSuperview().offset(-kMargin)
make.top.equalTo(k_Height_NavigationtBarAndStatuBar)
make.bottom.equalToSuperview()
}
}
}
extension YHTravelDocsPreparationListViewController: UITableViewDelegate, UITableViewDataSource {
func numberOfSections(in tableView: UITableView) -> Int {
return viewModel.arrTravelDocs.count > 0 ? viewModel.arrTravelDocs.count + 1 : 0
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if viewModel.arrTravelDocs.count > 0 ,indexPath.section == viewModel.arrTravelDocs.count {
let approveCell = tableView.dequeueReusableCell(withIdentifier: YHTravelDocsPreparationTipsCell.cellReuseIdentifier, for: indexPath)
return approveCell
} else if viewModel.arrTravelDocs.count > 0 ,indexPath.section < viewModel.arrTravelDocs.count {
let approveCell = tableView.dequeueReusableCell(withIdentifier: YHTravelDocsPreparationListCell.cellReuseIdentifier, for: indexPath) as! YHTravelDocsPreparationListCell
approveCell.dataModel = viewModel.arrTravelDocs[indexPath.section]
return approveCell
}
let approveCell = tableView.dequeueReusableCell(withIdentifier: YHTravelDocsPreparationListCell.cellReuseIdentifier, for: indexPath)
return approveCell
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
if viewModel.arrTravelDocs.count > 0 ,indexPath.section == viewModel.arrTravelDocs.count {
return YHTravelDocsPreparationTipsCell.cellH
}
return YHTravelDocsPreparationListCell.cellH
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if 0 <= indexPath.section && indexPath.section < viewModel.arrTravelDocs.count {
}
}
private func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> CGFloat {
return 16.0
}
private func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> CGFloat {
return 0.01
}
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let view = UIView()
return view
}
func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
let view = UIView()
return view
}
}
//
// YHTravelDocsPreparationListModel.swift
// galaxy
//
// Created by davidhuangA on 2024/8/26.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
import SmartCodable
class YHTravelDocsPreparationListModel: SmartCodable {
var id : Int = -1//用户id
var name : String = ""//用户姓名
var type : String = ""//用户类型
var file_num : String = ""//档案号
var travel_cert_type : Int = -1//证件类型 0-未知 1-护照 3-港澳通行证
var status : Int = -1//缴费状态 -1-未缴费 0-待上传 1-待审核 2-已拒绝 3-已完成
var nationality : Int = -1// 国籍 1-中国 2-国外
required init() {
}
}
//
// YHTravelDocsPreparationListCell.swift
// galaxy
//
// Created by davidhuangA on 2024/8/26.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHTravelDocsPreparationListCell: UITableViewCell {
static let cellReuseIdentifier = "YHTravelDocsPreparationListCell"
static let cellH : CGFloat = 70
var dataModel : YHTravelDocsPreparationListModel? {
didSet {
updataUI()
}
}
lazy var whiteContentView: UIView = {
let view = UIView()
view.backgroundColor = .white
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 YHTravelDocsPreparationListCell {
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 = ""
}
//状态 1-已上传 2-未上传
if model.status == 1 {
statusLable.text = "已上传"
statusLable.textColor = UIColor.successColor
statusImageView.image = UIImage(named: "green_right_arrow")
} else {
statusLable.text = "待上传"
statusLable.textColor = UIColor.brandMainColor
statusImageView.image = UIImage(named: "blue_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)
}
}
}
//
// YHTravelDocsPreparationTipsCell.swift
// galaxy
//
// Created by davidhuangA on 2024/8/26.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHTravelDocsPreparationTipsCell: UITableViewCell {
static let cellReuseIdentifier = "YHTravelDocsPreparationTipsCell"
static let cellH : CGFloat = (16 + 24) + 16 + (kMargin * 2 + YHTravelDocsPreparationTipsCell.tipsImageVH)
private static let tipsImageVH : CGFloat = (404.0/307) * (KScreenWidth - kMargin * 2 - 18 * 2)
lazy var whiteContentView: UIView = {
let view = UIView()
view.backgroundColor = .white
view.layer.cornerRadius = kCornerRadius6
view.clipsToBounds = true
view.backgroundColor = .white
return view
}()
lazy var tipsImageView : UIImageView = {
let imageV : UIImageView = UIImageView()
imageV.contentMode = .scaleAspectFill
imageV.image = UIImage(named: "travelTips")//307 404
return imageV
}()
required init?(coder: NSCoder) {
super.init(coder: coder)
}
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
setupUI()
}
}
private extension YHTravelDocsPreparationTipsCell {
func setupUI() {
selectionStyle = .none
backgroundColor = .clear
contentView.backgroundColor = .clear
let label = UILabel()
label.textColor = UIColor.mainTextColor
label.font = UIFont.PFSC_M(ofSize:17)
label.text = "办理逗留D签注注意事项"
contentView.addSubview(label)
label.snp.makeConstraints { make in
make.top.equalToSuperview().offset(kMargin)
make.left.equalToSuperview().offset(11)
make.height.equalTo(24)
}
let tagView = UIView()
tagView.backgroundColor = .brandMainColor
contentView.addSubview(tagView)
tagView.snp.makeConstraints { make in
make.centerY.equalTo(label.snp.centerY)
make.left.equalToSuperview()
make.height.equalTo(12)
make.width.equalTo(3)
}
contentView.addSubview(whiteContentView)
whiteContentView.snp.makeConstraints { make in
make.top.equalTo(label.snp.bottom).offset(kMargin)
make.left.right.equalToSuperview()
make.height.equalTo(YHTravelDocsPreparationTipsCell.tipsImageVH + kMargin * 2)
}
whiteContentView.addSubview(tipsImageView)
tipsImageView.snp.makeConstraints { make in
make.top.equalToSuperview().offset(kMargin)
make.left.equalToSuperview().offset(kMargin)
make.width.equalTo(KScreenWidth - 2 * (18 + kMargin))
make.height.equalTo(YHTravelDocsPreparationTipsCell.tipsImageVH)
}
}
}
//
// YHTravelDocsPreparationViewModel.swift
// galaxy
//
// Created by davidhuangA on 2024/8/26.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHTravelDocsPreparationViewModel: YHBaseViewModel {
//列表信息
var arrTravelDocs : [YHTravelDocsPreparationListModel?] = []
}
extension YHTravelDocsPreparationViewModel {
//获取上传列表
func getTravelDocsList(param : [String:Any],callBackBlock:@escaping (_ success: Bool,_ err:YHErrorModel?)->()) {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.TravelDocsPreparation.getTravelDocsListApi
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 {
let dic = json.data
guard let list = [YHTravelDocsPreparationListModel].deserialize(array: dic as? [Any]) 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)
}
}
}
...@@ -8,6 +8,14 @@ ...@@ -8,6 +8,14 @@
class YHAllApiName { class YHAllApiName {
//办证段 - 6旅行证件准备
struct TravelDocsPreparation {
//GetTravelCertList 获取旅行证件列表
static let getTravelDocsListApi = "super-app/order/customer/service/certificate/list"
}
//办证段 - 7上传过关证件 //办证段 - 7上传过关证件
struct UploadCertificate { struct UploadCertificate {
//GetDocumentsList 获取上传列表内容 //GetDocumentsList 获取上传列表内容
......
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "办理逗留D签注注意事项@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "办理逗留D签注注意事项@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "箭头中@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "箭头中@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
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