Commit ac4879e8 authored by David黄金龙's avatar David黄金龙

其他信息 UI 修改

parent ad60d466
...@@ -752,6 +752,8 @@ ...@@ -752,6 +752,8 @@
A51D14EB2C75E98500E2820C /* UINavigationController+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = A51D14EA2C75E98500E2820C /* UINavigationController+Extension.swift */; }; A51D14EB2C75E98500E2820C /* UINavigationController+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = A51D14EA2C75E98500E2820C /* UINavigationController+Extension.swift */; };
A520124F2BABCE05008655EA /* YHFileListContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A520124E2BABCE05008655EA /* YHFileListContentView.swift */; }; A520124F2BABCE05008655EA /* YHFileListContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A520124E2BABCE05008655EA /* YHFileListContentView.swift */; };
A537126F2C64EA0800FF1844 /* officalsuccess.gif in Resources */ = {isa = PBXBuildFile; fileRef = A537126E2C64EA0800FF1844 /* officalsuccess.gif */; }; A537126F2C64EA0800FF1844 /* officalsuccess.gif in Resources */ = {isa = PBXBuildFile; fileRef = A537126E2C64EA0800FF1844 /* officalsuccess.gif */; };
A53A35092CE87D2A002FE6A3 /* YHOtherLanguageSelecteView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A53A35082CE87D2A002FE6A3 /* YHOtherLanguageSelecteView.swift */; };
A53A350B2CE88B86002FE6A3 /* YHSingleOptionalItemsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A53A350A2CE88B86002FE6A3 /* YHSingleOptionalItemsView.swift */; };
A53B61122BB128AF0010B573 /* YHFileListItemsView2.swift in Sources */ = {isa = PBXBuildFile; fileRef = A53B61112BB128AF0010B573 /* YHFileListItemsView2.swift */; }; A53B61122BB128AF0010B573 /* YHFileListItemsView2.swift in Sources */ = {isa = PBXBuildFile; fileRef = A53B61112BB128AF0010B573 /* YHFileListItemsView2.swift */; };
A53B61192BB3C9960010B573 /* YHMyDocListHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A53B61182BB3C9960010B573 /* YHMyDocListHeaderView.swift */; }; A53B61192BB3C9960010B573 /* YHMyDocListHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A53B61182BB3C9960010B573 /* YHMyDocListHeaderView.swift */; };
A54A07C92C7F478200F749AB /* YHTravelHKDLGuideSheetView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A54A07C82C7F478200F749AB /* YHTravelHKDLGuideSheetView.swift */; }; A54A07C92C7F478200F749AB /* YHTravelHKDLGuideSheetView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A54A07C82C7F478200F749AB /* YHTravelHKDLGuideSheetView.swift */; };
...@@ -842,6 +844,8 @@ ...@@ -842,6 +844,8 @@
A59FD0732CBFAC7800BBED55 /* YHRangeDatePickerCell2.swift in Sources */ = {isa = PBXBuildFile; fileRef = A59FD06D2CBFAC7800BBED55 /* YHRangeDatePickerCell2.swift */; }; A59FD0732CBFAC7800BBED55 /* YHRangeDatePickerCell2.swift in Sources */ = {isa = PBXBuildFile; fileRef = A59FD06D2CBFAC7800BBED55 /* YHRangeDatePickerCell2.swift */; };
A59FD0772CC0A62A00BBED55 /* YHPickTimeHoldView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A59FD0762CC0A62A00BBED55 /* YHPickTimeHoldView.swift */; }; A59FD0772CC0A62A00BBED55 /* YHPickTimeHoldView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A59FD0762CC0A62A00BBED55 /* YHPickTimeHoldView.swift */; };
A5A89FD72C256B94005A71DD /* YHHomeLastMessageModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5A89FD62C256B94005A71DD /* YHHomeLastMessageModel.swift */; }; A5A89FD72C256B94005A71DD /* YHHomeLastMessageModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5A89FD62C256B94005A71DD /* YHHomeLastMessageModel.swift */; };
A5AC63EA2CE83F800080960D /* YHOtherMultipleChoiceItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5AC63E92CE83F800080960D /* YHOtherMultipleChoiceItemView.swift */; };
A5AC63EC2CE83FD30080960D /* YHOtherSingleChoiceItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5AC63EB2CE83FD30080960D /* YHOtherSingleChoiceItemView.swift */; };
A5ACE9282B4564F7002C94D2 /* YHSmsCodeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5ACE8DE2B4564F7002C94D2 /* YHSmsCodeView.swift */; }; A5ACE9282B4564F7002C94D2 /* YHSmsCodeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5ACE8DE2B4564F7002C94D2 /* YHSmsCodeView.swift */; };
A5ACE9292B4564F7002C94D2 /* YHSmsCodeInputView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5ACE8E02B4564F7002C94D2 /* YHSmsCodeInputView.swift */; }; A5ACE9292B4564F7002C94D2 /* YHSmsCodeInputView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5ACE8E02B4564F7002C94D2 /* YHSmsCodeInputView.swift */; };
A5ACE92C2B4564F7002C94D2 /* YHLoginStyleButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5ACE8E42B4564F7002C94D2 /* YHLoginStyleButton.swift */; }; A5ACE92C2B4564F7002C94D2 /* YHLoginStyleButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5ACE8E42B4564F7002C94D2 /* YHLoginStyleButton.swift */; };
...@@ -1726,6 +1730,8 @@ ...@@ -1726,6 +1730,8 @@
A51D14EA2C75E98500E2820C /* UINavigationController+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UINavigationController+Extension.swift"; sourceTree = "<group>"; }; A51D14EA2C75E98500E2820C /* UINavigationController+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UINavigationController+Extension.swift"; sourceTree = "<group>"; };
A520124E2BABCE05008655EA /* YHFileListContentView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHFileListContentView.swift; sourceTree = "<group>"; }; A520124E2BABCE05008655EA /* YHFileListContentView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHFileListContentView.swift; sourceTree = "<group>"; };
A537126E2C64EA0800FF1844 /* officalsuccess.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = officalsuccess.gif; sourceTree = "<group>"; }; A537126E2C64EA0800FF1844 /* officalsuccess.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = officalsuccess.gif; sourceTree = "<group>"; };
A53A35082CE87D2A002FE6A3 /* YHOtherLanguageSelecteView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHOtherLanguageSelecteView.swift; sourceTree = "<group>"; };
A53A350A2CE88B86002FE6A3 /* YHSingleOptionalItemsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHSingleOptionalItemsView.swift; sourceTree = "<group>"; };
A53B61112BB128AF0010B573 /* YHFileListItemsView2.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHFileListItemsView2.swift; sourceTree = "<group>"; }; A53B61112BB128AF0010B573 /* YHFileListItemsView2.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHFileListItemsView2.swift; sourceTree = "<group>"; };
A53B61182BB3C9960010B573 /* YHMyDocListHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMyDocListHeaderView.swift; sourceTree = "<group>"; }; A53B61182BB3C9960010B573 /* YHMyDocListHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMyDocListHeaderView.swift; sourceTree = "<group>"; };
A54A07C82C7F478200F749AB /* YHTravelHKDLGuideSheetView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHTravelHKDLGuideSheetView.swift; sourceTree = "<group>"; }; A54A07C82C7F478200F749AB /* YHTravelHKDLGuideSheetView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHTravelHKDLGuideSheetView.swift; sourceTree = "<group>"; };
...@@ -1820,6 +1826,8 @@ ...@@ -1820,6 +1826,8 @@
A59FD06F2CBFAC7800BBED55 /* YHRangeDatePickerView2.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHRangeDatePickerView2.swift; sourceTree = "<group>"; }; A59FD06F2CBFAC7800BBED55 /* YHRangeDatePickerView2.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHRangeDatePickerView2.swift; sourceTree = "<group>"; };
A59FD0762CC0A62A00BBED55 /* YHPickTimeHoldView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHPickTimeHoldView.swift; sourceTree = "<group>"; }; A59FD0762CC0A62A00BBED55 /* YHPickTimeHoldView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHPickTimeHoldView.swift; sourceTree = "<group>"; };
A5A89FD62C256B94005A71DD /* YHHomeLastMessageModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHHomeLastMessageModel.swift; sourceTree = "<group>"; }; A5A89FD62C256B94005A71DD /* YHHomeLastMessageModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHHomeLastMessageModel.swift; sourceTree = "<group>"; };
A5AC63E92CE83F800080960D /* YHOtherMultipleChoiceItemView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHOtherMultipleChoiceItemView.swift; sourceTree = "<group>"; };
A5AC63EB2CE83FD30080960D /* YHOtherSingleChoiceItemView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHOtherSingleChoiceItemView.swift; sourceTree = "<group>"; };
A5ACE8DE2B4564F7002C94D2 /* YHSmsCodeView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHSmsCodeView.swift; sourceTree = "<group>"; }; A5ACE8DE2B4564F7002C94D2 /* YHSmsCodeView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHSmsCodeView.swift; sourceTree = "<group>"; };
A5ACE8E02B4564F7002C94D2 /* YHSmsCodeInputView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHSmsCodeInputView.swift; sourceTree = "<group>"; }; A5ACE8E02B4564F7002C94D2 /* YHSmsCodeInputView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHSmsCodeInputView.swift; sourceTree = "<group>"; };
A5ACE8E42B4564F7002C94D2 /* YHLoginStyleButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHLoginStyleButton.swift; sourceTree = "<group>"; }; A5ACE8E42B4564F7002C94D2 /* YHLoginStyleButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHLoginStyleButton.swift; sourceTree = "<group>"; };
...@@ -2912,7 +2920,11 @@ ...@@ -2912,7 +2920,11 @@
045EEDF42B9F171A0022A143 /* YHOtherTextViewItemView.swift */, 045EEDF42B9F171A0022A143 /* YHOtherTextViewItemView.swift */,
045EEDF52B9F171A0022A143 /* YHOtherYesOrNoItemView.swift */, 045EEDF52B9F171A0022A143 /* YHOtherYesOrNoItemView.swift */,
045EEDF62B9F171A0022A143 /* YHOtherSelecteItemView.swift */, 045EEDF62B9F171A0022A143 /* YHOtherSelecteItemView.swift */,
A53A35082CE87D2A002FE6A3 /* YHOtherLanguageSelecteView.swift */,
045EEDF72B9F171A0022A143 /* YHOtherInfoSessionView.swift */, 045EEDF72B9F171A0022A143 /* YHOtherInfoSessionView.swift */,
A5AC63E92CE83F800080960D /* YHOtherMultipleChoiceItemView.swift */,
A5AC63EB2CE83FD30080960D /* YHOtherSingleChoiceItemView.swift */,
A53A350A2CE88B86002FE6A3 /* YHSingleOptionalItemsView.swift */,
); );
path = V; path = V;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -5581,6 +5593,7 @@ ...@@ -5581,6 +5593,7 @@
0468D4362B57752F00CFB916 /* YHUserModel.swift in Sources */, 0468D4362B57752F00CFB916 /* YHUserModel.swift in Sources */,
040450CF2CC8A0F400D1CFE5 /* YHResignDocumentMultiLineTipsCell.swift in Sources */, 040450CF2CC8A0F400D1CFE5 /* YHResignDocumentMultiLineTipsCell.swift in Sources */,
A567E5982BD7643D00D5D5A0 /* YHHKEventModel.swift in Sources */, A567E5982BD7643D00D5D5A0 /* YHHKEventModel.swift in Sources */,
A5AC63EC2CE83FD30080960D /* YHOtherSingleChoiceItemView.swift in Sources */,
045EEE992B9F171A0022A143 /* YHPreviewInfoHoldView.swift in Sources */, 045EEE992B9F171A0022A143 /* YHPreviewInfoHoldView.swift in Sources */,
045EEE7E2B9F171A0022A143 /* YHPersonInfoCellModel1.swift in Sources */, 045EEE7E2B9F171A0022A143 /* YHPersonInfoCellModel1.swift in Sources */,
047AA3DD2C4A6126009C4554 /* YHLifeViewController.swift in Sources */, 047AA3DD2C4A6126009C4554 /* YHLifeViewController.swift in Sources */,
...@@ -5596,9 +5609,11 @@ ...@@ -5596,9 +5609,11 @@
044E31C72CBD264D00500F8E /* YHResignInfoConfirmInfoListModel.swift in Sources */, 044E31C72CBD264D00500F8E /* YHResignInfoConfirmInfoListModel.swift in Sources */,
0430E63B2C6DA106000511E2 /* CGFloat+Extention.swift in Sources */, 0430E63B2C6DA106000511E2 /* CGFloat+Extention.swift in Sources */,
045EEF192B9F171A0022A143 /* YHAddressModel.swift in Sources */, 045EEF192B9F171A0022A143 /* YHAddressModel.swift in Sources */,
A5AC63EA2CE83F800080960D /* YHOtherMultipleChoiceItemView.swift in Sources */,
045EEEDB2B9F171A0022A143 /* YHCollegeSearchViewController.swift in Sources */, 045EEEDB2B9F171A0022A143 /* YHCollegeSearchViewController.swift in Sources */,
04C85DE72C36ADAE008B20D6 /* YHMyFileListHeaderView.swift in Sources */, 04C85DE72C36ADAE008B20D6 /* YHMyFileListHeaderView.swift in Sources */,
A598E9DC2C7CA52300F84739 /* YHTravelDocsPreparationTipsCell.swift in Sources */, A598E9DC2C7CA52300F84739 /* YHTravelDocsPreparationTipsCell.swift in Sources */,
A53A350B2CE88B86002FE6A3 /* YHSingleOptionalItemsView.swift in Sources */,
045EEE982B9F171A0022A143 /* YHPreviewInfoQuestionAndAnswerItemsView.swift in Sources */, 045EEE982B9F171A0022A143 /* YHPreviewInfoQuestionAndAnswerItemsView.swift in Sources */,
045EEE7A2B9F171A0022A143 /* YHPreviewForOtherInfoModel.swift in Sources */, 045EEE7A2B9F171A0022A143 /* YHPreviewForOtherInfoModel.swift in Sources */,
0414BDA92BC7E81500225367 /* YHMyPermissionSettingVC.swift in Sources */, 0414BDA92BC7E81500225367 /* YHMyPermissionSettingVC.swift in Sources */,
...@@ -5724,6 +5739,7 @@ ...@@ -5724,6 +5739,7 @@
043D2C8C2C0F037B00172438 /* YHServiceOrderSearchViewModel.swift in Sources */, 043D2C8C2C0F037B00172438 /* YHServiceOrderSearchViewModel.swift in Sources */,
0468D4262B495A5400CFB916 /* YHPickPhoneAddressViewController.swift in Sources */, 0468D4262B495A5400CFB916 /* YHPickPhoneAddressViewController.swift in Sources */,
A5FD45232C523DD300908AD9 /* YHJsApi.swift in Sources */, A5FD45232C523DD300908AD9 /* YHJsApi.swift in Sources */,
A53A35092CE87D2A002FE6A3 /* YHOtherLanguageSelecteView.swift in Sources */,
04B360E32C60A346001EB053 /* YHPrinciplePhotoListCell.swift in Sources */, 04B360E32C60A346001EB053 /* YHPrinciplePhotoListCell.swift in Sources */,
044EE2512C955CDE00A2FE3A /* YHResignGuidelinesExampleViewController.swift in Sources */, 044EE2512C955CDE00A2FE3A /* YHResignGuidelinesExampleViewController.swift in Sources */,
0457920F2CBCE9D000EBD99B /* YHResignUploadTravelCardListTableViewCell.swift in Sources */, 0457920F2CBCE9D000EBD99B /* YHResignUploadTravelCardListTableViewCell.swift in Sources */,
...@@ -6373,7 +6389,7 @@ ...@@ -6373,7 +6389,7 @@
CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_IDENTITY = "Apple Development";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Manual; CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 4; CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = ""; DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = RXHYW88XR7; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = RXHYW88XR7;
ENABLE_USER_SCRIPT_SANDBOXING = NO; ENABLE_USER_SCRIPT_SANDBOXING = NO;
...@@ -6400,7 +6416,7 @@ ...@@ -6400,7 +6416,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 1.0.3; MARKETING_VERSION = 1.0.4;
PRODUCT_BUNDLE_IDENTIFIER = com.intelligence.galaxy; PRODUCT_BUNDLE_IDENTIFIER = com.intelligence.galaxy;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
...@@ -6518,7 +6534,7 @@ ...@@ -6518,7 +6534,7 @@
CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_IDENTITY = "Apple Development";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Manual; CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 4; CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = ""; DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = RXHYW88XR7; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = RXHYW88XR7;
ENABLE_USER_SCRIPT_SANDBOXING = NO; ENABLE_USER_SCRIPT_SANDBOXING = NO;
...@@ -6545,7 +6561,7 @@ ...@@ -6545,7 +6561,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 1.0.3; MARKETING_VERSION = 1.0.4;
PRODUCT_BUNDLE_IDENTIFIER = com.intelligence.galaxy; PRODUCT_BUNDLE_IDENTIFIER = com.intelligence.galaxy;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
...@@ -6726,7 +6742,7 @@ ...@@ -6726,7 +6742,7 @@
CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_IDENTITY = "Apple Development";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Manual; CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 4; CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = ""; DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = RXHYW88XR7; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = RXHYW88XR7;
ENABLE_USER_SCRIPT_SANDBOXING = NO; ENABLE_USER_SCRIPT_SANDBOXING = NO;
...@@ -6753,7 +6769,7 @@ ...@@ -6753,7 +6769,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 1.0.3; MARKETING_VERSION = 1.0.4;
PRODUCT_BUNDLE_IDENTIFIER = com.intelligence.galaxy; PRODUCT_BUNDLE_IDENTIFIER = com.intelligence.galaxy;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
...@@ -6776,7 +6792,7 @@ ...@@ -6776,7 +6792,7 @@
CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_IDENTITY = "Apple Development";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Manual; CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 4; CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = ""; DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = RXHYW88XR7; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = RXHYW88XR7;
ENABLE_USER_SCRIPT_SANDBOXING = NO; ENABLE_USER_SCRIPT_SANDBOXING = NO;
...@@ -6803,7 +6819,7 @@ ...@@ -6803,7 +6819,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 1.0.3; MARKETING_VERSION = 1.0.4;
PRODUCT_BUNDLE_IDENTIFIER = com.intelligence.galaxy; PRODUCT_BUNDLE_IDENTIFIER = com.intelligence.galaxy;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
......
...@@ -24,9 +24,9 @@ class YHConfigManager: NSObject { ...@@ -24,9 +24,9 @@ class YHConfigManager: NSObject {
//测试环境-H5 //测试环境-H5
static let baseH5UrlTest : String = "https://test-hkdiy-h5.galaxy-immi.com" static let baseH5UrlTest : String = "https://test-hklife.galaxy-immi.com"
//正式环境-H5 //正式环境-H5
static let baseH5UrlRelease : String = "https://hkdiy-h5.galaxy-immi.com" static let baseH5UrlRelease : String = "https://hklife.galaxy-immi.com"
//h5地址 //h5地址
var h5Url : String { var h5Url : String {
......
...@@ -112,6 +112,25 @@ extension YHOtherInfoFillViewController { ...@@ -112,6 +112,25 @@ extension YHOtherInfoFillViewController {
private func submitDataOp(flag : Bool) { private func submitDataOp(flag : Bool) {
//提交 //提交
let model = otherInfoVM.otherInfoFillData let model = otherInfoVM.otherInfoFillData
//处理提交的数据 //for test hjl
var tID = 0
if let arr = model?.language_detail_new, arr.count > 0 {
tID = arr[0].id
}
let fakeData : LanguageDetailNew = LanguageDetailNew()
fakeData.id = tID
fakeData.first_select = 3
fakeData.second_select = "1"
fakeData.other_instructions = "DavidTest"
model?.language_detail_new = [fakeData]
model?.is_update = flag model?.is_update = flag
//保存 //保存
if let param = model?.toDictionary() { if let param = model?.toDictionary() {
...@@ -145,27 +164,27 @@ extension YHOtherInfoFillViewController { ...@@ -145,27 +164,27 @@ extension YHOtherInfoFillViewController {
private func dataIsOK() -> Bool { private func dataIsOK() -> Bool {
var returnValue : Bool = true var returnValue : Bool = true
if let model = otherInfoVM.otherInfoFillData { if let model = otherInfoVM.otherInfoFillData {
//1.居住信息 // //1.居住信息
for item in model.residences { // for item in model.residences {
if item.country.isEmpty || item.start_time.isEmpty || item.end_time.isEmpty { // if item.country.isEmpty || item.start_time.isEmpty || item.end_time.isEmpty {
returnValue = false // returnValue = false
return returnValue // return returnValue
} // }
} // }
//2.语言水平 // //2.语言水平
if model.language_detail?.levelDes.isEmpty == true { // if model.language_detail?.levelDes.isEmpty == true {
returnValue = false // returnValue = false
return returnValue // return returnValue
} else { // } else {
if let language = model.language_detail,language.level == 4 { // if let language = model.language_detail,language.level == 4 {
if language.name.isEmpty || language.remark.isEmpty { // if language.name.isEmpty || language.remark.isEmpty {
returnValue = false // returnValue = false
return returnValue // return returnValue
} // }
} // }
//
} // }
//3.专业技能行业 //3.专业技能行业
if model.profession?.optionDes.isEmpty == true { if model.profession?.optionDes.isEmpty == true {
......
...@@ -13,6 +13,13 @@ class YHOtherInfoFillModel: SmartCodable { ...@@ -13,6 +13,13 @@ class YHOtherInfoFillModel: SmartCodable {
var order_id: String = "" var order_id: String = ""
var residences: [Residence] = [] var residences: [Residence] = []
var language_detail: LanguageDetail? var language_detail: LanguageDetail?
//服务器返回
var language_detail_new : [LanguageDetailNew] = []
//数据储存在各端的数据
var language_detail_new_data : [LanguageDetailModel] = []
var profession: Profession? var profession: Profession?
var question: Question? var question: Question?
var is_update : Bool = false //true-提交 false-保存 var is_update : Bool = false //true-提交 false-保存
...@@ -63,6 +70,40 @@ class LanguageDetail : SmartCodable { ...@@ -63,6 +70,40 @@ class LanguageDetail : SmartCodable {
} }
} }
class LanguageDetailNew : SmartCodable {
var id: Int = 0
var first_select: Int = 0
var second_select : String = "" //"1,2,3" 兼容多选
var other_instructions: String = ""
required init() {
}
}
class LanguageOptionModel : SmartCodable {
var id: Int = 0
var name: String = ""
var select : Bool = false
var subname: String = ""
var highlight : String = ""
required init() {
}
}
class LanguageDetailModel : SmartCodable {
var id: Int = 0
var name: String = ""
var select : Bool = false
var other_instructions: String = ""
var options : [LanguageOptionModel] = []
required init() {
}
}
// MARK: - Profession // MARK: - Profession
class Profession : SmartCodable{ class Profession : SmartCodable{
var option: Int = -1 var option: Int = -1
......
...@@ -54,6 +54,11 @@ class YHOtherInfoFillCell: UITableViewCell { ...@@ -54,6 +54,11 @@ class YHOtherInfoFillCell: UITableViewCell {
let languageView = YHOtherSelecteItemView() let languageView = YHOtherSelecteItemView()
let skillView = YHOtherSelecteItemView() let skillView = YHOtherSelecteItemView()
private lazy var languageViewNew : YHOtherLanguageSelecteView = {
let view = YHOtherLanguageSelecteView()
return view
}()
} }
extension YHOtherInfoFillCell { extension YHOtherInfoFillCell {
...@@ -71,133 +76,134 @@ extension YHOtherInfoFillCell { ...@@ -71,133 +76,134 @@ extension YHOtherInfoFillCell {
contentView.backgroundColor = .clear contentView.backgroundColor = .clear
backgroundColor = .clear backgroundColor = .clear
//1.居住信息 // //1.居住信息
let holdView1 = createHoldView() // let holdView1 = createHoldView()
contentView.addSubview(holdView1) // contentView.addSubview(holdView1)
holdView1.snp.makeConstraints { make in // holdView1.snp.makeConstraints { make in
make.top.left.right.equalToSuperview() // make.top.left.right.equalToSuperview()
} // }
//
do { // do {
//
var lastTargetView : UIView! // var lastTargetView : UIView!
if dataModel.residences.count > 1 { // if dataModel.residences.count > 1 {
for (index,item) in dataModel.residences.enumerated() { // for (index,item) in dataModel.residences.enumerated() {
if index == 0 { // if index == 0 {
let sessionView = YHOtherInfoSessionView(frame: .zero) // let sessionView = YHOtherInfoSessionView(frame: .zero)
sessionView.type = 3 // sessionView.type = 3
sessionView.updateTitle(title: "居住信息") // sessionView.updateTitle(title: "居住信息")
holdView1.addSubview(sessionView) // holdView1.addSubview(sessionView)
sessionView.snp.makeConstraints { make in // sessionView.snp.makeConstraints { make in
make.top.equalToSuperview() // make.top.equalToSuperview()
make.left.equalToSuperview().offset(18) // make.left.equalToSuperview().offset(18)
make.right.equalToSuperview().offset(-18) // make.right.equalToSuperview().offset(-18)
make.height.equalTo(YHOtherInfoSessionView.viewH) // make.height.equalTo(YHOtherInfoSessionView.viewH)
} // }
//
let residenceView = YHOtherResidenceFillView(frame: .zero) // let residenceView = YHOtherResidenceFillView(frame: .zero)
item.needCheckFlag = dataModel.needCheckFlag // item.needCheckFlag = dataModel.needCheckFlag
residenceView.dataModel = item // residenceView.dataModel = item
holdView1.addSubview(residenceView) // holdView1.addSubview(residenceView)
//
residenceView.snp.makeConstraints { make in // residenceView.snp.makeConstraints { make in
make.top.equalTo(sessionView.snp.bottom) // make.top.equalTo(sessionView.snp.bottom)
make.left.equalToSuperview().offset(18) // make.left.equalToSuperview().offset(18)
make.right.equalToSuperview().offset(-18) // make.right.equalToSuperview().offset(-18)
} // }
//
lastTargetView = residenceView // lastTargetView = residenceView
} else { // } else {
let sessionView = YHOtherInfoSessionView(frame: .zero) // let sessionView = YHOtherInfoSessionView(frame: .zero)
//
let addationIndex = dataModel.residences.count > 1 ? String(index + 1) : "" // let addationIndex = dataModel.residences.count > 1 ? String(index + 1) : ""
let title = "居住信息" + addationIndex // let title = "居住信息" + addationIndex
sessionView.updateTitle(title: title) // sessionView.updateTitle(title: title)
sessionView.type = 1 // sessionView.type = 1
sessionView.tag = index // sessionView.tag = index
sessionView.block = { tag in // sessionView.block = { tag in
if tag < dataModel.residences.count { // if tag < dataModel.residences.count {
dataModel.residences.remove(at: tag) // dataModel.residences.remove(at: tag)
self.block?() // self.block?()
} // }
} // }
//
holdView1.addSubview(sessionView) // holdView1.addSubview(sessionView)
sessionView.snp.makeConstraints { make in // sessionView.snp.makeConstraints { make in
make.top.equalTo(lastTargetView.snp.bottom).offset(kMargin) // make.top.equalTo(lastTargetView.snp.bottom).offset(kMargin)
make.left.equalToSuperview().offset(18) // make.left.equalToSuperview().offset(18)
make.right.equalToSuperview().offset(-18) // make.right.equalToSuperview().offset(-18)
make.height.equalTo(YHOtherInfoSessionView.viewH) // make.height.equalTo(YHOtherInfoSessionView.viewH)
} // }
//
let residenceView = YHOtherResidenceFillView(frame: .zero) // let residenceView = YHOtherResidenceFillView(frame: .zero)
item.needCheckFlag = dataModel.needCheckFlag // item.needCheckFlag = dataModel.needCheckFlag
residenceView.dataModel = item // residenceView.dataModel = item
holdView1.addSubview(residenceView) // holdView1.addSubview(residenceView)
residenceView.snp.makeConstraints { make in // residenceView.snp.makeConstraints { make in
make.top.equalTo(sessionView.snp.bottom) // make.top.equalTo(sessionView.snp.bottom)
make.left.equalToSuperview().offset(18) // make.left.equalToSuperview().offset(18)
make.right.equalToSuperview().offset(-18) // make.right.equalToSuperview().offset(-18)
} // }
//
lastTargetView = residenceView // lastTargetView = residenceView
} // }
} // }
} else { // } else {
//
let sessionView = YHOtherInfoSessionView(frame: .zero) // let sessionView = YHOtherInfoSessionView(frame: .zero)
sessionView.type = 3 // sessionView.type = 3
sessionView.updateTitle(title: "居住信息") // sessionView.updateTitle(title: "居住信息")
holdView1.addSubview(sessionView) // holdView1.addSubview(sessionView)
sessionView.snp.makeConstraints { make in // sessionView.snp.makeConstraints { make in
make.top.equalToSuperview() // make.top.equalToSuperview()
make.left.equalToSuperview().offset(18) // make.left.equalToSuperview().offset(18)
make.right.equalToSuperview().offset(-18) // make.right.equalToSuperview().offset(-18)
make.height.equalTo(YHOtherInfoSessionView.viewH) // make.height.equalTo(YHOtherInfoSessionView.viewH)
} // }
//
let residenceView = YHOtherResidenceFillView(frame: .zero) // let residenceView = YHOtherResidenceFillView(frame: .zero)
if dataModel.residences.count > 0 { // if dataModel.residences.count > 0 {
let item = dataModel.residences[0] // let item = dataModel.residences[0]
item.needCheckFlag = dataModel.needCheckFlag // item.needCheckFlag = dataModel.needCheckFlag
residenceView.dataModel = item // residenceView.dataModel = item
} else { // } else {
printLog("error: 数据源有问题") // printLog("error: 数据源有问题")
} // }
//
holdView1.addSubview(residenceView) // holdView1.addSubview(residenceView)
residenceView.snp.makeConstraints { make in // residenceView.snp.makeConstraints { make in
make.top.equalTo(sessionView.snp.bottom) // make.top.equalTo(sessionView.snp.bottom)
make.left.equalToSuperview().offset(18) // make.left.equalToSuperview().offset(18)
make.right.equalToSuperview().offset(-18) // make.right.equalToSuperview().offset(-18)
} // }
//
lastTargetView = residenceView // lastTargetView = residenceView
} // }
//
//添加按钮 // //添加按钮
holdView1.addSubview(addBtn) // holdView1.addSubview(addBtn)
addBtn.layer.addSublayer(dotLineLayer) // addBtn.layer.addSublayer(dotLineLayer)
//
//
addBtn.snp.makeConstraints { make in // addBtn.snp.makeConstraints { make in
make.top.equalTo(lastTargetView.snp.bottom).offset(kMargin) // make.top.equalTo(lastTargetView.snp.bottom).offset(kMargin)
make.left.equalToSuperview().offset(18) // make.left.equalToSuperview().offset(18)
make.right.equalToSuperview().offset(-18) // make.right.equalToSuperview().offset(-18)
make.height.equalTo(44) // make.height.equalTo(44)
//
make.bottom.equalToSuperview().offset(-18).priority(.high) // make.bottom.equalToSuperview().offset(-18).priority(.high)
} // }
addBtn.layoutIfNeeded() // addBtn.layoutIfNeeded()
dotLineLayer.path = UIBezierPath(roundedRect: CGRect(x: 0, y: 0, width: KScreenWidth - 18 * 2 - 16 * 2, height: 44), cornerRadius: kCornerRadius6).cgPath // dotLineLayer.path = UIBezierPath(roundedRect: CGRect(x: 0, y: 0, width: KScreenWidth - 18 * 2 - 16 * 2, height: 44), cornerRadius: kCornerRadius6).cgPath
} // }
holdView1.layoutIfNeeded() // holdView1.layoutIfNeeded()
//2.语言水平 //2.语言水平
let holdView2 = createHoldView() let holdView2 = createHoldView()
contentView.addSubview(holdView2) contentView.addSubview(holdView2)
holdView2.snp.makeConstraints { make in holdView2.snp.makeConstraints { make in
make.top.equalTo(holdView1.snp.bottom).offset(18).priority(.low) // make.top.equalTo(holdView1.snp.bottom).offset(18).priority(.low)
make.top.equalToSuperview()
make.left.right.equalToSuperview() make.left.right.equalToSuperview()
} }
...@@ -213,28 +219,55 @@ extension YHOtherInfoFillCell { ...@@ -213,28 +219,55 @@ extension YHOtherInfoFillCell {
} }
let view = languageView // let view = languageView
view.updateKeyName(name: "您的语言水平与下列哪一项符合", keyValue:dataModel.language_detail?.levelDes ?? "",firstTxt: dataModel.language_detail?.name ?? "",secondTxt: dataModel.language_detail?.remark ?? "") // view.updateKeyName(name: "您的语言水平与下列哪一项符合(多选)", keyValue:dataModel.language_detail?.levelDes ?? "",firstTxt: dataModel.language_detail?.name ?? "",secondTxt: dataModel.language_detail?.remark ?? "")
view.needCheckFlag = dataModel.needCheckFlag // view.needCheckFlag = dataModel.needCheckFlag
view.type = 2 // view.type = 2
//
// view.textBlock = {firstTxt,secondTxt in
// self.dataModel?.language_detail?.name = firstTxt
// self.dataModel?.language_detail?.remark = secondTxt
// }
//
// holdView2.addSubview(view)
// view.snp.makeConstraints { make in
// make.top.equalTo(sessionView.snp.bottom)
// make.left.equalToSuperview().offset(18)
// make.right.equalToSuperview().offset(-18)
//
// make.bottom.equalToSuperview()
// }
view.textBlock = {firstTxt,secondTxt in // let tap = UITapGestureRecognizer(target: self, action: #selector(tapViewItem))
self.dataModel?.language_detail?.name = firstTxt // view.addGestureRecognizer(tap)
self.dataModel?.language_detail?.remark = secondTxt
languageViewNew.dataModel = dataModel.language_detail_new_data
languageViewNew.block = { model in
if let tmpModel = model {
var targetIndex : Int = -1
for (index,item) in dataModel.language_detail_new_data.enumerated() {
if item.id == tmpModel.id {
targetIndex = index
}
}
if targetIndex > -1,targetIndex < dataModel.language_detail_new_data.count {
dataModel.language_detail_new_data[targetIndex] = tmpModel
}
}
self.block?()
} }
holdView2.addSubview(view) holdView2.addSubview(languageViewNew)
view.snp.makeConstraints { make in languageViewNew.snp.makeConstraints { make in
make.top.equalTo(sessionView.snp.bottom) make.top.equalTo(sessionView.snp.bottom)
make.left.equalToSuperview().offset(18) make.left.equalToSuperview().offset(18)
make.right.equalToSuperview().offset(-18) make.right.equalToSuperview().offset(-18)
make.bottom.equalToSuperview() make.bottom.equalToSuperview()
} }
let tap = UITapGestureRecognizer(target: self, action: #selector(tapViewItem))
view.addGestureRecognizer(tap)
} }
holdView2.layoutIfNeeded() holdView2.layoutIfNeeded()
......
//
// YHOtherLanguageSelecteView.swift
// galaxy
//
// Created by davidhuangA on 2024/2/19.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHOtherLanguageSelecteView: UIView {
typealias Block = (LanguageDetailModel?) -> ()
var block: Block?
var needCheckFlag : Bool = false {
didSet {
layoutIfNeeded()
}
}
override init(frame: CGRect) {
super.init(frame: frame)
setupUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
private lazy var titleLabel: UILabel = {
let label = UILabel()
label.textColor = .mainTextColor
label.textAlignment = .left
label.numberOfLines = 0
label.font = UIFont.PFSC_R(ofSize: 14)
label.lineBreakMode = .byCharWrapping
return label
}()
//提示lable
private lazy var noTextTipsLable: UILabel = {
let label = UILabel()
label.textColor = .failColor
label.font = UIFont.PFSC_R(ofSize: 12)
label.text = "请选择"
return label
}()
var mutilHoldView : UIView = {
let view = UIView()
return view
}()
//
private var arrLanguage : [UIView] = []
private var arrLanguageOptions : [UIView] = []
var dataModel : [LanguageDetailModel] = [] {
didSet {
updateUI()
}
}
override func layoutSubviews() {
super.layoutSubviews()
updateUI()
}
}
extension YHOtherLanguageSelecteView {
func setupUI() {
noTextTipsLable.text = "请选择"
let str = "* " + "您的语言水平与下列哪一项符合(多选)"
let attributes: [NSAttributedString.Key: Any] = [
.font: UIFont.PFSC_R(ofSize: 14),
.foregroundColor: UIColor.mainTextColor
]
let questionAttrStr = NSMutableAttributedString(string: str, attributes: attributes)
let starRange = NSRange(location: 0, length: 1)
questionAttrStr.addAttribute(NSAttributedString.Key.foregroundColor, value: UIColor.failColor, range: starRange)
titleLabel.attributedText = questionAttrStr
addSubview(titleLabel)
addSubview(mutilHoldView)
addSubview(noTextTipsLable)
titleLabel.snp.makeConstraints { make in
make.top.equalToSuperview().offset(kMargin)
make.left.right.equalToSuperview()
make.height.equalTo(20)
}
mutilHoldView.snp.makeConstraints { make in
make.top.equalTo(titleLabel.snp.bottom).offset(kMargin)
make.right.equalToSuperview()
make.left.equalToSuperview()
make.bottom.equalToSuperview().offset(-kMargin)
}
//初始化页面数据
arrLanguage.removeAll()
arrLanguageOptions.removeAll()
if let arr = [LanguageDetailModel].deserialize(from: YHOtherInfoFillViewModel.languageJsonData),arr.count > 0 {
var lastView : UIView?
for (index ,item) in arr.enumerated() {
let tmpView = YHOtherMultipleChoiceItemView()
tmpView.dataModel = item
tmpView.block = { model in
self.block?(model)
}
mutilHoldView.addSubview(tmpView)
arrLanguage.append(tmpView)
if index == 0 {
//第一个
tmpView.snp.makeConstraints { make in
make.top.left.right.equalToSuperview()
make.height.equalTo(YHOtherMultipleChoiceItemView.viewH)
}
} else if index + 1 == arr.count {
//最后一个
if let tttV = lastView {
tmpView.snp.makeConstraints { make in
make.top.equalTo(tttV.snp.bottom).offset(12)
make.left.right.equalToSuperview()
make.height.equalTo(YHOtherMultipleChoiceItemView.viewH)
make.bottom.equalToSuperview()
}
}
} else {
//中间
if let tttV = lastView {
tmpView.snp.makeConstraints { make in
make.top.equalTo(tttV.snp.bottom).offset(12)
make.left.right.equalToSuperview()
make.height.equalTo(YHOtherMultipleChoiceItemView.viewH)
}
}
}
lastView = tmpView
//对应的选项 view
let optionView = YHSingleOptionalItemsView()
optionView.dataModel = item
mutilHoldView.addSubview(optionView)
optionView.snp.makeConstraints { make in
make.top.left.right.equalToSuperview()
make.height.equalTo(YHOtherMultipleChoiceItemView.viewH)//占位置
}
arrLanguageOptions.append(optionView)
optionView.isHidden = true
}
}
}
func updateUI() {
if dataModel.count > 0 {
for (_,item) in arrLanguage.enumerated() {
item.snp.removeConstraints()
}
for (_,item) in arrLanguageOptions.enumerated() {
item.snp.removeConstraints()
}
if dataModel.count == 3 {
var lastView : UIView?
var offsetY : CGFloat = 12.0
for (index,item) in dataModel.enumerated() {
let multiCheckView = arrLanguage[index]
let optionView = arrLanguageOptions[index]
if index == 0 {
multiCheckView.snp.remakeConstraints { make in
make.top.left.right.equalToSuperview()
make.height.equalTo(YHOtherMultipleChoiceItemView.viewH)
}
if item.select {
//展示选择项
optionView.isHidden = false
optionView.snp.remakeConstraints { make in
make.top.equalTo(multiCheckView.snp.bottom).offset(8)
make.left.right.equalToSuperview()
}
offsetY = 8
lastView = optionView
} else {
optionView.isHidden = true
offsetY = 12
lastView = multiCheckView
}
}
else if index + 1 == dataModel.count {
if let tttView = lastView {
if item.select {
//展示选择项
multiCheckView.snp.remakeConstraints { make in
make.top.equalTo(tttView.snp.bottom).offset(offsetY)
make.left.right.equalToSuperview()
make.height.equalTo(YHOtherMultipleChoiceItemView.viewH)
}
optionView.isHidden = false
optionView.snp.remakeConstraints { make in
make.top.equalTo(multiCheckView.snp.bottom).offset(8)
make.left.right.equalToSuperview()
make.bottom.equalToSuperview()
}
offsetY = 8
lastView = optionView
} else {
optionView.isHidden = true
multiCheckView.snp.remakeConstraints { make in
make.top.equalTo(tttView.snp.bottom).offset(offsetY)
make.left.right.equalToSuperview()
make.height.equalTo(YHOtherMultipleChoiceItemView.viewH)
make.bottom.equalToSuperview()
}
}
}
} else {
if let tttView = lastView {
multiCheckView.snp.remakeConstraints { make in
make.top.equalTo(tttView.snp.bottom).offset(offsetY)
make.left.right.equalToSuperview()
make.height.equalTo(YHOtherMultipleChoiceItemView.viewH)
}
if item.select {
//展示选择项
optionView.isHidden = false
optionView.snp.remakeConstraints { make in
make.top.equalTo(multiCheckView.snp.bottom).offset(8)
make.left.right.equalToSuperview()
}
offsetY = 8
lastView = optionView
} else {
optionView.isHidden = true
offsetY = 12
lastView = multiCheckView
}
}
}
}
}
}
}
}
//
// YHOtherLanguageItemsView.swift
// galaxy
//
// Created by davidhuangA on 2024/11/16.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHOtherMultipleChoiceItemView: UIView {
static let viewH : CGFloat = 52.0
override init(frame: CGRect) {
super.init(frame: frame)
setupUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
var isSelected : Bool = false {
didSet {
setViewSelected()
}
}
//数据结构
var dataModel : LanguageDetailModel? {
didSet {
updateUI()
}
}
private lazy var titleLabel: UILabel = {
let label = UILabel()
label.textColor = .mainTextColor
label.font = UIFont.PFSC_R(ofSize: 14)
label.text = "中文"
label.numberOfLines = 0
label.lineBreakMode = .byCharWrapping
return label
}()
private lazy var checkImgV:UIImageView = {
let view = UIImageView()
view.image = UIImage(named: "other_multi_normal")
view.contentMode = .scaleAspectFill
return view
}()
typealias Block = (LanguageDetailModel?) -> ()
var block: Block?
}
extension YHOtherMultipleChoiceItemView {
func setupUI() {
addSubview(checkImgV)
addSubview(titleLabel)
layer.cornerRadius = 3
layer.masksToBounds = true
checkImgV.snp.makeConstraints { make in
make.left.equalTo(kMargin)
make.width.height.equalTo(14)
make.centerY.equalToSuperview()
}
titleLabel.snp.makeConstraints { make in
make.left.equalTo(checkImgV.snp.right).offset(8)
make.right.equalToSuperview().offset(-kMargin)
make.centerY.equalToSuperview()
}
setViewSelected()
let tap : UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(tapItem(gestureRecognizer:)))
addGestureRecognizer(tap)
}
func setViewSelected() {
if isSelected {
backgroundColor = UIColor(hexString: "#EBF0F9")!
layer.borderWidth = 1
layer.borderColor = UIColor.brandMainColor.cgColor
checkImgV.image = UIImage(named: "other_multi_check")
} else {
backgroundColor = .contentBkgColor
layer.borderWidth = 0
layer.borderColor = UIColor.clear.cgColor
checkImgV.image = UIImage(named: "other_multi_normal")
}
}
func updateUI() {
guard let model = dataModel else {
return
}
titleLabel.text = model.name
isSelected = model.select
}
@objc func tapItem(gestureRecognizer:UITapGestureRecognizer) {
guard let model = dataModel else {
return
}
model.select = !model.select
isSelected = model.select
self.block?(model)
}
}
//
// YHOtherSingleChoiceItemView.swift
// galaxy
//
// Created by davidhuangA on 2024/11/16.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHOtherSingleChoiceItemView: UIView {
override init(frame: CGRect) {
super.init(frame: frame)
setupUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
var isSelected : Bool = false {
didSet {
setViewSelected()
}
}
private lazy var titleLabel: UILabel = {
let label = UILabel()
label.textColor = .mainTextColor
label.font = UIFont.PFSC_R(ofSize: 14)
label.text = "相关语言国家授予的学位证及成绩单相关语言国家授予的学位证及成绩单"
label.numberOfLines = 0
label.lineBreakMode = .byCharWrapping
return label
}()
private lazy var descLabel: UILabel = {
let label = UILabel()
label.textColor = UIColor.init(hex: 0x8993A2)
label.font = UIFont.PFSC_R(ofSize: 12)
label.text = "(仅可尝试加分,此类文件加分以港府审批为准)"
label.numberOfLines = 0
label.lineBreakMode = .byCharWrapping
return label
}()
private lazy var checkImgV:UIImageView = {
let view = UIImageView()
view.image = UIImage(named: "other_single_normal")
view.contentMode = .scaleAspectFill
return view
}()
var dataModel : LanguageOptionModel? {
didSet {
updateUI()
}
}
}
extension YHOtherSingleChoiceItemView {
func setupUI() {
addSubview(checkImgV)
addSubview(titleLabel)
addSubview(descLabel)
checkImgV.snp.makeConstraints { make in
make.left.equalToSuperview()
make.top.equalToSuperview().offset(2)
make.width.height.equalTo(14)
}
titleLabel.snp.makeConstraints { make in
make.top.equalToSuperview()
make.left.equalTo(checkImgV.snp.right).offset(8)
make.right.equalToSuperview()
make.height.greaterThanOrEqualTo(18)
}
descLabel.snp.makeConstraints { make in
make.top.equalTo(titleLabel.snp.bottom).offset(2)
make.left.equalTo(titleLabel.snp.left)
make.right.equalTo(titleLabel.snp.right)
make.bottom.equalToSuperview()
}
setViewSelected()
}
func updateUI() {
guard let model = dataModel else {
return
}
titleLabel.text = model.name
descLabel.text = model.subname
isSelected = model.select
setViewSelected()
}
func setViewSelected() {
if isSelected {
checkImgV.image = UIImage(named: "other_single_check")
} else {
checkImgV.image = UIImage(named: "other_single_normal")
}
}
}
//
// YHSingleOptionalItemsView.swift
// galaxy
//
// Created by davidhuangA on 2024/11/16.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHSingleOptionalItemsView: UIView {
//提示lable
private lazy var noTextTipsLable: UILabel = {
let label = UILabel()
label.textColor = .failColor
label.font = UIFont.PFSC_R(ofSize: 12)
label.text = "请选择"
return label
}()
//输入名称
private lazy var languageTextField:UITextField = {
let textField = UITextField()
textField.backgroundColor = .clear
textField.attributedPlaceholder = NSAttributedString(string: "请输入语言".local, attributes: [NSAttributedString.Key.foregroundColor : UIColor(hex: 0xB9C1CC)])
textField.font = UIFont.PFSC_R(ofSize: 14)
textField.tintColor = UIColor.brandMainColor
textField.textColor = UIColor.mainTextColor
textField.clearButtonMode = .whileEditing
textField.addTarget(self, action: #selector(textFieldChanged(textField:)), for: .editingChanged)
textField.delegate = self
return textField
}()
var textFieldHoldView : UIView = {
let view = UIView()
view.backgroundColor = .contentBkgColor
view.clipsToBounds = true
view.layer.cornerRadius = kCornerRadius3
return view
}()
var optionsHoldView : UIView = {
let view = UIView()
view.backgroundColor = .contentBkgColor
view.clipsToBounds = true
view.layer.cornerRadius = kCornerRadius3
return view
}()
override init(frame: CGRect) {
super.init(frame: frame)
setupUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
//数据结构
var dataModel : LanguageDetailModel? {
didSet {
updateUI()
}
}
}
private extension YHSingleOptionalItemsView {
func setupUI() {
addSubview(textFieldHoldView)
textFieldHoldView.isHidden = true
textFieldHoldView.snp.makeConstraints { make in
make.top.left.right.equalToSuperview()
make.height.equalTo(52)
}
textFieldHoldView.addSubview(languageTextField)
languageTextField.snp.makeConstraints { make in
make.centerY.equalToSuperview()
make.left.equalToSuperview().offset(kMargin)
make.right.equalToSuperview().offset(-kMargin)
}
addSubview(optionsHoldView)
optionsHoldView.snp.makeConstraints { make in
make.top.equalTo(textFieldHoldView.snp.bottom).offset(8)
make.left.right.equalToSuperview()
make.height.equalTo(60)//for test hjl
make.bottom.equalToSuperview()
}
//for test hjl
let tmpOption = YHOtherSingleChoiceItemView()
optionsHoldView.addSubview(tmpOption)
tmpOption.snp.makeConstraints { make in
make.top.equalToSuperview().offset(kMargin)
make.left.equalToSuperview().offset(kMargin)
make.right.equalToSuperview().offset(-kMargin)
}
let tmpOption1 = YHOtherSingleChoiceItemView()
tmpOption1.isSelected = true
optionsHoldView.addSubview(tmpOption1)
tmpOption1.snp.makeConstraints { make in
make.top.equalTo(tmpOption.snp.bottom).offset(kMargin)
make.left.equalToSuperview().offset(kMargin)
make.right.equalToSuperview().offset(-kMargin)
}
let tmpOption2 = YHOtherSingleChoiceItemView()
optionsHoldView.addSubview(tmpOption2)
tmpOption2.snp.makeConstraints { make in
make.top.equalTo(tmpOption1.snp.bottom).offset(kMargin)
make.left.equalToSuperview().offset(kMargin)
make.right.equalToSuperview().offset(-kMargin)
make.bottom.equalToSuperview().offset(-kMargin)
}
}
@objc func textFieldChanged(textField:UITextField) {
printLog(textField.text)
}
func updateUI() {
guard let model = dataModel else {
return
}
if model.options.count > 0 {
optionsHoldView.snp.removeConstraints()
optionsHoldView.removeSubviews()
if model.id == 3 {
textFieldHoldView.isHidden = false
optionsHoldView.snp.remakeConstraints() { make in
make.top.equalTo(textFieldHoldView.snp.bottom).offset(8)
make.left.right.equalToSuperview()
make.bottom.equalToSuperview()
}
} else {
textFieldHoldView.isHidden = true
optionsHoldView.snp.remakeConstraints() { make in
make.top.equalToSuperview()
make.left.right.equalToSuperview()
make.bottom.equalToSuperview()
}
}
var lastView : UIView?
for(index,item) in model.options.enumerated() {
let tmpOption = YHOtherSingleChoiceItemView()
tmpOption.dataModel = item
optionsHoldView.addSubview(tmpOption)
if index == 0 {
//第一个
tmpOption.snp.makeConstraints { make in
make.top.equalToSuperview().offset(kMargin)
make.left.equalToSuperview().offset(kMargin)
make.right.equalToSuperview().offset(-kMargin)
}
} else if index + 1 == model.options.count {
//最后一个
if let tttView = lastView {
tmpOption.snp.makeConstraints { make in
make.top.equalTo(tttView.snp.bottom).offset(kMargin)
make.left.equalToSuperview().offset(kMargin)
make.right.equalToSuperview().offset(-kMargin)
make.bottom.equalToSuperview().offset(-kMargin)
}
}
} else {
//中间
if let tttView = lastView {
tmpOption.snp.makeConstraints { make in
make.top.equalTo(tttView.snp.bottom).offset(kMargin)
make.left.equalToSuperview().offset(kMargin)
make.right.equalToSuperview().offset(-kMargin)
}
}
}
lastView = tmpOption
}
}
}
}
extension YHSingleOptionalItemsView: UITextFieldDelegate {
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
if string.isEmpty == true { // 点击删除
return true
}
let newText = (textField.text! as NSString).replacingCharacters(in: range, with: string)
if newText.count > 30 {
return false
}
return true
}
}
...@@ -10,6 +10,211 @@ import UIKit ...@@ -10,6 +10,211 @@ import UIKit
class YHOtherInfoFillViewModel: YHBaseViewModel { class YHOtherInfoFillViewModel: YHBaseViewModel {
var otherInfoFillData : YHOtherInfoFillModel? var otherInfoFillData : YHOtherInfoFillModel?
/*
//语言枚举
const LANGUAGE_DETAIL = [
"data" => [
[
"id" => 1,
'name' => "中文",
"select" => 0,
"other_instructions" => "",
'child' => [
['id' => 99, "name" => "均不能提供", "select" => 0,],
['id' => 1, "name" => "母语(不用任何证明)", "select" => 0,],
['id' => 2, "name" => "《普通话水平测试》取得及格或以上成绩的证书", "select" => 0,],
['id' => 3, "name" => "《中国汉语水平考试》取得第三级或以上成绩的证书", "select" => 0,],
['id' => 4, "name" => "其他证件(仅尝试加分)", "select" => 0,],
],
],
[
"id" => 2,
'name' => "英文",
"select" => 0,
"other_instructions" => "",
'child' => [
['id' => 99, "name" => "均不能提供", "select" => 0,],
['id' => 1, "name" => "母语(不用任何证明)", "select" => 0,],
['id' => 2, "name" => "雅思(ELTS)考试取得7.0或以上成绩的成绩单", "select" => 0,],
['id' => 3, "name" => "托福(TOEFL)网上考试取得94分或以上成绩的成绩单", "select" => 0,],
['id' => 4, "name" => "全国大学英语六级考试(CET-6)取得520分或以上成绩的证书", "select" => 0,],
['id' => 5, "name" => "英语授课证明", "select" => 0,],
['id' => 6, "name" => "英语国家授予的学位证及成绩单", "select" => 0,],
['id' => 7, "name" => "英语相关专业学位证 、 毕业证、 学位认证报告", "select" => 0,],
['id' => 8, "name" => "其他证件(仅尝试加分)", "select" => 0,],
],
],
[
"id" => 3,
'name' => "其他",
"select" => 0,
"other_instructions" => "",
'child' => [
['id' => 99, "name" => "均不能提供", "select" => 0,],
['id' => 1, "name" => "母语", "select" => 0,],
['id' => 2, "name" => "授课语言证明]", "select" => 0,],
['id' => 3, "name" => "相关语言国家授予的学位证及成绩单", "select" => 0,],
['id' => 4, "name" => "该语言相关专业学位证 、 毕业证、 学位认证报告", "select" => 0,],
['id' => 5, "name" => "官方语言成绩单", "select" => 0,],
],
],
],
];
*/
static let languageJsonData : [[String : Any]] = [
["id":1,
"name":"中文",
"select":0,
"other_instructions":"",
"options":[
["id" : 1,
"name" : "母语(不用任何证明)",
"select" : 0,
"subname" : "",
"highlight" : ""],
["id" : 2,
"name" : "《普通话水平测试》取得及格或以上成绩的证书",
"select" : 0,
"subname" : "",
"highlight" : ""],
["id" : 3,
"name" : "《中国汉语水平考试》取得第三级或以上成绩的证书",
"select" : 0,
"subname" : "",
"highlight" : ""],
["id" : 4,
"name" : "其他证件",
"select" : 0,
"subname" : "(仅可尝试加分,此类文件加分以港府审批为准)",
"highlight" : ""],
["id" : 99,
"name" : "以上均不能提供",
"select" : 0,
"subname" : "(或将导致您的该语言能力不被认可,请尽可能准备以上材料并修改此选项)",
"highlight" : "不被认可"],
]
],
["id":2,
"name":"英文",
"select":0,
"other_instructions":"",
"options":[
["id" : 1,
"name" : "母语(不用任何证明)",
"select" : 0,
"subname" : "",
"highlight" : ""],
["id" : 2,
"name" : "雅思(ELTS)考试取得7.0或以上成绩的成绩单",
"select" : 0,
"subname" : "",
"highlight" : ""],
["id" : 3,
"name" : "托福(TOEFL)网上考试取得94分或以上成绩的成绩单",
"select" : 0,
"subname" : "",
"highlight" : ""],
["id" : 4,
"name" : "全国大学英语六级考试(CET-6)取得520分或以上成绩的证书",
"select" : 0,
"subname" : "",
"highlight" : ""],
["id" : 5,
"name" : "英语授课证明",
"select" : 0,
"subname" : "",
"highlight" : ""],
["id" : 6,
"name" : "英语国家授予的学位证及成绩单",
"select" : 0,
"subname" : "",
"highlight" : ""],
["id" : 7,
"name" : "英语相关专业学位证 、 毕业证、 学位认证报告",
"select" : 0,
"subname" : "",
"highlight" : ""],
["id" : 8,
"name" : "其他证明",
"select" : 0,
"subname" : "(仅可尝试加分,此类文件加分以港府审批为准)",
"highlight" : ""],
["id" : 99,
"name" : "以上均不能提供",
"select" : 0,
"subname" : "(或将导致您的该语言能力不被认可,请尽可能准备以上材料并修改此选项)",
"highlight" : "不被认可"],
]
],
["id":3,
"name":"其他",
"select":0,
"other_instructions":"",
"options":[
["id" : 1,
"name" : "母语",
"select" : 0,
"subname" : "",
"highlight" : ""],
["id" : 2,
"name" : "授课语言证明",
"select" : 0,
"subname" : "",
"highlight" : ""],
["id" : 3,
"name" : "相关语言国家授予的学位证及成绩单",
"select" : 0,
"subname" : "",
"highlight" : ""],
["id" : 4,
"name" : "其他证件",
"select" : 0,
"subname" : "该语言相关专业学位证 、 毕业证、 学位认证报告",
"highlight" : ""],
["id" : 5,
"name" : "其他证件",
"select" : 0,
"subname" : "官方语言成绩单",
"highlight" : ""],
["id" : 6,
"name" : "其他证明",
"select" : 0,
"subname" : "(仅可尝试加分,此类文件加分以港府审批为准)",
"highlight" : ""],
["id" : 99,
"name" : "以上均不能提供",
"select" : 0,
"subname" : "(或将导致您的该语言能力不被认可,请尽可能准备以上材料并修改此选项)",
"highlight" : "不被认可"],
]
],
]
} }
extension YHOtherInfoFillViewModel { extension YHOtherInfoFillViewModel {
...@@ -28,15 +233,15 @@ extension YHOtherInfoFillViewModel { ...@@ -28,15 +233,15 @@ extension YHOtherInfoFillViewModel {
return return
} }
if resultModel.residences.isEmpty { // if resultModel.residences.isEmpty {
resultModel.residences.append(Residence()) // resultModel.residences.append(Residence())
} // }
self.otherInfoFillData = resultModel self.otherInfoFillData = resultModel
//根据返回值 组装 真实的数据
handleData() handleData()
//根据返回值 组装 真实的数据
callBackBlock(true,nil) callBackBlock(true,nil)
} else { } else {
...@@ -74,19 +279,47 @@ extension YHOtherInfoFillViewModel { ...@@ -74,19 +279,47 @@ extension YHOtherInfoFillViewModel {
extension YHOtherInfoFillViewModel { extension YHOtherInfoFillViewModel {
func handleData() { func handleData() {
if let language = self.otherInfoFillData?.language_detail { // if let language = self.otherInfoFillData?.language_detail {
if language.level > 0 { // if language.level > 0 {
let target = String(language.level) // let target = String(language.level)
for(_,item) in YHConstantArrayData.arrLanguage.enumerated() { // for(_,item) in YHConstantArrayData.arrLanguage.enumerated() {
//
if target == item["id"] { // if target == item["id"] {
language.levelDes = item["title"] ?? "" // language.levelDes = item["title"] ?? ""
break // break
// }
// }
// }
// }
//语言 根据 返回值 进行数据结构
if let arr = [LanguageDetailModel].deserialize(from: YHOtherInfoFillViewModel.languageJsonData) {
if let arrT = self.otherInfoFillData?.language_detail_new,arrT.count > 0 {
for (index,item) in arrT.enumerated() {
for (ii,tt) in arr.enumerated() {
if item.first_select == tt.id {
tt.select = true
let arrTTT = item.second_select.split(separator: ",")
if arrTTT.count > 0 {
let tmpId : Int = Int(arrTTT[0]) ?? 0
for (iii,ttt) in tt.options.enumerated() {
if tmpId == ttt.id {
ttt.select = true
}
}
}
}
} }
} }
} }
self.otherInfoFillData?.language_detail_new_data = arr
} else {
self.otherInfoFillData?.language_detail_new_data = []
} }
if let profession = self.otherInfoFillData?.profession { if let profession = self.otherInfoFillData?.profession {
if profession.option > 0 { if profession.option > 0 {
let target = String(profession.option) let target = String(profession.option)
......
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Group 33333990@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Group 33333990@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Rectangle 2957@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Rectangle 2957@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Group 33333990@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Group 33333990@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Rectangle 2956@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Rectangle 2956@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