Commit 35a3b995 authored by David黄金龙's avatar David黄金龙

展示已有数据

parent 1d081e8b
......@@ -94,6 +94,9 @@ extension YHOtherInfoFillViewController {
private func saveData() {
let model = otherInfoVM.otherInfoFillData
printLog(model)
//保存
// let arr = basicInfoVM.arrBasicInfoSessionDataForEdit
//
......
......@@ -25,8 +25,8 @@ class YHOtherInfoFillModel: SmartCodable {
class Residence : SmartCodable {
var id: Int = -1
var country: String = ""
var startTime: String = ""
var endTime: String = ""
var start_time: String = ""
var end_time: String = ""
var orderID: Int = -1
var endTimeChecked: Bool = false
......@@ -39,6 +39,7 @@ class Residence : SmartCodable {
class LanguageDetail : SmartCodable {
var schoolAddressAboard: Bool = false
var level: Int = -1
var levelDes : String = ""
var name: String = ""
var remark: String = ""
......@@ -50,21 +51,22 @@ class LanguageDetail : SmartCodable {
// MARK: - Profession
class Profession : SmartCodable{
var option: Int = -1
var optionDes : String = ""
var remark: String = ""
required init() {
}
}
// MARK: - Question
class Question : SmartCodable {
var professionalQualification : Int = -1
var professional_qualification : Int = -1
var paper : Int = -1
var scholarship : Int = -1
var mediaInterview : Int = -1
var academicAwards : String = ""
var otherInformation: String = ""
var media_interview : Int = -1
var academic_awards : String = ""
var professional_awards : String = ""
var other_information: String = ""
required init() {
}
......
......@@ -105,6 +105,7 @@ extension YHOtherInfoFillCell {
}
let residenceView = YHOtherResidenceFillView(frame: .zero)
residenceView.dataModel = item
holdView1.addSubview(residenceView)
residenceView.snp.makeConstraints { make in
......@@ -136,6 +137,7 @@ extension YHOtherInfoFillCell {
}
let residenceView = YHOtherResidenceFillView(frame: .zero)
residenceView.dataModel = item
holdView1.addSubview(residenceView)
residenceView.snp.makeConstraints { make in
make.top.equalTo(sessionView.snp.bottom)
......@@ -160,6 +162,7 @@ extension YHOtherInfoFillCell {
}
let residenceView = YHOtherResidenceFillView(frame: .zero)
residenceView.dataModel = dataModel.residences[0] //for test hjl
holdView1.addSubview(residenceView)
residenceView.snp.makeConstraints { make in
make.top.equalTo(sessionView.snp.bottom)
......@@ -211,7 +214,7 @@ extension YHOtherInfoFillCell {
let view = YHOtherSelecteItemView()
view.updateKeyName(name: "您的语言水平与下列哪一项符合", keyValue: "")
view.updateKeyName(name: "您的语言水平与下列哪一项符合", keyValue:dataModel.language_detail?.levelDes ?? "")
view.type = 2
holdView2.addSubview(view)
view.snp.makeConstraints { make in
......@@ -246,7 +249,7 @@ extension YHOtherInfoFillCell {
let view = YHOtherSelecteItemView()
view.updateKeyName(name: "最能代表你的专业技能的行业", keyValue: "")
view.updateKeyName(name: "最能代表你的专业技能的行业", keyValue: dataModel.profession?.optionDes ?? "")
view.type = 2
holdView3.addSubview(view)
view.snp.makeConstraints { make in
......@@ -283,6 +286,7 @@ extension YHOtherInfoFillCell {
//1、您是否有行业内的专业资格证书?
let fzView1 = YHOtherYesOrNoItemView(frame: .zero)
fzView1.updateUI(title: "1、您是否有行业内的专业资格证书?", answer: dataModel.question?.professional_qualification ?? -1)
holdView4.addSubview(fzView1)
fzView1.snp.makeConstraints { make in
make.top.equalTo(sessionView.snp.bottom)
......@@ -293,6 +297,7 @@ extension YHOtherInfoFillCell {
// 2、您是否在期刊或杂志上发表过论文、文章、书籍等(与工作、资质有关的)?
let fzView2 = YHOtherYesOrNoItemView(frame: .zero)
fzView2.updateUI(title: "2、您是否在期刊或杂志上发表过论文、文章、书籍等(与工作、资质有关的)?", answer: dataModel.question?.paper ?? -1)
holdView4.addSubview(fzView2)
fzView2.snp.makeConstraints { make in
make.top.equalTo(fzView1.snp.bottom)
......@@ -300,9 +305,9 @@ extension YHOtherInfoFillCell {
make.right.equalToSuperview().offset(-18)
}
// 3、您是否有大学奖学金证明、专利证书、获奖证书(工作单位颁发的可以)?
let fzView3 = YHOtherYesOrNoItemView(frame: .zero)
fzView3.updateUI(title: "3、您是否有大学奖学金证明、专利证书、获奖证书(工作单位颁发的可以)?", answer: dataModel.question?.scholarship ?? -1)
holdView4.addSubview(fzView3)
fzView3.snp.makeConstraints { make in
make.top.equalTo(fzView2.snp.bottom)
......@@ -310,9 +315,9 @@ extension YHOtherInfoFillCell {
make.right.equalToSuperview().offset(-18)
}
// 4、您是否被媒体采访过,专访您的文章被发表在杂志上或网络上?
let fzView4 = YHOtherYesOrNoItemView(frame: .zero)
fzView4.updateUI(title: "4、您是否被媒体采访过,专访您的文章被发表在杂志上或网络上?", answer: dataModel.question?.media_interview ?? -1)
holdView4.addSubview(fzView4)
fzView4.snp.makeConstraints { make in
make.top.equalTo(fzView3.snp.bottom)
......@@ -320,10 +325,10 @@ extension YHOtherInfoFillCell {
make.right.equalToSuperview().offset(-18)
}
//5、专业奖项
let fzView5 = YHOtherTextViewItemView(frame: .zero)
holdView4.addSubview(fzView5)
fzView5.updateUI(title: "5、专业奖项", value: dataModel.question?.professional_awards ?? "")
holdView4.addSubview(fzView5)
fzView5.snp.makeConstraints { make in
make.top.equalTo(fzView4.snp.bottom)
make.left.equalToSuperview().offset(18)
......@@ -333,6 +338,7 @@ extension YHOtherInfoFillCell {
//6、学业奖项
let fzView6 = YHOtherTextViewItemView(frame: .zero)
fzView6.updateUI(title: "6、学业奖项", value: dataModel.question?.academic_awards ?? "")
holdView4.addSubview(fzView6)
fzView6.snp.makeConstraints { make in
make.top.equalTo(fzView5.snp.bottom)
......@@ -343,6 +349,7 @@ extension YHOtherInfoFillCell {
//7、其他奖励
let fzView7 = YHOtherTextViewItemView(frame: .zero)
fzView7.updateUI(title: "7、其他奖励", value: dataModel.question?.other_information ?? "")
holdView4.addSubview(fzView7)
fzView7.snp.makeConstraints { make in
make.top.equalTo(fzView6.snp.bottom)
......@@ -354,7 +361,6 @@ extension YHOtherInfoFillCell {
}
}
func createHoldView() -> UIView {
let holdView1 = UIView()
holdView1.backgroundColor = .white
......
......@@ -7,7 +7,6 @@
//
import UIKit
class YHOtherInfoSessionView: UIView {
static let viewH : CGFloat = 52
......
......@@ -19,12 +19,24 @@ class YHOtherResidenceFillView: UIView {
fatalError("init(coder:) has not been implemented")
}
var dataModel : Residence? {
didSet {
updateUI()
}
}
let nationView : YHOtherSelecteItemView = YHOtherSelecteItemView()
let startView : YHOtherSelecteItemView = YHOtherSelecteItemView()
let endView : YHOtherSelecteItemView = YHOtherSelecteItemView()
}
extension YHOtherResidenceFillView {
func setupUI() {
//1.国家
let view = YHOtherSelecteItemView()
let view = nationView
view.updateKeyName(name: "国家", keyValue: "")
addSubview(view)
view.snp.makeConstraints { make in
......@@ -32,9 +44,12 @@ extension YHOtherResidenceFillView {
make.height.equalTo(YHOtherSelecteItemView.getViewHBy(type: 1))
}
let tap1 = UITapGestureRecognizer(target: self, action: #selector(tapCountry))
view.addGestureRecognizer(tap1)
//2.开始时间
let view2 = YHOtherSelecteItemView()
let view2 = startView
view2.updateKeyName(name: "开始时间", keyValue: "")
addSubview(view2)
view2.snp.makeConstraints { make in
......@@ -42,9 +57,11 @@ extension YHOtherResidenceFillView {
make.left.right.equalToSuperview()
make.height.equalTo(YHOtherSelecteItemView.getViewHBy(type: 1))
}
let tap2 = UITapGestureRecognizer(target: self, action: #selector(tapStartDate))
view2.addGestureRecognizer(tap2)
//3.结束时间
let view3 = YHOtherSelecteItemView()
let view3 = endView
view3.updateKeyName(name: "结束时间", keyValue: "")
addSubview(view3)
view3.snp.makeConstraints { make in
......@@ -54,5 +71,47 @@ extension YHOtherResidenceFillView {
make.bottom.equalToSuperview()
}
let tap3 = UITapGestureRecognizer(target: self, action: #selector(tapEndDate))
view3.addGestureRecognizer(tap3)
}
func updateUI() {
guard let dataModel = dataModel else { return }
nationView.updateKeyName(name: "国家", keyValue: dataModel.country)
startView.updateKeyName(name: "开始时间", keyValue: dataModel.start_time)
endView.updateKeyName(name: "结束时间", keyValue: dataModel.end_time)
}
}
extension YHOtherResidenceFillView {
@objc func tapCountry(_ gestureRecognizer: UIPanGestureRecognizer) {
let vc = YHSelectCountryViewController()
vc.backLocationStringController = { country in
printLog(country)
self.nationView.updateKeyName(name: "国家", keyValue: country)
self.dataModel?.country = country
}
self.parentViewController?.navigationController?.pushViewController(vc)
}
@objc func tapStartDate(_ gestureRecognizer: UIPanGestureRecognizer) {
YHDatePickView.show(type: .yyyymmdd) { date in
printLog(date)
self.startView.updateKeyName(name: "开始时间", keyValue: date)
self.dataModel?.start_time = date
}
}
@objc func tapEndDate(_ gestureRecognizer: UIPanGestureRecognizer) {
YHDatePickView.show(type: .yyyymmdd) { date in
printLog(date)
self.endView.updateKeyName(name: "结束时间", keyValue: date)
self.dataModel?.end_time = date
}
}
}
......@@ -8,6 +8,13 @@
import UIKit
enum YHOtherSelecteItemType: Int {
case unknow = 0
case language = 1 //语言能力
case skill = 2 //专业技能
}
class YHOtherSelecteItemView: UIView {
static let viewH : CGFloat = 52 // type == 1时的高度
......
......@@ -63,12 +63,6 @@ class YHOtherTextViewItemView: UIView, UITextViewDelegate {
return view
}()
var model : YHBasicInfoCellModel? {
didSet {
updateUI()
}
}
private var myTextView : UITextView!
private let kTipsString : String = "如选择“是”,请详细说明"
}
......@@ -123,10 +117,6 @@ private extension YHOtherTextViewItemView {
make.bottom.equalToSuperview()
}
}
private func updateUI() {
guard let model = model else { return }
}
}
......@@ -140,3 +130,15 @@ extension YHOtherTextViewItemView : UITextFieldDelegate {
}
}
}
extension YHOtherTextViewItemView {
func updateUI(title : String,value : String) {
titleLabel.text = title
myTextView.text = value
if title.count > 0 {
tipsLabel.isHidden = true
} else {
tipsLabel.isHidden = false
}
}
}
......@@ -98,15 +98,6 @@ class YHOtherYesOrNoItemView: UIView, UITextViewDelegate {
}
}
}
var model : YHBasicInfoCellModel? {
didSet {
updateUI()
}
}
private var lastSelectedBtn : UIButton?
}
......@@ -160,11 +151,10 @@ private extension YHOtherYesOrNoItemView {
if btn == answer1Btn {
answer2Btn.isSelected = false
updateAnswerButton(answer2Btn, false)
model?.answer = "N"
} else {
answer1Btn.isSelected = false
updateAnswerButton(answer1Btn, false)
// bottomLine.snp.removeConstraints()
}
// block?()
......@@ -176,16 +166,16 @@ private extension YHOtherYesOrNoItemView {
btn.setTitleColor((isSelect ? btnTitleSelectColor : btnTitleDefaultColor), for: .normal)
btn.backgroundColor = (isSelect ? btnBgSelectColor : btnBgDefaultColor)
}
private func updateUI() {
guard let model = model else { return }
title = model.question
if model.answer == "Y" {
}
extension YHOtherYesOrNoItemView {
func updateUI(title : String , answer : Int) {
self.title = title
if answer == 2 {
didClickResponseBtn(btn: answer2Btn)
} else {
if model.answer == "N" {
didClickResponseBtn(btn: answer1Btn)
}
} else if answer == 1 {
didClickResponseBtn(btn: answer1Btn)
}
}
}
......@@ -10,14 +10,136 @@ import UIKit
class YHOtherInfoFillViewModel: YHBaseViewModel {
var otherInfoFillData : YHOtherInfoFillModel?
var arrLanguage : [[String : String]] = [
["id":"1",
"title": "中文及英文",
"dec": "国外大学(英语国家)毕业,英文授课,获得学位证。(如为中外联合办学,在中国上课的,不算)",
],
[
"id": "2",
"title": "中文及英文",
"dec": " 有近两年的雅思或托福成绩单(雅思考试G类或A类总分达6分;托福笔试达550分,计算机达213分,网考达80分)",
],
[
"id": "4",
"title": "中文及另一种外语",
"dec": "非英文的外语,如:法文、日文等(需提供相关证书)",
],
[
"id": "5",
"title": "仅中文",
"dec": "",
],
[
"id": "6",
"title": "仅英文",
"dec": "",
],
]
var arrSkill : [[String : String]] = [
[
"title": "学术研究及教育",
"dec": "幼儿教育、高等教育、学术研究",
"val": "",
"value": "1",
],
[
"title": "建筑、测量、工程及建造",
"dec": "园景设计、建筑、测量、土木/电机/机器/机构/环境工程",
"val": "",
"value": "2",
],
[
"title": "艺术及文化",
"dec": "表演艺术、美术、博物馆、图书馆、摄影",
"val": "",
"value": "3",
],
[
"title": "广播及娱乐",
"dec": "广播及节目制作、电影、录像及电视制作、唱片及音乐出版",
"val": "",
"value": "4",
],
[
"title": "业务支援及人力资源",
"dec": "业务咨询顾问、公司秘书、行政支援、人事管理、招聘服务、公关关系服务、广告、信息服务",
"val": "",
"value": "5",
],
[
"title": "餐饮服务及旅游",
"dec": "酒吧、餐厅、酒店、旅行代理",
"val": "",
"value": "6",
],
[
"title": "商业及贸易",
"dec": "进出口、零售、批发",
"val": "",
"value": "7",
],
[
"title": "金融及会计服务",
"dec": "会计、银行、保险、证券、投资银行",
"val": "",
"value": "8",
],
[
"title": "医疗保健及兽医服务",
"dec": "西医药、中医药、牙科服务、医学科技、职业治疗、护理、兽医服务",
"val": "",
"value": "9",
],
[
"title": "资讯科技及电讯",
"dec": "资讯科技顾问、固网及无线通信",
"val": "",
"value": "10",
],
[
"title": "法律服务",
"dec": "法律事务",
"val": "",
"value": "11",
],
[
"title": "物流运输",
"dec": "物流、空运、海运、陆运",
"val": "",
"value": "12",
],
[
"title": "工业制造",
"dec": "电机、电子、食物及饮料、化工、金属、玩具、纺织、钟表、珠宝、印刷及出版",
"val": "",
"value": "13",
],
[
"title": "体育运动",
"dec": "体育运动",
"val": "",
"value": "14",
],
[
"title": "其他",
"example": "",
"val": "",
"value": "15",
"dec": ""
],
]
}
extension YHOtherInfoFillViewModel {
//获取其他资料信息
func getOtherInfo( params:[String : Any],callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
// createOrgBasiceInfoData()
// callBackBlock(true,nil)//先返回数据 让界面展示相关的UI
// createOrgBasiceInfoData()
// callBackBlock(true,nil)//先返回数据 让界面展示相关的UI
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Order.otherInfoFillApi
......@@ -37,6 +159,9 @@ extension YHOtherInfoFillViewModel {
}
self.otherInfoFillData = resultModel
handleData()
//根据返回值 组装 真实的数据
callBackBlock(true,nil)
} failBlock: { err in
......@@ -57,13 +182,13 @@ extension YHOtherInfoFillViewModel {
return
}
printLog("model 是 ==> \(model)")
// let dic = model.data?.peel
// guard let resultModel = YHBasicInfoFillModel.deserialize(dict: dic as? [AnyHashable : Any]) else {
// callBackBlock(false,nil)
// return
// }
//
// self.dataModelForBasicInfo = resultModel
// let dic = model.data?.peel
// guard let resultModel = YHBasicInfoFillModel.deserialize(dict: dic as? [AnyHashable : Any]) else {
// callBackBlock(false,nil)
// return
// }
//
// self.dataModelForBasicInfo = resultModel
//根据返回值 组装 真实的数据
callBackBlock(true,nil)
} failBlock: { err in
......@@ -72,3 +197,36 @@ extension YHOtherInfoFillViewModel {
}
}
extension YHOtherInfoFillViewModel {
func handleData() {
if let language = self.otherInfoFillData?.language_detail {
if language.level > 0 {
let target = String(language.level)
for(_,item) in arrLanguage.enumerated() {
if target == item["id"] {
language.levelDes = item["title"] ?? ""
break
}
}
}
}
if let profession = self.otherInfoFillData?.profession {
if profession.option > 0 {
let target = String(profession.option)
for(_,item) in arrSkill.enumerated() {
if target == item["value"] {
profession.optionDes = item["title"] ?? ""
break
}
}
}
}
}
}
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