Commit 8a9b7841 authored by David黄金龙's avatar David黄金龙

Merge commit 'e4a4cd53' into davidhuang

* commit 'e4a4cd53':
  // 学历
  // 学历/专业资格填写
  // 专业证书选择器
  // 我的界面

# Conflicts:
#	galaxy/galaxy.xcodeproj/project.pbxproj
parents e5c70b7d e4a4cd53
...@@ -18,6 +18,10 @@ ...@@ -18,6 +18,10 @@
041B52D62B5F899E007EBCEB /* YHSpousePrimaryInfoVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 041B52D52B5F899E007EBCEB /* YHSpousePrimaryInfoVC.swift */; }; 041B52D62B5F899E007EBCEB /* YHSpousePrimaryInfoVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 041B52D52B5F899E007EBCEB /* YHSpousePrimaryInfoVC.swift */; };
041B52DB2B5FDF8E007EBCEB /* YHFamilyInitialInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 041B52DA2B5FDF8E007EBCEB /* YHFamilyInitialInfo.swift */; }; 041B52DB2B5FDF8E007EBCEB /* YHFamilyInitialInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 041B52DA2B5FDF8E007EBCEB /* YHFamilyInitialInfo.swift */; };
041B52DD2B60A889007EBCEB /* YHTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 041B52DC2B60A889007EBCEB /* YHTest.swift */; }; 041B52DD2B60A889007EBCEB /* YHTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 041B52DC2B60A889007EBCEB /* YHTest.swift */; };
042F888B2B8477C6008B60BD /* YHEducationInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 042F888A2B8477C6008B60BD /* YHEducationInfo.swift */; };
042F888F2B847B2D008B60BD /* YHEducationRequestViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 042F888E2B847B2D008B60BD /* YHEducationRequestViewModel.swift */; };
042F88932B84AEF0008B60BD /* YHQuestionInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 042F88922B84AEF0008B60BD /* YHQuestionInfo.swift */; };
042F88952B84AFC7008B60BD /* YHQuestionList.plist in Resources */ = {isa = PBXBuildFile; fileRef = 042F88942B84AFC7008B60BD /* YHQuestionList.plist */; };
042FBBBB2B62806D00F9DE23 /* YHCertificateInfoController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 042FBBBA2B62806D00F9DE23 /* YHCertificateInfoController.swift */; }; 042FBBBB2B62806D00F9DE23 /* YHCertificateInfoController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 042FBBBA2B62806D00F9DE23 /* YHCertificateInfoController.swift */; };
042FBBBD2B63519C00F9DE23 /* YHFormItemSelectSheetCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 042FBBBC2B63519C00F9DE23 /* YHFormItemSelectSheetCell.swift */; }; 042FBBBD2B63519C00F9DE23 /* YHFormItemSelectSheetCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 042FBBBC2B63519C00F9DE23 /* YHFormItemSelectSheetCell.swift */; };
042FBBBF2B639F0300F9DE23 /* YHSpouseBasicInfoVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 042FBBBE2B639F0300F9DE23 /* YHSpouseBasicInfoVC.swift */; }; 042FBBBF2B639F0300F9DE23 /* YHSpouseBasicInfoVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 042FBBBE2B639F0300F9DE23 /* YHSpouseBasicInfoVC.swift */; };
...@@ -283,6 +287,10 @@ ...@@ -283,6 +287,10 @@
041B52D52B5F899E007EBCEB /* YHSpousePrimaryInfoVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHSpousePrimaryInfoVC.swift; sourceTree = "<group>"; }; 041B52D52B5F899E007EBCEB /* YHSpousePrimaryInfoVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHSpousePrimaryInfoVC.swift; sourceTree = "<group>"; };
041B52DA2B5FDF8E007EBCEB /* YHFamilyInitialInfo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHFamilyInitialInfo.swift; sourceTree = "<group>"; }; 041B52DA2B5FDF8E007EBCEB /* YHFamilyInitialInfo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHFamilyInitialInfo.swift; sourceTree = "<group>"; };
041B52DC2B60A889007EBCEB /* YHTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHTest.swift; sourceTree = "<group>"; }; 041B52DC2B60A889007EBCEB /* YHTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHTest.swift; sourceTree = "<group>"; };
042F888A2B8477C6008B60BD /* YHEducationInfo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHEducationInfo.swift; sourceTree = "<group>"; };
042F888E2B847B2D008B60BD /* YHEducationRequestViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHEducationRequestViewModel.swift; sourceTree = "<group>"; };
042F88922B84AEF0008B60BD /* YHQuestionInfo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHQuestionInfo.swift; sourceTree = "<group>"; };
042F88942B84AFC7008B60BD /* YHQuestionList.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = YHQuestionList.plist; sourceTree = "<group>"; };
042FBBBA2B62806D00F9DE23 /* YHCertificateInfoController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHCertificateInfoController.swift; sourceTree = "<group>"; }; 042FBBBA2B62806D00F9DE23 /* YHCertificateInfoController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHCertificateInfoController.swift; sourceTree = "<group>"; };
042FBBBC2B63519C00F9DE23 /* YHFormItemSelectSheetCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHFormItemSelectSheetCell.swift; sourceTree = "<group>"; }; 042FBBBC2B63519C00F9DE23 /* YHFormItemSelectSheetCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHFormItemSelectSheetCell.swift; sourceTree = "<group>"; };
042FBBBE2B639F0300F9DE23 /* YHSpouseBasicInfoVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHSpouseBasicInfoVC.swift; sourceTree = "<group>"; }; 042FBBBE2B639F0300F9DE23 /* YHSpouseBasicInfoVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHSpouseBasicInfoVC.swift; sourceTree = "<group>"; };
...@@ -608,6 +616,17 @@ ...@@ -608,6 +616,17 @@
path = M; path = M;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
042F88892B847720008B60BD /* M */ = {
isa = PBXGroup;
children = (
042F888A2B8477C6008B60BD /* YHEducationInfo.swift */,
042F888E2B847B2D008B60BD /* YHEducationRequestViewModel.swift */,
042F88922B84AEF0008B60BD /* YHQuestionInfo.swift */,
042F88942B84AFC7008B60BD /* YHQuestionList.plist */,
);
path = M;
sourceTree = "<group>";
};
042FBBD22B67A2F900F9DE23 /* PickerView */ = { 042FBBD22B67A2F900F9DE23 /* PickerView */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
...@@ -734,6 +753,7 @@ ...@@ -734,6 +753,7 @@
04C693652B73183E004C1758 /* 学历专业资格填写 */ = { 04C693652B73183E004C1758 /* 学历专业资格填写 */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
042F88892B847720008B60BD /* M */,
04C693672B7318D3004C1758 /* V */, 04C693672B7318D3004C1758 /* V */,
04C693662B7318CD004C1758 /* C */, 04C693662B7318CD004C1758 /* C */,
); );
...@@ -1577,6 +1597,7 @@ ...@@ -1577,6 +1597,7 @@
A5FD63DC2B6628F600D1D9DA /* scoreOptionData.plist in Resources */, A5FD63DC2B6628F600D1D9DA /* scoreOptionData.plist in Resources */,
04808C062B4686510056D53C /* ATAuthSDK.bundle in Resources */, 04808C062B4686510056D53C /* ATAuthSDK.bundle in Resources */,
A5C5B2EE2B4F9B8800A7C5D1 /* Localizable.xcstrings in Resources */, A5C5B2EE2B4F9B8800A7C5D1 /* Localizable.xcstrings in Resources */,
042F88952B84AFC7008B60BD /* YHQuestionList.plist in Resources */,
A58951C52B398D1000225C19 /* Launch Screen.storyboard in Resources */, A58951C52B398D1000225C19 /* Launch Screen.storyboard in Resources */,
0468D4772B68A08600CFB916 /* area.plist in Resources */, 0468D4772B68A08600CFB916 /* area.plist in Resources */,
A51044182B493675006B60BB /* README.md in Resources */, A51044182B493675006B60BB /* README.md in Resources */,
...@@ -1681,6 +1702,7 @@ ...@@ -1681,6 +1702,7 @@
A5ACE9292B4564F7002C94D2 /* YHSmsCodeInputView.swift in Sources */, A5ACE9292B4564F7002C94D2 /* YHSmsCodeInputView.swift in Sources */,
A5ACE9452B4564F7002C94D2 /* YHHUDContainerView.swift in Sources */, A5ACE9452B4564F7002C94D2 /* YHHUDContainerView.swift in Sources */,
A5ACE93A2B4564F7002C94D2 /* NSAttributedString+Extension.swift in Sources */, A5ACE93A2B4564F7002C94D2 /* NSAttributedString+Extension.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 */,
A5C5B2E82B4EC95600A7C5D1 /* YHDavidTestCollectionViewCell.swift in Sources */, A5C5B2E82B4EC95600A7C5D1 /* YHDavidTestCollectionViewCell.swift in Sources */,
...@@ -1749,6 +1771,7 @@ ...@@ -1749,6 +1771,7 @@
A5C5B32D2B57D66000A7C5D1 /* YHBbxCollectionViewCell.swift in Sources */, A5C5B32D2B57D66000A7C5D1 /* YHBbxCollectionViewCell.swift in Sources */,
A50AB89D2B81F1FB00C227DE /* YHOtherInfoFillViewModel.swift in Sources */, A50AB89D2B81F1FB00C227DE /* YHOtherInfoFillViewModel.swift in Sources */,
0468D47C2B68A08600CFB916 /* YHAddressPickView.swift in Sources */, 0468D47C2B68A08600CFB916 /* YHAddressPickView.swift in Sources */,
042F888F2B847B2D008B60BD /* YHEducationRequestViewModel.swift in Sources */,
04C693622B723AB8004C1758 /* YHMySettingViewController.swift in Sources */, 04C693622B723AB8004C1758 /* YHMySettingViewController.swift in Sources */,
A5FD63D82B6603A500D1D9DA /* YHScoreResultView.swift in Sources */, A5FD63D82B6603A500D1D9DA /* YHScoreResultView.swift in Sources */,
A5ACE9342B4564F7002C94D2 /* YHAllApiName.swift in Sources */, A5ACE9342B4564F7002C94D2 /* YHAllApiName.swift in Sources */,
...@@ -1762,6 +1785,7 @@ ...@@ -1762,6 +1785,7 @@
04E86E432B8357EC00A35F4B /* YHMainInformationModel.swift in Sources */, 04E86E432B8357EC00A35F4B /* YHMainInformationModel.swift in Sources */,
04E86E2F2B81EA1000A35F4B /* YHWorkExperienceListViewController.swift in Sources */, 04E86E2F2B81EA1000A35F4B /* YHWorkExperienceListViewController.swift in Sources */,
A50AB8A32B830ACE00C227DE /* YHOtherResidenceFillView.swift in Sources */, A50AB8A32B830ACE00C227DE /* YHOtherResidenceFillView.swift in Sources */,
042F88932B84AEF0008B60BD /* YHQuestionInfo.swift in Sources */,
A5ACE93F2B4564F7002C94D2 /* UIViewController+Extension.swift in Sources */, A5ACE93F2B4564F7002C94D2 /* UIViewController+Extension.swift in Sources */,
042FBBD62B67BDD500F9DE23 /* YHBrotherInfoVC.swift in Sources */, 042FBBD62B67BDD500F9DE23 /* YHBrotherInfoVC.swift in Sources */,
A5ACE9472B4564F7002C94D2 /* YHHUD.swift in Sources */, A5ACE9472B4564F7002C94D2 /* YHHUD.swift in Sources */,
......
...@@ -325,6 +325,7 @@ extension YHInformationPerfectListVC : UITableViewDelegate,UITableViewDataSource ...@@ -325,6 +325,7 @@ extension YHInformationPerfectListVC : UITableViewDelegate,UITableViewDataSource
} else if indexPath.row == 1 { } else if indexPath.row == 1 {
//家庭程序信息 //家庭程序信息
let vc = YHFamilyMemberInfoVC(orderId: orderId ?? 0) let vc = YHFamilyMemberInfoVC(orderId: orderId ?? 0)
vc.orderId = 133971
navigationController?.pushViewController(vc) navigationController?.pushViewController(vc)
} else if indexPath.row == 2 { } else if indexPath.row == 2 {
//基本信息 //基本信息
...@@ -334,6 +335,8 @@ extension YHInformationPerfectListVC : UITableViewDelegate,UITableViewDataSource ...@@ -334,6 +335,8 @@ extension YHInformationPerfectListVC : UITableViewDelegate,UITableViewDataSource
} else if indexPath.row == 3 { } else if indexPath.row == 3 {
//学历/专业资格 //学历/专业资格
let vc = YHEducationalQualificationVC() let vc = YHEducationalQualificationVC()
vc.orderId = orderId
vc.orderId = 133971
navigationController?.pushViewController(vc) navigationController?.pushViewController(vc)
} else if indexPath.row == 4 { } else if indexPath.row == 4 {
......
...@@ -81,6 +81,8 @@ enum YHFormAddItemType:Int { ...@@ -81,6 +81,8 @@ enum YHFormAddItemType:Int {
case addChild = 1 case addChild = 1
case addBrother case addBrother
case addDegree case addDegree
case addEducation
case addCertificateInfo
} }
// 表单具体条目类型 // 表单具体条目类型
...@@ -189,6 +191,8 @@ enum YHFormDetailItemType:Int { ...@@ -189,6 +191,8 @@ enum YHFormDetailItemType:Int {
// 上课城市 // 上课城市
case educationCity case educationCity
// 证书信息
case certificateInfo
// 资格证书名称 // 资格证书名称
case qualificationCertificateName case qualificationCertificateName
// 颁授机构全称 // 颁授机构全称
...@@ -218,6 +222,10 @@ class YHFormAddItem : YHFormItemProtocol ...@@ -218,6 +222,10 @@ class YHFormAddItem : YHFormItemProtocol
return "新增兄弟姐妹".local return "新增兄弟姐妹".local
case .addDegree: case .addDegree:
return "增加学位信息".local return "增加学位信息".local
case .addEducation:
return "新增学历信息".local
case .addCertificateInfo:
return "新增证书信息".local
} }
} }
...@@ -481,6 +489,8 @@ class YHFormDetailItem : YHFormItemProtocol { ...@@ -481,6 +489,8 @@ class YHFormDetailItem : YHFormItemProtocol {
case .educationInfo: case .educationInfo:
return "".local return "".local
case .certificateInfo:
return "".local
case .universityFullName: case .universityFullName:
return "学校全称".local return "学校全称".local
case .educationStyle: case .educationStyle:
...@@ -510,9 +520,8 @@ class YHFormDetailItem : YHFormItemProtocol { ...@@ -510,9 +520,8 @@ class YHFormDetailItem : YHFormItemProtocol {
return "颁授国家/地区".local return "颁授国家/地区".local
case .conferCity: case .conferCity:
return "颁授城市".local return "颁授城市".local
} }
} }
func getSubTitle() -> String { func getSubTitle() -> String {
......
...@@ -209,10 +209,21 @@ class YHFormPickerView: UIView { ...@@ -209,10 +209,21 @@ class YHFormPickerView: UIView {
[YHFormPickerViewItem(type: .degreeLocation(.domestic)), [YHFormPickerViewItem(type: .degreeLocation(.domestic)),
YHFormPickerViewItem(type: .degreeLocation(.forgin))], YHFormPickerViewItem(type: .degreeLocation(.forgin))],
.professionCertificate:
[YHFormPickerViewItem(type: .professionCertificate(.CFA)),
YHFormPickerViewItem(type: .professionCertificate(.CFP)),
YHFormPickerViewItem(type: .professionCertificate(.FRM)),
YHFormPickerViewItem(type: .professionCertificate(.FIA)),
YHFormPickerViewItem(type: .professionCertificate(.CPA)),
YHFormPickerViewItem(type: .professionCertificate(.CIIA)),
YHFormPickerViewItem(type: .professionCertificate(.RFC)),
YHFormPickerViewItem(type: .professionCertificate(.ACCA)),
YHFormPickerViewItem(type: .professionCertificate(.CIA)),
YHFormPickerViewItem(type: .professionCertificate(.CMA)),
YHFormPickerViewItem(type: .professionCertificate(.CQF)),
YHFormPickerViewItem(type: .professionCertificate(.CIMA)),
YHFormPickerViewItem(type: .professionCertificate(.ACA))],
] ]
}() }()
...@@ -365,6 +376,8 @@ class YHFormPickerView: UIView { ...@@ -365,6 +376,8 @@ class YHFormPickerView: UIView {
return "选择学位" return "选择学位"
case .profession: case .profession:
return "职业" return "职业"
case .professionCertificate:
return "选择证书名称"
} }
} }
} }
...@@ -401,6 +414,10 @@ extension YHFormPickerView: UIPickerViewDelegate, UIPickerViewDataSource { ...@@ -401,6 +414,10 @@ extension YHFormPickerView: UIPickerViewDelegate, UIPickerViewDataSource {
} }
} }
func rowSize(forComponent component: Int) -> CGSize {
return CGSize(width: KScreenWidth, height: 250)
}
func pickerView(_ pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusing view: UIView?) -> UIView { func pickerView(_ pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusing view: UIView?) -> UIView {
let label = UILabel() let label = UILabel()
...@@ -556,8 +573,49 @@ extension YHFormPickerView { ...@@ -556,8 +573,49 @@ extension YHFormPickerView {
} else if title.contains("其他") { } else if title.contains("其他") {
return .profession(.other) return .profession(.other)
}
case .professionCertificate:
if title.contains("CFA") {
return .professionCertificate(.CFA)
} else if title.contains("CFP") {
return .professionCertificate(.CFP)
} else if title.contains("FRM") {
return .professionCertificate(.FRM)
} else if title.contains("FIA") {
return .professionCertificate(.FIA)
} else if title.contains("CPA") {
return .professionCertificate(.CPA)
} else if title.contains("CIIA") {
return .professionCertificate(.CIIA)
} else if title.contains("RFC") {
return .professionCertificate(.RFC)
} else if title.contains("ACCA") {
return .professionCertificate(.ACCA)
} else if title.contains("CIA") {
return .professionCertificate(.CIA)
} else if title.contains("CMA") {
return .professionCertificate(.CMA)
} else if title.contains("CQF") {
return .professionCertificate(.CQF)
} else if title.contains("CIMA") {
return .professionCertificate(.CIMA)
} else if title.contains("英国皇家特许会计师") {
return .professionCertificate(.ACA)
} }
} }
return .none return .none
} }
......
...@@ -31,6 +31,8 @@ enum YHFormPickerViewType: Int { ...@@ -31,6 +31,8 @@ enum YHFormPickerViewType: Int {
case identity case identity
// 颁发地区 // 颁发地区
case degreeLocation case degreeLocation
// 专业证书
case professionCertificate
} }
...@@ -157,6 +159,35 @@ enum YHPickerViewDegreeLocationType:Int { ...@@ -157,6 +159,35 @@ enum YHPickerViewDegreeLocationType:Int {
case forgin = 2 case forgin = 2
} }
enum YHPickerViewProfessionalCertificateType:Int {
// CFA(注册金融分析师)
case CFA = 0
// CFP(CFP证书是目前世界上权威的权威理财顾问认证项目之一)
case CFP
// FRM(金融风险管理师)
case FRM
// FIA(保险精算师)
case FIA
// CPA(注册会计师)
case CPA
// CIIA(注册国际投资分析师)
case CIIA
// RFC(财务顾问师)
case RFC
// ACCA(特许公认会计师)
case ACCA
// CIA(国际注册内部审计师)
case CIA
// CMA(美国管理会计师)
case CMA
// CQF(国际数量金融工程认证)
case CQF
// CIMA(管理会计师考试)
case CIMA
// The Associate Chartered Accountant(英国皇家特许会计师)
case ACA
}
enum YHFormPickerViewSubType { enum YHFormPickerViewSubType {
case none case none
...@@ -170,6 +201,7 @@ enum YHFormPickerViewSubType { ...@@ -170,6 +201,7 @@ enum YHFormPickerViewSubType {
case identity(YHPickerViewIdentityType) case identity(YHPickerViewIdentityType)
case degreeLocation(YHPickerViewDegreeLocationType) case degreeLocation(YHPickerViewDegreeLocationType)
case profession(YHPicerViewProfessionType) case profession(YHPicerViewProfessionType)
case professionCertificate(YHPickerViewProfessionalCertificateType)
var title:String { var title:String {
switch self { switch self {
...@@ -279,6 +311,33 @@ enum YHFormPickerViewSubType { ...@@ -279,6 +311,33 @@ enum YHFormPickerViewSubType {
case .profession(.other): case .profession(.other):
return "其他".local return "其他".local
case .professionCertificate(.CFA):
return "CFA(注册金融分析师)"
case .professionCertificate(.CFP):
return "CFP(CFP证书是目前世界上权威的权威理财顾问认证项目之一)"
case .professionCertificate(.FRM):
return "FRM(金融风险管理师)"
case .professionCertificate(.FIA):
return "FIA(保险精算师)"
case .professionCertificate(.CPA):
return "CPA(注册会计师)"
case .professionCertificate(.CIIA):
return "CIIA(注册国际投资分析师)"
case .professionCertificate(.RFC):
return "RFC(财务顾问师)"
case .professionCertificate(.ACCA):
return "ACCA(特许公认会计师)"
case .professionCertificate(.CIA):
return "CIA(国际注册内部审计师)"
case .professionCertificate(.CMA):
return "CMA(美国管理会计师)"
case .professionCertificate(.CQF):
return "CQF(国际数量金融工程认证)"
case .professionCertificate(.CIMA):
return "CIMA(管理会计师考试)"
case .professionCertificate(.ACA):
return "The Associate Chartered Accountant(英国皇家特许会计师)"
return "" return ""
} }
} }
...@@ -391,7 +450,35 @@ enum YHFormPickerViewSubType { ...@@ -391,7 +450,35 @@ enum YHFormPickerViewSubType {
return 10 return 10
case .profession(.other): case .profession(.other):
return 11 return 11
}
case .professionCertificate(.CFA):
return 1
case .professionCertificate(.CFP):
return 2
case .professionCertificate(.FRM):
return 3
case .professionCertificate(.FIA):
return 4
case .professionCertificate(.CPA):
return 5
case .professionCertificate(.CIIA):
return 6
case .professionCertificate(.RFC):
return 7
case .professionCertificate(.ACCA):
return 8
case .professionCertificate(.CIA):
return 9
case .professionCertificate(.CMA):
return 10
case .professionCertificate(.CQF):
return 11
case .professionCertificate(.CIMA):
return 12
case .professionCertificate(.ACA):
return 13
return -1 return -1
}
} }
} }
...@@ -11,11 +11,12 @@ import UIKit ...@@ -11,11 +11,12 @@ import UIKit
class YHEducationalQualificationVC: YHBaseViewController { class YHEducationalQualificationVC: YHBaseViewController {
let familyRequest:YHFamilyRequestViewModel = YHFamilyRequestViewModel() var orderId:Int?
let educationRequest:YHEducationRequestViewModel = YHEducationRequestViewModel()
var familyMemberInfo: YHFamilyMemberGroupInfo? var familyMemberInfo: YHFamilyMemberGroupInfo?
var isChildsEditMode: YHFormTitleItemEditType = .none var isChildsEditMode: YHFormTitleItemEditType = .none
var isBrothersEditMode: YHFormTitleItemEditType = .none var isBrothersEditMode: YHFormTitleItemEditType = .none
var educationInfo: YHEducationListInfo?
var items:[[YHFormItemProtocol]] = [] var items:[[YHFormItemProtocol]] = []
lazy var tableView: UITableView = { lazy var tableView: UITableView = {
...@@ -34,6 +35,9 @@ class YHEducationalQualificationVC: YHBaseViewController { ...@@ -34,6 +35,9 @@ class YHEducationalQualificationVC: YHBaseViewController {
tableView.register(YHEducationInfoCell.self, forCellReuseIdentifier: YHEducationInfoCell.cellReuseIdentifier) tableView.register(YHEducationInfoCell.self, forCellReuseIdentifier: YHEducationInfoCell.cellReuseIdentifier)
tableView.register(YHFormItemTitleCell.self, forCellReuseIdentifier: YHFormItemTitleCell.cellReuseIdentifier) tableView.register(YHFormItemTitleCell.self, forCellReuseIdentifier: YHFormItemTitleCell.cellReuseIdentifier)
tableView.register(YHFormItemAddCell.self, forCellReuseIdentifier: YHFormItemAddCell.cellReuseIdentifier) tableView.register(YHFormItemAddCell.self, forCellReuseIdentifier: YHFormItemAddCell.cellReuseIdentifier)
tableView.register(YHFormItemEnterDetailCell.self, forCellReuseIdentifier: YHFormItemEnterDetailCell.cellReuseIdentifier)
tableView.register(YHFormItemAddCell.self, forCellReuseIdentifier: YHFormItemAddCell.cellReuseIdentifier)
tableView.register(YHFormItemQuestionsCell.self, forCellReuseIdentifier: YHFormItemQuestionsCell.cellReuseIdentifier)
return tableView return tableView
}() }()
...@@ -72,16 +76,56 @@ class YHEducationalQualificationVC: YHBaseViewController { ...@@ -72,16 +76,56 @@ class YHEducationalQualificationVC: YHBaseViewController {
} }
loadInfo() loadInfo()
requestEducationInfo()
} }
func loadInfo() { func loadInfo() {
guard let educationInfo = educationInfo else { return }
items.removeAll() items.removeAll()
// 主申请人学历
let title0 = YHFormTitleItem(type: .mainApplicantEducation) let title0 = YHFormTitleItem(type: .mainApplicantEducation)
let item00 = YHFormDetailItem(type: .educationInfo) var arr0:[YHFormItemProtocol] = [title0]
let arr0:[YHFormItemProtocol] = [title0, item00] if let eduList = educationInfo.eduList {
for (index, eduInfo) in eduList.enumerated() {
let item = YHFormDetailItem(type: .educationInfo)
arr0.append(item)
}
}
// 新增学历信息
arr0.append(YHFormAddItem(type: .addEducation))
items.append(arr0) items.append(arr0)
// 主申请人专业资格及会员资格
let title1 = YHFormTitleItem(type: .mainApplicantProfessionalQualification)
var arr1:[YHFormItemProtocol] = [title1]
if let quaList = educationInfo.quaList {
for (index, quaInfo) in quaList.enumerated() {
let item = YHFormDetailItem(type: .certificateInfo)
arr1.append(item)
}
}
// 新增学历信息
arr1.append(YHFormAddItem(type: .addCertificateInfo))
items.append(arr1)
// 学历证书姓名及出生日期正确性
let title2 = YHFormTitleItem(type: .edutionalCertificateNameAndBirthday)
var arr2:[YHFormItemProtocol] = [title2]
// 问题集合
let questions = YHQuestionInfo.getEducationQuestion()
for questionInfo in questions {
if questionInfo.key == "qualification" {
questionInfo.answer = educationInfo.qualification
} else if questionInfo.key == "graduate" {
questionInfo.answer = educationInfo.graduate
}
arr2.append(questionInfo)
}
items.append(arr2)
self.tableView.reloadData() self.tableView.reloadData()
} }
} }
...@@ -109,7 +153,6 @@ extension YHEducationalQualificationVC : UITableViewDelegate, UITableViewDataSou ...@@ -109,7 +153,6 @@ extension YHEducationalQualificationVC : UITableViewDelegate, UITableViewDataSou
let formItem = item as! YHFormTitleItem let formItem = item as! YHFormTitleItem
// 配偶父母子女兄妹title
let cell = tableView.dequeueReusableCell(withIdentifier: YHFormItemTitleCell.cellReuseIdentifier, for: indexPath) as! YHFormItemTitleCell let cell = tableView.dequeueReusableCell(withIdentifier: YHFormItemTitleCell.cellReuseIdentifier, for: indexPath) as! YHFormItemTitleCell
cell.titleLabel.text = formItem.getTitle() cell.titleLabel.text = formItem.getTitle()
cell.subTitleLabel.text = formItem.getSubTitle() cell.subTitleLabel.text = formItem.getSubTitle()
...@@ -131,11 +174,91 @@ extension YHEducationalQualificationVC : UITableViewDelegate, UITableViewDataSou ...@@ -131,11 +174,91 @@ extension YHEducationalQualificationVC : UITableViewDelegate, UITableViewDataSou
return cell return cell
} }
if item is YHFormAddItem {
let detailItem = item as! YHFormAddItem
let cell = tableView.dequeueReusableCell(withIdentifier: YHFormItemAddCell.cellReuseIdentifier, for: indexPath) as! YHFormItemAddCell
if detailItem.type == .addEducation {
cell.title = "新增学历信息"
} else if detailItem.type == .addCertificateInfo {
cell.title = "新增证书信息"
} else {
cell.title = ""
}
return cell
}
if item is YHQuestionInfo {
let detailItem = item as! YHQuestionInfo
let cell = tableView.dequeueReusableCell(withIdentifier: YHFormItemQuestionsCell.cellReuseIdentifier, for: indexPath) as! YHFormItemQuestionsCell
cell.isMust = true
cell.title = String(format: "%d、\(detailItem.question)", indexPath.row)
var select0 = false
var select1 = false
if detailItem.answer == 1 {
select0 = true
} else if detailItem.answer == 2 {
select1 = true
}
let answers = [YHFormChoiceItem(title: "是".local, isSelect: select0),YHFormChoiceItem(title: "否".local, isSelect: select1)]
cell.answerArr = answers
return cell
}
if item is YHFormDetailItem { if item is YHFormDetailItem {
let detailItem = item as! YHFormDetailItem let detailItem = item as! YHFormDetailItem
if detailItem.type == .educationInfo { if detailItem.type == .educationInfo {
let cell = tableView.dequeueReusableCell(withIdentifier: YHEducationInfoCell.cellReuseIdentifier, for: indexPath) as! YHEducationInfoCell if let eduList = educationInfo?.eduList {
return cell // 第一行是标题
let eduInfo:YHEducationInfo = eduList[indexPath.row-1]
if eduInfo.vacantNum > 0 {
let cell = tableView.dequeueReusableCell(withIdentifier: YHFormItemEnterDetailCell.cellReuseIdentifier, for: indexPath) as! YHFormItemEnterDetailCell
if let college = eduInfo.college, !college.isEmpty {
cell.title = eduInfo.college
} else {
cell.title = "学历标题".local
}
cell.detailLabel.text = String(format: "有%d项未填", eduInfo.vacantNum)
return cell
} else {
let cell = tableView.dequeueReusableCell(withIdentifier: YHEducationInfoCell.cellReuseIdentifier, for: indexPath) as! YHEducationInfoCell
cell.titleLabel.text = eduInfo.college
cell.subTitleLabel.text = ""
if let professional = eduInfo.professional, let background = eduInfo.background {
cell.subTitleLabel.text = String("\(background)-\(professional)")
}
cell.timeLabel.text = ""
if let admissionTime = eduInfo.admissionTime, let graduateTime = eduInfo.graduateTime {
cell.timeLabel.text = String("\(admissionTime)-\(graduateTime)")
}
return cell
}
}
}
if detailItem.type == .certificateInfo {
if let quaList = educationInfo?.quaList {
// 第一行是标题
let quaInfo:YHQualificationInfo = quaList[indexPath.row-1]
let cell = tableView.dequeueReusableCell(withIdentifier: YHFormItemEnterDetailCell.cellReuseIdentifier, for: indexPath) as! YHFormItemEnterDetailCell
cell.title = "证书标题"
if let qualification = quaInfo.qualification, !qualification.isEmpty {
cell.title = qualification
}
if quaInfo.vacantNum > 0 {
cell.detailLabel.text = String(format: "有%d项未填", quaInfo.vacantNum)
} else {
cell.detailLabel.text = "已填完".local
}
return cell
}
} }
} }
...@@ -184,6 +307,33 @@ extension YHEducationalQualificationVC : UITableViewDelegate, UITableViewDataSou ...@@ -184,6 +307,33 @@ extension YHEducationalQualificationVC : UITableViewDelegate, UITableViewDataSou
return return
} }
if item is YHFormAddItem {
let detailItem = item as! YHFormAddItem
if detailItem.type == .addEducation {
let vc = YHEducationDetailVC()
self.navigationController?.pushViewController(vc)
} else if detailItem.type == .addCertificateInfo {
let vc = YHProfessionalQualificationVC()
self.navigationController?.pushViewController(vc)
}
return
}
if item is YHFormDetailItem {
let detailItem = item as! YHFormDetailItem
if detailItem.type == .educationInfo { // 学历
let vc = YHEducationDetailVC()
self.navigationController?.pushViewController(vc)
return
}
if detailItem.type == .certificateInfo { // 证书
let vc = YHProfessionalQualificationVC()
self.navigationController?.pushViewController(vc)
return
}
}
let vc = YHEducationDetailVC() let vc = YHEducationDetailVC()
self.navigationController?.pushViewController(vc) self.navigationController?.pushViewController(vc)
} }
...@@ -209,4 +359,20 @@ extension YHEducationalQualificationVC : UITableViewDelegate, UITableViewDataSou ...@@ -209,4 +359,20 @@ extension YHEducationalQualificationVC : UITableViewDelegate, UITableViewDataSou
} }
} }
extension YHEducationalQualificationVC {
// 请求家庭成员信息
func requestEducationInfo() {
self.educationRequest.requestEducationInfo(params: ["order_id": self.orderId!]) {
[weak self] success, error in
guard let self = self else { return }
if success {
educationInfo = self.educationRequest.educationInfo
loadInfo()
}
}
}
}
...@@ -80,7 +80,7 @@ class YHProfessionalQualificationVC: YHBaseViewController { ...@@ -80,7 +80,7 @@ class YHProfessionalQualificationVC: YHBaseViewController {
let title0 = YHFormTitleItem(type: .mainApplicantEducation) let title0 = YHFormTitleItem(type: .mainApplicantEducation)
let item00 = YHFormDetailItem(type: .qualificationCertificateName) let item00 = YHFormDetailItem(type: .qualificationCertificateName)
item00.placeHolder = "请输入资格证书名称".local item00.placeHolder = "请选择资格证书名称".local
let item01 = YHFormDetailItem(type: .conferAgencyFullName) let item01 = YHFormDetailItem(type: .conferAgencyFullName)
item01.placeHolder = "请输入颁授机构全称".local item01.placeHolder = "请输入颁授机构全称".local
let item02 = YHFormDetailItem(type: .conferTime) let item02 = YHFormDetailItem(type: .conferTime)
...@@ -194,7 +194,16 @@ extension YHProfessionalQualificationVC : UITableViewDelegate, UITableViewDataSo ...@@ -194,7 +194,16 @@ extension YHProfessionalQualificationVC : UITableViewDelegate, UITableViewDataSo
} }
if item is YHFormDetailItem { if item is YHFormDetailItem {
let detailItem = item as! YHFormDetailItem let detailItem = item as! YHFormDetailItem
if detailItem.type == .conferTime { // 授权年份
if detailItem.type == .qualificationCertificateName { // 资格证书名称
YHFormPickerView.show(type: .professionCertificate, selectType: .professionCertificate(.ACA)) {
[weak self] selectType in
guard let self = self else { return }
}
} else if detailItem.type == .conferTime { // 授权年份
YHDatePickView.show(type: .yyyy) { YHDatePickView.show(type: .yyyy) {
[weak self] date in [weak self] date in
...@@ -250,13 +259,13 @@ extension YHProfessionalQualificationVC : UITableViewDelegate, UITableViewDataSo ...@@ -250,13 +259,13 @@ extension YHProfessionalQualificationVC : UITableViewDelegate, UITableViewDataSo
if item is YHFormDetailItem { if item is YHFormDetailItem {
let detailItem = item as! YHFormDetailItem let detailItem = item as! YHFormDetailItem
if detailItem.type == .conferAgencyFullName if detailItem.type == .conferAgencyFullName {
|| detailItem.type == .qualificationCertificateName {
return .inputText return .inputText
} }
if detailItem.type == .conferTime if detailItem.type == .conferTime
|| detailItem.type == .conferCountry || detailItem.type == .conferCountry
|| detailItem.type == .conferCity { || detailItem.type == .conferCity
|| detailItem.type == .qualificationCertificateName{
return .selectSheet return .selectSheet
} }
......
//
// YHEducationInfo.swift
// galaxy
//
// Created by edy on 2024/2/20.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
import SmartCodable
class YHEducationListInfo:SmartCodable {
var eduList: [YHEducationInfo]?
var eduCount: Int = 0
var quaList: [YHQualificationInfo]?
var quaCount: Int = 0
var qualification: Int = 0
var graduate: Int = 0
var married: Int = 0
enum CodingKeys: String, CodingKey {
case eduList = "edu_list"
case eduCount = "edu_count"
case quaList = "qua_list"
case quaCount = "qua_count"
case qualification = "qualification"
case graduate = "graduate"
case married = "married"
}
required init() {
}
}
class YHEducationInfo: SmartCodable {
var id: Int = -1
var orderId: Int = -1
var college: String?
var background: String?
var professional: String?
var admissionTime: String?
var graduateTime: String?
var vacantNum: Int = 0
enum CodingKeys: String, CodingKey {
case id = "id"
case orderId = "order_id"
case college = "college"
case background = "background"
case professional = "professional"
case admissionTime = "admission_time"
case graduateTime = "graduate_time"
case vacantNum = "vacant_num"
}
required init() {
}
}
class YHQualificationInfo: SmartCodable {
var id: Int = -1
var orderId: Int = -1
var qualification: String?
var vacantNum: Int = 0
enum CodingKeys: String, CodingKey {
case id = "id"
case orderId = "order_id"
case qualification = "qualification"
case vacantNum = "vacant_num"
}
required init() {
}
}
//
// YHEducationRequestViewModel.swift
// galaxy
//
// Created by edy on 2024/2/20.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHEducationRequestViewModel {
var educationInfo: YHEducationListInfo?
// 添加家庭成员
func requestEducationInfo(params:[String:Any], callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
YHHUD.show(.progress(message: "数据加载中..."))
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Education.educationInfoApi
let _ = YHNetRequest.getRequest(url: strUrl, params:params) {[weak self] 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)
return
}
printLog("model 是 ==> \(model)")
let dic = model.data?.peel as? [AnyHashable : Any]
guard let resultModel = YHEducationListInfo.deserialize(dict: dic as? [AnyHashable : Any]) else {
callBackBlock(false,nil)
return
}
educationInfo = resultModel
callBackBlock(true,nil)
} failBlock: { err in
callBackBlock(false,err)
}
}
}
//
// YHQuestionInfo.swift
// galaxy
//
// Created by edy on 2024/2/20.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
import SmartCodable
class YHQuestionInfo: SmartCodable, YHFormItemProtocol {
var key: String = ""
var question: String = ""
var answer: Int = 0
enum CodingKeys: String, CodingKey {
case key = "key"
case question = "question"
case answer = "answer"
}
required init() {
}
func getTitle() -> String {
return question
}
func getSubTitle() -> String {
return ""
}
}
extension YHQuestionInfo {
// 【问题】学历证书姓名及出生日期正确性
static func getEducationQuestion() -> [YHQuestionInfo] {
let path = Bundle.main.path(forResource: "YHQuestionList", ofType: "plist")
let questions:[Dictionary] = NSArray(contentsOfFile:path!) as! [Dictionary<String, Any>]
var res:[YHQuestionInfo] = []
for dict in questions {
guard let questionInfo = YHQuestionInfo.deserialize(dict: dict as? [AnyHashable : Any]) else {
continue
}
res.append(questionInfo)
}
return res
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<dict>
<key>key</key>
<string>qualification</string>
<key>question</key>
<string>您的所有学历及资格证书上的姓名及出生日期,是否与身份证完全一致 ?(例如:身份证上是【张四】。学位证上是【张三】,则为不相同)</string>
<key>answer</key>
<integer>0</integer>
</dict>
<dict>
<key>key</key>
<string>graduate</string>
<key>question</key>
<string>您配偶的大学毕业证和学位证上的姓名及出生日期,是否与身份证完全一致?</string>
<key>answer</key>
<integer>0</integer>
</dict>
</array>
</plist>
...@@ -13,7 +13,7 @@ class YHEducationInfoCell: UITableViewCell { ...@@ -13,7 +13,7 @@ class YHEducationInfoCell: UITableViewCell {
static let cellReuseIdentifier = "YHEducationInfoCell" static let cellReuseIdentifier = "YHEducationInfoCell"
let horizonalGap = 18.0 let horizonalGap = 18.0
private lazy var titleLabel: UILabel = { lazy var titleLabel: UILabel = {
let label = UILabel() let label = UILabel()
label.textColor = .mainTextColor label.textColor = .mainTextColor
label.textAlignment = .left label.textAlignment = .left
...@@ -21,7 +21,7 @@ class YHEducationInfoCell: UITableViewCell { ...@@ -21,7 +21,7 @@ class YHEducationInfoCell: UITableViewCell {
return label return label
}() }()
private lazy var subTitleLabel: UILabel = { lazy var subTitleLabel: UILabel = {
let label = UILabel() let label = UILabel()
label.textColor = .labelTextColor2 label.textColor = .labelTextColor2
label.textAlignment = .left label.textAlignment = .left
...@@ -30,7 +30,7 @@ class YHEducationInfoCell: UITableViewCell { ...@@ -30,7 +30,7 @@ class YHEducationInfoCell: UITableViewCell {
return label return label
}() }()
private lazy var timeLabel: UILabel = { lazy var timeLabel: UILabel = {
let label = UILabel() let label = UILabel()
label.textColor = .labelTextColor2 label.textColor = .labelTextColor2
label.textAlignment = .right label.textAlignment = .right
...@@ -38,16 +38,6 @@ class YHEducationInfoCell: UITableViewCell { ...@@ -38,16 +38,6 @@ class YHEducationInfoCell: UITableViewCell {
return label return label
}() }()
private lazy var tipsLabel: UILabel = {
let label = UILabel()
label.textColor = .failColor
label.textAlignment = .left
label.numberOfLines = 0
label.font = UIFont.PFSC_R(ofSize: 12)
label.isHidden = true
return label
}()
private lazy var arrowImgView: UIImageView = { private lazy var arrowImgView: UIImageView = {
let imgView = UIImageView(image: UIImage(named: "form_right_arrow")) let imgView = UIImageView(image: UIImage(named: "form_right_arrow"))
return imgView return imgView
...@@ -83,15 +73,10 @@ class YHEducationInfoCell: UITableViewCell { ...@@ -83,15 +73,10 @@ class YHEducationInfoCell: UITableViewCell {
contentView.addSubview(subTitleLabel) contentView.addSubview(subTitleLabel)
contentView.addSubview(timeLabel) contentView.addSubview(timeLabel)
contentView.addSubview(arrowImgView) contentView.addSubview(arrowImgView)
contentView.addSubview(tipsLabel)
contentView.addSubview(bottomLine) contentView.addSubview(bottomLine)
titleLabel.setContentCompressionResistancePriority(.required, for: .horizontal) titleLabel.setContentCompressionResistancePriority(.required, for: .horizontal)
titleLabel.text = "啊发沙发沙发"
subTitleLabel.text = "法术法"
timeLabel.text = "2141234124214123412421412341242141234124"
titleLabel.snp.makeConstraints { make in titleLabel.snp.makeConstraints { make in
make.left.equalToSuperview().offset(horizonalGap) make.left.equalToSuperview().offset(horizonalGap)
make.right.equalTo(timeLabel.snp.left).offset(-8) make.right.equalTo(timeLabel.snp.left).offset(-8)
...@@ -112,6 +97,7 @@ class YHEducationInfoCell: UITableViewCell { ...@@ -112,6 +97,7 @@ class YHEducationInfoCell: UITableViewCell {
subTitleLabel.snp.makeConstraints { make in subTitleLabel.snp.makeConstraints { make in
make.left.equalTo(titleLabel) make.left.equalTo(titleLabel)
make.top.equalTo(titleLabel.snp.bottom).offset(4) make.top.equalTo(titleLabel.snp.bottom).offset(4)
make.bottom.equalToSuperview().offset(-16)
make.right.equalToSuperview().offset(-horizonalGap) make.right.equalToSuperview().offset(-horizonalGap)
} }
...@@ -121,31 +107,5 @@ class YHEducationInfoCell: UITableViewCell { ...@@ -121,31 +107,5 @@ class YHEducationInfoCell: UITableViewCell {
make.height.equalTo(1.0) make.height.equalTo(1.0)
make.bottom.equalToSuperview() make.bottom.equalToSuperview()
} }
setTips("asdfafasdfasfaasdfafasdfasfaasdfafasdfasfaasdfafasdfasfaasdfafasdfasfaasdfafasdfasfaasdfafasdfasfaasdfafasdfasfaasdfafasdfasfa", isShow: true)
}
func setTips(_ tips:String?, isShow:Bool) {
tipsLabel.text = tips
tipsLabel.isHidden = !isShow
if isShow {
tipsLabel.snp.remakeConstraints { make in
make.left.equalToSuperview().offset(horizonalGap)
make.right.equalToSuperview().offset(-horizonalGap)
make.top.equalTo(subTitleLabel.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(subTitleLabel.snp.bottom)
make.height.equalTo(0)
make.bottom.equalToSuperview().offset(-16)
}
}
self.setNeedsLayout()
self.layoutIfNeeded()
} }
} }
...@@ -37,11 +37,11 @@ class YHMyViewController: YHBaseViewController, ConstraintRelatableTarget { ...@@ -37,11 +37,11 @@ class YHMyViewController: YHBaseViewController, ConstraintRelatableTarget {
lazy var items: [PersonalModuleItem] = { lazy var items: [PersonalModuleItem] = {
return [PersonalModuleItem(icon: "mine_item_msg", title: "我的消息".local), return [PersonalModuleItem(icon: "mine_item_msg", title: "我的消息".local),
PersonalModuleItem(icon: "mine_item_progress", title: "我的进度".local), PersonalModuleItem(icon: "mine_item_progress", title: "我的进度".local),
PersonalModuleItem(icon: "mine_manager", title: "积分中心".local), PersonalModuleItem(icon: "mine_item_scoreCenter", title: "积分中心".local),
PersonalModuleItem(icon: "mine_manager", title: "推荐有礼".local), PersonalModuleItem(icon: "mine_item_recommend", title: "推荐有礼".local),
PersonalModuleItem(icon: "mine_manager", title: "我的海报".local), PersonalModuleItem(icon: "mine_item_poster", title: "我的海报".local),
PersonalModuleItem(icon: "mine_manager", title: "我的测评码".local), PersonalModuleItem(icon: "mine_item_code", title: "我的测评码".local),
PersonalModuleItem(icon: "mine_manager", title: "预约银河湾".local),] PersonalModuleItem(icon: "mine_item_appoint", title: "预约银河湾".local),]
}() }()
lazy var headerView: YHUserInfoHeaderView = { lazy var headerView: YHUserInfoHeaderView = {
......
...@@ -19,9 +19,9 @@ class YHPersonalCenterCell: UITableViewCell { ...@@ -19,9 +19,9 @@ class YHPersonalCenterCell: UITableViewCell {
lazy var titleLabel:UILabel = { lazy var titleLabel:UILabel = {
let label = UILabel() let label = UILabel()
label.textColor = UIColor(hexString:"#333333") label.textColor = UIColor(hexString:"#141414")
label.textAlignment = NSTextAlignment.left label.textAlignment = NSTextAlignment.left
label.font = UIFont.systemFont(ofSize: 15) label.font = UIFont.PFSC_R(ofSize:15)
return label return label
}() }()
......
...@@ -38,6 +38,13 @@ class YHAllApiName { ...@@ -38,6 +38,13 @@ class YHAllApiName {
static let familyInfoApi = "frontend/order/information/family" static let familyInfoApi = "frontend/order/information/family"
// 删除家庭成员信息 // 删除家庭成员信息
static let familyMemberDeleteApi = "frontend/order/information/family/delete" static let familyMemberDeleteApi = "frontend/order/information/family/delete"
}
struct Education {
// 获取学历及证书相关信息
static let educationInfoApi = "frontend/education/list"
} }
//Users //Users
......
...@@ -95,7 +95,7 @@ class YHNetRequest: NSObject { ...@@ -95,7 +95,7 @@ class YHNetRequest: NSObject {
requestHeader.add(name:"sign",value:sign) requestHeader.add(name:"sign",value:sign)
requestHeader.add(name: "token", value: "eyJpdiI6IkduSzJuR09VZFB6azU2OU9FRXZcL2JRPT0iLCJ2YWx1ZSI6IkZ1VWZjY1NoZVRHdnh1R2pjZUZ2eGdyU0JVWFJcL1hFemhWYlR3QzA5TnRLVkVCaEREbmpLNk5HenZCVERlaFdXY0J0czFxUlpwTFdkQnV3ckVMU01neDhERlwvSUc4bGprQk9QdzlIaGJaVGd4TjZcL1VMelFidmhrTklhbXZCSkpVVFp1KzQ1VnRYbDByaGwwV0lSNmtpRnJza29aSFJ6Wis4MXFVRWRQSElNNWRFbjF5bTdINlpKTlFhXC9LNExhQ2k0RzNyTFhxR3JKcjB2YzhMaW85WVhhU0dPNmhhUmhRbHVzTXh1Vjd0anc4NjdYWGdWWFBiMm15WGJCR0IyZlJ5NjFGQ0UyaVdXNjB6bXNScFpJXC81SVQ3ZFZkVWlcL1dJV09iMFhtUjBuSSt3NllSMER2aTNmVXNCa1NqWGZQTnBXRmVHaStpSHRhK2lYRHNyRXBzWE9kSE9BMkcwcWFHTzcwYjlNVlwvN2xoallsSVwvbkxkYzVQdUhCcW84K3FsQ25VakRJUXRIUHk3NHQ5ZGpETWRNUVlZOFduV01ZVDZBVGJnMm1RcTRuR0pJU24rN1c1YW05UFJGTXI3Z0xETnlVQWRQTlpvK2IrZlY5bGFIbUpGaHBuUnJkMlU0NGg3Kys1SGlaZENBZTdQXC9YVTM4MW9ONkVvVVg4QzYzVmRNT3l2QTE3U3JpamJzRFFTYlplbUE1VlRjYkNsaVhUdUczdTgxamhQVm1cL0RYZzBFeDQ0R1U1YjFBYXhkWmNWSDc2MXlrQlYzMjJzK0FoMnFyWWxKRVhZaTN0NTVkVm5QcFd2TTdaMUloVjA1TDNKVWN0eUo5QTZGcHJuenpNeFwvSnNpTFJjQW1YbUNvNUJmRHRKXC9ldnFET2JTYVFlSlgwNkF5dmpOOG9ZdW1VSGZtWnlFbzhQQURGc01DclhEM2NoYjVqd0lOb3hIMUcxcmVDdzhQZGdGc1dNSUtsWUpKR081SGtFUmpDWElkcXlaR21rbktWRkV4V0lwNDRrSFNOcnpzRkw2N2ZuS0RVT1wvWTk4TUo5dktaSCtYeENzRjM0c1Z3MGtjVXBzVGxxMGlUVVVDMTFldGlxREVzV2ZLRkNnWVZMWTRsSGFtNHZMSWJ3ZlBXSzA3c0FnWXp0Z2VKY1wvYm9IYkI0WWVUZVQ4OG1KMXZQaFJmMXc3Mjdqc1N1dFNjYkJNYVhjN1AwNmtJcXlVMTYxK1BoRVIrUFwvVTVRVWdvc3kwR1AzdHdlQXIzUzFyb1NBbXFlakxaV21uYmZ0Y29LQW1RVEJrZXpueWtnWE1hMkthY3F3Z0FOYjVFaDZZVFhJZ0VnVzhNOFVJYVZWR3RjNGp3cUUxdGdxR25rbGt4RUZjb1wvbEdiVVZ1d2l1UExjU1RWMVBGbXd1cWo0and0M1U5aGtHWm1RUGoranpjTjd5cUR3Z05cL25pUG5lY1wvUmgrbFRzXC9qZVZwVlNiM0FmK1Y0bTVHYk93OGtHMitUTzdSOWFHQlFnZXhqWmRwR2trZ1ZIZjJDNVFITnNXRm5jNmJzK1lqRFFwWWxEQnhFR2FLUStiZEJsbDV4Vit2dDc0cURiVVwvS2ExVkE4RmMxZEpJMkNJK01kWm9aajJjOUJaUGkzTjRNOVpTeHdQZW1UOUlCSTNacDlUSHNDOVwvN1B0U1dSUWFyalJqTis2SW5GckUrT0cxN2pmSDZ3RlJ4bDdSVVhBMWdocjM1RlVaOCtHYkw0RVoyYXVEOFhNNEpVa2Rzd3prM0hKSjFqQnlQYUsyaTJNNmVsbE1HbXZwR1RGNmxlK2ltU3Jka2lVN3VEeGtwQ0NYWlZEOFFOaHgzWHQ0YjdnMU1yeVhNMFwvRm1FSFhVMmpxZ2p2TlpYQitPZGxrS2s4dmoyWnhRMGg5d0Vld2x5MVIrZz09IiwibWFjIjoiMGNjNWM2OWIzMmJlZGNjZGRjNDBkY2RhMGQzMTk2ODg4MmRlNWEwNzZlNDc5MGVkMWRmNDBmOWVkMDA4YzQzZCJ9") requestHeader.add(name: "token", value: "eyJpdiI6Ik5aeEVDclZTK0FISEFBZUgxN2VkdGc9PSIsInZhbHVlIjoiRFRJOHlObzVrZlp4T2tVYW1MSE1ZK0Z3dXlyK3p4QlczNmxsTXdkdW5GQVY4Q2VqZlNNUDdrdVpsb0JcLytpYmJheUp2MWZTUE5pOWgrVWRLdEtIUkx4R1wvS3F6SmRSQ0dWeFVXanFINGkyRWNMTXB4TVlcLzhjXC9NSzVoMFwvZ1ZOaVIwb0VqWlo1VERPSHY2RWJhME1RdWtkXC8yanBQdm9lMWM4WXJVK1BnMDd6SncwVVlWMDNnbSswSnM3eVwveFRRck03M3pOaDFSc3g0UmlYMTJQdmZpSkhUWHVMa21RV2xRbXBkalVTTUFicmFaN2NVNXl1ZTJOeEJoKzhrMnZtdzdvM1U5Qmh4WXNiSEFERUpiZHNWNkxoM2ZkVVRUdFlMMU1MQnIyaWNxNSt4S1NocDVEbnNqeHphUCtVVk1qTlVnMk1ydVNPamJ0c2tDQ1wvWFk1SkxtSWtDMU9oT3ZqaFpuNU5aVUVicHpYVU56VnlqK01Cb20welJMbkQrcTFWOHFUbzlPK0RGdDRcLzJ1T094MjNjYTVZZmJcL2txRE93cEFUYzlKWWdVWE9cLzFnYnVwTFZ4VUtqMFQ5QlgzZitDQjhyNURpU3p0bktqblBicUxPekNBcWRWM0g0WklSOEc0T0RPVkNBMGZQdEtWV3ZqN3IrcHZDYm9UNjREdnA3U1RZY1Z1dFE3K1RRM2F2eGY0QXc2dGlha0RBUDVpVHdFWE53dzl2eVczVk9VNTJSa1Fzb1J4ZGd0c0RCdktPQ1FWOUQ5Y0krckQ3bFc4NkNJMHliSXlnNGtYU1ZCUHRZWTdCKzA5d1wvdldzWTlpeUdYaEg4eGhITHpRSUthMWpSVlZvZVhwZ3BvamxCTHFSUXJmQ1hQNThYbUNNanZnVGs0b3RDTUFmYkdsYTEzeEtnTXJpZVU0QnJHWDJoUk9sUklzaFFhUkJiNWk0Z2E0cUUwejU4RmF2RnE4Z2U0eEo3VmZ2SmFMTlVacFBvSFlZUmM2N3liVTdhTk5NWU9YS0xtalk3QUN3NWV2UTlPeE5hMmk0aHU4MSt0YjNJQytFczRMa2l6XC9jV0Jxc01QYU0yYXdTXC92RXBxTFNVOVd6SlwvRm9KM21jUHlcL2diRlMyU3REeEl0K1RxSjRuck8xaXlOaWY4NXVzMVBibXpVSEZJWkVZQnFUd2k5TUVJcDUwUEFjTmljTzYyaWFYaFkzZUtkR294d29LUzBUTFF1Y0xxbWtMNFF4ZlZkN2k4YktEUnRGekU3OEdaN2J3TUR4T2FpVHRKaGlqRWNcL2c5dlwvOUVEVmdLNUhBSk1wSGV5UXVoOFJydlczc09HU1EyeXI4SFZZQmJJQWx1cGFIaXhmK1VJNmdoNmwrOElMZXFxSHZtazQreW84RFBlOXFnVDI2bm1tZWl0K01OcU1DSGJEQXdnWW9Hc0ptWFVJbXVXdEpyT2FKUHprTzJ1MkxFSEViZGV4cFpuOWRXK3dUdVR4bmJHZ1VRRGJycFRBME5lWUtaT0JCYjViSWVvcVJ3RXllb2tQZ1VkUWFqVWo0UHQzMUQwWVMwZ05rTTU0Nk1QQUdxTm9rZFNISVYrTG5DWlArNkt5RkZxajdZN1luakRKQVdUaVpnOUhCUExYMEVKRXRRT3QyZTI4cU9TdlBrbWxVZkFLSWZFbXNha3lCZUhFRVpyTmxQOERjbVwvMytCc0JpNnZcL1Nvek9yR2pUWGF2XC9VMzN4OEY5T3VsdUNGRFNWbHZZMnBzNHhMeEdIR21majBOOUJNbEhlK1J4S3dFTnlJamdTeFQyTWlTTlhCUWxnSDF6VmNhWHIzVGpoREY5clB2XC9uZHZjSm1iTHZ1bjFIUUFRait6dUJlUk1WQ1FhdXFoN002YlQ5MVwvQVMzYzJJQ0RFR1czdEtqMFBTQT09IiwibWFjIjoiOGVlZjBmNTVmMzEwNjhkZjVmYTlkYzAwYzllMjJmNjUyZmRmN2U1ODFiZTIzNzRjMDVjMTNiOTNhOWRhMmVkYSJ9")
headers = requestHeader headers = requestHeader
} }
......
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "mine_item_appoint@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "mine_item_appoint@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
...@@ -5,12 +5,12 @@ ...@@ -5,12 +5,12 @@
"scale" : "1x" "scale" : "1x"
}, },
{ {
"filename" : "mine_manager@2x.png", "filename" : "mine_item_code@2x.png",
"idiom" : "universal", "idiom" : "universal",
"scale" : "2x" "scale" : "2x"
}, },
{ {
"filename" : "mine_manager@3x.png", "filename" : "mine_item_code@3x.png",
"idiom" : "universal", "idiom" : "universal",
"scale" : "3x" "scale" : "3x"
} }
......
...@@ -5,12 +5,12 @@ ...@@ -5,12 +5,12 @@
"scale" : "1x" "scale" : "1x"
}, },
{ {
"filename" : "我的个人中心页面内的花瓣采集图片-木初十@2x.png", "filename" : "wode_xiaoxi@2x.png",
"idiom" : "universal", "idiom" : "universal",
"scale" : "2x" "scale" : "2x"
}, },
{ {
"filename" : "我的个人中心页面内的花瓣采集图片-木初十@3x.png", "filename" : "wode_xiaoxi@3x.png",
"idiom" : "universal", "idiom" : "universal",
"scale" : "3x" "scale" : "3x"
} }
......
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "mine_item_poster@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "mine_item_poster@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
...@@ -5,12 +5,12 @@ ...@@ -5,12 +5,12 @@
"scale" : "1x" "scale" : "1x"
}, },
{ {
"filename" : "我的个人中心页面内的花瓣采集图片-木初十.png", "filename" : "wode_jindu@2x.png",
"idiom" : "universal", "idiom" : "universal",
"scale" : "2x" "scale" : "2x"
}, },
{ {
"filename" : "我的个人中心页面内的花瓣采集图片-木初十-1.png", "filename" : "wode_jindu@3x.png",
"idiom" : "universal", "idiom" : "universal",
"scale" : "3x" "scale" : "3x"
} }
......
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "mine_item_recommend@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "mine_item_recommend@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "mine_item_scoreCenter@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "mine_item_scoreCenter@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
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