Commit ebc26a6f 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:
  工作经验细节修改
  工作经验bug 修复
parents fd0058a2 6b9cdd4c
......@@ -14,6 +14,7 @@ class YHDocumentPromptTableViewCell: UITableViewCell {
var promptImageView: UIImageView!
var titleLabel: UILabel!
var subTitleLabel: UILabel!
var link: String = ""
var type: Int = 0 {
didSet {
updatePrompt()
......@@ -135,7 +136,7 @@ class YHDocumentPromptTableViewCell: UITableViewCell {
let aa: ASAttributedString = .init("查看示例模板", .font(UIFont.PFSC_R(ofSize: 12)),.foreground(UIColor.brandMainColor), .underline(.single), .action {
let viewModel = YHBaseViewModel()
viewModel.getPublicImageUrl("https://test-cdn.galaxy-immi.com/4001014/4804205858403988036120241104135639.jpg") { success, error in
viewModel.getPublicImageUrl(self.link) { success, error in
if let success = success {
self.previewFileTool.openXLSXRemoteFile(urlString: success, fileName:"")
}
......
......@@ -120,6 +120,9 @@ class YHWorkExperienceListViewController: YHBaseViewController {
extension YHWorkExperienceListViewController: UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if viewModel?.mainModel.has_work_time_empty == 0 && viewModel?.mainModel.has_work_time_overlap == 0 {
return 2
}
return 3
}
......@@ -127,6 +130,7 @@ extension YHWorkExperienceListViewController: UITableViewDelegate, UITableViewDa
if indexPath.row == 0 {
let cell = tableView.dequeueReusableCell(withClass: YHDocumentPromptTableViewCell.self)
cell.workList = 0
cell.link = self.viewModel?.mainModel.agree_work_doc_url ?? ""
cell.backgroundColor = .clear
cell.contentView.backgroundColor = .clear
return cell
......@@ -164,10 +168,14 @@ extension YHWorkExperienceListViewController: UITableViewDelegate, UITableViewDa
if self.dataSource?.count == 10 {
YHHUD.flash(message: "新增工作经历不能超过10条")
} else {
let vc = YHWorkExperienceViewController()
vc.isShowMessageSelect = true
vc.orderID = self.orderId
self.navigationController?.pushViewController(vc, animated: true)
self.viewModel?.requestCreateNewWork(self.orderId, callBackBlock: {[weak self] success, error in
guard let self = self else { return }
let vc = YHWorkExperienceViewController()
vc.isShowMessageSelect = true
vc.orderID = self.orderId
vc.workExperienceID = "\(self.viewModel?.workId ?? 0)"
self.navigationController?.pushViewController(vc, animated: true)
})
}
}
cell.backgroundColor = .clear
......@@ -196,7 +204,7 @@ extension YHWorkExperienceListViewController: UITableViewDelegate, UITableViewDa
return 104
}
if indexPath.row == 2 {
return 540
return UITableView.automaticDimension
}
let number = dataSource?.count ?? 0
var height = 23 + 154
......
......@@ -309,7 +309,7 @@ class YHWorkExperienceViewController: YHBaseViewController {
bottom.saveBlock = { [weak self] in
guard let self = self else { return }
if self.stepView.currentIndex == 0 {
self.viewModel.saveWorkData(orderID, workId: workExperienceID?.intValue() ?? 0) {[weak self] success, error in
self.viewModel.saveWorkData(orderID, workId: workExperienceID?.intValue() ?? 0, 0) {[weak self] success, error in
guard let self = self else { return }
bottom.nextButton.isEnabled = true
if let error = error {
......@@ -320,7 +320,7 @@ class YHWorkExperienceViewController: YHBaseViewController {
}
}
} else if self.stepView.currentIndex == 1 {
self.viewModel.saveWorkDuty(workId: workExperienceID?.intValue() ?? 0) {[weak self] success, error in
self.viewModel.saveWorkDuty(workId: workExperienceID?.intValue() ?? 0, 0) {[weak self] success, error in
guard let self = self else { return }
bottom.nextButton.isEnabled = true
if let error = error {
......@@ -330,7 +330,7 @@ class YHWorkExperienceViewController: YHBaseViewController {
}
}
} else if self.stepView.currentIndex == 2 {
self.viewModel.saveWorkHighlights(workId: workExperienceID?.intValue() ?? 0) {[weak self] success, error in
self.viewModel.saveWorkHighlights(workId: workExperienceID?.intValue() ?? 0, 0) {[weak self] success, error in
guard let self = self else { return }
bottom.nextButton.isEnabled = true
if let error = error {
......
......@@ -10,7 +10,7 @@ import UIKit
import SmartCodable
class YHWorkExperienceProjectModel: SmartCodable {
var list: [YHWorkExperienceProjectListModel] = []
var list: [YHWorkExperienceFileModel] = []
required init() {
}
}
......
......@@ -743,24 +743,22 @@ class YHCompanySelectFileCell: UITableViewCell {
var tempModel = YHWorkExperienceCompanyModel()
if number == 0 {
tempModel.is_ipo_company = 1
}
if number == 1 && model.is_ipo_company == 1 {
} else if number == 1 && model.is_ipo_company == 1 {
tempModel.has_ipo_company_equity = 1
tempModel.is_ipo_company = 1
}
if number == 2 && model.is_ipo_company == 2 {
} else if number == 2 && model.is_ipo_company == 2 {
tempModel.has_company_equity = 1
tempModel.is_ipo_company = 2
}
if number == 3 && (model.is_ipo_company == 1 && model.has_ipo_company_equity == 1) {
} else if number == 3 && (model.is_ipo_company == 1 && model.has_ipo_company_equity == 1) {
tempModel.has_ipo_sales_reached = 1
tempModel.is_ipo_company = 1
tempModel.has_ipo_company_equity = 1
}
if number == 3 && (model.is_ipo_company == 2 && model.has_company_equity == 1) {
} else if number == 3 && (model.is_ipo_company == 2 && model.has_company_equity == 1) {
tempModel.has_sales_reached = 1
tempModel.is_ipo_company = 2
tempModel.has_company_equity = 1
} else {
return
}
tempModel.company_location = ""
tempModel.has_provide_certificate = 0
......@@ -775,23 +773,22 @@ class YHCompanySelectFileCell: UITableViewCell {
var tempModel = YHWorkExperienceCompanyModel()
if number == 0 {
tempModel.is_ipo_company = 2
}
if number == 1 && model.is_ipo_company == 1 {
} else if number == 1 && model.is_ipo_company == 1 {
tempModel.has_ipo_company_equity = 2
tempModel.is_ipo_company = 1 }
if number == 2 && model.is_ipo_company == 2 {
tempModel.is_ipo_company = 1
} else if number == 2 && model.is_ipo_company == 2 {
tempModel.has_company_equity = 2
tempModel.is_ipo_company = 2
}
if number == 3 && (model.is_ipo_company == 1 && model.has_ipo_company_equity == 1) {
} else if number == 3 && (model.is_ipo_company == 1 && model.has_ipo_company_equity == 1) {
tempModel.has_ipo_sales_reached = 2
tempModel.is_ipo_company = 1
tempModel.has_ipo_company_equity = 1
}
if number == 3 && (model.is_ipo_company == 2 && model.has_company_equity == 1) {
} else if number == 3 && (model.is_ipo_company == 2 && model.has_company_equity == 1) {
tempModel.has_sales_reached = 2
tempModel.is_ipo_company = 2
tempModel.has_company_equity = 1
} else {
return
}
tempModel.company_location = ""
tempModel.has_provide_certificate = 0
......
......@@ -16,18 +16,164 @@ class YHWorkExperienceListReasonTableViewCell: UITableViewCell {
var titleLabel: UILabel!
var lineView: UIView!
var messageLabel: UILabel!
var messageTwoLabel: UILabel!
var messageView: UIView!
var messageTextField: UITextView!
var promptsLabel: UILabel!
var messageNumberLabel: UILabel!
var messageTwoView: UIView!
var messageTwoLabel: UILabel!
var messageTwoTextField: UITextView!
var promptsTwoLabel: UILabel!
var messageTwoNumberLabel: UILabel!
var model: YHWorkModel? {
didSet {
if model?.has_work_time_empty == 1 && model?.has_work_time_overlap == 1 {
messageLabel.isHidden = false
messageView.isHidden = false
messageTextField.isHidden = false
promptsLabel.isHidden = false
messageNumberLabel.isHidden = false
messageTwoLabel.isHidden = false
messageTwoView.isHidden = false
messageTwoTextField.isHidden = false
promptsTwoLabel.isHidden = false
messageTwoNumberLabel.isHidden = false
messageLabel.snp.remakeConstraints { make in
make.left.equalTo(18)
make.right.equalTo(-18)
make.top.equalTo(68)
}
messageTwoLabel.snp.remakeConstraints { make in
make.left.equalTo(18)
make.right.equalTo(-18)
make.top.equalTo(306)
}
messageView.snp.remakeConstraints { make in
make.left.equalTo(18)
make.right.equalTo(-18)
make.top.equalTo(112)
make.height.equalTo(160)
}
messageTextField.snp.remakeConstraints { make in
make.left.equalTo(18)
make.right.equalTo(-18)
make.top.equalTo(112)
make.height.equalTo(128)
}
promptsLabel.snp.remakeConstraints { make in
make.left.equalTo(22)
make.right.equalTo(-22)
make.top.equalTo(116)
}
messageNumberLabel.snp.remakeConstraints { make in
make.right.equalTo(-30)
make.top.equalTo(240)
make.height.equalTo(20)
}
messageTwoView.snp.remakeConstraints { make in
make.left.equalTo(18)
make.right.equalTo(-18)
make.top.equalTo(350)
make.height.equalTo(160)
}
messageTwoTextField.snp.remakeConstraints { make in
make.left.equalTo(18)
make.right.equalTo(-18)
make.top.equalTo(350)
make.height.equalTo(128)
}
promptsTwoLabel.snp.remakeConstraints { make in
make.left.equalTo(22)
make.right.equalTo(-22)
make.top.equalTo(352)
}
messageTwoNumberLabel.snp.remakeConstraints { make in
make.right.equalTo(-30)
make.top.equalTo(478)
make.height.equalTo(20)
make.bottom.equalTo(-28)
}
} else if model?.has_work_time_empty == 1 {
messageTwoLabel.isHidden = true
messageTwoView.isHidden = true
messageTwoTextField.isHidden = true
promptsTwoLabel.isHidden = true
messageTwoNumberLabel.isHidden = true
messageLabel.isHidden = false
messageView.isHidden = false
messageTextField.isHidden = false
promptsLabel.isHidden = false
messageNumberLabel.isHidden = false
messageLabel.snp.remakeConstraints { make in
make.left.equalTo(18)
make.right.equalTo(-18)
make.top.equalTo(68)
}
messageView.snp.remakeConstraints { make in
make.left.equalTo(18)
make.right.equalTo(-18)
make.top.equalTo(112)
make.height.equalTo(160)
}
messageTextField.snp.remakeConstraints { make in
make.left.equalTo(18)
make.right.equalTo(-18)
make.top.equalTo(112)
make.height.equalTo(128)
}
promptsLabel.snp.remakeConstraints { make in
make.left.equalTo(22)
make.right.equalTo(-22)
make.top.equalTo(116)
}
messageNumberLabel.snp.remakeConstraints { make in
make.right.equalTo(-30)
make.top.equalTo(240)
make.height.equalTo(20)
make.bottom.equalTo(-28)
}
} else if model?.has_work_time_overlap == 1 {
messageLabel.isHidden = true
messageView.isHidden = true
messageTextField.isHidden = true
promptsLabel.isHidden = true
messageNumberLabel.isHidden = true
messageTwoLabel.isHidden = false
messageTwoView.isHidden = false
messageTwoTextField.isHidden = false
promptsTwoLabel.isHidden = false
messageTwoNumberLabel.isHidden = false
messageTwoLabel.snp.remakeConstraints { make in
make.left.equalTo(18)
make.right.equalTo(-18)
make.top.equalTo(68)
}
messageTwoView.snp.remakeConstraints { make in
make.left.equalTo(18)
make.right.equalTo(-18)
make.top.equalTo(112)
make.height.equalTo(160)
}
messageTwoTextField.snp.remakeConstraints { make in
make.left.equalTo(18)
make.right.equalTo(-18)
make.top.equalTo(112)
make.height.equalTo(128)
}
promptsTwoLabel.snp.remakeConstraints { make in
make.left.equalTo(22)
make.right.equalTo(-22)
make.top.equalTo(116)
}
messageTwoNumberLabel.snp.remakeConstraints { make in
make.right.equalTo(-30)
make.top.equalTo(240)
make.height.equalTo(20)
make.bottom.equalTo(-28)
}
}
messageTextField.text = model?.work_time_empty_remark
if messageTextField.text.count != 0 {
promptsLabel.isHidden = true
......@@ -258,6 +404,7 @@ class YHWorkExperienceListReasonTableViewCell: UITableViewCell {
make.right.equalTo(-30)
make.top.equalTo(478)
make.height.equalTo(20)
make.bottom.equalTo(-28)
}
}
}
......
......@@ -18,8 +18,8 @@ class YHWorkExperiencePositionViewModel: YHBaseViewModel {
func getBaseDataSource(_ isShowPrompt: Bool) -> [YHSectionWorkExperienceModel] {
let item = YHWorkExperienceModel(id: .id1, isNeed: true, title: "职位名称", isUserKeyBoard: true, prompts: "请输入", message: position.position_name, isShowPrompts: isShowPrompt, alertMessage:"请输入")
let item1 = YHWorkExperienceModel(id: .id2, isNeed: true, title: "职责性质", isUserKeyBoard: true, prompts: "请输入", message: position.wduty, isShowPrompts: isShowPrompt, alertMessage:"请输入")
let item2 = YHWorkExperienceModel(id: .id3, isNeed: false, title: "开始就职年月", isUserKeyBoard: false, prompts: "请选择", message: position.entry_time, type: .time)
let item3 = YHWorkExperienceModel(id: .id10, isNeed: false, title: "结束就职年月", isUserKeyBoard: false, prompts: "请选择", message: position.departure_time, type: .time)
let item2 = YHWorkExperienceModel(id: .id3, isNeed: true, title: "开始就职年月", isUserKeyBoard: false, prompts: "请选择", message: position.entry_time, type: .time)
let item3 = YHWorkExperienceModel(id: .id10, isNeed: true, title: "结束就职年月", isUserKeyBoard: false, prompts: "请选择", message: position.departure_time, type: .time)
let item6 = YHWorkExperienceModel(id: .id5, isNeed: true, title: "经验领域", isUserKeyBoard: false, prompts: "请选择", message: position.experience_scope, type: .field, isShowPrompts: isShowPrompt, alertMessage:"请选择")
let item66 = YHWorkExperienceModel(id: .id6, isNeed: true, title: "具体经验领域", isUserKeyBoard: true, prompts: "请输入", message: position.experience_sub_scope, type: .country, isShowPrompts: isShowPrompt, alertMessage:"请输入")
let item11 = YHWorkExperienceModel(id: .id7, isNeed: true, title: "相关工作经验是否属于国际工作经验", isUserKeyBoard: false, prompts: "", message: "\(position.is_international_work_experience)", leftButtonString: "是", rightButtonString: "否")
......@@ -118,15 +118,16 @@ class YHWorkExperiencePositionViewModel: YHBaseViewModel {
let is_international_work_experience = position.is_international_work_experience
let work_country = position.work_country
let work_city = position.work_city
let provide_certificate_type = position.provide_certificate_type
guard position_name.count > 0 else { return false }
guard wduty.count > 0 else { return false }
guard entry_time.count > 0 else { return false }
guard departure_time.count > 0 else { return false }
guard experience_scope.count > 0 else { return false }
guard is_international_work_experience > 0 else { return false }
guard work_country.count > 0 else { return false }
guard work_city.count > 0 else { return false }
guard provide_certificate_type != 5 else { return false }
if experience_scope == "其他" {
guard experience_sub_scope.count > 0 else { return false }
}
......
......@@ -127,9 +127,9 @@ class YHWorkExperienceViewModel: YHBaseViewModel {
func saveWorkDetail(workId: Int, callBackBlock:@escaping (_ success: Bool?, _ error:YHErrorModel?)->()) {
var file: [[String : Any]] = []
for item in mainModel.file {
let fileDic = ["file_name": item.fileName,
"file_url": item.fileUrl,
"uploaded_at": item.uploadedAt]
let fileDic = ["fileName": item.fileName,
"fileUrl": item.fileUrl,
"uploadedAt": item.uploadedAt]
file.append(fileDic)
}
let params: [String : Any] = ["next_step": 0,
......@@ -168,16 +168,7 @@ class YHWorkExperienceViewModel: YHBaseViewModel {
callBackBlock([],nil)
return
}
self.projectModels = result.list
var fileArray: [YHWorkExperienceFileModel] = []
for item in self.projectModels {
var model = YHWorkExperienceFileModel()
model.fileUrl = item.file_url
model.fileName = item.file_name
model.uploadedAt = item.uploaded_at
fileArray.append(model)
}
self.mainModel.file = fileArray
self.mainModel.file = result.list
callBackBlock([], nil)
} else {
let error : YHErrorModel = YHErrorModel(errorCode:Int32(json.code), errorMsg: json.msg)
......@@ -297,13 +288,13 @@ class YHWorkExperienceViewModel: YHBaseViewModel {
}
func saveWorkData(_ orderId: Int, workId: Int, callBackBlock:@escaping (_ success: Bool?, _ error:YHErrorModel?)->()) {
func saveWorkData(_ orderId: Int, workId: Int, _ step: Int = 1,callBackBlock:@escaping (_ success: Bool?, _ error:YHErrorModel?)->()) {
let params: [String : Any] = ["order_id": orderId,
"work_id": workId,
"company_name":mainModel.company_name,
"professional_level": mainModel.professional_level,
"work_certificate": mainModel.work_certificate,
"next_step": 1,
"next_step": step,
]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.WorkExperience.saveWorkData
let _ = YHNetRequest.postRequest(url: strUrl, params: params) { [weak self] json, code in
......@@ -348,10 +339,10 @@ class YHWorkExperienceViewModel: YHBaseViewModel {
}
}
func saveWorkDuty(workId: Int, callBackBlock:@escaping (_ success: Bool?, _ error:YHErrorModel?)->()) {
func saveWorkDuty(workId: Int, _ step: Int = 2, callBackBlock:@escaping (_ success: Bool?, _ error:YHErrorModel?)->()) {
let params: [String : Any] = ["work_id": workId,
"work_duty":dutyModel.work_duty,
"next_step": 2,
"next_step": step,
]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.WorkExperience.saveWorkDuty
let _ = YHNetRequest.postRequest(url: strUrl, params: params) { [weak self] json, code in
......@@ -396,7 +387,7 @@ class YHWorkExperienceViewModel: YHBaseViewModel {
}
}
func saveWorkHighlights(workId: Int, callBackBlock:@escaping (_ success: Bool?, _ error:YHErrorModel?)->()) {
func saveWorkHighlights(workId: Int, _ step: Int = 4, callBackBlock:@escaping (_ success: Bool?, _ error:YHErrorModel?)->()) {
let params: [String : Any] = ["work_id": workId,
"work_highlights": helightModel.work_highlights,
"next_step": 4,
......
......@@ -11,7 +11,7 @@ import UIKit
class YHWorkItemListViewModel: YHBaseViewModel {
var mainModel: YHWorkModel = YHWorkModel()
var listModel: [YHWorkItemListModel]?
var workId: Int = 0
override init() {
super.init()
}
......@@ -77,4 +77,28 @@ class YHWorkItemListViewModel: YHBaseViewModel {
callBackBlock(false, err)
}
}
func requestCreateNewWork(_ orderId: Int, callBackBlock:@escaping (_ success: [YHWorkItemListModel]?, _ error:YHErrorModel?)->()) {
// let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.WorkExperience.list + "?order_id=\(orderId)"
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.WorkExperience.createNewWork
let params: [String : Any] = ["order_id": orderId]
let _ = YHNetRequest.postRequest(url: strUrl,params: params) { [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 = YHWorkExperienceDetailModel.deserialize(from: dic) else {
callBackBlock([],nil)
return
}
self.workId = result.word_id
callBackBlock(self.listModel, nil)
} else {
let error : YHErrorModel = YHErrorModel(errorCode:Int32(json.code), errorMsg: json.msg)
callBackBlock([], error)
}
} failBlock: { err in
callBackBlock([],err)
}
}
}
......@@ -264,6 +264,7 @@ class YHAllApiName {
static let saveWorkDuty = "infoflow/work/v1/saveWorkDuty"
static let workHighlightsDetail = "infoflow/work/v1/workHighlightsDetail"
static let saveWorkHighlights = "infoflow/work/v1/saveWorkHighlights"
static let createNewWork = "infoflow/work/v1/createNewWork"
}
//登录
......
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