Commit 0b467705 authored by David黄金龙's avatar David黄金龙

其他信息优化

parent a7b8e5c7
......@@ -34,6 +34,11 @@ class YHOtherInfoFillViewController: YHBaseViewController {
//2.0
loadData()
}
deinit {
NotificationCenter.default.removeObserver(self)
}
}
......@@ -74,7 +79,26 @@ extension YHOtherInfoFillViewController {
make.left.equalTo(kMargin)
make.right.equalTo(-kMargin)
}
NotificationCenter.default.addObserver(self, selector: #selector(didRevModelChanged(_:)), name: Notification.Name(rawValue: "com.yinhe.myCertificate.wechat.otherInfo_remark_notification"), object: nil)
}
@objc func didRevModelChanged(_ notification: Notification) {
if let model = notification.object as? LanguageDetailModel {
printLog(model)
if let tModel = otherInfoVM.otherInfoFillData,tModel.language_detail_new.count > 0 {
for(index,item) in tModel.language_detail_new_data.enumerated() {
if item.id == model.id {
tModel.language_detail_new_data[index] = model
break
}
}
}
}
}
private func loadData() {
guard let orderId = orderId else { return}
......@@ -112,24 +136,46 @@ extension YHOtherInfoFillViewController {
private func submitDataOp(flag : Bool) {
//提交
let model = otherInfoVM.otherInfoFillData
//处理提交的数据 //for test hjl
var tID = 0
if let arr = model?.language_detail_new, arr.count > 0 {
tID = arr[0].id
}
if let arrr = model?.language_detail_new_data,arrr.count > 0 {
var arrO : [LanguageDetailNew] = []
for(_,item) in arrr.enumerated() {
if item.select {
let fakeData : LanguageDetailNew = LanguageDetailNew()
if let arr = model?.language_detail_new,arr.count > 0 {
for(_,tttt) in arr.enumerated() {
if tttt.first_select == item.id {
tID = tttt.id
}
}
}
fakeData.id = tID
fakeData.first_select = 3
fakeData.second_select = "1"
fakeData.other_instructions = "DavidTest"
model?.language_detail_new = [fakeData]
fakeData.first_select = item.id
fakeData.other_instructions = item.other_instructions
arrO.append(fakeData)
var isFirst : Bool = true
for(_,tt) in item.options.enumerated() {
if tt.select {
if isFirst {
fakeData.second_select = String(tt.id)
isFirst = false
} else {
fakeData.second_select = fakeData.second_select + "," + String(tt.id)
}
}
}
}
}
model?.language_detail_new = arrO
} else {
model?.language_detail_new = []
}
model?.is_update = flag
//保存
......@@ -186,6 +232,27 @@ extension YHOtherInfoFillViewController {
//
// }
if !model.language_detail_new_data.isEmpty {
var mutilFlag : Bool = false
var singleFlag : Bool = false
for(_,item) in model.language_detail_new_data.enumerated() {
mutilFlag = item.select || mutilFlag
if mutilFlag {
for(_,iitem) in item.options.enumerated() {
singleFlag = singleFlag || iitem.select
}
if !singleFlag {
return false
}
}
}
if !mutilFlag {
return false
}
}
//3.专业技能行业
if model.profession?.optionDes.isEmpty == true {
returnValue = false
......
......@@ -54,8 +54,8 @@ class YHOtherLanguageSelecteView: UIView {
}()
//
private var arrLanguage : [UIView] = []
private var arrLanguageOptions : [UIView] = []
private var arrLanguage : [YHOtherMultipleChoiceItemView] = []
private var arrLanguageOptions : [YHSingleOptionalItemsView] = []
var dataModel : [LanguageDetailModel] = [] {
......@@ -64,11 +64,11 @@ class YHOtherLanguageSelecteView: UIView {
}
}
override func layoutSubviews() {
super.layoutSubviews()
updateUI()
}
// override func layoutSubviews() {
// super.layoutSubviews()
//
// updateUI()
// }
}
......@@ -162,6 +162,10 @@ extension YHOtherLanguageSelecteView {
make.height.equalTo(YHOtherMultipleChoiceItemView.viewH)//占位置
}
optionView.block = { model in
self.block?(model)
}
arrLanguageOptions.append(optionView)
optionView.isHidden = true
}
......@@ -186,7 +190,11 @@ extension YHOtherLanguageSelecteView {
for (index,item) in dataModel.enumerated() {
let multiCheckView = arrLanguage[index]
multiCheckView.dataModel = item
let optionView = arrLanguageOptions[index]
optionView.dataModel = item
if index == 0 {
multiCheckView.snp.remakeConstraints { make in
make.top.left.right.equalToSuperview()
......
......@@ -71,6 +71,12 @@ class YHSingleOptionalItemsView: UIView {
}
}
private var arrHoldView : [YHOtherSingleChoiceItemView] = []
typealias Block = (LanguageDetailModel?) -> ()
var block: Block?
}
private extension YHSingleOptionalItemsView {
......@@ -94,43 +100,21 @@ private extension YHSingleOptionalItemsView {
make.top.equalTo(textFieldHoldView.snp.bottom).offset(8)
make.left.right.equalToSuperview()
make.height.equalTo(60)//for test hjl
make.height.equalTo(20)//for test hjl
make.bottom.equalToSuperview()
}
//for test hjl
let tmpOption = YHOtherSingleChoiceItemView()
optionsHoldView.addSubview(tmpOption)
tmpOption.snp.makeConstraints { make in
make.top.equalToSuperview().offset(kMargin)
make.left.equalToSuperview().offset(kMargin)
make.right.equalToSuperview().offset(-kMargin)
}
let tmpOption1 = YHOtherSingleChoiceItemView()
tmpOption1.isSelected = true
optionsHoldView.addSubview(tmpOption1)
tmpOption1.snp.makeConstraints { make in
make.top.equalTo(tmpOption.snp.bottom).offset(kMargin)
make.left.equalToSuperview().offset(kMargin)
make.right.equalToSuperview().offset(-kMargin)
}
let tmpOption2 = YHOtherSingleChoiceItemView()
optionsHoldView.addSubview(tmpOption2)
tmpOption2.snp.makeConstraints { make in
make.top.equalTo(tmpOption1.snp.bottom).offset(kMargin)
make.left.equalToSuperview().offset(kMargin)
make.right.equalToSuperview().offset(-kMargin)
make.bottom.equalToSuperview().offset(-kMargin)
@objc func textFieldChanged(textField:UITextField) {
printLog(textField.text)
guard let model = dataModel else {
return
}
model.other_instructions = textField.text ?? ""
// self.block?(model)
}
@objc func textFieldChanged(textField:UITextField) {
printLog(textField.text)
NotificationCenter.default.post(name: Notification.Name(rawValue: "com.yinhe.myCertificate.wechat.otherInfo_remark_notification"), object: model)
}
func updateUI() {
......@@ -144,6 +128,8 @@ private extension YHSingleOptionalItemsView {
if model.id == 3 {
languageTextField.text = model.other_instructions
textFieldHoldView.isHidden = false
optionsHoldView.snp.remakeConstraints() { make in
make.top.equalTo(textFieldHoldView.snp.bottom).offset(8)
......@@ -165,11 +151,19 @@ private extension YHSingleOptionalItemsView {
var lastView : UIView?
arrHoldView.removeAll()
for(index,item) in model.options.enumerated() {
let tmpOption = YHOtherSingleChoiceItemView()
tmpOption.dataModel = item
optionsHoldView.addSubview(tmpOption)
arrHoldView.append(tmpOption)
tmpOption.tag = index
let tap : UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(tapItem(gestureRecognizer:)))
tmpOption.addGestureRecognizer(tap)
if index == 0 {
//第一个
tmpOption.snp.makeConstraints { make in
......@@ -201,6 +195,33 @@ private extension YHSingleOptionalItemsView {
}
}
}
@objc func tapItem(gestureRecognizer:UITapGestureRecognizer) {
guard let model = dataModel else {
return
}
let clickIndex = gestureRecognizer.view?.tag
for (index,item) in model.options.enumerated() {
if clickIndex == index {
if !item.select {
item.select = true
} else {
return
}
} else {
item.select = false
}
}
for (index,item) in arrHoldView.enumerated() {
let data = model.options[index]
item.dataModel = data
}
self.block?(model)
}
}
......
......@@ -299,6 +299,7 @@ extension YHOtherInfoFillViewModel {
for (ii,tt) in arr.enumerated() {
if item.first_select == tt.id {
tt.select = true
tt.other_instructions = item.other_instructions
let arrTTT = item.second_select.split(separator: ",")
......
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