Commit e6ef2048 authored by Alex朱枝文's avatar Alex朱枝文

添加续签在港缴费指引

parent b97c8321
......@@ -223,6 +223,10 @@
044F39322CB64CC0007CA277 /* YHBottomPresentationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 044F39312CB64CC0007CA277 /* YHBottomPresentationController.swift */; };
044F39342CB6507D007CA277 /* YHVisaRenewalGuideVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 044F39332CB6507D007CA277 /* YHVisaRenewalGuideVC.swift */; };
044F39362CB6574D007CA277 /* YHVisaRenewalGuideHeaderCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 044F39352CB6574D007CA277 /* YHVisaRenewalGuideHeaderCell.swift */; };
044F39382CB77359007CA277 /* YHVisaRenewalGuideParagraphCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 044F39372CB77359007CA277 /* YHVisaRenewalGuideParagraphCell.swift */; };
044F393A2CB7772D007CA277 /* YHVisaRenewalGuideRemarkCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 044F39392CB7772D007CA277 /* YHVisaRenewalGuideRemarkCell.swift */; };
044F393C2CB777D3007CA277 /* YHVisaRenewalGuideIndentCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 044F393B2CB777D3007CA277 /* YHVisaRenewalGuideIndentCell.swift */; };
044F393E2CB7827B007CA277 /* YHVisaRenewalGuideTipsCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 044F393D2CB7827B007CA277 /* YHVisaRenewalGuideTipsCell.swift */; };
04506F552C6F57E600738EA1 /* YHFamilyMemberInfoCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04506F542C6F57E600738EA1 /* YHFamilyMemberInfoCell.swift */; };
045A08C02C37ABF500BCBABA /* YHSegmentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045A08BF2C37ABF500BCBABA /* YHSegmentView.swift */; };
045A08C22C37EB8B00BCBABA /* YHMyFileListNoneCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045A08C12C37EB8B00BCBABA /* YHMyFileListNoneCell.swift */; };
......@@ -1094,6 +1098,10 @@
044F39312CB64CC0007CA277 /* YHBottomPresentationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHBottomPresentationController.swift; sourceTree = "<group>"; };
044F39332CB6507D007CA277 /* YHVisaRenewalGuideVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHVisaRenewalGuideVC.swift; sourceTree = "<group>"; };
044F39352CB6574D007CA277 /* YHVisaRenewalGuideHeaderCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHVisaRenewalGuideHeaderCell.swift; sourceTree = "<group>"; };
044F39372CB77359007CA277 /* YHVisaRenewalGuideParagraphCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHVisaRenewalGuideParagraphCell.swift; sourceTree = "<group>"; };
044F39392CB7772D007CA277 /* YHVisaRenewalGuideRemarkCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHVisaRenewalGuideRemarkCell.swift; sourceTree = "<group>"; };
044F393B2CB777D3007CA277 /* YHVisaRenewalGuideIndentCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHVisaRenewalGuideIndentCell.swift; sourceTree = "<group>"; };
044F393D2CB7827B007CA277 /* YHVisaRenewalGuideTipsCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHVisaRenewalGuideTipsCell.swift; sourceTree = "<group>"; };
04506F542C6F57E600738EA1 /* YHFamilyMemberInfoCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHFamilyMemberInfoCell.swift; sourceTree = "<group>"; };
045A08BF2C37ABF500BCBABA /* YHSegmentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHSegmentView.swift; sourceTree = "<group>"; };
045A08C12C37EB8B00BCBABA /* YHMyFileListNoneCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMyFileListNoneCell.swift; sourceTree = "<group>"; };
......@@ -2456,6 +2464,10 @@
044F39312CB64CC0007CA277 /* YHBottomPresentationController.swift */,
044F392F2CB55D5E007CA277 /* YHDashLineView.swift */,
044F39352CB6574D007CA277 /* YHVisaRenewalGuideHeaderCell.swift */,
044F39372CB77359007CA277 /* YHVisaRenewalGuideParagraphCell.swift */,
044F39392CB7772D007CA277 /* YHVisaRenewalGuideRemarkCell.swift */,
044F393B2CB777D3007CA277 /* YHVisaRenewalGuideIndentCell.swift */,
044F393D2CB7827B007CA277 /* YHVisaRenewalGuideTipsCell.swift */,
);
path = V;
sourceTree = "<group>";
......@@ -5125,6 +5137,7 @@
04EC2F812C22888E002907D7 /* YHFriendRequestView.swift in Sources */,
044EE24C2C94396E00A2FE3A /* YHResignCertificatePassportTableViewCell.swift in Sources */,
04F2435B2C9D140C00DF2C74 /* YHHKRecordsTitleCell.swift in Sources */,
044F393A2CB7772D007CA277 /* YHVisaRenewalGuideRemarkCell.swift in Sources */,
041892242C91BCF100B9FB94 /* YHResignRoundCellType.swift in Sources */,
0430E6722C749E74000511E2 /* YHAdopterBirthViewController.swift in Sources */,
048058392C7F289700502CAA /* YHTravelCertificateItemView.swift in Sources */,
......@@ -5375,6 +5388,7 @@
04256E1D2C75C74200A37BA4 /* YHAppointHKResultModel.swift in Sources */,
04CE1ADB2C2AD91F001CB80A /* YHActivityTitleItemView.swift in Sources */,
A5FD63BF2B6250BC00D1D9DA /* YHInformationPerfectCell.swift in Sources */,
044F393E2CB7827B007CA277 /* YHVisaRenewalGuideTipsCell.swift in Sources */,
045EEE942B9F171A0022A143 /* YHPreviewInfoQuestionAndAnswerItemView.swift in Sources */,
04F5F86A2C1A95BB004A463C /* YHOtherServiceViewController.swift in Sources */,
0430E6762C74A4BE000511E2 /* YHAdopterMarryViewController.swift in Sources */,
......@@ -5522,6 +5536,7 @@
0430E6662C7487B8000511E2 /* YHAdopterTravelItemTableViewCell.swift in Sources */,
045EEEE22B9F171A0022A143 /* YHMySignatureDetailViewModel.swift in Sources */,
045EEE7D2B9F171A0022A143 /* YHWorkExpDataModel.swift in Sources */,
044F39382CB77359007CA277 /* YHVisaRenewalGuideParagraphCell.swift in Sources */,
0485DFDA2C660EFA00B50293 /* YHPrincipleRequestModel.swift in Sources */,
A5CA3F522C744A5000EB22F5 /* YHUploadCertificateTitleCell.swift in Sources */,
045EEE832B9F171A0022A143 /* YHMainInfoPreviewModel.swift in Sources */,
......@@ -5743,6 +5758,7 @@
04EA230A2BB5172F009DA928 /* YHDocumentPromptTableViewCell.swift in Sources */,
A5EB6C6F2C69FB9A0081FB6C /* YHOfficalLetterListModel.swift in Sources */,
045EEF092B9F171A0022A143 /* YHBasicInfoFillModel.swift in Sources */,
044F393C2CB777D3007CA277 /* YHVisaRenewalGuideIndentCell.swift in Sources */,
044EE2422C92EF0C00A2FE3A /* YHResignCertificateDetailEVisaViewController.swift in Sources */,
A5ACE9352B4564F7002C94D2 /* YHNetRequest.swift in Sources */,
04F243612C9D488200DF2C74 /* YHHKRecordsPersonnelSelectCell.swift in Sources */,
......
......@@ -28,6 +28,7 @@ class YHHKVisaRenewalPaymentVC: YHBaseViewController {
return view
}()
private var didShowGuideVC = false
private let orderId: Int
init(orderId: Int) {
......@@ -44,6 +45,17 @@ class YHHKVisaRenewalPaymentVC: YHBaseViewController {
setupUI()
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
if !didShowGuideVC {
didShowGuideVC = true
let didShowGuide = YHVisaRenewalGuideVC.didShowGuide
if !didShowGuide {
showGuideVC()
}
}
}
}
extension YHHKVisaRenewalPaymentVC {
......@@ -69,6 +81,17 @@ extension YHHKVisaRenewalPaymentVC {
tableView.tableHeaderView = UIView(frame: CGRect.init(x: 0, y: 0, width: KScreenWidth, height: kMargin))
tableView.tableFooterView = UIView(frame: CGRect.init(x: 0, y: 0, width: KScreenWidth, height: kMargin))
}
private func showGuideVC() {
let vc = YHVisaRenewalGuideVC()
let pc = YHBottomPresentationController(presentedViewController: vc, presenting: self)
pc.customRadius = 16.0
vc.transitioningDelegate = pc
vc.sureButtonEvent = { [weak vc] in
vc?.dismiss(animated: true)
}
present(vc, animated: true, completion: nil)
}
}
extension YHHKVisaRenewalPaymentVC: UITableViewDelegate, UITableViewDataSource {
......
......@@ -144,10 +144,11 @@ extension YHHKVisaRenewalPaymentStepView {
private func getStepLabel(_ title: String) -> UILabel {
let label = UILabel()
label.font = UIFont(name: "DIN Alternate Bold", size: 12)
label.textColor = .mainTextColor70
label.backgroundColor = UIColor(hex: 0xf4f6fa)
label.textColor = .brandMainColor
label.layer.cornerRadius = stepLabelHeight / 2.0
label.clipsToBounds = true
label.layer.borderWidth = 1
label.layer.borderColor = UIColor.brandMainColor16.cgColor
label.text = title
label.textAlignment = .center
return label
......@@ -156,13 +157,13 @@ extension YHHKVisaRenewalPaymentStepView {
private func getStepNameLabel(_ title: String) -> UILabel {
let label = UILabel()
label.font = .PFSC_R(ofSize: 12)
label.textColor = .mainTextColor70
label.textColor = .mainTextColor
label.text = title
return label
}
private func getDashLineView() -> YHDashLineView {
let view = YHDashLineView(strokeColor: UIColor(hex: 0x121A26, alpha: 0.12).cgColor, lineWidth: 1, lineDashPattern: [2, 2])
let view = YHDashLineView(strokeColor: UIColor.brandMainColor16.cgColor, lineWidth: 1, lineDashPattern: [2, 2])
return view
}
}
//
// YHVisaRenewalGuideIndentCell.swift
// galaxy
//
// Created by alexzzw on 2024/10/10.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHVisaRenewalGuideIndentCell: UITableViewCell {
static let cellReuseIdentifier = "YHVisaRenewalGuideIndentCell"
private let infoTitleLabelHorizontalOffset: CGFloat = 5
private let infoTitleLabelToDetail: CGFloat = 4
private lazy var subContainerView: YHBaseDynamicCornerRadiusView = {
let view = YHBaseDynamicCornerRadiusView(cornerRadius: 2, corner: .allCorners)
view.backgroundColor = UIColor(hex: 0xF4F6FA)
return view
}()
private lazy var infoTitleLabel: UILabel = {
let label = UILabel()
label.textAlignment = .center
label.font = .PFSC_M(ofSize: 13)
label.textColor = .brandMainColor
return label
}()
private lazy var infoDetailLabel: UILabel = {
let label = UILabel()
label.font = .PFSC_R(ofSize: 13)
label.textColor = .mainTextColor70
label.numberOfLines = 0
return label
}()
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
setupUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func setupCellInfo(title: String, detail: String) {
infoTitleLabel.text = title
infoTitleLabel.sizeToFit()
subContainerView.sizeToFit()
let paragraphStyle = NSMutableParagraphStyle()
// 设置首行缩进量,单位为points
paragraphStyle.firstLineHeadIndent = infoTitleLabel.bounds.size.width + infoTitleLabelHorizontalOffset * 2 + infoTitleLabelToDetail
paragraphStyle.headIndent = 0
paragraphStyle.lineHeightMultiple = 1.07
let attributedText = NSAttributedString(
string: detail,
attributes: [NSAttributedString.Key.paragraphStyle: paragraphStyle]
)
infoDetailLabel.attributedText = attributedText
}
}
extension YHVisaRenewalGuideIndentCell {
private func setupUI() {
selectionStyle = .none
contentView.addSubview(subContainerView)
subContainerView.addSubview(infoTitleLabel)
contentView.addSubview(infoDetailLabel)
subContainerView.snp.makeConstraints { make in
make.top.equalToSuperview().offset(20)
make.left.equalToSuperview().offset(20)
}
infoTitleLabel.snp.makeConstraints { make in
make.left.equalToSuperview().offset(infoTitleLabelHorizontalOffset)
make.right.equalToSuperview().offset(-infoTitleLabelHorizontalOffset)
make.top.bottom.equalToSuperview()
}
infoDetailLabel.snp.makeConstraints { make in
make.top.equalTo(subContainerView)
make.left.equalTo(subContainerView)
make.right.lessThanOrEqualToSuperview().offset(-20)
make.bottom.equalToSuperview()
}
}
}
//
// YHVisaRenewalGuideParagraphCell.swift
// galaxy
//
// Created by alexzzw on 2024/10/10.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHVisaRenewalGuideParagraphCell: UITableViewCell {
static let cellReuseIdentifier = "YHVisaRenewalGuideParagraphCell"
private lazy var infoTitleLabel: UILabel = {
let label = UILabel()
label.font = .PFSC_B(ofSize: 16)
label.textColor = .mainTextColor
label.numberOfLines = 0
return label
}()
private lazy var infoDetailLabel: UILabel = {
let label = UILabel()
label.font = .PFSC_R(ofSize: 14)
label.textColor = .mainTextColor70
label.numberOfLines = 0
return label
}()
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
setupUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func setupCellInfo(title: String, detail: String) {
infoTitleLabel.text = title
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.lineHeightMultiple = 1.07
let attributedText = NSAttributedString(
string: detail,
attributes: [NSAttributedString.Key.paragraphStyle: paragraphStyle]
)
infoDetailLabel.attributedText = attributedText
}
}
extension YHVisaRenewalGuideParagraphCell {
private func setupUI() {
selectionStyle = .none
contentView.addSubview(infoTitleLabel)
contentView.addSubview(infoDetailLabel)
infoTitleLabel.snp.makeConstraints { make in
make.top.equalToSuperview().offset(20)
make.left.equalToSuperview().offset(20)
make.right.lessThanOrEqualToSuperview().offset(-20)
}
infoDetailLabel.snp.makeConstraints { make in
make.top.equalTo(infoTitleLabel.snp.bottom).offset(20)
make.left.equalTo(infoTitleLabel)
make.right.lessThanOrEqualToSuperview().offset(-20)
make.bottom.equalToSuperview()
}
}
}
//
// YHVisaRenewalGuideRemarkCell.swift
// galaxy
//
// Created by alexzzw on 2024/10/10.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHVisaRenewalGuideRemarkCell: UITableViewCell {
static let cellReuseIdentifier = "YHVisaRenewalGuideRemarkCell"
private lazy var infoDetailLabel: UILabel = {
let label = UILabel()
label.font = .PFSC_R(ofSize: 14)
label.textColor = .mainTextColor70
label.numberOfLines = 0
return label
}()
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
setupUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func setupCellInfo(detail: String) {
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.lineHeightMultiple = 1.07
let attributedText = NSAttributedString(
string: detail,
attributes: [NSAttributedString.Key.paragraphStyle: paragraphStyle]
)
infoDetailLabel.attributedText = attributedText
}
}
extension YHVisaRenewalGuideRemarkCell {
private func setupUI() {
selectionStyle = .none
contentView.addSubview(infoDetailLabel)
infoDetailLabel.snp.makeConstraints { make in
make.top.equalToSuperview().offset(12)
make.left.equalToSuperview().offset(20)
make.right.lessThanOrEqualToSuperview().offset(-20)
make.bottom.equalToSuperview()
}
}
}
//
// YHVisaRenewalGuideTipsCell.swift
// galaxy
//
// Created by alexzzw on 2024/10/10.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
import AttributedString
class YHVisaRenewalGuideTipsCell: UITableViewCell {
static let cellReuseIdentifier = "YHVisaRenewalGuideTipsCell"
private lazy var iconView: UIView = {
let view = UIView()
view.backgroundColor = .brandMainColor
return view
}()
private lazy var infoTitleLabel: UILabel = {
let label = UILabel()
label.font = .PFSC_B(ofSize: 14)
label.textColor = .mainTextColor
return label
}()
private lazy var infoDetailLabel: UILabel = {
let label = UILabel()
label.font = .PFSC_R(ofSize: 13)
label.textColor = .mainTextColor70
label.numberOfLines = 0
return label
}()
private lazy var subContainerView: YHBaseDynamicCornerRadiusView = {
let view = YHBaseDynamicCornerRadiusView(cornerRadius: 6, corner: .allCorners)
view.backgroundColor = .contentBkgColor
return view
}()
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
setupUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func setupCellInfo(title: String, detail: ASAttributedString) {
infoTitleLabel.text = title
infoDetailLabel.attributed.text = detail
}
}
extension YHVisaRenewalGuideTipsCell {
private func setupUI() {
selectionStyle = .none
contentView.addSubview(subContainerView)
subContainerView.addSubview(iconView)
subContainerView.addSubview(infoTitleLabel)
subContainerView.addSubview(infoDetailLabel)
subContainerView.setContentHuggingPriority(.defaultLow, for: .vertical)
subContainerView.snp.makeConstraints { make in
make.top.equalToSuperview().offset(20)
make.left.equalToSuperview().offset(20)
make.right.equalToSuperview().offset(-20)
make.bottom.equalToSuperview()
}
iconView.snp.makeConstraints { make in
make.top.equalToSuperview().offset(18)
make.left.equalToSuperview()
make.width.equalTo(4)
make.height.equalTo(14)
}
infoTitleLabel.snp.makeConstraints { make in
make.centerY.equalTo(iconView)
make.left.equalTo(iconView.snp.right).offset(12)
make.right.lessThanOrEqualToSuperview().offset(-16)
}
infoDetailLabel.snp.makeConstraints { make in
make.top.equalTo(infoTitleLabel.snp.bottom).offset(12)
make.left.equalTo(infoTitleLabel)
make.right.lessThanOrEqualToSuperview().offset(-16)
make.bottom.equalToSuperview().offset(-16)
}
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "resign_visa_guide_bg@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "resign_visa_guide_bg@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "resign_visa_guide_tips@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "resign_visa_guide_tips@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "resign_visa_guide_title@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "resign_visa_guide_title@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "resign_visa_guide_warn@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "resign_visa_guide_warn@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