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

工作经验bug 修复

parent 32124e8d
...@@ -120,6 +120,9 @@ class YHWorkExperienceListViewController: YHBaseViewController { ...@@ -120,6 +120,9 @@ class YHWorkExperienceListViewController: YHBaseViewController {
extension YHWorkExperienceListViewController: UITableViewDelegate, UITableViewDataSource { extension YHWorkExperienceListViewController: UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 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 return 3
} }
...@@ -164,10 +167,14 @@ extension YHWorkExperienceListViewController: UITableViewDelegate, UITableViewDa ...@@ -164,10 +167,14 @@ extension YHWorkExperienceListViewController: UITableViewDelegate, UITableViewDa
if self.dataSource?.count == 10 { if self.dataSource?.count == 10 {
YHHUD.flash(message: "新增工作经历不能超过10条") YHHUD.flash(message: "新增工作经历不能超过10条")
} else { } else {
let vc = YHWorkExperienceViewController() self.viewModel?.requestCreateNewWork(self.orderId, callBackBlock: {[weak self] success, error in
vc.isShowMessageSelect = true guard let self = self else { return }
vc.orderID = self.orderId let vc = YHWorkExperienceViewController()
self.navigationController?.pushViewController(vc, animated: true) vc.isShowMessageSelect = true
vc.orderID = self.orderId
vc.workExperienceID = "\(self.viewModel?.workId ?? 0)"
self.navigationController?.pushViewController(vc, animated: true)
})
} }
} }
cell.backgroundColor = .clear cell.backgroundColor = .clear
...@@ -196,7 +203,7 @@ extension YHWorkExperienceListViewController: UITableViewDelegate, UITableViewDa ...@@ -196,7 +203,7 @@ extension YHWorkExperienceListViewController: UITableViewDelegate, UITableViewDa
return 104 return 104
} }
if indexPath.row == 2 { if indexPath.row == 2 {
return 540 return UITableView.automaticDimension
} }
let number = dataSource?.count ?? 0 let number = dataSource?.count ?? 0
var height = 23 + 154 var height = 23 + 154
......
...@@ -309,7 +309,7 @@ class YHWorkExperienceViewController: YHBaseViewController { ...@@ -309,7 +309,7 @@ class YHWorkExperienceViewController: YHBaseViewController {
bottom.saveBlock = { [weak self] in bottom.saveBlock = { [weak self] in
guard let self = self else { return } guard let self = self else { return }
if self.stepView.currentIndex == 0 { 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 } guard let self = self else { return }
bottom.nextButton.isEnabled = true bottom.nextButton.isEnabled = true
if let error = error { if let error = error {
...@@ -320,7 +320,7 @@ class YHWorkExperienceViewController: YHBaseViewController { ...@@ -320,7 +320,7 @@ class YHWorkExperienceViewController: YHBaseViewController {
} }
} }
} else if self.stepView.currentIndex == 1 { } 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 } guard let self = self else { return }
bottom.nextButton.isEnabled = true bottom.nextButton.isEnabled = true
if let error = error { if let error = error {
...@@ -330,7 +330,7 @@ class YHWorkExperienceViewController: YHBaseViewController { ...@@ -330,7 +330,7 @@ class YHWorkExperienceViewController: YHBaseViewController {
} }
} }
} else if self.stepView.currentIndex == 2 { } 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 } guard let self = self else { return }
bottom.nextButton.isEnabled = true bottom.nextButton.isEnabled = true
if let error = error { if let error = error {
......
...@@ -10,7 +10,7 @@ import UIKit ...@@ -10,7 +10,7 @@ import UIKit
import SmartCodable import SmartCodable
class YHWorkExperienceProjectModel: SmartCodable { class YHWorkExperienceProjectModel: SmartCodable {
var list: [YHWorkExperienceProjectListModel] = [] var list: [YHWorkExperienceFileModel] = []
required init() { required init() {
} }
} }
......
...@@ -16,18 +16,164 @@ class YHWorkExperienceListReasonTableViewCell: UITableViewCell { ...@@ -16,18 +16,164 @@ class YHWorkExperienceListReasonTableViewCell: UITableViewCell {
var titleLabel: UILabel! var titleLabel: UILabel!
var lineView: UIView! var lineView: UIView!
var messageLabel: UILabel! var messageLabel: UILabel!
var messageTwoLabel: UILabel!
var messageView: UIView! var messageView: UIView!
var messageTextField: UITextView! var messageTextField: UITextView!
var promptsLabel: UILabel! var promptsLabel: UILabel!
var messageNumberLabel: UILabel! var messageNumberLabel: UILabel!
var messageTwoView: UIView! var messageTwoView: UIView!
var messageTwoLabel: UILabel!
var messageTwoTextField: UITextView! var messageTwoTextField: UITextView!
var promptsTwoLabel: UILabel! var promptsTwoLabel: UILabel!
var messageTwoNumberLabel: UILabel! var messageTwoNumberLabel: UILabel!
var model: YHWorkModel? { var model: YHWorkModel? {
didSet { 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 messageTextField.text = model?.work_time_empty_remark
if messageTextField.text.count != 0 { if messageTextField.text.count != 0 {
promptsLabel.isHidden = true promptsLabel.isHidden = true
...@@ -258,6 +404,7 @@ class YHWorkExperienceListReasonTableViewCell: UITableViewCell { ...@@ -258,6 +404,7 @@ class YHWorkExperienceListReasonTableViewCell: UITableViewCell {
make.right.equalTo(-30) make.right.equalTo(-30)
make.top.equalTo(478) make.top.equalTo(478)
make.height.equalTo(20) make.height.equalTo(20)
make.bottom.equalTo(-28)
} }
} }
} }
......
...@@ -127,9 +127,9 @@ class YHWorkExperienceViewModel: YHBaseViewModel { ...@@ -127,9 +127,9 @@ class YHWorkExperienceViewModel: YHBaseViewModel {
func saveWorkDetail(workId: Int, callBackBlock:@escaping (_ success: Bool?, _ error:YHErrorModel?)->()) { func saveWorkDetail(workId: Int, callBackBlock:@escaping (_ success: Bool?, _ error:YHErrorModel?)->()) {
var file: [[String : Any]] = [] var file: [[String : Any]] = []
for item in mainModel.file { for item in mainModel.file {
let fileDic = ["file_name": item.fileName, let fileDic = ["fileName": item.fileName,
"file_url": item.fileUrl, "fileUrl": item.fileUrl,
"uploaded_at": item.uploadedAt] "uploadedAt": item.uploadedAt]
file.append(fileDic) file.append(fileDic)
} }
let params: [String : Any] = ["next_step": 0, let params: [String : Any] = ["next_step": 0,
...@@ -168,16 +168,7 @@ class YHWorkExperienceViewModel: YHBaseViewModel { ...@@ -168,16 +168,7 @@ class YHWorkExperienceViewModel: YHBaseViewModel {
callBackBlock([],nil) callBackBlock([],nil)
return return
} }
self.projectModels = result.list self.mainModel.file = 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
callBackBlock([], nil) callBackBlock([], nil)
} else { } else {
let error : YHErrorModel = YHErrorModel(errorCode:Int32(json.code), errorMsg: json.msg) let error : YHErrorModel = YHErrorModel(errorCode:Int32(json.code), errorMsg: json.msg)
...@@ -297,13 +288,13 @@ class YHWorkExperienceViewModel: YHBaseViewModel { ...@@ -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, let params: [String : Any] = ["order_id": orderId,
"work_id": workId, "work_id": workId,
"company_name":mainModel.company_name, "company_name":mainModel.company_name,
"professional_level": mainModel.professional_level, "professional_level": mainModel.professional_level,
"work_certificate": mainModel.work_certificate, "work_certificate": mainModel.work_certificate,
"next_step": 1, "next_step": step,
] ]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.WorkExperience.saveWorkData let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.WorkExperience.saveWorkData
let _ = YHNetRequest.postRequest(url: strUrl, params: params) { [weak self] json, code in let _ = YHNetRequest.postRequest(url: strUrl, params: params) { [weak self] json, code in
...@@ -348,10 +339,10 @@ class YHWorkExperienceViewModel: YHBaseViewModel { ...@@ -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, let params: [String : Any] = ["work_id": workId,
"work_duty":dutyModel.work_duty, "work_duty":dutyModel.work_duty,
"next_step": 2, "next_step": step,
] ]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.WorkExperience.saveWorkDuty let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.WorkExperience.saveWorkDuty
let _ = YHNetRequest.postRequest(url: strUrl, params: params) { [weak self] json, code in let _ = YHNetRequest.postRequest(url: strUrl, params: params) { [weak self] json, code in
...@@ -396,7 +387,7 @@ class YHWorkExperienceViewModel: YHBaseViewModel { ...@@ -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, let params: [String : Any] = ["work_id": workId,
"work_highlights": helightModel.work_highlights, "work_highlights": helightModel.work_highlights,
"next_step": 4, "next_step": 4,
......
...@@ -11,7 +11,7 @@ import UIKit ...@@ -11,7 +11,7 @@ import UIKit
class YHWorkItemListViewModel: YHBaseViewModel { class YHWorkItemListViewModel: YHBaseViewModel {
var mainModel: YHWorkModel = YHWorkModel() var mainModel: YHWorkModel = YHWorkModel()
var listModel: [YHWorkItemListModel]? var listModel: [YHWorkItemListModel]?
var workId: Int = 0
override init() { override init() {
super.init() super.init()
} }
...@@ -77,4 +77,28 @@ class YHWorkItemListViewModel: YHBaseViewModel { ...@@ -77,4 +77,28 @@ class YHWorkItemListViewModel: YHBaseViewModel {
callBackBlock(false, err) 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)
}
}
} }
...@@ -267,6 +267,7 @@ class YHAllApiName { ...@@ -267,6 +267,7 @@ class YHAllApiName {
static let saveWorkDuty = "infoflow/work/v1/saveWorkDuty" static let saveWorkDuty = "infoflow/work/v1/saveWorkDuty"
static let workHighlightsDetail = "infoflow/work/v1/workHighlightsDetail" static let workHighlightsDetail = "infoflow/work/v1/workHighlightsDetail"
static let saveWorkHighlights = "infoflow/work/v1/saveWorkHighlights" 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