Commit d0079657 authored by Steven杜宇's avatar Steven杜宇

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

parents 3dba927b d15c81e6
...@@ -305,7 +305,7 @@ extension YHOtherInfoFillViewModel { ...@@ -305,7 +305,7 @@ extension YHOtherInfoFillViewModel {
let arrTTT = item.second_select.split(separator: ",") let arrTTT = item.second_select.split(separator: ",")
if arrTTT.count > 0 { if arrTTT.count > 0 {
let tmpId : Int = Int(arrTTT[0]) ?? 0 let tmpId : Int = Int(arrTTT[0]) ?? 0
for (iii,ttt) in tt.options.enumerated() { for (_,ttt) in tt.options.enumerated() {
if tmpId == ttt.id { if tmpId == ttt.id {
ttt.select = true ttt.select = true
} }
......
...@@ -124,9 +124,9 @@ extension YHPreviewMainViewController { ...@@ -124,9 +124,9 @@ extension YHPreviewMainViewController {
} }
self.nameLable.text = title self.nameLable.text = title
self.phoneLable.text = self.previewVM.mainApplicationInfoPreviewModel?.mobile ?? "-" // self.phoneLable.text = self.previewVM.mainApplicationInfoPreviewModel?.mobile ?? "-"
self.phoneLable.text = "优才计划"
self.handleHeaderIcon() // self.handleHeaderIcon()
} else { } else {
......
...@@ -14,4 +14,12 @@ struct YHPreviewForOtherInfoModel: SmartCodable { ...@@ -14,4 +14,12 @@ struct YHPreviewForOtherInfoModel: SmartCodable {
var language: LanguageDetail? var language: LanguageDetail?
var profession: Profession? var profession: Profession?
var question: Question? var question: Question?
var language_detail_new : [LanguageDetailNew] = []
var language_detail_new_local : [YHPreviewQuestionModel] = [] //本地使用
}
struct YHPreviewQuestionModel: SmartCodable {
var question : String = ""
var answer : String = ""
} }
...@@ -677,42 +677,56 @@ private extension YHPreviewViewModel { ...@@ -677,42 +677,56 @@ private extension YHPreviewViewModel {
handleDataForOtherInfo() handleDataForOtherInfo()
do { // do {
//
if let arr1 = model.list,arr1.isEmpty == false { // if let arr1 = model.list,arr1.isEmpty == false {
var arr : [YHPersonInfoCellModel1] = [] // var arr : [YHPersonInfoCellModel1] = []
for (index,item) in arr1.enumerated() { // for (index,item) in arr1.enumerated() {
//
// //居住信息
// let tmp0 = YHPreviewQuestionAndAnswerModel(question: "开始时间:", answer: item.start_time)
// let tmp1 = YHPreviewQuestionAndAnswerModel(question: "结束时间:", answer: item.end_time)
//
//
// let addationIndex = arr1.count > 1 ? String(index + 1) : ""
// let title = "国家" + addationIndex + ":" + item.country
// let model0 = YHPersonInfoCellModel1(cellTitle: title, cellData: [tmp0,tmp1])
//
// arr.append(model0)
// }
//
// let model3 = YHPreviewInfoSessionModel(cellType: .idCardInfoType, cellTitle: "居住信息", cellData1: arr)
// arrDataForOtherInfo.append(model3)
// }
// }
//居住信息
let tmp0 = YHPreviewQuestionAndAnswerModel(question: "开始时间:", answer: item.start_time)
let tmp1 = YHPreviewQuestionAndAnswerModel(question: "结束时间:", answer: item.end_time)
do {
//语言能力
// if let model = otherInfoPreviewModel?.language {
// var title = ""
// if model.level == 4 {
// title = model.name.defaultStringIfEmpty() + "\n" + model.remark.defaultStringIfEmpty()
// }
// let tmp0 = YHPreviewQuestionAndAnswerModel(question: model.levelDes, answer: model.localRemark,remark: title)
// let arr = [tmp0]
// let model1 = YHPreviewInfoSessionModel(cellType: .questionAndAnswer, cellTitle: "语言能力", cellData0: arr)
// arrDataForOtherInfo.append(model1)
//
// }
let addationIndex = arr1.count > 1 ? String(index + 1) : ""
let title = "国家" + addationIndex + ":" + item.country
let model0 = YHPersonInfoCellModel1(cellTitle: title, cellData: [tmp0,tmp1])
arr.append(model0) //语言能力
} if let arr = otherInfoPreviewModel?.language_detail_new_local,arr.count > 0 {
let model3 = YHPreviewInfoSessionModel(cellType: .idCardInfoType, cellTitle: "居住信息", cellData1: arr) var arrT : [YHPreviewQuestionAndAnswerModel] = []
arrDataForOtherInfo.append(model3) for (index,item) in arr.enumerated() {
} let tmp0 = YHPreviewQuestionAndAnswerModel(question: item.question, answer: item.answer,remark: "")
arrT.append(tmp0)
} }
let model1 = YHPreviewInfoSessionModel(cellType: .questionAndAnswer, cellTitle: "语言能力", cellData0: arrT)
do {
//语言能力
if let model = otherInfoPreviewModel?.language {
var title = ""
if model.level == 4 {
title = model.name.defaultStringIfEmpty() + "\n" + model.remark.defaultStringIfEmpty()
}
let tmp0 = YHPreviewQuestionAndAnswerModel(question: model.levelDes, answer: model.localRemark,remark: title)
let arr = [tmp0]
let model1 = YHPreviewInfoSessionModel(cellType: .questionAndAnswer, cellTitle: "语言能力", cellData0: arr)
arrDataForOtherInfo.append(model1) arrDataForOtherInfo.append(model1)
} }
} }
...@@ -748,18 +762,84 @@ private extension YHPreviewViewModel { ...@@ -748,18 +762,84 @@ private extension YHPreviewViewModel {
private extension YHPreviewViewModel { private extension YHPreviewViewModel {
//特殊处理 其他信息预览 需要的数据 //特殊处理 其他信息预览 需要的数据
func handleDataForOtherInfo() { func handleDataForOtherInfo() {
if let language = otherInfoPreviewModel?.language { // if let language = otherInfoPreviewModel?.language {
if language.level > 0 { // if language.level > 0 {
let target = String(language.level) // let target = String(language.level)
for(_,item) in YHConstantArrayData.arrLanguage.enumerated() { // for(_,item) in YHConstantArrayData.arrLanguage.enumerated() {
//
if target == item["id"] { // if target == item["id"] {
language.levelDes = item["title"] ?? "--" // language.levelDes = item["title"] ?? "--"
language.localRemark = item["dec"] ?? "--" // language.localRemark = item["dec"] ?? "--"
break // break
// }
// }
// }
// }
if let language = otherInfoPreviewModel?.language_detail_new {
if language.count > 0 {
if let arrCompare = [LanguageDetailModel].deserialize(from: YHOtherInfoFillViewModel.languageJsonData),arrCompare.count > 0 {
var arrO : [YHPreviewQuestionModel] = []
for(index,item) in language.enumerated() {
let firstID : Int = item.first_select
var secondID : Int = 0
var firstName : String = ""
var secondName : String = ""
if !item.second_select.isEmpty {
let arrTTT = item.second_select.split(separator: ",")
if arrTTT.count > 0 {
secondID = Int(arrTTT[0]) ?? 0
} else {
secondID = 0
}
} else {
secondID = 0
}
var findFirstFlag : Bool = false
for(i,t) in arrCompare.enumerated() {
if t.id == firstID {
firstName = t.name + (t.other_instructions.isEmpty ? "" : ("=" + t.other_instructions))
findFirstFlag = true
var findSecondFlag : Bool = false
for(ii,tt) in t.options.enumerated() {
if tt.id == secondID {
secondName = tt.name
findSecondFlag = true
}
}
if !findSecondFlag {
secondName = "--"
}
}
} }
if !findFirstFlag {
firstName = "--"
}
var question : YHPreviewQuestionModel = YHPreviewQuestionModel()
question.question = firstName
question.answer = secondName
arrO.append(question)
} }
otherInfoPreviewModel?.language_detail_new_local = arrO
} else {
otherInfoPreviewModel?.language_detail_new_local = []
} }
} else {
otherInfoPreviewModel?.language_detail_new_local = []
}
} else {
otherInfoPreviewModel?.language_detail_new_local = []
} }
......
...@@ -112,12 +112,25 @@ class YHWorkExperienceViewController: YHBaseViewController { ...@@ -112,12 +112,25 @@ class YHWorkExperienceViewController: YHBaseViewController {
guard let self = self else { return } guard let self = self else { return }
self.updateDataSource() self.updateDataSource()
} }
viewModel.requestWorkStep("\(orderID)", workExperienceID ?? "") { success, error in
if self.stepView.currentIndex < 3 {
self.stepView.currentIndex = self.viewModel.stepModel.step
self.stepView.maxIndex = self.viewModel.mainModel.step
} else {
self.stepView.currentIndex = 3
self.stepView.maxIndex = 3
}
self.stepView.dataSource = ["基本信息", "工作职责", "工作亮点", "简历/工作总结"]
}
viewModel.requestworkDutyDetail(workExperienceID ?? "") {[weak self] success, error in
guard let self = self else { return }
}
viewModel.requestWorkHighlightsDetail(workExperienceID ?? "") {[weak self] success, error in
guard let self = self else { return }
}
viewModel.requestWorkDetail("\(orderID)", workExperienceID ?? "") {[weak self] success, error in viewModel.requestWorkDetail("\(orderID)", workExperienceID ?? "") {[weak self] success, error in
guard let self = self else { return } guard let self = self else { return }
self.stepView.currentIndex = self.viewModel.mainModel.step
self.stepView.maxIndex = self.viewModel.mainModel.step
self.updateDataSource() self.updateDataSource()
self.stepView.dataSource = ["基本信息", "工作职责", "工作亮点", "简历/工作总结"]
self.viewModel.requestWorkInfoProject("\(self.viewModel.mainModel.word_id)") {[weak self] success, error in self.viewModel.requestWorkInfoProject("\(self.viewModel.mainModel.word_id)") {[weak self] success, error in
guard let self = self else { return } guard let self = self else { return }
self.introductionDataSource = success self.introductionDataSource = success
...@@ -125,7 +138,6 @@ class YHWorkExperienceViewController: YHBaseViewController { ...@@ -125,7 +138,6 @@ class YHWorkExperienceViewController: YHBaseViewController {
self.updateDataSource() self.updateDataSource()
} }
} }
updateDataSource() updateDataSource()
} }
...@@ -227,7 +239,40 @@ class YHWorkExperienceViewController: YHBaseViewController { ...@@ -227,7 +239,40 @@ class YHWorkExperienceViewController: YHBaseViewController {
bottom.nextButton.isEnabled = false bottom.nextButton.isEnabled = false
guard let self = self else { return } guard let self = self else { return }
if self.viewModel.isCanNext(self.stepView.currentIndex) { if self.viewModel.isCanNext(self.stepView.currentIndex) {
self.viewModel.mainModel.step = self.stepView.currentIndex if self.stepView.currentIndex == 0 {
self.viewModel.saveWorkData(orderID, workId: workExperienceID?.intValue() ?? 0) {[weak self] success, error in
guard let self = self else { return }
bottom.nextButton.isEnabled = true
if let error = error {
YHHUD.flash(message: error.errorMsg )
} else {
self.stepView.currentIndex = self.stepView.currentIndex + 1
self.updateDataSource()
}
}
} else if self.stepView.currentIndex == 1 {
self.viewModel.saveWorkDuty(workId: workExperienceID?.intValue() ?? 0) {[weak self] success, error in
guard let self = self else { return }
bottom.nextButton.isEnabled = true
if let error = error {
YHHUD.flash(message: error.errorMsg )
} else {
self.stepView.currentIndex = self.stepView.currentIndex + 1
self.updateDataSource()
}
}
} else if self.stepView.currentIndex == 2 {
self.viewModel.saveWorkHighlights(workId: workExperienceID?.intValue() ?? 0) {[weak self] success, error in
guard let self = self else { return }
bottom.nextButton.isEnabled = true
if let error = error {
YHHUD.flash(message: error.errorMsg )
} else {
self.stepView.currentIndex = self.stepView.currentIndex + 1
self.updateDataSource()
}
}
} else {
self.viewModel.saveWorkDetail(1, orderID: self.orderID, callBackBlock: {[weak self] flag, error in self.viewModel.saveWorkDetail(1, orderID: self.orderID, callBackBlock: {[weak self] flag, error in
guard let self = self else { return } guard let self = self else { return }
bottom.nextButton.isEnabled = true bottom.nextButton.isEnabled = true
...@@ -240,10 +285,10 @@ class YHWorkExperienceViewController: YHBaseViewController { ...@@ -240,10 +285,10 @@ class YHWorkExperienceViewController: YHBaseViewController {
self.navigationController?.popViewController() self.navigationController?.popViewController()
} else { } else {
self.stepView.currentIndex = self.stepView.currentIndex + 1 self.stepView.currentIndex = self.stepView.currentIndex + 1
self.updateDataSource()
} }
} }
}) })
}
} else { } else {
bottom.nextButton.isEnabled = true bottom.nextButton.isEnabled = true
self.isShowPrompt = true self.isShowPrompt = true
...@@ -253,6 +298,38 @@ class YHWorkExperienceViewController: YHBaseViewController { ...@@ -253,6 +298,38 @@ 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 {
self.viewModel.saveWorkData(orderID, workId: workExperienceID?.intValue() ?? 0) {[weak self] success, error in
guard let self = self else { return }
bottom.nextButton.isEnabled = true
if let error = error {
YHHUD.flash(message: error.errorMsg )
} else {
YHHUD.flash(message: "保存成功")
}
}
} else if self.stepView.currentIndex == 1 {
self.viewModel.saveWorkDuty(workId: workExperienceID?.intValue() ?? 0) {[weak self] success, error in
guard let self = self else { return }
bottom.nextButton.isEnabled = true
if let error = error {
YHHUD.flash(message: error.errorMsg )
} else {
YHHUD.flash(message: "保存成功")
}
}
} else if self.stepView.currentIndex == 2 {
self.viewModel.saveWorkHighlights(workId: workExperienceID?.intValue() ?? 0) {[weak self] success, error in
guard let self = self else { return }
bottom.nextButton.isEnabled = true
if let error = error {
YHHUD.flash(message: error.errorMsg )
} else {
self.stepView.currentIndex = self.stepView.currentIndex + 1
self.updateDataSource()
}
}
} else {
self.viewModel.saveWorkDetail(0, orderID: self.orderID, callBackBlock: {[weak self] flag, error in self.viewModel.saveWorkDetail(0, orderID: self.orderID, callBackBlock: {[weak self] flag, error in
guard let self = self else { return } guard let self = self else { return }
if let error = error { if let error = error {
...@@ -262,6 +339,7 @@ class YHWorkExperienceViewController: YHBaseViewController { ...@@ -262,6 +339,7 @@ class YHWorkExperienceViewController: YHBaseViewController {
} }
}) })
} }
}
return bottom return bottom
}() }()
view.addSubview(bottomView) view.addSubview(bottomView)
...@@ -482,7 +560,7 @@ extension YHWorkExperienceViewController: UITableViewDelegate, UITableViewDataSo ...@@ -482,7 +560,7 @@ extension YHWorkExperienceViewController: UITableViewDelegate, UITableViewDataSo
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if stepView.currentIndex == 1 { if stepView.currentIndex == 1 {
let cell = tableView.dequeueReusableCell(withClass: YHWorkResponsibilitiesTableViewCell.self) let cell = tableView.dequeueReusableCell(withClass: YHWorkResponsibilitiesTableViewCell.self)
cell.dataSource = viewModel.mainModel.wduty cell.dataSource = viewModel.dutyModel.work_duty
cell.exampleBlock = {[weak self] in cell.exampleBlock = {[weak self] in
guard let self = self else { return } guard let self = self else { return }
let mainVc = YHWorkExampleViewController() let mainVc = YHWorkExampleViewController()
...@@ -518,7 +596,7 @@ extension YHWorkExperienceViewController: UITableViewDelegate, UITableViewDataSo ...@@ -518,7 +596,7 @@ extension YHWorkExperienceViewController: UITableViewDelegate, UITableViewDataSo
return cell return cell
} else if stepView.currentIndex == 2 { } else if stepView.currentIndex == 2 {
let cell = tableView.dequeueReusableCell(withClass: YHWorkHighlightsTableViewCell.self) let cell = tableView.dequeueReusableCell(withClass: YHWorkHighlightsTableViewCell.self)
cell.dataSource = viewModel.mainModel.highlights cell.dataSource = viewModel.helightModel.work_highlights
cell.exampleBlock = {[weak self] in cell.exampleBlock = {[weak self] in
guard let self = self else { return } guard let self = self else { return }
let mainVc = YHWorkExampleViewController() let mainVc = YHWorkExampleViewController()
...@@ -772,7 +850,6 @@ extension YHWorkExperienceViewController: UITableViewDelegate, UITableViewDataSo ...@@ -772,7 +850,6 @@ extension YHWorkExperienceViewController: UITableViewDelegate, UITableViewDataSo
} }
return CGFloat(h + 52 + 14 + 386) return CGFloat(h + 52 + 14 + 386)
} else { } else {
let number = viewModel.positionList.count
var height = 23 + 154 var height = 23 + 154
for item in viewModel.positionList { for item in viewModel.positionList {
if item.position_name == "" { if item.position_name == "" {
......
...@@ -16,6 +16,8 @@ class YHWorkExperienceDetailModel: SmartCodable { ...@@ -16,6 +16,8 @@ class YHWorkExperienceDetailModel: SmartCodable {
var professional_level: Int = 0 var professional_level: Int = 0
var work_certificate: String = "" var work_certificate: String = ""
var has_finish_basic_question: Int = 0 var has_finish_basic_question: Int = 0
var work_duty: String = ""
var work_highlights: String = ""
var is_famous_enterprise: Int = 0 var is_famous_enterprise: Int = 0
var duty: String = "" var duty: String = ""
...@@ -73,3 +75,11 @@ class YHWorkExperienceFileModel: SmartCodable { ...@@ -73,3 +75,11 @@ class YHWorkExperienceFileModel: SmartCodable {
required init() { required init() {
} }
} }
class YHWorkExperienceStepModel: SmartCodable {
var step: Int = 0
var step_name: String = ""
required init() {
}
}
...@@ -18,7 +18,7 @@ class YHWorkExperiencePositionModel: SmartCodable { ...@@ -18,7 +18,7 @@ class YHWorkExperiencePositionModel: SmartCodable {
var entry_time: String = "" var entry_time: String = ""
var departure_time: String = "" var departure_time: String = ""
var experience_scope: String = "" var experience_scope: String = ""
var experience_sub_scope: String = "" var experience_sub_scope: String = " "
var is_international_work_experience: Int = 0 var is_international_work_experience: Int = 0
var provide_certificate_type: Int = 0 var provide_certificate_type: Int = 0
var work_country: String = "" var work_country: String = ""
......
...@@ -229,6 +229,7 @@ class YHAllApiName { ...@@ -229,6 +229,7 @@ class YHAllApiName {
static let list = "infoflow/work/v1/list" static let list = "infoflow/work/v1/list"
//工作经验详情 //工作经验详情
static let detail = "infoflow/work/v1/workDetail" static let detail = "infoflow/work/v1/workDetail"
static let workStep = "infoflow/work/v1/WorkStep"
//工作经验保存 //工作经验保存
static let save = "infoflow/work/save" static let save = "infoflow/work/save"
static let saveAll = "infoflow/work/save-all" static let saveAll = "infoflow/work/save-all"
...@@ -260,6 +261,12 @@ class YHAllApiName { ...@@ -260,6 +261,12 @@ class YHAllApiName {
static let workQuestionDetail = "infoflow/work/v1/workQuestionDetail" static let workQuestionDetail = "infoflow/work/v1/workQuestionDetail"
static let saveWorkQuestion = "infoflow/work/v1/SaveWorkQuestion" static let saveWorkQuestion = "infoflow/work/v1/SaveWorkQuestion"
static let saveWorkData = "infoflow/work/v1/saveWorkData"
static let workDutyDetail = "infoflow/work/v1/workDutyDetail"
static let saveWorkDuty = "infoflow/work/v1/saveWorkDuty"
static let workHighlightsDetail = "infoflow/work/v1/workHighlightsDetail"
static let saveWorkHighlights = "infoflow/work/v1/saveWorkHighlights"
} }
//登录 //登录
......
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