Commit 229c39ea authored by David黄金龙's avatar David黄金龙

其他信息 字段检查

parent 5fac66f3
...@@ -1207,8 +1207,8 @@ ...@@ -1207,8 +1207,8 @@
A596C3982B84D9100067BBB8 /* V */ = { A596C3982B84D9100067BBB8 /* V */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
A596C3992B84D9100067BBB8 /* YHOtherResidenceFillView.swift */,
A596C39A2B84D9100067BBB8 /* YHOtherInfoFillCell.swift */, A596C39A2B84D9100067BBB8 /* YHOtherInfoFillCell.swift */,
A596C3992B84D9100067BBB8 /* YHOtherResidenceFillView.swift */,
A596C39B2B84D9100067BBB8 /* YHOtherTextViewItemView.swift */, A596C39B2B84D9100067BBB8 /* YHOtherTextViewItemView.swift */,
A596C39C2B84D9100067BBB8 /* YHOtherYesOrNoItemView.swift */, A596C39C2B84D9100067BBB8 /* YHOtherYesOrNoItemView.swift */,
A596C39D2B84D9100067BBB8 /* YHOtherSelecteItemView.swift */, A596C39D2B84D9100067BBB8 /* YHOtherSelecteItemView.swift */,
......
...@@ -94,12 +94,28 @@ extension YHOtherInfoFillViewController { ...@@ -94,12 +94,28 @@ extension YHOtherInfoFillViewController {
private func saveData() { private func saveData() {
//保存
submitDataOp(flag: false)
}
private func submitData() {
//提交
if dataIsOK() == true {
submitDataOp(flag: true)
} else {
let model = otherInfoVM.otherInfoFillData let model = otherInfoVM.otherInfoFillData
model?.needCheckFlag = true
YHHUD.flash(message: "您还有信息未填写")
homeTableView.reloadData()
}
}
model?.is_update = false private func submitDataOp(flag : Bool) {
let str = model?.toJSONString() //提交
printLog(str) let model = otherInfoVM.otherInfoFillData
model?.is_update = flag
//保存 //保存
if let param = model?.toDictionary() { if let param = model?.toDictionary() {
...@@ -119,27 +135,56 @@ extension YHOtherInfoFillViewController { ...@@ -119,27 +135,56 @@ extension YHOtherInfoFillViewController {
} }
} }
private func submitData() {
//提交
let model = otherInfoVM.otherInfoFillData
model?.is_update = true
//保存
if let param = model?.toDictionary() {
printLog("param ==>") //检查数据是否合法
printLog(param) private func dataIsOK() -> Bool {
var returnValue : Bool = true
if let model = otherInfoVM.otherInfoFillData {
//1.居住信息
for item in model.residences {
if item.country.isEmpty || item.start_time.isEmpty || item.end_time.isEmpty {
returnValue = false
return returnValue
}
}
otherInfoVM.saveOtherInfo(params: param) { success, error in //2.语言水平
if success == true { if model.language_detail?.levelDes.isEmpty == true {
YHHUD.flash(message: "操作成功") returnValue = false
} else { return returnValue
let msg = error?.errorMsg ?? "操作失败" }
YHHUD.flash(message: msg)
//3.专业技能行业
if model.profession?.optionDes.isEmpty == true {
returnValue = false
return returnValue
}
//4.辅助资料
if let model = model.question {
//问题1
if model.professional_qualification < 1 {
returnValue = false
return returnValue
}
//问题2
if model.paper < 1 {
returnValue = false
return returnValue
}
//问题3
if model.scholarship < 1 {
returnValue = false
return returnValue
}
//问题4
if model.media_interview < 1 {
returnValue = false
return returnValue
} }
} }
} else {
printLog("error: 参数 转换 出错")
} }
return returnValue
} }
} }
......
...@@ -15,7 +15,11 @@ class YHOtherInfoFillModel: SmartCodable { ...@@ -15,7 +15,11 @@ class YHOtherInfoFillModel: SmartCodable {
var language_detail: LanguageDetail? var language_detail: LanguageDetail?
var profession: Profession? var profession: Profession?
var question: Question? var question: Question?
var is_update : Bool = false var is_update : Bool = false //true-提交 false-保存
//以下为本地使用的参数
var needCheckFlag : Bool = false //是否检查有效性
required init() { required init() {
...@@ -32,6 +36,11 @@ class Residence : SmartCodable { ...@@ -32,6 +36,11 @@ class Residence : SmartCodable {
var order_id: Int = -1 var order_id: Int = -1
var end_time_checked: Bool = false //是否勾选 至今 var end_time_checked: Bool = false //是否勾选 至今
//以下为本地使用的参数
var needCheckFlag : Bool = false //是否检查有效性
required init() { required init() {
} }
} }
...@@ -44,6 +53,10 @@ class LanguageDetail : SmartCodable { ...@@ -44,6 +53,10 @@ class LanguageDetail : SmartCodable {
var name: String = "" var name: String = ""
var remark: String = "" var remark: String = ""
//以下为本地使用的参数
var needCheckFlag : Bool = false //是否检查有效性
required init() { required init() {
} }
...@@ -55,6 +68,10 @@ class Profession : SmartCodable{ ...@@ -55,6 +68,10 @@ class Profession : SmartCodable{
var optionDes : String = "" var optionDes : String = ""
var remark: String = "" var remark: String = ""
//以下为本地使用的参数
var needCheckFlag : Bool = false //是否检查有效性
required init() { required init() {
} }
} }
...@@ -69,6 +86,10 @@ class Question : SmartCodable { ...@@ -69,6 +86,10 @@ class Question : SmartCodable {
var professional_awards : String = "" var professional_awards : String = ""
var other_information: String = "" var other_information: String = ""
//以下为本地使用的参数
var needCheckFlag : Bool = false //是否检查有效性
required init() { required init() {
} }
} }
...@@ -22,17 +22,6 @@ class YHOtherInfoFillCell: UITableViewCell { ...@@ -22,17 +22,6 @@ class YHOtherInfoFillCell: UITableViewCell {
} }
} }
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func layoutSubviews() {
super.layoutSubviews()
// dotLineLayer.path = UIBezierPath(roundedRect: addBtn.bounds, cornerRadius: kCornerRadius6).cgPath
}
lazy var addBtn: UIButton = { lazy var addBtn: UIButton = {
let btn = UIButton() let btn = UIButton()
btn.setTitle("新增居住信息".local, for: .normal) btn.setTitle("新增居住信息".local, for: .normal)
...@@ -107,6 +96,7 @@ extension YHOtherInfoFillCell { ...@@ -107,6 +96,7 @@ extension YHOtherInfoFillCell {
} }
let residenceView = YHOtherResidenceFillView(frame: .zero) let residenceView = YHOtherResidenceFillView(frame: .zero)
item.needCheckFlag = dataModel.needCheckFlag
residenceView.dataModel = item residenceView.dataModel = item
holdView1.addSubview(residenceView) holdView1.addSubview(residenceView)
...@@ -139,6 +129,7 @@ extension YHOtherInfoFillCell { ...@@ -139,6 +129,7 @@ extension YHOtherInfoFillCell {
} }
let residenceView = YHOtherResidenceFillView(frame: .zero) let residenceView = YHOtherResidenceFillView(frame: .zero)
item.needCheckFlag = dataModel.needCheckFlag
residenceView.dataModel = item residenceView.dataModel = item
holdView1.addSubview(residenceView) holdView1.addSubview(residenceView)
residenceView.snp.makeConstraints { make in residenceView.snp.makeConstraints { make in
...@@ -165,7 +156,9 @@ extension YHOtherInfoFillCell { ...@@ -165,7 +156,9 @@ extension YHOtherInfoFillCell {
let residenceView = YHOtherResidenceFillView(frame: .zero) let residenceView = YHOtherResidenceFillView(frame: .zero)
if dataModel.residences.count > 0 { if dataModel.residences.count > 0 {
residenceView.dataModel = dataModel.residences[0] //for test hjl let item = dataModel.residences[0]
item.needCheckFlag = dataModel.needCheckFlag
residenceView.dataModel = item
} }
holdView1.addSubview(residenceView) holdView1.addSubview(residenceView)
...@@ -198,6 +191,18 @@ extension YHOtherInfoFillCell { ...@@ -198,6 +191,18 @@ extension YHOtherInfoFillCell {
} }
holdView1.layoutIfNeeded() holdView1.layoutIfNeeded()
//2.语言水平 //2.语言水平
let holdView2 = createHoldView() let holdView2 = createHoldView()
contentView.addSubview(holdView2) contentView.addSubview(holdView2)
......
...@@ -26,22 +26,43 @@ class YHOtherResidenceFillView: UIView { ...@@ -26,22 +26,43 @@ class YHOtherResidenceFillView: UIView {
} }
} }
let nationView : YHOtherSelecteItemView = YHOtherSelecteItemView() let nationView : YHOtherSelecteItemView = YHOtherSelecteItemView()
let startView : YHOtherSelecteItemView = YHOtherSelecteItemView() let startView : YHOtherSelecteItemView = YHOtherSelecteItemView()
let endView : YHOtherSelecteItemView = YHOtherSelecteItemView() let endView : YHOtherSelecteItemView = YHOtherSelecteItemView()
override func layoutSubviews() {
super.layoutSubviews()
nationView.snp.makeConstraints { make in
make.top.left.right.equalToSuperview()
}
startView.snp.makeConstraints { make in
make.top.equalTo(nationView.snp.bottom)
make.left.right.equalToSuperview()
}
endView.snp.makeConstraints { make in
make.top.equalTo(startView.snp.bottom)
make.left.right.equalToSuperview()
make.bottom.equalToSuperview()
}
}
} }
extension YHOtherResidenceFillView { extension YHOtherResidenceFillView {
func setupUI() { func setupUI() {
//1.国家 //1.国家
let view = nationView let view = nationView
view.updateKeyName(name: "国家", keyValue: "") view.updateKeyName(name: "国家", keyValue: "")
view.type = 1
addSubview(view) addSubview(view)
view.snp.makeConstraints { make in view.snp.makeConstraints { make in
make.top.left.right.equalToSuperview() make.top.left.right.equalToSuperview()
make.height.equalTo(YHOtherSelecteItemView.getViewHBy(type: 1)) // make.height.equalTo(YHOtherSelecteItemView.getViewHBy(type: 1))
} }
let tap1 = UITapGestureRecognizer(target: self, action: #selector(tapCountry)) let tap1 = UITapGestureRecognizer(target: self, action: #selector(tapCountry))
...@@ -50,24 +71,26 @@ extension YHOtherResidenceFillView { ...@@ -50,24 +71,26 @@ extension YHOtherResidenceFillView {
//2.开始时间 //2.开始时间
let view2 = startView let view2 = startView
view2.type = 1
view2.updateKeyName(name: "开始时间", keyValue: "") view2.updateKeyName(name: "开始时间", keyValue: "")
addSubview(view2) addSubview(view2)
view2.snp.makeConstraints { make in view2.snp.makeConstraints { make in
make.top.equalTo(view.snp.bottom) make.top.equalTo(view.snp.bottom)
make.left.right.equalToSuperview() make.left.right.equalToSuperview()
make.height.equalTo(YHOtherSelecteItemView.getViewHBy(type: 1)) // make.height.equalTo(YHOtherSelecteItemView.getViewHBy(type: 1))
} }
let tap2 = UITapGestureRecognizer(target: self, action: #selector(tapStartDate)) let tap2 = UITapGestureRecognizer(target: self, action: #selector(tapStartDate))
view2.addGestureRecognizer(tap2) view2.addGestureRecognizer(tap2)
//3.结束时间 //3.结束时间
let view3 = endView let view3 = endView
view3.type = 1
view3.updateKeyName(name: "结束时间", keyValue: "") view3.updateKeyName(name: "结束时间", keyValue: "")
addSubview(view3) addSubview(view3)
view3.snp.makeConstraints { make in view3.snp.makeConstraints { make in
make.top.equalTo(view2.snp.bottom) make.top.equalTo(view2.snp.bottom)
make.left.right.equalToSuperview() make.left.right.equalToSuperview()
make.height.equalTo(YHOtherSelecteItemView.getViewHBy(type: 1)) // make.height.equalTo(YHOtherSelecteItemView.getViewHBy(type: 1))
make.bottom.equalToSuperview() make.bottom.equalToSuperview()
} }
...@@ -80,10 +103,19 @@ extension YHOtherResidenceFillView { ...@@ -80,10 +103,19 @@ extension YHOtherResidenceFillView {
func updateUI() { func updateUI() {
guard let dataModel = dataModel else { return } guard let dataModel = dataModel else { return }
nationView.updateKeyName(name: "国家", keyValue: dataModel.country) nationView.updateKeyName(name: "国家", keyValue: dataModel.country)
nationView.needCheckFlag = dataModel.needCheckFlag
startView.updateKeyName(name: "开始时间", keyValue: dataModel.start_time) startView.updateKeyName(name: "开始时间", keyValue: dataModel.start_time)
startView.needCheckFlag = dataModel.needCheckFlag
endView.updateKeyName(name: "结束时间", keyValue: dataModel.end_time) endView.updateKeyName(name: "结束时间", keyValue: dataModel.end_time)
endView.needCheckFlag = dataModel.needCheckFlag
layoutIfNeeded()
} }
} }
extension YHOtherResidenceFillView { extension YHOtherResidenceFillView {
...@@ -93,6 +125,8 @@ extension YHOtherResidenceFillView { ...@@ -93,6 +125,8 @@ extension YHOtherResidenceFillView {
printLog(country) printLog(country)
self.nationView.updateKeyName(name: "国家", keyValue: country) self.nationView.updateKeyName(name: "国家", keyValue: country)
self.dataModel?.country = country self.dataModel?.country = country
self.layoutIfNeeded()
} }
self.parentViewController?.navigationController?.pushViewController(vc) self.parentViewController?.navigationController?.pushViewController(vc)
} }
...@@ -104,6 +138,7 @@ extension YHOtherResidenceFillView { ...@@ -104,6 +138,7 @@ extension YHOtherResidenceFillView {
self.startView.updateKeyName(name: "开始时间", keyValue: date) self.startView.updateKeyName(name: "开始时间", keyValue: date)
self.dataModel?.start_time = date self.dataModel?.start_time = date
self.layoutIfNeeded()
} }
} }
...@@ -112,6 +147,7 @@ extension YHOtherResidenceFillView { ...@@ -112,6 +147,7 @@ extension YHOtherResidenceFillView {
printLog(date) printLog(date)
self.endView.updateKeyName(name: "结束时间", keyValue: date) self.endView.updateKeyName(name: "结束时间", keyValue: date)
self.dataModel?.end_time = date self.dataModel?.end_time = date
self.layoutIfNeeded()
} }
} }
} }
...@@ -27,6 +27,12 @@ class YHOtherSelecteItemView: UIView { ...@@ -27,6 +27,12 @@ class YHOtherSelecteItemView: UIView {
} }
} }
var needCheckFlag : Bool = false {
didSet {
layoutIfNeeded()
}
}
//获取高度 //获取高度
static func getViewHBy(type : Int)->CGFloat { static func getViewHBy(type : Int)->CGFloat {
return type == 1 ? viewH : viewH2 return type == 1 ? viewH : viewH2
...@@ -66,6 +72,15 @@ class YHOtherSelecteItemView: UIView { ...@@ -66,6 +72,15 @@ class YHOtherSelecteItemView: UIView {
return view return view
}() }()
//提示lable
private lazy var noTextTipsLable: UILabel = {
let label = UILabel()
label.textColor = .failColor
label.font = UIFont.PFSC_R(ofSize: 12)
label.text = "请选择x"
return label
}()
var title:String? { var title:String? {
didSet { didSet {
if let question = title { if let question = title {
...@@ -90,42 +105,7 @@ class YHOtherSelecteItemView: UIView { ...@@ -90,42 +105,7 @@ class YHOtherSelecteItemView: UIView {
override func layoutSubviews() { override func layoutSubviews() {
super.layoutSubviews() super.layoutSubviews()
if type == 1 { layoutMyUI()
bottomLine.snp.makeConstraints { make in
make.bottom.left.right.equalToSuperview()
make.height.equalTo(0.5)
}
titleLabel.snp.makeConstraints { make in
make.top.left.bottom.equalToSuperview()
make.width.equalTo(80)
}
subHoldView.snp.makeConstraints { make in
make.top.right.bottom.equalToSuperview()
make.left.equalTo(titleLabel.snp.right).offset(40)
}
} else if type == 2 {
bottomLine.snp.makeConstraints { make in
make.bottom.left.right.equalToSuperview()
make.height.equalTo(0.5)
}
subHoldView.snp.makeConstraints { make in
make.bottom.equalTo(bottomLine.snp.top)
make.right.left.equalToSuperview()
make.height.equalTo(52)
}
titleLabel.snp.makeConstraints { make in
make.bottom.equalTo(subHoldView.snp.top)
make.left.right.equalToSuperview()
make.height.equalTo(20)
}
} else {
}
} }
} }
...@@ -135,10 +115,9 @@ extension YHOtherSelecteItemView { ...@@ -135,10 +115,9 @@ extension YHOtherSelecteItemView {
addSubview(bottomLine) addSubview(bottomLine)
addSubview(titleLabel) addSubview(titleLabel)
addSubview(subHoldView) addSubview(subHoldView)
addSubview(noTextTipsLable)
title = "开始时间" title = "开始时间"
let rightIcon = UIImageView() let rightIcon = UIImageView()
rightIcon.image = UIImage(named: "form_right_arrow") rightIcon.image = UIImage(named: "form_right_arrow")
rightIcon.contentMode = .scaleAspectFill rightIcon.contentMode = .scaleAspectFill
...@@ -159,7 +138,158 @@ extension YHOtherSelecteItemView { ...@@ -159,7 +138,158 @@ extension YHOtherSelecteItemView {
extension YHOtherSelecteItemView { extension YHOtherSelecteItemView {
func updateKeyName(name : String, keyValue : String) { func updateKeyName(name : String, keyValue : String) {
noTextTipsLable.text = "请选择" + name
title = name title = name
textField.text = keyValue textField.text = keyValue
layoutMyUI()
}
func layoutMyUI() {
titleLabel.snp.removeConstraints()
subHoldView.snp.removeConstraints()
bottomLine.snp.removeConstraints()
noTextTipsLable.snp.removeConstraints()
if type == 1 {
if needCheckFlag == true {
titleLabel.snp.remakeConstraints { make in
make.top.equalToSuperview().offset(kMargin)
make.left.equalToSuperview()
make.width.equalTo(80)
make.height.equalTo(20)
}
subHoldView.snp.remakeConstraints { make in
make.top.equalTo(titleLabel.snp.top)
make.bottom.equalTo(titleLabel.snp.bottom)
make.right.equalToSuperview()
make.left.equalTo(titleLabel.snp.right).offset(40)
}
if textField.isEmpty == true {
noTextTipsLable.isHidden = false
noTextTipsLable.snp.remakeConstraints { make in
make.top.equalTo(titleLabel.snp.bottom).offset(6)
make.height.equalTo(20)
make.left.equalTo(subHoldView.snp.left)
make.right.equalTo(subHoldView.snp.right)
}
bottomLine.snp.remakeConstraints { make in
make.top.equalTo(noTextTipsLable.snp.bottom).offset(6)
make.left.right.equalToSuperview()
make.height.equalTo(0.5)
make.bottom.equalToSuperview()
}
}
else {
noTextTipsLable.isHidden = true
bottomLine.snp.remakeConstraints { make in
make.top.equalTo(titleLabel.snp.bottom).offset(kMargin)
make.bottom.left.right.equalToSuperview()
make.height.equalTo(0.5)
}
}
} else {
noTextTipsLable.isHidden = true
titleLabel.snp.remakeConstraints { make in
make.top.equalToSuperview().offset(kMargin)
make.left.equalToSuperview()
make.width.equalTo(80)
make.height.equalTo(20)
}
subHoldView.snp.remakeConstraints { make in
make.top.equalTo(titleLabel.snp.top)
make.bottom.equalTo(titleLabel.snp.bottom)
make.right.equalToSuperview()
make.left.equalTo(titleLabel.snp.right).offset(40)
}
bottomLine.snp.remakeConstraints { make in
make.top.equalTo(titleLabel.snp.bottom).offset(kMargin)
make.bottom.left.right.equalToSuperview()
make.height.equalTo(0.5)
}
}
} else if type == 2 {
if needCheckFlag == true {
titleLabel.snp.remakeConstraints { make in
make.top.equalToSuperview().offset(kMargin)
make.left.right.equalToSuperview()
make.height.equalTo(20)
}
subHoldView.snp.remakeConstraints { make in
make.top.equalTo(titleLabel.snp.bottom).offset(kMargin)
make.height.equalTo(20)
make.right.equalToSuperview()
make.left.equalToSuperview()
}
if textField.isEmpty == true {
noTextTipsLable.isHidden = false
noTextTipsLable.snp.remakeConstraints { make in
make.top.equalTo(subHoldView.snp.bottom).offset(6)
make.height.equalTo(20)
make.left.equalTo(subHoldView.snp.left)
make.right.equalTo(subHoldView.snp.right)
}
bottomLine.snp.remakeConstraints { make in
make.top.equalTo(noTextTipsLable.snp.bottom).offset(6)
make.bottom.left.right.equalToSuperview()
make.height.equalTo(0.5)
}
}
else {
noTextTipsLable.isHidden = true
bottomLine.snp.remakeConstraints { make in
make.top.equalTo(subHoldView.snp.bottom).offset(kMargin)
make.bottom.left.right.equalToSuperview()
make.height.equalTo(0.5)
}
}
} else {
noTextTipsLable.isHidden = true
titleLabel.snp.remakeConstraints { make in
make.top.equalToSuperview().offset(kMargin)
make.left.right.equalToSuperview()
make.height.equalTo(20)
}
subHoldView.snp.remakeConstraints { make in
make.top.equalTo(titleLabel.snp.bottom).offset(kMargin)
make.height.equalTo(20)
make.right.equalToSuperview()
make.left.equalToSuperview()
}
bottomLine.snp.remakeConstraints { make in
make.top.equalTo(subHoldView.snp.bottom).offset(kMargin)
make.bottom.left.right.equalToSuperview()
make.height.equalTo(0.5)
}
}
} else {
printLog("error: 未处理的类型")
}
} }
} }
...@@ -135,9 +135,6 @@ private extension YHOtherTextViewItemView { ...@@ -135,9 +135,6 @@ private extension YHOtherTextViewItemView {
make.left.equalTo(16) make.left.equalTo(16)
make.right.equalTo(-12) make.right.equalTo(-12)
} }
// tipsLabel.text = kTipsString
addSubview(bottomLine) addSubview(bottomLine)
bottomLine.snp.makeConstraints { make in bottomLine.snp.makeConstraints { make in
...@@ -157,6 +154,16 @@ extension YHOtherTextViewItemView : UITextFieldDelegate { ...@@ -157,6 +154,16 @@ extension YHOtherTextViewItemView : UITextFieldDelegate {
} }
self.block?(textView.text) self.block?(textView.text)
} }
func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
if !text.isEmpty {
if textView.text.count > 999 {
return false
}
}
return true
}
} }
extension YHOtherTextViewItemView { extension YHOtherTextViewItemView {
......
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