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

工作经验逻辑

parent 3ef508f1
......@@ -86,6 +86,7 @@
04C6936F2B7350E7004C1758 /* YHEducationDetailVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04C6936E2B7350E7004C1758 /* YHEducationDetailVC.swift */; };
04C693712B735C6F004C1758 /* YHQualificationDetailVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04C693702B735C6F004C1758 /* YHQualificationDetailVC.swift */; };
04C8F4832B7216D800ADF59B /* YHUserInfoHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04C8F4822B7216D800ADF59B /* YHUserInfoHeaderView.swift */; };
04D5C5662B8ED92600190021 /* YHBaseModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04D5C5652B8ED92600190021 /* YHBaseModel.swift */; };
04E86E092B707ACE00A35F4B /* YHPhoneLoginViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04E86E082B707ACE00A35F4B /* YHPhoneLoginViewController.swift */; };
04E86E0B2B70C13300A35F4B /* YHCodeSueecssViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04E86E0A2B70C13300A35F4B /* YHCodeSueecssViewController.swift */; };
04E86E0D2B70D51D00A35F4B /* YHWebViewViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04E86E0C2B70D51D00A35F4B /* YHWebViewViewController.swift */; };
......@@ -381,6 +382,7 @@
04C6936E2B7350E7004C1758 /* YHEducationDetailVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHEducationDetailVC.swift; sourceTree = "<group>"; };
04C693702B735C6F004C1758 /* YHQualificationDetailVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHQualificationDetailVC.swift; sourceTree = "<group>"; };
04C8F4822B7216D800ADF59B /* YHUserInfoHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHUserInfoHeaderView.swift; sourceTree = "<group>"; };
04D5C5652B8ED92600190021 /* YHBaseModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHBaseModel.swift; sourceTree = "<group>"; };
04E86E082B707ACE00A35F4B /* YHPhoneLoginViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHPhoneLoginViewController.swift; sourceTree = "<group>"; };
04E86E0A2B70C13300A35F4B /* YHCodeSueecssViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHCodeSueecssViewController.swift; sourceTree = "<group>"; };
04E86E0C2B70D51D00A35F4B /* YHWebViewViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHWebViewViewController.swift; sourceTree = "<group>"; };
......@@ -601,13 +603,6 @@
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
040FA3352B6F700F0069D17F /* M */ = {
isa = PBXGroup;
children = (
);
path = M;
sourceTree = "<group>";
};
041B52852B565798007EBCEB /* IM */ = {
isa = PBXGroup;
children = (
......@@ -856,6 +851,14 @@
path = "Child(子女)";
sourceTree = "<group>";
};
04D5C5642B8ED91200190021 /* M */ = {
isa = PBXGroup;
children = (
04D5C5652B8ED92600190021 /* YHBaseModel.swift */,
);
path = M;
sourceTree = "<group>";
};
04E86E212B81E9FA00A35F4B /* Recovered References */ = {
isa = PBXGroup;
children = (
......@@ -1460,7 +1463,7 @@
A5ACE91E2B4564F7002C94D2 /* Base */ = {
isa = PBXGroup;
children = (
040FA3352B6F700F0069D17F /* M */,
04D5C5642B8ED91200190021 /* M */,
A5ACE91F2B4564F7002C94D2 /* C */,
A5ACE9232B4564F7002C94D2 /* V */,
);
......@@ -1997,6 +2000,7 @@
04E86E6E2B87388100A35F4B /* YHCompanyViewModel.swift in Sources */,
A5FD63CB2B63D6C300D1D9DA /* YHInformationFillTipsCell.swift in Sources */,
04C693712B735C6F004C1758 /* YHQualificationDetailVC.swift in Sources */,
04D5C5662B8ED92600190021 /* YHBaseModel.swift in Sources */,
04E86E492B8445F400A35F4B /* YHWorkActionView.swift in Sources */,
A5ACE9272B4564F7002C94D2 /* YHLoginViewController.swift in Sources */,
);
......
//
// YHBaseModel.swift
// galaxy
//
// Created by EDY on 2024/2/28.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
import HandyJSON
class YHBaseModel: HandyJSON {
required init() {
}
}
......@@ -355,6 +355,7 @@ extension YHInformationPerfectListVC : UITableViewDelegate,UITableViewDataSource
} else if indexPath.row == 4 {
//工作经历
let vc = YHWorkExperienceListViewController()
vc.orderId = orderId ?? 0
navigationController?.pushViewController(vc)
} else if indexPath.row == 5 {
......
......@@ -53,7 +53,7 @@ class YHMainApplicantInformationViewController: YHBaseViewController {
stepView = {
let step = YHStepView()
step.dataSource = ["初始信息", "证件上传", "基本信息", "证件信息"]
step.dataSource = ["初始信息", "证件上传", "证件信息", "基本信息"]
step.block = { [weak self] (index) in
guard let self = self else { return }
self.updateDataSource()
......
......@@ -7,19 +7,9 @@
//
import Foundation
import SmartCodable
struct YHCountryMessage: SmartCodable {
class YHCountryMessage: YHBaseModel {
var name_cn: String?
var name_en: String?
var code: String?
init(name_cn: String? = nil, name_en: String? = nil, code: String? = nil) {
self.name_cn = name_cn
self.name_en = name_en
self.code = code
}
init() {
}
}
......@@ -7,58 +7,57 @@
//
import Foundation
import SmartCodable
struct YHMainInformationModel: SmartCodable {
var id: Int? = 0
var order_id: String? = ""
var nationality: String? = ""
var is_handled: Int? = 0
var username: String? = ""
var used_name: String? = ""
var birthday: String? = ""
var age: String? = ""
var birth_place_aboard: Int? = 0
var sex: Int? = 0
var married: Int? = 0
var mobile: String? = ""
var email: String? = ""
var address_aboard: Int? = 0
var has_hk_id: Int? = 0
var hk_id_number: String? = ""
var step: Int? = 0
var surname: String? = ""
var is_live_oversea_year: Int? = 0
var username_pinyin: YHUserNameModel? = YHUserNameModel()
var birth_place: YHAddressModel? = YHAddressModel()
var address: YHAddressModel? = YHAddressModel()
var certificates: YHCertificatesModels? = YHCertificatesModels()
class YHMainInformationModel: YHBaseModel {
var id: Int = 0
var order_id: String = ""
var nationality: String = ""
var is_handled: Int = 0
var username: String = ""
var used_name: String = ""
var birthday: String = ""
var age: String = ""
var birth_place_aboard: Int = 0
var sex: Int = 0
var married: Int = 0
var mobile: String = ""
var email: String = ""
var address_aboard: Int = 0
var has_hk_id: Int = 0
var hk_id_number: String = ""
var step: Int = 0
var surname: String = ""
var is_live_oversea_year: Int = 0
var username_pinyin: YHUserNameModel = YHUserNameModel()
var birth_place: YHAddressModel = YHAddressModel()
var address: YHAddressModel = YHAddressModel()
var certificates: YHCertificatesModels = YHCertificatesModels()
}
struct YHUserNameModel: SmartCodable {
var family_name: String? = ""
var given_name: String? = ""
class YHUserNameModel: YHBaseModel {
var family_name: String = ""
var given_name: String = ""
}
struct YHAddressModel: SmartCodable {
var area: [String]? = []
var country: String? = ""
var details: String? = ""
var foreign: String? = ""
class YHAddressModel: YHBaseModel {
var area: [String] = []
var country: String = ""
var details: String = ""
var foreign: String = ""
}
struct YHCertificatesModels: SmartCodable {
var hk_macao_pass: YHCertificatesModel? = YHCertificatesModel()
var passport: YHCertificatesModel? = YHCertificatesModel()
var cn_identity_card: YHCertificatesModel? = YHCertificatesModel()
class YHCertificatesModels: YHBaseModel {
var hk_macao_pass: YHCertificatesModel = YHCertificatesModel()
var passport: YHCertificatesModel = YHCertificatesModel()
var cn_identity_card: YHCertificatesModel = YHCertificatesModel()
}
struct YHCertificatesModel: SmartCodable {
var number: String? = ""
var issue_at: String? = ""
var issue_date_start_at: String? = ""
var issue_date_end_at: String? = ""
var img_front: String? = ""
var img_back: String? = ""
var passport_type: String? = ""
class YHCertificatesModel: YHBaseModel {
var number: String = ""
var issue_at: String = ""
var issue_date_start_at: String = ""
var issue_date_end_at: String = ""
var img_front: String = ""
var img_back: String = ""
var passport_type: String = ""
}
......@@ -360,17 +360,15 @@ class YHItemView: UIView {
extension YHItemView: UITextFieldDelegate {
func textFieldDidEndEditing(_ textField: UITextField) {
dataSource?.message = textField.text
if let block = block {
block(dataSource ?? YHItemModel())
}
}
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
let newText = (textField.text! as NSString).replacingCharacters(in: range, with: string)
dataSource?.message = newText
var data = dataSource ?? YHItemModel()
data.message = newText
if let block = block {
block(dataSource ?? YHItemModel())
block(data)
}
return true
}
......
......@@ -25,23 +25,22 @@ class YHMainApplicantInformationViewModel: YHBaseViewModel {
let item = YHItemModel(id: .id1, isNeed: true, title: "国家/地区", isUserKeyBoard: false, prompts: "请选择", message: mainModel.nationality, type: .country, isShowPrompts: isShowPrompt)
let section = YHSectionItemModel(title: "国籍", models: [item])
let item4 = YHItemModel(id: .id2, isNeed: true, title: "国家/地区", isUserKeyBoard: false, prompts: "请选择", message: mainModel.address?.country, type: .country, isShowPrompts: isShowPrompt)
let item4 = YHItemModel(id: .id2, isNeed: true, title: "国家/地区", isUserKeyBoard: false, prompts: "请选择", message: mainModel.address.country, type: .country, isShowPrompts: isShowPrompt)
var string = ""
if let array = mainModel.address?.area {
for item in array {
string = string + item
}
let array = mainModel.address.area
for item in array {
string = string + item
}
let item1 = YHItemModel(id: .id3, isNeed: true, title: "省市地区", isUserKeyBoard: false, prompts: "请选择", message: string, type: .address, isShowPrompts: isShowPrompt)
let item2 = YHItemModel(id: .id4, isNeed: true, title: "详细地址", isUserKeyBoard: true, prompts: "请填写小区、楼栋、单元室等", message: mainModel.address?.details, isShowPrompts: isShowPrompt)
let item11 = YHItemModel(id: .id32, isNeed: true, title: "详细地址", isUserKeyBoard: true, prompts: "请输入", message: mainModel.address?.foreign, isShowPrompts: isShowPrompt)
let item22 = YHItemModel(id: .id33, isNeed: true, title: "是否在海外居住一年及以上", isUserKeyBoard: false, prompts: "", message: "\(mainModel.is_live_oversea_year ?? 0)", leftButtonString: "是", rightButtonString: "否", isShowPrompts: isShowPrompt)
let item2 = YHItemModel(id: .id4, isNeed: true, title: "详细地址", isUserKeyBoard: true, prompts: "请填写小区、楼栋、单元室等", message: mainModel.address.details, isShowPrompts: isShowPrompt)
let item11 = YHItemModel(id: .id32, isNeed: true, title: "详细地址", isUserKeyBoard: true, prompts: "请输入", message: mainModel.address.foreign, isShowPrompts: isShowPrompt)
let item22 = YHItemModel(id: .id33, isNeed: true, title: "是否在海外居住一年及以上", isUserKeyBoard: false, prompts: "", message: "\(mainModel.is_live_oversea_year)", leftButtonString: "是", rightButtonString: "否", isShowPrompts: isShowPrompt)
let section1 = YHSectionItemModel(title: "现居住地址", models: [item4, item1, item2])
let section11 = YHSectionItemModel(title: "现居住地址", models: [item4, item11, item22])
let item3 = YHItemModel(id: .id5, isNeed: true, title: "是否办理", isUserKeyBoard: false, prompts: "", message: "\(mainModel.has_hk_id ?? 0)", leftButtonString: "是", rightButtonString: "否", isShowPrompts: isShowPrompt)
let item3 = YHItemModel(id: .id5, isNeed: true, title: "是否办理", isUserKeyBoard: false, prompts: "", message: "\(mainModel.has_hk_id)", leftButtonString: "是", rightButtonString: "否", isShowPrompts: isShowPrompt)
let section2 = YHSectionItemModel(title: "港澳通行证", models: [item3])
let addressCountry = mainModel.address?.country ?? ""
let addressCountry = mainModel.address.country
if addressCountry.contains("中国") {
return [section, section1, section2]
} else {
......@@ -51,27 +50,27 @@ class YHMainApplicantInformationViewModel: YHBaseViewModel {
func getDocumentInformation(_ isShowPrompt: Bool) -> [YHSectionItemModel] {
var flag = false
let nationality = mainModel.nationality ?? ""
let nationality = mainModel.nationality
if nationality.contains("中国") {
flag = true
}
let item = YHItemModel(id: .id8, isNeed: flag, title: "身份证号码", isUserKeyBoard: true, prompts: "请输入", message: mainModel.certificates?.cn_identity_card?.number, isShowPrompts: isShowPrompt)
let item1 = YHItemModel(id: .id9, isNeed: flag, title: "签发地", isUserKeyBoard: true, prompts: "请输入", message: mainModel.certificates?.cn_identity_card?.issue_at, isShowPrompts: isShowPrompt)
let item2 = YHItemModel(id: .id10, isNeed: flag, title: "签发日期", isUserKeyBoard: false, prompts: "请选择", message: mainModel.certificates?.cn_identity_card?.issue_date_start_at, type: .time, isShowPrompts: isShowPrompt)
let item3 = YHItemModel(id: .id11, isNeed: flag, title: "届满日期", isUserKeyBoard: false, prompts: "请选择", message: mainModel.certificates?.cn_identity_card?.issue_date_end_at, type: .time, isShowPrompts: isShowPrompt)
let item = YHItemModel(id: .id8, isNeed: flag, title: "身份证号码", isUserKeyBoard: true, prompts: "请输入", message: mainModel.certificates.cn_identity_card.number, isShowPrompts: isShowPrompt)
let item1 = YHItemModel(id: .id9, isNeed: flag, title: "签发地", isUserKeyBoard: true, prompts: "请输入", message: mainModel.certificates.cn_identity_card.issue_at, isShowPrompts: isShowPrompt)
let item2 = YHItemModel(id: .id10, isNeed: flag, title: "签发日期", isUserKeyBoard: false, prompts: "请选择", message: mainModel.certificates.cn_identity_card.issue_date_start_at, type: .time, isShowPrompts: isShowPrompt)
let item3 = YHItemModel(id: .id11, isNeed: flag, title: "届满日期", isUserKeyBoard: false, prompts: "请选择", message: mainModel.certificates.cn_identity_card.issue_date_end_at, type: .time, isShowPrompts: isShowPrompt)
let section = YHSectionItemModel(title: "中国身份证", models: [item, item1, item2, item3])
let item10 = YHItemModel(id: .id12, isNeed: true, title: "身份证号码", isUserKeyBoard: true, prompts: "请输入", message: mainModel.certificates?.hk_macao_pass?.number, isShowPrompts: isShowPrompt)
let item11 = YHItemModel(id: .id13, isNeed: true, title: "签发地", isUserKeyBoard: true, prompts: "请输入", message: mainModel.certificates?.hk_macao_pass?.issue_at, isShowPrompts: isShowPrompt)
let item12 = YHItemModel(id: .id14, isNeed: true, title: "签发日期", isUserKeyBoard: false, prompts: "请选择", message: mainModel.certificates?.hk_macao_pass?.issue_date_start_at, type: .time, isShowPrompts: isShowPrompt)
let item13 = YHItemModel(id: .id15, isNeed: true, title: "届满日期", isUserKeyBoard: false, prompts: "请选择", message: mainModel.certificates?.hk_macao_pass?.issue_date_end_at, type: .time, isShowPrompts: isShowPrompt)
let item10 = YHItemModel(id: .id12, isNeed: true, title: "身份证号码", isUserKeyBoard: true, prompts: "请输入", message: mainModel.certificates.hk_macao_pass.number, isShowPrompts: isShowPrompt)
let item11 = YHItemModel(id: .id13, isNeed: true, title: "签发地", isUserKeyBoard: true, prompts: "请输入", message: mainModel.certificates.hk_macao_pass.issue_at, isShowPrompts: isShowPrompt)
let item12 = YHItemModel(id: .id14, isNeed: true, title: "签发日期", isUserKeyBoard: false, prompts: "请选择", message: mainModel.certificates.hk_macao_pass.issue_date_start_at, type: .time, isShowPrompts: isShowPrompt)
let item13 = YHItemModel(id: .id15, isNeed: true, title: "届满日期", isUserKeyBoard: false, prompts: "请选择", message: mainModel.certificates.hk_macao_pass.issue_date_end_at, type: .time, isShowPrompts: isShowPrompt)
let section1 = YHSectionItemModel(title: "港澳通行证", models: [item10, item11, item12, item13])
let item4 = YHItemModel(id: .id16, isNeed: false, title: "证件类别", isUserKeyBoard: false, prompts: "请选择", message: mainModel.certificates?.passport?.passport_type, type: .id, isShowPrompts: isShowPrompt)
let item5 = YHItemModel(id: .id17, isNeed: false, title: "证件号码", isUserKeyBoard: true, prompts: "请输入", message: mainModel.certificates?.passport?.number, isShowPrompts: isShowPrompt)
let item6 = YHItemModel(id: .id18, isNeed: false, title: "签发地", isUserKeyBoard: true, prompts: "请输入", message: mainModel.certificates?.passport?.issue_at, isShowPrompts: isShowPrompt)
let item7 = YHItemModel(id: .id19, isNeed: false, title: "签发日期", isUserKeyBoard: false, prompts: "请选择", message: mainModel.certificates?.passport?.issue_date_start_at, type: .time, isShowPrompts: isShowPrompt)
let item8 = YHItemModel(id: .id20, isNeed: false, title: "届满日期", isUserKeyBoard: false, prompts: "请选择", message: mainModel.certificates?.passport?.issue_date_end_at, type: .time, isShowPrompts: isShowPrompt)
let item4 = YHItemModel(id: .id16, isNeed: false, title: "证件类别", isUserKeyBoard: false, prompts: "请选择", message: mainModel.certificates.passport.passport_type, type: .id, isShowPrompts: isShowPrompt)
let item5 = YHItemModel(id: .id17, isNeed: false, title: "证件号码", isUserKeyBoard: true, prompts: "请输入", message: mainModel.certificates.passport.number, isShowPrompts: isShowPrompt)
let item6 = YHItemModel(id: .id18, isNeed: false, title: "签发地", isUserKeyBoard: true, prompts: "请输入", message: mainModel.certificates.passport.issue_at, isShowPrompts: isShowPrompt)
let item7 = YHItemModel(id: .id19, isNeed: false, title: "签发日期", isUserKeyBoard: false, prompts: "请选择", message: mainModel.certificates.passport.issue_date_start_at, type: .time, isShowPrompts: isShowPrompt)
let item8 = YHItemModel(id: .id20, isNeed: false, title: "届满日期", isUserKeyBoard: false, prompts: "请选择", message: mainModel.certificates.passport.issue_date_end_at, type: .time, isShowPrompts: isShowPrompt)
let section2 = YHSectionItemModel(title: "护照及其他旅行证件(选填)", models: [item4, item5, item6, item7, item8])
if mainModel.has_hk_id == 1 {
return [section, section1, section2]
......@@ -85,17 +84,17 @@ class YHMainApplicantInformationViewModel: YHBaseViewModel {
let item1 = YHItemModel(id: .id22, isNeed: false, title: "曾用名", isUserKeyBoard: true, prompts: "请与户口本一致,若无则不填", message: mainModel.used_name, isShowPrompts: isShowPrompt)
let item2 = YHItemModel(id: .id23, isNeed: false, title: "婚前姓氏", isUserKeyBoard: true, prompts: "如有则填写,仅支持输入字母", message: mainModel.surname, isShowPrompts: isShowPrompt)
let item3 = YHItemModel(id: .id24, isNeed: true, title: "出生日期", isUserKeyBoard: false, prompts: "请选择", message: mainModel.birthday, type: .time, isShowPrompts: isShowPrompt)
let item4 = YHItemModel(id: .id25, isNeed: true, title: "出生国家/地区", isUserKeyBoard: false, prompts: nil, message: "\(mainModel.birth_place_aboard ?? 0)", leftButtonString: "国外", rightButtonString: "国内", isShowPrompts: isShowPrompt)
let item4 = YHItemModel(id: .id25, isNeed: true, title: "出生国家/地区", isUserKeyBoard: false, prompts: nil, message: "\(mainModel.birth_place_aboard )", leftButtonString: "国外", rightButtonString: "国内", isShowPrompts: isShowPrompt)
var string = ""
if let array = mainModel.birth_place?.area {
for item in array {
string = string + item
}
let array = mainModel.birth_place.area
for item in array {
string = string + item
}
let item5 = YHItemModel(id: .id26, isNeed: true, title: "出生城市", isUserKeyBoard: false, prompts: "请选择", message: string, type: .address, isShowPrompts: isShowPrompt)
let item55 = YHItemModel(id: .id34, isNeed: true, title: "出生城市", isUserKeyBoard: true, prompts: "请输入", message: mainModel.birth_place?.foreign, isShowPrompts: isShowPrompt)
let item6 = YHItemModel(id: .id27, isNeed: true, title: "性别", isUserKeyBoard: false, prompts: "请选择", message: "\(mainModel.sex ?? 0)", type: .sex)
let item7 = YHItemModel(id: .id28, isNeed: true, title: "婚姻状况", isUserKeyBoard: false, prompts: "请选择", message: "\(mainModel.married ?? 0)", type: .marry, isShowPrompts: isShowPrompt)
let item55 = YHItemModel(id: .id34, isNeed: true, title: "出生城市", isUserKeyBoard: true, prompts: "请输入", message: mainModel.birth_place.foreign, isShowPrompts: isShowPrompt)
let item6 = YHItemModel(id: .id27, isNeed: true, title: "性别", isUserKeyBoard: false, prompts: "请选择", message: "\(mainModel.sex )", type: .sex)
let item7 = YHItemModel(id: .id28, isNeed: true, title: "婚姻状况", isUserKeyBoard: false, prompts: "请选择", message: "\(mainModel.married )", type: .marry, isShowPrompts: isShowPrompt)
var item555 = item5
if mainModel.birth_place_aboard == 1 {
item555 = item55
......@@ -106,7 +105,7 @@ class YHMainApplicantInformationViewModel: YHBaseViewModel {
let item9 = YHItemModel(id: .id30, isNeed: true, title: "电子邮箱", isUserKeyBoard: true, prompts: "请输入", message: mainModel.email, isShowPrompts: isShowPrompt)
let section1 = YHSectionItemModel(title: "联系方式", models: [item8, item9])
let item10 = YHItemModel(id: .id31, isNeed: true, title: "是否办理过", isUserKeyBoard: false, prompts: nil, message: "\(mainModel.has_hk_id ?? 0)", leftButtonString: "是", rightButtonString: "否", isShowPrompts: isShowPrompt)
let item10 = YHItemModel(id: .id31, isNeed: true, title: "是否办理过", isUserKeyBoard: false, prompts: nil, message: "\(mainModel.has_hk_id )", leftButtonString: "是", rightButtonString: "否", isShowPrompts: isShowPrompt)
let item11 = YHItemModel(id: .id35, isNeed: true, title: "香港身份证号码", isUserKeyBoard: true, prompts: "请输入", message: mainModel.hk_id_number, isShowPrompts: isShowPrompt)
let section2 = YHSectionItemModel(title: "香港身份证", models: [item10])
let section22 = YHSectionItemModel(title: "香港身份证", models: [item10, item11])
......@@ -134,75 +133,75 @@ class YHMainApplicantInformationViewModel: YHBaseViewModel {
switch type {
case .id1:
mainModel.nationality = item.message
mainModel.nationality = item.message ?? ""
case .id2:
mainModel.address?.country = item.message
mainModel.address.country = item.message ?? ""
case .id3:
mainModel.address?.area = item.value
mainModel.address.area = item.value ?? []
case .id4:
mainModel.address?.details = item.message
mainModel.address.details = item.message ?? ""
case .id5:
mainModel.has_hk_id = item.value?.first?.int
mainModel.has_hk_id = item.value?.first?.int ?? 0
case .id6:
printLog("1")
case .id7:
printLog("1")
case .id8:
mainModel.certificates?.cn_identity_card?.number = item.message
mainModel.certificates.cn_identity_card.number = item.message ?? ""
case .id9:
mainModel.certificates?.cn_identity_card?.issue_at = item.message
mainModel.certificates.cn_identity_card.issue_at = item.message ?? ""
case .id10:
mainModel.certificates?.cn_identity_card?.issue_date_start_at = item.message
mainModel.certificates.cn_identity_card.issue_date_start_at = item.message ?? ""
case .id11:
mainModel.certificates?.cn_identity_card?.issue_date_end_at = item.message
mainModel.certificates.cn_identity_card.issue_date_end_at = item.message ?? ""
case .id12:
mainModel.certificates?.hk_macao_pass?.number = item.message
mainModel.certificates.hk_macao_pass.number = item.message ?? ""
case .id13:
mainModel.certificates?.hk_macao_pass?.issue_at = item.message
mainModel.certificates.hk_macao_pass.issue_at = item.message ?? ""
case .id14:
mainModel.certificates?.hk_macao_pass?.issue_date_start_at = item.message
mainModel.certificates.hk_macao_pass.issue_date_start_at = item.message ?? ""
case .id15:
mainModel.certificates?.hk_macao_pass?.issue_date_end_at = item.message
mainModel.certificates.hk_macao_pass.issue_date_end_at = item.message ?? ""
case .id16:
mainModel.certificates?.passport?.passport_type = item.value?.first
mainModel.certificates.passport.passport_type = item.value?.first ?? ""
case .id17:
mainModel.certificates?.passport?.number = item.message
mainModel.certificates.passport.number = item.message ?? ""
case .id18:
mainModel.certificates?.passport?.issue_at = item.message
mainModel.certificates.passport.issue_at = item.message ?? ""
case .id19:
mainModel.certificates?.passport?.issue_date_start_at = item.message
mainModel.certificates.passport.issue_date_start_at = item.message ?? ""
case .id20:
mainModel.certificates?.passport?.issue_date_end_at = item.message
mainModel.certificates.passport.issue_date_end_at = item.message ?? ""
case .id21:
mainModel.username = item.message
mainModel.username = item.message ?? ""
case .id22:
mainModel.used_name = item.message
mainModel.used_name = item.message ?? ""
case .id23:
mainModel.surname = item.message
mainModel.surname = item.message ?? ""
case .id24:
mainModel.birthday = item.message
mainModel.birthday = item.message ?? ""
case .id25:
mainModel.birth_place_aboard = item.value?.first?.int
mainModel.birth_place_aboard = item.value?.first?.int ?? 0
case .id26:
mainModel.birth_place?.area = item.value
mainModel.birth_place.area = item.value ?? []
case .id27:
mainModel.sex = item.value?.first?.int
mainModel.sex = item.value?.first?.int ?? 0
case .id28:
mainModel.married = item.value?.first?.int
mainModel.married = item.value?.first?.int ?? 0
case .id29:
mainModel.mobile = item.message
mainModel.mobile = item.message ?? ""
case .id30:
mainModel.email = item.message
mainModel.email = item.message ?? ""
case .id31:
mainModel.has_hk_id = item.value?.first?.int
mainModel.has_hk_id = item.value?.first?.int ?? 0
case .id32:
mainModel.address?.foreign = item.message
mainModel.address.foreign = item.message ?? ""
case .id33:
mainModel.is_live_oversea_year = item.value?.first?.int
mainModel.is_live_oversea_year = item.value?.first?.int ?? 0
case .id34:
mainModel.birth_place?.foreign = item.message
mainModel.birth_place.foreign = item.message ?? ""
case .id35:
mainModel.hk_id_number = item.message
mainModel.hk_id_number = item.message ?? ""
}
}
......@@ -217,7 +216,8 @@ class YHMainApplicantInformationViewModel: YHBaseViewModel {
guard let self = self else { return }
let dic = json.data
guard let result = YHMainInformationModel.deserialize(dict: dic as? [AnyHashable : Any]) else {
guard let result = YHMainInformationModel.deserialize(from: dic as? Dictionary) else {
printLog("解析data失败:\(dic!)")
callBackBlock(nil,nil)
return
}
......@@ -235,59 +235,59 @@ class YHMainApplicantInformationViewModel: YHBaseViewModel {
} else {
type = "submit"
}
let area: [String] = mainModel.address?.area ?? []
let birthArea: [String] = mainModel.birth_place?.area ?? []
let area: [String] = mainModel.address.area
let birthArea: [String] = mainModel.birth_place.area
let address = ["area": area,
"country": mainModel.address?.country ?? "",
"details": mainModel.address?.details ?? "",
"foreign": mainModel.address?.foreign ?? ""] as [String : Any]
"country": mainModel.address.country,
"details": mainModel.address.details,
"foreign": mainModel.address.foreign] as [String : Any]
let birthPlace = ["area": birthArea,
"country": mainModel.birth_place?.country ?? "",
"details": mainModel.birth_place?.details ?? "",
"foreign": mainModel.birth_place?.foreign ?? ""] as [String : Any]
let cnID = ["img_back": mainModel.certificates?.cn_identity_card?.img_back ?? "",
"img_front": mainModel.certificates?.cn_identity_card?.img_front ?? "",
"issue_at": mainModel.certificates?.cn_identity_card?.issue_at ?? "",
"issue_date_end_at": mainModel.certificates?.cn_identity_card?.issue_date_end_at ?? "",
"issue_date_start_at": mainModel.certificates?.cn_identity_card?.issue_date_start_at ?? "",
"number": mainModel.certificates?.cn_identity_card?.number ?? ""] as [String : Any]
let hkID = ["img_back": mainModel.certificates?.hk_macao_pass?.img_back ?? "",
"img_front": mainModel.certificates?.hk_macao_pass?.img_front ?? "",
"issue_at": mainModel.certificates?.hk_macao_pass?.issue_at ?? "",
"issue_date_end_at": mainModel.certificates?.hk_macao_pass?.issue_date_end_at ?? "",
"issue_date_start_at": mainModel.certificates?.hk_macao_pass?.issue_date_start_at ?? "",
"number": mainModel.certificates?.hk_macao_pass?.number ?? ""] as [String : Any]
let passport = ["img_back": mainModel.certificates?.passport?.img_back ?? "",
"img_front": mainModel.certificates?.passport?.img_front ?? "",
"issue_at": mainModel.certificates?.passport?.issue_at ?? "",
"issue_date_end_at": mainModel.certificates?.passport?.issue_date_end_at ?? "",
"issue_date_start_at": mainModel.certificates?.passport?.issue_date_start_at ?? "",
"number": mainModel.certificates?.passport?.number ?? "",
"passport_type": mainModel.certificates?.passport?.passport_type ?? 0] as [String : Any]
"country": mainModel.birth_place.country,
"details": mainModel.birth_place.details,
"foreign": mainModel.birth_place.foreign] as [String : Any]
let cnID = ["img_back": mainModel.certificates.cn_identity_card.img_back,
"img_front": mainModel.certificates.cn_identity_card.img_front,
"issue_at": mainModel.certificates.cn_identity_card.issue_at,
"issue_date_end_at": mainModel.certificates.cn_identity_card.issue_date_end_at,
"issue_date_start_at": mainModel.certificates.cn_identity_card.issue_date_start_at,
"number": mainModel.certificates.cn_identity_card.number] as [String : Any]
let hkID = ["img_back": mainModel.certificates.hk_macao_pass.img_back,
"img_front": mainModel.certificates.hk_macao_pass.img_front,
"issue_at": mainModel.certificates.hk_macao_pass.issue_at,
"issue_date_end_at": mainModel.certificates.hk_macao_pass.issue_date_end_at,
"issue_date_start_at": mainModel.certificates.hk_macao_pass.issue_date_start_at,
"number": mainModel.certificates.hk_macao_pass.number] as [String : Any]
let passport = ["img_back": mainModel.certificates.passport.img_back,
"img_front": mainModel.certificates.passport.img_front,
"issue_at": mainModel.certificates.passport.issue_at,
"issue_date_end_at": mainModel.certificates.passport.issue_date_end_at,
"issue_date_start_at": mainModel.certificates.passport.issue_date_start_at,
"number": mainModel.certificates.passport.number,
"passport_type": mainModel.certificates.passport.passport_type] as [String : Any]
let params: [String : Any] = ["address": address,
"address_aboard": mainModel.address_aboard ?? 0,
"age":mainModel.age ?? "",
"address_aboard": mainModel.address_aboard,
"age":mainModel.age,
"birth_place": birthPlace,
"birth_place_aboard": mainModel.birth_place_aboard ?? 0,
"birthday": mainModel.birthday ?? "",
"email": mainModel.email ?? "",
"has_hk_id": mainModel.has_hk_id ?? 0,
"hk_id_number": mainModel.hk_id_number ?? "",
"id": mainModel.id ?? 0,
"is_handled": mainModel.is_handled ?? 0,
"is_live_oversea_year": mainModel.is_live_oversea_year ?? 0,
"married": mainModel.married ?? 0,
"mobile": mainModel.mobile ?? "",
"nationality": mainModel.nationality ?? "",
"birth_place_aboard": mainModel.birth_place_aboard,
"birthday": mainModel.birthday,
"email": mainModel.email,
"has_hk_id": mainModel.has_hk_id,
"hk_id_number": mainModel.hk_id_number,
"id": mainModel.id,
"is_handled": mainModel.is_handled,
"is_live_oversea_year": mainModel.is_live_oversea_year,
"married": mainModel.married,
"mobile": mainModel.mobile,
"nationality": mainModel.nationality,
"order_id": orderID,
"sex": mainModel.sex ?? 0,
"step": mainModel.step ?? 0,
"surname": mainModel.surname ?? "",
"used_name": mainModel.used_name ?? "",
"username": mainModel.username ?? "",
"sex": mainModel.sex,
"step": mainModel.step,
"surname": mainModel.surname,
"used_name": mainModel.used_name,
"username": mainModel.username,
"save_type": type,
"username_pinyin": ["family_name": mainModel.username_pinyin?.family_name ?? "",
"given_name": mainModel.username_pinyin?.given_name ?? ""],
"username_pinyin": ["family_name": mainModel.username_pinyin.family_name,
"given_name": mainModel.username_pinyin.given_name],
"certificates":["cn_identity_card": cnID,
"hk_macao_pass": hkID,
"passport": passport]
......@@ -304,13 +304,13 @@ class YHMainApplicantInformationViewModel: YHBaseViewModel {
func isCanNext(_ step: Int) -> Bool {
if step == 0 {
let nationality = mainModel.nationality ?? ""
let country = mainModel.address?.country ?? ""
let area = mainModel.address?.area ?? []
let details = mainModel.address?.details ?? ""
let foreign = mainModel.address?.foreign ?? ""
let is_live_oversea_year = mainModel.is_live_oversea_year ?? 0
let has_hk_id = mainModel.has_hk_id ?? 0
let nationality = mainModel.nationality
let country = mainModel.address.country
let area = mainModel.address.area
let details = mainModel.address.details
let foreign = mainModel.address.foreign
let is_live_oversea_year = mainModel.is_live_oversea_year
let has_hk_id = mainModel.has_hk_id
if country.contains("中国") {
if nationality.count != 0 && country.count != 0 && area.count != 0 && details.count != 0 {
return true
......@@ -327,14 +327,14 @@ class YHMainApplicantInformationViewModel: YHBaseViewModel {
} else if step == 1 {
return true
} else if step == 2 {
let cn_identity_card_number = mainModel.certificates?.cn_identity_card?.number ?? ""
let cn_identity_card_issue_at = mainModel.certificates?.cn_identity_card?.issue_at ?? ""
let cn_identity_card_issue_date_start_at = mainModel.certificates?.cn_identity_card?.issue_date_start_at ?? ""
let cn_identity_card_issue_date_end_at = mainModel.certificates?.cn_identity_card?.issue_date_end_at ?? ""
let hk_macao_pass_number = mainModel.certificates?.hk_macao_pass?.number ?? ""
let hk_macao_pass_issue_at = mainModel.certificates?.hk_macao_pass?.issue_at ?? ""
let hk_macao_pass_issue_date_start_at = mainModel.certificates?.hk_macao_pass?.issue_date_start_at ?? ""
let hk_macao_pass_issue_date_end_at = mainModel.certificates?.hk_macao_pass?.issue_date_end_at ?? ""
let cn_identity_card_number = mainModel.certificates.cn_identity_card.number
let cn_identity_card_issue_at = mainModel.certificates.cn_identity_card.issue_at
let cn_identity_card_issue_date_start_at = mainModel.certificates.cn_identity_card.issue_date_start_at
let cn_identity_card_issue_date_end_at = mainModel.certificates.cn_identity_card.issue_date_end_at
let hk_macao_pass_number = mainModel.certificates.hk_macao_pass.number
let hk_macao_pass_issue_at = mainModel.certificates.hk_macao_pass.issue_at
let hk_macao_pass_issue_date_start_at = mainModel.certificates.hk_macao_pass.issue_date_start_at
let hk_macao_pass_issue_date_end_at = mainModel.certificates.hk_macao_pass.issue_date_end_at
if mainModel.has_hk_id == 1 {
if cn_identity_card_number.count != 0 && cn_identity_card_issue_at.count != 0 && cn_identity_card_issue_date_start_at.count != 0 && cn_identity_card_issue_date_end_at.count != 0 && hk_macao_pass_number.count != 0 && hk_macao_pass_issue_at.count != 0 && hk_macao_pass_issue_date_start_at.count != 0 && hk_macao_pass_issue_date_end_at.count != 0 {
return true
......@@ -349,17 +349,17 @@ class YHMainApplicantInformationViewModel: YHBaseViewModel {
}
}
} else {
let username = mainModel.username ?? ""
let birthday = mainModel.birthday ?? ""
let birth_place_aboard = mainModel.birth_place_aboard ?? 0
let birth_place_area = mainModel.birth_place?.area ?? []
let birth_place_foreign = mainModel.birth_place?.foreign ?? ""
let sex = mainModel.sex ?? 0
let married = mainModel.married ?? 0
let mobile = mainModel.mobile ?? ""
let email = mainModel.email ?? ""
let has_hk_id = mainModel.has_hk_id ?? 0
let hk_id_numbe = mainModel.hk_id_number ?? ""
let username = mainModel.username
let birthday = mainModel.birthday
let birth_place_aboard = mainModel.birth_place_aboard
let birth_place_area = mainModel.birth_place.area
let birth_place_foreign = mainModel.birth_place.foreign
let sex = mainModel.sex
let married = mainModel.married
let mobile = mainModel.mobile
let email = mainModel.email
let has_hk_id = mainModel.has_hk_id
let hk_id_numbe = mainModel.hk_id_number
if birth_place_aboard == 1 {
if username.count != 0 && birthday.count != 0 && birth_place_foreign.count != 0 && mobile.count != 0 && email.count != 0 {
if has_hk_id == 1 {
......
......@@ -17,15 +17,12 @@ class YHSelectCountryViewModel: NSObject {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.OrderInformation.countryInformation + "?keyword = \(key)"
YHNetRequest.getRequest(url: strUrl) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
//// printLog("model 是 ==> \(model)")
let dic = json.data
guard let resultArray = [YHCountryMessage].deserialize(array: dic as? [Any]) else {
let dic = json.data as? [Any]
guard let resultArray = [YHCountryMessage].deserialize(from: dic) else {
callBackBlock([],nil)
return
}
callBackBlock(resultArray, nil)
} failBlock: { err in
callBackBlock([],err)
......
......@@ -15,7 +15,8 @@ class YHWorkExperienceListViewController: YHBaseViewController {
var dataSource: [YHWorkItemListModel]?
var viewModel: YHWorkItemListViewModel?
var isMore: Bool = false
var orderId: Int = 0
override func viewDidLoad() {
super.viewDidLoad()
viewModel = YHWorkItemListViewModel()
......@@ -26,7 +27,7 @@ class YHWorkExperienceListViewController: YHBaseViewController {
}
func getData() {
viewModel?.requestWorkList("133969", callBackBlock: {[weak self] success, error in
viewModel?.requestWorkList("\(orderId)", callBackBlock: {[weak self] success, error in
guard let self = self else { return }
self.dataSource = success
self.tableView.reloadData()
......@@ -112,6 +113,7 @@ extension YHWorkExperienceListViewController: UITableViewDelegate, UITableViewDa
guard let self = self else { return }
let vc = YHWorkExperienceViewController()
vc.workExperienceID = "\(model.id ?? 0)"
vc.orderID = self.orderId
self.navigationController?.pushViewController(vc, animated: true)
}
cell.deleteBlock = {[weak self] model in
......@@ -128,6 +130,7 @@ extension YHWorkExperienceListViewController: UITableViewDelegate, UITableViewDa
cell.newWorkBlock = {[weak self] in
guard let self = self else { return }
let vc = YHWorkExperienceViewController()
vc.orderID = self.orderId
self.navigationController?.pushViewController(vc, animated: true)
}
return cell
......
......@@ -18,6 +18,7 @@ class YHWorkExperienceViewController: YHBaseViewController {
var introductionDataSource: [YHWorkExperienceProjectModel]?
var fileDataSource: [String]?
var workExperienceID: String?
var orderID: Int = 0
var isMore: Bool = false
override func viewDidLoad() {
......@@ -101,7 +102,7 @@ class YHWorkExperienceViewController: YHBaseViewController {
let bottom = YHBottomNextView()
bottom.nextblock = { [weak self] in
guard let self = self else { return }
self.viewModel.saveWorkDetail(1, callBackBlock: {[weak self] flag, model in
self.viewModel.saveWorkDetail(1, orderID: self.orderID, callBackBlock: {[weak self] flag, model in
guard let self = self else { return }
self.stepView.currentIndex = self.stepView.currentIndex + 1
self.updateDataSource()
......@@ -109,7 +110,7 @@ class YHWorkExperienceViewController: YHBaseViewController {
}
bottom.saveBlock = { [weak self] in
guard let self = self else { return }
self.viewModel.saveWorkDetail(0, callBackBlock: {[weak self] flag, model in
self.viewModel.saveWorkDetail(0, orderID: self.orderID, callBackBlock: {[weak self] flag, model in
guard let self = self else { return }
})
}
......
......@@ -7,9 +7,8 @@
//
import UIKit
import SmartCodable
struct YHCompanyModel: SmartCodable {
class YHCompanyModel: YHBaseModel {
var current_page: Int?
var first_page_url: String?
var from: Int?
......@@ -23,7 +22,7 @@ struct YHCompanyModel: SmartCodable {
var data: [YHCompanyModelListModel]?
}
struct YHCompanyModelListModel: SmartCodable {
class YHCompanyModelListModel: YHBaseModel {
var id: Int?
var name: String?
var customer_num: Int?
......
......@@ -7,9 +7,8 @@
//
import UIKit
import SmartCodable
struct YHWorkExampleModel: SmartCodable {
class YHWorkExampleModel: YHBaseModel {
var type: Int?
var industry: String?
var wduty_list: [String]?
......
......@@ -7,56 +7,55 @@
//
import Foundation
import SmartCodable
struct YHWorkExperienceDetailModel: SmartCodable {
var id: Int?
var order_id: Int?
var company_name: String?
var is_famous_enterprise: Int?
var duty: String?
var entry_time: String?
var departure_time: String?
var industry: String?
var location: YHAddressModel?
var location_aboard: Int?
var professional_level: Int?
var professional_other: String?
var position: String?
var remark: String?
var old_id: Int?
var created_at: String?
var updated_at: String?
var is_show: Int?
var deleted_at: String?
var operator_name: String?
var operator_english_name: String?
var operator_id: Int?
var work_certificate: String?
var executives_certificate: String?
var is_executives: Int?
var wduty: String?
var highlights: String?
var file: [String]?
var not_need_upload_file: Int?
var company_member_total: Int?
var administrative_level: Int?
var company_manage_total: Int?
var top_manager_start_at: String?
var top_manager_end_at: String?
var master_of_important_project: Int?
var match_listing: Int?
var is_synthetic: Int?
var step: Int?
var create_from_appid: Int?
var update_from_appid: Int?
var international_work_experience: Int?
var turnover: Int?
var business_nature: String?
var company_website: String?
var company_introduce: String?
var business_remark: String?
var is_project_introduction: Int?
var customer_center_id: Int?
var projects: [String]?
class YHWorkExperienceDetailModel: YHBaseModel {
var id: Int = 0
var order_id: Int = 0
var company_name: String = ""
var is_famous_enterprise: Int = 0
var duty: String = ""
var entry_time: String = ""
var departure_time: String = ""
var industry: String = ""
var location: YHAddressModel = YHAddressModel()
var location_aboard: Int = 0
var professional_level: Int = 0
var professional_other: String = ""
var position: String = ""
var remark: String = ""
var old_id: Int = 0
var created_at: String = ""
var updated_at: String = ""
var is_show: Int = 0
var deleted_at: String = ""
var operator_name: String = ""
var operator_english_name: String = ""
var operator_id: Int = 0
var work_certificate: String = ""
var executives_certificate: String = ""
var is_executives: Int = 0
var wduty: String = ""
var highlights: String = ""
var file: [String] = []
var not_need_upload_file: Int = 0
var company_member_total: Int = 0
var administrative_level: Int = 0
var company_manage_total: Int = 0
var top_manager_start_at: String = ""
var top_manager_end_at: String = ""
var master_of_important_project: Int = 0
var match_listing: Int = 0
var is_synthetic: Int = 0
var step: Int = 0
var create_from_appid: Int = 0
var update_from_appid: Int = 0
var international_work_experience: Int = 0
var turnover: Int = 0
var business_nature: String = ""
var company_website: String = ""
var company_introduce: String = ""
var business_remark: String = ""
var is_project_introduction: Int = 0
var customer_center_id: Int = 0
var projects: [String] = []
}
......@@ -9,7 +9,7 @@
import UIKit
import SmartCodable
struct YHWorkExperienceProjectModel: SmartCodable {
class YHWorkExperienceProjectModel: YHBaseModel {
var id: Int?
var order_id: Int?
var work_id: Int?
......
......@@ -7,16 +7,15 @@
//
import UIKit
import SmartCodable
struct YHWorkModel: SmartCodable {
class YHWorkModel: YHBaseModel {
var count: Int?
var list: [YHWorkItemListModel]?
}
struct YHWorkItemListModel: SmartCodable {
class YHWorkItemListModel: YHBaseModel {
var id: Int?
var order_id: Int?
var company_name: String?
......
......@@ -14,12 +14,12 @@ class YHCompanyViewModel: YHBaseViewModel {
}
func requestCompany(_ key: String, callBackBlock:@escaping (_ success: [YHCompanyModelListModel]?, _ error:YHErrorModel?)->()) {
let strUrl = YHBaseUrlManager.shared.curURL() + "frontend/workInfo/company-search?company=\(key)&page_size=20"
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.WorkExperience.company + "?company=\(key)&page_size=20"
YHNetRequest.getRequest(url: strUrl) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
let dic = json.data
guard let result = YHCompanyModel.deserialize(dict: dic as? [AnyHashable : Any]) else {
guard let result = YHCompanyModel.deserialize(from: dic as? Dictionary) else {
callBackBlock([],nil)
return
}
......
......@@ -17,26 +17,25 @@ class YHWorkExperienceViewModel: YHBaseViewModel {
}
func getBaseDataSource() -> [YHSectionWorkExperienceModel] {
let item = YHWorkExperienceModel(id: .id1, isNeed: true, title: "用人单位", isUserKeyBoard: false, prompts: "请输入", message: mainModel.company_name ?? "", type: .unit)
let item1 = YHWorkExperienceModel(id: .id2, isNeed: true, title: "用人单位性质", isUserKeyBoard: false, prompts: "请输入", message: mainModel.industry ?? "", type: .nature)
let item2 = YHWorkExperienceModel(id: .id3, isNeed: false, title: "用人单位介绍", isUserKeyBoard: true, prompts: "如方便提供,请填写", message: mainModel.company_introduce ?? "")
let item3 = YHWorkExperienceModel(id: .id4, isNeed: false, title: "用人单位官网", isUserKeyBoard: true, prompts: "如有,请输入官网链接", message: mainModel.company_website ?? "")
let item4 = YHWorkExperienceModel(id: .id5, isNeed: true, title: "出生国家/地区", isUserKeyBoard: false, prompts: nil, message: mainModel.location?.country ?? "", type: .country)
let item = YHWorkExperienceModel(id: .id1, isNeed: true, title: "用人单位", isUserKeyBoard: false, prompts: "请输入", message: mainModel.company_name , type: .unit)
let item1 = YHWorkExperienceModel(id: .id2, isNeed: true, title: "用人单位性质", isUserKeyBoard: false, prompts: "请输入", message: mainModel.industry, type: .nature)
let item2 = YHWorkExperienceModel(id: .id3, isNeed: false, title: "用人单位介绍", isUserKeyBoard: true, prompts: "如方便提供,请填写", message: mainModel.company_introduce)
let item3 = YHWorkExperienceModel(id: .id4, isNeed: false, title: "用人单位官网", isUserKeyBoard: true, prompts: "如有,请输入官网链接", message: mainModel.company_website)
let item4 = YHWorkExperienceModel(id: .id5, isNeed: true, title: "出生国家/地区", isUserKeyBoard: false, prompts: nil, message: mainModel.location.country, type: .country)
var string = ""
if let array = mainModel.location?.area {
for item in array {
string = string + item
}
let array = mainModel.location.area
for item in array {
string = string + item
}
let item5 = YHWorkExperienceModel(id: .id6, isNeed: true, title: "出生城市", isUserKeyBoard: false, prompts: "请选择", message: string, type: .address)
let item55 = YHWorkExperienceModel(id: .id7, isNeed: true, title: "出生城市", isUserKeyBoard: true, prompts: "请输入", message: mainModel.location?.foreign ?? "")
let item6 = YHWorkExperienceModel(id: .id8, isNeed: true, title: "职位", isUserKeyBoard: true, prompts: "请输入", message: mainModel.position ?? "")
let item7 = YHWorkExperienceModel(id: .id9, isNeed: true, title: "入职年月", isUserKeyBoard: false, prompts: "请选择", message: mainModel.entry_time ?? "", type: .time)
let item8 = YHWorkExperienceModel(id: .id10, isNeed: true, title: "离职年月", isUserKeyBoard: false, prompts: "请选择", message: mainModel.departure_time ?? "", type: .time)
let item9 = YHWorkExperienceModel(id: .id11, isNeed: true, title: "工作证明文件", isUserKeyBoard: false, prompts: "请选择", message: mainModel.work_certificate ?? "", type: .certificate)
let item10 = YHWorkExperienceModel(id: .id12, isNeed: false, title: "职责性质", isUserKeyBoard: true, prompts: "请选择", message: mainModel.duty ?? "")
let item11 = YHWorkExperienceModel(id: .id13, isNeed: false, title: "相关工作经验是否属于国际工作经验", isUserKeyBoard: false, prompts: "", message: "\(mainModel.international_work_experience ?? 0)", leftButtonString: "是", rightButtonString: "否")
let addressCountry = mainModel.location?.country ?? ""
let item55 = YHWorkExperienceModel(id: .id7, isNeed: true, title: "出生城市", isUserKeyBoard: true, prompts: "请输入", message: mainModel.location.foreign)
let item6 = YHWorkExperienceModel(id: .id8, isNeed: true, title: "职位", isUserKeyBoard: true, prompts: "请输入", message: mainModel.position)
let item7 = YHWorkExperienceModel(id: .id9, isNeed: true, title: "入职年月", isUserKeyBoard: false, prompts: "请选择", message: mainModel.entry_time, type: .time)
let item8 = YHWorkExperienceModel(id: .id10, isNeed: true, title: "离职年月", isUserKeyBoard: false, prompts: "请选择", message: mainModel.departure_time, type: .time)
let item9 = YHWorkExperienceModel(id: .id11, isNeed: true, title: "工作证明文件", isUserKeyBoard: false, prompts: "请选择", message: mainModel.work_certificate, type: .certificate)
let item10 = YHWorkExperienceModel(id: .id12, isNeed: false, title: "职责性质", isUserKeyBoard: true, prompts: "请选择", message: mainModel.duty)
let item11 = YHWorkExperienceModel(id: .id13, isNeed: false, title: "相关工作经验是否属于国际工作经验", isUserKeyBoard: false, prompts: "", message: "\(mainModel.international_work_experience)", leftButtonString: "是", rightButtonString: "否")
let addressCountry = mainModel.location.country
var section = YHSectionWorkExperienceModel()
if addressCountry.contains("中国") {
section = YHSectionWorkExperienceModel(title: "企业信息", models: [item, item1, item2, item3, item4, item5, item6, item7, item8, item9, item10, item11])
......@@ -44,15 +43,15 @@ class YHWorkExperienceViewModel: YHBaseViewModel {
section = YHSectionWorkExperienceModel(title: "企业信息", models: [item, item1, item2, item3, item4, item55, item6, item7, item8, item9, item10, item11])
}
let item12 = YHWorkExperienceModel(id: .id14, isNeed: true, title: "企业人数规模", isUserKeyBoard: true, prompts: "请输入", message: "\(mainModel.company_member_total ?? 0)")
let item13 = YHWorkExperienceModel(id: .id15, isNeed: false, title: "行政架构层级", isUserKeyBoard: false, prompts: "请输入", message: "\(mainModel.administrative_level ?? 0)", type: .structure)
let item14 = YHWorkExperienceModel(id: .id16, isNeed: true, title: "下属管理人数", isUserKeyBoard: true, prompts: "请输入", message: "\(mainModel.company_manage_total ?? 0)")
let item15 = YHWorkExperienceModel(id: .id17, isNeed: false, title: "公司营业额/港元 (近一年)", isUserKeyBoard: true, prompts: "请输入具体数字", message: "\(mainModel.turnover ?? 0)")
let item16 = YHWorkExperienceModel(id: .id18, isNeed: false, title: "公司业务性质/范畴/所属行业", isUserKeyBoard: true, prompts: "请输入,100字内", message: mainModel.business_nature ?? "")
let item17 = YHWorkExperienceModel(id: .id19, isNeed: true, title: "职位水平类别", isUserKeyBoard: false, prompts: "请选择", message: "\(mainModel.professional_level ?? 0)", type: .level)
let item18 = YHWorkExperienceModel(id: .id20, isNeed: true, title: "高管证明文件", isUserKeyBoard: false, prompts: "请选择", message: mainModel.executives_certificate ?? "", type: .prove)
let item19 = YHWorkExperienceModel(id: .id21, isNeed: true, title: "高管在职开始时间", isUserKeyBoard: false, prompts: "请选择", message: mainModel.top_manager_start_at ?? "", type: .time)
let item20 = YHWorkExperienceModel(id: .id22, isNeed: true, title: "高管在职结束时间", isUserKeyBoard: false, prompts: "请选择", message: mainModel.top_manager_end_at ?? "", type: .time)
let item12 = YHWorkExperienceModel(id: .id14, isNeed: true, title: "企业人数规模", isUserKeyBoard: true, prompts: "请输入", message: "\(mainModel.company_member_total)")
let item13 = YHWorkExperienceModel(id: .id15, isNeed: false, title: "行政架构层级", isUserKeyBoard: false, prompts: "请输入", message: "\(mainModel.administrative_level)", type: .structure)
let item14 = YHWorkExperienceModel(id: .id16, isNeed: true, title: "下属管理人数", isUserKeyBoard: true, prompts: "请输入", message: "\(mainModel.company_manage_total)")
let item15 = YHWorkExperienceModel(id: .id17, isNeed: false, title: "公司营业额/港元 (近一年)", isUserKeyBoard: true, prompts: "请输入具体数字", message: "\(mainModel.turnover)")
let item16 = YHWorkExperienceModel(id: .id18, isNeed: false, title: "公司业务性质/范畴/所属行业", isUserKeyBoard: true, prompts: "请输入,100字内", message: mainModel.business_nature)
let item17 = YHWorkExperienceModel(id: .id19, isNeed: true, title: "职位水平类别", isUserKeyBoard: false, prompts: "请选择", message: "\(mainModel.professional_level)", type: .level)
let item18 = YHWorkExperienceModel(id: .id20, isNeed: true, title: "高管证明文件", isUserKeyBoard: false, prompts: "请选择", message: mainModel.executives_certificate, type: .prove)
let item19 = YHWorkExperienceModel(id: .id21, isNeed: true, title: "高管在职开始时间", isUserKeyBoard: false, prompts: "请选择", message: mainModel.top_manager_start_at, type: .time)
let item20 = YHWorkExperienceModel(id: .id22, isNeed: true, title: "高管在职结束时间", isUserKeyBoard: false, prompts: "请选择", message: mainModel.top_manager_end_at, type: .time)
var section1 = YHSectionWorkExperienceModel()
if mainModel.professional_level == 1 {
section1 = YHSectionWorkExperienceModel(title: "企业规模", models: [item12, item13, item14, item15, item16, item17, item18, item19, item20])
......@@ -68,49 +67,49 @@ class YHWorkExperienceViewModel: YHBaseViewModel {
switch type {
case .id1: // 用人单位
mainModel.company_name = item.message
mainModel.company_name = item.message ?? ""
case .id2: // 用人单位性质
mainModel.industry = item.message
mainModel.industry = item.message ?? ""
case .id3: // 用人单位介绍
mainModel.company_introduce = item.message
mainModel.company_introduce = item.message ?? ""
case .id4: // 用人单位官网
mainModel.company_website = item.message
mainModel.company_website = item.message ?? ""
case .id5: // 工作地区国家
mainModel.location?.country = item.message
mainModel.location.country = item.message ?? ""
case .id6: // 工作城市 国内
mainModel.location?.area = item.value
mainModel.location.area = item.value ?? []
case .id7: // 工作城市国外
mainModel.location?.foreign = item.message
mainModel.location.foreign = item.message ?? ""
case .id8: // 职位
mainModel.position = item.message
mainModel.position = item.message ?? ""
case .id9: // 入职年月
mainModel.entry_time = item.message
mainModel.entry_time = item.message ?? ""
case .id10: // 离职年月
mainModel.departure_time = item.message
mainModel.departure_time = item.message ?? ""
case .id11: // 工作证明文件
mainModel.work_certificate = item.message
mainModel.work_certificate = item.message ?? ""
case .id12: // 职责性质
mainModel.duty = item.message
mainModel.duty = item.message ?? ""
case .id13: // 是否国际工作经验
mainModel.international_work_experience = Int(item.value?.first ?? "0")
mainModel.international_work_experience = Int(item.value?.first ?? "0") ?? 0
case .id14: // 企业人数规模
mainModel.company_member_total = Int(item.message ?? "0")
mainModel.company_member_total = Int(item.message ?? "0") ?? 0
case .id15: // 行政架构层级
mainModel.administrative_level = Int(item.value?.first ?? "0")
mainModel.administrative_level = Int(item.value?.first ?? "0") ?? 0
case .id16: // 下属管理人数
mainModel.company_manage_total = Int(item.message ?? "0")
mainModel.company_manage_total = Int(item.message ?? "0") ?? 0
case .id17: // 公司营业额/港元
mainModel.turnover = Int(item.message ?? "0")
mainModel.turnover = Int(item.message ?? "0") ?? 0
case .id18: // 公司性质/范畴/所属行业
mainModel.business_nature = item.message
mainModel.business_nature = item.message ?? ""
case .id19: // 职位水平类型
mainModel.professional_level = Int(item.value?.first ?? "0")
mainModel.professional_level = Int(item.value?.first ?? "0") ?? 0
case .id20: // 高管证明文件
mainModel.executives_certificate = item.message
mainModel.executives_certificate = item.message ?? ""
case .id21: // 高管在职开始时间
mainModel.top_manager_start_at = item.message
mainModel.top_manager_start_at = item.message ?? ""
case .id22: // 高管在职结束时间
mainModel.top_manager_end_at = item.message
mainModel.top_manager_end_at = item.message ?? ""
}
}
......@@ -135,12 +134,12 @@ class YHWorkExperienceViewModel: YHBaseViewModel {
}
func requestWorkExample(callBackBlock:@escaping (_ success: Bool?, _ error:YHErrorModel?)->()) {
let strUrl = YHBaseUrlManager.shared.curURL() + "frontend/workInfo/example"
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.WorkExperience.example
let _ = YHNetRequest.getRequest(url: strUrl) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
let dic = json.data
guard let result = [YHWorkExampleModel].deserialize(array: dic as? [Any]) else {
guard let result = [YHWorkExampleModel].deserialize(from: dic as? [Any]) else {
callBackBlock(false,nil)
return
}
......@@ -152,12 +151,12 @@ class YHWorkExperienceViewModel: YHBaseViewModel {
}
func requestWorkDetail(_ workId: String, callBackBlock:@escaping (_ success: Bool?, _ error:YHErrorModel?)->()) {
let strUrl = YHBaseUrlManager.shared.curURL() + "frontend/workInfo/detail?id=\(workId)"
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.WorkExperience.detail + "?id=\(workId)"
let _ = YHNetRequest.getRequest(url: strUrl) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
let dic = json.data
guard let result = YHWorkExperienceDetailModel.deserialize(dict: dic as? [AnyHashable : Any]) else {
guard let result = YHWorkExperienceDetailModel.deserialize(from: dic as? Dictionary) else {
callBackBlock(false,nil)
return
}
......@@ -169,66 +168,72 @@ class YHWorkExperienceViewModel: YHBaseViewModel {
}
// 0保存 1下一步
func saveWorkDetail(_ saveType: Int, callBackBlock:@escaping (_ success: Bool?, _ error:YHErrorModel?)->()) {
let area: [String] = mainModel.location?.area ?? []
func saveWorkDetail(_ saveType: Int, orderID: Int, callBackBlock:@escaping (_ success: Bool?, _ error:YHErrorModel?)->()) {
let area: [String] = mainModel.location.area
let location = ["area": area,
"country": mainModel.location?.country ?? "",
"details": mainModel.location?.details ?? "",
"foreign": mainModel.location?.foreign ?? ""] as [String : Any]
let params: [String : Any] = ["administrative_level": mainModel.administrative_level ?? 0,
"business_nature": mainModel.business_nature ?? "",
"business_remark":mainModel.business_remark ?? "",
"company_introduce": mainModel.company_introduce ?? "",
"company_manage_total": mainModel.company_manage_total ?? 0,
"company_member_total": mainModel.company_member_total ?? 0,
"company_name": mainModel.company_name ?? "",
"company_website": mainModel.company_website ?? "",
"create_from_appid": mainModel.create_from_appid ?? 0,
"created_at": mainModel.created_at ?? "",
"customer_center_id": mainModel.customer_center_id ?? 0,
"deleted_at": mainModel.deleted_at ?? "",
"departure_time": mainModel.departure_time ?? "",
"duty": mainModel.duty ?? "",
"entry_time": mainModel.entry_time ?? "",
"executives_certificate": mainModel.executives_certificate ?? "",
"file": mainModel.file ?? [],
"highlights": mainModel.highlights ?? "",
"id": mainModel.id ?? 0,
"industry": mainModel.industry ?? "",
"international_work_experience": mainModel.international_work_experience ?? 0,
"is_executives": mainModel.is_executives ?? 0,
"is_famous_enterprise": mainModel.is_famous_enterprise ?? 0,
"is_project_introduction": mainModel.is_project_introduction ?? 0,
"is_show": mainModel.is_show ?? 0,
"is_synthetic": mainModel.is_synthetic ?? 0,
"country": mainModel.location.country,
"details": mainModel.location.details,
"foreign": mainModel.location.foreign] as [String : Any]
let params: [String : Any] = ["administrative_level": mainModel.administrative_level,
"business_nature": mainModel.business_nature,
"business_remark":mainModel.business_remark,
"company_introduce": mainModel.company_introduce,
"company_manage_total": mainModel.company_manage_total,
"company_member_total": mainModel.company_member_total,
"company_name": mainModel.company_name,
"company_website": mainModel.company_website,
"create_from_appid": mainModel.create_from_appid,
"created_at": mainModel.created_at,
"customer_center_id": mainModel.customer_center_id,
"deleted_at": mainModel.deleted_at,
"departure_time": mainModel.departure_time,
"duty": mainModel.duty,
"entry_time": mainModel.entry_time,
"executives_certificate": mainModel.executives_certificate,
"file": mainModel.file,
"highlights": mainModel.highlights,
"id": mainModel.id,
"orderId": orderID,
"industry": mainModel.industry,
"international_work_experience": mainModel.international_work_experience,
"is_executives": mainModel.is_executives,
"is_famous_enterprise": mainModel.is_famous_enterprise,
"is_project_introduction": mainModel.is_project_introduction,
"is_show": mainModel.is_show,
"is_synthetic": mainModel.is_synthetic,
"location": location,
"location_aboard": mainModel.location_aboard ?? 0,
"master_of_important_project": mainModel.master_of_important_project ?? 0,
"match_listing": mainModel.match_listing ?? 0,
"not_need_upload_file": mainModel.not_need_upload_file ?? 0,
"old_id": mainModel.old_id ?? 0,
"operator_english_name": mainModel.operator_english_name ?? "",
"operator_id": mainModel.operator_id ?? 0,
"operator_name": mainModel.operator_name ?? "",
"order_id": mainModel.order_id ?? 0,
"position": mainModel.position ?? "",
"professional_level": mainModel.professional_level ?? 0,
"professional_other": mainModel.professional_other ?? "",
"projects": mainModel.projects ?? [],
"remark": mainModel.remark ?? "",
"step": mainModel.step ?? 0,
"top_manager_end_at": mainModel.top_manager_end_at ?? "",
"top_manager_start_at": mainModel.top_manager_start_at ?? "",
"turnover": mainModel.turnover ?? 0,
"update_from_appid": mainModel.update_from_appid ?? 0,
"updated_at": mainModel.updated_at ?? "",
"wduty": mainModel.wduty ?? "",
"work_certificate": mainModel.work_certificate ?? "",
"location_aboard": mainModel.location_aboard,
"master_of_important_project": mainModel.master_of_important_project,
"match_listing": mainModel.match_listing,
"not_need_upload_file": mainModel.not_need_upload_file,
"old_id": mainModel.old_id,
"operator_english_name": mainModel.operator_english_name,
"operator_id": mainModel.operator_id,
"operator_name": mainModel.operator_name,
"position": mainModel.position,
"professional_level": mainModel.professional_level,
"professional_other": mainModel.professional_other,
"projects": mainModel.projects,
"remark": mainModel.remark,
"step": mainModel.step,
"top_manager_end_at": mainModel.top_manager_end_at,
"top_manager_start_at": mainModel.top_manager_start_at,
"turnover": mainModel.turnover,
"update_from_appid": mainModel.update_from_appid,
"updated_at": mainModel.updated_at,
"wduty": mainModel.wduty,
"work_certificate": mainModel.work_certificate,
"verify": saveType
]
let strUrl = YHBaseUrlManager.shared.curURL() + "frontend/workInfo/save"
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.WorkExperience.save
let _ = YHNetRequest.postRequest(url: strUrl, params: params) { [weak self] json, code in
guard let self = self else { return }
let dic = json.data
guard let result = YHWorkExperienceDetailModel.deserialize(from: dic as? Dictionary) else {
callBackBlock(false,nil)
return
}
self.mainModel = result
callBackBlock(true, nil)
} failBlock: { err in
callBackBlock(false, err)
......@@ -236,12 +241,12 @@ class YHWorkExperienceViewModel: YHBaseViewModel {
}
func requestWorkInfoProject(_ workId: String, callBackBlock:@escaping (_ success: [YHWorkExperienceProjectModel]?, _ error:YHErrorModel?)->()){
let strUrl = YHBaseUrlManager.shared.curURL() + "frontend/workInfo/project/list?work_id=\(workId)"
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.WorkExperience.projectList + "?work_id=\(workId)"
let _ = YHNetRequest.getRequest(url: strUrl) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
let dic = json.data
guard let resultArray = [YHWorkExperienceProjectModel].deserialize(array: dic as? [Any]) else {
guard let resultArray = [YHWorkExperienceProjectModel].deserialize(from: dic as? [Any]) else {
callBackBlock([],nil)
return
}
......@@ -254,7 +259,7 @@ class YHWorkExperienceViewModel: YHBaseViewModel {
func requestDeleteWorkExperienceProject(_ orderId: String, callBackBlock:@escaping (_ success: Bool?, _ error:YHErrorModel?)->()) {
let params: [String : Any] = ["id": orderId]
let strUrl = YHBaseUrlManager.shared.curURL() + "frontend/workInfo/project/del"
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.WorkExperience.projectDel
let _ = YHNetRequest.postRequest(url: strUrl, params: params) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
......
......@@ -16,12 +16,12 @@ class YHWorkIntroductionViewModel: YHBaseViewModel {
}
func requestIntroducetionExample(callBackBlock:@escaping (_ success: Bool?, _ error:YHErrorModel?)->()) {
let strUrl = YHBaseUrlManager.shared.curURL() + "frontend/workInfo/item-example"
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.WorkExperience.projectExample
let _ = YHNetRequest.getRequest(url: strUrl) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
let dic = json.data
guard let result = [YHWorkExampleModel].deserialize(array: dic as? [Any]) else {
guard let result = [YHWorkExampleModel].deserialize(from: dic as? [Any]) else {
callBackBlock(false,nil)
return
}
......@@ -34,16 +34,16 @@ class YHWorkIntroductionViewModel: YHBaseViewModel {
// 0保存 1下一步
func saveWorkProjectDetail(_ workModel: YHWorkExperienceDetailModel, projectModel: YHWorkExperienceProjectModel, callBackBlock:@escaping (_ success: Bool?, _ error:YHErrorModel?)->()) {
let params: [String : Any] = ["app_id": workModel.create_from_appid ?? 0,
"id": projectModel.id ?? 0,
"order_id": workModel.order_id ?? 0,
"project_end_time": projectModel.project_end_time ?? "",
"project_highlights": projectModel.project_highlights ?? 0,
"project_name": projectModel.project_name ?? 0,
"project_start_time": projectModel.project_start_time ?? "",
"work_id": workModel.id ?? 0
]
let strUrl = YHBaseUrlManager.shared.curURL() + "frontend/workInfo/project/save"
let params: [String : Any] = ["app_id": workModel.create_from_appid,
"id": projectModel.id ?? 0,
"order_id": workModel.order_id,
"project_end_time": projectModel.project_end_time ?? "",
"project_highlights": projectModel.project_highlights ?? 0,
"project_name": projectModel.project_name ?? 0,
"project_start_time": projectModel.project_start_time ?? "",
"work_id": workModel.id
]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.WorkExperience.saveProject
let _ = YHNetRequest.postRequest(url: strUrl, params: params) { [weak self] json, code in
guard let self = self else { return }
callBackBlock(true, nil)
......
......@@ -17,12 +17,12 @@ class YHWorkItemListViewModel: YHBaseViewModel {
}
func requestWorkList(_ orderId: String, callBackBlock:@escaping (_ success: [YHWorkItemListModel]?, _ error:YHErrorModel?)->()) {
let strUrl = YHBaseUrlManager.shared.curURL() + "frontend/workInfo/list?order_id=\(orderId)"
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.WorkExperience.list + "?order_id=\(orderId)"
let _ = YHNetRequest.getRequest(url: strUrl) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
let dic = json.data
guard let result = YHWorkModel.deserialize(dict: dic as? [AnyHashable : Any]) else {
let dic = json.data
guard let result = YHWorkModel.deserialize(from: dic as? Dictionary) else {
callBackBlock([],nil)
return
}
......@@ -35,7 +35,7 @@ class YHWorkItemListViewModel: YHBaseViewModel {
func requestDeleteWorkExperience(_ orderId: String, callBackBlock:@escaping (_ success: Bool?, _ error:YHErrorModel?)->()) {
let params: [String : Any] = ["id": orderId]
let strUrl = YHBaseUrlManager.shared.curURL() + "frontend/workInfo/del"
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.WorkExperience.del
let _ = YHNetRequest.postRequest(url: strUrl, params: params) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
......
......@@ -114,4 +114,31 @@ class YHAllApiName {
// 主申请人国家信息
static let countryInformation = "infoflow/country"
}
struct WorkExperience {
//工作经验列表
static let list = "infoflow/work/list"
//工作经验详情
static let detail = "infoflow/work/detail"
//工作经验保存
static let save = "infoflow/work/save"
static let saveAll = "infoflow/work/save-all"
//公司列表
static let company = "infoflow/company/search"
//工作经历删除
static let del = "infoflow/work/del"
//工作经历参考模版
static let example = "infoflow/work/getWorkExampleList"
static let projectExample = "infoflow/work/getWorkProjectExampleList"
//工作经验项目保存
static let saveProject = "infoflow/work/saveWorkProject"
//工作经验项目列表
static let projectList = "infoflow/work/getWorkProjectList"
//工作经验项目列表
static let projectDetail = "infoflow/work/getWorkProjectDetail"
//删除工作经验项目
static let projectDel = "infoflow/work/delWorkProject"
//识别附件
static let ocrFileContent = "infoflow/work/getOcrFileContent"
}
}
......@@ -100,15 +100,10 @@ class YHNetRequest: NSObject {
}
private func testToken(_ requestHeader:inout HTTPHeaders) {
//杜宇的账号
// requestHeader.add(name: "token", value: "eyJpdiI6Ik5aeEVDclZTK0FISEFBZUgxN2VkdGc9PSIsInZhbHVlIjoiRFRJOHlObzVrZlp4T2tVYW1MSE1ZK0Z3dXlyK3p4QlczNmxsTXdkdW5GQVY4Q2VqZlNNUDdrdVpsb0JcLytpYmJheUp2MWZTUE5pOWgrVWRLdEtIUkx4R1wvS3F6SmRSQ0dWeFVXanFINGkyRWNMTXB4TVlcLzhjXC9NSzVoMFwvZ1ZOaVIwb0VqWlo1VERPSHY2RWJhME1RdWtkXC8yanBQdm9lMWM4WXJVK1BnMDd6SncwVVlWMDNnbSswSnM3eVwveFRRck03M3pOaDFSc3g0UmlYMTJQdmZpSkhUWHVMa21RV2xRbXBkalVTTUFicmFaN2NVNXl1ZTJOeEJoKzhrMnZtdzdvM1U5Qmh4WXNiSEFERUpiZHNWNkxoM2ZkVVRUdFlMMU1MQnIyaWNxNSt4S1NocDVEbnNqeHphUCtVVk1qTlVnMk1ydVNPamJ0c2tDQ1wvWFk1SkxtSWtDMU9oT3ZqaFpuNU5aVUVicHpYVU56VnlqK01Cb20welJMbkQrcTFWOHFUbzlPK0RGdDRcLzJ1T094MjNjYTVZZmJcL2txRE93cEFUYzlKWWdVWE9cLzFnYnVwTFZ4VUtqMFQ5QlgzZitDQjhyNURpU3p0bktqblBicUxPekNBcWRWM0g0WklSOEc0T0RPVkNBMGZQdEtWV3ZqN3IrcHZDYm9UNjREdnA3U1RZY1Z1dFE3K1RRM2F2eGY0QXc2dGlha0RBUDVpVHdFWE53dzl2eVczVk9VNTJSa1Fzb1J4ZGd0c0RCdktPQ1FWOUQ5Y0krckQ3bFc4NkNJMHliSXlnNGtYU1ZCUHRZWTdCKzA5d1wvdldzWTlpeUdYaEg4eGhITHpRSUthMWpSVlZvZVhwZ3BvamxCTHFSUXJmQ1hQNThYbUNNanZnVGs0b3RDTUFmYkdsYTEzeEtnTXJpZVU0QnJHWDJoUk9sUklzaFFhUkJiNWk0Z2E0cUUwejU4RmF2RnE4Z2U0eEo3VmZ2SmFMTlVacFBvSFlZUmM2N3liVTdhTk5NWU9YS0xtalk3QUN3NWV2UTlPeE5hMmk0aHU4MSt0YjNJQytFczRMa2l6XC9jV0Jxc01QYU0yYXdTXC92RXBxTFNVOVd6SlwvRm9KM21jUHlcL2diRlMyU3REeEl0K1RxSjRuck8xaXlOaWY4NXVzMVBibXpVSEZJWkVZQnFUd2k5TUVJcDUwUEFjTmljTzYyaWFYaFkzZUtkR294d29LUzBUTFF1Y0xxbWtMNFF4ZlZkN2k4YktEUnRGekU3OEdaN2J3TUR4T2FpVHRKaGlqRWNcL2c5dlwvOUVEVmdLNUhBSk1wSGV5UXVoOFJydlczc09HU1EyeXI4SFZZQmJJQWx1cGFIaXhmK1VJNmdoNmwrOElMZXFxSHZtazQreW84RFBlOXFnVDI2bm1tZWl0K01OcU1DSGJEQXdnWW9Hc0ptWFVJbXVXdEpyT2FKUHprTzJ1MkxFSEViZGV4cFpuOWRXK3dUdVR4bmJHZ1VRRGJycFRBME5lWUtaT0JCYjViSWVvcVJ3RXllb2tQZ1VkUWFqVWo0UHQzMUQwWVMwZ05rTTU0Nk1QQUdxTm9rZFNISVYrTG5DWlArNkt5RkZxajdZN1luakRKQVdUaVpnOUhCUExYMEVKRXRRT3QyZTI4cU9TdlBrbWxVZkFLSWZFbXNha3lCZUhFRVpyTmxQOERjbVwvMytCc0JpNnZcL1Nvek9yR2pUWGF2XC9VMzN4OEY5T3VsdUNGRFNWbHZZMnBzNHhMeEdIR21majBOOUJNbEhlK1J4S3dFTnlJamdTeFQyTWlTTlhCUWxnSDF6VmNhWHIzVGpoREY5clB2XC9uZHZjSm1iTHZ1bjFIUUFRait6dUJlUk1WQ1FhdXFoN002YlQ5MVwvQVMzYzJJQ0RFR1czdEtqMFBTQT09IiwibWFjIjoiOGVlZjBmNTVmMzEwNjhkZjVmYTlkYzAwYzllMjJmNjUyZmRmN2U1ODFiZTIzNzRjMDVjMTNiOTNhOWRhMmVkYSJ9")
//明杰的账号
// requestHeader.add(name: "token", value: "eyJpdiI6InM0a3dcL1hQYUtPOENKOXNJYzRoMHJnPT0iLCJ2YWx1ZSI6Ik12dW9PUWI2SGRIZDF1cGVrREZ0b2tyd3ZLeUJkVXp5am9vRWhhYVVNRnRyT0FNNW· 、dlNW9cL1BpMFBSS1RKd3B6Y2dyaVM0aHV0NXlIcXJkc1MxdG11d3hMZ3RsZHJ4aGNiRnZLZDJ0Q0NSYndUMUNuODRaYW1lQk1KZ0FqTFFVbTZ1TllMTGdtY1dlV0ZkRm5TeW9Vc1FYY09ZMFMrbGo4TmRnZ0syOWRhUFFRbjBjWDFDKzEwQWxLWjExNWJ5R3VxRGNEbWN0K0Z6Z1VieFIrMmdSbTZ6dU9CZGdFcDJlTktPMTY2cHYyeGhKVXpSNVhxT0VTQjRCa05OTE9aalQzWVFPczRpS1lldk16Zk9BUmZYbnRybDVoVXdRZWM3V1BUV3J0NkIxRHBCT3JDd1czQ0Q3YjU4cnVxVE5Lb0ZnbnlmMWN1RU9ocnU1ZE5pUmVDS21CbmhWTDdxTmYrRCtNNHZLQzdNXC9Bb0lRWXdNcE5HNW5ielwvWGtCZmpKNlNHWW9MaE94TXNSOURlemVSSkNkUXVveFJkUHVWbFIyeXNVZFJ3K0pXNElUWVhLSXpvUGNQek1cLzRBc3BaRE1lUVdKSENCS0FJdjFyeUVBSnNXeTZcL0RNajJIeFF0QUdndzBWRllOQ2R5UzZMK3lqdFZTanRxbXhmeGFrRVRJOE95enA1cUl0VzVjUytpVnBkRTFXMm9uQytobG1vWTlRQWhvNGN4THdRSTUyS0tub29xK25VZkNIb1FVOEh6YktGbjgzdjQ0NlA1cVc0aWNqYWp6OElSb3Vlb0ZPWmVzdVRLQW5SejVJa09kUDIrZW5jbmVtTzYyOFwvQnRTV3ExZVFhOWh4XC9BbDUxaHNRSDlIXC96QThkVGlBcEVkOUZCelBIV21WVXZ0OFlQaWtsclFPOXJzOXFoeGc1QXcyeEgwU2NqcWxXb2g4aTJBK2tCZkxoNjBTU1VrNDEwWWxVUW50STcyMFwvQjlCU2lxc3RSRGFOemdJTDN5NGRhN1RLSHVXVlFVRHdWN1dIVGppTVFNZEkzMWU4ckpXZ1lcL3BKRENnZGpuR0ZaTlpBVFowMVRWc1dpOFEzcERUY3RjXC9nUGYrTkxLdkFGSlc3b0dSUWVuQkRVR2tzZVN2UDFEdCtKNnNMMHNQZnJaT0tGV293OHMxXC9WZ1V5Z0dmM1VLeFM5QVdvVGVcL2IrS0Y3M0Zya0tQbXl6ZTNkWm00V1hZUUdiY3p5UVwvZWthUVlkNGV6cVlNaDMwazJNS0FoejlLT3FlZlBzWklnWkRZclhwUmFqTzk1VWF2eHJ1c1pqYzI2eThqOEJVZDZIbUt1dE81VjZoM0xiWm1NOVBrcjlhM1djOUJvb3VLTjJ2VTJvMzd3MHA1cmRuSWxTMGgzclYrUHF0NnFRN1BPSE4rM1ZTWWF5VlBTWE56aTV0U3Y5M0NrcDNBYVFHTTJvOUsyR1Y4S2k3N05CZUFDMk4xUVwvVWZKSUdiMjdmOXIxSXZjSTdvaGhMSHFISk12N2xDdlRrZUloaVBMS0cyMkVrclhcL3loenQ1MTF2V0lORDZyVmZMaytiWVJyMnk4SzhDRktQSFRQR1FoTFpQZHBzUllRbUUza3NaXC9lMXFSSFZud05JTWo1UkVTTXZjZmZucUF3Mzh2OVpkT2QyaVQ2VXRFVHltRW1MQjlzaHh1Ym02YW1LRUphSVNUeEltMWN5WGxRdlgzSE96V0ErbDdldnQ0ZkRjdGxsQVVpRFZCdnlMSnVrSW5aS3BrT3FRbDh0NWR0TWoxdjNMb3ZUVEJwbkVMbzJjeHRibGJJTGlMOHhSU0tNaTk5VHJxSk9xanRIOTMreVVmZm5lXC82SThIXC9iVXFudW9VOVd1S1RNYlwvbzF5b2V0bDVtRWNkalBTdkVVRGFPVlE9PSIsIm1hYyI6IjNkOTZlZDhiOTVlNmUxZmVlMzZmNDIyYmMzYTc4N2Y2ZmE0ZTI3MGI2YjQxZGVkZGRmMTY0N2IyOGZiM2RhNjYifQ==")
//金龙的账号
requestHeader.add(name: "token", value: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTE2MDcwNjQsImkiOjE0NDg0MTczMjc0MjE2LCJ1Ijoi6ZO25rKz6ZuG5ZuiIiwiciI6InN1cGVyX2FwcCJ9.KwTWdaLy5UG4LLs6i-D9ne0RflRTT5v4zvu-66yihDE")
// requestHeader.add(name: "token", value:"eyJpdiI6InhISTlXZjA2cXE5Z2pqMDZDa2NrTkE9PSIsInZhbHVlIjoiR3NkRVR0dVdjWE5GN2N3UmNiU0xobVYzZTR6SXlGXC9XVEhWV0xcL1F1YXVBOU9jRDlFZ2pOanBcL1RBMUVkUDlRQ2xhREx0c3dKeHNJQjMwaVVuYkloZHBiUXQzZkJlS2dTWDJrTE90K2FpM0FDWm10a3FFUGZpdW90TDNscStud0tSenRRV2kyV3JVbEZ6eXppUHZ5ajFQMXpBejh0YUZ4Z0VPZkwwdEtwXC9mNjh4bWQySGpSS2pzVkJ1Y3ZrbGFKdGVsMkhkRXJrTlRHbzkxcVdkcE1yWXRja2xDRHVmRUhhdU9ybkJmXC9VRVJnY2RXeVpXMzZVc2h2eUsxYVRmSXR0QXB1WjVsaDBLTllVOEtKWUhSTE5yNXFvYWlaQzdQSWZ0T0V2VTZwTFJjb25OZGdYbE1lNHZOZ0ZWcWhWWkhnUm8rWGJqSE1Jdm1DY3hlWVliY2F0YkplZFwvQ0pMMndtdHFBQUF0MjJYTFNZYk14Tzh0d0g1K2c2M1U2bXFZY3JUbXptbEhCSXR5R3hFZ0JHNmpXTHgzeTJvc0Z2UXpENk5LOTlBN0VjWE8rNmYzTklBN3d0YVVPb2VyS0lNK3FINUZlTmR6UTlBdENuZEtDKzE3emwxMGxvaEc1Sm1mc0E3Y251cU5xcjd4ZzdSbHNNQ2xoRUc4VUJTR24zQ1lRSE5VRGtUd0s0ZTljSlRxRmdwMFVqY0RsMjQwcm1SaVdSN29lNjYrd1JDSlwvSUtiSWpneFpuR2VzeUFBbzNBUUh2MnNVTFZ5bXVLTGVLNFM5TjdzdXpaM1ZFRDdvRUVlRFF0QUY4d2pXcmF4NkFwMGVodXRVUFlxVGhVRmVpYlwvRUJFT05idFhyeXp4TUtcLzN0MlVcL3ZIc2dWSncxaW55TDVUVXFIWjZZMUdHakJKVnpzRkxGeE52RWdLaW9WT0tCb3pTQW1xelNwaTRaQmtGeEpITjVEUU44Q3VGSnBGdzdOcFRyTE9sYmFTT3RrMDJYU3l0XC9PcVJ1OXo2MUpJdm5XSHZFZ0lIMGh5OGR2TEJkNTZjVHFKM1hSYnVEbm9vVFU1VUUzcmRDZ3JhZWRYQWZ1cU9aajVKMHdOMGpxczBSVU5GejNrNzk3bnVBa210dFdCblVBaUs5Y0VIWmxCdE04UlV6T2NEN3ZTN2E0MEhRYmlCNGk3V2xZN1R2ZUM4cVVZZ1Rlb1BndmFcL2phemNnbEhKb05QeHhxa1BldFFqK2ErcWZmYWs1RnNPWEpNK0x4MFo4MTU4OEttZTNxeDMrcCtkNUVwSUd4b1krOXRFdU1UNVFxZyszXC9Lb21TSG5hSFI2OVRVWmxIRm9UcTRlU2kyNWF6K1pQR3lMK1MyS0FvQ2ZFaTViTmdybm1xQ1BscVMzM2tjeUFCQVlvZFdPMTJTb2ttZDl2Q3BuTXVvTnJkUDRpa0g5cE4rWlRcL1l2MWdNdmY0MFVsMFArWWYzWVNmMW5oUnkwWk1mTVc3WUluU3dyQUM4TTZBbHJac0lOMDNiYVhVWks2TCs3QnN0VDlOXC9xaEwyUEtmblVmOXpcL3hoekQ1K3JKWVozVWxrdElKbTdWTHpaMnk2bXFQQ0VJalR1TVpIc1d4bmJjVVIwdTR1VXY1M1wvMEJMODVTWkNreVpCVmh3MWRDeERROGh5YnVsMkVKV2poMFwvYnZHakMycHJmQjUycDQ3b3laUUlTSjdmaDdFMnFtTHhIN1RvUnhhcUhCWXkybkhoMlFwZUVtM0VPUVZrcXp3S0lLMFwvOUtvZnhibE1ZUnp0bGVkcGdqTlp0dGV0cGhCa3hjUmxZXC96SWRFXC83OWxEUnRma1MyYnZqWGhMN0lSM0x2Z0NCTWxIR0pUYjByWDN4Y3JCT3JLTzFzUWkzS3NYTDVDZVJ3MmhEbXlXSENqYWc9PSIsIm1hYyI6Ijc1YmU5YTE4ZGEwNzExZGJlZWQ0MzZhNGVkNWE1NGMzYmE1YWFjNjBhYTgxYjFlYjUyN2M1Yzc4ZjkwNTcyNmMifQ==")
}
///  链式语法
......
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