Commit c995226c authored by Steven杜宇's avatar Steven杜宇

// 配偶初始信息

parent f3c50fea
......@@ -17,7 +17,7 @@ class YHTwoOptionAlertView: UIView {
var rightButton: UIButton!
var leftButton: UIButton!
static func showAlertView(message:String?,leftBtnTitle:String? = "取消".local, rightBtnTitle:String? = "确认".local, callBack: @escaping Block) {
static func showAlertView(message:String?,leftBtnTitle:String? = "取消".local, rightBtnTitle:String? = "确认".local, callBack: @escaping Block) {
let view = YHTwoOptionAlertView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: KScreenHeight))
view.messageLabel.text = message
......
......@@ -70,8 +70,11 @@ class YHFamilyMemberFormVC: YHBaseViewController {
self.gk_navTitle = "家庭成员信息填写".local
view.backgroundColor = UIColor(hexString:"#F8F8F8")
createUI()
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
requestFamilyInfo()
}
init(orderId: Int) {
......@@ -208,7 +211,7 @@ extension YHFamilyMemberFormVC {
"not_fill_num":"",
"follow":0]]
self.familyRequest.addFamilyMember(params: dict) { [weak self] success, error in
self.familyRequest.addOrSaveFamilyMember(params: dict) { [weak self] success, error in
guard let self = self else { return }
if success {
self.requestFamilyInfo()
......@@ -220,9 +223,7 @@ extension YHFamilyMemberFormVC {
func deleteFamilyMember(orderId:Int, memberId:Int, callBack:((Bool)->Void)?) {
if orderId > 0 && memberId > 0 {
let dict = ["id":memberId, "orderId": orderId]
self.familyRequest.deleteFamilyMember(params: dict) { [weak self] success, error in
guard let self = self else { return }
self.familyRequest.deleteFamilyMember(params: dict) { success, error in
if let callBack = callBack {
callBack(success)
}
......@@ -435,18 +436,20 @@ extension YHFamilyMemberFormVC : UITableViewDelegate, UITableViewDataSource {
if item is YHFamilyMember {
let detailItem = item as! YHFamilyMember
// 父母
if detailItem.relationType == .father || detailItem.relationType == .mother {
let vc = YHParentInfoVC()
vc.parentInfo = detailItem
self.navigationController?.pushViewController(vc)
return
}
// 配偶
if detailItem.relationType == .spouse {
let vc = YHSpouseInfoVC()
vc.spouse = detailItem
vc.orderId = orderId
self.navigationController?.pushViewController(vc)
return
}
// 父母
if detailItem.relationType == .father || detailItem.relationType == .mother {
let vc = YHParentInfoVC()
vc.parentInfo = detailItem
self.navigationController?.pushViewController(vc)
return
}
......
......@@ -8,7 +8,17 @@
import UIKit
class YHSpouseInfoVC: YHBaseViewController {
@objc protocol YHSpouseInfoVCProtocol {
@objc optional func updateStepView()
}
class YHSpouseInfoVC: YHBaseViewController, YHSpouseInfoVCProtocol {
let familyRequest:YHFamilyRequestViewModel = YHFamilyRequestViewModel()
var orderId:Int = 0
var spouse:YHFamilyMember? {
didSet {
......@@ -19,8 +29,9 @@ class YHSpouseInfoVC: YHBaseViewController {
}
var currentIndex = 0 {
didSet {
currentIndex %= 4
currentIndex %= self.children.count
stepView.currentIndex = currentIndex
for (i, vc) in self.children.enumerated() {
vc.view.isHidden = (currentIndex != i)
......@@ -33,11 +44,6 @@ class YHSpouseInfoVC: YHBaseViewController {
var stepView:YHStepView = {
let step = YHStepView()
step.dataSource = ["初始信息", "证件上传", "基本信息", "证件信息"]
step.block = { (index) in
// guard let self = self else { return }
}
return step
}()
......@@ -56,16 +62,13 @@ class YHSpouseInfoVC: YHBaseViewController {
}
func createUI() {
self.addChild(initalInfoVC)
self.addChild(uploadVC)
self.addChild(passportInfoVC)
self.addChild(basicInfoVC)
self.view.addSubview(basicInfoVC.view)
self.view.addSubview(passportInfoVC.view)
self.view.addSubview(uploadVC.view)
self.view.addSubview(initalInfoVC.view)
guard let spouse = spouse else { return }
initalInfoVC.delegate = self
updateStepView()
currentIndex = 0
......@@ -81,7 +84,7 @@ class YHSpouseInfoVC: YHBaseViewController {
bottomView.saveBlock = {
[weak self] in
guard let self = self else { return }
self.didClickSaveBtn()
self.save()
}
stepView.snp.makeConstraints { make in
......@@ -102,7 +105,71 @@ class YHSpouseInfoVC: YHBaseViewController {
}
func didClickSaveBtn() {
func updateStepView() {
guard let spouse = spouse else { return }
for vc in self.children {
vc.willMove(toParent: nil)
vc.removeFromParent()
}
if spouse.isFollow() {
self.addChild(initalInfoVC)
self.addChild(uploadVC)
self.addChild(passportInfoVC)
self.addChild(basicInfoVC)
self.view.addSubview(basicInfoVC.view)
self.view.addSubview(passportInfoVC.view)
self.view.addSubview(uploadVC.view)
self.view.addSubview(initalInfoVC.view)
stepView.dataSource = ["初始信息".local, "证件上传".local, "基本信息".local, "证件信息".local]
stepView.block = {[weak self] (index) in
guard let self = self else { return }
print("follow:%d", self.orderId)
}
} else {
self.addChild(initalInfoVC)
self.addChild(basicInfoVC)
self.view.addSubview(basicInfoVC.view)
self.view.addSubview(initalInfoVC.view)
stepView.dataSource = ["初始信息".local, "证件信息".local]
stepView.block = {[weak self] (index) in
guard let self = self else { return }
print("follow:%d", self.orderId)
}
}
self.view.bringSubviewToFront(stepView)
}
}
extension YHSpouseInfoVC {
func save() {
guard let spouse = spouse else { return }
guard let info = spouse.toDictionary() else { return }
let follow = spouse.follow
let dict:[String: Any] = ["orderId":self.orderId,
"relation":spouse.relationType.rawValue,
"step":spouse.step,
"next":false,
"info":info]
self.familyRequest.addOrSaveFamilyMember(params:dict) { [weak self] success, error in
guard let self = self else { return }
if success {
}
}
}
}
......@@ -12,6 +12,7 @@ import SmartCodable
class YHSpouseInitialInfoVC: YHBaseViewController {
var spouse:YHFamilyMember?
weak var delegate:YHSpouseInfoVCProtocol?
lazy var items:[[YHFormItemProtocol]] = [[YHFormItemProtocol]]()
......@@ -56,7 +57,7 @@ class YHSpouseInitialInfoVC: YHBaseViewController {
// 随行
let title0 = YHFormTitleItem(type: .accompany)
let item0 = YHFormDetailItem(type: .isAccompanyToHK)
item0.value = String(spouse.follow == 1)
item0.value = String(spouse.isFollow())
let arr0:[YHFormItemProtocol] = [title0, item0]
items.append(arr0)
......@@ -153,6 +154,7 @@ extension YHSpouseInitialInfoVC : UITableViewDelegate, UITableViewDataSource {
let detailItem = item as! YHFormDetailItem
// 是否随行到香港 / 是否办理港澳通行证 / // 是否与主申请人同住 均用双项按钮cell
if detailItem.type == .isAccompanyToHK || detailItem.type == .isHandleHKPassPort || detailItem.type == .isLiveTother {
let cell = tableView.dequeueReusableCell(withIdentifier: YHFormItemDoubleChoiceCell.cellReuseIdentifier, for: indexPath) as! YHFormItemDoubleChoiceCell
......@@ -175,6 +177,9 @@ extension YHSpouseInitialInfoVC : UITableViewDelegate, UITableViewDataSource {
self?.spouse?.setFollow(option)
self?.loadSponseInfo()
if let delegate = self?.delegate {
delegate.updateStepView?()
}
} else if detailItem.type == .isHandleHKPassPort { // 是否办理港澳通行证
self?.spouse?.setNeedHandleHKPassPort(option)
......@@ -188,6 +193,7 @@ extension YHSpouseInitialInfoVC : UITableViewDelegate, UITableViewDataSource {
self?.spouse?.address?.area = nil
}
self?.loadSponseInfo()
}
}
return cell
......@@ -286,30 +292,32 @@ extension YHSpouseInitialInfoVC : UITableViewDelegate, UITableViewDataSource {
if item is YHFormDetailItem {
let detailItem = item as! YHFormDetailItem
// 选国籍/现居住城市/详细地址
if detailItem.type == .nationOrArea {
// YHSelectCountryViewController
} else if detailItem.type == .liveCity {
if detailItem.type == .nationOrArea ||
detailItem.type == .liveCity ||
detailItem.type == .detailAddress
{
YHFormPickerView.show(type:.certificate, selectType: .certificate(.passport)) { [weak self] selectType in
let res = selectType.title
if let self = self {
if detailItem.type == .nationOrArea {
let title = arr[0] as! YHFormTitleItem
if title.type == .liveInfo {
self.spouse?.address?.country = res
} else if title.type == .country {
self.spouse?.nationality = res
}
} else if detailItem.type == .liveCity {
self.spouse?.address?.area = [res, res]
} else if detailItem.type == .detailAddress {
self.spouse?.address?.details = res
}
self.loadSponseInfo()
}
}
// YHFormPickerView.show(type:.certificate, selectType: .certificate(.passport)) { [weak self] selectType in
// let res = selectType.title
// if let self = self {
// if detailItem.type == .nationOrArea {
// let title = arr[0] as! YHFormTitleItem
// if title.type == .liveInfo {
// self.spouse?.address?.country = res
// } else if title.type == .country {
// self.spouse?.nationality = res
// }
//
// } else if detailItem.type == .liveCity {
// self.spouse?.address?.area = [res, res]
// }
// self.loadSponseInfo()
// }
// }
} else if detailItem.type == .detailAddress {
// self.spouse?.address?.details = res
}
}
}
......
......@@ -43,7 +43,7 @@ class YHFamilyRequestViewModel {
}
// 添加家庭成员
func addFamilyMember(params:[String:Any], callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
func addOrSaveFamilyMember(params:[String:Any], callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
YHHUD.show(.progress(message: "数据加载中..."))
......@@ -76,9 +76,8 @@ class YHFamilyRequestViewModel {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Order.familyMemberDeleteApi
let _ = YHNetRequest.postRequest(url: strUrl, params:params) {[weak self] json, code in
let _ = YHNetRequest.postRequest(url: strUrl, params:params) { json, code in
YHHUD.hide()
guard let self = self else { return }
guard let model = NetBaseModel.deserialize(dict: json) else {
let error : YHErrorModel = YHErrorModel(errorCode:YHErrorCode.dictParseError.rawValue,errorMsg: YHErrorCode.dictParseError.description())
callBackBlock(false,error)
......
......@@ -55,6 +55,7 @@ class YHStepView: UIScrollView {
}
func setUpView(_ array: [String]) {
self.removeSubviews()
for i in 0 ..< array.count {
let button = UIButton(type: .custom)
button.setBackgroundImage(UIImage(named: "service_step_fail"), for: .normal)
......
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