Commit 7141f62b authored by pete谢兆麟's avatar pete谢兆麟

工作经验细节

parent 55e7791a
...@@ -357,13 +357,11 @@ ...@@ -357,13 +357,11 @@
045EEEB22B9F171A0022A143 /* YHWorkActionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045EEDDB2B9F171A0022A143 /* YHWorkActionView.swift */; }; 045EEEB22B9F171A0022A143 /* YHWorkActionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045EEDDB2B9F171A0022A143 /* YHWorkActionView.swift */; };
045EEEB32B9F171A0022A143 /* YHWorkFileSyncTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045EEDDC2B9F171A0022A143 /* YHWorkFileSyncTableViewCell.swift */; }; 045EEEB32B9F171A0022A143 /* YHWorkFileSyncTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045EEDDC2B9F171A0022A143 /* YHWorkFileSyncTableViewCell.swift */; };
045EEEB42B9F171A0022A143 /* YHWorkExampleMessageTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045EEDDD2B9F171A0022A143 /* YHWorkExampleMessageTableViewCell.swift */; }; 045EEEB42B9F171A0022A143 /* YHWorkExampleMessageTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045EEDDD2B9F171A0022A143 /* YHWorkExampleMessageTableViewCell.swift */; };
045EEEB52B9F171A0022A143 /* YHWorkIntroductionItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045EEDDE2B9F171A0022A143 /* YHWorkIntroductionItemView.swift */; };
045EEEB62B9F171A0022A143 /* YHWorkExperienceItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045EEDDF2B9F171A0022A143 /* YHWorkExperienceItemView.swift */; }; 045EEEB62B9F171A0022A143 /* YHWorkExperienceItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045EEDDF2B9F171A0022A143 /* YHWorkExperienceItemView.swift */; };
045EEEB72B9F171A0022A143 /* YHWorkItemAddView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045EEDE02B9F171A0022A143 /* YHWorkItemAddView.swift */; }; 045EEEB72B9F171A0022A143 /* YHWorkItemAddView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045EEDE02B9F171A0022A143 /* YHWorkItemAddView.swift */; };
045EEEB82B9F171A0022A143 /* YHWorkExampleMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045EEDE12B9F171A0022A143 /* YHWorkExampleMessageView.swift */; }; 045EEEB82B9F171A0022A143 /* YHWorkExampleMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045EEDE12B9F171A0022A143 /* YHWorkExampleMessageView.swift */; };
045EEEB92B9F171A0022A143 /* YHWorkMessageSelectTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045EEDE22B9F171A0022A143 /* YHWorkMessageSelectTableViewCell.swift */; }; 045EEEB92B9F171A0022A143 /* YHWorkMessageSelectTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045EEDE22B9F171A0022A143 /* YHWorkMessageSelectTableViewCell.swift */; };
045EEEBA2B9F171A0022A143 /* YHWorkResponsibilitiesTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045EEDE32B9F171A0022A143 /* YHWorkResponsibilitiesTableViewCell.swift */; }; 045EEEBA2B9F171A0022A143 /* YHWorkResponsibilitiesTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045EEDE32B9F171A0022A143 /* YHWorkResponsibilitiesTableViewCell.swift */; };
045EEEBB2B9F171A0022A143 /* YHWorkIntroductionTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045EEDE42B9F171A0022A143 /* YHWorkIntroductionTableViewCell.swift */; };
045EEEBC2B9F171A0022A143 /* YHClipperButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045EEDE52B9F171A0022A143 /* YHClipperButton.swift */; }; 045EEEBC2B9F171A0022A143 /* YHClipperButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045EEDE52B9F171A0022A143 /* YHClipperButton.swift */; };
045EEEBD2B9F171A0022A143 /* YHWorkExampleTypeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045EEDE62B9F171A0022A143 /* YHWorkExampleTypeView.swift */; }; 045EEEBD2B9F171A0022A143 /* YHWorkExampleTypeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045EEDE62B9F171A0022A143 /* YHWorkExampleTypeView.swift */; };
045EEEBE2B9F171A0022A143 /* YHResultBottomView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045EEDE72B9F171A0022A143 /* YHResultBottomView.swift */; }; 045EEEBE2B9F171A0022A143 /* YHResultBottomView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045EEDE72B9F171A0022A143 /* YHResultBottomView.swift */; };
...@@ -1392,13 +1390,11 @@ ...@@ -1392,13 +1390,11 @@
045EEDDB2B9F171A0022A143 /* YHWorkActionView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHWorkActionView.swift; sourceTree = "<group>"; }; 045EEDDB2B9F171A0022A143 /* YHWorkActionView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHWorkActionView.swift; sourceTree = "<group>"; };
045EEDDC2B9F171A0022A143 /* YHWorkFileSyncTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHWorkFileSyncTableViewCell.swift; sourceTree = "<group>"; }; 045EEDDC2B9F171A0022A143 /* YHWorkFileSyncTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHWorkFileSyncTableViewCell.swift; sourceTree = "<group>"; };
045EEDDD2B9F171A0022A143 /* YHWorkExampleMessageTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHWorkExampleMessageTableViewCell.swift; sourceTree = "<group>"; }; 045EEDDD2B9F171A0022A143 /* YHWorkExampleMessageTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHWorkExampleMessageTableViewCell.swift; sourceTree = "<group>"; };
045EEDDE2B9F171A0022A143 /* YHWorkIntroductionItemView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHWorkIntroductionItemView.swift; sourceTree = "<group>"; };
045EEDDF2B9F171A0022A143 /* YHWorkExperienceItemView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHWorkExperienceItemView.swift; sourceTree = "<group>"; }; 045EEDDF2B9F171A0022A143 /* YHWorkExperienceItemView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHWorkExperienceItemView.swift; sourceTree = "<group>"; };
045EEDE02B9F171A0022A143 /* YHWorkItemAddView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHWorkItemAddView.swift; sourceTree = "<group>"; }; 045EEDE02B9F171A0022A143 /* YHWorkItemAddView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHWorkItemAddView.swift; sourceTree = "<group>"; };
045EEDE12B9F171A0022A143 /* YHWorkExampleMessageView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHWorkExampleMessageView.swift; sourceTree = "<group>"; }; 045EEDE12B9F171A0022A143 /* YHWorkExampleMessageView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHWorkExampleMessageView.swift; sourceTree = "<group>"; };
045EEDE22B9F171A0022A143 /* YHWorkMessageSelectTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHWorkMessageSelectTableViewCell.swift; sourceTree = "<group>"; }; 045EEDE22B9F171A0022A143 /* YHWorkMessageSelectTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHWorkMessageSelectTableViewCell.swift; sourceTree = "<group>"; };
045EEDE32B9F171A0022A143 /* YHWorkResponsibilitiesTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHWorkResponsibilitiesTableViewCell.swift; sourceTree = "<group>"; }; 045EEDE32B9F171A0022A143 /* YHWorkResponsibilitiesTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHWorkResponsibilitiesTableViewCell.swift; sourceTree = "<group>"; };
045EEDE42B9F171A0022A143 /* YHWorkIntroductionTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHWorkIntroductionTableViewCell.swift; sourceTree = "<group>"; };
045EEDE52B9F171A0022A143 /* YHClipperButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHClipperButton.swift; sourceTree = "<group>"; }; 045EEDE52B9F171A0022A143 /* YHClipperButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHClipperButton.swift; sourceTree = "<group>"; };
045EEDE62B9F171A0022A143 /* YHWorkExampleTypeView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHWorkExampleTypeView.swift; sourceTree = "<group>"; }; 045EEDE62B9F171A0022A143 /* YHWorkExampleTypeView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHWorkExampleTypeView.swift; sourceTree = "<group>"; };
045EEDE72B9F171A0022A143 /* YHResultBottomView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHResultBottomView.swift; sourceTree = "<group>"; }; 045EEDE72B9F171A0022A143 /* YHResultBottomView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHResultBottomView.swift; sourceTree = "<group>"; };
...@@ -2999,13 +2995,11 @@ ...@@ -2999,13 +2995,11 @@
045EEDDB2B9F171A0022A143 /* YHWorkActionView.swift */, 045EEDDB2B9F171A0022A143 /* YHWorkActionView.swift */,
045EEDDC2B9F171A0022A143 /* YHWorkFileSyncTableViewCell.swift */, 045EEDDC2B9F171A0022A143 /* YHWorkFileSyncTableViewCell.swift */,
045EEDDD2B9F171A0022A143 /* YHWorkExampleMessageTableViewCell.swift */, 045EEDDD2B9F171A0022A143 /* YHWorkExampleMessageTableViewCell.swift */,
045EEDDE2B9F171A0022A143 /* YHWorkIntroductionItemView.swift */,
045EEDDF2B9F171A0022A143 /* YHWorkExperienceItemView.swift */, 045EEDDF2B9F171A0022A143 /* YHWorkExperienceItemView.swift */,
045EEDE02B9F171A0022A143 /* YHWorkItemAddView.swift */, 045EEDE02B9F171A0022A143 /* YHWorkItemAddView.swift */,
045EEDE12B9F171A0022A143 /* YHWorkExampleMessageView.swift */, 045EEDE12B9F171A0022A143 /* YHWorkExampleMessageView.swift */,
045EEDE22B9F171A0022A143 /* YHWorkMessageSelectTableViewCell.swift */, 045EEDE22B9F171A0022A143 /* YHWorkMessageSelectTableViewCell.swift */,
045EEDE32B9F171A0022A143 /* YHWorkResponsibilitiesTableViewCell.swift */, 045EEDE32B9F171A0022A143 /* YHWorkResponsibilitiesTableViewCell.swift */,
045EEDE42B9F171A0022A143 /* YHWorkIntroductionTableViewCell.swift */,
045EEDE52B9F171A0022A143 /* YHClipperButton.swift */, 045EEDE52B9F171A0022A143 /* YHClipperButton.swift */,
045EEDE62B9F171A0022A143 /* YHWorkExampleTypeView.swift */, 045EEDE62B9F171A0022A143 /* YHWorkExampleTypeView.swift */,
047619E82BA9867100F45358 /* YHCountryHotView.swift */, 047619E82BA9867100F45358 /* YHCountryHotView.swift */,
...@@ -6263,7 +6257,6 @@ ...@@ -6263,7 +6257,6 @@
A5ACE9482B4564F7002C94D2 /* YHHUDWariningView.swift in Sources */, A5ACE9482B4564F7002C94D2 /* YHHUDWariningView.swift in Sources */,
045EEF0F2B9F171A0022A143 /* YHSelectCountryViewModel.swift in Sources */, 045EEF0F2B9F171A0022A143 /* YHSelectCountryViewModel.swift in Sources */,
04F2432B2C942B5100DF2C74 /* YHResignDocumentTipsCell.swift in Sources */, 04F2432B2C942B5100DF2C74 /* YHResignDocumentTipsCell.swift in Sources */,
045EEEB52B9F171A0022A143 /* YHWorkIntroductionItemView.swift in Sources */,
A567E59F2BD7643D00D5D5A0 /* YHStartPageViewController.swift in Sources */, A567E59F2BD7643D00D5D5A0 /* YHStartPageViewController.swift in Sources */,
045EEF202B9F171A0022A143 /* YHCardExampleView.swift in Sources */, 045EEF202B9F171A0022A143 /* YHCardExampleView.swift in Sources */,
A567E5A72BD7643D00D5D5A0 /* YHHomeKingKongBlockView.swift in Sources */, A567E5A72BD7643D00D5D5A0 /* YHHomeKingKongBlockView.swift in Sources */,
...@@ -6511,7 +6504,6 @@ ...@@ -6511,7 +6504,6 @@
045EEE822B9F171A0022A143 /* YHPersonInfoIdentityCardModel.swift in Sources */, 045EEE822B9F171A0022A143 /* YHPersonInfoIdentityCardModel.swift in Sources */,
045EEE952B9F171A0022A143 /* YHPreviewInfoCertificateInformationItemsView.swift in Sources */, 045EEE952B9F171A0022A143 /* YHPreviewInfoCertificateInformationItemsView.swift in Sources */,
044D0C042C2180B700C5CF5E /* YHInformationAuthorizationStepTwoViewController.swift in Sources */, 044D0C042C2180B700C5CF5E /* YHInformationAuthorizationStepTwoViewController.swift in Sources */,
045EEEBB2B9F171A0022A143 /* YHWorkIntroductionTableViewCell.swift in Sources */,
04912F762CB77F4500CC3105 /* YHResignLeaveHKSwitchItemView.swift in Sources */, 04912F762CB77F4500CC3105 /* YHResignLeaveHKSwitchItemView.swift in Sources */,
044EE2382C92BBC500A2FE3A /* YHResignCertificateListTableViewCell.swift in Sources */, 044EE2382C92BBC500A2FE3A /* YHResignCertificateListTableViewCell.swift in Sources */,
045EEEED2B9F171A0022A143 /* YHParentInfoVC.swift in Sources */, 045EEEED2B9F171A0022A143 /* YHParentInfoVC.swift in Sources */,
......
...@@ -16,7 +16,6 @@ class YHWorkExperienceViewController: YHBaseViewController { ...@@ -16,7 +16,6 @@ class YHWorkExperienceViewController: YHBaseViewController {
var tableView: UITableView! var tableView: UITableView!
var viewModel: YHWorkExperienceViewModel! var viewModel: YHWorkExperienceViewModel!
var baseDataSource: [YHSectionWorkExperienceModel]? var baseDataSource: [YHSectionWorkExperienceModel]?
var introductionDataSource: [YHWorkExperienceProjectModel]?
var fileDataSource: [YHWorkExperienceFileModel]? var fileDataSource: [YHWorkExperienceFileModel]?
var workExperienceID: String? var workExperienceID: String?
var orderID: Int = 0 var orderID: Int = 0
...@@ -108,12 +107,15 @@ class YHWorkExperienceViewController: YHBaseViewController { ...@@ -108,12 +107,15 @@ class YHWorkExperienceViewController: YHBaseViewController {
viewModel.requestWorkExample { success, error in viewModel.requestWorkExample { success, error in
} }
viewModel.requestWorkPositionList("\(orderID)", workExperienceID ?? "") {[weak self] success, error in if workExperienceID == "" {
guard let self = self else { return } self.stepView.currentIndex = 0
self.stepView.maxIndex = 0
self.updateDataSource() self.updateDataSource()
return
} }
viewModel.requestWorkStep("\(orderID)", workExperienceID ?? "") { success, error in viewModel.requestWorkStep("\(orderID)", workExperienceID ?? "") {[weak self] success, error in
if self.stepView.currentIndex < 3 { guard let self = self else { return }
if self.viewModel.stepModel.step < 3 {
self.stepView.currentIndex = self.viewModel.stepModel.step self.stepView.currentIndex = self.viewModel.stepModel.step
self.stepView.maxIndex = self.viewModel.stepModel.step self.stepView.maxIndex = self.viewModel.stepModel.step
} else { } else {
...@@ -121,24 +123,28 @@ class YHWorkExperienceViewController: YHBaseViewController { ...@@ -121,24 +123,28 @@ class YHWorkExperienceViewController: YHBaseViewController {
self.stepView.maxIndex = 3 self.stepView.maxIndex = 3
} }
self.stepView.dataSource = ["基本信息", "工作职责", "工作亮点", "简历/工作总结"] self.stepView.dataSource = ["基本信息", "工作职责", "工作亮点", "简历/工作总结"]
} viewModel.requestWorkPositionList("\(orderID)", workExperienceID ?? "") {[weak self] success, error in
viewModel.requestworkDutyDetail(workExperienceID ?? "") {[weak self] success, error in guard let self = self else { return }
guard let self = self else { return } self.updateDataSource()
} }
viewModel.requestWorkHighlightsDetail(workExperienceID ?? "") {[weak self] success, error in viewModel.requestworkDutyDetail(workExperienceID ?? "") {[weak self] success, error in
guard let self = self else { return } guard let self = self else { return }
} self.updateDataSource()
viewModel.requestWorkDetail("\(orderID)", workExperienceID ?? "") {[weak self] success, error in }
guard let self = self else { return } viewModel.requestWorkHighlightsDetail(workExperienceID ?? "") {[weak self] success, error in
self.updateDataSource() guard let self = self else { return }
self.viewModel.requestWorkInfoProject("\(self.viewModel.mainModel.word_id)") {[weak self] success, error in self.updateDataSource()
}
viewModel.requestWorkDetail("\(orderID)", workExperienceID ?? "") {[weak self] success, error in
guard let self = self else { return }
self.updateDataSource()
}
self.viewModel.requestWorkInfoProject(workExperienceID ?? "") {[weak self] success, error in
guard let self = self else { return } guard let self = self else { return }
self.introductionDataSource = success
self.fileDataSource = self.viewModel.mainModel.file self.fileDataSource = self.viewModel.mainModel.file
self.updateDataSource() self.updateDataSource()
} }
} }
updateDataSource()
} }
func updateDataSource() { func updateDataSource() {
...@@ -220,7 +226,6 @@ class YHWorkExperienceViewController: YHBaseViewController { ...@@ -220,7 +226,6 @@ class YHWorkExperienceViewController: YHBaseViewController {
tableView.register(cellWithClass: YHWorkExperienceTableViewCell.self) tableView.register(cellWithClass: YHWorkExperienceTableViewCell.self)
tableView.register(cellWithClass: YHWorkResponsibilitiesTableViewCell.self) tableView.register(cellWithClass: YHWorkResponsibilitiesTableViewCell.self)
tableView.register(cellWithClass: YHWorkHighlightsTableViewCell.self) tableView.register(cellWithClass: YHWorkHighlightsTableViewCell.self)
tableView.register(cellWithClass: YHWorkIntroductionTableViewCell.self)
tableView.register(cellWithClass: YHWorkMessageSelectTableViewCell.self) tableView.register(cellWithClass: YHWorkMessageSelectTableViewCell.self)
tableView.register(cellWithClass: YHWorkFileSyncTableViewCell.self) tableView.register(cellWithClass: YHWorkFileSyncTableViewCell.self)
tableView.register(cellWithClass: YHWorkExperiencePositionTableViewCell.self) tableView.register(cellWithClass: YHWorkExperiencePositionTableViewCell.self)
...@@ -816,18 +821,15 @@ extension YHWorkExperienceViewController: UITableViewDelegate, UITableViewDataSo ...@@ -816,18 +821,15 @@ extension YHWorkExperienceViewController: UITableViewDelegate, UITableViewDataSo
} }
cell.newWorkBlock = {[weak self] in cell.newWorkBlock = {[weak self] in
guard let self = self else { return } guard let self = self else { return }
// if self.dataSource?.count == 10 { if self.viewModel.positionList.count == 5 {
// YHHUD.flash(message: "新增工作经历不能超过10条") YHHUD.flash(message: "新增职位不能超过5条")
// } else { } else {
// let vc = YHWorkExperienceViewController() let vc = YHWorkExperiencePositionViewViewController()
// vc.isShowMessageSelect = true vc.workID = workExperienceID?.intValue() ?? 0
// vc.orderID = self.orderId vc.orderID = orderID
// self.navigationController?.pushViewController(vc, animated: true) self.navigationController?.pushViewController(vc, animated: true)
// } }
let vc = YHWorkExperiencePositionViewViewController()
vc.workID = workExperienceID?.intValue() ?? 0
vc.orderID = orderID
self.navigationController?.pushViewController(vc, animated: true)
} }
cell.backgroundColor = .clear cell.backgroundColor = .clear
cell.contentView.backgroundColor = .clear cell.contentView.backgroundColor = .clear
......
...@@ -10,19 +10,17 @@ import UIKit ...@@ -10,19 +10,17 @@ import UIKit
import SmartCodable import SmartCodable
class YHWorkExperienceProjectModel: SmartCodable { class YHWorkExperienceProjectModel: SmartCodable {
var id: Int? var list: [YHWorkExperienceProjectListModel] = []
var order_id: Int? required init() {
var work_id: Int? }
var project_name: String? }
var project_start_time: String?
var project_end_time: String? class YHWorkExperienceProjectListModel: SmartCodable {
var project_highlights: String? var file_name: String = ""
var update_from_appid: Int? var file_url: String = ""
var create_from_appid: Int? var file_size: Int = 0
var customer_center_id: Int? var uploaded_at: String = ""
var created_at: String?
var updated_at: String?
var deleted_at: String?
required init() { required init() {
} }
} }
//
// YHWorkIntroductionItemView.swift
// galaxy
//
// Created by EDY on 2024/2/20.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHWorkIntroductionItemView: UIView {
typealias ItemBlock = (_ model: YHWorkExperienceProjectModel) -> ()
var clickBlock: ItemBlock?
var deleteBlock: ItemBlock?
var titleLabel: UILabel!
var subTitleLabel: UILabel!
var nextStepImageView: UIImageView!
var deleteButton: UIButton!
var centerButton: UIButton!
var dataSource: YHWorkExperienceProjectModel? {
didSet {
updateAllViews()
}
}
override init(frame: CGRect) {
super.init(frame: frame)
backgroundColor = .white
setUpView()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func setUpView() {
titleLabel = {
let label = UILabel()
label.font = UIFont.PFSC_M(ofSize: 14)
label.textAlignment = .left
label.textColor = UIColor.mainTextColor
return label
}()
addSubview(titleLabel)
titleLabel.snp.makeConstraints { make in
make.left.equalToSuperview()
make.top.equalTo(16)
make.right.equalTo(-30)
make.height.equalTo(20)
}
subTitleLabel = {
let label = UILabel()
label.font = UIFont.PFSC_M(ofSize: 12)
label.textAlignment = .left
label.textColor = UIColor.subTextColor
return label
}()
addSubview(subTitleLabel)
subTitleLabel.snp.makeConstraints { make in
make.left.right.equalToSuperview()
make.height.equalTo(20)
make.top.equalTo(40)
}
nextStepImageView = {
let imageView = UIImageView()
imageView.image = UIImage(named: "form_right_arrow")
return imageView
}()
addSubview(nextStepImageView)
nextStepImageView.snp.makeConstraints { make in
make.right.equalToSuperview()
make.centerY.equalToSuperview()
make.height.width.equalTo(20)
}
centerButton = {
let button = UIButton(type: .custom)
button.addTarget(self, action: #selector(centerClick), for: .touchUpInside)
return button
}()
addSubview(centerButton)
centerButton.snp.makeConstraints { make in
make.right.top.bottom.equalToSuperview()
make.left.equalTo(112)
}
deleteButton = {
let button = UIButton(type: .custom)
button.titleLabel?.font = UIFont.PFSC_R(ofSize: 14)
button.contentHorizontalAlignment = .center
button.setTitle("删除", for: .normal)
button.setTitleColor( UIColor.failColor, for: .normal)
button.addTarget(self, action: #selector(deleteClick), for: .touchUpInside)
button.isHidden = true
return button
}()
addSubview(deleteButton)
deleteButton.snp.makeConstraints { make in
make.right.equalToSuperview()
make.height.equalTo(20)
make.width.equalTo(28)
make.centerY.equalTo(titleLabel.snp.centerY)
}
}
func updateAllViews() {
guard let dataSource = dataSource else { return }
titleLabel.text = dataSource.project_name
subTitleLabel.text = "\(dataSource.project_start_time ?? "")" + " ~ " + "\(dataSource.project_end_time ?? "")"
}
@objc func centerClick() {
if let block = clickBlock {
block(self.dataSource ?? YHWorkExperienceProjectModel())
}
}
@objc func deleteClick() {
if let block = deleteBlock {
block(self.dataSource ?? YHWorkExperienceProjectModel())
}
}
func isShowDelete(isShow: Bool) {
if isShow {
nextStepImageView.isHidden = true
deleteButton.isHidden = false
} else {
nextStepImageView.isHidden = false
deleteButton.isHidden = true
}
}
}
//
// YHWorkIntroductionTableViewCell.swift
// galaxy
//
// Created by EDY on 2024/2/20.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHWorkIntroductionTableViewCell: UITableViewCell {
typealias ExperienceListBlock = (_ model: YHWorkExperienceProjectModel) -> ()
typealias IsMoreBlock = (_ isMore: Bool) -> ()
typealias AddIntroductionBlock = () -> ()
var clickBlock: ExperienceListBlock?
var deleteBlock: ExperienceListBlock?
var addIntroductionBlock: AddIntroductionBlock?
var isMoreBlock: IsMoreBlock?
var centerView: UIView!
var titleLabel: UILabel!
var subTitleLabel: UILabel!
var cannalButton: UIButton!
var moreButton: UIButton!
var mainItemView: UIView!
var bottomView: YHWorkItemAddView!
var dataSource: [YHWorkExperienceProjectModel]?{
didSet {
updateAllViews()
}
}
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
required init?(coder: NSCoder) {
super.init(coder: coder)
}
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
selectionStyle = .none
setupUI()
}
func setupUI() {
backgroundColor = .clear
centerView = {
let view = UIView()
view.backgroundColor = .white
view.layer.cornerRadius = kCornerRadius6
return view
}()
contentView.addSubview(centerView)
centerView.snp.makeConstraints { make in
make.left.equalTo(16)
make.right.equalTo(-16)
make.top.equalTo(7)
make.bottom.equalTo(-7)
}
titleLabel = {
let label = UILabel()
label.font = UIFont.PFSC_R(ofSize: 16)
label.text = "项目介绍(选填)"
label.textColor = UIColor.mainTextColor
return label
}()
centerView.addSubview(titleLabel)
titleLabel.snp.makeConstraints { make in
make.left.equalTo(20)
make.top.equalTo(23)
make.height.equalTo(24)
make.right.equalTo(-20)
}
cannalButton = {
let button = UIButton(type: .custom)
button.titleLabel?.font = UIFont.PFSC_M(ofSize: 14)
button.contentHorizontalAlignment = .center
button.setTitle("取消操作", for: .normal)
button.setTitleColor( UIColor.brandMainColor, for: .normal)
button.addTarget(self, action: #selector(cannal), for: .touchUpInside)
button.isHidden = true
return button
}()
centerView.addSubview(cannalButton)
cannalButton.snp.makeConstraints { make in
make.right.equalTo(-18)
make.top.equalTo(24)
make.height.equalTo(20)
make.width.equalTo(60)
}
moreButton = {
let button = UIButton(type: .custom)
button.setBackgroundImage(UIImage(named: "work_more"), for: .normal)
button.addTarget(self, action: #selector(more), for: .touchUpInside)
return button
}()
centerView.addSubview(moreButton)
moreButton.snp.makeConstraints { make in
make.right.equalTo(-18)
make.top.equalTo(24)
make.height.equalTo(24)
make.width.equalTo(24)
}
mainItemView = {
let view = UIView()
view.backgroundColor = .white
view.layer.cornerRadius = kCornerRadius6
return view
}()
centerView.addSubview(mainItemView)
mainItemView.snp.makeConstraints { make in
make.left.right.equalToSuperview()
make.bottom.equalTo(-79)
make.top.equalTo(63)
}
bottomView = {
let view = YHWorkItemAddView()
view.addBtn.setTitle("新增项目".local, for: .normal)
view.clickBlock = {[weak self] in
guard let self = self else { return }
if let block = self.addIntroductionBlock {
block()
}
}
return view
}()
centerView.addSubview(bottomView)
bottomView.snp.makeConstraints { make in
make.right.bottom.equalTo(-18)
make.left.equalTo(18)
make.height.equalTo(45)
}
}
func updateAllViews() {
mainItemView.removeSubviews()
for i in 0 ..< (dataSource?.count ?? 0) {
let line = UIView()
line.backgroundColor = UIColor.separatorColor
mainItemView.addSubview(line)
line.snp.makeConstraints { make in
make.left.equalTo(18)
make.top.equalTo(76 * i)
make.height.equalTo(1)
make.right.equalTo(-18)
}
let itemView = YHWorkIntroductionItemView()
itemView.dataSource = dataSource?[i]
itemView.tag = 4000 + i
itemView.clickBlock = {[weak self] model in
guard let self = self else { return }
if let block = self.clickBlock {
block(model)
}
}
itemView.deleteBlock = {[weak self] model in
guard let self = self else { return }
if let block = self.deleteBlock {
block(model)
}
}
mainItemView.addSubview(itemView)
itemView.snp.makeConstraints { make in
make.left.equalTo(18)
make.top.equalTo(76 * i + 1)
make.height.equalTo(75)
make.right.equalTo(-18)
}
}
}
@objc func cannal() {
moreButton.isHidden = false
cannalButton.isHidden = true
for i in 0..<(dataSource?.count ?? 0) {
let view = mainItemView.viewWithTag(4000 + i) as! YHWorkIntroductionItemView
view.isShowDelete(isShow: false)
}
if let block = isMoreBlock {
block(false)
}
}
@objc func more() {
moreButton.isHidden = true
cannalButton.isHidden = false
for i in 0..<(dataSource?.count ?? 0) {
let view = mainItemView.viewWithTag(4000 + i) as! YHWorkIntroductionItemView
view.isShowDelete(isShow: true)
}
if let block = isMoreBlock {
block(true)
}
}
}
...@@ -12,7 +12,7 @@ import Alamofire ...@@ -12,7 +12,7 @@ import Alamofire
class YHWorkExperienceViewModel: YHBaseViewModel { class YHWorkExperienceViewModel: YHBaseViewModel {
var mainModel: YHWorkExperienceDetailModel = YHWorkExperienceDetailModel() var mainModel: YHWorkExperienceDetailModel = YHWorkExperienceDetailModel()
var exampleModels: [YHWorkExampleModel]? var exampleModels: [YHWorkExampleModel]?
var projectModels: [YHWorkExperienceProjectModel]? var projectModels: [YHWorkExperienceProjectListModel] = []
var fileList: [YHWorkExperienceFileModel] = [] var fileList: [YHWorkExperienceFileModel] = []
var positionList: [YHWorkExperiencePositionModel] = [] var positionList: [YHWorkExperiencePositionModel] = []
var stepModel: YHWorkExperienceStepModel = YHWorkExperienceStepModel() var stepModel: YHWorkExperienceStepModel = YHWorkExperienceStepModel()
...@@ -164,12 +164,21 @@ class YHWorkExperienceViewModel: YHBaseViewModel { ...@@ -164,12 +164,21 @@ class YHWorkExperienceViewModel: YHBaseViewModel {
//1. json字符串 转 对象 //1. json字符串 转 对象
guard let self = self else { return } guard let self = self else { return }
if json.code == 200 { if json.code == 200 {
guard let dic = json.data?.peel as? [Any], let resultArray = [YHWorkExperienceProjectModel].deserialize(from: dic) else { guard let dic = json.data?.peel as? [String : Any], let result = YHWorkExperienceProjectModel.deserialize(from: dic) else {
callBackBlock([],nil) callBackBlock([],nil)
return return
} }
self.projectModels = resultArray as? [YHWorkExperienceProjectModel] self.projectModels = result.list
callBackBlock(self.projectModels, nil) 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)
} else { } else {
let error : YHErrorModel = YHErrorModel(errorCode:Int32(json.code), errorMsg: json.msg) let error : YHErrorModel = YHErrorModel(errorCode:Int32(json.code), errorMsg: json.msg)
callBackBlock([], error) callBackBlock([], error)
......
...@@ -244,7 +244,7 @@ class YHAllApiName { ...@@ -244,7 +244,7 @@ class YHAllApiName {
//工作经验项目保存 //工作经验项目保存
static let saveProject = "infoflow/work/saveWorkProject" static let saveProject = "infoflow/work/saveWorkProject"
//工作经验项目列表 //工作经验项目列表
static let projectList = "infoflow/work/getWorkProjectList" static let projectList = "infoflow/work/v1/workAttachmentFileList"
//工作经验项目列表 //工作经验项目列表
static let projectDetail = "infoflow/work/getWorkProjectDetail" static let projectDetail = "infoflow/work/getWorkProjectDetail"
//删除工作经验项目 //删除工作经验项目
......
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