Commit 06a31cdd authored by Alex朱枝文's avatar Alex朱枝文

Merge branch 'qmas-1130' into yinhe-live-1212

parents f75db48a 786fecbd
......@@ -292,6 +292,7 @@
04564D4F2CF38E20004456E4 /* YHLiveMessageListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04564D4E2CF38E20004456E4 /* YHLiveMessageListView.swift */; };
04564D512CF38EA4004456E4 /* YHMessageInputView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04564D502CF38EA4004456E4 /* YHMessageInputView.swift */; };
04564D532CF38FE2004456E4 /* YHVODPlayerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04564D522CF38FE2004456E4 /* YHVODPlayerViewController.swift */; };
04564D592CF470B2004456E4 /* YHIncomeRecordCompanyTipsCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04564D582CF470B2004456E4 /* YHIncomeRecordCompanyTipsCell.swift */; };
0457920B2CBCE7B200EBD99B /* YHResignUploadTravelCardViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0457920A2CBCE7B200EBD99B /* YHResignUploadTravelCardViewModel.swift */; };
0457920D2CBCE8A800EBD99B /* YHResignUploadTravelCardListModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0457920C2CBCE8A800EBD99B /* YHResignUploadTravelCardListModel.swift */; };
0457920F2CBCE9D000EBD99B /* YHResignUploadTravelCardListTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0457920E2CBCE9D000EBD99B /* YHResignUploadTravelCardListTableViewCell.swift */; };
......@@ -1335,6 +1336,7 @@
04564D4E2CF38E20004456E4 /* YHLiveMessageListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHLiveMessageListView.swift; sourceTree = "<group>"; };
04564D502CF38EA4004456E4 /* YHMessageInputView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMessageInputView.swift; sourceTree = "<group>"; };
04564D522CF38FE2004456E4 /* YHVODPlayerViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHVODPlayerViewController.swift; sourceTree = "<group>"; };
04564D582CF470B2004456E4 /* YHIncomeRecordCompanyTipsCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHIncomeRecordCompanyTipsCell.swift; sourceTree = "<group>"; };
0457920A2CBCE7B200EBD99B /* YHResignUploadTravelCardViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHResignUploadTravelCardViewModel.swift; sourceTree = "<group>"; };
0457920C2CBCE8A800EBD99B /* YHResignUploadTravelCardListModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHResignUploadTravelCardListModel.swift; sourceTree = "<group>"; };
0457920E2CBCE9D000EBD99B /* YHResignUploadTravelCardListTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHResignUploadTravelCardListTableViewCell.swift; sourceTree = "<group>"; };
......@@ -4134,6 +4136,7 @@
04B401E12CE746F4005C61A9 /* YHIncomeTypesCell.swift */,
04B401E32CE76B10005C61A9 /* YHIncomeInputMoneyCell.swift */,
04B401E52CE83C74005C61A9 /* YHIncomeRemarkCell.swift */,
04564D582CF470B2004456E4 /* YHIncomeRecordCompanyTipsCell.swift */,
04B401E72CE83FBD005C61A9 /* YHIncomeDocumentationConfirmationCell.swift */,
04B401C62CE6E6C8005C61A9 /* YHEmploymentVerificationAvailableCell.swift */,
04B401C72CE6E6C8005C61A9 /* YHIncomeItemOccupyingCell.swift */,
......@@ -6210,6 +6213,7 @@
047F3DEC2CE84BD5001B2A6D /* YHImproveRequireItemView.swift in Sources */,
0430E65A2C7436CD000511E2 /* YHAdopterNewPeopleViewModel.swift in Sources */,
04256E1D2C75C74200A37BA4 /* YHAppointHKResultModel.swift in Sources */,
04564D592CF470B2004456E4 /* YHIncomeRecordCompanyTipsCell.swift in Sources */,
047F3DE62CE83A0F001B2A6D /* YHHKRequiredItemView.swift in Sources */,
04CE1ADB2C2AD91F001CB80A /* YHActivityTitleItemView.swift in Sources */,
042B20E32CEC92C400655093 /* YHMajorNameCell.swift in Sources */,
......@@ -6787,11 +6791,9 @@
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
CODE_SIGN_ENTITLEMENTS = galaxy/galaxyTestEnv.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Manual;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 7;
DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = RXHYW88XR7;
DEVELOPMENT_TEAM = RXHYW88XR7;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
......@@ -6820,7 +6822,6 @@
PRODUCT_BUNDLE_IDENTIFIER = com.intelligence.galaxy;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = com.dev.profile;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = TESTENV;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_OBJC_BRIDGING_HEADER = "$(SRCROOT)/$(TARGET_NAME)/Res/galaxy-Bridge-Header.h";
......@@ -6932,11 +6933,9 @@
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
CODE_SIGN_ENTITLEMENTS = galaxy/galaxy.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Manual;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 7;
DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = RXHYW88XR7;
DEVELOPMENT_TEAM = RXHYW88XR7;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
......@@ -6965,7 +6964,6 @@
PRODUCT_BUNDLE_IDENTIFIER = com.intelligence.galaxy;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = com.dev.profile;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = UATENV;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_OBJC_BRIDGING_HEADER = "$(SRCROOT)/$(TARGET_NAME)/Res/galaxy-Bridge-Header.h";
......@@ -7140,11 +7138,9 @@
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
CODE_SIGN_ENTITLEMENTS = galaxy/galaxyDebug.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Manual;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 7;
DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = RXHYW88XR7;
DEVELOPMENT_TEAM = RXHYW88XR7;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
......@@ -7173,7 +7169,6 @@
PRODUCT_BUNDLE_IDENTIFIER = com.intelligence.galaxy;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = com.dev.profile;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_OBJC_BRIDGING_HEADER = "$(SRCROOT)/$(TARGET_NAME)/Res/galaxy-Bridge-Header.h";
SWIFT_VERSION = 5.0;
......@@ -7190,11 +7185,9 @@
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
CODE_SIGN_ENTITLEMENTS = galaxy/galaxy.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Manual;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 7;
DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = RXHYW88XR7;
DEVELOPMENT_TEAM = RXHYW88XR7;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
......@@ -7223,7 +7216,6 @@
PRODUCT_BUNDLE_IDENTIFIER = com.intelligence.galaxy;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = com.dev.profile;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_OBJC_BRIDGING_HEADER = "$(SRCROOT)/$(TARGET_NAME)/Res/galaxy-Bridge-Header.h";
SWIFT_VERSION = 5.0;
......
......@@ -13,9 +13,10 @@ import UIKit
class YHIncomeRecordViewController: YHBaseViewController {
enum TableRow {
case incomeSummary(_ isEditing: Bool = false, _ isEditEnable: Bool = false)
case incomeItem(_ isEditState: Bool = false, _ company: String, _ money: String, _ timeStr: String, _ incomeId: Int)
case incomeItem(_ isEditState: Bool = false, _ company: String, _ money: String, _ timeStr: String, _ incomeId: Int, _ showBottomLine: Bool)
case totalIncome(_ money: ASAttributedString)
case consentForHKTravel(_ title: String, _ detail: ASAttributedString, _ question: String)
case incomeCompanyTips(_ detail: String)
}
private lazy var datas: [[TableRow]] = []
......@@ -80,6 +81,7 @@ class YHIncomeRecordViewController: YHBaseViewController {
view.register(YHIncomeRecordItemCell.self, forCellReuseIdentifier: YHIncomeRecordItemCell.cellReuseIdentifier)
view.register(YHInfoConsentForHKTravelCell.self, forCellReuseIdentifier: YHInfoConsentForHKTravelCell.cellReuseIdentifier)
view.register(YHTotalIncomeCell.self, forCellReuseIdentifier: YHTotalIncomeCell.cellReuseIdentifier)
view.register(YHIncomeRecordCompanyTipsCell.self, forCellReuseIdentifier: YHIncomeRecordCompanyTipsCell.cellReuseIdentifier)
view.keyboardDismissMode = .onDrag
return view
}()
......@@ -173,13 +175,14 @@ extension YHIncomeRecordViewController {
}
let hkdFormatter = currencyFormat("")
var money: Double = 0
var secondSection: [TableRow] = [.incomeSummary(false, false)]
var secondSection: [TableRow] = [.incomeSummary(false, false), .incomeCompanyTips("备注:此处有收入记录的公司为近1年您工作的公司,若需修改公司名称需返回上一节点【工作经验】处修改")]
let rate = self.incomeModel.rate > 0 ? self.incomeModel.rate : 0.92
incomeModel.list.forEach { companyModel in
let listCount = incomeModel.list.count
incomeModel.list.enumerated().forEach { index, companyModel in
money += companyModel.income_money
let moneyStr = "约" + (hkdFormatter.string(from: NSNumber(value: companyModel.income_money / rate)) ?? "0") + "港币"
let moneyStr = companyModel.income_money == 0 ? "" : "约" + (hkdFormatter.string(from: NSNumber(value: companyModel.income_money / rate)) ?? "0") + "港币"
let timeStr: String = companyModel.fill_status ? "已填写" : "有\(companyModel.unfilled_count)项未填写"
let incomeItem: TableRow = .incomeItem(false, companyModel.company_name, moneyStr, timeStr, companyModel.income_id)
let incomeItem: TableRow = .incomeItem(false, companyModel.company_name, moneyStr, timeStr, companyModel.income_id, index != listCount - 1)
secondSection.append(incomeItem)
}
let totalNum = hkdFormatter.string(from: NSNumber(value: money / rate)) ?? "0"
......@@ -227,20 +230,23 @@ extension YHIncomeRecordViewController: UITableViewDelegate, UITableViewDataSour
cell.setupCellInfo(isEditState, isEditEnable, showRightButton: false)
return cell
}
case let .incomeItem(isEditState, company, money, timeStr, _):
case let .incomeItem(isEditState, company, money, timeStr, _, showBottomLine):
if let cell = tableView.dequeueReusableCell(withIdentifier: YHIncomeRecordItemCell.cellReuseIdentifier) as? YHIncomeRecordItemCell {
cell.setupCellInfo(title: company, detail: money, rightText: timeStr, isEditing: isEditState, showBottomLine: false)
cell.setupCellInfo(title: company, detail: money, rightText: timeStr, isEditing: isEditState, showBottomLine: showBottomLine)
return cell
}
case let .totalIncome(money):
if let cell = tableView.dequeueReusableCell(withIdentifier: YHTotalIncomeCell.cellReuseIdentifier) as? YHTotalIncomeCell {
cell.setupCellInfo(detail: money)
cell.didClickInfoButton = { [weak self] in
cell.didClickInfoButton = { [weak self, weak cell] in
guard let self = self else {
return
}
guard let cell = cell else {
return
}
let rate = self.incomeModel.rate > 0 ? self.incomeModel.rate : 0.92
YHHUD.flash(message: "注:按1港币≈\(rate)人民币计算,实际金额按递交时入境处给出的汇率为准")
YHWholeScreenTipsView.show(type: .hkdToRmbRateTips("注:按1港币≈\(rate)人民币计算,实际金额按递交时入境处给出的汇率为准"), targetView: cell.infoButton)
}
return cell
}
......@@ -278,6 +284,11 @@ extension YHIncomeRecordViewController: UITableViewDelegate, UITableViewDataSour
return cell
}
case let .incomeCompanyTips(detail):
if let cell = tableView.dequeueReusableCell(withIdentifier: YHIncomeRecordCompanyTipsCell.cellReuseIdentifier) as? YHIncomeRecordCompanyTipsCell {
cell.setupCellInfo(detail: detail)
return cell
}
}
return UITableViewCell()
}
......@@ -304,7 +315,7 @@ extension YHIncomeRecordViewController: UITableViewDelegate, UITableViewDataSour
return
}
let tableRow = sectionArr[indexPath.row]
if case let .incomeItem(_, _, _, _, incomeId) = tableRow {
if case let .incomeItem(_, _, _, _, incomeId, _) = tableRow {
let ctl = YHIncomeRecordWorkExperienceViewController(incomeId: incomeId)
ctl.submitSuccess = { [weak self] in
guard let self = self else {
......
......@@ -559,6 +559,7 @@ extension YHIncomeRecordWorkExperienceViewController {
}
private func submitIncome(_ type: YHIncomeRecordUpdateType, complete: @escaping (Bool) -> Void) {
view.endEditing(true)
let msg = type == .save ? "保存中..." : "提交中..."
if type == .submit {
if checkInput() == false {
......
//
// YHIncomeRecordCompanyTipsCell.swift
// galaxy
//
// Created by alexzzw on 2024/11/25.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHIncomeRecordCompanyTipsCell: YHResignDocumentCell {
static let cellReuseIdentifier = "YHIncomeRecordCompanyTipsCell"
private lazy var infoDetailLabel: UILabel = {
let label = UILabel()
label.font = .PFSC_R(ofSize: 13)
label.textColor = UIColor(hexString: "#8993A2")
label.numberOfLines = 0
label.lineBreakMode = .byCharWrapping
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) {
infoDetailLabel.text = detail
}
private func setupUI() {
updateCellCorner(.mid)
subContainerView.addSubview(infoDetailLabel)
infoDetailLabel.snp.makeConstraints { make in
make.left.equalToSuperview().offset(18)
make.top.equalToSuperview().offset(16)
make.bottom.equalToSuperview()
make.right.lessThanOrEqualToSuperview().offset(-18)
}
}
}
......@@ -61,7 +61,7 @@ class YHIncomeRecordItemCell: YHResignDocumentCell {
fatalError("init(coder:) has not been implemented")
}
func setupCellInfo(title: String, detail: String, rightText: String, isEditing: Bool, showBottomLine: Bool) {
func setupCellInfo(title: String, detail: String, rightText: String, isEditing: Bool, showBottomLine: Bool, needHideDetail: Bool = false) {
infoTitleLabel.text = title
infoDetailLabel.text = detail
rightLabel.text = rightText
......@@ -70,7 +70,9 @@ class YHIncomeRecordItemCell: YHResignDocumentCell {
rightArrowIcon.isHidden = true
deleteButton.isHidden = true
bottomLineView.snp.remakeConstraints { make in
make.bottom.left.right.equalToSuperview()
make.bottom.equalToSuperview()
make.left.equalToSuperview().offset(18)
make.right.equalToSuperview().offset(-18)
make.height.equalTo(0.5)
make.top.equalTo(infoDetailLabel.snp.bottom).offset(16)
}
......@@ -79,7 +81,9 @@ class YHIncomeRecordItemCell: YHResignDocumentCell {
rightArrowIcon.isHidden = false
deleteButton.isHidden = true
bottomLineView.snp.remakeConstraints { make in
make.bottom.left.right.equalToSuperview()
make.bottom.equalToSuperview()
make.left.equalToSuperview().offset(18)
make.right.equalToSuperview().offset(-18)
make.height.equalTo(0.5)
make.top.equalTo(infoDetailLabel.snp.bottom).offset(16)
}
......@@ -140,7 +144,9 @@ extension YHIncomeRecordItemCell {
}
bottomLineView.snp.makeConstraints { make in
make.bottom.left.right.equalToSuperview()
make.bottom.equalToSuperview()
make.left.equalToSuperview().offset(18)
make.right.equalToSuperview().offset(-18)
make.height.equalTo(0.5)
make.top.equalTo(infoDetailLabel.snp.bottom).offset(16)
}
......
......@@ -12,6 +12,12 @@ import UIKit
class YHTotalIncomeCell: YHResignDocumentCell {
static let cellReuseIdentifier = "YHTotalIncomeCell"
var didClickInfoButton: (() -> Void)?
private lazy var topLineView: UIView = {
let view = UIView()
view.backgroundColor = UIColor(hexString: "#E9ECF0")
return view
}()
private lazy var infoTitleLabel: UILabel = {
let label = UILabel()
......@@ -29,10 +35,15 @@ class YHTotalIncomeCell: YHResignDocumentCell {
return label
}()
private lazy var infoButton: UIButton = {
lazy var infoButton: UIButton = {
let button = UIButton(type: .custom)
button.setImage(UIImage(named: "other_info_warning"), for: .normal)
button.addTarget(self, action: #selector(infoButtonDidClick(_:)), for: .touchUpInside)
let padding: CGFloat = 4
button.contentEdgeInsets = UIEdgeInsets(top: padding,
left: padding,
bottom: padding,
right: padding)
return button
}()
......@@ -57,12 +68,20 @@ extension YHTotalIncomeCell {
private func setupUI() {
updateCellCorner(.bottom)
subContainerView.addSubview(topLineView)
subContainerView.addSubview(infoTitleLabel)
subContainerView.addSubview(infoDetailLabel)
subContainerView.addSubview(infoButton)
infoTitleLabel.setContentCompressionResistancePriority(.required, for: .horizontal)
infoButton.setContentCompressionResistancePriority(.required, for: .horizontal)
infoDetailLabel.setContentCompressionResistancePriority(.defaultLow, for: .horizontal)
topLineView.snp.makeConstraints { make in
make.left.equalToSuperview()
make.right.equalToSuperview()
make.height.equalTo(0.5)
make.top.equalToSuperview()
}
infoTitleLabel.snp.makeConstraints { make in
make.left.equalToSuperview().offset(18)
......@@ -71,9 +90,9 @@ extension YHTotalIncomeCell {
}
infoButton.snp.makeConstraints { make in
make.left.equalTo(infoTitleLabel.snp.right).offset(4)
make.left.equalTo(infoTitleLabel.snp.right)
make.centerY.equalTo(infoTitleLabel)
make.width.height.equalTo(16)
make.width.height.equalTo(24)
}
infoDetailLabel.snp.makeConstraints { make in
......
......@@ -36,7 +36,7 @@ class YHOtherInfoFillViewModel: YHBaseViewModel {
'child' => [
['id' => 99, "name" => "均不能提供", "select" => 0,],
['id' => 1, "name" => "母语(不用任何证明)", "select" => 0,],
['id' => 2, "name" => "雅思(ELTS)考试取得7.0或以上成绩的成绩单", "select" => 0,],
['id' => 2, "name" => "雅思(IELTS)考试取得7.0或以上成绩的成绩单", "select" => 0,],
['id' => 3, "name" => "托福(TOEFL)网上考试取得94分或以上成绩的成绩单", "select" => 0,],
['id' => 4, "name" => "全国大学英语六级考试(CET-6)取得520分或以上成绩的证书", "select" => 0,],
['id' => 5, "name" => "英语授课证明", "select" => 0,],
......@@ -113,7 +113,7 @@ class YHOtherInfoFillViewModel: YHBaseViewModel {
"highlight" : ""],
["id" : 2,
"name" : "雅思(ELTS)考试取得7.0或以上成绩的成绩单",
"name" : "雅思(IELTS)考试取得7.0或以上成绩的成绩单",
"select" : 0,
"subname" : "",
"highlight" : ""],
......
......@@ -82,7 +82,10 @@ class YHWorkExperienceListViewController: YHBaseViewController {
return
}
}
if (self.viewModel?.mainModel.has_work_time_empty == 1 && self.viewModel?.mainModel.work_time_empty_remark.count == 0) || (self.viewModel?.mainModel.has_work_time_overlap == 1 && self.viewModel?.mainModel.work_time_overlap_remark.count == 0){
YHHUD.flash(message: "您的工作经验未全部填写完成,请先填写完成再提交")
return
}
viewModel?.requestWorkTimeRemarkWorkExperience("\(orderId)", 1, callBackBlock: {[weak self] success, error in
guard let self = self else { return }
if success ?? false {
......
......@@ -421,32 +421,34 @@ class YHWorkExperienceViewController: YHBaseViewController {
@objc func nextStep() {
self.view.endEditing(true)
if self.viewModel.isCanNext(self.stepView.currentIndex) {
if self.stepView.currentIndex == 1 {
self.viewModel.saveWorkDuty(workId: workId) {[weak self] success, error in
guard let self = self else { return }
if let error = error {
YHHUD.flash(message: error.errorMsg )
} else {
self.stepView.currentIndex = self.stepView.currentIndex + 1
self.updateDataSource()
DispatchQueue.main.asyncAfter(deadline: .now() + 1.0) {
if self.viewModel.isCanNext(self.stepView.currentIndex) {
if self.stepView.currentIndex == 1 {
self.viewModel.saveWorkDuty(workId: self.workId) {[weak self] success, error in
guard let self = self else { return }
if let error = error {
YHHUD.flash(message: error.errorMsg )
} else {
self.stepView.currentIndex = self.stepView.currentIndex + 1
self.updateDataSource()
}
}
}
} else if self.stepView.currentIndex == 2 {
self.viewModel.saveWorkHighlights(workId: workId) {[weak self] success, error in
guard let self = self else { return }
if let error = error {
YHHUD.flash(message: error.errorMsg )
} else {
self.stepView.currentIndex = self.stepView.currentIndex + 1
self.updateDataSource()
} else if self.stepView.currentIndex == 2 {
self.viewModel.saveWorkHighlights(workId: self.workId) {[weak self] success, error in
guard let self = self else { return }
if let error = error {
YHHUD.flash(message: error.errorMsg )
} else {
self.stepView.currentIndex = self.stepView.currentIndex + 1
self.updateDataSource()
}
}
}
} else {
self.isShowPrompt = true
self.updateDataSource()
YHHUD.flash(message: "您还有信息未填写")
}
} else {
self.isShowPrompt = true
self.updateDataSource()
YHHUD.flash(message: "您还有信息未填写")
}
}
......@@ -836,8 +838,8 @@ extension YHWorkExperienceViewController: UITableViewDelegate, UITableViewDataSo
}
cell.newWorkBlock = {[weak self] in
guard let self = self else { return }
if self.viewModel.positionList.count == 5 {
YHHUD.flash(message: "新增职位不能超过5条")
if self.viewModel.positionList.count == 10 {
YHHUD.flash(message: "新增职位不能超过10条")
} else {
let vc = YHWorkExperiencePositionViewViewController()
vc.workID = workId
......@@ -877,7 +879,7 @@ extension YHWorkExperienceViewController: UITableViewDelegate, UITableViewDataSo
var height = 23 + 154
for item in viewModel.positionList {
if item.position_name == "" {
height = height + 76
height = height + 52
} else {
let text = item.position_name // 要显示的文本内容
let font = UIFont.PFSC_B(ofSize: 14) // 字体大小
......@@ -890,13 +892,15 @@ extension YHWorkExperienceViewController: UITableViewDelegate, UITableViewDataSo
// 根据指定的最大宽度和字体大小计算文本的高度
let size = (text as NSString).boundingRect(with: CGSize(width: maxWidth, height: .greatestFiniteMagnitude), options: .usesLineFragmentOrigin, attributes: attributes, context: nil).size
if size.height > 20 {
height = height + 96
height = height + 72
} else {
height = height + 76
height = height + 52
}
}
if isShowPrompt && item.missing_item_num != 0 {
height = height + 20
}
}
return CGFloat(height)
}
}
......
......@@ -184,6 +184,8 @@ class YHWorkExperienceListReasonTableViewCell: UITableViewCell {
promptsTwoLabel.isHidden = true
messageTwoNumberLabel.text = "\(messageTwoTextField.text.count)/1000"
}
self.setNeedsLayout()
self.layoutIfNeeded()
}
}
override func awakeFromNib() {
......
......@@ -229,11 +229,14 @@ class YHWorkExperiencePositionTableViewCell: UITableViewCell {
// 根据指定的最大宽度和字体大小计算文本的高度
let size = (text as NSString).boundingRect(with: CGSize(width: maxWidth, height: .greatestFiniteMagnitude), options: .usesLineFragmentOrigin, attributes: attributes, context: nil).size
if size.height > 20 {
h = 95
h = 71
} else {
h = 75
h = 51
}
}
if showPrompt && model.missing_item_num != 0 {
h = h + 20
}
mainItemView.addSubview(itemView)
itemView.snp.makeConstraints { make in
make.left.equalTo(18)
......
......@@ -63,7 +63,7 @@ class YHWorkExperiencePositionViewModel: YHBaseViewModel {
let selectTimeInterval = selectDate.timeIntervalSince1970
let currentTimeInterval = Date().timeIntervalSince1970
if selectTimeInterval > currentTimeInterval {
YHHUD.flash(message: "入职日期不能晚于当前日期")
YHHUD.flash(message: "开始就职年月不能晚于当前日期")
} else {
guard let endDate = format.date(from: position.departure_time) else {
position.entry_time = item.message ?? ""
......@@ -71,7 +71,7 @@ class YHWorkExperiencePositionViewModel: YHBaseViewModel {
}
let endTimeInterval = endDate.timeIntervalSince1970
if selectTimeInterval > endTimeInterval {
YHHUD.flash(message: "入职日期不能晚于离职日期")
YHHUD.flash(message: "开始就职年月不能晚于结束就职年月")
} else {
position.entry_time = item.message ?? ""
}
......@@ -84,7 +84,7 @@ class YHWorkExperiencePositionViewModel: YHBaseViewModel {
let selectTimeInterval = selectDate.timeIntervalSince1970
let startTimeInterval = startDate.timeIntervalSince1970
if selectTimeInterval < startTimeInterval {
YHHUD.flash(message: "离职日期不能早于入职日期")
YHHUD.flash(message: "结束就职年月不能早于开始就职年月")
} else {
position.departure_time = item.message ?? ""
}
......
......@@ -8,7 +8,7 @@
import UIKit
enum YHWholeScreenTipsViewType : Int {
enum YHWholeScreenTipsViewType {
case unKnow //默认情况
case residenceInfo //居住信息
case degreeType //学位类型
......@@ -26,6 +26,7 @@ enum YHWholeScreenTipsViewType : Int {
case hkPlanQ7 //赴港计划书问题7
case renewTimeTips //选择预约在港递交时间
case hkdToRmbRateTips(_ title: String) // 港元到人民币汇率换算
}
......@@ -113,6 +114,8 @@ class YHWholeScreenTipsView: UIView {
return ""
case .renewTimeTips:
return "入境处网址18:00之后可能会存在系统更新,为避免预约时间无法递交,请尽量选择18:00之前的时间"
case let .hkdToRmbRateTips(title):
return title
default:
return "--"
}
......@@ -148,7 +151,7 @@ class YHWholeScreenTipsView: UIView {
left = left - offset - 16
}
if curType == .renewTimeTips {
if case .renewTimeTips = curType {
//目标控件的上方
let otherTop = rrrrr.origin.y - 5
addSubview(fakeLine)
......
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