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

// 家庭UI

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