Commit 698d16d5 authored by Steven杜宇's avatar Steven杜宇

// 家庭成员

parent 7e7d6c23
......@@ -14,6 +14,7 @@ class YHCollegeSearchViewController: YHBaseViewController {
var searchCollegeName:String?
var selectBlock:((String?)->Void)?
var colleges:[YHCollegeInfo] = []
var lastSearchTime:TimeInterval = 0.0
let educationRequest:YHEducationRequestViewModel = YHEducationRequestViewModel()
lazy var searchBar: YHSearchBar = {
......@@ -90,7 +91,10 @@ class YHCollegeSearchViewController: YHBaseViewController {
[weak self] text in
guard let self = self else { return }
searchCollegeName = text
searchCollege()
if Date().timeIntervalSince1970 * 1000 - lastSearchTime * 1000 >= 500 {
lastSearchTime = Date().timeIntervalSince1970
searchCollege()
}
}
searchBar.confirmBlock = {
[weak self] in
......
......@@ -96,7 +96,8 @@ class YHChildPrimaryInfoVC: YHBaseViewController, YHFamilyMemberProtol {
arr2.append(item22)
}
let placeHolder = (isLiveInChina ? "请填写小区、楼栋、单元室等".local : "请填写国外居住地".local)
let item23 = YHFormDetailItem(type: .detailAddress, value:child.address.details, placeHolder: placeHolder, tips:placeHolder)
let detailAddress = isLiveInChina ? child.address.details : child.address.foreign
let item23 = YHFormDetailItem(type:.detailAddress, value:detailAddress, placeHolder:placeHolder, tips:placeHolder)
arr2.append(item23)
if !isLiveInChina {// 在国外
......@@ -291,10 +292,15 @@ extension YHChildPrimaryInfoVC : UITableViewDelegate, UITableViewDataSource {
cell.textChange = {
[weak self] (text, isEditEnd) in
guard let self = self else { return }
guard let child = child else { return }
if detailItem.type == .detailAddress {
self.child?.address.details = text ?? ""
if child.address.isInChina() {
child.address.details = text ?? ""
} else {
child.address.foreign = text ?? ""
}
}
if isEditEnd {
self.loadInfo()
save()
......@@ -455,18 +461,22 @@ extension YHChildPrimaryInfoVC {
if isEmptyString(child.nationality) {
return false
}
if !child.isLiveTother() { // 没有与主申请人同住
if isEmptyString(child.address.country) {
return false
}
if isEmptyString(child.address.details) {
return false
}
if child.address.isInChina() {
if isEmptyArray(child.address.area) {
return false
}
if isEmptyString(child.address.details) {
return false
}
} else { // 住在国外
if isEmptyString(child.address.foreign) {
return false
}
}
}
return true
......
......@@ -263,6 +263,19 @@ extension YHSpouseInfoContainerVC {
}
}
func requestDetail() {
// if orderId <= 0 || spouse.id <= 0 {
// print("订单号或成员id不存在")
// return
// }
// self.familyRequest.requestFamilyMemberInfo(orderId:orderId, detailId:spouse.id) {
// [weak self] detail, error in
// if let detail = detail {
// spouse = detail
// }
// }
}
// 【WARNING!】步骤step和在数组中的下标有时候并不是一一对应
func getArrayIndexOfCurrentStep() ->Int? {
for (i, item) in stepVCs.enumerated() {
......
......@@ -97,7 +97,8 @@ class YHSpousePrimaryInfoVC: YHBaseViewController, YHFamilyMemberProtol {
let placeHolder = (isLiveInChina ? "请填写小区、楼栋、单元室等".local : "请填写国外居住地".local)
let tips = (isLiveInChina ? "请填写小区、楼栋、单元室等".local : "请填写国外居住地".local)
let item23 = YHFormDetailItem(type:.detailAddress, value:spouse.address.details, placeHolder:placeHolder, tips:tips)
let detailAddress = isLiveInChina ? spouse.address.details : spouse.address.foreign
let item23 = YHFormDetailItem(type:.detailAddress, value:detailAddress, placeHolder:placeHolder, tips:tips)
arr2.append(item23)
if !isLiveInChina {// 在国外
......@@ -245,7 +246,16 @@ extension YHSpousePrimaryInfoVC : UITableViewDelegate, UITableViewDataSource {
cell.textChange = {
[weak self] (text, isEditEnd) in
guard let self = self else { return }
self.spouse?.address.details = text ?? ""
guard let spouse = spouse else { return }
if detailItem.type == .detailAddress {
if spouse.address.isInChina() {
spouse.address.details = text ?? ""
} else {
spouse.address.foreign = text ?? ""
}
}
if isEditEnd {
self.loadInfo()
save()
......@@ -377,14 +387,17 @@ extension YHSpousePrimaryInfoVC : UITableViewDelegate, UITableViewDataSource {
if isEmptyString(spouse.address.country) {
return false
}
if isEmptyString(spouse.address.details) {
return false
}
if spouse.address.isInChina() {
if isEmptyArray(spouse.address.area) {
return false
}
if isEmptyString(spouse.address.details) {
return false
}
} else { // 住在国外
if isEmptyString(spouse.address.foreign) {
return false
}
}
}
return true
......
......@@ -115,15 +115,15 @@ class YHFamilyMemberInfoListVC: YHBaseViewController {
}
@objc func didClickSubmitBtn() {
let isChecked = checkIntegrity()
isNeedShowError = !isChecked
self.tableView .reloadData()
if !isChecked {
YHHUD.flash(message: "资料还未填完")
return
}
// let isChecked = checkIntegrity()
// isNeedShowError = !isChecked
//
// self.tableView .reloadData()
//
// if !isChecked {
// YHHUD.flash(message: "资料还未填完")
// return
// }
submit()
}
......
......@@ -15,7 +15,6 @@ class YHFamilyRequestViewModel {
func getFamilyInfo(params:[String:Any], callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Family.familyInfoApi
// let strUrl = "http://192.168.34.187:8808/" + YHAllApiName.Family.familyInfoApi
YHHUD.show(.progress(message: "数据加载中..."))
......@@ -24,16 +23,21 @@ class YHFamilyRequestViewModel {
guard let self = self else { return }
printLog("model 是 ==> \(json)")
let dic = json.data as? [AnyHashable : Any]
guard let resultModel = YHFamilyMemberGroupInfo.deserialize(dict: dic) else {
callBackBlock(false,nil)
return
let dic = json.data
if code == NetWorkCode.success.rawValue {
guard let resultModel = YHFamilyMemberGroupInfo.deserialize(dict: dic as? Dictionary ) else {
callBackBlock(false, YHErrorModel(errorCode:Int32(json.code), errorMsg:"解析失败".local))
return
}
familyInfo = resultModel.checkDefaultValue()
callBackBlock(true,nil)
} else {
let error : YHErrorModel = YHErrorModel(errorCode:Int32(json.code), errorMsg: json.msg)
callBackBlock(false, error)
}
familyInfo = resultModel.checkDefaultValue()
callBackBlock(true,nil)
} failBlock: { err in
callBackBlock(false,err)
......@@ -60,7 +64,7 @@ class YHFamilyRequestViewModel {
if json.code == NetWorkCode.success.rawValue {
callBackBlock(true,nil)
} else {
callBackBlock(false, nil)
callBackBlock(false, YHErrorModel(errorCode:json.code, errorMsg:json.msg))
}
} failBlock: { err in
......@@ -80,7 +84,7 @@ class YHFamilyRequestViewModel {
if json.code == NetWorkCode.success.rawValue {
callBackBlock(true,nil)
} else {
callBackBlock(false, nil)
callBackBlock(false, YHErrorModel(errorCode:json.code, errorMsg:json.msg))
}
} failBlock: { err in
......@@ -100,11 +104,41 @@ class YHFamilyRequestViewModel {
if json.code == NetWorkCode.success.rawValue {
callBackBlock(true,nil)
} else {
callBackBlock(false, nil)
callBackBlock(false, YHErrorModel(errorCode:json.code, errorMsg:json.msg))
}
} failBlock: { err in
callBackBlock(false,err)
}
}
func requestFamilyMemberInfo(orderId:Int, detailId:Int, callBackBlock:@escaping (_ detail: YHFamilyMember?, _ error:YHErrorModel?)->()) {
YHHUD.show(.progress(message: "数据加载中..."))
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Family.familyInfoDetailApi
let _ = YHNetRequest.postRequest(url: strUrl, params:["order_id":orderId]) { json, code in
YHHUD.hide()
printLog("model 是 ==> \(json)")
YHHUD.hide()
let dic = json.data
if code == NetWorkCode.success.rawValue {
guard let resultModel = YHFamilyMember.deserialize(dict: dic as? Dictionary ) else {
callBackBlock(nil, YHErrorModel(errorCode:Int32(json.code), errorMsg:"解析失败".local))
return
}
callBackBlock(resultModel, nil)
} else {
let error : YHErrorModel = YHErrorModel(errorCode:Int32(json.code), errorMsg: json.msg)
callBackBlock(nil, error)
}
} failBlock: { err in
callBackBlock(nil, err)
}
}
}
......@@ -12,6 +12,7 @@ import HandyJSON
enum NetWorkCode: Int {
case success = 200
case parseFail = 9527
}
struct NetBaseModel: SmartCodable {
......@@ -35,6 +36,6 @@ struct TestModel: SmartCodable {
struct NetWorkBaseModel: HandyJSON {
var data : Any?
var code : Int = -1
var code : Int32 = -1
var msg : String = ""
}
......@@ -55,6 +55,8 @@ class YHAllApiName {
static let deleteFamilyMemberApi = "infoflow/family/delete"
// 提交家庭成员信息
static let submitAllFamilyInfoApi = "infoflow/family/submit"
// 某个家庭成员性情
static let familyInfoDetailApi = "infoflow/information/member"
}
struct Education {
......
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