Commit 40f7d810 authored by Steven杜宇's avatar Steven杜宇

// 赴港办证UI

parent 20c4b3d7
...@@ -51,6 +51,10 @@ ...@@ -51,6 +51,10 @@
04256DE62C7310BE00A37BA4 /* YHSelectApplicantGroupCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04256DE52C7310BE00A37BA4 /* YHSelectApplicantGroupCell.swift */; }; 04256DE62C7310BE00A37BA4 /* YHSelectApplicantGroupCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04256DE52C7310BE00A37BA4 /* YHSelectApplicantGroupCell.swift */; };
04256DE82C7314B500A37BA4 /* YHSelectApplicantCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04256DE72C7314B500A37BA4 /* YHSelectApplicantCell.swift */; }; 04256DE82C7314B500A37BA4 /* YHSelectApplicantCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04256DE72C7314B500A37BA4 /* YHSelectApplicantCell.swift */; };
04256DEA2C73263A00A37BA4 /* YHInfoItemSelectSheetView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04256DE92C73263A00A37BA4 /* YHInfoItemSelectSheetView.swift */; }; 04256DEA2C73263A00A37BA4 /* YHInfoItemSelectSheetView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04256DE92C73263A00A37BA4 /* YHInfoItemSelectSheetView.swift */; };
04256DEC2C732F6900A37BA4 /* YHGrabNumberListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04256DEB2C732F6900A37BA4 /* YHGrabNumberListView.swift */; };
04256DEE2C73338200A37BA4 /* YHGrabNumberListCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04256DED2C73338200A37BA4 /* YHGrabNumberListCell.swift */; };
04256DF02C733B2D00A37BA4 /* YHGrabNumberInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04256DEF2C733B2D00A37BA4 /* YHGrabNumberInfoView.swift */; };
04256DF22C734E7E00A37BA4 /* YHGrabFileCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04256DF12C734E7E00A37BA4 /* YHGrabFileCell.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 */; };
...@@ -719,6 +723,10 @@ ...@@ -719,6 +723,10 @@
04256DE52C7310BE00A37BA4 /* YHSelectApplicantGroupCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHSelectApplicantGroupCell.swift; sourceTree = "<group>"; }; 04256DE52C7310BE00A37BA4 /* YHSelectApplicantGroupCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHSelectApplicantGroupCell.swift; sourceTree = "<group>"; };
04256DE72C7314B500A37BA4 /* YHSelectApplicantCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHSelectApplicantCell.swift; sourceTree = "<group>"; }; 04256DE72C7314B500A37BA4 /* YHSelectApplicantCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHSelectApplicantCell.swift; sourceTree = "<group>"; };
04256DE92C73263A00A37BA4 /* YHInfoItemSelectSheetView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHInfoItemSelectSheetView.swift; sourceTree = "<group>"; }; 04256DE92C73263A00A37BA4 /* YHInfoItemSelectSheetView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHInfoItemSelectSheetView.swift; sourceTree = "<group>"; };
04256DEB2C732F6900A37BA4 /* YHGrabNumberListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHGrabNumberListView.swift; sourceTree = "<group>"; };
04256DED2C73338200A37BA4 /* YHGrabNumberListCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHGrabNumberListCell.swift; sourceTree = "<group>"; };
04256DEF2C733B2D00A37BA4 /* YHGrabNumberInfoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHGrabNumberInfoView.swift; sourceTree = "<group>"; };
04256DF12C734E7E00A37BA4 /* YHGrabFileCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHGrabFileCell.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>"; };
...@@ -1494,8 +1502,12 @@ ...@@ -1494,8 +1502,12 @@
04256DE12C72E1EA00A37BA4 /* YHCertificateAppointOptionCell.swift */, 04256DE12C72E1EA00A37BA4 /* YHCertificateAppointOptionCell.swift */,
04256DE52C7310BE00A37BA4 /* YHSelectApplicantGroupCell.swift */, 04256DE52C7310BE00A37BA4 /* YHSelectApplicantGroupCell.swift */,
04256DE72C7314B500A37BA4 /* YHSelectApplicantCell.swift */, 04256DE72C7314B500A37BA4 /* YHSelectApplicantCell.swift */,
04256DED2C73338200A37BA4 /* YHGrabNumberListCell.swift */,
04256DF12C734E7E00A37BA4 /* YHGrabFileCell.swift */,
04256DE32C72E3FA00A37BA4 /* YHInfoItemOptionView.swift */, 04256DE32C72E3FA00A37BA4 /* YHInfoItemOptionView.swift */,
04256DE92C73263A00A37BA4 /* YHInfoItemSelectSheetView.swift */, 04256DE92C73263A00A37BA4 /* YHInfoItemSelectSheetView.swift */,
04256DEB2C732F6900A37BA4 /* YHGrabNumberListView.swift */,
04256DEF2C733B2D00A37BA4 /* YHGrabNumberInfoView.swift */,
); );
path = V; path = V;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -3789,6 +3801,7 @@ ...@@ -3789,6 +3801,7 @@
044867B82BA1C75700DFAD4A /* YHCertificateUploadFailTipsView.swift in Sources */, 044867B82BA1C75700DFAD4A /* YHCertificateUploadFailTipsView.swift in Sources */,
04256DE02C72DC0600A37BA4 /* YHCertificateAppointOptionView.swift in Sources */, 04256DE02C72DC0600A37BA4 /* YHCertificateAppointOptionView.swift in Sources */,
044D0C062C22736F00C5CF5E /* YHSetExplainView.swift in Sources */, 044D0C062C22736F00C5CF5E /* YHSetExplainView.swift in Sources */,
04256DF02C733B2D00A37BA4 /* YHGrabNumberInfoView.swift in Sources */,
04213B252C48C15400797900 /* YHHomeIdentityViewController.swift in Sources */, 04213B252C48C15400797900 /* YHHomeIdentityViewController.swift in Sources */,
0472E25C2C521E64008EAB6E /* YHHomeIdentityListVC.swift in Sources */, 0472E25C2C521E64008EAB6E /* YHHomeIdentityListVC.swift in Sources */,
045EEF002B9F171A0022A143 /* YHFormItemEnterDetailCell.swift in Sources */, 045EEF002B9F171A0022A143 /* YHFormItemEnterDetailCell.swift in Sources */,
...@@ -3911,6 +3924,7 @@ ...@@ -3911,6 +3924,7 @@
04FD856C2C2153F000BEF9C5 /* YHMyEducationCell.swift in Sources */, 04FD856C2C2153F000BEF9C5 /* YHMyEducationCell.swift in Sources */,
A5DE0D3C2BB9016200976FE1 /* YHEmailInputAlertView.swift in Sources */, A5DE0D3C2BB9016200976FE1 /* YHEmailInputAlertView.swift in Sources */,
04256DE42C72E3FA00A37BA4 /* YHInfoItemOptionView.swift in Sources */, 04256DE42C72E3FA00A37BA4 /* YHInfoItemOptionView.swift in Sources */,
04256DF22C734E7E00A37BA4 /* YHGrabFileCell.swift in Sources */,
A5ACE9512B4564F7002C94D2 /* YhConstant.swift in Sources */, A5ACE9512B4564F7002C94D2 /* YhConstant.swift in Sources */,
04FD85662C2124AF00BEF9C5 /* YHNameCardViewController.swift in Sources */, 04FD85662C2124AF00BEF9C5 /* YHNameCardViewController.swift in Sources */,
0430E63B2C6DA106000511E2 /* CGFloat+Extention.swift in Sources */, 0430E63B2C6DA106000511E2 /* CGFloat+Extention.swift in Sources */,
...@@ -4141,6 +4155,7 @@ ...@@ -4141,6 +4155,7 @@
044D0C1A2C22B40B00C5CF5E /* YHEditPersonalProfileViewController.swift in Sources */, 044D0C1A2C22B40B00C5CF5E /* YHEditPersonalProfileViewController.swift in Sources */,
047AA3E82C4A6D69009C4554 /* YHListViewController.swift in Sources */, 047AA3E82C4A6D69009C4554 /* YHListViewController.swift in Sources */,
048787D92BCF68530036E221 /* YHProgressView.swift in Sources */, 048787D92BCF68530036E221 /* YHProgressView.swift in Sources */,
04256DEE2C73338200A37BA4 /* YHGrabNumberListCell.swift in Sources */,
045EEEEC2B9F171A0022A143 /* YHBrotherInfoVC.swift in Sources */, 045EEEEC2B9F171A0022A143 /* YHBrotherInfoVC.swift in Sources */,
0477E17A2BA41C7E00436346 /* YHCertificateModel.swift in Sources */, 0477E17A2BA41C7E00436346 /* YHCertificateModel.swift in Sources */,
045EEF242B9F171A0022A143 /* YHStepView.swift in Sources */, 045EEF242B9F171A0022A143 /* YHStepView.swift in Sources */,
...@@ -4220,6 +4235,7 @@ ...@@ -4220,6 +4235,7 @@
045EEEEB2B9F171A0022A143 /* YHTest.swift in Sources */, 045EEEEB2B9F171A0022A143 /* YHTest.swift in Sources */,
04CE1AD12C2AD91F001CB80A /* YHActivityTravelModel.swift in Sources */, 04CE1AD12C2AD91F001CB80A /* YHActivityTravelModel.swift in Sources */,
044D0C202C22D37500C5CF5E /* YHEditHonorViewController.swift in Sources */, 044D0C202C22D37500C5CF5E /* YHEditHonorViewController.swift in Sources */,
04256DEC2C732F6900A37BA4 /* YHGrabNumberListView.swift in Sources */,
045EEEAC2B9F171A0022A143 /* YHWorkExperienceTableViewCell.swift in Sources */, 045EEEAC2B9F171A0022A143 /* YHWorkExperienceTableViewCell.swift in Sources */,
A5ACE93C2B4564F7002C94D2 /* UIColor+Extension.swift in Sources */, A5ACE93C2B4564F7002C94D2 /* UIColor+Extension.swift in Sources */,
A567E5A82BD7643D00D5D5A0 /* YHHomeWebBottomButton.swift in Sources */, A567E5A82BD7643D00D5D5A0 /* YHHomeWebBottomButton.swift in Sources */,
......
...@@ -10,7 +10,7 @@ import UIKit ...@@ -10,7 +10,7 @@ import UIKit
class YHCertificateAppointViewController: YHBaseViewController { class YHCertificateAppointViewController: YHBaseViewController {
var items = ["", ""] var items = ["", "", ""]
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
...@@ -21,9 +21,11 @@ class YHCertificateAppointViewController: YHBaseViewController { ...@@ -21,9 +21,11 @@ class YHCertificateAppointViewController: YHBaseViewController {
tableView.delegate = self tableView.delegate = self
tableView.dataSource = self tableView.dataSource = self
tableView.backgroundColor = UIColor(hex: 0xF8F9FB) tableView.backgroundColor = UIColor(hex: 0xF8F9FB)
tableView.register(UITableViewCell.self, forCellReuseIdentifier: "UITableViewCell") tableView.register(UITableViewCell.self, forCellReuseIdentifier: "UITableViewCell")
tableView.register(YHCertificateAppointOptionCell.self, forCellReuseIdentifier: YHCertificateAppointOptionCell.cellReuseIdentifier) tableView.register(YHCertificateAppointOptionCell.self, forCellReuseIdentifier: YHCertificateAppointOptionCell.cellReuseIdentifier)
tableView.register(YHSelectApplicantGroupCell.self, forCellReuseIdentifier: YHSelectApplicantGroupCell.cellReuseIdentifier) tableView.register(YHSelectApplicantGroupCell.self, forCellReuseIdentifier: YHSelectApplicantGroupCell.cellReuseIdentifier)
tableView.register(YHGrabNumberListCell.self, forCellReuseIdentifier: YHGrabNumberListCell.cellReuseIdentifier)
return tableView return tableView
}() }()
...@@ -60,8 +62,13 @@ extension YHCertificateAppointViewController: UITableViewDelegate, UITableViewDa ...@@ -60,8 +62,13 @@ extension YHCertificateAppointViewController: UITableViewDelegate, UITableViewDa
return cell return cell
} }
let cell = tableView.dequeueReusableCell(withIdentifier: YHSelectApplicantGroupCell.cellReuseIdentifier, for: indexPath) as! YHSelectApplicantGroupCell
if indexPath.row == 1 {
let cell = tableView.dequeueReusableCell(withIdentifier: YHSelectApplicantGroupCell.cellReuseIdentifier, for: indexPath) as! YHSelectApplicantGroupCell
return cell
}
let cell = tableView.dequeueReusableCell(withIdentifier: YHGrabNumberListCell.cellReuseIdentifier, for: indexPath) as! YHGrabNumberListCell
return cell return cell
} }
......
//
// YHGrabFileCell.swift
// galaxy
//
// Created by edy on 2024/8/19.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHGrabFileCell: UICollectionViewCell {
static let cellReuseIdentifier = "YHGrabFileCell"
lazy var selectImgView:UIImageView = {
let view = UIImageView(image: UIImage(named: ""))
return view
}()
override init(frame: CGRect) {
super.init(frame: frame)
createUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func createUI() {
self.layer.cornerRadius = 5.0
self.layer.borderWidth = 0.5
self.layer.borderColor = UIColor.separatorColor.cgColor
self.backgroundColor = UIColor.init(hex: 0xD8D8D8)
}
}
//
// YHGrabNumberInfoView.swift
// galaxy
//
// Created by edy on 2024/8/19.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
enum YHGrabItemViewType: Int {
case info
case grab
case files
}
class YHGrabItem {
var type: YHGrabItemViewType = .info
var title: String = ""
var detail: String = ""
var files:[String] = []
required init() {
}
init(type: YHGrabItemViewType, title: String, detail: String, files:[String] = []) {
self.type = type
self.title = title
self.detail = detail
self.files = files
}
}
class YHGrabNumberInfoItemView: UIView {
let dotWidth = 4.0
let titleMaxWidth = 112.0
let grabNumColor = UIColor.brandMainColor
let infoColor = UIColor.mainTextColor
let gap = 8.0
let fileWidth = floorl((KScreenWidth-48.0*2.0-8.0*3.0)/4.0)
var item: YHGrabItem = YHGrabItem()
lazy var collectionView: UICollectionView = {
let layout = UICollectionViewFlowLayout()
layout.scrollDirection = .vertical
layout.minimumInteritemSpacing = 8.0
layout.minimumLineSpacing = 16
let collectView = UICollectionView(frame:.zero, collectionViewLayout: layout)
collectView.delegate = self
collectView.dataSource = self
collectView.backgroundColor = .clear
// 注册自定义单元格
collectView.register(YHGrabFileCell.self, forCellWithReuseIdentifier: YHGrabFileCell.cellReuseIdentifier)
return collectView
}()
func updateItem(_ item: YHGrabItem) {
self.item = item
titleLabel.text = item.title
detailLabel.text = item.detail
if item.type == .grab {
detailLabel.textColor = grabNumColor
} else {
detailLabel.textColor = infoColor
}
dotView.isHidden = (item.type != .grab)
collectionView.isHidden = item.type != .files
collectionView.reloadData()
var rowCount = item.files.count/4
if item.files.count%4 != 0 {
rowCount += 1
}
collectionView.snp.remakeConstraints { make in
make.left.right.bottom.equalTo(0)
make.top.equalTo(detailLabel.snp.bottom).offset(16)
if item.type == .files {
make.height.equalTo((fileWidth+16.0)*Double(rowCount))
} else {
make.height.equalTo(0)
}
}
self.setNeedsLayout()
self.layoutIfNeeded()
}
lazy var dotView: UIView = {
let view = UIView()
view.backgroundColor = .brandMainColor
view.layer.cornerRadius = self.dotWidth/2.0
return view
}()
lazy var titleLabel: UILabel = {
let label = UILabel()
label.font = UIFont.PFSC_R(ofSize: 14)
label.textColor = .mainTextColor(alpha: 0.5)
return label
}()
lazy var detailLabel: UILabel = {
let label = UILabel()
label.numberOfLines = 0
label.textAlignment = .right
label.font = UIFont.PFSC_R(ofSize: 14)
label.textColor = self.infoColor
return label
}()
override init(frame: CGRect) {
super.init(frame: frame)
createUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func createUI() {
self.addSubview(titleLabel)
self.addSubview(detailLabel)
self.addSubview(dotView)
self.addSubview(collectionView)
titleLabel.snp.makeConstraints { make in
make.left.equalTo(0)
make.top.equalTo(0)
make.width.equalTo(titleMaxWidth)
}
detailLabel.snp.makeConstraints { make in
make.right.equalTo(0)
make.top.equalTo(0)
make.height.greaterThanOrEqualTo(20.0)
}
dotView.snp.makeConstraints { make in
make.width.height.equalTo(dotWidth)
make.centerY.equalTo(detailLabel)
make.right.equalTo(detailLabel.snp.left).offset(-4)
make.left.greaterThanOrEqualTo(titleLabel.snp.right).offset(0)
}
collectionView.snp.makeConstraints { make in
make.left.right.equalTo(0)
make.top.equalTo(detailLabel.snp.bottom).offset(16)
make.height.equalTo(fileWidth)
make.bottom.equalTo(0)
}
}
}
class YHGrabNumberInfoView: UIView {
var items:[YHGrabItem] = []
lazy var titleLabel: UILabel = {
let label = UILabel()
label.font = UIFont.PFSC_M(ofSize: 14)
label.textColor = .mainTextColor
return label
}()
lazy var lineView: UIView = {
let view = UIView()
view.backgroundColor = .separatorColor
return view
}()
override init(frame: CGRect) {
super.init(frame: frame)
createUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func createUI() {
self.backgroundColor = UIColor.init(hex: 0xF8F9FB)
self.layer.cornerRadius = kCornerRadius4
self.clipsToBounds = true
self.addSubview(titleLabel)
self.addSubview(lineView)
titleLabel.snp.makeConstraints { make in
make.left.equalTo(14)
make.top.equalTo(16)
}
lineView.snp.makeConstraints { make in
make.left.equalTo(14)
make.right.equalTo(-14)
make.height.equalTo(0.5)
make.top.equalTo(titleLabel.snp.bottom).offset(10)
}
}
func updateItems(_ items: [YHGrabItem]) {
self.items = items
var lastView: YHGrabNumberInfoItemView? = nil
for (index, item) in items.enumerated() {
let itemView = YHGrabNumberInfoItemView(frame: .zero)
self.addSubview(itemView)
itemView.updateItem(item)
itemView.snp.makeConstraints { make in
make.left.equalTo(14)
make.right.equalTo(-14)
if let last = lastView {
make.top.equalTo(last.snp.bottom).offset(0)
} else {
make.top.equalTo(lineView.snp.bottom).offset(12)
}
if index == items.count-1 {
make.bottom.equalTo(0)
}
}
lastView = itemView
}
}
}
extension YHGrabNumberInfoItemView: UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout {
// 返回单元格数量
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return item.files.count
}
// 返回每个单元格的大小
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
return CGSize(width: fileWidth, height: fileWidth)
}
// 返回自定义单元格
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: YHGrabFileCell.cellReuseIdentifier, for: indexPath) as! YHGrabFileCell
if 0 <= indexPath.item && indexPath.item < item.files.count {
let applicant = item.files[indexPath.item]
}
return cell
}
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
if 0 <= indexPath.item && indexPath.item < item.files.count {
let text = item.files[indexPath.item]
}
}
}
//
// YHGrabNumberListCell.swift
// galaxy
//
// Created by edy on 2024/8/19.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHGrabNumberListCell: UITableViewCell {
static let cellReuseIdentifier = "YHGrabNumberListCell"
var items:[String] = ["", ""]
lazy var whiteContentView: UIView = {
let view = UIView()
view.backgroundColor = .white
view.layer.cornerRadius = kCornerRadius6
return view
}()
lazy var lineView: UIView = {
let view = UIView()
view.backgroundColor = .separatorColor
return view
}()
lazy var titleLabel: UILabel = {
let label = UILabel()
label.numberOfLines = 0
label.textColor = .mainTextColor
label.font = UIFont.PFSC_M(ofSize: 17)
label.text = "赴港办理抢号中批次"
return label
}()
required init?(coder: NSCoder) {
super.init(coder: coder)
}
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
setupUI()
}
func setupUI() {
self.selectionStyle = .none
self.backgroundColor = .clear
self.contentView.backgroundColor = .clear
contentView.addSubview(whiteContentView)
whiteContentView.addSubview(titleLabel)
whiteContentView.addSubview(lineView)
whiteContentView.snp.makeConstraints { make in
make.top.equalTo(16)
make.left.equalTo(16)
make.right.equalTo(-16)
make.bottom.equalTo(0)
}
titleLabel.snp.makeConstraints { make in
make.top.equalTo(18)
make.left.equalTo(18)
make.right.equalTo(-18)
}
lineView.snp.makeConstraints { make in
make.top.equalTo(titleLabel.snp.bottom).offset(12)
make.left.right.equalToSuperview()
make.height.equalTo(0.5)
}
var lastView: YHGrabNumberListView? = nil
for (index, _) in items.enumerated() {
let listView = YHGrabNumberListView(frame: .zero)
let chineseNum = convertNumberToChineseText(index+1)
listView.titleLabel.text = "第\(chineseNum)批"
listView.membersLabel.text = "成员:刘德华德成员:刘德华德、刘德华德、刘德华德、刘德华德、刘德华德、刘德华德、刘德华德、刘德华德、刘德华德"
whiteContentView.addSubview(listView)
listView.snp.makeConstraints { make in
make.left.equalTo(18)
make.right.equalTo(-18)
if let last = lastView {
make.top.equalTo(last.snp.bottom)
} else {
make.top.equalTo(lineView.snp.bottom)
}
if index == items.count-1 {
make.bottom.equalTo(-16)
}
}
lastView = listView
}
}
//阿拉伯数字转文字
func convertNumberToChineseText(_ number: Int) -> String {
let numberFormatter = NumberFormatter()
numberFormatter.locale = Locale(identifier: "zh_CN")
numberFormatter.numberStyle = .spellOut
return numberFormatter.string(from: NSNumber(value: number)) ?? ""
}
}
//
// YHGrabNumberListView.swift
// galaxy
//
// Created by edy on 2024/8/19.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHGrabNumberListView: UIView {
lazy var lineView: UIView = {
let view = UIView()
view.backgroundColor = .separatorColor
return view
}()
lazy var markView:UIView = {
let view = UIView()
view.backgroundColor = .brandMainColor
return view
}()
lazy var titleLabel: UILabel = {
let label = UILabel()
label.font = UIFont.PFSC_M(ofSize: 16)
label.textColor = .mainTextColor
return label
}()
lazy var cancelAppointBtn: UIButton = {
let btn = UIButton()
btn.backgroundColor = .white
btn.titleLabel?.font = .PFSC_M(ofSize: 12)
btn.setTitle("取消预约", for: .normal)
btn.setTitleColor(.brandMainColor, for: .normal)
btn.layer.cornerRadius = kCornerRadius3
btn.layer.borderWidth = 1.0
btn.layer.borderColor = UIColor.brandMainColor.cgColor
return btn
}()
lazy var membersLabel: UILabel = {
let label = UILabel()
label.numberOfLines = 0
label.font = UIFont.PFSC_R(ofSize: 14)
label.text = "成员:"
label.textColor = .mainTextColor(alpha: 0.7)
return label
}()
lazy var grabInfoView: YHGrabNumberInfoView = {
let view = YHGrabNumberInfoView(frame: .zero)
view.titleLabel.text = "抢号信息"
let items = [YHGrabItem(type: .grab, title: "赴港时间:", detail: "抢号中"),
YHGrabItem(type: .grab, title: "香港入境处:", detail: "抢号中"),
YHGrabItem(type: .grab, title: "抢号反馈回执:", detail: "抢号中"),]
view.updateItems(items)
return view
}()
lazy var intentionInfoView: UIView = {
let view = YHGrabNumberInfoView(frame: .zero)
view.titleLabel.text = "意向信息"
let items = [YHGrabItem(type: .info, title: "期望赴港时间:", detail: "2023-07-17 ~ 2023-08-22"),
YHGrabItem(type: .info, title: "期望香港办证点:", detail: "屯门办事处(屯门)"),
YHGrabItem(type: .files, title: "抢号反馈回执:", detail: "", files: ["","","","",""]),]
view.updateItems(items)
return view
}()
override init(frame: CGRect) {
super.init(frame: frame)
createUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func createUI() {
self.addSubview(lineView)
self.addSubview(markView)
self.addSubview(titleLabel)
self.addSubview(cancelAppointBtn)
self.addSubview(membersLabel)
self.addSubview(grabInfoView)
self.addSubview(intentionInfoView)
lineView.snp.makeConstraints { make in
make.left.right.top.equalToSuperview()
make.height.equalTo(0.5)
}
cancelAppointBtn.snp.makeConstraints { make in
make.top.equalTo(12)
make.right.equalTo(-18)
make.size.equalTo(CGSizeMake(70, 32))
}
markView.snp.makeConstraints { make in
make.size.equalTo(CGSizeMake(3, 14))
make.left.equalTo(0)
make.centerY.equalTo(cancelAppointBtn)
}
titleLabel.snp.makeConstraints { make in
make.left.equalTo(markView.snp.right).offset(6)
make.height.equalTo(22)
make.centerY.equalTo(cancelAppointBtn)
}
membersLabel.snp.makeConstraints { make in
make.left.right.equalToSuperview()
make.top.equalTo(titleLabel.snp.bottom).offset(12)
}
grabInfoView.snp.makeConstraints { make in
make.left.right.equalToSuperview()
make.top.equalTo(membersLabel.snp.bottom).offset(16)
// make.height.equalTo(166)
}
intentionInfoView.snp.makeConstraints { make in
make.left.right.equalToSuperview()
make.top.equalTo(grabInfoView.snp.bottom).offset(16)
// make.height.equalTo(130)
make.bottom.equalTo(-16)
}
}
}
...@@ -338,6 +338,7 @@ extension YHMyViewController : UITableViewDelegate, UITableViewDataSource { ...@@ -338,6 +338,7 @@ extension YHMyViewController : UITableViewDelegate, UITableViewDataSource {
} }
if true { if true {
// test dy
let vc = YHCertificateAppointViewController() let vc = YHCertificateAppointViewController()
self.navigationController?.pushViewController(vc) self.navigationController?.pushViewController(vc)
return return
......
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