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

其他信息 字段检查

parent 5fac66f3
......@@ -1207,8 +1207,8 @@
A596C3982B84D9100067BBB8 /* V */ = {
isa = PBXGroup;
children = (
A596C3992B84D9100067BBB8 /* YHOtherResidenceFillView.swift */,
A596C39A2B84D9100067BBB8 /* YHOtherInfoFillCell.swift */,
A596C3992B84D9100067BBB8 /* YHOtherResidenceFillView.swift */,
A596C39B2B84D9100067BBB8 /* YHOtherTextViewItemView.swift */,
A596C39C2B84D9100067BBB8 /* YHOtherYesOrNoItemView.swift */,
A596C39D2B84D9100067BBB8 /* YHOtherSelecteItemView.swift */,
......
......@@ -94,35 +94,28 @@ extension YHOtherInfoFillViewController {
private func saveData() {
let model = otherInfoVM.otherInfoFillData
model?.is_update = false
let str = model?.toJSONString()
printLog(str)
//保存
if let param = model?.toDictionary() {
submitDataOp(flag: false)
}
private func submitData() {
//提交
if dataIsOK() == true {
submitDataOp(flag: true)
} else {
printLog("param ==>")
printLog(param)
let model = otherInfoVM.otherInfoFillData
model?.needCheckFlag = true
otherInfoVM.saveOtherInfo(params: param) { success, error in
if success == true {
YHHUD.flash(message: "操作成功")
} else {
let msg = error?.errorMsg ?? "操作失败"
YHHUD.flash(message: msg)
}
}
} else {
printLog("error: 参数 转换 出错")
YHHUD.flash(message: "您还有信息未填写")
homeTableView.reloadData()
}
}
private func submitData() {
private func submitDataOp(flag : Bool) {
//提交
let model = otherInfoVM.otherInfoFillData
model?.is_update = true
model?.is_update = flag
//保存
if let param = model?.toDictionary() {
......@@ -141,6 +134,58 @@ extension YHOtherInfoFillViewController {
printLog("error: 参数 转换 出错")
}
}
//检查数据是否合法
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
}
}
//2.语言水平
if model.language_detail?.levelDes.isEmpty == true {
returnValue = false
return returnValue
}
//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
}
}
}
return returnValue
}
}
// MARK: - delegates
......
......@@ -15,7 +15,11 @@ class YHOtherInfoFillModel: SmartCodable {
var language_detail: LanguageDetail?
var profession: Profession?
var question: Question?
var is_update : Bool = false
var is_update : Bool = false //true-提交 false-保存
//以下为本地使用的参数
var needCheckFlag : Bool = false //是否检查有效性
required init() {
......@@ -32,6 +36,11 @@ class Residence : SmartCodable {
var order_id: Int = -1
var end_time_checked: Bool = false //是否勾选 至今
//以下为本地使用的参数
var needCheckFlag : Bool = false //是否检查有效性
required init() {
}
}
......@@ -44,6 +53,10 @@ class LanguageDetail : SmartCodable {
var name: String = ""
var remark: String = ""
//以下为本地使用的参数
var needCheckFlag : Bool = false //是否检查有效性
required init() {
}
......@@ -55,6 +68,10 @@ class Profession : SmartCodable{
var optionDes : String = ""
var remark: String = ""
//以下为本地使用的参数
var needCheckFlag : Bool = false //是否检查有效性
required init() {
}
}
......@@ -69,6 +86,10 @@ class Question : SmartCodable {
var professional_awards : String = ""
var other_information: String = ""
//以下为本地使用的参数
var needCheckFlag : Bool = false //是否检查有效性
required init() {
}
}
......@@ -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 = {
let btn = UIButton()
btn.setTitle("新增居住信息".local, for: .normal)
......@@ -107,6 +96,7 @@ extension YHOtherInfoFillCell {
}
let residenceView = YHOtherResidenceFillView(frame: .zero)
item.needCheckFlag = dataModel.needCheckFlag
residenceView.dataModel = item
holdView1.addSubview(residenceView)
......@@ -139,6 +129,7 @@ extension YHOtherInfoFillCell {
}
let residenceView = YHOtherResidenceFillView(frame: .zero)
item.needCheckFlag = dataModel.needCheckFlag
residenceView.dataModel = item
holdView1.addSubview(residenceView)
residenceView.snp.makeConstraints { make in
......@@ -165,7 +156,9 @@ extension YHOtherInfoFillCell {
let residenceView = YHOtherResidenceFillView(frame: .zero)
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)
......@@ -198,6 +191,18 @@ extension YHOtherInfoFillCell {
}
holdView1.layoutIfNeeded()
//2.语言水平
let holdView2 = createHoldView()
contentView.addSubview(holdView2)
......
......@@ -13,7 +13,7 @@ class YHOtherInfoSessionView: UIView {
typealias Block = (Int) -> ()
var block: Block?
//0-默认只有title 1-带删除按钮 2-有subNameLabel 3-带默认图标
//0-默认只有title 1-带删除按钮 2-有subNameLabel 3-带默认图标
var type : Int = 0 {
didSet {
......
......@@ -26,22 +26,43 @@ class YHOtherResidenceFillView: UIView {
}
}
let nationView : YHOtherSelecteItemView = YHOtherSelecteItemView()
let startView : 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 {
func setupUI() {
//1.国家
let view = nationView
view.updateKeyName(name: "国家", keyValue: "")
view.type = 1
addSubview(view)
view.snp.makeConstraints { make in
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))
......@@ -50,24 +71,26 @@ extension YHOtherResidenceFillView {
//2.开始时间
let view2 = startView
view2.type = 1
view2.updateKeyName(name: "开始时间", keyValue: "")
addSubview(view2)
view2.snp.makeConstraints { make in
make.top.equalTo(view.snp.bottom)
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))
view2.addGestureRecognizer(tap2)
//3.结束时间
let view3 = endView
view3.type = 1
view3.updateKeyName(name: "结束时间", keyValue: "")
addSubview(view3)
view3.snp.makeConstraints { make in
make.top.equalTo(view2.snp.bottom)
make.left.right.equalToSuperview()
make.height.equalTo(YHOtherSelecteItemView.getViewHBy(type: 1))
// make.height.equalTo(YHOtherSelecteItemView.getViewHBy(type: 1))
make.bottom.equalToSuperview()
}
......@@ -80,10 +103,19 @@ extension YHOtherResidenceFillView {
func updateUI() {
guard let dataModel = dataModel else { return }
nationView.updateKeyName(name: "国家", keyValue: dataModel.country)
nationView.needCheckFlag = dataModel.needCheckFlag
startView.updateKeyName(name: "开始时间", keyValue: dataModel.start_time)
startView.needCheckFlag = dataModel.needCheckFlag
endView.updateKeyName(name: "结束时间", keyValue: dataModel.end_time)
endView.needCheckFlag = dataModel.needCheckFlag
layoutIfNeeded()
}
}
extension YHOtherResidenceFillView {
......@@ -93,6 +125,8 @@ extension YHOtherResidenceFillView {
printLog(country)
self.nationView.updateKeyName(name: "国家", keyValue: country)
self.dataModel?.country = country
self.layoutIfNeeded()
}
self.parentViewController?.navigationController?.pushViewController(vc)
}
......@@ -104,6 +138,7 @@ extension YHOtherResidenceFillView {
self.startView.updateKeyName(name: "开始时间", keyValue: date)
self.dataModel?.start_time = date
self.layoutIfNeeded()
}
}
......@@ -112,6 +147,7 @@ extension YHOtherResidenceFillView {
printLog(date)
self.endView.updateKeyName(name: "结束时间", keyValue: date)
self.dataModel?.end_time = date
self.layoutIfNeeded()
}
}
}
......@@ -27,6 +27,12 @@ class YHOtherSelecteItemView: UIView {
}
}
var needCheckFlag : Bool = false {
didSet {
layoutIfNeeded()
}
}
//获取高度
static func getViewHBy(type : Int)->CGFloat {
return type == 1 ? viewH : viewH2
......@@ -66,6 +72,15 @@ class YHOtherSelecteItemView: UIView {
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? {
didSet {
if let question = title {
......@@ -90,42 +105,7 @@ class YHOtherSelecteItemView: UIView {
override func layoutSubviews() {
super.layoutSubviews()
if type == 1 {
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 {
}
layoutMyUI()
}
}
......@@ -135,10 +115,9 @@ extension YHOtherSelecteItemView {
addSubview(bottomLine)
addSubview(titleLabel)
addSubview(subHoldView)
addSubview(noTextTipsLable)
title = "开始时间"
let rightIcon = UIImageView()
rightIcon.image = UIImage(named: "form_right_arrow")
rightIcon.contentMode = .scaleAspectFill
......@@ -159,7 +138,158 @@ extension YHOtherSelecteItemView {
extension YHOtherSelecteItemView {
func updateKeyName(name : String, keyValue : String) {
noTextTipsLable.text = "请选择" + name
title = name
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 {
make.left.equalTo(16)
make.right.equalTo(-12)
}
// tipsLabel.text = kTipsString
addSubview(bottomLine)
bottomLine.snp.makeConstraints { make in
......@@ -157,6 +154,16 @@ extension YHOtherTextViewItemView : UITextFieldDelegate {
}
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 {
......
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