Commit e6d2080f authored by pete谢兆麟's avatar pete谢兆麟

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

parents ce705927 1f2fba82
......@@ -109,6 +109,11 @@
0425E6442BA95FE100A5E763 /* YHSchemeTableHeadView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0425E6432BA95FE100A5E763 /* YHSchemeTableHeadView.swift */; };
0425E6462BA9678E00A5E763 /* YHSchemeHeadTotalScoreView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0425E6452BA9678E00A5E763 /* YHSchemeHeadTotalScoreView.swift */; };
0425E6482BA96B4100A5E763 /* YHSchemeHeadScoreItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0425E6472BA96B4100A5E763 /* YHSchemeHeadScoreItemView.swift */; };
042B20D22CEADBD800655093 /* YHImproveHKView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 042B20D12CEADBD800655093 /* YHImproveHKView.swift */; };
042B20D42CEAE5E900655093 /* YHImproveTargetListCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 042B20D32CEAE5E900655093 /* YHImproveTargetListCell.swift */; };
042B20D62CEB239400655093 /* YHIHKIdentityPlanCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 042B20D52CEB239400655093 /* YHIHKIdentityPlanCell.swift */; };
042B20D82CEB325900655093 /* YHImproveSchemeTemplateListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 042B20D72CEB325900655093 /* YHImproveSchemeTemplateListView.swift */; };
042B20DA2CEB337100655093 /* YHImproveSchemeTemplateListCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 042B20D92CEB337100655093 /* YHImproveSchemeTemplateListCell.swift */; };
0430E63B2C6DA106000511E2 /* CGFloat+Extention.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0430E63A2C6DA106000511E2 /* CGFloat+Extention.swift */; };
0430E6422C72E120000511E2 /* YHAddAdoptersViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0430E6412C72E120000511E2 /* YHAddAdoptersViewController.swift */; };
0430E6442C72E6A1000511E2 /* YHAdopterMainTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0430E6432C72E6A1000511E2 /* YHAdopterMainTableViewCell.swift */; };
......@@ -505,6 +510,8 @@
047F3DF02CE88380001B2A6D /* YHMaterialListCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 047F3DEF2CE88380001B2A6D /* YHMaterialListCell.swift */; };
047F3DF22CE888EF001B2A6D /* YHDocumentListCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 047F3DF12CE888EF001B2A6D /* YHDocumentListCell.swift */; };
047F3DF42CE88ACD001B2A6D /* YHImproveSchemeCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 047F3DF32CE88ACD001B2A6D /* YHImproveSchemeCell.swift */; };
047F3DF62CE8A1C4001B2A6D /* YHModifySchemeInfoCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 047F3DF52CE8A1C4001B2A6D /* YHModifySchemeInfoCell.swift */; };
047F3DF82CE8A570001B2A6D /* YHImproveSchemeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 047F3DF72CE8A570001B2A6D /* YHImproveSchemeViewController.swift */; };
0480582F2C7CA77900502CAA /* YHDisappointHKAlertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0480582E2C7CA77900502CAA /* YHDisappointHKAlertView.swift */; };
048058312C7DBDC900502CAA /* YHTravelCertificateTipsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 048058302C7DBDC900502CAA /* YHTravelCertificateTipsView.swift */; };
048058332C7DC0CF00502CAA /* YHTravelCertificateTipsCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 048058322C7DC0CF00502CAA /* YHTravelCertificateTipsCell.swift */; };
......@@ -1116,6 +1123,11 @@
0425E6432BA95FE100A5E763 /* YHSchemeTableHeadView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHSchemeTableHeadView.swift; sourceTree = "<group>"; };
0425E6452BA9678E00A5E763 /* YHSchemeHeadTotalScoreView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHSchemeHeadTotalScoreView.swift; sourceTree = "<group>"; };
0425E6472BA96B4100A5E763 /* YHSchemeHeadScoreItemView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHSchemeHeadScoreItemView.swift; sourceTree = "<group>"; };
042B20D12CEADBD800655093 /* YHImproveHKView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHImproveHKView.swift; sourceTree = "<group>"; };
042B20D32CEAE5E900655093 /* YHImproveTargetListCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHImproveTargetListCell.swift; sourceTree = "<group>"; };
042B20D52CEB239400655093 /* YHIHKIdentityPlanCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHIHKIdentityPlanCell.swift; sourceTree = "<group>"; };
042B20D72CEB325900655093 /* YHImproveSchemeTemplateListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHImproveSchemeTemplateListView.swift; sourceTree = "<group>"; };
042B20D92CEB337100655093 /* YHImproveSchemeTemplateListCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHImproveSchemeTemplateListCell.swift; sourceTree = "<group>"; };
0430E63A2C6DA106000511E2 /* CGFloat+Extention.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CGFloat+Extention.swift"; sourceTree = "<group>"; };
0430E6412C72E120000511E2 /* YHAddAdoptersViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHAddAdoptersViewController.swift; sourceTree = "<group>"; };
0430E6432C72E6A1000511E2 /* YHAdopterMainTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHAdopterMainTableViewCell.swift; sourceTree = "<group>"; };
......@@ -1515,6 +1527,8 @@
047F3DEF2CE88380001B2A6D /* YHMaterialListCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMaterialListCell.swift; sourceTree = "<group>"; };
047F3DF12CE888EF001B2A6D /* YHDocumentListCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHDocumentListCell.swift; sourceTree = "<group>"; };
047F3DF32CE88ACD001B2A6D /* YHImproveSchemeCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHImproveSchemeCell.swift; sourceTree = "<group>"; };
047F3DF52CE8A1C4001B2A6D /* YHModifySchemeInfoCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHModifySchemeInfoCell.swift; sourceTree = "<group>"; };
047F3DF72CE8A570001B2A6D /* YHImproveSchemeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHImproveSchemeViewController.swift; sourceTree = "<group>"; };
0480582E2C7CA77900502CAA /* YHDisappointHKAlertView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHDisappointHKAlertView.swift; sourceTree = "<group>"; };
048058302C7DBDC900502CAA /* YHTravelCertificateTipsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHTravelCertificateTipsView.swift; sourceTree = "<group>"; };
048058322C7DC0CF00502CAA /* YHTravelCertificateTipsCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHTravelCertificateTipsCell.swift; sourceTree = "<group>"; };
......@@ -3645,8 +3659,14 @@
047F3DEF2CE88380001B2A6D /* YHMaterialListCell.swift */,
047F3DF12CE888EF001B2A6D /* YHDocumentListCell.swift */,
047F3DF32CE88ACD001B2A6D /* YHImproveSchemeCell.swift */,
047F3DF52CE8A1C4001B2A6D /* YHModifySchemeInfoCell.swift */,
042B20D32CEAE5E900655093 /* YHImproveTargetListCell.swift */,
042B20D52CEB239400655093 /* YHIHKIdentityPlanCell.swift */,
042B20D12CEADBD800655093 /* YHImproveHKView.swift */,
047F3DE52CE83A0F001B2A6D /* YHHKRequiredItemView.swift */,
047F3DEB2CE84BD5001B2A6D /* YHImproveRequireItemView.swift */,
042B20D72CEB325900655093 /* YHImproveSchemeTemplateListView.swift */,
042B20D92CEB337100655093 /* YHImproveSchemeTemplateListCell.swift */,
);
path = V;
sourceTree = "<group>";
......@@ -3655,6 +3675,7 @@
isa = PBXGroup;
children = (
047F3DE12CE72524001B2A6D /* YHMyNewSchemeViewController.swift */,
047F3DF72CE8A570001B2A6D /* YHImproveSchemeViewController.swift */,
);
path = C;
sourceTree = "<group>";
......@@ -5646,6 +5667,7 @@
048058352C7DC7AC00502CAA /* YHMyTestViewController.swift in Sources */,
045EEEA72B9F171A0022A143 /* YHWorkExperienceViewController.swift in Sources */,
A5FD63BD2B623C2C00D1D9DA /* YHInformationPerfectListVC.swift in Sources */,
047F3DF82CE8A570001B2A6D /* YHImproveSchemeViewController.swift in Sources */,
04CA2BEA2CB7708E00F36DE7 /* YHResignUploadTravelCardListheadView.swift in Sources */,
045EEE8D2B9F171A0022A143 /* YHPreviewInfoCell.swift in Sources */,
047AA3E22C4A66CE009C4554 /* YHLifeItemTableViewCell.swift in Sources */,
......@@ -5714,6 +5736,7 @@
04E86E662B86EB6F00A35F4B /* YHLoginManager.swift in Sources */,
04A7BD112BA4218B00BD35A2 /* YHMyDocumentsListViewModel.swift in Sources */,
0472CBA82C5A11640096F48F /* YHPrincipleUploadListVC.swift in Sources */,
047F3DF62CE8A1C4001B2A6D /* YHModifySchemeInfoCell.swift in Sources */,
A5EF21352BA6E05E005027E6 /* YHQuestionAndAnswerViewController.swift in Sources */,
A5EF213B2BA6EC98005027E6 /* YHQuestionAndAnswerCell.swift in Sources */,
04912F702CB765FE00CC3105 /* YHResignAppointTimeViewController.swift in Sources */,
......@@ -5819,6 +5842,7 @@
04E41DE82BD240570077EAE3 /* YHOrderDetailViewController.swift in Sources */,
A5FD63C52B637EE000D1D9DA /* YHSubmitAllInfoCheckView.swift in Sources */,
045EEF222B9F171A0022A143 /* YHImagePickerView.swift in Sources */,
042B20D82CEB325900655093 /* YHImproveSchemeTemplateListView.swift in Sources */,
A5ACE9442B4564F7002C94D2 /* Array+Extension.swift in Sources */,
04F243632C9D4C9700DF2C74 /* YHBaseCornerRadiusBorderView.swift in Sources */,
0435FA812BA186D600024EAE /* YHMyFileMethodTableViewCell.swift in Sources */,
......@@ -5847,6 +5871,7 @@
A5ACE9462B4564F7002C94D2 /* YHHUDSquareBaseView.swift in Sources */,
04F243512C9BB89200DF2C74 /* YHHKRecordsSectionItemBaseCell.swift in Sources */,
04FB01D42C2404F50040115D /* YHMyFriendsNoDataView.swift in Sources */,
042B20D42CEAE5E900655093 /* YHImproveTargetListCell.swift in Sources */,
04D144762C0452E200EE3758 /* YHOneKeyLoginManager.swift in Sources */,
A5551FFE2B4C26CE00510980 /* YHBaseViewModel.swift in Sources */,
04B360F72C646B4F001EB053 /* YHPrincipleEnvelopeModel.swift in Sources */,
......@@ -5968,6 +5993,7 @@
04CA2BF42CB7B33500F36DE7 /* YHResignUploadTravelGuideView.swift in Sources */,
A5ACE93F2B4564F7002C94D2 /* UIViewController+Extension.swift in Sources */,
A53B61192BB3C9960010B573 /* YHMyDocListHeaderView.swift in Sources */,
042B20D22CEADBD800655093 /* YHImproveHKView.swift in Sources */,
04F243662C9D5CB200DF2C74 /* YHResignDocumentViewModel.swift in Sources */,
A567E5B22BD7643D00D5D5A0 /* YHHomeBannerCollectionViewCell.swift in Sources */,
0430E68A2C77415D000511E2 /* YHAdopterAddModel.swift in Sources */,
......@@ -6079,6 +6105,7 @@
04CE1AD22C2AD91F001CB80A /* YHActivityModel.swift in Sources */,
044EE23A2C92BEF900A2FE3A /* YHResignCertificateListViewModel.swift in Sources */,
04256E002C7440A500A37BA4 /* YHFamilyWarmTipsCell.swift in Sources */,
042B20DA2CEB337100655093 /* YHImproveSchemeTemplateListCell.swift in Sources */,
0445E6AF2BE9CFF6003C52F9 /* YHAppVersionForceUpdateView.swift in Sources */,
040AE9882CEB6DAC00310241 /* YHWorkExperiencePositionModel.swift in Sources */,
04213B272C48C95E00797900 /* YHHomeIdentityCell.swift in Sources */,
......@@ -6323,6 +6350,7 @@
045EEEE62B9F171A0022A143 /* YHMySignatureListViewController.swift in Sources */,
049537852BA9B28500AF7E59 /* YHCertificateTemplateCell.swift in Sources */,
A582B23D2BB944ED009D098C /* YHHKPlanDoctumentVC.swift in Sources */,
042B20D62CEB239400655093 /* YHIHKIdentityPlanCell.swift in Sources */,
045EEEE12B9F171A0022A143 /* YHMySignatureListViewModel.swift in Sources */,
04A7BD152BA4361700BD35A2 /* YHMyDocumentDetailModel.swift in Sources */,
045EEEA02B9F171A0022A143 /* YHWorkItemListModel.swift in Sources */,
......
......@@ -23,7 +23,6 @@ class AppDelegate: UIResponder, UIApplicationDelegate, WXApiDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
Thread.sleep(forTimeInterval: 0.5) // 应产品同学Nick要求 启动页时间展示长点
......
......@@ -34,8 +34,8 @@ class YHAliYunLogManager {
static let SLS_PROJECT_DEV = "dev-yinhe-app"
static let SLS_PROJECT_RELEASE = "release-yinhe-app"
static let SLS_LOG_STORE = "yinhe_logstore"
static let SLS_KEY = "LTAI5tPV7UEB2Dqyaippchbq"
static let SLS_SECRET = "K6AOXrVnLzb0Zn6HtHm9qFv8DfmEFv"
static let SLS_KEY = "LTAI5tRiRFQGiM3DtDVpjHWr"
static let SLS_SECRET = "f9Uc3LNhxDWwlBS7rmdg4UPCTUL57M"
static let shared = createManager()
private var config: LogProducerConfig?
......
//
// YHImproveSchemeViewController.swift
// galaxy
//
// Created by Dufet on 2024/11/16.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHImproveSchemeViewController: YHBaseViewController {
var items:[String] = ["", "", ""]
lazy var bgImgView: UIImageView = {
let view = UIImageView(image: UIImage(named: "my_scheme_improve_list_bg"))
view.frame = CGRectMake(0, 0, KScreenWidth, 528)
return view
}()
lazy var headerView: UIView = {
let view = UIView()
view.addSubview(greetLabel)
let tipsLabel = UILabel()
tipsLabel.numberOfLines = 0
tipsLabel.font = UIFont.PFSC_R(ofSize: 14)
tipsLabel.textColor = .white
tipsLabel.text = "您好,根据您的信息,这是我们为您定制的提升方案,方案详情如下:"
view.addSubview(tipsLabel)
let leftImgV = UIImageView(image: UIImage(named: "my_scheme_improve_wheatear_left"))
let rightImgV = UIImageView(image: UIImage(named: "my_scheme_improve_wheatear_right"))
view.addSubview(leftImgV)
view.addSubview(rightImgV)
greetLabel.snp.makeConstraints { make in
make.top.equalTo(32)
make.left.equalTo(leftImgV.snp.right).offset(8)
make.right.equalTo(rightImgV.snp.left).offset(-8)
make.height.equalTo(34)
}
leftImgV.snp.makeConstraints { make in
make.width.equalTo(14)
make.height.equalTo(24)
make.left.equalTo(24)
make.centerY.equalTo(greetLabel)
}
rightImgV.snp.makeConstraints { make in
make.width.equalTo(14)
make.height.equalTo(24)
make.centerY.equalTo(greetLabel)
}
tipsLabel.snp.makeConstraints { make in
make.left.equalTo(24)
make.right.equalTo(-24)
make.top.equalTo(greetLabel.snp.bottom).offset(12)
make.bottom.equalTo(-32)
}
return view
}()
lazy var greetLabel: UILabel = {
let label = UILabel()
label.font = UIFont.PFSC_B(ofSize: 24)
label.textColor = .init(hex: 0xFFDEC8)
label.text = "尊敬的先生"
return label
}()
lazy var tableView: UITableView = {
let tableView = UITableView(frame:.zero, style:.grouped)
if #available(iOS 11.0, *) {
tableView.contentInsetAdjustmentBehavior = .never
}
tableView.showsVerticalScrollIndicator = false
tableView.backgroundColor = .clear
tableView.separatorStyle = .none
tableView.delegate = self
tableView.dataSource = self
tableView.register(UITableViewCell.self, forCellReuseIdentifier: "UITableViewCell")
tableView.register(YHImproveTargetListCell.self, forCellReuseIdentifier: YHImproveTargetListCell.cellReuseIdentifier)
tableView.register(YHIHKIdentityPlanCell.self, forCellReuseIdentifier: YHIHKIdentityPlanCell.cellReuseIdentifier)
tableView.bounces = false
return tableView
}()
lazy var bottomView: UIView = {
let view = UIView()
view.backgroundColor = .white
view.addSubview(leftBtn)
view.addSubview(rightBtn)
leftBtn.snp.makeConstraints { make in
make.top.equalTo(8)
make.left.equalTo(16)
make.width.equalTo(rightBtn)
make.right.equalTo(rightBtn.snp.left).offset(-10)
make.height.equalTo(46)
}
rightBtn.snp.makeConstraints { make in
make.top.equalTo(8)
make.right.equalTo(-16)
make.height.equalTo(46)
}
return view
}()
lazy var rightBtn: UIButton = {
let btn = UIButton()
btn.backgroundColor = .brandMainColor
btn.setTitle("重新选择提升目标", for: .normal)
btn.setTitleColor(.white, for: .normal)
btn.titleLabel?.font = UIFont.PFSC_M(ofSize: 16)
// btn.addTarget(self, action: #selector(didSaveBtnClicked), for: .touchUpInside)
btn.layer.cornerRadius = kCornerRadius3
return btn
}()
lazy var leftBtn: UIButton = {
let btn = UIButton()
btn.backgroundColor = .white
btn.layer.borderColor = UIColor.brandMainColor.cgColor
btn.layer.borderWidth = 1.0
btn.setTitle("修改信息", for: .normal)
btn.setTitleColor(.brandMainColor, for: .normal)
btn.titleLabel?.font = UIFont.PFSC_M(ofSize: 16)
// btn.addTarget(self, action: #selector(didSaveBtnClicked), for: .touchUpInside)
btn.layer.cornerRadius = kCornerRadius3
return btn
}()
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .init(hex: 0xF6F7FA)
gk_navTitle = "提升方案"
gk_navTitleColor = .white
gk_backImage = UIImage(named: "back_icon_white")
gk_navigationBar.backgroundColor = .clear
self.view.addSubview(bgImgView)
self.view.addSubview(tableView)
self.view.addSubview(bottomView)
tableView.snp.makeConstraints { make in
make.left.right.equalToSuperview()
make.top.equalTo(k_Height_NavigationtBarAndStatuBar)
make.bottom.equalTo(bottomView.snp.top)
}
bottomView.snp.makeConstraints { make in
make.left.right.bottom.equalToSuperview()
make.height.equalTo(64+k_Height_safeAreaInsetsBottom())
}
view.bringSubviewToFront(gk_navigationBar)
tableView.reloadData()
}
}
extension YHImproveSchemeViewController : UITableViewDelegate, UITableViewDataSource {
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return items.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if 0 <= indexPath.row && indexPath.row < items.count {
let item = items[indexPath.row]
if indexPath.row == items.count-1 {
let cell = tableView.dequeueReusableCell(withIdentifier: YHIHKIdentityPlanCell.cellReuseIdentifier, for: indexPath) as! YHIHKIdentityPlanCell
return cell
}
let cell = tableView.dequeueReusableCell(withIdentifier: YHImproveTargetListCell.cellReuseIdentifier, for: indexPath) as! YHImproveTargetListCell
return cell
}
let defaultCell = tableView.dequeueReusableCell(withIdentifier: "UITableViewCell", for: indexPath)
return defaultCell
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableView.automaticDimension
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
}
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
return self.headerView
}
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return UITableView.automaticDimension
}
func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
let view = UIView()
return view
}
func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return 12.0
}
}
extension YHImproveSchemeViewController: UIScrollViewDelegate {
func scrollViewDidScroll(_ scrollView: UIScrollView) {
let scrollY = scrollView.contentOffset.y
if scrollY >= 0.0 {
bgImgView.frame.origin.y = -scrollY
} else {
bgImgView.frame.origin.y = 0.0
}
if scrollY >= 44.0 {
gk_navigationBar.backgroundColor = .init(hex: 0x082F84)
} else {
gk_navigationBar.backgroundColor = .clear
}
}
}
......@@ -37,7 +37,7 @@ class YHMyNewSchemeViewController: YHBaseViewController {
tableView.contentInsetAdjustmentBehavior = .never
}
tableView.showsVerticalScrollIndicator = false
tableView.backgroundColor = .init(hex: 0x090B26)
tableView.backgroundColor = .clear
tableView.separatorStyle = .none
tableView.delegate = self
tableView.dataSource = self
......@@ -49,11 +49,84 @@ class YHMyNewSchemeViewController: YHBaseViewController {
tableView.register(YHDocumentListCell.self, forCellReuseIdentifier: YHDocumentListCell.cellReuseIdentifier)
tableView.register(YHImproveSchemeCell.self, forCellReuseIdentifier: YHImproveSchemeCell.cellReuseIdentifier)
tableView.register(YHImproveTargetCell.self, forCellReuseIdentifier: YHImproveTargetCell.cellReuseIdentifier)
tableView.register(YHModifySchemeInfoCell.self, forCellReuseIdentifier: YHModifySchemeInfoCell.cellReuseIdentifier)
tableView.bounces = false
tableView.tableFooterView = bottomLogoView
return tableView
}()
lazy var bgView: UIView = {
let view = UIView()
view.backgroundColor = .red
let bgImgView = UIImageView(image: UIImage(named: "my_scheme_head_img"))
view.addSubview(bgImgView)
let leftWheatearImgV = UIImageView(image: UIImage(named: "my_scheme_wheatear_left"))
view.addSubview(leftWheatearImgV)
let rightWheatearImgV = UIImageView(image: UIImage(named: "my_scheme_wheatear_right"))
view.addSubview(rightWheatearImgV)
view.addSubview(titleLabel)
view.addSubview(subTitleLabel)
bgImgView.snp.makeConstraints { make in
make.left.equalTo(-0)
make.right.equalTo(0)
make.top.equalToSuperview()
make.height.equalTo(416.0)
}
leftWheatearImgV.snp.makeConstraints { make in
make.left.equalTo(35)
make.top.equalTo(27)
make.width.equalTo(65)
make.height.equalTo(80)
}
rightWheatearImgV.snp.makeConstraints { make in
make.right.equalTo(-35)
make.top.equalTo(27)
make.width.equalTo(65)
make.height.equalTo(80)
}
titleLabel.snp.makeConstraints { make in
make.top.equalTo(27)
make.height.equalTo(34)
make.centerX.equalToSuperview()
}
subTitleLabel.snp.makeConstraints { make in
make.left.equalTo(leftWheatearImgV.snp.left).offset(38)
make.right.equalTo(rightWheatearImgV.snp.right).offset(-38)
make.top.equalTo(titleLabel.snp.bottom).offset(8)
}
return view
}()
lazy var titleLabel: UILabel = {
let label = UILabel()
label.font = UIFont.PFSC_B(ofSize: 24)
label.textColor = .white
label.text = "尊敬的先生"
return label
}()
lazy var subTitleLabel: UILabel = {
let label = UILabel()
label.numberOfLines = 0
label.font = UIFont.PFSC_R(ofSize: 14)
label.textColor = .white
label.textAlignment = .center
label.text = "您好,根据您的信息,这是我们为您定制的申请方案,方案详情如下:"
return label
}()
lazy var bottomLogoView: UIView = {
let view = UIView(frame: CGRectMake(0, 0, KScreenWidth, 66+k_Height_safeAreaInsetsBottom()))
......@@ -94,11 +167,20 @@ class YHMyNewSchemeViewController: YHBaseViewController {
gk_navTitleColor = .white
gk_navBarAlpha = 1
gk_navBackgroundImage = UIImage(named: "my_scheme_nav")
gk_backImage = UIImage(named: "nav_icon_back_white")
gk_backImage = UIImage(named: "back_icon_white")
view.backgroundColor = .init(hex: 0x090B26)
self.view.addSubview(bgView)
self.view.addSubview(tableView)
bgView.snp.makeConstraints { make in
make.left.right.equalToSuperview()
make.top.equalTo(k_Height_NavigationtBarAndStatuBar)
make.height.equalTo(415)
}
tableView.snp.makeConstraints { make in
make.left.right.bottom.equalToSuperview()
make.left.equalTo(8.5)
make.right.equalTo(-8.5)
make.bottom.equalToSuperview()
make.top.equalTo(k_Height_NavigationtBarAndStatuBar)
}
tableView.reloadData()
......@@ -152,43 +234,65 @@ extension YHMyNewSchemeViewController : UITableViewDelegate, UITableViewDataSour
if 0 <= indexPath.section, indexPath.section < items.count {
let arr = items[indexPath.section]
var targetCell: UITableViewCell? = nil
if 0 <= indexPath.row && indexPath.row < arr.count {
let item = arr[indexPath.row]
if item.type == .evaluate {
let evaluationCell = tableView.dequeueReusableCell(withIdentifier: YHComprehensiveEvaluationCell.cellReuseIdentifier, for: indexPath) as! YHComprehensiveEvaluationCell
return evaluationCell
let cell = tableView.dequeueReusableCell(withIdentifier: YHComprehensiveEvaluationCell.cellReuseIdentifier, for: indexPath) as! YHComprehensiveEvaluationCell
targetCell = cell
return cell
}
if item.type == .hkRequireList {
let listCell = tableView.dequeueReusableCell(withIdentifier: YHHKRequiredItemListCell.cellReuseIdentifier, for: indexPath) as! YHHKRequiredItemListCell
return listCell
let cell = tableView.dequeueReusableCell(withIdentifier: YHHKRequiredItemListCell.cellReuseIdentifier, for: indexPath) as! YHHKRequiredItemListCell
targetCell = cell
return cell
}
if item.type == .industryLocation {
let listCell = tableView.dequeueReusableCell(withIdentifier: YHIndustryLocationCell.cellReuseIdentifier, for: indexPath) as! YHIndustryLocationCell
return listCell
let cell = tableView.dequeueReusableCell(withIdentifier: YHIndustryLocationCell.cellReuseIdentifier, for: indexPath) as! YHIndustryLocationCell
targetCell = cell
return cell
}
if item.type == .materialList {
let listCell = tableView.dequeueReusableCell(withIdentifier: YHMaterialListCell.cellReuseIdentifier, for: indexPath) as! YHMaterialListCell
return listCell
let cell = tableView.dequeueReusableCell(withIdentifier: YHMaterialListCell.cellReuseIdentifier, for: indexPath) as! YHMaterialListCell
targetCell = cell
return cell
}
if item.type == .documentList {
let listCell = tableView.dequeueReusableCell(withIdentifier: YHDocumentListCell.cellReuseIdentifier, for: indexPath) as! YHDocumentListCell
return listCell
let cell = tableView.dequeueReusableCell(withIdentifier: YHDocumentListCell.cellReuseIdentifier, for: indexPath) as! YHDocumentListCell
targetCell = cell
return cell
}
if item.type == .improveScheme {
let listCell = tableView.dequeueReusableCell(withIdentifier: YHImproveSchemeCell.cellReuseIdentifier, for: indexPath) as! YHImproveSchemeCell
return listCell
let cell = tableView.dequeueReusableCell(withIdentifier: YHImproveSchemeCell.cellReuseIdentifier, for: indexPath) as! YHImproveSchemeCell
targetCell = cell
return cell
}
if item.type == .modifyInfo {
let cell = tableView.dequeueReusableCell(withIdentifier: YHModifySchemeInfoCell.cellReuseIdentifier, for: indexPath) as! YHModifySchemeInfoCell
targetCell = cell
return cell
}
if item.type == .improveTarget {
let listCell = tableView.dequeueReusableCell(withIdentifier: YHImproveTargetCell.cellReuseIdentifier, for: indexPath) as! YHImproveTargetCell
return listCell
let cell = tableView.dequeueReusableCell(withIdentifier: YHImproveTargetCell.cellReuseIdentifier, for: indexPath) as! YHImproveTargetCell
targetCell = cell
return cell
}
// 最后一个cell切底部圆角
let corner = UIRectCorner(rawValue: UIRectCorner.bottomLeft.rawValue | UIRectCorner.bottomRight.rawValue)
if indexPath.row == arr.count-1 {
targetCell?.createCorner(CGSizeMake(6.0, 6.0), corner)
} else {
targetCell?.layer.mask = nil
}
}
}
......@@ -220,6 +324,18 @@ extension YHMyNewSchemeViewController : UITableViewDelegate, UITableViewDataSour
}
func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return 0.01
return 12.0
}
}
extension YHMyNewSchemeViewController: UIScrollViewDelegate {
func scrollViewDidScroll(_ scrollView: UIScrollView) {
let scrollY = scrollView.contentOffset.y
if scrollY >= 0.0 {
bgView.frame.origin.y = k_Height_NavigationtBarAndStatuBar-scrollY
} else {
bgView.frame.origin.y = k_Height_NavigationtBarAndStatuBar
}
}
}
......@@ -56,75 +56,8 @@ class YHComprehensiveEvaluationCell: UITableViewCell {
}()
lazy var bgView: UIView = {
let view = UIView()
let bgImgView = UIImageView(image: UIImage(named: "my_scheme_head_img"))
view.addSubview(bgImgView)
let leftWheatearImgV = UIImageView(image: UIImage(named: "my_scheme_wheatear_left"))
view.addSubview(leftWheatearImgV)
let rightWheatearImgV = UIImageView(image: UIImage(named: "my_scheme_wheatear_right"))
view.addSubview(rightWheatearImgV)
view.addSubview(titleLabel)
view.addSubview(subTitleLabel)
bgImgView.snp.makeConstraints { make in
make.top.left.right.equalToSuperview()
make.height.equalTo(416.0)
}
leftWheatearImgV.snp.makeConstraints { make in
make.left.equalTo(35)
make.top.equalTo(27)
make.width.equalTo(65)
make.height.equalTo(80)
}
rightWheatearImgV.snp.makeConstraints { make in
make.right.equalTo(-35)
make.top.equalTo(27)
make.width.equalTo(65)
make.height.equalTo(80)
}
titleLabel.snp.makeConstraints { make in
make.top.equalTo(27)
make.height.equalTo(34)
make.centerX.equalToSuperview()
}
subTitleLabel.snp.makeConstraints { make in
make.left.equalTo(leftWheatearImgV.snp.left).offset(38)
make.right.equalTo(rightWheatearImgV.snp.right).offset(-38)
make.top.equalTo(titleLabel.snp.bottom).offset(8)
}
return view
}()
lazy var titleLabel: UILabel = {
let label = UILabel()
label.font = UIFont.PFSC_B(ofSize: 24)
label.textColor = .white
label.text = "尊敬的先生"
return label
}()
lazy var subTitleLabel: UILabel = {
let label = UILabel()
label.numberOfLines = 0
label.font = UIFont.PFSC_R(ofSize: 14)
label.textColor = .white
label.textAlignment = .center
label.text = "您好,根据您的信息,这是我们为您定制的申请方案,方案详情如下:"
return label
}()
lazy var blueBgView: UIView = {
let view = UIView()
view.backgroundColor = .init(UIColor(hex: 0x0D1025))
view.backgroundColor = .clear
return view
}()
......@@ -147,7 +80,6 @@ class YHComprehensiveEvaluationCell: UITableViewCell {
selectionStyle = .none
contentView.backgroundColor = .clear
contentView.clipsToBounds = true
backgroundColor = .clear
contentView.addSubview(bgView)
......@@ -158,19 +90,21 @@ class YHComprehensiveEvaluationCell: UITableViewCell {
yellowContentView.addSubview(tipsLabel)
bgView.snp.makeConstraints { make in
make.left.right.top.equalToSuperview()
make.left.equalTo(0)
make.right.equalTo(0)
make.top.equalToSuperview()
make.height.equalTo(416)
}
whiteBottomView.snp.makeConstraints { make in
make.left.equalTo(8.5)
make.right.equalTo(-8.5)
make.height.equalTo(10000)
make.left.equalTo(0)
make.right.equalTo(0)
make.top.equalTo(bgView.snp.bottom).offset(0)
make.bottom.equalToSuperview()
}
markImgV.snp.makeConstraints { make in
make.left.equalTo(32)
make.left.equalTo(24)
make.width.equalTo(4)
make.height.equalTo(16)
make.centerY.equalTo(evaluationLabel)
......@@ -184,8 +118,8 @@ class YHComprehensiveEvaluationCell: UITableViewCell {
}
yellowContentView.snp.makeConstraints { make in
make.left.equalTo(32)
make.right.equalTo(-32)
make.left.equalTo(24)
make.right.equalTo(-24)
make.top.equalTo(evaluationLabel.snp.bottom).offset(16)
make.bottom.equalTo(-24)
}
......
......@@ -48,6 +48,21 @@ class YHDocumentListCell: UITableViewCell {
return label
}()
lazy var rightBtn: UIButton = {
let button = UIButton(type: .custom)
button.titleLabel?.font = UIFont.PFSC_M(ofSize: 12)
button.backgroundColor = UIColor(hex: 0xd48638).withAlphaComponent(0.08)
button.contentHorizontalAlignment = .center
button.setTitle("文书写作", for: .normal)
button.setImage(UIImage(named: "scheme_button_icon"), for: .normal)
button.setTitleColor(UIColor(hex:0xd48638), for: .normal)
button.layer.cornerRadius = kCornerRadius3
button.clipsToBounds = true
button.YH_clickEdgeInsets = UIEdgeInsets(top: 0, left: 20, bottom: 20, right: 20)
// button.addTarget(self, action: #selector(goNext), for: .touchUpInside)
return button
}()
required init?(coder: NSCoder) {
super.init(coder: coder)
}
......@@ -69,10 +84,11 @@ class YHDocumentListCell: UITableViewCell {
whiteContentView.addSubview(markImgV)
whiteContentView.addSubview(titleLabel)
whiteContentView.addSubview(tips1Label)
whiteContentView.addSubview(rightBtn)
whiteContentView.snp.makeConstraints { make in
make.left.equalTo(8.5)
make.right.equalTo(-8.5)
make.left.equalTo(0)
make.right.equalTo(0)
make.top.bottom.equalToSuperview()
}
......@@ -103,6 +119,15 @@ class YHDocumentListCell: UITableViewCell {
make.top.equalTo(titleLabel.snp.bottom).offset(18)
make.bottom.equalTo(-26)
}
rightBtn.snp.makeConstraints { make in
make.width.equalTo(76)
make.height.equalTo(27)
make.right.equalTo(-24)
make.top.equalTo(titleLabel)
}
rightBtn.iconInRight(with: 2)
}
......
......@@ -131,14 +131,14 @@ class YHHKRequiredItemListCell: UITableViewCell {
listView.addSubview(topView)
whiteBgView.snp.makeConstraints { make in
make.left.equalTo(8.5)
make.right.equalTo(-8.5)
make.left.equalTo(0)
make.right.equalTo(0)
make.top.bottom.equalToSuperview()
}
listView.snp.makeConstraints { make in
make.left.equalTo(32)
make.right.equalTo(-32)
make.left.equalTo(24)
make.right.equalTo(-24)
make.top.equalToSuperview()
make.bottom.equalTo(-26)
}
......
//
// YHIHKIdentityPlanCell.swift
// galaxy
//
// Created by Dufet on 2024/11/18.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
import AttributedString
class YHIHKIdentityPlanCell: UITableViewCell {
static let cellReuseIdentifier = "YHIHKIdentityPlanCell"
lazy var titleLabel: UILabel = {
let label = UILabel()
let aa: ASAttributedString = .init("了解更多", .font(UIFont.PFSC_B(ofSize: 18)),.foreground(UIColor.mainTextColor))
let bb: ASAttributedString = .init("香港身份计划", .font(UIFont.PFSC_B(ofSize: 18)),.foreground(UIColor.brandMainColor))
label.attributed.text = aa+bb
return label
}()
lazy var subtitleLabel: UILabel = {
let label = UILabel()
label.font = UIFont.PFSC_R(ofSize: 14)
label.textColor = .mainTextColor(alpha: 0.5)
label.text = "助您香港身份申请无忧"
return label
}()
lazy var knowBtn: UIButton = {
let btn = UIButton(type: .custom)
btn.setTitle("立即了解", for: .normal)
btn.setTitleColor(.white, for: .normal)
btn.backgroundColor = .brandMainColor
btn.titleLabel?.font = .PFSC_M(ofSize: 12)
return btn
}()
lazy var bgImgView: UIImageView = {
let view = UIImageView(image: UIImage(named: "my_shceme_plan_bg"))
view.clipsToBounds = true
return view
}()
required init?(coder: NSCoder) {
super.init(coder: coder)
}
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
setupUI()
}
func setupUI() {
contentView.backgroundColor = .clear
self.backgroundColor = .clear
selectionStyle = .none
contentView.addSubview(bgImgView)
bgImgView.snp.makeConstraints { make in
make.left.equalTo(17)
make.right.equalTo(-17)
make.top.equalToSuperview()
make.height.equalTo(bgImgView.snp.width).multipliedBy(93.0/(KScreenWidth-34.0))
make.bottom.equalTo(-33)
}
// titleLabel.snp.makeConstraints { make in
// make.left.equalTo(18)
// make.top.equalTo(22)
// make.height.equalTo(25)
// }
//
// subtitleLabel.snp.makeConstraints { make in
// make.left.equalTo(18)
// make.top.equalTo(titleLabel.snp.bottom).offset(4)
// make.height.equalTo(20)
// }
//
// knowBtn.snp.makeConstraints { make in
// make.right.equalTo(-24)
// make.centerY.equalToSuperview()
// make.width.equalTo(72)
// make.height.equalTo(32)
// }
}
}
//
// YHImproveHKView.swift
// galaxy
//
// Created by Dufet on 2024/11/18.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHImproveHKView: UIView {
var showTemplateBtn: Bool = true {
didSet {
templateBtn.isHidden = !showTemplateBtn
templateBtn.snp.updateConstraints { make in
make.height.equalTo(showTemplateBtn ? 20 : 0)
make.top.equalTo(tipsLabel.snp.bottom).offset(showTemplateBtn ? 12 : 0)
make.bottom.equalTo(showTemplateBtn ? -14 : 0)
}
self.setNeedsLayout()
self.layoutIfNeeded()
}
}
lazy var grayView: UIView = {
let view = UIView()
view.layer.cornerRadius = 4.0
view.clipsToBounds = true
view.backgroundColor = .init(hex: 0xF8F9FB)
return view
}()
lazy var numImgView: UIImageView = {
let iconV = UIImageView(image: UIImage(named: "my_scheme_num_bg"))
iconV.addSubview(numLabel)
numLabel.snp.makeConstraints { make in
make.top.equalToSuperview()
make.centerX.equalToSuperview()
make.height.equalTo(20)
}
return iconV
}()
lazy var numLabel: UILabel = {
let label = UILabel()
label.text = "19"
label.font = UIFont(name: "DINAlternate-Bold", size: 14)
label.textColor = .white
return label
}()
lazy var markView: UIView = {
let view = UIView()
view.backgroundColor = .brandMainColor
return view
}()
lazy var titleLabel: UILabel = {
let label = UILabel()
label.numberOfLines = 0
label.font = UIFont.PFSC_M(ofSize: 14)
label.textColor = .mainTextColor
label.text = "港府要求:申请人是否具备良好的英文书写及口语能力申请人是否具备良好的英文书写及口语能力申请人是否具备良好的英文书写及口语能力"
return label
}()
lazy var improveTargetContentView: UIView = {
let view = UIView()
view.layer.cornerRadius = 2.0
view.clipsToBounds = true
view.backgroundColor = .white
return view
}()
lazy var iconImgView: UIImageView = {
let v = UIImageView(image: UIImage(named: "my_scheme_improve_icon"))
return v
}()
lazy var subtitleLabel: UILabel = {
let label = UILabel()
label.text = "提升方向"
label.font = UIFont.PFSC_B(ofSize: 14)
label.textColor = .mainTextColor
return label
}()
lazy var tipsLabel: UILabel = {
let label = UILabel()
label.numberOfLines = 0
label.font = UIFont.PFSC_R(ofSize: 13)
label.textColor = .init(hex: 0x6D788A)
label.text = "如您拥有某业务实体接近某50%的股权主体,且该业务实体在紧接申请前一年,全年盈利达港币500万元或以上(或等值外币),或您通过转股或其他方式孵化实现,即可满足申请条件"
return label
}()
lazy var templateBtn: UIButton = {
let btn = UIButton(type: .custom)
btn.setTitle("材料示例", for: .normal)
btn.setTitleColor(.brandMainColor, for: .normal)
btn.titleLabel?.font = .PFSC_M(ofSize: 14)
btn.setImage(UIImage(named: "blue_right_arrow"), for: .normal)
btn.YH_clickEdgeInsets = UIEdgeInsets(top: 10, left: 20, bottom: 20, right: 10)
btn.addTarget(self, action: #selector(didRightBtnClicked), for: .touchUpInside)
return btn
}()
override init(frame: CGRect) {
super.init(frame: .zero)
setupUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
@objc func didRightBtnClicked() {
YHImproveSchemeTemplateListView.listView().show()
}
func setupUI() {
self.addSubview(grayView)
self.addSubview(markView)
self.addSubview(titleLabel)
self.addSubview(numImgView)
self.addSubview(improveTargetContentView)
improveTargetContentView.addSubview(iconImgView)
improveTargetContentView.addSubview(subtitleLabel)
improveTargetContentView.addSubview(tipsLabel)
improveTargetContentView.addSubview(templateBtn)
grayView.snp.makeConstraints { make in
make.edges.equalToSuperview()
}
markView.snp.makeConstraints { make in
make.left.equalTo(0)
make.top.equalTo(titleLabel).offset(3)
make.width.equalTo(3)
make.height.equalTo(12)
}
titleLabel.snp.makeConstraints { make in
make.left.equalTo(markView.snp.right).offset(9)
make.top.equalTo(16)
make.right.equalTo(numImgView.snp.left).offset(-5)
}
numImgView.snp.makeConstraints { make in
make.top.equalTo(0)
make.right.equalTo(-8)
make.width.equalTo(19)
make.height.equalTo(22)
}
improveTargetContentView.snp.makeConstraints { make in
make.top.equalTo(titleLabel.snp.bottom).offset(16)
make.left.equalTo(8)
make.right.equalTo(-8)
make.bottom.equalTo(-8)
}
iconImgView.snp.makeConstraints { make in
make.width.height.equalTo(18)
make.left.top.equalTo(12)
}
subtitleLabel.snp.makeConstraints { make in
make.left.equalTo(iconImgView.snp.right).offset(6)
make.centerY.equalTo(iconImgView)
make.height.equalTo(20)
}
tipsLabel.snp.makeConstraints { make in
make.left.equalTo(12)
make.right.equalTo(-12)
make.top.equalTo(subtitleLabel.snp.bottom).offset(8)
}
templateBtn.snp.makeConstraints { make in
make.left.equalTo(12)
make.top.equalTo(tipsLabel.snp.bottom).offset(12)
make.width.equalTo(76)
make.height.equalTo(20)
make.bottom.equalTo(-14)
}
templateBtn.iconInRight(with: 0)
}
}
......@@ -46,6 +46,21 @@ class YHImproveSchemeCell: UITableViewCell {
return label
}()
lazy var rightBtn: UIButton = {
let button = UIButton(type: .custom)
button.titleLabel?.font = UIFont.PFSC_M(ofSize: 12)
button.backgroundColor = UIColor(hex: 0xd48638).withAlphaComponent(0.08)
button.contentHorizontalAlignment = .center
button.setTitle("查看详情", for: .normal)
button.setImage(UIImage(named: "scheme_button_icon"), for: .normal)
button.setTitleColor(UIColor(hex:0xd48638), for: .normal)
button.layer.cornerRadius = kCornerRadius3
button.clipsToBounds = true
button.YH_clickEdgeInsets = UIEdgeInsets(top: 0, left: 20, bottom: 20, right: 20)
// button.addTarget(self, action: #selector(goNext), for: .touchUpInside)
return button
}()
required init?(coder: NSCoder) {
super.init(coder: coder)
}
......@@ -67,10 +82,11 @@ class YHImproveSchemeCell: UITableViewCell {
whiteContentView.addSubview(markImgV)
whiteContentView.addSubview(titleLabel)
whiteContentView.addSubview(tips1Label)
whiteContentView.addSubview(rightBtn)
whiteContentView.snp.makeConstraints { make in
make.left.equalTo(8.5)
make.right.equalTo(-8.5)
make.left.equalTo(0)
make.right.equalTo(0)
make.top.bottom.equalToSuperview()
}
......@@ -101,6 +117,14 @@ class YHImproveSchemeCell: UITableViewCell {
make.top.equalTo(titleLabel.snp.bottom).offset(18)
make.bottom.equalTo(-32)
}
rightBtn.snp.makeConstraints { make in
make.width.equalTo(76)
make.height.equalTo(27)
make.right.equalTo(-24)
make.top.equalTo(titleLabel)
}
rightBtn.iconInRight(with: 2)
}
......
//
// YHImproveSchemeTemplateListCell.swift
// galaxy
//
// Created by Dufet on 2024/11/18.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHImproveSchemeTemplateListCell: UITableViewCell {
static let cellReuseIdentifier = "YHImproveSchemeTemplateListCell"
lazy var lineView:UIView = {
let view = UIView()
view.backgroundColor = .init(hex: 0xE9ECF0)
return view
}()
lazy var titleLabel: UILabel = {
let label = UILabel()
label.font = UIFont.PFSC_R(ofSize: 14)
label.textColor = .mainTextColor
label.numberOfLines = 0
label.text = "5、持股证明文件.pdf(周年申报表/工商备案的公司章程/验资报告/国家企业信用信息公示报告)"
return label
}()
lazy var rightBtn: UIButton = {
let btn = UIButton()
btn.backgroundColor = .init(hex: 0xF5F6F8)
btn.setTitle("查看示例", for: .normal)
btn.setTitleColor(.mainTextColor, for: .normal)
btn.titleLabel?.font = UIFont.PFSC_M(ofSize: 11)
// btn.addTarget(self, action: #selector(didRightBtnClicked), for: .touchUpInside)
btn.layer.cornerRadius = kCornerRadius2
return btn
}()
required init?(coder: NSCoder) {
super.init(coder: coder)
}
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
setupUI()
}
func setupUI() {
selectionStyle = .none
contentView.backgroundColor = .clear
backgroundColor = .clear
contentView.clipsToBounds = true
contentView.addSubview(titleLabel)
contentView.addSubview(rightBtn)
contentView.addSubview(lineView)
lineView.snp.makeConstraints { make in
make.left.right.top.equalToSuperview()
make.height.equalTo(0.5)
}
titleLabel.snp.makeConstraints { make in
make.left.equalTo(0)
make.top.equalTo(16)
make.bottom.equalTo(-16)
make.right.equalTo(rightBtn.snp.left).offset(-40)
}
rightBtn.snp.makeConstraints { make in
make.width.equalTo(60)
make.height.equalTo(25)
make.right.equalTo(-20)
make.centerY.equalToSuperview()
}
}
}
//
// YHImproveSchemeTemplateListView.swift
// galaxy
//
// Created by Dufet on 2024/11/18.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHImproveSchemeTemplateListView: UIView {
static func listView() -> YHImproveSchemeTemplateListView {
let v = YHImproveSchemeTemplateListView(frame: UIScreen.main.bounds)
return v
}
var items: [String] = ["", "", "", ""]
lazy var blackMaskView: UIView = {
let view = UIView()
view.backgroundColor = .alertMaskColor
return view
}()
lazy var whiteView: UIView = {
let view = UIView()
view.backgroundColor = .white
view.layer.cornerRadius = 4.0
return view
}()
lazy var tableView: UITableView = {
let tableView = UITableView(frame:.zero, style:.grouped)
if #available(iOS 11.0, *) {
tableView.contentInsetAdjustmentBehavior = .never
}
tableView.showsVerticalScrollIndicator = false
tableView.backgroundColor = .clear
tableView.separatorStyle = .none
tableView.delegate = self
tableView.dataSource = self
tableView.register(UITableViewCell.self, forCellReuseIdentifier: "UITableViewCell")
tableView.register(YHImproveSchemeTemplateListCell.self, forCellReuseIdentifier: YHImproveSchemeTemplateListCell.cellReuseIdentifier)
tableView.bounces = false
return tableView
}()
lazy var titleLabel: UILabel = {
let label = UILabel()
label.textAlignment = .center
label.font = UIFont.PFSC_M(ofSize: 17)
label.textColor = .mainTextColor
label.text = "材料示例"
return label
}()
lazy var closeBtn: UIButton = {
let btn = UIButton()
btn.setImage(UIImage(named:"my_cer_sheet_close"), for: .normal)
btn.addTarget(self, action: #selector(dismiss), for: .touchUpInside)
btn.YH_clickEdgeInsets = UIEdgeInsets(top: 20, left: 20, bottom: 20, right: 20)
return btn
}()
override init(frame: CGRect) {
super.init(frame: frame)
createUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
@objc func show() {
UIApplication.shared.yhKeyWindow()?.addSubview(self)
}
@objc func dismiss() {
self.removeFromSuperview()
}
func createUI() {
self.addSubview(blackMaskView)
self.addSubview(whiteView)
whiteView.addSubview(titleLabel)
whiteView.addSubview(tableView)
whiteView.addSubview(closeBtn)
blackMaskView.snp.makeConstraints { make in
make.edges.equalToSuperview()
}
whiteView.snp.makeConstraints { make in
make.left.right.bottom.equalToSuperview()
make.height.equalTo(628)
}
titleLabel.snp.makeConstraints { make in
make.left.right.top.equalToSuperview()
make.height.equalTo(52)
}
closeBtn.snp.makeConstraints { make in
make.width.height.equalTo(24)
make.centerY.equalTo(titleLabel)
make.right.equalTo(-24)
}
tableView.snp.makeConstraints { make in
make.left.equalTo(20)
make.right.equalTo(-20)
make.bottom.equalToSuperview()
make.top.equalTo(titleLabel.snp.bottom).offset(0)
}
}
}
extension YHImproveSchemeTemplateListView : UITableViewDelegate, UITableViewDataSource {
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return items.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if 0 <= indexPath.row && indexPath.row < items.count {
let item = items[indexPath.row]
let cell = tableView.dequeueReusableCell(withIdentifier: YHImproveSchemeTemplateListCell.cellReuseIdentifier, for: indexPath) as! YHImproveSchemeTemplateListCell
return cell
}
let defaultCell = tableView.dequeueReusableCell(withIdentifier: "UITableViewCell", for: indexPath)
return defaultCell
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableView.automaticDimension
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
}
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let view = UIView()
return view
}
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 0.1
}
func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
let view = UIView()
return view
}
func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return 0.1
}
}
......@@ -142,8 +142,8 @@ class YHImproveTargetCell: UITableViewCell {
whiteContentView.addSubview(bottomBtn)
whiteContentView.snp.makeConstraints { make in
make.left.equalTo(8.5)
make.right.equalTo(-8.5)
make.left.equalTo(0)
make.right.equalTo(0)
make.top.bottom.equalToSuperview()
}
......
//
// YHImproveTargetListCell.swift
// galaxy
//
// Created by Dufet on 2024/11/18.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHImproveTargetListCell: UITableViewCell {
static let cellReuseIdentifier = "YHImproveTargetListCell"
lazy var whiteContentView: UIView = {
let v = UIView()
v.backgroundColor = .white
v.layer.cornerRadius = 6.0
v.clipsToBounds = true
return v
}()
lazy var titleLabel: UILabel = {
let label = UILabel()
label.font = UIFont.PFSC_B(ofSize: 17)
label.textColor = .mainTextColor
label.text = "提升方案"
return label
}()
lazy var subtitleLabel: UILabel = {
let label = UILabel()
label.text = "接下来请您依据如下指引进行提升准备"
label.font = UIFont.PFSC_R(ofSize: 12)
label.textColor = .init(hex: 0x8993A2)
return label
}()
lazy var lineView: UIView = {
let v = UIView()
v.backgroundColor = .init(hex: 0xE9ECF0)
return v
}()
lazy var listView: UIView = {
let v = UIView()
return v
}()
required init?(coder: NSCoder) {
super.init(coder: coder)
}
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
setupUI()
}
func setupUI() {
contentView.backgroundColor = .clear
self.backgroundColor = .clear
selectionStyle = .none
contentView.addSubview(whiteContentView)
whiteContentView.addSubview(titleLabel)
whiteContentView.addSubview(subtitleLabel)
whiteContentView.addSubview(lineView)
whiteContentView.addSubview(listView)
whiteContentView.snp.makeConstraints { make in
make.left.equalTo(16)
make.right.equalTo(-16)
make.top.equalTo(0)
make.bottom.equalTo(-16)
}
titleLabel.snp.makeConstraints { make in
make.left.equalTo(16)
make.top.equalTo(16)
make.height.equalTo(24)
make.width.equalTo(69)
}
subtitleLabel.snp.makeConstraints { make in
make.bottom.equalTo(titleLabel)
make.left.equalTo(titleLabel.snp.right).offset(6)
make.right.equalTo(-16)
make.height.equalTo(20)
}
lineView.snp.makeConstraints { make in
make.left.equalTo(0)
make.right.equalTo(0)
make.top.equalTo(titleLabel.snp.bottom).offset(12)
make.height.equalTo(0.5)
}
listView.snp.makeConstraints { make in
make.left.equalTo(16)
make.right.equalTo(-16)
make.bottom.equalTo(-16)
make.top.equalTo(lineView.snp.bottom).offset(20)
}
listView.removeSubviews()
let arr = ["港府要求:申请人是否具备良好的英文书写及口语能力",
"港府要求:申请人现时是否拥有一家业务实体,而该业务实体在紧接申请前一年,全年盈利达港币500万元或以上(或等值外币)"]
var lastView: YHImproveHKView? = nil
for (i, text) in arr.enumerated() {
let itemView = YHImproveHKView(frame: .zero)
itemView.titleLabel.text = text
itemView.numLabel.text = "\(i)"
itemView.showTemplateBtn = i%2 == 0
listView.addSubview(itemView)
itemView.snp.makeConstraints { make in
make.left.equalTo(0)
make.right.equalTo(0)
if let lastView = lastView {
make.top.equalTo(lastView.snp.bottom).offset(16)
} else {
make.top.equalTo(0)
}
if i == arr.count-1 {
make.bottom.equalTo(0)
}
}
lastView = itemView
}
}
}
......@@ -89,8 +89,8 @@ class YHIndustryLocationCell: UITableViewCell {
whiteContentView.addSubview(tips3Label)
whiteContentView.snp.makeConstraints { make in
make.left.equalTo(8.5)
make.right.equalTo(-8.5)
make.left.equalTo(0)
make.right.equalTo(0)
make.top.bottom.equalToSuperview()
}
......
......@@ -57,6 +57,21 @@ class YHMaterialListCell: UITableViewCell {
return label
}()
lazy var rightBtn: UIButton = {
let button = UIButton(type: .custom)
button.titleLabel?.font = UIFont.PFSC_M(ofSize: 12)
button.backgroundColor = UIColor(hex: 0xd48638).withAlphaComponent(0.08)
button.contentHorizontalAlignment = .center
button.setTitle("资料清单", for: .normal)
button.setImage(UIImage(named: "scheme_button_icon"), for: .normal)
button.setTitleColor(UIColor(hex:0xd48638), for: .normal)
button.layer.cornerRadius = kCornerRadius3
button.clipsToBounds = true
button.YH_clickEdgeInsets = UIEdgeInsets(top: 0, left: 20, bottom: 20, right: 20)
// button.addTarget(self, action: #selector(goNext), for: .touchUpInside)
return button
}()
required init?(coder: NSCoder) {
super.init(coder: coder)
}
......@@ -79,10 +94,11 @@ class YHMaterialListCell: UITableViewCell {
whiteContentView.addSubview(titleLabel)
whiteContentView.addSubview(tips1Label)
whiteContentView.addSubview(tips2Label)
whiteContentView.addSubview(rightBtn)
whiteContentView.snp.makeConstraints { make in
make.left.equalTo(8.5)
make.right.equalTo(-8.5)
make.left.equalTo(0)
make.right.equalTo(0)
make.top.bottom.equalToSuperview()
}
......@@ -119,8 +135,16 @@ class YHMaterialListCell: UITableViewCell {
make.top.equalTo(tips1Label.snp.bottom).offset(6)
make.bottom.equalTo(-26)
}
}
rightBtn.snp.makeConstraints { make in
make.width.equalTo(76)
make.height.equalTo(27)
make.right.equalTo(-24)
make.top.equalTo(titleLabel)
}
rightBtn.iconInRight(with: 2)
}
}
//
// YHModifySchemeInfoCell.swift
// galaxy
//
// Created by Dufet on 2024/11/16.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHModifySchemeInfoCell: UITableViewCell {
static let cellReuseIdentifier = "YHModifySchemeInfoCell"
lazy var bottomBtn: UIButton = {
let btn = UIButton()
btn.backgroundColor = .white
btn.setTitleColor(.init(hex: 0xD48638), for: .normal)
btn.layer.borderColor = UIColor.init(hex: 0xD48638).cgColor
btn.layer.borderWidth = 1.0
btn.titleLabel?.font = .PFSC_M(ofSize: 16)
btn.layer.cornerRadius = 3
btn.setTitle("修改信息", for: .normal)
return btn
}()
lazy var whiteContentView: UIView = {
let view = UIView()
view.backgroundColor = .white
view.clipsToBounds = true
return view
}()
required init?(coder: NSCoder) {
super.init(coder: coder)
}
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
setupUI()
}
func setupUI() {
selectionStyle = .none
contentView.backgroundColor = .clear
backgroundColor = .clear
contentView.clipsToBounds = true
contentView.addSubview(whiteContentView)
whiteContentView.addSubview(bottomBtn)
whiteContentView.snp.makeConstraints { make in
make.left.equalTo(0)
make.right.equalTo(0)
make.top.bottom.equalToSuperview()
}
bottomBtn.snp.makeConstraints { make in
make.left.equalTo(24)
make.right.equalTo(-24)
make.top.equalTo(0)
make.bottom.equalTo(-24)
make.height.equalTo(46)
}
}
// override func layoutSubviews() {
// super.layoutSubviews()
// let path = UIBezierPath(roundedRect:whiteContentView.bounds,
// byRoundingCorners:UIRectCorner(rawValue: UIRectCorner.bottomLeft.rawValue | UIRectCorner.bottomRight.rawValue),
// cornerRadii: CGSizeMake(6, 6))
// let layer = CAShapeLayer()
// layer.frame = whiteContentView.bounds
// layer.path = path.cgPath
// self.whiteContentView.layer.mask = layer
// }
}
......@@ -146,8 +146,8 @@ extension YHIncomeRecordViewController {
private func setupData() {
let detail: ASAttributedString = .init(string: "备注:全年收入是指应课税(应纳所得税)的就业或业务收入,包括工资薪金、津贴、股票期权及从其拥有的公司所得的利润。由个人投资所产生的收入不会计算在内。", .font(UIFont.PFSC_R(ofSize: 13)), .foreground(UIColor(hexString: "#8993A2") ?? .gray))
let firstSection: [TableRow] = [.consentForHKTravel("收入情况", detail, "您在前一年,全年收入是否达港币100万元或以上", true)]
let totalMoney: ASAttributedString = .init(string: "约", .font(.PFSC_R(ofSize: 14))) + .init(string: "1,351,517", .font(UIFont(name: "DINAlternate-Bold", size: 16) ?? UIFont.systemFont(ofSize: 16))) + .init(string: "港币", .font(.PFSC_R(ofSize: 14)))
let secondSection: [TableRow] = [.incomeSummary(false, false), .incomeItem(false, "华为有限公司", "约1,234,234港币", "2019.07-至今"), .incomeItem(false, "腾讯有限公司", "约1,234,234港币", "2015.07-2019.06"), .totalIncome(totalMoney)]
let totalMoney: ASAttributedString = .init(string: "约 ", .font(.PFSC_R(ofSize: 14))) + .init(string: "1,351,517", .font(UIFont(name: "DINAlternate-Bold", size: 20) ?? UIFont.systemFont(ofSize: 20))) + .init(string: " 港币", .font(.PFSC_R(ofSize: 14)))
let secondSection: [TableRow] = [.incomeSummary(false, false), .incomeItem(false, "华为有限公司", "约1,234,234港币", "已填写"), .incomeItem(false, "腾讯有限公司", "约1,234,234港币", "有5项未填写"), .totalIncome(totalMoney)]
datas = [firstSection, secondSection]
tableView.reloadData()
}
......@@ -179,7 +179,7 @@ extension YHIncomeRecordViewController: UITableViewDelegate, UITableViewDataSour
case let .incomeSummary(isEditState, isEditEnable):
if let cell = tableView.dequeueReusableCell(withIdentifier: YHIncomeRecordSummaryCell.cellReuseIdentifier) as? YHIncomeRecordSummaryCell {
cell.setupCellInfo(isEditState, isEditEnable)
cell.setupCellInfo(isEditState, isEditEnable, showRightButton: false)
return cell
}
case let .incomeItem(isEditState, company, money, timeStr):
......
......@@ -13,15 +13,19 @@ class YHIncomeRecordWorkExperienceViewController: YHBaseViewController {
enum TableRow {
case header(_ title: String)
case incomeFrom(_ title: String, _ detail: String)
case incomeTypeSelect(_ title: String, _ detail: String, _ isSelectedOne: Bool, _ types: [String])
case incomeTypeSelect(_ title: String, _ detail: String, _ isSelectedOne: Bool)
case incomeTypes(_ types: [String])
case inputMoney(_ title: String, _ detail: String?, _ inputStr: String?, _ showBottomLine: Bool, _ showStar: Bool)
case inputRemark(_ detail: String)
case documentComfirm(_ title: String, _ question: String, _ isSelectedSure: Bool, _ docs: [String])
}
private lazy var datas: [[TableRow]] = []
private var selectedTypes: [String] = []
private let currencyRate = 0.92
private lazy var submitButton: UIButton = {
let button = UIButton(type: .custom)
button.titleLabel?.font = UIFont.PFSC_M(ofSize: 15)
......@@ -73,7 +77,7 @@ class YHIncomeRecordWorkExperienceViewController: YHBaseViewController {
setupUI()
setupData()
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
IQKeyboardManager.shared.enable = true
......@@ -86,7 +90,6 @@ class YHIncomeRecordWorkExperienceViewController: YHBaseViewController {
}
extension YHIncomeRecordWorkExperienceViewController {
@objc private func clickSubmitButton() {
//
}
......@@ -119,29 +122,80 @@ extension YHIncomeRecordWorkExperienceViewController {
make.top.equalTo(k_Height_NavigationtBarAndStatuBar)
make.bottom.equalTo(bottomView.snp.top)
}
tableView.tableFooterView = UIView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: 44))
}
private func setupData() {
let selectedTypes = ["工资薪金所得及全年一次性奖金", "个体工商户/合伙企业/独资企业经营所得收入", "其他境外公司收入(持股50%及以上)"]
let firstSection: [TableRow] = [.header("收入信息"), .incomeFrom("收入来源公司", "华为科技有限公司"), .incomeTypeSelect("收入类型(多选)", "请选择", selectedTypes.count > 0, selectedTypes), .incomeTypes(selectedTypes), .inputMoney("公司营业额(近一年)", "约1,000,000港币", "9,999,999", true, false), .inputMoney("收入金额", "约1,000,000港币", "9,999,999", false, true), .inputRemark("注:按1港币≈0.92人民币计算,实际金额按递交时入境处给出的汇率为准")]
selectedTypes = ["工资薪金所得及全年一次性奖金", "个体工商户/合伙企业/独资企业经营所得收入", "其他境外公司收入(持股50%及以上)"]
let firstSection: [TableRow] = [.header("收入信息"), .incomeFrom("收入来源公司", "华为科技有限公司"), .incomeTypeSelect("收入类型(多选)", "请选择", selectedTypes.count > 0), .incomeTypes(selectedTypes), .inputMoney("公司营业额(近一年)", "约10,869,564港币", "¥9,999,999", true, false), .inputMoney("收入金额", "约10,869,564港币", 9,999,999", false, true), .inputRemark("注:按1港币≈0.92人民币计算,实际金额按递交时入境处给出的汇率为准")]
let secondSection: [TableRow] = [.documentComfirm("证件提供确认", "您是否可以提供以下所有证明文件", true, ["验资报告", "审计报告", "绝对实益拥有人声明书", "国家企业信用信息公示系统报告", "企业所得税月(季)度预缴纳税申报表(A类)", "企业所得税完税证明", "企业所得税年度纳税申报表(A类)"])]
datas = [firstSection, secondSection]
tableView.reloadData()
}
private func showSelectIncomeTypePopVC(selectedTypes: [String]) {
let ctl = YHIncomeTypeSelectViewController.init(selectedTypes: selectedTypes)
let ctl = YHIncomeTypeSelectViewController(selectedTypes: selectedTypes)
let bpc = YHBottomPresentationController(presentedViewController: ctl, presenting: self)
bpc.customRadius = 8.0
ctl.transitioningDelegate = bpc
ctl.sureButtonEvent = { selectedTypes in
//
ctl.sureButtonEvent = { [weak self] selectedTypes in
guard let self = self else {
return
}
self.selectedTypes = selectedTypes
self.updateSelectTypes()
}
present(ctl, animated: true, completion: nil)
}
private func updateSelectTypes() {
var incomeTypesIndexPath: IndexPath?
var incomeTypeSelectIndexPath: IndexPath?
datas = datas.enumerated().map { section, sectionArr in
sectionArr.enumerated().map { row, tableRow in
switch tableRow {
case .incomeTypes:
incomeTypesIndexPath = IndexPath(row: row, section: section)
return .incomeTypes(selectedTypes)
case let .incomeTypeSelect(title, detail, _):
incomeTypeSelectIndexPath = IndexPath(row: row, section: section)
return .incomeTypeSelect(title, detail, selectedTypes.count > 0)
default:
return tableRow
}
}
}
guard let incomeTypeSelectIndexPath = incomeTypeSelectIndexPath else {
return
}
if selectedTypes.count > 0 {
if incomeTypesIndexPath == nil {
var sectionArr = datas[incomeTypeSelectIndexPath.section]
sectionArr.insert(.incomeTypes(selectedTypes), at: incomeTypeSelectIndexPath.row + 1)
datas[incomeTypeSelectIndexPath.section] = sectionArr
}
} else {
guard let incomeTypesIndexPath = incomeTypesIndexPath else {
return
}
var sectionArr = datas[incomeTypesIndexPath.section]
sectionArr.remove(at: incomeTypesIndexPath.row)
datas[incomeTypesIndexPath.section] = sectionArr
}
tableView.performBatchUpdates { [weak tableView] in
tableView?.reloadSections(IndexSet(integer: incomeTypeSelectIndexPath.section), with: .automatic)
}
}
private func currencyFormat(_ currencySymbol: String) -> NumberFormatter {
let formatter = NumberFormatter()
formatter.numberStyle = .currency
formatter.currencySymbol = currencySymbol
formatter.maximumFractionDigits = 0
return formatter
}
}
extension YHIncomeRecordWorkExperienceViewController: UITableViewDelegate, UITableViewDataSource {
......@@ -177,7 +231,7 @@ extension YHIncomeRecordWorkExperienceViewController: UITableViewDelegate, UITab
cell.setupCellInfo(title: title, detail: detail, showBottomLine: true)
return cell
}
case let .incomeTypeSelect(title, detail, isSelectedOne, _):
case let .incomeTypeSelect(title, detail, isSelectedOne):
if let cell = tableView.dequeueReusableCell(withIdentifier: YHIncomeTypeSelectCell.cellReuseIdentifier) as? YHIncomeTypeSelectCell {
cell.setupCellInfo(title: title, detail: detail, isSelectedOne: isSelectedOne, showBottomLine: !isSelectedOne)
return cell
......@@ -185,11 +239,52 @@ extension YHIncomeRecordWorkExperienceViewController: UITableViewDelegate, UITab
case let .incomeTypes(types):
if let cell = tableView.dequeueReusableCell(withIdentifier: YHIncomeTypesCell.cellReuseIdentifier) as? YHIncomeTypesCell {
cell.setupCellInfo(types: types)
cell.didClickTypeView = { [weak self] index in
guard let self = self else {
return
}
self.selectedTypes.remove(at: index)
self.updateSelectTypes()
}
return cell
}
case let .inputMoney(title, detail, inputStr, showBottomLine, showStar):
if let cell = tableView.dequeueReusableCell(withIdentifier: YHIncomeInputMoneyCell.cellReuseIdentifier) as? YHIncomeInputMoneyCell {
cell.setupCellInfo(title: title, detail: detail, inputValue: inputStr, showBottomLine: showBottomLine, showStarIcon: showStar)
cell.didBeginEditing = { textField in
var text = textField.text ?? ""
text = text.replacingOccurrences(of: "¥", with: "")
text = text.replacingOccurrences(of: ",", with: "")
textField.text = text
}
cell.didEndEditing = { [weak self] textField in
guard let self = self else {
return
}
guard let text = textField.text else {
return
}
// 转换为数字
let number = Double(text) ?? 0
// 格式化为带货币符号和千分位
let detail = number / self.currencyRate
let rmbFormatter = self.currencyFormat("¥")
let hkdFormatter = self.currencyFormat("")
if let formattedString = rmbFormatter.string(from: NSNumber(value: number)) {
textField.text = formattedString
let detailStr = "约" + (hkdFormatter.string(from: NSNumber(value: detail)) ?? "") + "港币"
if self.datas.count > indexPath.section {
let sectionArr = self.datas[indexPath.section]
if sectionArr.count > indexPath.row {
let currentRow = sectionArr[indexPath.row]
if case let .inputMoney(title, detail, inputStr, showBottomLine, showStar) = currentRow {
self.datas[indexPath.section][indexPath.row] = .inputMoney(title, detailStr, formattedString, showBottomLine, showStar)
self.tableView.reloadRows(at: [indexPath], with: .automatic)
}
}
}
}
}
return cell
}
case let .inputRemark(detail):
......@@ -204,10 +299,10 @@ extension YHIncomeRecordWorkExperienceViewController: UITableViewDelegate, UITab
return cell
}
}
return UITableViewCell()
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableView.automaticDimension
}
......@@ -230,10 +325,8 @@ extension YHIncomeRecordWorkExperienceViewController: UITableViewDelegate, UITab
return
}
let tableRow = sectionArr[indexPath.row]
if case let .incomeTypeSelect(_, _, _, selectedTypes) = tableRow {
if case .incomeTypeSelect = tableRow {
showSelectIncomeTypePopVC(selectedTypes: selectedTypes)
}
}
}
......@@ -12,6 +12,7 @@ class YHIncomeInputMoneyCell: YHResignDocumentCell {
static let cellReuseIdentifier = "YHIncomeInputMoneyCell"
var didBeginEditing: ((UITextField) -> Void)?
var didEndEditing: ((UITextField) -> Void)?
private lazy var dotIcon: UIImageView = {
......@@ -157,6 +158,12 @@ extension YHIncomeInputMoneyCell {
extension YHIncomeInputMoneyCell: UITextFieldDelegate {
// MARK: - UITextFieldDelegate
func textFieldDidBeginEditing(_ textField: UITextField) {
if textField == inputTextField {
didBeginEditing?(textField)
}
}
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
textField.endEditing(false)
return true
......
......@@ -50,7 +50,8 @@ class YHIncomeRecordSummaryCell: YHResignDocumentCell {
fatalError("init(coder:) has not been implemented")
}
func setupCellInfo(_ isEditing: Bool, _ isEditEnable: Bool) {
func setupCellInfo(_ isEditing: Bool, _ isEditEnable: Bool, showRightButton: Bool) {
rightButton.isHidden = !showRightButton
rightButton.isEnabled = isEditEnable
updateRightButtonState(isEditing)
}
......
......@@ -23,7 +23,7 @@ class YHTotalIncomeCell: YHResignDocumentCell {
private lazy var infoDetailLabel: UILabel = {
let label = UILabel()
label.font = .PFSC_R(ofSize: 16)
label.font = .PFSC_R(ofSize: 20)
label.textColor = .brandMainColor
label.lineBreakMode = .byCharWrapping
return label
......@@ -56,7 +56,7 @@ extension YHTotalIncomeCell {
}
private func setupUI() {
updateCellCorner(.mid)
updateCellCorner(.bottom)
subContainerView.addSubview(infoTitleLabel)
subContainerView.addSubview(infoDetailLabel)
subContainerView.addSubview(infoButton)
......
......@@ -349,6 +349,13 @@ extension YHMyViewController : UITableViewDelegate, UITableViewDataSource {
return
}
if true {
let vc = YHMyNewSchemeViewController()
// let vc = YHImproveSchemeViewController()
self.navigationController?.pushViewController(vc)
return
}
let item: PersonalModuleItem = items[indexPath.row]
switch item.type {
case .myCard://我的名片
......
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Frame 2033196296.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Frame 2033196296-1.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
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "穗麦-左@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "穗麦-左@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
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Rectangle 346241964.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Rectangle 346241964-1.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "香港身份计划banner@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "香港身份计划banner@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