Commit da0981c1 authored by pete谢兆麟's avatar pete谢兆麟

Merge commit '87795154' into xiezhaolin

parents b2c4ad51 87795154
...@@ -162,6 +162,11 @@ ...@@ -162,6 +162,11 @@
A5234E372B70802400A33433 /* YHBasicInfoCellModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5234E362B70802300A33433 /* YHBasicInfoCellModel.swift */; }; A5234E372B70802400A33433 /* YHBasicInfoCellModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5234E362B70802300A33433 /* YHBasicInfoCellModel.swift */; };
A5234E3E2B7235F000A33433 /* YHOtherInfoFillViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5234E3D2B7235F000A33433 /* YHOtherInfoFillViewController.swift */; }; A5234E3E2B7235F000A33433 /* YHOtherInfoFillViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5234E3D2B7235F000A33433 /* YHOtherInfoFillViewController.swift */; };
A53026902B4E6F2700F35102 /* YHHomeCustomCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A530268F2B4E6F2700F35102 /* YHHomeCustomCell.swift */; }; A53026902B4E6F2700F35102 /* YHHomeCustomCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A530268F2B4E6F2700F35102 /* YHHomeCustomCell.swift */; };
A554A5002B95FB9100EA5973 /* YHMainInfoPreviewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A554A4FF2B95FB9100EA5973 /* YHMainInfoPreviewModel.swift */; };
A554A5022B96B9BC00EA5973 /* YHAcademicPreviewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A554A5012B96B9BC00EA5973 /* YHAcademicPreviewModel.swift */; };
A554A5042B96D04100EA5973 /* YHPreviewWorkExpViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A554A5032B96D04100EA5973 /* YHPreviewWorkExpViewController.swift */; };
A554A5062B96D17B00EA5973 /* YHWorkExpInfoPreviewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A554A5052B96D17B00EA5973 /* YHWorkExpInfoPreviewModel.swift */; };
A554A5082B96F55900EA5973 /* YHWorkExpDataModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A554A5072B96F55900EA5973 /* YHWorkExpDataModel.swift */; };
A5551FFE2B4C26CE00510980 /* YHBaseViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5551FFD2B4C26CE00510980 /* YHBaseViewModel.swift */; }; A5551FFE2B4C26CE00510980 /* YHBaseViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5551FFD2B4C26CE00510980 /* YHBaseViewModel.swift */; };
A5573ED22B317BFF00D98EC0 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5573ED12B317BFF00D98EC0 /* AppDelegate.swift */; }; A5573ED22B317BFF00D98EC0 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5573ED12B317BFF00D98EC0 /* AppDelegate.swift */; };
A5573EDB2B317C0000D98EC0 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A5573EDA2B317C0000D98EC0 /* Assets.xcassets */; }; A5573EDB2B317C0000D98EC0 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A5573EDA2B317C0000D98EC0 /* Assets.xcassets */; };
...@@ -472,6 +477,11 @@ ...@@ -472,6 +477,11 @@
A5234E362B70802300A33433 /* YHBasicInfoCellModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHBasicInfoCellModel.swift; sourceTree = "<group>"; }; A5234E362B70802300A33433 /* YHBasicInfoCellModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHBasicInfoCellModel.swift; sourceTree = "<group>"; };
A5234E3D2B7235F000A33433 /* YHOtherInfoFillViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHOtherInfoFillViewController.swift; sourceTree = "<group>"; }; A5234E3D2B7235F000A33433 /* YHOtherInfoFillViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHOtherInfoFillViewController.swift; sourceTree = "<group>"; };
A530268F2B4E6F2700F35102 /* YHHomeCustomCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHHomeCustomCell.swift; sourceTree = "<group>"; }; A530268F2B4E6F2700F35102 /* YHHomeCustomCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHHomeCustomCell.swift; sourceTree = "<group>"; };
A554A4FF2B95FB9100EA5973 /* YHMainInfoPreviewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMainInfoPreviewModel.swift; sourceTree = "<group>"; };
A554A5012B96B9BC00EA5973 /* YHAcademicPreviewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHAcademicPreviewModel.swift; sourceTree = "<group>"; };
A554A5032B96D04100EA5973 /* YHPreviewWorkExpViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHPreviewWorkExpViewController.swift; sourceTree = "<group>"; };
A554A5052B96D17B00EA5973 /* YHWorkExpInfoPreviewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHWorkExpInfoPreviewModel.swift; sourceTree = "<group>"; };
A554A5072B96F55900EA5973 /* YHWorkExpDataModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHWorkExpDataModel.swift; sourceTree = "<group>"; };
A5551FFD2B4C26CE00510980 /* YHBaseViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHBaseViewModel.swift; sourceTree = "<group>"; }; A5551FFD2B4C26CE00510980 /* YHBaseViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHBaseViewModel.swift; sourceTree = "<group>"; };
A5573ECE2B317BFF00D98EC0 /* galaxy.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = galaxy.app; sourceTree = BUILT_PRODUCTS_DIR; }; A5573ECE2B317BFF00D98EC0 /* galaxy.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = galaxy.app; sourceTree = BUILT_PRODUCTS_DIR; };
A5573ED12B317BFF00D98EC0 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; }; A5573ED12B317BFF00D98EC0 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
...@@ -670,8 +680,8 @@ ...@@ -670,8 +680,8 @@
041B52962B5E8E3B007EBCEB /* C */ = { 041B52962B5E8E3B007EBCEB /* C */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
04C8F4812B720DCD00ADF59B /* Child(子女) */,
04C8F4802B720DAB00ADF59B /* Spouse(配偶) */, 04C8F4802B720DAB00ADF59B /* Spouse(配偶) */,
04C8F4812B720DCD00ADF59B /* Child(子女) */,
041B52972B5E8EA0007EBCEB /* YHFamilyMemberInfoVC.swift */, 041B52972B5E8EA0007EBCEB /* YHFamilyMemberInfoVC.swift */,
042FBBBA2B62806D00F9DE23 /* YHCertificateInfoController.swift */, 042FBBBA2B62806D00F9DE23 /* YHCertificateInfoController.swift */,
0413A6D72B8C76290006D154 /* YHCertificateUploadVC.swift */, 0413A6D72B8C76290006D154 /* YHCertificateUploadVC.swift */,
...@@ -1065,6 +1075,10 @@ ...@@ -1065,6 +1075,10 @@
A5FD63F92B68D95700D1D9DA /* YHPersonInfoIdentityCardModel.swift */, A5FD63F92B68D95700D1D9DA /* YHPersonInfoIdentityCardModel.swift */,
A5191F612B89E748001069F7 /* YHPreviewQuestionAndAnswerModel.swift */, A5191F612B89E748001069F7 /* YHPreviewQuestionAndAnswerModel.swift */,
A5B4A5842B9455F7003EFF8F /* YHPreviewForOtherInfoModel.swift */, A5B4A5842B9455F7003EFF8F /* YHPreviewForOtherInfoModel.swift */,
A554A4FF2B95FB9100EA5973 /* YHMainInfoPreviewModel.swift */,
A554A5012B96B9BC00EA5973 /* YHAcademicPreviewModel.swift */,
A554A5052B96D17B00EA5973 /* YHWorkExpInfoPreviewModel.swift */,
A554A5072B96F55900EA5973 /* YHWorkExpDataModel.swift */,
); );
path = M; path = M;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -1092,6 +1106,7 @@ ...@@ -1092,6 +1106,7 @@
A5FD63E32B678AC000D1D9DA /* YHPreviewMainViewController.swift */, A5FD63E32B678AC000D1D9DA /* YHPreviewMainViewController.swift */,
A5FD63E52B67908000D1D9DA /* YHPreviewControllerHoldViewController.swift */, A5FD63E52B67908000D1D9DA /* YHPreviewControllerHoldViewController.swift */,
A5167B322B6A3A2D0084C08F /* YHPreviewBaseViewController.swift */, A5167B322B6A3A2D0084C08F /* YHPreviewBaseViewController.swift */,
A554A5032B96D04100EA5973 /* YHPreviewWorkExpViewController.swift */,
A5FD63E72B67D8EA00D1D9DA /* YHPreviewMainApplicantInfoViewController.swift */, A5FD63E72B67D8EA00D1D9DA /* YHPreviewMainApplicantInfoViewController.swift */,
A5FD63E92B67D95100D1D9DA /* YHPreviewFamilyMemberViewController.swift */, A5FD63E92B67D95100D1D9DA /* YHPreviewFamilyMemberViewController.swift */,
A5191F632B89E926001069F7 /* YHPreviewOtherInformationViewController.swift */, A5191F632B89E926001069F7 /* YHPreviewOtherInformationViewController.swift */,
...@@ -1796,6 +1811,7 @@ ...@@ -1796,6 +1811,7 @@
0468D4532B6782BE00CFB916 /* YHCardExampleView.swift in Sources */, 0468D4532B6782BE00CFB916 /* YHCardExampleView.swift in Sources */,
044CC62B2B876A230083FF76 /* YHSheetPickerView.swift in Sources */, 044CC62B2B876A230083FF76 /* YHSheetPickerView.swift in Sources */,
A596C3A12B84D9100067BBB8 /* YHOtherTextViewItemView.swift in Sources */, A596C3A12B84D9100067BBB8 /* YHOtherTextViewItemView.swift in Sources */,
A554A5022B96B9BC00EA5973 /* YHAcademicPreviewModel.swift in Sources */,
04010B952B6A1DE90093F3BB /* YHSaveAndSubmitView.swift in Sources */, 04010B952B6A1DE90093F3BB /* YHSaveAndSubmitView.swift in Sources */,
A5ACE9362B4564F7002C94D2 /* YHNetworkStatusManager.swift in Sources */, A5ACE9362B4564F7002C94D2 /* YHNetworkStatusManager.swift in Sources */,
A5ACE92C2B4564F7002C94D2 /* YHLoginStyleButton.swift in Sources */, A5ACE92C2B4564F7002C94D2 /* YHLoginStyleButton.swift in Sources */,
...@@ -1830,6 +1846,7 @@ ...@@ -1830,6 +1846,7 @@
0413A6D82B8C76290006D154 /* YHCertificateUploadVC.swift in Sources */, 0413A6D82B8C76290006D154 /* YHCertificateUploadVC.swift in Sources */,
A5ACE93A2B4564F7002C94D2 /* NSAttributedString+Extension.swift in Sources */, A5ACE93A2B4564F7002C94D2 /* NSAttributedString+Extension.swift in Sources */,
04E86E662B86EB6F00A35F4B /* YHLoginManager.swift in Sources */, 04E86E662B86EB6F00A35F4B /* YHLoginManager.swift in Sources */,
A554A5002B95FB9100EA5973 /* YHMainInfoPreviewModel.swift in Sources */,
042F888B2B8477C6008B60BD /* YHEducationInfo.swift in Sources */, 042F888B2B8477C6008B60BD /* YHEducationInfo.swift in Sources */,
04AF58C42B4FC51C0066011A /* YHLocalizable.swift in Sources */, 04AF58C42B4FC51C0066011A /* YHLocalizable.swift in Sources */,
042FBBBF2B639F0300F9DE23 /* YHSpouseBasicInfoVC.swift in Sources */, 042FBBBF2B639F0300F9DE23 /* YHSpouseBasicInfoVC.swift in Sources */,
...@@ -1865,6 +1882,7 @@ ...@@ -1865,6 +1882,7 @@
A5234E332B6F9CB700A33433 /* YHBasicInfoFillModel.swift in Sources */, A5234E332B6F9CB700A33433 /* YHBasicInfoFillModel.swift in Sources */,
A5551FFE2B4C26CE00510980 /* YHBaseViewModel.swift in Sources */, A5551FFE2B4C26CE00510980 /* YHBaseViewModel.swift in Sources */,
A596C39F2B84D9100067BBB8 /* YHOtherResidenceFillView.swift in Sources */, A596C39F2B84D9100067BBB8 /* YHOtherResidenceFillView.swift in Sources */,
A554A5082B96F55900EA5973 /* YHWorkExpDataModel.swift in Sources */,
A5C5B2F92B5515CE00A7C5D1 /* YHPageContentView.swift in Sources */, A5C5B2F92B5515CE00A7C5D1 /* YHPageContentView.swift in Sources */,
A5C382CA2B5E1F4C00C5E65C /* YHLoginTipsView.swift in Sources */, A5C382CA2B5E1F4C00C5E65C /* YHLoginTipsView.swift in Sources */,
A5FD63F12B68963200D1D9DA /* YHPreviewInfoHoldView.swift in Sources */, A5FD63F12B68963200D1D9DA /* YHPreviewInfoHoldView.swift in Sources */,
...@@ -1952,6 +1970,7 @@ ...@@ -1952,6 +1970,7 @@
A5ACE9552B4564F7002C94D2 /* YHTabBarViewController.swift in Sources */, A5ACE9552B4564F7002C94D2 /* YHTabBarViewController.swift in Sources */,
04E86E6C2B87374600A35F4B /* YHCompanyModel.swift in Sources */, 04E86E6C2B87374600A35F4B /* YHCompanyModel.swift in Sources */,
A5167B332B6A3A2D0084C08F /* YHPreviewBaseViewController.swift in Sources */, A5167B332B6A3A2D0084C08F /* YHPreviewBaseViewController.swift in Sources */,
A554A5042B96D04100EA5973 /* YHPreviewWorkExpViewController.swift in Sources */,
A5C5B3122B57B47D00A7C5D1 /* YHDavidCell0.swift in Sources */, A5C5B3122B57B47D00A7C5D1 /* YHDavidCell0.swift in Sources */,
A5FD63FA2B68D95700D1D9DA /* YHPersonInfoIdentityCardModel.swift in Sources */, A5FD63FA2B68D95700D1D9DA /* YHPersonInfoIdentityCardModel.swift in Sources */,
A50AB89B2B81E96E00C227DE /* YHOtherInfoFillModel.swift in Sources */, A50AB89B2B81E96E00C227DE /* YHOtherInfoFillModel.swift in Sources */,
...@@ -2013,6 +2032,7 @@ ...@@ -2013,6 +2032,7 @@
A5C5B3292B57CCBE00A7C5D1 /* YHDavidCell4.swift in Sources */, A5C5B3292B57CCBE00A7C5D1 /* YHDavidCell4.swift in Sources */,
049A48A82B49417300D0C641 /* YHAboutUsViewController.swift in Sources */, 049A48A82B49417300D0C641 /* YHAboutUsViewController.swift in Sources */,
A5ACE9582B4564F7002C94D2 /* YHNoDataTipView.swift in Sources */, A5ACE9582B4564F7002C94D2 /* YHNoDataTipView.swift in Sources */,
A554A5062B96D17B00EA5973 /* YHWorkExpInfoPreviewModel.swift in Sources */,
04E86E592B84AD6200A35F4B /* YHWorkExampleViewController.swift in Sources */, 04E86E592B84AD6200A35F4B /* YHWorkExampleViewController.swift in Sources */,
042FBBBB2B62806D00F9DE23 /* YHCertificateInfoController.swift in Sources */, 042FBBBB2B62806D00F9DE23 /* YHCertificateInfoController.swift in Sources */,
044CC6272B8740340083FF76 /* YHCollegeNameCell.swift in Sources */, 044CC6272B8740340083FF76 /* YHCollegeNameCell.swift in Sources */,
......
...@@ -233,7 +233,7 @@ extension YHInformationPerfectListVC { ...@@ -233,7 +233,7 @@ extension YHInformationPerfectListVC {
make.height.equalTo(48) make.height.equalTo(48)
} }
submitBtn.layoutIfNeeded() submitBtn.layoutIfNeeded()
submitBtn.backgroundGradient() submitBtn.addYinHeGradualLayer()
submitBtn.isHidden = hasSubmitFlag submitBtn.isHidden = hasSubmitFlag
...@@ -285,7 +285,7 @@ extension YHInformationPerfectListVC { ...@@ -285,7 +285,7 @@ extension YHInformationPerfectListVC {
make.left.equalTo(submitHoldView.snp.centerX).offset(6) make.left.equalTo(submitHoldView.snp.centerX).offset(6)
} }
infoButton.layoutIfNeeded() infoButton.layoutIfNeeded()
infoButton.backgroundGradient() infoButton.addYinHeGradualLayer()
homeTableView.delegate = self homeTableView.delegate = self
homeTableView.dataSource = self homeTableView.dataSource = self
......
...@@ -179,8 +179,14 @@ extension YHServiceCenterMainViewController : UITableViewDelegate,UITableViewDat ...@@ -179,8 +179,14 @@ extension YHServiceCenterMainViewController : UITableViewDelegate,UITableViewDat
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.deselectRow(at: indexPath, animated: true) tableView.deselectRow(at: indexPath, animated: true)
printLog("点击了 tableView Cell \(indexPath.section)") printLog("点击了 tableView Cell \(indexPath.section)")
//获取订单号
let orderId = serviceCenterMainReqVM.arrContactList[indexPath.section].id
UserDefaults.standard.set(orderId, forKey: "orderIdForPreview")
UserDefaults.standard.synchronize()
let vc = YHServiceCenterSecondViewController() let vc = YHServiceCenterSecondViewController()
vc.orderId = serviceCenterMainReqVM.arrContactList[indexPath.section].id vc.orderId = orderId
self.navigationController?.pushViewController(vc) self.navigationController?.pushViewController(vc)
} }
} }
......
...@@ -167,6 +167,8 @@ extension YHServiceCenterSecondViewController : UITableViewDelegate,UITableViewD ...@@ -167,6 +167,8 @@ extension YHServiceCenterSecondViewController : UITableViewDelegate,UITableViewD
let model = self.serviceCenterMainReqVM.arrContactStausItmes[indexPath.row] let model = self.serviceCenterMainReqVM.arrContactStausItmes[indexPath.row]
if model.type == 1 { if model.type == 1 {
let vc = YHInformationPerfectListVC() let vc = YHInformationPerfectListVC()
vc.orderId = orderId vc.orderId = orderId
......
...@@ -72,7 +72,7 @@ private extension YHBasicInfoFillBottomView { ...@@ -72,7 +72,7 @@ private extension YHBasicInfoFillBottomView {
} }
nextButton.layoutIfNeeded() nextButton.layoutIfNeeded()
nextButton.backgroundGradient() nextButton.addYinHeGradualLayer()
} }
@objc func save() { @objc func save() {
......
...@@ -53,10 +53,10 @@ class YHChildBasicInfoVC: YHBaseViewController, YHFamilyMemberProtol { ...@@ -53,10 +53,10 @@ class YHChildBasicInfoVC: YHBaseViewController, YHFamilyMemberProtol {
let topHeight = k_Height_NavigationtBarAndStatuBar+YHStepView.height let topHeight = k_Height_NavigationtBarAndStatuBar+YHStepView.height
let bottomHeight = k_Height_safeAreaInsetsBottom() + YHSaveAndSubmitView.height let bottomHeight = k_Height_safeAreaInsetsBottom() + YHSaveAndSubmitView.height
tableView.snp.makeConstraints { make in tableView.snp.makeConstraints { make in
make.top.equalToSuperview().offset(topHeight) make.top.equalToSuperview()
make.left.equalToSuperview().offset(16) make.left.equalToSuperview().offset(16)
make.right.equalToSuperview().offset(-16) make.right.equalToSuperview().offset(-16)
make.bottom.equalToSuperview().offset(-bottomHeight) make.height.equalTo(KScreenHeight-topHeight-bottomHeight)
} }
} }
...@@ -73,12 +73,10 @@ class YHChildBasicInfoVC: YHBaseViewController, YHFamilyMemberProtol { ...@@ -73,12 +73,10 @@ class YHChildBasicInfoVC: YHBaseViewController, YHFamilyMemberProtol {
item00.tips = "请输入子女姓名".local item00.tips = "请输入子女姓名".local
let item01 = YHFormDetailItem(type: .everName, isNeed: false) let item01 = YHFormDetailItem(type: .everName, isNeed: false)
item01.value = child.usedName item01.value = child.usedName
item01.tips = "请输入曾用名".local
item01.placeHolder = "请输入曾用名".local item01.placeHolder = "请输入曾用名".local
let item02 = YHFormDetailItem(type: .befourMarryFirstName, isNeed: false) let item02 = YHFormDetailItem(type: .befourMarryFirstName, isNeed: false)
item02.value = child.surname item02.value = child.surname
item02.placeHolder = "请输入婚前姓氏".local item02.placeHolder = "请输入婚前姓氏".local
item02.tips = "请输入婚前姓氏".local
let item03 = YHFormDetailItem(type: .gender) let item03 = YHFormDetailItem(type: .gender)
item03.value = child.sexName() item03.value = child.sexName()
item03.tips = "请选择性别".local item03.tips = "请选择性别".local
......
...@@ -29,13 +29,28 @@ class YHChildInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol { ...@@ -29,13 +29,28 @@ class YHChildInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol {
} }
} }
var stepVCs:[YHFaimilyStepItem] = [] var stepVCs:[YHFaimilyStepItem] = []
var currentStep = 0 {
didSet { var _currentStep = 0
var currentStep:Int {
get {
return _currentStep
}
set {
if let child = child, !child.isFollow(), newValue > 0 {
_currentStep = 3
} else {
_currentStep = newValue
}
let index = getArrayIndexOfCurrentStep() let index = getArrayIndexOfCurrentStep()
if let index = index { if let index = index {
stepView.currentIndex = index stepView.currentIndex = index
bottomView.changeRightBtnTitle(index == stepVCs.count-1 ? "提交".local : "下一步".local)
} }
for vcItem in stepVCs { for vcItem in stepVCs {
vcItem.vc.view.isHidden = (vcItem.step != currentStep) vcItem.vc.view.isHidden = (vcItem.step != currentStep)
if vcItem.step == currentStep { if vcItem.step == currentStep {
...@@ -54,7 +69,10 @@ class YHChildInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol { ...@@ -54,7 +69,10 @@ class YHChildInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol {
}() }()
var bottomView: YHSaveAndSubmitView = { var bottomView: YHSaveAndSubmitView = {
return YHSaveAndSubmitView.createView() let view = YHSaveAndSubmitView.createView()
view.changeRightBtnTitle("下一步")
return view
}() }()
let primaryInfoVC = YHChildPrimaryInfoVC() let primaryInfoVC = YHChildPrimaryInfoVC()
...@@ -79,7 +97,8 @@ class YHChildInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol { ...@@ -79,7 +97,8 @@ class YHChildInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol {
updateStepView() updateStepView()
print("step:\(child.step)") print("step:\(child.step)")
currentStep = child.step currentStep = child.step
stepView.maxIndex = child.step stepView.maxIndex = getArrayIndexOfCurrentStep() ?? stepVCs.count-1
view.addSubview(stepView) view.addSubview(stepView)
view.addSubview(bottomView) view.addSubview(bottomView)
...@@ -116,6 +135,7 @@ class YHChildInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol { ...@@ -116,6 +135,7 @@ class YHChildInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol {
for vc in self.children { for vc in self.children {
vc.willMove(toParent: nil) vc.willMove(toParent: nil)
vc.removeFromParent() vc.removeFromParent()
vc.view.removeFromSuperview()
} }
print(self.children) print(self.children)
...@@ -135,6 +155,9 @@ class YHChildInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol { ...@@ -135,6 +155,9 @@ class YHChildInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol {
var titles:[String] = [] var titles:[String] = []
for vcItem in stepVCs { for vcItem in stepVCs {
let topHeight = k_Height_NavigationtBarAndStatuBar+YHStepView.height
let bottomHeight = k_Height_safeAreaInsetsBottom() + YHSaveAndSubmitView.height
vcItem.vc.view.frame = CGRectMake(0, topHeight, KScreenWidth, KScreenHeight-topHeight-bottomHeight)
self.addChild(vcItem.vc) self.addChild(vcItem.vc)
self.view.addSubview(vcItem.vc.view) self.view.addSubview(vcItem.vc.view)
titles.append(vcItem.title) titles.append(vcItem.title)
...@@ -173,7 +196,10 @@ class YHChildInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol { ...@@ -173,7 +196,10 @@ class YHChildInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol {
if let cur = getArrayIndexOfCurrentStep(), let item = stepVCs[safe:cur+1] { if let cur = getArrayIndexOfCurrentStep(), let item = stepVCs[safe:cur+1] {
currentStep = item.step currentStep = item.step
} child?.step = item.step
if cur+1 > stepView.maxIndex {
stepView.maxIndex = cur+1
} }
print("currentIndex:\(currentStep)") print("currentIndex:\(currentStep)")
} }
} }
......
...@@ -119,10 +119,10 @@ class YHChildPrimaryInfoVC: YHBaseViewController, YHFamilyMemberProtol { ...@@ -119,10 +119,10 @@ class YHChildPrimaryInfoVC: YHBaseViewController, YHFamilyMemberProtol {
let topHeight = k_Height_NavigationtBarAndStatuBar+YHStepView.height let topHeight = k_Height_NavigationtBarAndStatuBar+YHStepView.height
let bottomHeight = k_Height_safeAreaInsetsBottom() + YHSaveAndSubmitView.height let bottomHeight = k_Height_safeAreaInsetsBottom() + YHSaveAndSubmitView.height
tableView.snp.makeConstraints { make in tableView.snp.makeConstraints { make in
make.top.equalToSuperview().offset(topHeight) make.top.equalToSuperview()
make.left.equalToSuperview().offset(16) make.left.equalToSuperview().offset(16)
make.right.equalToSuperview().offset(-16) make.right.equalToSuperview().offset(-16)
make.bottom.equalToSuperview().offset(-bottomHeight) make.height.equalTo(KScreenHeight-topHeight-bottomHeight)
} }
} }
...@@ -267,6 +267,14 @@ extension YHChildPrimaryInfoVC : UITableViewDelegate, UITableViewDataSource { ...@@ -267,6 +267,14 @@ extension YHChildPrimaryInfoVC : UITableViewDelegate, UITableViewDataSource {
cell.title = detailItem.getTitle() cell.title = detailItem.getTitle()
cell.text = detailItem.value cell.text = detailItem.value
cell.setTips(detailItem.tips, isShow:isNeedShowError && detailItem.isShowTips) cell.setTips(detailItem.tips, isShow:isNeedShowError && detailItem.isShowTips)
cell.textInputCondtion = {
text in
if let textStr = text {
let max = 100
text = textStr.count > max ? textStr[safe: ..<max] : textStr
}
return true
}
cell.textChange = { cell.textChange = {
[weak self] (text, isEditEnd) in [weak self] (text, isEditEnd) in
guard let self = self else { return } guard let self = self else { return }
......
...@@ -69,10 +69,10 @@ class YHSpouseBasicInfoVC: YHBaseViewController, YHFamilyMemberProtol { ...@@ -69,10 +69,10 @@ class YHSpouseBasicInfoVC: YHBaseViewController, YHFamilyMemberProtol {
let topHeight = k_Height_NavigationtBarAndStatuBar+YHStepView.height let topHeight = k_Height_NavigationtBarAndStatuBar+YHStepView.height
let bottomHeight = k_Height_safeAreaInsetsBottom() + YHSaveAndSubmitView.height let bottomHeight = k_Height_safeAreaInsetsBottom() + YHSaveAndSubmitView.height
tableView.snp.makeConstraints { make in tableView.snp.makeConstraints { make in
make.top.equalToSuperview().offset(topHeight) make.top.equalToSuperview()
make.left.equalToSuperview().offset(16) make.left.equalToSuperview().offset(16)
make.right.equalToSuperview().offset(-16) make.right.equalToSuperview().offset(-16)
make.bottom.equalToSuperview().offset(-bottomHeight) make.height.equalTo(KScreenHeight-topHeight-bottomHeight)
} }
} }
......
...@@ -49,13 +49,25 @@ class YHSpouseInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol { ...@@ -49,13 +49,25 @@ class YHSpouseInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol {
} }
} }
} }
var _currentStep = 0
var currentStep = 0 { var currentStep:Int {
didSet {
get {
return _currentStep
}
set {
if let spouse = spouse, !spouse.isFollow(), newValue > 0 {
_currentStep = 3
} else {
_currentStep = newValue
}
let index = getArrayIndexOfCurrentStep() let index = getArrayIndexOfCurrentStep()
if let index = index { if let index = index {
stepView.currentIndex = index stepView.currentIndex = index
bottomView.changeRightBtnTitle(index == stepVCs.count-1 ? "提交".local : "下一步".local)
} }
for vcItem in stepVCs { for vcItem in stepVCs {
vcItem.vc.view.isHidden = (vcItem.step != currentStep) vcItem.vc.view.isHidden = (vcItem.step != currentStep)
...@@ -105,7 +117,7 @@ class YHSpouseInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol { ...@@ -105,7 +117,7 @@ class YHSpouseInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol {
updateStepView() updateStepView()
print("step:\(spouse.step)") print("step:\(spouse.step)")
currentStep = spouse.step currentStep = spouse.step
stepView.maxIndex = spouse.step stepView.maxIndex = getArrayIndexOfCurrentStep() ?? stepVCs.count-1
bottomView.submitBlock = { bottomView.submitBlock = {
[weak self] in [weak self] in
...@@ -139,6 +151,7 @@ class YHSpouseInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol { ...@@ -139,6 +151,7 @@ class YHSpouseInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol {
for vc in self.children { for vc in self.children {
vc.willMove(toParent: nil) vc.willMove(toParent: nil)
vc.removeFromParent() vc.removeFromParent()
vc.view.removeFromSuperview()
} }
print(self.children) print(self.children)
...@@ -158,6 +171,9 @@ class YHSpouseInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol { ...@@ -158,6 +171,9 @@ class YHSpouseInfoContainerVC: YHBaseViewController, YHSpouseInfoVCProtocol {
var titles:[String] = [] var titles:[String] = []
for vcItem in stepVCs { for vcItem in stepVCs {
let topHeight = k_Height_NavigationtBarAndStatuBar+YHStepView.height
let bottomHeight = k_Height_safeAreaInsetsBottom() + YHSaveAndSubmitView.height
vcItem.vc.view.frame = CGRectMake(0, topHeight, KScreenWidth, KScreenHeight-topHeight-bottomHeight)
self.addChild(vcItem.vc) self.addChild(vcItem.vc)
self.view.addSubview(vcItem.vc.view) self.view.addSubview(vcItem.vc.view)
titles.append(vcItem.title) titles.append(vcItem.title)
...@@ -229,6 +245,10 @@ extension YHSpouseInfoContainerVC { ...@@ -229,6 +245,10 @@ extension YHSpouseInfoContainerVC {
if let cur = getArrayIndexOfCurrentStep(), let item = stepVCs[safe:cur+1] { if let cur = getArrayIndexOfCurrentStep(), let item = stepVCs[safe:cur+1] {
currentStep = item.step currentStep = item.step
spouse?.step = item.step
if cur+1 > stepView.maxIndex {
stepView.maxIndex = cur+1
}
} }
print("currentIndex:\(currentStep)") print("currentIndex:\(currentStep)")
} }
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
import UIKit import UIKit
import SmartCodable import SmartCodable
import SwifterSwift
class YHSpousePrimaryInfoVC: YHBaseViewController, YHFamilyMemberProtol { class YHSpousePrimaryInfoVC: YHBaseViewController, YHFamilyMemberProtol {
...@@ -24,6 +25,8 @@ class YHSpousePrimaryInfoVC: YHBaseViewController, YHFamilyMemberProtol { ...@@ -24,6 +25,8 @@ class YHSpousePrimaryInfoVC: YHBaseViewController, YHFamilyMemberProtol {
if #available(iOS 11.0, *) { if #available(iOS 11.0, *) {
tableView.contentInsetAdjustmentBehavior = .never tableView.contentInsetAdjustmentBehavior = .never
} }
tableView.rowHeight = UITableView.automaticDimension
tableView.estimatedRowHeight = 52.0
tableView.estimatedSectionHeaderHeight = 14.0 tableView.estimatedSectionHeaderHeight = 14.0
tableView.estimatedSectionFooterHeight = 1.0 tableView.estimatedSectionFooterHeight = 1.0
tableView.showsVerticalScrollIndicator = false tableView.showsVerticalScrollIndicator = false
...@@ -122,10 +125,10 @@ class YHSpousePrimaryInfoVC: YHBaseViewController, YHFamilyMemberProtol { ...@@ -122,10 +125,10 @@ class YHSpousePrimaryInfoVC: YHBaseViewController, YHFamilyMemberProtol {
let topHeight = k_Height_NavigationtBarAndStatuBar+YHStepView.height let topHeight = k_Height_NavigationtBarAndStatuBar+YHStepView.height
let bottomHeight = k_Height_safeAreaInsetsBottom() + YHSaveAndSubmitView.height let bottomHeight = k_Height_safeAreaInsetsBottom() + YHSaveAndSubmitView.height
tableView.snp.makeConstraints { make in tableView.snp.makeConstraints { make in
make.top.equalToSuperview().offset(topHeight) make.top.equalToSuperview()
make.left.equalToSuperview().offset(16) make.left.equalToSuperview().offset(16)
make.right.equalToSuperview().offset(-16) make.right.equalToSuperview().offset(-16)
make.bottom.equalToSuperview().offset(-bottomHeight) make.height.equalTo(KScreenHeight-topHeight-bottomHeight)
} }
} }
} }
...@@ -167,7 +170,7 @@ extension YHSpousePrimaryInfoVC : UITableViewDelegate, UITableViewDataSource { ...@@ -167,7 +170,7 @@ extension YHSpousePrimaryInfoVC : UITableViewDelegate, UITableViewDataSource {
cell.isMust = detailItem.isNeed cell.isMust = detailItem.isNeed
cell.title = detailItem.getTitle() cell.title = detailItem.getTitle()
cell.setTips(detailItem.tips, isShow: isNeedShowError && detailItem.isShowTips) cell.setTips(detailItem.tips, isShow: isNeedShowError && detailItem.isShowTips)
var select = false var select = false
if let value = detailItem.value { if let value = detailItem.value {
select = Bool(value)! select = Bool(value)!
...@@ -230,6 +233,14 @@ extension YHSpousePrimaryInfoVC : UITableViewDelegate, UITableViewDataSource { ...@@ -230,6 +233,14 @@ extension YHSpousePrimaryInfoVC : UITableViewDelegate, UITableViewDataSource {
cell.text = detailItem.value cell.text = detailItem.value
cell.placeHolder = detailItem.placeHolder cell.placeHolder = detailItem.placeHolder
cell.setTips(detailItem.tips, isShow: isNeedShowError && detailItem.isShowTips) cell.setTips(detailItem.tips, isShow: isNeedShowError && detailItem.isShowTips)
cell.textInputCondtion = {
text in
if let textStr = text {
let max = 100
text = textStr.count > max ? textStr[safe: ..<max] : textStr
}
return true
}
cell.textChange = { cell.textChange = {
[weak self] (text, isEditEnd) in [weak self] (text, isEditEnd) in
guard let self = self else { return } guard let self = self else { return }
......
...@@ -54,10 +54,10 @@ class YHCertificateInfoController: YHBaseViewController, YHFamilyMemberProtol { ...@@ -54,10 +54,10 @@ class YHCertificateInfoController: YHBaseViewController, YHFamilyMemberProtol {
let topHeight = k_Height_NavigationtBarAndStatuBar+YHStepView.height let topHeight = k_Height_NavigationtBarAndStatuBar+YHStepView.height
let bottomHeight = k_Height_safeAreaInsetsBottom() + YHSaveAndSubmitView.height let bottomHeight = k_Height_safeAreaInsetsBottom() + YHSaveAndSubmitView.height
tableView.snp.makeConstraints { make in tableView.snp.makeConstraints { make in
make.top.equalToSuperview().offset(topHeight) make.top.equalToSuperview()
make.left.equalToSuperview().offset(16) make.left.equalToSuperview().offset(16)
make.right.equalToSuperview().offset(-16) make.right.equalToSuperview().offset(-16)
make.bottom.equalToSuperview().offset(-bottomHeight) make.height.equalTo(KScreenHeight-topHeight-bottomHeight)
} }
guard let familyMember = familyMember else { return } guard let familyMember = familyMember else { return }
...@@ -69,15 +69,17 @@ class YHCertificateInfoController: YHBaseViewController, YHFamilyMemberProtol { ...@@ -69,15 +69,17 @@ class YHCertificateInfoController: YHBaseViewController, YHFamilyMemberProtol {
guard let familyMember = familyMember else { return } guard let familyMember = familyMember else { return }
items.removeAll() items.removeAll()
// 中国身份证 信息必有 // 中国身份证
let isChinaCardMust = familyMember.isChinese()
let title0 = YHFormTitleItem(type: .chinaIdCardInfo) let title0 = YHFormTitleItem(type: .chinaIdCardInfo)
let item01 = YHFormDetailItem(type: .chinaIdentityCardNumber, value:familyMember.certificates.cnIdentityCard.number, tips: "请输入中国身份证号".local) let item01 = YHFormDetailItem(type: .chinaIdentityCardNumber, isNeed:isChinaCardMust, value:familyMember.certificates.cnIdentityCard.number, tips: "请输入正确的中国身份证号".local)
let item02 = YHFormDetailItem(type: .certificateSignPlace, value:familyMember.certificates.cnIdentityCard.issueAt, tips: "请输入签发地".local) let item02 = YHFormDetailItem(type: .certificateSignPlace, isNeed:isChinaCardMust, value:familyMember.certificates.cnIdentityCard.issueAt, tips: "请输入签发地".local)
let item03 = YHFormDetailItem(type: .certificateSignDate, value:familyMember.certificates.cnIdentityCard.issueDateStartAt, tips: "请选择签发日期".local) let item03 = YHFormDetailItem(type: .certificateSignDate, isNeed:isChinaCardMust, value:familyMember.certificates.cnIdentityCard.issueDateStartAt, tips: "请选择签发日期".local)
let item04 = YHFormDetailItem(type: .certificateValidDate, value:familyMember.certificates.cnIdentityCard.issueDateEndAt, tips: "请选择签发日期".local) let item04 = YHFormDetailItem(type: .certificateValidDate, isNeed:isChinaCardMust, value:familyMember.certificates.cnIdentityCard.issueDateEndAt, tips: "请选择签发日期".local)
let arr0:[YHFormItemProtocol] = [title0, item01, item02, item03, item04] let arr0:[YHFormItemProtocol] = [title0, item01, item02, item03, item04]
items.append(arr0) items.append(arr0)
// 港澳通行证 非必须 // 港澳通行证 非必须
if familyMember.isNeedHandleHKPassPort() { if familyMember.isNeedHandleHKPassPort() {
...@@ -91,6 +93,7 @@ class YHCertificateInfoController: YHBaseViewController, YHFamilyMemberProtol { ...@@ -91,6 +93,7 @@ class YHCertificateInfoController: YHBaseViewController, YHFamilyMemberProtol {
} }
// 护照及其他旅行证件 信息必有 // 护照及其他旅行证件 信息必有
let isPassPortMust = !familyMember.isChinese()
let title2 = YHFormTitleItem(type: .passPortOrTravelInfo) let title2 = YHFormTitleItem(type: .passPortOrTravelInfo)
// 证件类别名称 // 证件类别名称
...@@ -99,11 +102,11 @@ class YHCertificateInfoController: YHBaseViewController, YHFamilyMemberProtol { ...@@ -99,11 +102,11 @@ class YHCertificateInfoController: YHBaseViewController, YHFamilyMemberProtol {
if let item = YHSheetPickerView.getItem(type:.certificate, index:passPortType) { if let item = YHSheetPickerView.getItem(type:.certificate, index:passPortType) {
value = item.title value = item.title
} }
let item20 = YHFormDetailItem(type: .certificateType, isNeed: false, value:value, tips:"请选择证件类别".local) let item20 = YHFormDetailItem(type: .certificateType, isNeed: isPassPortMust, value:value, tips:"请选择证件类别".local)
let item21 = YHFormDetailItem(type: .certificateNumber, isNeed: false, value: familyMember.certificates.passport.number, tips: "请输入证件号码".local) let item21 = YHFormDetailItem(type: .certificateNumber, isNeed: isPassPortMust, value: familyMember.certificates.passport.number, tips: "请输入证件号码".local)
let item22 = YHFormDetailItem(type: .certificateSignPlace, isNeed: false, value: familyMember.certificates.passport.issueAt, tips:"请输入签发地".local) let item22 = YHFormDetailItem(type: .certificateSignPlace, isNeed: isPassPortMust, value: familyMember.certificates.passport.issueAt, tips:"请输入签发地".local)
let item23 = YHFormDetailItem(type: .certificateSignDate, isNeed: false, value:familyMember.certificates.passport.issueDateStartAt, tips:"请选择签发日期".local) let item23 = YHFormDetailItem(type: .certificateSignDate, isNeed: isPassPortMust, value:familyMember.certificates.passport.issueDateStartAt, tips:"请选择签发日期".local)
let item24 = YHFormDetailItem(type: .certificateValidDate, isNeed: false, value:familyMember.certificates.passport.issueDateEndAt,tips:"请选择届满日期".local) let item24 = YHFormDetailItem(type: .certificateValidDate, isNeed: isPassPortMust, value:familyMember.certificates.passport.issueDateEndAt,tips:"请选择届满日期".local)
let arr2:[YHFormItemProtocol] = [title2, item20, item21, item22, item23, item24] let arr2:[YHFormItemProtocol] = [title2, item20, item21, item22, item23, item24]
items.append(arr2) items.append(arr2)
...@@ -150,7 +153,6 @@ extension YHCertificateInfoController : UITableViewDelegate, UITableViewDataSour ...@@ -150,7 +153,6 @@ extension YHCertificateInfoController : UITableViewDelegate, UITableViewDataSour
cell.title = detailItem.getTitle() cell.title = detailItem.getTitle()
cell.text = detailItem.value cell.text = detailItem.value
cell.setTips(detailItem.tips, isShow: isNeedShowError && detailItem.isShowTips) cell.setTips(detailItem.tips, isShow: isNeedShowError && detailItem.isShowTips)
cell.textChange = { cell.textChange = {
[weak self] (text, isEditEnd) in [weak self] (text, isEditEnd) in
guard let self = self else { return } guard let self = self else { return }
...@@ -352,17 +354,20 @@ extension YHCertificateInfoController : UITableViewDelegate, UITableViewDataSour ...@@ -352,17 +354,20 @@ extension YHCertificateInfoController : UITableViewDelegate, UITableViewDataSour
func checkIntegrity() -> Bool { func checkIntegrity() -> Bool {
guard let familyMember = familyMember else { return false} guard let familyMember = familyMember else { return false}
// 验证身份证 // 国籍为中国需验证身份证
if familyMember.certificates.cnIdentityCard.number.count <= 0 if familyMember.isChinese() {
|| familyMember.certificates.cnIdentityCard.issueAt.count <= 0 if familyMember.certificates.cnIdentityCard.number.count <= 0
|| familyMember.certificates.cnIdentityCard.issueDateStartAt.count <= 0 || familyMember.certificates.cnIdentityCard.issueAt.count <= 0
|| familyMember.certificates.cnIdentityCard.issueDateEndAt.count <= 0 || familyMember.certificates.cnIdentityCard.issueDateStartAt.count <= 0
{ || familyMember.certificates.cnIdentityCard.issueDateEndAt.count <= 0
return false {
return false
}
} }
// 如果选了办理过港澳通行证,则需要验证港澳通行证
if familyMember.isNeedHandleHKPassPort() { if familyMember.isNeedHandleHKPassPort() {
// 如果选了办理过港澳通行证,则需要验证港澳通行证
if familyMember.certificates.hkMacaoPass.number.count <= 0 if familyMember.certificates.hkMacaoPass.number.count <= 0
|| familyMember.certificates.hkMacaoPass.issueAt.count <= 0 || familyMember.certificates.hkMacaoPass.issueAt.count <= 0
|| familyMember.certificates.hkMacaoPass.issueDateStartAt.count <= 0 || familyMember.certificates.hkMacaoPass.issueDateStartAt.count <= 0
...@@ -373,6 +378,18 @@ extension YHCertificateInfoController : UITableViewDelegate, UITableViewDataSour ...@@ -373,6 +378,18 @@ extension YHCertificateInfoController : UITableViewDelegate, UITableViewDataSour
} }
} }
// 是老外需验证护照
if !familyMember.isChinese() {
if familyMember.certificates.passport.number.count <= 0
|| familyMember.certificates.passport.issueAt.count <= 0
|| familyMember.certificates.passport.issueDateStartAt.count <= 0
|| familyMember.certificates.passport.issueDateEndAt.count <= 0
|| familyMember.certificates.passport.passPortType == -1
{
return false
}
}
return true return true
} }
......
...@@ -22,7 +22,7 @@ class YHCertificateUploadVC: YHBaseViewController, YHFamilyMemberProtol { ...@@ -22,7 +22,7 @@ class YHCertificateUploadVC: YHBaseViewController, YHFamilyMemberProtol {
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
self.view.backgroundColor = .white view.backgroundColor = UIColor(hexString:"#F8F8F8")
createUI() createUI()
} }
...@@ -49,10 +49,14 @@ class YHCertificateUploadVC: YHBaseViewController, YHFamilyMemberProtol { ...@@ -49,10 +49,14 @@ class YHCertificateUploadVC: YHBaseViewController, YHFamilyMemberProtol {
return tableView return tableView
}() }()
view.addSubview(tableView) view.addSubview(tableView)
let topHeight = k_Height_NavigationtBarAndStatuBar+YHStepView.height
let bottomHeight = k_Height_safeAreaInsetsBottom() + YHSaveAndSubmitView.height
tableView.snp.makeConstraints { make in tableView.snp.makeConstraints { make in
make.top.equalTo(k_Height_NavigationtBarAndStatuBar + YHStepView.height) make.top.equalToSuperview()
make.bottom.equalTo(-k_Height_safeAreaInsetsBottom() - 64) make.left.equalToSuperview()
make.left.right.bottom.equalTo(view) make.right.equalToSuperview()
make.height.equalTo(KScreenHeight-topHeight-bottomHeight)
} }
} }
} }
......
...@@ -172,6 +172,13 @@ class YHFamilyMemberInfoVC: YHBaseViewController { ...@@ -172,6 +172,13 @@ class YHFamilyMemberInfoVC: YHBaseViewController {
items.append(sponseArray) items.append(sponseArray)
} }
// 子女section
var childArr:[YHFormItemProtocol] = [YHFormTitleItem(type: .child), YHFormAddItem(type: .addChild)]
if let childs = familyMemberInfo?.child, !childs.isEmpty {
childArr.insert(contentsOf: childs, at:1)
}
items.append(childArr)
// 父母section // 父母section
var parents = [YHFormItemProtocol]() var parents = [YHFormItemProtocol]()
let item0 = YHFormTitleItem(type: .parent) let item0 = YHFormTitleItem(type: .parent)
...@@ -188,17 +195,8 @@ class YHFamilyMemberInfoVC: YHBaseViewController { ...@@ -188,17 +195,8 @@ class YHFamilyMemberInfoVC: YHBaseViewController {
mother.relationType = .mother mother.relationType = .mother
parents.append(mother) parents.append(mother)
} }
items.append(parents) items.append(parents)
// 子女section
var childArr:[YHFormItemProtocol] = [YHFormTitleItem(type: .child), YHFormAddItem(type: .addChild)]
if let childs = familyMemberInfo?.child, !childs.isEmpty {
childArr.insert(contentsOf: childs, at:1)
}
items.append(childArr)
// 兄妹section // 兄妹section
var brotherArr:[YHFormItemProtocol] = [YHFormTitleItem(type: .brother), YHFormAddItem(type: .addBrother)] var brotherArr:[YHFormItemProtocol] = [YHFormTitleItem(type: .brother), YHFormAddItem(type: .addBrother)]
...@@ -491,10 +489,6 @@ extension YHFamilyMemberInfoVC : UITableViewDelegate, UITableViewDataSource { ...@@ -491,10 +489,6 @@ extension YHFamilyMemberInfoVC : UITableViewDelegate, UITableViewDataSource {
} }
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
let arr = items[indexPath.section]
let item:YHFormItemProtocol = arr[indexPath.row]
return UITableView.automaticDimension return UITableView.automaticDimension
} }
......
...@@ -970,6 +970,11 @@ class YHFamilyMember: SmartCodable, YHFormItemProtocol { ...@@ -970,6 +970,11 @@ class YHFamilyMember: SmartCodable, YHFormItemProtocol {
} }
// 国籍是否是中国
func isChinese() -> Bool {
return nationality == "中国-China"
}
// 是否随行 // 是否随行
func isFollow() -> Bool { func isFollow() -> Bool {
return follow == 1 return follow == 1
...@@ -1218,10 +1223,12 @@ class YHAddress: SmartCodable { ...@@ -1218,10 +1223,12 @@ class YHAddress: SmartCodable {
class YHChildStepchildClass: SmartCodable { class YHChildStepchildClass: SmartCodable {
var has: String = "" var has: String = ""
var info: String = "" var info: String = ""
var number: String = ""
enum CodingKeys: String, CodingKey { enum CodingKeys: String, CodingKey {
case has = "has" case has = "has"
case info = "info" case info = "info"
case number = "number"
} }
required init() { required init() {
......
...@@ -28,6 +28,7 @@ class YHFormItemDoubleChoiceCell: UITableViewCell { ...@@ -28,6 +28,7 @@ class YHFormItemDoubleChoiceCell: UITableViewCell {
private let btnWidth = 70.0 private let btnWidth = 70.0
private let btnHeight = 32.0 private let btnHeight = 32.0
private let titleFont = UIFont.PFSC_R(ofSize: 14)
private let btnTitleSelectColor = UIColor.brandMainColor private let btnTitleSelectColor = UIColor.brandMainColor
private let btnTitleDefaultColor = UIColor.mainTextColor private let btnTitleDefaultColor = UIColor.mainTextColor
private let btnBgDefaultColor = UIColor.contentBkgColor private let btnBgDefaultColor = UIColor.contentBkgColor
...@@ -41,12 +42,13 @@ class YHFormItemDoubleChoiceCell: UITableViewCell { ...@@ -41,12 +42,13 @@ class YHFormItemDoubleChoiceCell: UITableViewCell {
var title:String? { var title:String? {
didSet { didSet {
var titleStr = ""
if let title = title, !title.isEmpty { if let title = title, !title.isEmpty {
let str = (isMust ? ("*"+title) : title) let titleStr = (isMust ? ("*"+title) : title)
let attributes: [NSAttributedString.Key: Any] = [ let attributes: [NSAttributedString.Key: Any] = [
.font: UIFont.PFSC_R(ofSize: 14), .font: UIFont.PFSC_R(ofSize: 14),
.foregroundColor: UIColor.mainTextColor] .foregroundColor: UIColor.mainTextColor]
let questionAttrStr = NSMutableAttributedString(string: str, attributes: attributes) let questionAttrStr = NSMutableAttributedString(string: titleStr, attributes: attributes)
if isMust { if isMust {
let starRange = NSRange(location: 0, length: 1) let starRange = NSRange(location: 0, length: 1)
questionAttrStr.addAttribute(NSAttributedString.Key.foregroundColor, value: UIColor.failColor, range: starRange) questionAttrStr.addAttribute(NSAttributedString.Key.foregroundColor, value: UIColor.failColor, range: starRange)
...@@ -165,14 +167,13 @@ class YHFormItemDoubleChoiceCell: UITableViewCell { ...@@ -165,14 +167,13 @@ class YHFormItemDoubleChoiceCell: UITableViewCell {
contentView.addSubview(tipsLabel) contentView.addSubview(tipsLabel)
contentView.addSubview(topLine) contentView.addSubview(topLine)
titleLabel.snp.makeConstraints { make in titleLabel.snp.makeConstraints { make in
make.top.equalTo(contentView.snp.top).offset(16) make.top.equalTo(contentView.snp.top).offset(16)
make.left.equalToSuperview().offset(horizonalGap) make.left.equalToSuperview().offset(horizonalGap)
make.height.greaterThanOrEqualTo(btnHeight)
make.right.equalTo(answer1Btn.snp.left).offset(-8) make.right.equalTo(answer1Btn.snp.left).offset(-8)
make.height.greaterThanOrEqualTo(btnHeight)
} }
answer1Btn.snp.makeConstraints { make in answer1Btn.snp.makeConstraints { make in
make.size.equalTo(CGSize(width: btnWidth, height: btnHeight)) make.size.equalTo(CGSize(width: btnWidth, height: btnHeight))
make.right.equalTo(answer2Btn.snp.left).offset(-8) make.right.equalTo(answer2Btn.snp.left).offset(-8)
...@@ -191,31 +192,18 @@ class YHFormItemDoubleChoiceCell: UITableViewCell { ...@@ -191,31 +192,18 @@ class YHFormItemDoubleChoiceCell: UITableViewCell {
make.height.equalTo(1.0) make.height.equalTo(1.0)
make.top.equalToSuperview() make.top.equalToSuperview()
} }
tipsLabel.snp.makeConstraints { make in
make.left.equalToSuperview().offset(horizonalGap)
make.right.equalToSuperview().offset(-horizonalGap)
make.top.equalTo(titleLabel.snp.bottom)
make.bottom.equalToSuperview().offset(-16).priority(.medium)
}
setTips("", isShow: false) setTips("", isShow: false)
} }
func setTips(_ tips:String?, isShow:Bool) { func setTips(_ tips:String?, isShow:Bool) {
tipsLabel.text = tips tipsLabel.text = tips
tipsLabel.isHidden = !isShow tipsLabel.isHidden = !isShow
if isShow {
tipsLabel.snp.remakeConstraints { make in
make.left.equalToSuperview().offset(horizonalGap)
make.right.equalToSuperview().offset(-horizonalGap)
make.top.equalTo(titleLabel.snp.bottom)
make.bottom.equalToSuperview().offset(-16)
}
} else {
tipsLabel.snp.remakeConstraints { make in
make.left.equalToSuperview().offset(horizonalGap)
make.right.equalToSuperview().offset(-horizonalGap)
make.top.equalTo(titleLabel.snp.bottom)
make.height.equalTo(0)
make.bottom.equalToSuperview().offset(-16)
}
}
self.setNeedsLayout()
self.layoutIfNeeded()
} }
// 更新答案按钮选中状态 // 更新答案按钮选中状态
......
...@@ -22,7 +22,7 @@ class YHFormItemInputTextCell: UITableViewCell { ...@@ -22,7 +22,7 @@ class YHFormItemInputTextCell: UITableViewCell {
} }
// BOOL值表示编辑是否结束 // BOOL值表示编辑是否结束
var textChange:((String?, Bool)->Void)? var textChange:((String?, Bool)->Void)?
var textInputCondtion:((inout String?)->Bool)?
var title:String? { var title:String? {
didSet { didSet {
...@@ -164,13 +164,25 @@ class YHFormItemInputTextCell: UITableViewCell { ...@@ -164,13 +164,25 @@ class YHFormItemInputTextCell: UITableViewCell {
@objc func textFieldChanged(textField:UITextField) { @objc func textFieldChanged(textField:UITextField) {
if let textChange = textChange { if let textChange = textChange {
textChange(textField.text, false) if let textInputCondtion = textInputCondtion {
if textInputCondtion(&textField.text) {
textChange(textField.text, false)
}
} else {
textChange(textField.text, false)
}
} }
} }
@objc func textFieldEditEnd(textField:UITextField) { @objc func textFieldEditEnd(textField:UITextField) {
if let textChange = textChange { if let textChange = textChange {
textChange(textField.text, true) if let textInputCondtion = textInputCondtion {
if textInputCondtion(&textField.text) {
textChange(textField.text, true)
}
} else {
textChange(textField.text, true)
}
} }
} }
} }
...@@ -66,7 +66,7 @@ class YHBottomNextView: UIView { ...@@ -66,7 +66,7 @@ class YHBottomNextView: UIView {
nextButton.layoutIfNeeded() nextButton.layoutIfNeeded()
nextButton.backgroundGradient() nextButton.addYinHeGradualLayer()
} }
......
...@@ -50,10 +50,6 @@ class YHScoreDetailViewController: YHBaseViewController { ...@@ -50,10 +50,6 @@ class YHScoreDetailViewController: YHBaseViewController {
//2.0 //2.0
loadData() loadData()
//3.保存orderId 提供给后续UI使用
UserDefaults.standard.set(orderId, forKey: "orderIdForPreview")
UserDefaults.standard.synchronize()
} }
} }
......
...@@ -11,118 +11,46 @@ import UIKit ...@@ -11,118 +11,46 @@ import UIKit
*学历/专业资格 预览 *学历/专业资格 预览
*/ */
class YHPreviewAcademicAndProfessionalQualificationViewController: YHPreviewBaseViewController { class YHPreviewAcademicAndProfessionalQualificationViewController: YHPreviewBaseViewController {
var arrData : [YHPreviewInfoSessionModel] = [] private let previewVM : YHPreviewViewModel = YHPreviewViewModel()
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
setupUI() setupUI()
loadData()
} }
} }
private extension YHPreviewAcademicAndProfessionalQualificationViewController { private extension YHPreviewAcademicAndProfessionalQualificationViewController {
func installData() { func loadData() {
if let orderID = UserDefaults.standard.value(forKey: "orderIdForPreview") {
do { // let tmp = 133967 //全数据 可测试
//主申请人学历1 previewVM.getPreviewForAcademicInfo(params: ["order_id" : orderID]) { success, error in
let tmp0 = YHPreviewQuestionAndAnswerModel(question: "主申请人学历:", answer: "主申请人学历主申请人学历") if success == true {
let tmp1 = YHPreviewQuestionAndAnswerModel(question: "授课形式:", answer: "授课形式")
let tmp2 = YHPreviewQuestionAndAnswerModel(question: "入学年月:", answer: "入学年月") } else {
let tmp3 = YHPreviewQuestionAndAnswerModel(question: "毕业年月:", answer: "1990年8月18日") }
let tmp4 = YHPreviewQuestionAndAnswerModel(question: "专业:", answer: "专业") self.homeTableView.reloadData()
let tmp5 = YHPreviewQuestionAndAnswerModel(question: "学位:", answer: "学位") }
let tmp6 = YHPreviewQuestionAndAnswerModel(question: "学位类型:", answer: "学位类型") } else {
let tmp7 = YHPreviewQuestionAndAnswerModel(question: "上课地点:", answer: "上课地点上课地点") printLog("error : orderID 为空")
let arr = [tmp0,tmp1,tmp2,tmp3,tmp4,tmp5,tmp6,tmp7]
let model2 = YHPreviewInfoSessionModel(cellType: .countryInfoType, cellTitle: "主申请人学历1", cellData0: arr)
arrData.append(model2)
}
do {
//主申请人学历2
let tmp0 = YHPreviewQuestionAndAnswerModel(question: "主申请人学历:", answer: "主申请人学历主申请人学历")
let tmp1 = YHPreviewQuestionAndAnswerModel(question: "授课形式:", answer: "授课形式")
let tmp2 = YHPreviewQuestionAndAnswerModel(question: "入学年月:", answer: "入学年月")
let tmp3 = YHPreviewQuestionAndAnswerModel(question: "毕业年月:", answer: "1990年8月18日")
let tmp4 = YHPreviewQuestionAndAnswerModel(question: "专业:", answer: "专业")
let tmp5 = YHPreviewQuestionAndAnswerModel(question: "学位:", answer: "学位")
let tmp6 = YHPreviewQuestionAndAnswerModel(question: "学位类型:", answer: "学位类型")
let tmp7 = YHPreviewQuestionAndAnswerModel(question: "上课地点:", answer: "上课地点上课地点")
let arr = [tmp0,tmp1,tmp2,tmp3,tmp4,tmp5,tmp6,tmp7]
let model2 = YHPreviewInfoSessionModel(cellType: .countryInfoType, cellTitle: "主申请人学历2", cellData0: arr)
arrData.append(model2)
}
do {
//主申请人专业资格及会员资格1
let tmp0 = YHPreviewQuestionAndAnswerModel(question: "资格证书名称:", answer: "资格证书名称")
let tmp1 = YHPreviewQuestionAndAnswerModel(question: "颁授机构全称:", answer: "颁授机构全称:")
let tmp2 = YHPreviewQuestionAndAnswerModel(question: "颁授年份:", answer: "颁授年份:")
let tmp3 = YHPreviewQuestionAndAnswerModel(question: "颁授城市:", answer: "颁授城市:颁授城市:")
let arr = [tmp0,tmp1,tmp2,tmp3]
let model2 = YHPreviewInfoSessionModel(cellType: .countryInfoType, cellTitle: "主申请人专业资格及会员资格1", cellData0: arr)
arrData.append(model2)
}
do {
//主申请人专业资格及会员资格2
let tmp0 = YHPreviewQuestionAndAnswerModel(question: "资格证书名称:", answer: "资格证书名称")
let tmp1 = YHPreviewQuestionAndAnswerModel(question: "颁授机构全称:", answer: "颁授机构全称:")
let tmp2 = YHPreviewQuestionAndAnswerModel(question: "颁授年份:", answer: "颁授年份:")
let tmp3 = YHPreviewQuestionAndAnswerModel(question: "颁授城市:", answer: "颁授城市:颁授城市:")
let arr = [tmp0,tmp1,tmp2,tmp3]
let model2 = YHPreviewInfoSessionModel(cellType: .countryInfoType, cellTitle: "主申请人专业资格及会员资格2", cellData0: arr)
arrData.append(model2)
} }
do {
//主申请人
let tmp0 = YHPreviewQuestionAndAnswerModel(question: "1、您的所有学历及资格证书的姓名及出生日期,是否与身份证完全一致?(例如:身份证上是【张四】,学位证上是【张三】,则为不同", answer: "是")
let tmp1 = YHPreviewQuestionAndAnswerModel(question: "2、您配偶的大学毕业证和学位证上的姓名及出生日期,是否与身份证完全一致?", answer: "否")
let arr = [tmp0,tmp1]
let model1 = YHPreviewInfoSessionModel(cellType: .questionAndAnswer, cellTitle: "学历证书姓名及出生日期正确性", cellData0: arr)
arrData.append(model1)
}
} }
func setupUI() { func setupUI() {
installData()
self.homeTableView.register(YHPreviewInfoCell.self,forCellReuseIdentifier: YHPreviewInfoCell.cellReuseIdentifier) self.homeTableView.register(YHPreviewInfoCell.self,forCellReuseIdentifier: YHPreviewInfoCell.cellReuseIdentifier)
self.homeTableView.reloadData() self.homeTableView.reloadData()
} }
} }
// MARK: - UITableViewDelegate 和 UITableViewDataSource // MARK: - UITableViewDelegate 和 UITableViewDataSource
extension YHPreviewAcademicAndProfessionalQualificationViewController { extension YHPreviewAcademicAndProfessionalQualificationViewController {
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return arrData.count return previewVM.arrDataForAcademicInfo.count
} }
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withClass: YHPreviewInfoCell.self) let cell = tableView.dequeueReusableCell(withClass: YHPreviewInfoCell.self)
cell.selectionStyle = .none cell.selectionStyle = .none
cell.model = arrData[indexPath.row] cell.model = previewVM.arrDataForAcademicInfo[indexPath.row]
return cell return cell
} }
} }
...@@ -75,7 +75,8 @@ class YHPreviewControllerHoldViewController: UIViewController { ...@@ -75,7 +75,8 @@ class YHPreviewControllerHoldViewController: UIViewController {
arrItemVCs.append(vc) arrItemVCs.append(vc)
} }
do { do {
let vc = YHPreviewFamilyMemberViewController() //工作经验
let vc = YHPreviewWorkExpViewController()
arrItemVCs.append(vc) arrItemVCs.append(vc)
} }
do { do {
......
...@@ -10,6 +10,8 @@ import UIKit ...@@ -10,6 +10,8 @@ import UIKit
import GKNavigationBarSwift import GKNavigationBarSwift
class YHPreviewMainViewController: YHBaseViewController { class YHPreviewMainViewController: YHBaseViewController {
private let previewVM : YHPreviewViewModel = YHPreviewViewModel()
var orderId : Int? var orderId : Int?
var canScroll : Bool = true var canScroll : Bool = true
...@@ -58,7 +60,7 @@ class YHPreviewMainViewController: YHBaseViewController { ...@@ -58,7 +60,7 @@ class YHPreviewMainViewController: YHBaseViewController {
//姓名 //姓名
private lazy var nameLable : UILabel = { private lazy var nameLable : UILabel = {
let lable0 = UILabel(text: "DavidHuang") let lable0 = UILabel(text: "")
lable0.textColor = UIColor.mainTextColor lable0.textColor = UIColor.mainTextColor
lable0.font = UIFont.PFSC_M(ofSize: 19) lable0.font = UIFont.PFSC_M(ofSize: 19)
return lable0 return lable0
...@@ -66,7 +68,7 @@ class YHPreviewMainViewController: YHBaseViewController { ...@@ -66,7 +68,7 @@ class YHPreviewMainViewController: YHBaseViewController {
//电话号码 //电话号码
private lazy var phoneLable : UILabel = { private lazy var phoneLable : UILabel = {
let lable0 = UILabel(text: "15818743775") let lable0 = UILabel(text: "")
lable0.textColor = UIColor.labelTextColor2 lable0.textColor = UIColor.labelTextColor2
lable0.font = UIFont.PFSC_R(ofSize: 14) lable0.font = UIFont.PFSC_R(ofSize: 14)
return lable0 return lable0
...@@ -90,7 +92,7 @@ class YHPreviewMainViewController: YHBaseViewController { ...@@ -90,7 +92,7 @@ class YHPreviewMainViewController: YHBaseViewController {
initView() initView()
//2.网络请求 //2.网络请求
requestData() loadData()
} }
...@@ -117,18 +119,29 @@ extension YHPreviewMainViewController { ...@@ -117,18 +119,29 @@ extension YHPreviewMainViewController {
canScroll = true canScroll = true
} }
private func requestData() { func loadData() {
// self.homeReqVM.getHomeConfig { flag, error in if let orderID = UserDefaults.standard.value(forKey: "orderIdForPreview") {
// if flag == true { previewVM.getPreviewForMainApplicationInfo(params: ["order_id" : orderID]) { success, error in
// //1. 调用model 刷新界面 if success == true {
// YHHUD.flash(message: "数据已更新")
// } else { var title = ""
// //2. 给出 错误提示 if let tmp = self.previewVM.mainApplicationInfoPreviewModel?.username,tmp.isEmpty == false {
// if let error = error { title = tmp + "的个人信息表"
// YHHUD.flash(.error(message: error.errorMsg)) } else {
// } title = "未知 "
// } }
// }
self.nameLable.text = title
self.phoneLable.text = self.previewVM.mainApplicationInfoPreviewModel?.mobile ?? "-"
} else {
}
self.homeTableView.reloadData()
}
} else {
printLog("error : orderID 为空")
}
} }
private func initView()->Void { private func initView()->Void {
...@@ -199,20 +212,6 @@ extension YHPreviewMainViewController { ...@@ -199,20 +212,6 @@ extension YHPreviewMainViewController {
make.right.equalTo(-20.5) make.right.equalTo(-20.5)
} }
} }
// private func loadFirstItem() {
// DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
// self.homeTableView.es.stopPullToRefresh(ignoreDate: true,ignoreFooter: false)
// self.homeTableView.reloadData()
// }
// }
//
// private func loadFakeData() {
// DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
// self.homeTableView.es.stopLoadingMore()
// self.homeTableView.reloadData()
// }
// }
} }
// MARK: - UITableViewDelegate 和 UITableViewDataSource // MARK: - UITableViewDelegate 和 UITableViewDataSource
......
//
// YHPreviewWorkExpViewController.swift
// galaxy
//
// Created by davidhuangA on 2024/3/5.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
/*
*工作经验 预览
*/
class YHPreviewWorkExpViewController: YHPreviewBaseViewController {
private let previewVM : YHPreviewViewModel = YHPreviewViewModel()
override func viewDidLoad() {
super.viewDidLoad()
setupUI()
loadData()
}
}
private extension YHPreviewWorkExpViewController {
func setupUI() {
self.homeTableView.register(YHPreviewInfoCell.self,forCellReuseIdentifier: YHPreviewInfoCell.cellReuseIdentifier)
self.homeTableView.reloadData()
}
func loadData() {
if let orderID = UserDefaults.standard.value(forKey: "orderIdForPreview") {
previewVM.getPreviewForWorkExpInfo(params: ["order_id" : orderID]) { success, error in
if success == true {
} else {
}
self.homeTableView.reloadData()
}
} else {
printLog("error : orderID 为空")
}
}
}
// MARK: - UITableViewDelegate 和 UITableViewDataSource
extension YHPreviewWorkExpViewController {
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return previewVM.arrDataForWorkExpInfo.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withClass: YHPreviewInfoCell.self)
cell.selectionStyle = .none
cell.model = previewVM.arrDataForWorkExpInfo[indexPath.row]
return cell
}
}
//
// YHAcademicPreviewModel.swift
// galaxy
//
// Created by davidhuangA on 2024/3/5.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
import SmartCodable
class YHAcademicPreviewModel: SmartCodable {
var edu_correct: Int = 0
var qla_correct: Int = 0
var edu_count: Int = 0
var qla_count: Int = 0
var is_married: Int = 0
var edu_list : [eduListModel]?
var qla_list : [qlaListModel]?
required init() {
}
}
class eduListModel: SmartCodable {
var id: Int = -1
var school_address_aboard: Int = -1
var college: String = ""
var type: String = ""
var admission_time: String = ""
var graduate_time: String = ""
var professional: String = ""
var background: String = ""
var degree_type: String = ""
var school_address: schoolAddressModel?
required init() {
}
}
class qlaListModel: SmartCodable {
var id: Int = -1
var qualification: String = ""
var college: String = ""
var promulgation: Int = -1
var college_address: schoolAddressModel?
var college_address_aboard: Int = -1
required init() {
}
}
class schoolAddressModel : SmartCodable {
var country: String = ""
var area: [String] = []
var foreign: String = ""
var details: String = ""
required init() {
}
}
//
// YHMainInfoPreviewModel.swift
// galaxy
//
// Created by davidhuangA on 2024/3/4.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
import SmartCodable
class YHMainInfoPreviewModel: SmartCodable {
var username: String = ""
var used_name: String = ""
var username_pinyin : String = ""
var sex : String = ""
var birthday: String = ""
var birth_place: String = ""
var mobile: String = ""
var email: String = ""
var married: String = ""
var nationality: String = ""
var live_address: String = ""
var surname: String = ""
var birth_place_details : String = ""
var live_address_detail : String = ""
var is_handled: Int = 0
var is_live_oversea_year: Int = 0
var hk_id : YHChildStepchildClass?
var certificates:YHCertificatesPreviewModel?
required init() {
}
}
class YHCertificatesPreviewModel: SmartCodable {
var cnIdentityCard: YHCNIdentityCardPreviewModel = YHCNIdentityCardPreviewModel()
var passport: YHCNIdentityCardPreviewModel = YHCNIdentityCardPreviewModel()
var hkMacaoPass: YHCNIdentityCardPreviewModel = YHCNIdentityCardPreviewModel()
enum CodingKeys: String, CodingKey {
case cnIdentityCard = "cn_identity_card"
case passport = "passport"
case hkMacaoPass = "hk_macao_pass"
}
required init() {
}
}
class YHCNIdentityCardPreviewModel: SmartCodable {
static let longTime = "8888-01-01"
var id: Int = 0
var number: String = ""
var issueAt: String = ""
var issueDateStartAt: String = ""
var issueDateEndAt: String = ""
var imgFront: String = ""
var imgBack: String = ""
var passport_type: Int = -1
var type: String = ""
enum CodingKeys: String, CodingKey {
case id = "id"
case number = "number"
case issueAt = "issue_at"
case issueDateStartAt = "issue_date_start_at"
case issueDateEndAt = "issue_date_end_at"
case imgFront = "img_front"
case imgBack = "img_back"
case passport_type = "passport_type"
case type = "type"
}
required init() {
}
}
...@@ -14,10 +14,9 @@ enum YHPreviewInfoSessionModelType: Int { ...@@ -14,10 +14,9 @@ enum YHPreviewInfoSessionModelType: Int {
case idCardInfoType = 1 //1-证件信息 类型 case idCardInfoType = 1 //1-证件信息 类型
case idPictureType = 2 //2-证件照片 类型 case idPictureType = 2 //2-证件照片 类型
case questionAndAnswer = 3 //3-问答 类型 case questionAndAnswer = 3 //3-问答 类型
case workExp = 4 //4-工作经验
} }
struct YHPreviewInfoSessionModel { struct YHPreviewInfoSessionModel {
var cellType : YHPreviewInfoSessionModelType = .countryInfoType var cellType : YHPreviewInfoSessionModelType = .countryInfoType
var cellTitle : String = "" var cellTitle : String = ""
......
//
// YHWorkExpDataModel.swift
// galaxy
//
// Created by davidhuangA on 2024/3/5.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
struct YHWorkExpDataModel {
var title : String
var data : [Any] = []
}
//
// WorkExpInfoPreviewModel.swift
// galaxy
//
// Created by davidhuangA on 2024/3/5.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
import SmartCodable
class YHWorkExpInfoPreviewModel: SmartCodable {
var list : [WorkExpInfoPreviewDetailModel]?
var count : Int = 0
required init() {
}
}
class WorkExpInfoPreviewDetailModel: SmartCodable {
var id: Int = 0
var order_id: Int = 0
var company_name: String = ""
var is_famous_enterprise: Int = 0
var duty: String = ""
var entry_time: String = ""
var departure_time: String = ""
var industry: String = ""
var location: AddressPreviewModel?
var location_aboard: Int = 0
var professional_level: Int = 0
var professional_other: String = ""
var position: String = ""
var remark: String = ""
var old_id: Int = 0
var created_at: String = ""
var updated_at: String = ""
var is_show: Int = 1 //1.保存会显示到列表上
var deleted_at: String = ""
var operator_name: String = ""
var operator_english_name: String = ""
var operator_id: Int = 0
var work_certificate: String = ""
var executives_certificate: String = ""
var is_executives: Int = 0
var wduty: String = ""
var highlights: String = ""
var file: [WorkExpFilePreviewModel]?
var not_need_upload_file: Int = 0
var company_member_total: Int = 0
var administrative_level: Int = 0
var company_manage_total: Int = 0
var top_manager_start_at: String = ""
var top_manager_end_at: String = ""
var master_of_important_project: Int = 0
var match_listing: Int = 0
var is_synthetic: Int = 0
var step: Int = 0
var create_from_appid: Int = 0
var update_from_appid: Int = 0
var international_work_experience: Int = 0
var turnover: Int = 0
var business_nature: String = ""
var company_website: String = ""
var company_introduce: String = ""
var business_remark: String = ""
var is_project_introduction: Int = 0
var customer_center_id: Int = 0
var projects: [ProjectPreviewModel]?
required init() {
}
}
class WorkExpFilePreviewModel: SmartCodable {
var fileName: String = ""
var fileUrl: String = ""
required init() {
}
}
class AddressPreviewModel: SmartCodable {
var area: [String] = []
var country: String = ""
var details: String = ""
var foreign: String = ""
required init() {
}
}
class ProjectPreviewModel: SmartCodable {
var id: Int = 0
var order_id: Int = 0
var work_id: Int = 0
var project_name: String = ""
var project_start_time: String = ""
var project_end_time: String = ""
var project_highlights: String = ""
var update_from_appid: Int = 0
var create_from_appid: Int = 0
var customer_center_id: Int = 0
var created_at: String = ""
var updated_at: String = ""
var deleted_at: String = ""
required init() {
}
}
...@@ -61,7 +61,6 @@ extension YHPreviewInfoCell { ...@@ -61,7 +61,6 @@ extension YHPreviewInfoCell {
} }
} }
else if model?.cellType == .idCardInfoType { else if model?.cellType == .idCardInfoType {
guard let model = model else { return } guard let model = model else { return }
let view = YHPreviewInfoCertificateInformationItemsView(frame: .zero) let view = YHPreviewInfoCertificateInformationItemsView(frame: .zero)
view.dataModel = model view.dataModel = model
...@@ -71,8 +70,6 @@ extension YHPreviewInfoCell { ...@@ -71,8 +70,6 @@ extension YHPreviewInfoCell {
} }
} }
else if model?.cellType == .idPictureType { else if model?.cellType == .idPictureType {
guard let model = model else { return } guard let model = model else { return }
let view = YHPreviewInfoCertificatePictureItemsView(frame: .zero) let view = YHPreviewInfoCertificatePictureItemsView(frame: .zero)
view.dataModel = model view.dataModel = model
...@@ -81,9 +78,7 @@ extension YHPreviewInfoCell { ...@@ -81,9 +78,7 @@ extension YHPreviewInfoCell {
make.edges.equalTo(0) make.edges.equalTo(0)
} }
} }
else if model?.cellType == .questionAndAnswer { else if model?.cellType == .questionAndAnswer {
guard let model = model else { return } guard let model = model else { return }
let view = YHPreviewInfoQuestionAndAnswerItemsView(frame: .zero) let view = YHPreviewInfoQuestionAndAnswerItemsView(frame: .zero)
view.dataModel = model view.dataModel = model
...@@ -92,7 +87,9 @@ extension YHPreviewInfoCell { ...@@ -92,7 +87,9 @@ extension YHPreviewInfoCell {
make.edges.equalTo(0) make.edges.equalTo(0)
} }
} }
else if model?.cellType == .workExp {
//工作经验
}
else { else {
} }
......
...@@ -36,7 +36,6 @@ class YHPreviewInfoQuestionAndAnswerItemView: UIView { ...@@ -36,7 +36,6 @@ class YHPreviewInfoQuestionAndAnswerItemView: UIView {
lable0.font = UIFont.PFSC_R(ofSize: 14) lable0.font = UIFont.PFSC_R(ofSize: 14)
lable0.numberOfLines = 0 lable0.numberOfLines = 0
lable0.lineBreakMode = .byWordWrapping lable0.lineBreakMode = .byWordWrapping
// lable0.textAlignment = .right
return lable0 return lable0
}() }()
...@@ -62,40 +61,15 @@ class YHPreviewInfoQuestionAndAnswerItemView: UIView { ...@@ -62,40 +61,15 @@ class YHPreviewInfoQuestionAndAnswerItemView: UIView {
}() }()
// private lazy var remarkTextField : UITextView = {
// let lable0 = UITextView(frame: .zero)
// lable0.contentInset = UIEdgeInsets(top: 20, left: 12, bottom: 12, right: 12)
// lable0.textColor = UIColor.labelTextColor2
// lable0.font = UIFont.PFSC_R(ofSize: 14)
// lable0.backgroundColor = .contentBkgColor
// lable0.layer.cornerRadius = kCornerRadius6
// lable0.clipsToBounds = true
// lable0.isEditable = false
// lable0.isSelectable = false
// lable0.isScrollEnabled = false
// lable0.text = "我是测试数据哈"
// lable0.isHidden = true
// return lable0
// }()
private func setupUI() { private func setupUI() {
addSubview(nameLable) addSubview(nameLable)
nameLable.snp.makeConstraints { make in nameLable.snp.makeConstraints { make in
make.top.equalToSuperview().offset(18) make.top.equalToSuperview().offset(18)
make.left.equalToSuperview() make.left.equalToSuperview()
make.right.equalToSuperview() make.right.equalToSuperview()
make.height.equalTo(20)
} }
addSubview(subtitleLable) addSubview(subtitleLable)
// subtitleLable.snp.makeConstraints { make in
// make.top.equalTo(nameLable.snp.bottom).offset(8)
// make.right.equalToSuperview()
// make.left.equalToSuperview()
//
// make.bottom.equalToSuperview()
// }
} }
var dataModel : YHPreviewQuestionAndAnswerModel? { var dataModel : YHPreviewQuestionAndAnswerModel? {
...@@ -109,7 +83,6 @@ extension YHPreviewInfoQuestionAndAnswerItemView { ...@@ -109,7 +83,6 @@ extension YHPreviewInfoQuestionAndAnswerItemView {
func updateUI() { func updateUI() {
guard let model = dataModel else { return } guard let model = dataModel else { return }
removeSubviews() removeSubviews()
setupUI() setupUI()
...@@ -117,7 +90,6 @@ extension YHPreviewInfoQuestionAndAnswerItemView { ...@@ -117,7 +90,6 @@ extension YHPreviewInfoQuestionAndAnswerItemView {
subtitleLable.text = model.answer subtitleLable.text = model.answer
if let remark = model.remark { if let remark = model.remark {
subtitleLable.snp.makeConstraints { make in subtitleLable.snp.makeConstraints { make in
make.top.equalTo(nameLable.snp.bottom).offset(8) make.top.equalTo(nameLable.snp.bottom).offset(8)
make.right.equalToSuperview() make.right.equalToSuperview()
......
...@@ -120,7 +120,7 @@ class YHInformationFillTipsAlertView: UIView { ...@@ -120,7 +120,7 @@ class YHInformationFillTipsAlertView: UIView {
make.height.equalTo(48) make.height.equalTo(48)
} }
checkBtn.layoutIfNeeded()//非常重要!!!! checkBtn.layoutIfNeeded()//非常重要!!!!
checkBtn.backgroundGradient() checkBtn.addYinHeGradualLayer()
......
...@@ -88,7 +88,7 @@ class YHLoginTipsView: UIView { ...@@ -88,7 +88,7 @@ class YHLoginTipsView: UIView {
loginBtn.addTarget(self, action: #selector(clickLoginBtn), for: .touchUpInside) loginBtn.addTarget(self, action: #selector(clickLoginBtn), for: .touchUpInside)
loginBtn.layoutIfNeeded() loginBtn.layoutIfNeeded()
loginBtn.backgroundGradient() loginBtn.addYinHeGradualLayer()
} }
required init?(coder: NSCoder) { required init?(coder: NSCoder) {
......
...@@ -184,7 +184,7 @@ class YHSubmintAllInfoSuccessTipView: UIView { ...@@ -184,7 +184,7 @@ class YHSubmintAllInfoSuccessTipView: UIView {
make.height.equalTo(45) make.height.equalTo(45)
} }
agreeButton.layoutIfNeeded() agreeButton.layoutIfNeeded()
agreeButton.backgroundGradient() agreeButton.addYinHeGradualLayer()
} }
......
...@@ -128,7 +128,8 @@ class YHSubmitAllInfoCheckView: UIView { ...@@ -128,7 +128,8 @@ class YHSubmitAllInfoCheckView: UIView {
make.height.equalTo(45) make.height.equalTo(45)
} }
agreeButton.layoutIfNeeded() agreeButton.layoutIfNeeded()
agreeButton.backgroundGradient() agreeButton.addYinHeGradualLayer()
agreeButton.addYinHeGradualLayer()
} }
......
...@@ -100,33 +100,6 @@ extension UIButton { ...@@ -100,33 +100,6 @@ extension UIButton {
} }
} }
extension UIButton {
/// 渐变背景
@discardableResult
func backgroundGradient<T: UIButton>() -> T {
let gradientLayer = CAGradientLayer()
//几个颜色
gradientLayer.colors = UIColor.arrBrandGradaterColors.map { $0.cgColor }
//颜色的分界点
gradientLayer.locations = [0, 1.0]
//开始
gradientLayer.startPoint = CGPoint(x: 0.12, y: 0.25)
//结束,主要是控制渐变方向
gradientLayer.endPoint = CGPoint(x: 0.38, y: 0.25)
//多大区域
gradientLayer.frame = bounds
UIGraphicsBeginImageContext(gradientLayer.frame.size)
if let context = UIGraphicsGetCurrentContext() {
gradientLayer.render(in: context)
let outputImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
setBackgroundImage(outputImage, for: .normal)
}
return self as! T
}
}
// 扩大点击范围 // 扩大点击范围
extension UIButton{ extension UIButton{
......
...@@ -153,7 +153,6 @@ class YHAllApiName { ...@@ -153,7 +153,6 @@ class YHAllApiName {
static let verifyCode = "user/verify-code" static let verifyCode = "user/verify-code"
} }
//预览相关接口 //预览相关接口
struct Preview { struct Preview {
//其他信息 //其他信息
...@@ -164,5 +163,9 @@ class YHAllApiName { ...@@ -164,5 +163,9 @@ class YHAllApiName {
static let previewMainApplicationInfoApi = "infoflow/order-information/get_information" static let previewMainApplicationInfoApi = "infoflow/order-information/get_information"
//家庭成员信息 //家庭成员信息
static let previewFamilyInfoApi = "infoflow/information/family" static let previewFamilyInfoApi = "infoflow/information/family"
//学历/专业资格
static let previewAcademicAndProfessionalQualificationInfoApi = "infoflow/education/preview"
//工作经验
static let previewWorkExpInfoApi = "infoflow/work/preview"
} }
} }
...@@ -95,12 +95,13 @@ class YHNetRequest: NSObject { ...@@ -95,12 +95,13 @@ class YHNetRequest: NSObject {
requestHeader.add(name:"sign",value:sign) requestHeader.add(name:"sign",value:sign)
requestHeader.add(name: "token", value: YHLoginManager.shared.userModel?.token ?? "-") requestHeader.add(name: "token", value: YHLoginManager.shared.userModel?.token ?? "-")
// testToken(&requestHeader) //for test hjl 使用测试token
headers = requestHeader headers = requestHeader
} }
private func testToken(_ requestHeader:inout HTTPHeaders) { private func testToken(_ requestHeader:inout HTTPHeaders) {
//金龙的账号 //金龙的账号
// requestHeader.add(name: "token", value:/* "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTE2MDcwNjQsImkiOjE0NDg0MTczMjc0MjE2LCJ1Ijoi6ZO25rKz6ZuG5ZuiIiwiciI6InN1cGVyX2FwcCJ9.KwTWdaLy5UG4LLs6i-D9ne0RflRTT5v4zvu-66yihDE")*/ requestHeader.add(name: "token", value: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTE2MDcwNjQsImkiOjE0NDg0MTczMjc0MjE2LCJ1Ijoi6ZO25rKz6ZuG5ZuiIiwiciI6InN1cGVyX2FwcCJ9.KwTWdaLy5UG4LLs6i-D9ne0RflRTT5v4zvu-66yihDE")
// requestHeader.add(name: "token", value:"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTE3ODI1OTUsImkiOjEyNDMwMTA1MTY0OTA0LCJ1Ijoi6ZO25rKz6ZuG5ZuiIiwiciI6InN1cGVyX2FwcCJ9.jqWpIf3SmbetApdErmBIYh-YEhX1zF_WqgqgOq5oI2A") // requestHeader.add(name: "token", value:"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTE3ODI1OTUsImkiOjEyNDMwMTA1MTY0OTA0LCJ1Ijoi6ZO25rKz6ZuG5ZuiIiwiciI6InN1cGVyX2FwcCJ9.jqWpIf3SmbetApdErmBIYh-YEhX1zF_WqgqgOq5oI2A")
} }
......
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