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

工作经验细节

parent 4a0d12cd
...@@ -130,9 +130,14 @@ extension YHWorkExperienceListViewController: UITableViewDelegate, UITableViewDa ...@@ -130,9 +130,14 @@ extension YHWorkExperienceListViewController: UITableViewDelegate, UITableViewDa
} }
cell.clickBlock = {[weak self] model in cell.clickBlock = {[weak self] model in
guard let self = self else { return } guard let self = self else { return }
let firstModel = self.dataSource?.first
let vc = YHWorkExperienceViewController() let vc = YHWorkExperienceViewController()
vc.workExperienceID = "\(model.id ?? 0)" vc.workExperienceID = "\(model.id ?? 0)"
vc.orderID = self.orderId vc.orderID = self.orderId
vc.isShowMessageSelect = true
if firstModel?.id == model.id {
vc.isShowMessageSelect = false
}
self.navigationController?.pushViewController(vc, animated: true) self.navigationController?.pushViewController(vc, animated: true)
} }
cell.deleteBlock = {[weak self] model in cell.deleteBlock = {[weak self] model in
...@@ -152,6 +157,7 @@ extension YHWorkExperienceListViewController: UITableViewDelegate, UITableViewDa ...@@ -152,6 +157,7 @@ extension YHWorkExperienceListViewController: UITableViewDelegate, UITableViewDa
YHHUD.flash(message: "新增工作经历不能超过10条") YHHUD.flash(message: "新增工作经历不能超过10条")
} else { } else {
let vc = YHWorkExperienceViewController() let vc = YHWorkExperienceViewController()
vc.isShowMessageSelect = true
vc.orderID = self.orderId vc.orderID = self.orderId
self.navigationController?.pushViewController(vc, animated: true) self.navigationController?.pushViewController(vc, animated: true)
} }
......
...@@ -20,6 +20,7 @@ class YHWorkExperienceViewController: YHBaseViewController { ...@@ -20,6 +20,7 @@ class YHWorkExperienceViewController: YHBaseViewController {
var orderID: Int = 0 var orderID: Int = 0
var isMore: Bool = false var isMore: Bool = false
var isShowPrompt: Bool = false var isShowPrompt: Bool = false
var isShowMessageSelect: Bool = true
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
...@@ -27,6 +28,8 @@ class YHWorkExperienceViewController: YHBaseViewController { ...@@ -27,6 +28,8 @@ class YHWorkExperienceViewController: YHBaseViewController {
gk_navTitle = "工作经验信息填写" gk_navTitle = "工作经验信息填写"
setView() setView()
getData() getData()
NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillShow(_:)), name: UIResponder.keyboardDidShowNotification, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillHide(_:)), name: UIResponder.keyboardDidHideNotification, object: nil)
// Do any additional setup after loading the view. // Do any additional setup after loading the view.
} }
...@@ -151,6 +154,39 @@ class YHWorkExperienceViewController: YHBaseViewController { ...@@ -151,6 +154,39 @@ class YHWorkExperienceViewController: YHBaseViewController {
} }
} }
@objc func keyboardWillShow(_ notification: Notification) {
// 当键盘将要显示时调用此函数
stepView.snp.remakeConstraints { make in
make.top.equalTo(k_Height_NavigationtBarAndStatuBar)
make.left.right.equalTo(view)
make.height.equalTo(0)
}
stepView.isHidden = true
tableView.snp.remakeConstraints { make in
make.top.equalTo(k_Height_NavigationtBarAndStatuBar)
make.bottom.equalTo(-k_Height_safeAreaInsetsBottom() - 64)
make.left.right.bottom.equalTo(view)
}
}
@objc func keyboardWillHide(_ notification: Notification) {
// 当键盘将要隐藏时调用此函数
stepView.snp.remakeConstraints { make in
make.top.equalTo(k_Height_NavigationtBarAndStatuBar)
make.left.right.equalTo(view)
make.height.equalTo(104)
}
stepView.isHidden = false
tableView.snp.remakeConstraints { make in
make.top.equalTo(k_Height_NavigationtBarAndStatuBar + YHStepView.height)
make.bottom.equalTo(-k_Height_safeAreaInsetsBottom() - 64)
make.left.right.bottom.equalTo(view)
}
}
deinit {
NotificationCenter.default.removeObserver(self)
}
} }
extension YHWorkExperienceViewController: UITableViewDelegate, UITableViewDataSource { extension YHWorkExperienceViewController: UITableViewDelegate, UITableViewDataSource {
...@@ -333,6 +369,7 @@ extension YHWorkExperienceViewController: UITableViewDelegate, UITableViewDataSo ...@@ -333,6 +369,7 @@ extension YHWorkExperienceViewController: UITableViewDelegate, UITableViewDataSo
self.viewModel.updateNotNeedUploadFile(value: value) self.viewModel.updateNotNeedUploadFile(value: value)
self.tableView.reloadData() self.tableView.reloadData()
} }
cell.isHidden = !self.isShowMessageSelect
return cell return cell
} else { } else {
let cell = tableView.dequeueReusableCell(withClass: YHWorkFileSyncTableViewCell.self) let cell = tableView.dequeueReusableCell(withClass: YHWorkFileSyncTableViewCell.self)
...@@ -382,6 +419,7 @@ extension YHWorkExperienceViewController: UITableViewDelegate, UITableViewDataSo ...@@ -382,6 +419,7 @@ extension YHWorkExperienceViewController: UITableViewDelegate, UITableViewDataSo
self.viewModel.updateNotNeedUploadFile(value: value) self.viewModel.updateNotNeedUploadFile(value: value)
self.tableView.reloadData() self.tableView.reloadData()
} }
cell.isHidden = !self.isShowMessageSelect
return cell return cell
} else { } else {
let cell = tableView.dequeueReusableCell(withClass: YHWorkFileSyncTableViewCell.self) let cell = tableView.dequeueReusableCell(withClass: YHWorkFileSyncTableViewCell.self)
...@@ -427,8 +465,11 @@ extension YHWorkExperienceViewController: UITableViewDelegate, UITableViewDataSo ...@@ -427,8 +465,11 @@ extension YHWorkExperienceViewController: UITableViewDelegate, UITableViewDataSo
cell.workExperienceBlock = {[weak self] model in cell.workExperienceBlock = {[weak self] model in
guard let self = self else { return } guard let self = self else { return }
self.viewModel.updateModel(model) self.viewModel.updateModel(model)
let id = model.id
if id != .id1 && id != .id3 && id != .id4 && id != .id7 && id != .id8 && id != .id12 && id != .id14 && id != .id17 && id != .id17 && id != .id18 {
self.updateDataSource() self.updateDataSource()
} }
}
return cell return cell
} }
} }
...@@ -442,7 +483,11 @@ extension YHWorkExperienceViewController: UITableViewDelegate, UITableViewDataSo ...@@ -442,7 +483,11 @@ extension YHWorkExperienceViewController: UITableViewDelegate, UITableViewDataSo
return CGFloat(76 * number + 161) return CGFloat(76 * number + 161)
} else { } else {
if indexPath.row == 0 { if indexPath.row == 0 {
if self.isShowMessageSelect {
return 166 return 166
} else {
return 0
}
} else { } else {
let count = fileDataSource?.count ?? 0 let count = fileDataSource?.count ?? 0
return CGFloat(52 * count + 145) return CGFloat(52 * count + 145)
...@@ -450,7 +495,11 @@ extension YHWorkExperienceViewController: UITableViewDelegate, UITableViewDataSo ...@@ -450,7 +495,11 @@ extension YHWorkExperienceViewController: UITableViewDelegate, UITableViewDataSo
} }
} else if stepView.currentIndex == 4 { } else if stepView.currentIndex == 4 {
if indexPath.row == 0 { if indexPath.row == 0 {
if self.isShowMessageSelect {
return 166 return 166
} else {
return 0
}
} else { } else {
let count = fileDataSource?.count ?? 0 let count = fileDataSource?.count ?? 0
return CGFloat(52 * count + 145) return CGFloat(52 * count + 145)
......
...@@ -268,6 +268,22 @@ class YHWorkIntroductionViewController: YHBaseViewController { ...@@ -268,6 +268,22 @@ class YHWorkIntroductionViewController: YHBaseViewController {
} }
@objc func submit() { @objc func submit() {
guard let _ = dataSource.project_name else {
YHHUD.flash(message: "您还有信息未填写")
return
}
guard let _ = dataSource.project_start_time else {
YHHUD.flash(message: "您还有信息未填写")
return
}
guard let _ = dataSource.project_end_time else {
YHHUD.flash(message: "您还有信息未填写")
return
}
guard let _ = dataSource.project_highlights else {
YHHUD.flash(message: "您还有信息未填写")
return
}
viewModel?.saveWorkProjectDetail(workModel ?? YHWorkExperienceDetailModel(), projectModel: dataSource, callBackBlock: {[weak self] success, error in viewModel?.saveWorkProjectDetail(workModel ?? YHWorkExperienceDetailModel(), projectModel: dataSource, callBackBlock: {[weak self] success, error in
guard let self = self else { return } guard let self = self else { return }
if let block = self.saveBlock { if let block = self.saveBlock {
...@@ -309,6 +325,12 @@ extension YHWorkIntroductionViewController: UITextViewDelegate { ...@@ -309,6 +325,12 @@ extension YHWorkIntroductionViewController: UITextViewDelegate {
promptsLabel.isHidden = false promptsLabel.isHidden = false
} }
} }
func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
let newLength = (textView.text as NSString).length + text.count - range.length
return newLength <= 2000
}
} }
extension YHWorkIntroductionViewController: UITextFieldDelegate { extension YHWorkIntroductionViewController: UITextFieldDelegate {
......
...@@ -287,6 +287,7 @@ class YHWorkExperienceItemView: UIView { ...@@ -287,6 +287,7 @@ class YHWorkExperienceItemView: UIView {
} }
@objc func centerClick() { @objc func centerClick() {
UIViewController.current?.view.endEditing(true) // 收起键盘
guard let type = dataSource?.type else { return } guard let type = dataSource?.type else { return }
switch type { switch type {
case .normal: case .normal:
...@@ -383,9 +384,32 @@ class YHWorkExperienceItemView: UIView { ...@@ -383,9 +384,32 @@ class YHWorkExperienceItemView: UIView {
extension YHWorkExperienceItemView: UITextFieldDelegate { extension YHWorkExperienceItemView: UITextFieldDelegate {
func textFieldDidEndEditing(_ textField: UITextField) { func textFieldDidEndEditing(_ textField: UITextField) {
dataSource?.message = textField.text
}
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
let newText = (textField.text! as NSString).replacingCharacters(in: range, with: string)
if (dataSource?.id == .id1 || dataSource?.id == .id7 || dataSource?.id == .id8 || dataSource?.id == .id12 || dataSource?.id == .id14 || dataSource?.id == .id16 || dataSource?.id == .id18) && newText.count > 100 {
return false
}
if dataSource?.id == .id3 && newText.count > 2000 {
return false
}
if dataSource?.id == .id4 && newText.count > 500 {
return false
}
if dataSource?.id == .id17 && newText.count > 10 {
return false
}
var data = dataSource ?? YHWorkExperienceModel()
data.message = newText
if let block = block { if let block = block {
block(dataSource ?? YHWorkExperienceModel()) block(data)
} }
return true
} }
} }
...@@ -232,4 +232,9 @@ extension YHWorkHighlightsTableViewCell: UITextViewDelegate { ...@@ -232,4 +232,9 @@ extension YHWorkHighlightsTableViewCell: UITextViewDelegate {
block(textView.text ?? "") block(textView.text ?? "")
} }
} }
func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
let newLength = (textView.text as NSString).length + text.count - range.length
return newLength <= 2000
}
} }
...@@ -184,4 +184,10 @@ extension YHWorkResponsibilitiesTableViewCell: UITextViewDelegate { ...@@ -184,4 +184,10 @@ extension YHWorkResponsibilitiesTableViewCell: UITextViewDelegate {
block(textView.text ?? "") block(textView.text ?? "")
} }
} }
func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
let newLength = (textView.text as NSString).length + text.count - range.length
return newLength <= 2000
}
} }
...@@ -382,10 +382,35 @@ class YHWorkExperienceViewModel: YHBaseViewModel { ...@@ -382,10 +382,35 @@ class YHWorkExperienceViewModel: YHBaseViewModel {
guard message.count > 0 else { return false } guard message.count > 0 else { return false }
return true return true
} else if step == 3 { } else if step == 3 {
let message = mainModel.highlights //todo
let message = mainModel.is_project_introduction
let file = mainModel.file
let uploadFile = mainModel.not_need_upload_file
if message == 1 {
return true
} else {
if uploadFile == 1 {
return true
} else {
if file.count != 0 {
return true
} else {
return false
}
}
}
} else {
let file = mainModel.file
let uploadFile = mainModel.not_need_upload_file
if uploadFile == 1 {
return true return true
} else { } else {
if file.count != 0 {
return true return true
} else {
return false
}
}
} }
} }
} }
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