Commit 40479e41 authored by David黄金龙's avatar David黄金龙

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

* 'qmas-1130' of http://gitlab.galaxy-immi.com/mobile-group/galaxy-iOS:
  // 自定义textView
  工作经验公司基本情况接口及逻辑
  // 方案
  // 方案
parents 782e63a1 f1888a65
......@@ -20,6 +20,8 @@
040AE9842CE893CC00310241 /* YHWorkExperiencePositionItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 040AE9832CE893CC00310241 /* YHWorkExperiencePositionItemView.swift */; };
040AE9862CEB09ED00310241 /* YHWorkExperienceCompanySelectView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 040AE9852CEB09ED00310241 /* YHWorkExperienceCompanySelectView.swift */; };
040AE9882CEB6DAC00310241 /* YHWorkExperiencePositionModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 040AE9872CEB6DAC00310241 /* YHWorkExperiencePositionModel.swift */; };
040AE98A2CEC83FA00310241 /* YHWorkExperienceCompanyViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 040AE9892CEC83FA00310241 /* YHWorkExperienceCompanyViewModel.swift */; };
040AE98C2CEC84B400310241 /* YHWorkExperienceCompanyModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 040AE98B2CEC84B400310241 /* YHWorkExperienceCompanyModel.swift */; };
04129E862CD0C8490072F87B /* YHAliYunLogManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04129E852CD0C8490072F87B /* YHAliYunLogManager.swift */; };
041390692C1081FA0098CB8A /* YHFileListEmptyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 041390682C1081FA0098CB8A /* YHFileListEmptyView.swift */; };
0414708B2C88627B00B7B688 /* YHButlerServiceManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0414708A2C88627B00B7B688 /* YHButlerServiceManager.swift */; };
......@@ -172,6 +174,7 @@
0435FA7F2BA178C100024EAE /* YHCommonAlertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0435FA7E2BA178C100024EAE /* YHCommonAlertView.swift */; };
0435FA812BA186D600024EAE /* YHMyFileMethodTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0435FA802BA186D600024EAE /* YHMyFileMethodTableViewCell.swift */; };
0435FA832BA2DEB100024EAE /* YHCardButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0435FA822BA2DEB100024EAE /* YHCardButton.swift */; };
04395F8A2CEDB26500D3005C /* YHAutoTextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04395F892CEDB26500D3005C /* YHAutoTextView.swift */; };
043B0A352C1190C6008A9BBA /* YHSelectFileSheetView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 043B0A342C1190C6008A9BBA /* YHSelectFileSheetView.swift */; };
043BA8752C241B38006EF02D /* YHAddFriendCardCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 043BA8742C241B38006EF02D /* YHAddFriendCardCell.swift */; };
043BA8892C244129006EF02D /* people_head.json in Resources */ = {isa = PBXBuildFile; fileRef = 043BA8882C244129006EF02D /* people_head.json */; };
......@@ -1048,6 +1051,8 @@
040AE9832CE893CC00310241 /* YHWorkExperiencePositionItemView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHWorkExperiencePositionItemView.swift; sourceTree = "<group>"; };
040AE9852CEB09ED00310241 /* YHWorkExperienceCompanySelectView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHWorkExperienceCompanySelectView.swift; sourceTree = "<group>"; };
040AE9872CEB6DAC00310241 /* YHWorkExperiencePositionModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHWorkExperiencePositionModel.swift; sourceTree = "<group>"; };
040AE9892CEC83FA00310241 /* YHWorkExperienceCompanyViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHWorkExperienceCompanyViewModel.swift; sourceTree = "<group>"; };
040AE98B2CEC84B400310241 /* YHWorkExperienceCompanyModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHWorkExperienceCompanyModel.swift; sourceTree = "<group>"; };
04129E852CD0C8490072F87B /* YHAliYunLogManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHAliYunLogManager.swift; sourceTree = "<group>"; };
041390682C1081FA0098CB8A /* YHFileListEmptyView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHFileListEmptyView.swift; sourceTree = "<group>"; };
0414708A2C88627B00B7B688 /* YHButlerServiceManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHButlerServiceManager.swift; sourceTree = "<group>"; };
......@@ -1199,6 +1204,7 @@
0435FA7E2BA178C100024EAE /* YHCommonAlertView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHCommonAlertView.swift; sourceTree = "<group>"; };
0435FA802BA186D600024EAE /* YHMyFileMethodTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMyFileMethodTableViewCell.swift; sourceTree = "<group>"; };
0435FA822BA2DEB100024EAE /* YHCardButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHCardButton.swift; sourceTree = "<group>"; };
04395F892CEDB26500D3005C /* YHAutoTextView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHAutoTextView.swift; sourceTree = "<group>"; };
043B0A342C1190C6008A9BBA /* YHSelectFileSheetView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHSelectFileSheetView.swift; sourceTree = "<group>"; };
043BA8742C241B38006EF02D /* YHAddFriendCardCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHAddFriendCardCell.swift; sourceTree = "<group>"; };
043BA8882C244129006EF02D /* people_head.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = people_head.json; sourceTree = "<group>"; };
......@@ -2931,6 +2937,7 @@
045EEDC22B9F171A0022A143 /* YHCompanyViewModel.swift */,
045EEDC32B9F171A0022A143 /* YHWorkItemListViewModel.swift */,
040AE97B2CE7410100310241 /* YHWorkExperiencePositionViewModel.swift */,
040AE9892CEC83FA00310241 /* YHWorkExperienceCompanyViewModel.swift */,
);
path = ViewModel;
sourceTree = "<group>";
......@@ -2945,6 +2952,7 @@
045EEDC92B9F171A0022A143 /* YHWorkExperienceProjectModel.swift */,
045EEDCA2B9F171A0022A143 /* YHCompanyModel.swift */,
040AE9872CEB6DAC00310241 /* YHWorkExperiencePositionModel.swift */,
040AE98B2CEC84B400310241 /* YHWorkExperienceCompanyModel.swift */,
);
path = Model;
sourceTree = "<group>";
......@@ -5205,6 +5213,7 @@
0418921E2C91BAAC00B9FB94 /* YHBaseDynamicCornerRadiusView.swift */,
04F243622C9D4C9700DF2C74 /* YHBaseCornerRadiusBorderView.swift */,
04F2432E2C94704200DF2C74 /* YHPaddedLabel.swift */,
04395F892CEDB26500D3005C /* YHAutoTextView.swift */,
);
path = V;
sourceTree = "<group>";
......@@ -5808,6 +5817,7 @@
044EE24C2C94396E00A2FE3A /* YHResignCertificatePassportTableViewCell.swift in Sources */,
04F2435B2C9D140C00DF2C74 /* YHHKRecordsTitleCell.swift in Sources */,
044F393A2CB7772D007CA277 /* YHVisaRenewalGuideRemarkCell.swift in Sources */,
04395F8A2CEDB26500D3005C /* YHAutoTextView.swift in Sources */,
041892242C91BCF100B9FB94 /* YHResignRoundCellType.swift in Sources */,
04912F7A2CB7A5F400CC3105 /* YHResignHaveAppointedApplicantsInfoCell.swift in Sources */,
0430E6722C749E74000511E2 /* YHAdopterBirthViewController.swift in Sources */,
......@@ -5965,6 +5975,7 @@
044D0BF42C21247100C5CF5E /* YHUserInfoSettingViewController.swift in Sources */,
040AE9862CEB09ED00310241 /* YHWorkExperienceCompanySelectView.swift in Sources */,
A567E5942BD7643D00D5D5A0 /* YHHomeListModel.swift in Sources */,
040AE98A2CEC83FA00310241 /* YHWorkExperienceCompanyViewModel.swift in Sources */,
047F3DDB2CE6DE91001B2A6D /* YHEducationMarkView.swift in Sources */,
04CE1AD82C2AD91F001CB80A /* YHActivityListViewController.swift in Sources */,
A5ACE94E2B4564F7002C94D2 /* AlignedCollectionViewFlowLayout.swift in Sources */,
......@@ -6034,6 +6045,7 @@
045EEF032B9F171A0022A143 /* YHFormItemDoubleChoiceCell.swift in Sources */,
044F39482CB80626007CA277 /* YHVisaRenewalTipsCell.swift in Sources */,
0430E6842C76D702000511E2 /* YHAddpterViewModel.swift in Sources */,
040AE98C2CEC84B400310241 /* YHWorkExperienceCompanyModel.swift in Sources */,
045EEEAE2B9F171A0022A143 /* YHWorkHighlightsTableViewCell.swift in Sources */,
A567E59A2BD7643D00D5D5A0 /* YHHomeKingKongBlockModel.swift in Sources */,
045EEF062B9F171A0022A143 /* YHFormItemQuestionsCell.swift in Sources */,
......
//
// YHAutoTextView.swift
// galaxy
//
// Created by Dufet on 2024/11/20.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHAutoTextView: UITextView, UITextViewDelegate {
override open var text: String! {
didSet {
self.setNeedsLayout()
self.layoutIfNeeded()
}
}
var placeHolder: String = "" {
didSet {
placeholderLabel.text = placeHolder
}
}
let placeholderLabel: UILabel = {
let label = UILabel()
label.translatesAutoresizingMaskIntoConstraints = false
label.textColor = UIColor.lightGray
label.font = UIFont.PFSC_R(ofSize: 15)
return label
}()
override init(frame: CGRect, textContainer: NSTextContainer?) {
super.init(frame: frame, textContainer: textContainer)
delegate = self
isScrollEnabled = false // 禁止滚动
translatesAutoresizingMaskIntoConstraints = false
clearsOnInsertion = true
self.addSubview(placeholderLabel)
placeholderLabel.snp.makeConstraints { make in
make.top.equalTo(5)
make.left.equalTo(5)
make.right.equalTo(-5)
}
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
// UITextViewDelegate 方法
func textViewDidChange(_ textView: UITextView) {
// 更新自身的高度
invalidateIntrinsicContentSize()
placeholderLabel.isHidden = !textView.text.isEmpty
}
override var intrinsicContentSize: CGSize {
// 计算内容的尺寸
let size = sizeThatFits(CGSize(width: frame.width, height: .greatestFiniteMagnitude))
return CGSize(width: size.width, height: size.height)
}
}
......@@ -189,7 +189,6 @@ class YHImproveSchemeViewController: YHBaseViewController {
items.append(contentsOf: viewModel.improveDetailModel.improvePlanItem)
tableView.reloadData()
viewModel.improveDetailModel.username = "一二三十五阿萨法"
var name = viewModel.improveDetailModel.username
if name.count > 5 {
name = String(name.prefix(5)) + "..."
......
......@@ -121,6 +121,7 @@ class YHMyNewSchemeViewController: YHBaseViewController {
label.font = UIFont.PFSC_B(ofSize: 24)
label.textColor = .white
label.text = "尊敬的先生"
label.textAlignment = .center
label.lineBreakMode = .byTruncatingMiddle
return label
}()
......@@ -221,6 +222,7 @@ class YHMyNewSchemeViewController: YHBaseViewController {
}
isPass = passArr.count >= 6
if isPass {
let item1 = YHSchemeItem(type: .evaluate)
let item2 = YHSchemeItem(type: .hkRequireList)
......
......@@ -46,7 +46,10 @@ class YHImproveSchemeTemplateListCell: UITableViewCell {
@objc func didBtnClicked() {
if !model.url.isEmpty {
self.previewFileTool.openXLSXRemoteFile(urlString:model.url, fileName:"预览")
let viewModel = YHBaseViewModel()
viewModel.getRealUsefulUrl(model.url) { success in
self.previewFileTool.openXLSXRemoteFile(urlString: success, fileName:"预览")
}
}
}
......
......@@ -686,6 +686,8 @@ extension YHWorkExperienceViewController: UITableViewDelegate, UITableViewDataSo
} else {
if indexPath.row == 0 {
let cell = tableView.dequeueReusableCell(withClass: YHWorkExperienceTableViewCell.self)
cell.orderId = orderID
cell.workId = workExperienceID?.intValue() ?? 0
cell.selectDataSource = getTipsWithType()
cell.selectItem = getSelectCompany()
cell.dataSource = baseDataSource?[indexPath.row]
......
//
// YHWorkExperienceCompanyModel.swift
// galaxy
//
// Created by EDY on 2024/11/19.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
import SmartCodable
class YHWorkExperienceCompanyModel: SmartCodable {
var order_id: Int = 0
var work_id: Int = 0
var is_ipo_company: Int = 0
var has_company_equity: Int = 0
var has_sales_reached: Int = 0
var has_ipo_company_equity: Int = 0
var has_ipo_sales_reached: Int = 0
var company_location: String = ""
var has_provide_certificate: Int = 0
required init() {
}
}
......@@ -22,6 +22,8 @@ class YHWorkExperienceItemView: UIView {
var showPromptLabel: UILabel!
var longTimeButton:UIButton!
var country: String = ""
var workId: Int = 0
var orderId: Int = 0
var dataSource: YHWorkExperienceModel? {
didSet {
updateAllViews()
......@@ -249,7 +251,7 @@ class YHWorkExperienceItemView: UIView {
break
case .company:
if dataSource.message == "0" {
messageTextField.text = "未选择"
messageTextField.text = ""
} else {
messageTextField.text = "已选择"
}
......@@ -509,8 +511,13 @@ class YHWorkExperienceItemView: UIView {
}
}
case .company:
YHWorkExperienceCompanySelectView.show { array in
YHWorkExperienceCompanySelectView.show(workId: workId, orderId: orderId) { [weak self] in
guard let self = self else { return }
self.dataSource?.message = "1"
self.updateAllViews()
if let block = self.block {
block(self.dataSource ?? YHWorkExperienceModel())
}
}
case .field:
YHOtherPickerView.show(type: .field, selectTitle: self.dataSource?.message ?? "") {[weak self] data in
......
......@@ -20,6 +20,8 @@ class YHWorkExperienceTableViewCell: UITableViewCell {
var titleLabel: UILabel!
var mainItemView: UIView!
var selectItem: Int = 5
var workId: Int = 0
var orderId: Int = 0
var dataSource: YHSectionWorkExperienceModel?{
didSet {
updateAllViews()
......@@ -114,6 +116,8 @@ class YHWorkExperienceTableViewCell: UITableViewCell {
}
let itemView = YHWorkExperienceItemView()
itemView.dataSource = data
itemView.workId = workId
itemView.orderId = orderId
itemView.block = {[weak self] model in
guard let self = self else { return }
if let block = self.workExperienceBlock {
......
//
// YHWorkExperienceCompanyViewModel.swift
// galaxy
//
// Created by EDY on 2024/11/19.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHWorkExperienceCompanyViewModel: YHBaseViewModel {
var model: YHWorkExperienceCompanyModel = YHWorkExperienceCompanyModel()
func requestWorkQuestionDetail(_ workId: Int, _ orderId: Int, callBackBlock:@escaping (_ success: Bool?, _ error:YHErrorModel?)->()) {
let param: [String: Any] = ["work_id": workId, "order_id": orderId]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.WorkExperience.workQuestionDetail
let _ = YHNetRequest.getRequest(url: strUrl, params: param) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
if json.code == 200 {
guard let dic = json.data?.peel as? [String : Any], let result = YHWorkExperienceCompanyModel.deserialize(from: dic) else {
callBackBlock(false,nil)
return
}
self.model = result
callBackBlock(true, nil)
} else {
let error : YHErrorModel = YHErrorModel(errorCode:Int32(json.code), errorMsg: json.msg)
callBackBlock(false, error)
}
} failBlock: { err in
callBackBlock(false,err)
}
}
func saveWorkQuestion(model: YHWorkExperienceCompanyModel, callBackBlock:@escaping (_ success: Bool?, _ error:YHErrorModel?)->()) {
let params: [String : Any] = ["order_id": model.order_id,
"work_id": model.work_id,
"is_ipo_company":model.is_ipo_company,
"has_company_equity": model.has_company_equity,
"has_sales_reached": model.has_sales_reached,
"has_ipo_company_equity": model.has_ipo_company_equity,
"has_ipo_sales_reached": model.has_ipo_sales_reached,
"company_location": model.company_location,
"has_provide_certificate": model.has_provide_certificate]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.WorkExperience.saveWorkQuestion
let _ = YHNetRequest.postRequest(url: strUrl, params: params) { [weak self] json, code in
guard let self = self else { return }
if json.code == 200 {
guard let dic = json.data?.peel as? [String : Any], let result = YHWorkExperiencePositionModel.deserialize(from: dic) else {
callBackBlock(false,nil)
return
}
callBackBlock(true, nil)
} else {
let error : YHErrorModel = YHErrorModel(errorCode:Int32(json.code), errorMsg: json.msg)
callBackBlock(false, error)
}
} failBlock: { err in
callBackBlock(false, err)
}
}
}
......@@ -157,6 +157,13 @@ class YHWorkExperiencePositionViewModel: YHBaseViewModel {
}
func saveWorkPosition(callBackBlock:@escaping (_ success: Bool?, _ error:YHErrorModel?)->()) {
var is_location_aboard: Int = 0
let addressCountry = position.work_country
if addressCountry.contains("中国") {
is_location_aboard = 1
} else {
is_location_aboard = 2
}
let params: [String : Any] = ["position_id": position.position_id,
"order_id": position.order_id,
"work_id":position.work_id,
......@@ -169,7 +176,8 @@ class YHWorkExperiencePositionViewModel: YHBaseViewModel {
"work_country": position.work_country,
"work_city": position.work_city,
"provide_certificate_type": position.provide_certificate_type,
"experience_sub_scope": position.experience_sub_scope]
"experience_sub_scope": position.experience_sub_scope,
"is_location_aboard": is_location_aboard]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.WorkExperience.saveWorkPosition
let _ = YHNetRequest.postRequest(url: strUrl, params: params) { [weak self] json, code in
guard let self = self else { return }
......
......@@ -257,6 +257,9 @@ class YHAllApiName {
static let workPositionDetail = "infoflow/work/v1/workPositionDetail"
static let saveWorkPosition = "infoflow/work/v1/SaveWorkPosition"
static let deleteWorkPosition = "infoflow/work/v1/deleteWorkPosition"
static let workQuestionDetail = "infoflow/work/v1/workQuestionDetail"
static let saveWorkQuestion = "infoflow/work/v1/SaveWorkQuestion"
}
//登录
......
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