Commit 9027ed0f authored by David黄金龙's avatar David黄金龙

Merge branch 'develop' of http://gitlab.galaxy-immi.com/mobile-group/galaxy-iOS into develop

* 'develop' of http://gitlab.galaxy-immi.com/mobile-group/galaxy-iOS:
  // 子女信息
parents 47806151 b55ff4e8
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
import UIKit import UIKit
class YHChildBasicInfoVC: YHBaseViewController { class YHChildBasicInfoVC: YHBaseViewController, YHFamilyMemberProtol {
var child:YHFamilyMember? var child:YHFamilyMember?
weak var delegate:YHSpouseInfoVCProtocol? weak var delegate:YHSpouseInfoVCProtocol?
...@@ -539,3 +539,10 @@ extension YHChildBasicInfoVC : UITableViewDelegate, UITableViewDataSource { ...@@ -539,3 +539,10 @@ extension YHChildBasicInfoVC : UITableViewDelegate, UITableViewDataSource {
} }
} }
extension YHChildBasicInfoVC {
func nextStep()->Bool {
return true
}
}
...@@ -22,21 +22,21 @@ class YHChildInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol { ...@@ -22,21 +22,21 @@ class YHChildInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol {
var child:YHFamilyMember? { var child:YHFamilyMember? {
didSet { didSet {
initalInfoVC.child = child primaryInfoVC.child = child
certificateVC.familyMember = child certificateVC.familyMember = child
basicInfoVC.child = child basicInfoVC.child = child
} }
} }
var stepVCs:[YHFaimilyStepItem] = []
var currentIndex = 0 { var currentStep = 0 {
didSet { didSet {
currentIndex %= self.children.count
stepView.currentIndex = currentIndex let index = getArrayIndexOfCurrentStep()
for (i, vc) in self.children.enumerated() { if let index = index {
vc.view.isHidden = (currentIndex != i) stepView.currentIndex = index
if currentIndex == i { }
for vcItem in stepVCs {
} vcItem.vc.view.isHidden = (vcItem.step != currentStep)
} }
} }
} }
...@@ -50,8 +50,8 @@ class YHChildInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol { ...@@ -50,8 +50,8 @@ class YHChildInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol {
return YHSaveAndSubmitView.createView() return YHSaveAndSubmitView.createView()
}() }()
let initalInfoVC = YHChildPrimaryInfoVC() let primaryInfoVC = YHChildPrimaryInfoVC()
let uploadVC = UIViewController() let uploadVC = YHCertificateUploadVC()
let certificateVC = YHCertificateInfoController() let certificateVC = YHCertificateInfoController()
let basicInfoVC = YHChildBasicInfoVC() let basicInfoVC = YHChildBasicInfoVC()
...@@ -62,15 +62,15 @@ class YHChildInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol { ...@@ -62,15 +62,15 @@ class YHChildInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol {
func createUI() { func createUI() {
guard child != nil else { return } guard let child = child else { return }
initalInfoVC.delegate = self primaryInfoVC.delegate = self
certificateVC.delegate = self certificateVC.delegate = self
basicInfoVC.delegate = self basicInfoVC.delegate = self
updateStepView() updateStepView()
print("step:\(child.step)")
currentIndex = 0 currentStep = child.step
view.addSubview(stepView) view.addSubview(stepView)
view.addSubview(bottomView) view.addSubview(bottomView)
...@@ -78,7 +78,7 @@ class YHChildInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol { ...@@ -78,7 +78,7 @@ class YHChildInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol {
bottomView.submitBlock = { bottomView.submitBlock = {
[weak self] in [weak self] in
guard let self = self else { return } guard let self = self else { return }
self.didClickSubmitBtn() submit()
} }
bottomView.saveBlock = { bottomView.saveBlock = {
...@@ -100,11 +100,6 @@ class YHChildInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol { ...@@ -100,11 +100,6 @@ class YHChildInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol {
} }
} }
func didClickSubmitBtn() {
currentIndex += 1;
}
func updateStepView() { func updateStepView() {
guard let child = child else { return } guard let child = child else { return }
...@@ -114,42 +109,87 @@ class YHChildInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol { ...@@ -114,42 +109,87 @@ class YHChildInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol {
vc.removeFromParent() vc.removeFromParent()
} }
print(self.children)
if child.isFollow() { if child.isFollow() {
self.addChild(initalInfoVC) stepVCs = [ YHFaimilyStepItem(title:"初始信息".local, vc:primaryInfoVC, step:0),
self.addChild(uploadVC) YHFaimilyStepItem(title:"证件上传".local, vc:uploadVC, step:1),
self.addChild(certificateVC) YHFaimilyStepItem(title:"证件信息".local, vc:certificateVC, step:2),
self.addChild(basicInfoVC) YHFaimilyStepItem(title:"基本信息".local, vc:basicInfoVC, step:3)]
self.view.addSubview(basicInfoVC.view)
self.view.addSubview(certificateVC.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 { } else {
self.addChild(initalInfoVC)
self.addChild(basicInfoVC)
self.view.addSubview(basicInfoVC.view) stepVCs = [ YHFaimilyStepItem(title:"初始信息".local, vc:primaryInfoVC, step:0),
self.view.addSubview(initalInfoVC.view) YHFaimilyStepItem(title:"基本信息".local, vc:basicInfoVC, step:3)]
}
stepView.dataSource = ["初始信息".local, "基本信息".local]
stepView.block = {[weak self] (index) in var titles:[String] = []
guard let self = self else { return } for vcItem in stepVCs {
print("follow:%d", self.orderId) self.addChild(vcItem.vc)
self.view.addSubview(vcItem.vc.view)
titles.append(vcItem.title)
}
stepView.dataSource = titles
stepView.block = {
[weak self] index in
guard let self = self else { return }
if let targetStep = getStepForArrayIndex(index) {
currentStep = targetStep
} }
print("index:\(index)")
} }
self.view.bringSubviewToFront(stepView) self.view.bringSubviewToFront(stepView)
self.view.bringSubviewToFront(bottomView) self.view.bringSubviewToFront(bottomView)
} }
func submit() {
if let targetVC = getCurrentStepViewController() {
if targetVC.nextStep() {
// 当前步骤已是最后一步
if let vc = stepVCs.last, vc.step == currentStep {
YHHUD.flash(message: "已经是最后一步!")
return
}
if let cur = getArrayIndexOfCurrentStep(), let item = stepVCs[safe:cur+1] {
currentStep = item.step
}
print("currentIndex:\(currentStep)")
}
}
}
// 【WARNING!】步骤step和在数组中的下标有时候并不是一一对应
func getArrayIndexOfCurrentStep() ->Int? {
for (i, item) in stepVCs.enumerated() {
if item.step == currentStep {
return i
}
}
return nil
}
// 【WARNING!】步骤step和在数组中的下标有时候并不是一一对应
func getStepForArrayIndex(_ index:Int) -> Int? {
if let targetVCItem = stepVCs[safe: index] {
return targetVCItem.step
}
return nil
}
func getCurrentStepViewController() -> (UIViewController & YHFamilyMemberProtol)? {
for vcItem in stepVCs {
if vcItem.step == currentStep {
return vcItem.vc
}
}
return nil
}
} }
extension YHChildInfoContainerVC { extension YHChildInfoContainerVC {
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
import UIKit import UIKit
class YHChildPrimaryInfoVC: YHBaseViewController { class YHChildPrimaryInfoVC: YHBaseViewController, YHFamilyMemberProtol {
var child:YHFamilyMember? var child:YHFamilyMember?
weak var delegate:YHSpouseInfoVCProtocol? weak var delegate:YHSpouseInfoVCProtocol?
...@@ -437,5 +437,38 @@ extension YHChildPrimaryInfoVC : UITableViewDelegate, UITableViewDataSource { ...@@ -437,5 +437,38 @@ extension YHChildPrimaryInfoVC : UITableViewDelegate, UITableViewDataSource {
} }
} }
extension YHChildPrimaryInfoVC {
// 检查填写信息完整性
func checkIntegrity() -> Bool {
guard let child = child else { return false}
if !child.isFollow() {
if isEmptyString(child.birthday) {
return false
}
return true
}
if isEmptyString(child.nationality) {
return false
}
if isEmptyString(child.address?.country) {
return false
}
if isEmptyString(child.address?.details) {
return false
}
if child.isBirthOverSeas(), isEmptyArray(child.address?.area) {
return false
}
return true
}
func nextStep()->Bool {
return true
}
}
...@@ -50,7 +50,10 @@ class YHSpouseInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol { ...@@ -50,7 +50,10 @@ class YHSpouseInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol {
var currentStep = 0 { var currentStep = 0 {
didSet { didSet {
stepView.currentIndex = currentStep let index = getArrayIndexOfCurrentStep()
if let index = index {
stepView.currentIndex = index
}
for vcItem in stepVCs { for vcItem in stepVCs {
vcItem.vc.view.isHidden = (vcItem.step != currentStep) vcItem.vc.view.isHidden = (vcItem.step != currentStep)
} }
...@@ -88,6 +91,8 @@ class YHSpouseInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol { ...@@ -88,6 +91,8 @@ class YHSpouseInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol {
view.addSubview(bottomView) view.addSubview(bottomView)
updateStepView() updateStepView()
print("step:\(spouse.step)")
currentStep = spouse.step
let tap = UITapGestureRecognizer(target: self, action: #selector(tap)) let tap = UITapGestureRecognizer(target: self, action: #selector(tap))
tap.cancelsTouchesInView = false tap.cancelsTouchesInView = false
...@@ -148,10 +153,8 @@ class YHSpouseInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol { ...@@ -148,10 +153,8 @@ class YHSpouseInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol {
self.view.addSubview(vcItem.vc.view) self.view.addSubview(vcItem.vc.view)
titles.append(vcItem.title) titles.append(vcItem.title)
} }
stepView.dataSource = titles
print("step:\(spouse.step)") stepView.dataSource = titles
currentStep = spouse.step
stepView.block = { stepView.block = {
[weak self] index in [weak self] index in
...@@ -161,7 +164,8 @@ class YHSpouseInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol { ...@@ -161,7 +164,8 @@ class YHSpouseInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol {
} }
print("index:\(index)") print("index:\(index)")
} }
let step = currentStep
currentStep = step
self.view.bringSubviewToFront(stepView) self.view.bringSubviewToFront(stepView)
self.view.bringSubviewToFront(bottomView) self.view.bringSubviewToFront(bottomView)
......
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