Commit 4ee9e8e7 authored by Steven杜宇's avatar Steven杜宇

// 家庭UI

parent 4483f9f0
...@@ -227,6 +227,10 @@ extension YHAdopterNewPeopleViewController: UITableViewDelegate, UITableViewData ...@@ -227,6 +227,10 @@ extension YHAdopterNewPeopleViewController: UITableViewDelegate, UITableViewData
case .marry: case .marry:
let vc = YHAdopterMarryViewController() let vc = YHAdopterMarryViewController()
self.navigationController?.pushViewController(vc) self.navigationController?.pushViewController(vc)
case .chinaTravel:
break
case .chinaLife:
break
} }
} }
} }
......
...@@ -9,6 +9,16 @@ ...@@ -9,6 +9,16 @@
import UIKit import UIKit
import SmartCodable import SmartCodable
class YHFamilyNamePinYin: SmartCodable {
var family_name: String = ""
var given_name: String = ""
required init() {
}
}
class YHFamilyGroupModel: SmartCodable { class YHFamilyGroupModel: SmartCodable {
var orderid: Int = 0 var orderid: Int = 0
var main: YHApplicantInfoModel = YHApplicantInfoModel() var main: YHApplicantInfoModel = YHApplicantInfoModel()
......
...@@ -90,8 +90,13 @@ class YHIFamilyInfoListCell: UITableViewCell { ...@@ -90,8 +90,13 @@ class YHIFamilyInfoListCell: UITableViewCell {
self.modifyBtn.setTitle(text, for: .normal) self.modifyBtn.setTitle(text, for: .normal)
} }
} }
// 是否进入编辑模式
var editBlock:((Bool)->())? var editBlock:((Bool)->())?
// 选择出生国家
var selectBirthNation:((Bool)->())? var selectBirthNation:((Bool)->())?
// 姓名更改
var updateName:((String)->())?
lazy var whiteView: UIView = { lazy var whiteView: UIView = {
let view = UIView() let view = UIView()
......
...@@ -15,7 +15,11 @@ class YHInfoItemView: UIView { ...@@ -15,7 +15,11 @@ class YHInfoItemView: UIView {
var item: YHFamilyInfoItem = YHFamilyInfoItem() var item: YHFamilyInfoItem = YHFamilyInfoItem()
var faimilyInfo: YHFamilyMemberInfoModel = YHFamilyMemberInfoModel() var faimilyInfo: YHFamilyMemberInfoModel = YHFamilyMemberInfoModel()
// 姓名更改
var updateName:((String)->())?
let rightBtnWidth = 22.0 let rightBtnWidth = 22.0
let viewModel = YHFamilyInfoConfirmViewModel()
lazy var lineView: UIView = { lazy var lineView: UIView = {
let view = UIView() let view = UIView()
...@@ -189,7 +193,9 @@ class YHInfoItemView: UIView { ...@@ -189,7 +193,9 @@ class YHInfoItemView: UIView {
@objc func didSelectSheetBtnClicked() { @objc func didSelectSheetBtnClicked() {
if item.action == .select { if item.action == .select {
self.becomeFirstResponder() // 强制键盘消失
UIApplication.shared.yhKeyWindow()?.endEditing(true)
if item.id == .marriage { // 婚姻状况 if item.id == .marriage { // 婚姻状况
YHSheetPickerView.show(type:.marriage1, selectTitle: self.faimilyInfo.getMarriageState()) { YHSheetPickerView.show(type:.marriage1, selectTitle: self.faimilyInfo.getMarriageState()) {
...@@ -252,6 +258,9 @@ class YHInfoItemView: UIView { ...@@ -252,6 +258,9 @@ class YHInfoItemView: UIView {
detailLabel.isHidden = isTextEdit detailLabel.isHidden = isTextEdit
textField.isHidden = !isTextEdit textField.isHidden = !isTextEdit
textField.placeholder = self.getPlaceHolder() textField.placeholder = self.getPlaceHolder()
if item.id == .firstName || item.id == .lastName {
textField.keyboardType = .asciiCapable // 英文键盘
}
let isSelectSheet = item.isEditMode && item.action == .select let isSelectSheet = item.isEditMode && item.action == .select
clickRowBtn.isHidden = !isSelectSheet clickRowBtn.isHidden = !isSelectSheet
...@@ -261,6 +270,7 @@ class YHInfoItemView: UIView { ...@@ -261,6 +270,7 @@ class YHInfoItemView: UIView {
if item.action == .edit { if item.action == .edit {
rightBtn.setImage(UIImage(named: "family_info_del"), for: .normal) rightBtn.setImage(UIImage(named: "family_info_del"), for: .normal)
} else if item.action == .select { } else if item.action == .select {
rightBtn.setImage(UIImage(named: "family_info_arrow"), for: .normal) rightBtn.setImage(UIImage(named: "family_info_arrow"), for: .normal)
} }
...@@ -309,10 +319,10 @@ extension YHInfoItemView: UITextFieldDelegate { ...@@ -309,10 +319,10 @@ extension YHInfoItemView: UITextFieldDelegate {
let newText = (textField.text! as NSString).replacingCharacters(in: range, with: string) let newText = (textField.text! as NSString).replacingCharacters(in: range, with: string)
// if newText.count > Self.maxWordsCount { // if newText.count > Self.maxWordsCount {
// YHHUD.flash(message: "限制最多\(Self.maxWordsCount)个字符") // YHHUD.flash(message: "限制最多\(Self.maxWordsCount)个字符")
// return false // return false
// } // }
printLog("\(newText)") printLog("\(newText)")
return true return true
} }
...@@ -328,19 +338,34 @@ extension YHInfoItemView: UITextFieldDelegate { ...@@ -328,19 +338,34 @@ extension YHInfoItemView: UITextFieldDelegate {
self.item.tips = self.getRedTips() self.item.tips = self.getRedTips()
self.updateItem(self.item, familyInfo: self.faimilyInfo) self.updateItem(self.item, familyInfo: self.faimilyInfo)
// 编辑姓名
if self.item.id == .mainApplicantName || self.item.id == .spouseName || self.item.id == .childName {
if let text = textField.text, !text.isEmpty {
self.viewModel.getPinYinFromName(text) {
[weak self] firstNamePinYin, lastNamePinYin in
guard let self = self else { return }
self.faimilyInfo.familyName = firstNamePinYin
self.faimilyInfo.givenName = lastNamePinYin
updateName?(text)
}
}
}
} }
func updateText(_ newText: String) { func updateText(_ newText: String) {
self.item.value = newText self.item.value = newText
if self.item.id == .mainApplicantName || self.item.id == .spouseName || self.item.id == .childName { if self.item.id == .mainApplicantName || self.item.id == .spouseName || self.item.id == .childName {
self.faimilyInfo.name = newText self.faimilyInfo.name = newText
} else if self.item.id == .firstName { } else if self.item.id == .firstName {
self.faimilyInfo.familyName = newText self.faimilyInfo.familyName = newText.uppercased()
self.item.value = newText.uppercased()
} else if self.item.id == .lastName { } else if self.item.id == .lastName {
self.faimilyInfo.givenName = newText self.faimilyInfo.givenName = newText.uppercased()
self.item.value = newText.uppercased()
} else if self.item.id == .occupation { } else if self.item.id == .occupation {
self.faimilyInfo.occupationName = newText self.faimilyInfo.occupationName = newText
......
...@@ -11,6 +11,7 @@ import UIKit ...@@ -11,6 +11,7 @@ import UIKit
class YHFamilyInfoConfirmViewModel: NSObject { class YHFamilyInfoConfirmViewModel: NSObject {
var familyInfo: YHFamilyGroupModel = YHFamilyGroupModel() var familyInfo: YHFamilyGroupModel = YHFamilyGroupModel()
var pinyinInfo: YHFamilyNamePinYin = YHFamilyNamePinYin()
func getFamilyInfo(param:[String : Any], callback:((_ success: Bool,_ error:YHErrorModel?)->())?) { func getFamilyInfo(param:[String : Any], callback:((_ success: Bool,_ error:YHErrorModel?)->())?) {
...@@ -48,6 +49,43 @@ class YHFamilyInfoConfirmViewModel: NSObject { ...@@ -48,6 +49,43 @@ class YHFamilyInfoConfirmViewModel: NSObject {
} }
} }
func getPinYinFromName(_ name: String, callback:((String, String)->())?) {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.FamilyInfoConfirm.pinyinInfo
let _ = YHNetRequest.getRequest(url: strUrl,params: ["name" : name]) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
printLog("model 是 ==> \(json)")
if json.code == 200 {
let dic = json.data
guard let resultModel = YHFamilyNamePinYin.deserialize(dict: dic as? [AnyHashable : Any]) else {
let err = YHErrorModel(errorCode: YHErrorCode.dictParseError.rawValue, errorMsg: YHErrorCode.dictParseError.description())
callback?("", "")
return
}
self.pinyinInfo = resultModel
callback?(resultModel.family_name, resultModel.given_name)
} else {
let err = YHErrorModel(errorCode: Int32(json.code), errorMsg: json.msg.isEmpty ? "" : json.msg)
callback?("", "")
}
} failBlock: { err in
callback?("", "")
}
}
}
extension YHFamilyInfoConfirmViewModel {
func getInfoConfirm(_ model: YHApplicantInfoModel, isEditMode:Bool) -> [YHFamilyInfoItem] { func getInfoConfirm(_ model: YHApplicantInfoModel, isEditMode:Bool) -> [YHFamilyInfoItem] {
var nameTitle = "" var nameTitle = ""
......
...@@ -413,7 +413,8 @@ class YHAllApiName { ...@@ -413,7 +413,8 @@ class YHAllApiName {
struct FamilyInfoConfirm { struct FamilyInfoConfirm {
// 获取获批者家庭信息 // 获取获批者家庭信息
static let familyInfo = "super-app/order/family/information/obtain" static let familyInfo = "super-app/order/family/information/obtain"
// 通过姓名获取拼音
static let pinyinInfo = "/super-app/order/information/pinyin"
} }
} }
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