Commit 467f1796 authored by Steven杜宇's avatar Steven杜宇

// 家庭

parent e66c0eb5
...@@ -18,17 +18,17 @@ enum YHFamilyMemberRelationType: Int { ...@@ -18,17 +18,17 @@ enum YHFamilyMemberRelationType: Int {
class YHFamilyInfoUpdateViewController: YHBaseViewController { class YHFamilyInfoUpdateViewController: YHBaseViewController {
var memberId: Int = 0 var orderId: Int = 0
var familyGroupModel: YHFamilyGroupModel = YHFamilyGroupModel() var detailMember:YHApplicantInfoModel = YHApplicantInfoModel()
let viewModel = YHFamilyInfoConfirmViewModel()
private var detailMember:YHApplicantInfoModel = YHApplicantInfoModel()
let viewModel = YHFamilyInfoConfirmViewModel()
var relation:YHFamilyMemberRelationType = .mainApplicant var relation:YHFamilyMemberRelationType = .mainApplicant
var isInfoEditing: Bool = false var isInfoEditing: Bool = false
var items: [[YHFamilyInfoItem]] = [] var items: [[YHFamilyInfoItem]] = []
lazy var tableView: UITableView = { lazy var tableView: UITableView = {
let tableView = UITableView(frame:.zero, style:.grouped) let tableView = UITableView(frame:.zero, style:.grouped)
tableView.estimatedSectionHeaderHeight = 16.0 tableView.estimatedSectionHeaderHeight = 16.0
...@@ -79,7 +79,7 @@ class YHFamilyInfoUpdateViewController: YHBaseViewController { ...@@ -79,7 +79,7 @@ class YHFamilyInfoUpdateViewController: YHBaseViewController {
make.height.equalTo(44) make.height.equalTo(44)
make.left.equalTo(cancelBtn.snp.right).offset(10) make.left.equalTo(cancelBtn.snp.right).offset(10)
} }
return view return view
}() }()
...@@ -90,7 +90,7 @@ class YHFamilyInfoUpdateViewController: YHBaseViewController { ...@@ -90,7 +90,7 @@ class YHFamilyInfoUpdateViewController: YHBaseViewController {
self.view.backgroundColor = .white self.view.backgroundColor = .white
self.view.addSubview(self.tableView) self.view.addSubview(self.tableView)
self.view.addSubview(self.bottomView) self.view.addSubview(self.bottomView)
self.tableView.snp.makeConstraints { make in self.tableView.snp.makeConstraints { make in
make.left.right.equalToSuperview() make.left.right.equalToSuperview()
make.top.equalTo(k_Height_NavigationtBarAndStatuBar+16) make.top.equalTo(k_Height_NavigationtBarAndStatuBar+16)
...@@ -100,40 +100,62 @@ class YHFamilyInfoUpdateViewController: YHBaseViewController { ...@@ -100,40 +100,62 @@ class YHFamilyInfoUpdateViewController: YHBaseViewController {
make.left.right.bottom.equalToSuperview() make.left.right.bottom.equalToSuperview()
make.height.equalTo(98) make.height.equalTo(98)
} }
self.getDetail() self.updateData()
} }
@objc func didCancelBtnClicked() { @objc func didCancelBtnClicked() {
self.detailMember.info.isCheck = false
self.isInfoEditing = false
self.updateData()
} }
@objc func didConfirmBtnClicked() { @objc func didConfirmBtnClicked() {
self.detailMember.info.isCheck = true self.detailMember.info.isCheck = true
self.tableView.reloadData() self.tableView.reloadData()
}
if let arr1 = items.first {
func getDetail() { for item in arr1 {
if self.familyGroupModel.main.info.id == memberId { if !item.tips.isEmpty {
self.detailMember = self.familyGroupModel.main return
}
}
}
if let detaiParams = self.detailMember.info.toDictionary() {
} else if self.familyGroupModel.spouse.info.id == memberId { var relation = ""
self.detailMember = self.familyGroupModel.spouse if self.detailMember.info.relation == YHFamilyMemberRelationType.mainApplicant.rawValue {
relation = "main"
} else if self.detailMember.info.relation == YHFamilyMemberRelationType.spouse.rawValue {
relation = "spouse"
} else { } else if self.detailMember.info.relation == YHFamilyMemberRelationType.child.rawValue {
for child in self.familyGroupModel.children { relation = "child"
if child.info.id == memberId { }
self.detailMember = child
break
let param:[String: Any] = ["orderId": orderId,
relation: detaiParams]
YHHUD.show(.progress(message: "提交中..."))
viewModel.submitFamilyUpdate(param:param) {
[weak self] success, error in
YHHUD.hide()
guard let self = self else { return }
if success {
YHHUD.flash(message: "提交成功")
return
} }
let msg = error?.errorMsg ?? "提交失败"
YHHUD.flash(message: msg)
} }
} }
self.getData()
} }
func getData() { func updateData() {
items.removeAll() items.removeAll()
// arr1 信息核实 // arr1 信息核实
let arr1 = viewModel.getInfoConfirm(self.detailMember, isEditMode: self.isInfoEditing) let arr1 = viewModel.getInfoConfirm(self.detailMember, isEditMode: self.isInfoEditing)
...@@ -147,16 +169,6 @@ class YHFamilyInfoUpdateViewController: YHBaseViewController { ...@@ -147,16 +169,6 @@ class YHFamilyInfoUpdateViewController: YHBaseViewController {
self.tableView.reloadData() self.tableView.reloadData()
} }
func updateData() {
if let arr1 = items.first {
for item in arr1 {
item.isEditMode = self.isInfoEditing
item.isShowPreviousInfo = (!self.isInfoEditing && !item.previousValue.isEmpty)
}
}
self.tableView.reloadData()
}
} }
extension YHFamilyInfoUpdateViewController: UITableViewDelegate, UITableViewDataSource { extension YHFamilyInfoUpdateViewController: UITableViewDelegate, UITableViewDataSource {
...@@ -176,21 +188,24 @@ extension YHFamilyInfoUpdateViewController: UITableViewDelegate, UITableViewData ...@@ -176,21 +188,24 @@ extension YHFamilyInfoUpdateViewController: UITableViewDelegate, UITableViewData
cell.modifyBtn.isHidden = false cell.modifyBtn.isHidden = false
cell.isEditState = self.isInfoEditing cell.isEditState = self.isInfoEditing
cell.familyInfo = self.detailMember.info cell.familyInfo = self.detailMember.info
// 更改编辑状态
cell.editBlock = { cell.editBlock = {
[weak self] isEdit in [weak self] isEdit in
guard let self = self else { return } guard let self = self else { return }
self.isInfoEditing = isEdit self.isInfoEditing = isEdit
self.getData() self.updateData()
} }
// 选择出生国家/地区
cell.selectBirthNation = { cell.selectBirthNation = {
[weak self] isInChina in [weak self] isInChina in
guard let self = self else { return } guard let self = self else { return }
self.getData() self.updateData()
} }
// 更改姓名
cell.updateName = { cell.updateName = {
[weak self] text in [weak self] text in
guard let self = self else { return } guard let self = self else { return }
self.getData() self.updateData()
} }
} else { } else {
......
...@@ -132,8 +132,8 @@ extension YHApproverInfoVerifyCell: UITableViewDelegate, UITableViewDataSource { ...@@ -132,8 +132,8 @@ extension YHApproverInfoVerifyCell: UITableViewDelegate, UITableViewDataSource {
if 0 <= indexPath.row && indexPath.row < familyArr.count { if 0 <= indexPath.row && indexPath.row < familyArr.count {
let model = familyArr[indexPath.row] let model = familyArr[indexPath.row]
let vc = YHFamilyInfoUpdateViewController() let vc = YHFamilyInfoUpdateViewController()
vc.memberId = model.info.id vc.detailMember = model
vc.familyGroupModel = self.familyGroupInfo vc.orderId = self.familyGroupInfo.orderid
UIViewController.current?.navigationController?.pushViewController(vc) UIViewController.current?.navigationController?.pushViewController(vc)
} }
} }
......
...@@ -13,6 +13,8 @@ import AttributedString ...@@ -13,6 +13,8 @@ import AttributedString
// 文字编辑和选择弹窗时使用 // 文字编辑和选择弹窗时使用
class YHInfoItemView: UIView { class YHInfoItemView: UIView {
private var debounceTimer: Timer?
var item: YHFamilyInfoItem = YHFamilyInfoItem() var item: YHFamilyInfoItem = YHFamilyInfoItem()
var faimilyInfo: YHFamilyMemberInfoModel = YHFamilyMemberInfoModel() var faimilyInfo: YHFamilyMemberInfoModel = YHFamilyMemberInfoModel()
// 姓名更改 // 姓名更改
...@@ -324,6 +326,14 @@ extension YHInfoItemView: UITextFieldDelegate { ...@@ -324,6 +326,14 @@ extension YHInfoItemView: UITextFieldDelegate {
// return false // return false
// } // }
printLog("\(newText)") printLog("\(newText)")
if self.item.id == .mainApplicantName || self.item.id == .spouseName || self.item.id == .childName {
// 名称编辑时需防抖请求拼音
debounceTimer?.invalidate()
debounceTimer = Timer.scheduledTimer(withTimeInterval: 1.0, repeats: false) { [weak self] _ in
self?.updateNamePinYin()
}
}
return true return true
} }
...@@ -338,6 +348,9 @@ extension YHInfoItemView: UITextFieldDelegate { ...@@ -338,6 +348,9 @@ 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)
}
func updateNamePinYin() {
// 编辑姓名 // 编辑姓名
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 {
if let text = textField.text, !text.isEmpty { if let text = textField.text, !text.isEmpty {
......
...@@ -77,6 +77,28 @@ class YHFamilyInfoConfirmViewModel: NSObject { ...@@ -77,6 +77,28 @@ class YHFamilyInfoConfirmViewModel: NSObject {
callback?("", "") callback?("", "")
} }
} }
func submitFamilyUpdate(param:[String : Any], callback:((_ success: Bool,_ error:YHErrorModel?)->())?) {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.FamilyInfoConfirm.submitFamilyUpdate
let _ = YHNetRequest.postRequest(url: strUrl,params: param) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
printLog("model 是 ==> \(json)")
if json.code == 200 {
callback?(true, nil)
} else {
let err = YHErrorModel(errorCode: Int32(json.code), errorMsg: json.msg.isEmpty ? "" : json.msg)
callback?(false, err)
}
} failBlock: { err in
callback?(false, err)
}
}
} }
......
...@@ -415,6 +415,8 @@ class YHAllApiName { ...@@ -415,6 +415,8 @@ class YHAllApiName {
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" static let pinyinInfo = "super-app/order/information/pinyin"
// 家庭信息-提交修改
static let submitFamilyUpdate = "super-app/order/family/information/check"
} }
} }
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