Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
galaxy-iOS
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
mobile-group
galaxy-iOS
Commits
c65daa11
Commit
c65daa11
authored
Dec 20, 2024
by
Steven杜宇
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop' of
http://gitlab.galaxy-immi.com/mobile-group/galaxy-iOS
into develop
parents
8bf16e7b
4fc9ddd4
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
1215 additions
and
1 deletion
+1215
-1
project.pbxproj
galaxy/galaxy.xcodeproj/project.pbxproj
+72
-0
YHServiceOrderListViewController.swift
.../OrderList(服务订单)/C/YHServiceOrderListViewController.swift
+1
-1
YHWorkItemListModel.swift
...息流程)/WorkExperience(工作经验)/Model/YHWorkItemListModel.swift
+1
-0
YHGCWorkExperienceListViewController.swift
...rience(工作经验)/C/YHGCWorkExperienceListViewController.swift
+272
-0
YHGCWorkExperienceViewController.swift
...Experience(工作经验)/C/YHGCWorkExperienceViewController.swift
+188
-0
YHGCWorkExperienceModel.swift
...息流程)/WorkExperience(工作经验)/M/YHGCWorkExperienceModel.swift
+26
-0
YHGCWorkModel.swift
...rocess(我的信息流程)/WorkExperience(工作经验)/M/YHGCWorkModel.swift
+32
-0
YHGCWorkListHasDocTableViewCell.swift
...kExperience(工作经验)/V/YHGCWorkListHasDocTableViewCell.swift
+162
-0
YHGCWorkListHasWorkExperienceTableViewCell.swift
...(工作经验)/V/YHGCWorkListHasWorkExperienceTableViewCell.swift
+132
-0
YHGCWorkExperienceViewModel.swift
...WorkExperience(工作经验)/VM/YHGCWorkExperienceViewModel.swift
+202
-0
YHGCWorkItemListViewModel.swift
...)/WorkExperience(工作经验)/VM/YHGCWorkItemListViewModel.swift
+123
-0
YHAllApiName.swift
galaxy/galaxy/Classes/Tools/NetWork/YHAllApiName.swift
+4
-0
No files found.
galaxy/galaxy.xcodeproj/project.pbxproj
View file @
c65daa11
...
@@ -10,6 +10,14 @@
...
@@ -10,6 +10,14 @@
0411CEDE2D14006C00644D35
/* YHGCMainApplicantInformationViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
0411CEDD2D14006C00644D35
/* YHGCMainApplicantInformationViewController.swift */
;
};
0411CEDE2D14006C00644D35
/* YHGCMainApplicantInformationViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
0411CEDD2D14006C00644D35
/* YHGCMainApplicantInformationViewController.swift */
;
};
0411CEE02D1400C200644D35
/* YHGCMainApplicantInformationViewModel.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
0411CEDF2D1400C200644D35
/* YHGCMainApplicantInformationViewModel.swift */
;
};
0411CEE02D1400C200644D35
/* YHGCMainApplicantInformationViewModel.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
0411CEDF2D1400C200644D35
/* YHGCMainApplicantInformationViewModel.swift */
;
};
0411CEE22D14014000644D35
/* YHGCMainInformationCardTableViewCell.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
0411CEE12D14014000644D35
/* YHGCMainInformationCardTableViewCell.swift */
;
};
0411CEE22D14014000644D35
/* YHGCMainInformationCardTableViewCell.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
0411CEE12D14014000644D35
/* YHGCMainInformationCardTableViewCell.swift */
;
};
0411CEE92D15123B00644D35
/* YHGCWorkExperienceListViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
0411CEE82D15123B00644D35
/* YHGCWorkExperienceListViewController.swift */
;
};
0411CEEB2D1512AF00644D35
/* YHGCWorkItemListViewModel.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
0411CEEA2D1512AF00644D35
/* YHGCWorkItemListViewModel.swift */
;
};
0411CEED2D15154B00644D35
/* YHGCWorkListHasWorkExperienceTableViewCell.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
0411CEEC2D15154A00644D35
/* YHGCWorkListHasWorkExperienceTableViewCell.swift */
;
};
0411CEEF2D151E5F00644D35
/* YHGCWorkListHasDocTableViewCell.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
0411CEEE2D151E5F00644D35
/* YHGCWorkListHasDocTableViewCell.swift */
;
};
0411CEF12D153F6300644D35
/* YHGCWorkExperienceViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
0411CEF02D153F6300644D35
/* YHGCWorkExperienceViewController.swift */
;
};
0411CEF32D153FB700644D35
/* YHGCWorkExperienceViewModel.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
0411CEF22D153FB700644D35
/* YHGCWorkExperienceViewModel.swift */
;
};
0411CEF52D1548AF00644D35
/* YHGCWorkModel.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
0411CEF42D1548AF00644D35
/* YHGCWorkModel.swift */
;
};
0411CEF72D15525400644D35
/* YHGCWorkExperienceModel.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
0411CEF62D15525400644D35
/* YHGCWorkExperienceModel.swift */
;
};
045C0F7F2D12CA5F00BD2DC0
/* submit_page_scroll.gif in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
045C0F4F2D12CA5E00BD2DC0
/* submit_page_scroll.gif */
;
};
045C0F7F2D12CA5F00BD2DC0
/* submit_page_scroll.gif in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
045C0F4F2D12CA5E00BD2DC0
/* submit_page_scroll.gif */
;
};
045C0F802D12CA5F00BD2DC0
/* Localizable.xcstrings in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
045C0F762D12CA5E00BD2DC0
/* Localizable.xcstrings */
;
};
045C0F802D12CA5F00BD2DC0
/* Localizable.xcstrings in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
045C0F762D12CA5E00BD2DC0
/* Localizable.xcstrings */
;
};
045C0F812D12CA5F00BD2DC0
/* img_0.png in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
045C0F5E2D12CA5E00BD2DC0
/* img_0.png */
;
};
045C0F812D12CA5F00BD2DC0
/* img_0.png in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
045C0F5E2D12CA5E00BD2DC0
/* img_0.png */
;
};
...
@@ -1158,6 +1166,14 @@
...
@@ -1158,6 +1166,14 @@
0411CEDD2D14006C00644D35
/* YHGCMainApplicantInformationViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHGCMainApplicantInformationViewController.swift
;
sourceTree
=
"<group>"
;
};
0411CEDD2D14006C00644D35
/* YHGCMainApplicantInformationViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHGCMainApplicantInformationViewController.swift
;
sourceTree
=
"<group>"
;
};
0411CEDF2D1400C200644D35
/* YHGCMainApplicantInformationViewModel.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHGCMainApplicantInformationViewModel.swift
;
sourceTree
=
"<group>"
;
};
0411CEDF2D1400C200644D35
/* YHGCMainApplicantInformationViewModel.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHGCMainApplicantInformationViewModel.swift
;
sourceTree
=
"<group>"
;
};
0411CEE12D14014000644D35
/* YHGCMainInformationCardTableViewCell.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHGCMainInformationCardTableViewCell.swift
;
sourceTree
=
"<group>"
;
};
0411CEE12D14014000644D35
/* YHGCMainInformationCardTableViewCell.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHGCMainInformationCardTableViewCell.swift
;
sourceTree
=
"<group>"
;
};
0411CEE82D15123B00644D35
/* YHGCWorkExperienceListViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHGCWorkExperienceListViewController.swift
;
sourceTree
=
"<group>"
;
};
0411CEEA2D1512AF00644D35
/* YHGCWorkItemListViewModel.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHGCWorkItemListViewModel.swift
;
sourceTree
=
"<group>"
;
};
0411CEEC2D15154A00644D35
/* YHGCWorkListHasWorkExperienceTableViewCell.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHGCWorkListHasWorkExperienceTableViewCell.swift
;
sourceTree
=
"<group>"
;
};
0411CEEE2D151E5F00644D35
/* YHGCWorkListHasDocTableViewCell.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHGCWorkListHasDocTableViewCell.swift
;
sourceTree
=
"<group>"
;
};
0411CEF02D153F6300644D35
/* YHGCWorkExperienceViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHGCWorkExperienceViewController.swift
;
sourceTree
=
"<group>"
;
};
0411CEF22D153FB700644D35
/* YHGCWorkExperienceViewModel.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHGCWorkExperienceViewModel.swift
;
sourceTree
=
"<group>"
;
};
0411CEF42D1548AF00644D35
/* YHGCWorkModel.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHGCWorkModel.swift
;
sourceTree
=
"<group>"
;
};
0411CEF62D15525400644D35
/* YHGCWorkExperienceModel.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHGCWorkExperienceModel.swift
;
sourceTree
=
"<group>"
;
};
045C09A12D12C2A800BD2DC0
/* YHGCMineSchemeViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHGCMineSchemeViewController.swift
;
sourceTree
=
"<group>"
;
};
045C09A12D12C2A800BD2DC0
/* YHGCMineSchemeViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHGCMineSchemeViewController.swift
;
sourceTree
=
"<group>"
;
};
045C0A142D12CA5E00BD2DC0
/* YHBaseViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHBaseViewController.swift
;
sourceTree
=
"<group>"
;
};
045C0A142D12CA5E00BD2DC0
/* YHBaseViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHBaseViewController.swift
;
sourceTree
=
"<group>"
;
};
045C0A152D12CA5E00BD2DC0
/* YHBaseViewModel.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHBaseViewModel.swift
;
sourceTree
=
"<group>"
;
};
045C0A152D12CA5E00BD2DC0
/* YHBaseViewModel.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHBaseViewModel.swift
;
sourceTree
=
"<group>"
;
};
...
@@ -2350,6 +2366,53 @@
...
@@ -2350,6 +2366,53 @@
path
=
C
;
path
=
C
;
sourceTree
=
"<group>"
;
sourceTree
=
"<group>"
;
};
};
0411CEE32D15063F00644D35
/* WorkExperience(工作经验) */
=
{
isa
=
PBXGroup
;
children
=
(
0411CEE72D15066200644D35
/* M */
,
0411CEE62D15065C00644D35
/* C */
,
0411CEE52D15065500644D35
/* VM */
,
0411CEE42D15064B00644D35
/* V */
,
);
path
=
"WorkExperience(工作经验)"
;
sourceTree
=
"<group>"
;
};
0411CEE42D15064B00644D35
/* V */
=
{
isa
=
PBXGroup
;
children
=
(
0411CEEC2D15154A00644D35
/* YHGCWorkListHasWorkExperienceTableViewCell.swift */
,
0411CEEE2D151E5F00644D35
/* YHGCWorkListHasDocTableViewCell.swift */
,
);
path
=
V
;
sourceTree
=
"<group>"
;
};
0411CEE52D15065500644D35
/* VM */
=
{
isa
=
PBXGroup
;
children
=
(
0411CEEA2D1512AF00644D35
/* YHGCWorkItemListViewModel.swift */
,
0411CEF22D153FB700644D35
/* YHGCWorkExperienceViewModel.swift */
,
);
path
=
VM
;
sourceTree
=
"<group>"
;
};
0411CEE62D15065C00644D35
/* C */
=
{
isa
=
PBXGroup
;
children
=
(
0411CEE82D15123B00644D35
/* YHGCWorkExperienceListViewController.swift */
,
0411CEF02D153F6300644D35
/* YHGCWorkExperienceViewController.swift */
,
);
path
=
C
;
sourceTree
=
"<group>"
;
};
0411CEE72D15066200644D35
/* M */
=
{
isa
=
PBXGroup
;
children
=
(
0411CEF42D1548AF00644D35
/* YHGCWorkModel.swift */
,
0411CEF62D15525400644D35
/* YHGCWorkExperienceModel.swift */
,
);
path
=
M
;
sourceTree
=
"<group>"
;
};
045C0A182D12CA5E00BD2DC0
/* C */
=
{
045C0A182D12CA5E00BD2DC0
/* C */
=
{
isa
=
PBXGroup
;
isa
=
PBXGroup
;
children
=
(
children
=
(
...
@@ -5940,6 +6003,7 @@
...
@@ -5940,6 +6003,7 @@
04AE200D2D12CFAF00891D24
/* ServiceProcess(我的信息流程) */
=
{
04AE200D2D12CFAF00891D24
/* ServiceProcess(我的信息流程) */
=
{
isa
=
PBXGroup
;
isa
=
PBXGroup
;
children
=
(
children
=
(
0411CEE32D15063F00644D35
/* WorkExperience(工作经验) */
,
0411CED92D14000D00644D35
/* MainApplicantInformation(主申请人信息) */
,
0411CED92D14000D00644D35
/* MainApplicantInformation(主申请人信息) */
,
04AE20382D13BAC400891D24
/* Education&Qualification(学历专业资格填写) */
,
04AE20382D13BAC400891D24
/* Education&Qualification(学历专业资格填写) */
,
04AE201C2D13AF1800891D24
/* FamilyMember(家庭成员) */
,
04AE201C2D13AF1800891D24
/* FamilyMember(家庭成员) */
,
...
@@ -6503,6 +6567,7 @@
...
@@ -6503,6 +6567,7 @@
045C10362D12CA5F00BD2DC0
/* UIImage+Extension.swift in Sources */
,
045C10362D12CA5F00BD2DC0
/* UIImage+Extension.swift in Sources */
,
045C10372D12CA5F00BD2DC0
/* YHPreviewInfoCell.swift in Sources */
,
045C10372D12CA5F00BD2DC0
/* YHPreviewInfoCell.swift in Sources */
,
045C10382D12CA5F00BD2DC0
/* YHHKVisaRenewalPaymentViewModel.swift in Sources */
,
045C10382D12CA5F00BD2DC0
/* YHHKVisaRenewalPaymentViewModel.swift in Sources */
,
0411CEEB2D1512AF00644D35
/* YHGCWorkItemListViewModel.swift in Sources */
,
045C10392D12CA5F00BD2DC0
/* YHHKMemberModel.swift in Sources */
,
045C10392D12CA5F00BD2DC0
/* YHHKMemberModel.swift in Sources */
,
045C103A2D12CA5F00BD2DC0
/* YHCertificateUploadContentListVC.swift in Sources */
,
045C103A2D12CA5F00BD2DC0
/* YHCertificateUploadContentListVC.swift in Sources */
,
045C103B2D12CA5F00BD2DC0
/* YHOtherYesOrNoItemView.swift in Sources */
,
045C103B2D12CA5F00BD2DC0
/* YHOtherYesOrNoItemView.swift in Sources */
,
...
@@ -6598,6 +6663,7 @@
...
@@ -6598,6 +6663,7 @@
045C108A2D12CA5F00BD2DC0
/* YHPreviewInfoSectionHeaderCell.swift in Sources */
,
045C108A2D12CA5F00BD2DC0
/* YHPreviewInfoSectionHeaderCell.swift in Sources */
,
045C108B2D12CA5F00BD2DC0
/* YHSmsCodeInputView.swift in Sources */
,
045C108B2D12CA5F00BD2DC0
/* YHSmsCodeInputView.swift in Sources */
,
045C108C2D12CA5F00BD2DC0
/* YHActivityDetailCell0.swift in Sources */
,
045C108C2D12CA5F00BD2DC0
/* YHActivityDetailCell0.swift in Sources */
,
0411CEF12D153F6300644D35
/* YHGCWorkExperienceViewController.swift in Sources */
,
045C108D2D12CA5F00BD2DC0
/* YHSelectApplicantCell.swift in Sources */
,
045C108D2D12CA5F00BD2DC0
/* YHSelectApplicantCell.swift in Sources */
,
045C108E2D12CA5F00BD2DC0
/* YHNameCardViewController.swift in Sources */
,
045C108E2D12CA5F00BD2DC0
/* YHNameCardViewController.swift in Sources */
,
045C108F2D12CA5F00BD2DC0
/* YHFamilyMemberInfoListVC.swift in Sources */
,
045C108F2D12CA5F00BD2DC0
/* YHFamilyMemberInfoListVC.swift in Sources */
,
...
@@ -6812,6 +6878,7 @@
...
@@ -6812,6 +6878,7 @@
04AE203F2D13C36500891D24
/* YHGCQualificationDetailVC.swift in Sources */
,
04AE203F2D13C36500891D24
/* YHGCQualificationDetailVC.swift in Sources */
,
045C115E2D12CA5F00BD2DC0
/* YHInvitationWithGiftsSelectItemView.swift in Sources */
,
045C115E2D12CA5F00BD2DC0
/* YHInvitationWithGiftsSelectItemView.swift in Sources */
,
045C115F2D12CA5F00BD2DC0
/* YHAITabIndicatorView.swift in Sources */
,
045C115F2D12CA5F00BD2DC0
/* YHAITabIndicatorView.swift in Sources */
,
0411CEEF2D151E5F00644D35
/* YHGCWorkListHasDocTableViewCell.swift in Sources */
,
045C11602D12CA5F00BD2DC0
/* YHHKRecordsFamilyMembers.swift in Sources */
,
045C11602D12CA5F00BD2DC0
/* YHHKRecordsFamilyMembers.swift in Sources */
,
045C11612D12CA5F00BD2DC0
/* YHCNIDCardModel.swift in Sources */
,
045C11612D12CA5F00BD2DC0
/* YHCNIDCardModel.swift in Sources */
,
045C11622D12CA5F00BD2DC0
/* YHPrincipleUploadModel.swift in Sources */
,
045C11622D12CA5F00BD2DC0
/* YHPrincipleUploadModel.swift in Sources */
,
...
@@ -7002,6 +7069,7 @@
...
@@ -7002,6 +7069,7 @@
045C121B2D12CA5F00BD2DC0
/* YHActivityTwoItemView.swift in Sources */
,
045C121B2D12CA5F00BD2DC0
/* YHActivityTwoItemView.swift in Sources */
,
045C121C2D12CA5F00BD2DC0
/* YHHKImmigrationRecordsViewModel.swift in Sources */
,
045C121C2D12CA5F00BD2DC0
/* YHHKImmigrationRecordsViewModel.swift in Sources */
,
045C121D2D12CA5F00BD2DC0
/* YHHKRequiredItemView.swift in Sources */
,
045C121D2D12CA5F00BD2DC0
/* YHHKRequiredItemView.swift in Sources */
,
0411CEF72D15525400644D35
/* YHGCWorkExperienceModel.swift in Sources */
,
045C121E2D12CA5F00BD2DC0
/* YHMySettingCell.swift in Sources */
,
045C121E2D12CA5F00BD2DC0
/* YHMySettingCell.swift in Sources */
,
045C121F2D12CA5F00BD2DC0
/* YHCertificateTemplateSheetView.swift in Sources */
,
045C121F2D12CA5F00BD2DC0
/* YHCertificateTemplateSheetView.swift in Sources */
,
045C12202D12CA5F00BD2DC0
/* YHResignMaterialListVC.swift in Sources */
,
045C12202D12CA5F00BD2DC0
/* YHResignMaterialListVC.swift in Sources */
,
...
@@ -7235,6 +7303,7 @@
...
@@ -7235,6 +7303,7 @@
045C13022D12CA5F00BD2DC0
/* YHPictureReviewManager.swift in Sources */
,
045C13022D12CA5F00BD2DC0
/* YHPictureReviewManager.swift in Sources */
,
045C13032D12CA5F00BD2DC0
/* YHBasicInfoFillViewController.swift in Sources */
,
045C13032D12CA5F00BD2DC0
/* YHBasicInfoFillViewController.swift in Sources */
,
045C13042D12CA5F00BD2DC0
/* YHImproveSchemeTemplateListCell.swift in Sources */
,
045C13042D12CA5F00BD2DC0
/* YHImproveSchemeTemplateListCell.swift in Sources */
,
0411CEE92D15123B00644D35
/* YHGCWorkExperienceListViewController.swift in Sources */
,
04AE202E2D13B5EB00891D24
/* YHGCCertificateUploadVC.swift in Sources */
,
04AE202E2D13B5EB00891D24
/* YHGCCertificateUploadVC.swift in Sources */
,
045C13052D12CA5F00BD2DC0
/* YHActivityModel.swift in Sources */
,
045C13052D12CA5F00BD2DC0
/* YHActivityModel.swift in Sources */
,
045C13062D12CA5F00BD2DC0
/* YHInterestTopicLayout.swift in Sources */
,
045C13062D12CA5F00BD2DC0
/* YHInterestTopicLayout.swift in Sources */
,
...
@@ -7335,6 +7404,8 @@
...
@@ -7335,6 +7404,8 @@
045C13652D12CA5F00BD2DC0
/* YHLookResignResultStateThreeTableViewCell.swift in Sources */
,
045C13652D12CA5F00BD2DC0
/* YHLookResignResultStateThreeTableViewCell.swift in Sources */
,
045C13662D12CA5F00BD2DC0
/* YHFormItemExpireDateCell.swift in Sources */
,
045C13662D12CA5F00BD2DC0
/* YHFormItemExpireDateCell.swift in Sources */
,
045C13672D12CA5F00BD2DC0
/* YHSmallWhiteNoteTemplateView.swift in Sources */
,
045C13672D12CA5F00BD2DC0
/* YHSmallWhiteNoteTemplateView.swift in Sources */
,
0411CEED2D15154B00644D35
/* YHGCWorkListHasWorkExperienceTableViewCell.swift in Sources */
,
0411CEF52D1548AF00644D35
/* YHGCWorkModel.swift in Sources */
,
045C13682D12CA5F00BD2DC0
/* YHResignUploadTravelPassportViewController.swift in Sources */
,
045C13682D12CA5F00BD2DC0
/* YHResignUploadTravelPassportViewController.swift in Sources */
,
045C13692D12CA5F00BD2DC0
/* YHTravelDocsPreparationListCell.swift in Sources */
,
045C13692D12CA5F00BD2DC0
/* YHTravelDocsPreparationListCell.swift in Sources */
,
045C136A2D12CA5F00BD2DC0
/* YHCertificateFilterItemCell.swift in Sources */
,
045C136A2D12CA5F00BD2DC0
/* YHCertificateFilterItemCell.swift in Sources */
,
...
@@ -7381,6 +7452,7 @@
...
@@ -7381,6 +7452,7 @@
045C13902D12CA5F00BD2DC0
/* YHAIEvaluationWebView.swift in Sources */
,
045C13902D12CA5F00BD2DC0
/* YHAIEvaluationWebView.swift in Sources */
,
045C13912D12CA5F00BD2DC0
/* YHVisaRenewalPayMethodUrlCell.swift in Sources */
,
045C13912D12CA5F00BD2DC0
/* YHVisaRenewalPayMethodUrlCell.swift in Sources */
,
045C13922D12CA5F00BD2DC0
/* YHHKVisaRenewalPaymentList.swift in Sources */
,
045C13922D12CA5F00BD2DC0
/* YHHKVisaRenewalPaymentList.swift in Sources */
,
0411CEF32D153FB700644D35
/* YHGCWorkExperienceViewModel.swift in Sources */
,
045C13932D12CA5F00BD2DC0
/* YHOtherInfoFillViewController.swift in Sources */
,
045C13932D12CA5F00BD2DC0
/* YHOtherInfoFillViewController.swift in Sources */
,
045C13942D12CA5F00BD2DC0
/* YHSelectHKPlaceListView.swift in Sources */
,
045C13942D12CA5F00BD2DC0
/* YHSelectHKPlaceListView.swift in Sources */
,
045C13952D12CA5F00BD2DC0
/* YHResignUploadDocListViewModel.swift in Sources */
,
045C13952D12CA5F00BD2DC0
/* YHResignUploadDocListViewModel.swift in Sources */
,
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/OrderList(服务订单)/C/YHServiceOrderListViewController.swift
View file @
c65daa11
...
@@ -255,7 +255,7 @@ class YHServiceOrderListView: YHBaseViewController {
...
@@ -255,7 +255,7 @@ class YHServiceOrderListView: YHBaseViewController {
gotoResignCertificateListVC
(
orderID
:
orderId
)
gotoResignCertificateListVC
(
orderID
:
orderId
)
}
else
if
type
==
201
{
}
else
if
type
==
201
{
//高才我的信息
//高才我的信息
let
vc
=
YHGC
MainApplicantInformation
ViewController
()
let
vc
=
YHGC
WorkExperienceList
ViewController
()
vc
.
orderId
=
orderId
vc
.
orderId
=
orderId
UIViewController
.
current
?
.
navigationController
?
.
pushViewController
(
vc
)
UIViewController
.
current
?
.
navigationController
?
.
pushViewController
(
vc
)
}
else
if
type
==
202
{
}
else
if
type
==
202
{
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/QMAS(优才)/ServiceProcess(我的信息流程)/WorkExperience(工作经验)/Model/YHWorkItemListModel.swift
View file @
c65daa11
...
@@ -30,6 +30,7 @@ class YHWorkItemListModel: SmartCodable {
...
@@ -30,6 +30,7 @@ class YHWorkItemListModel: SmartCodable {
var
entry_time
:
String
?
var
entry_time
:
String
?
var
departure_time
:
String
?
var
departure_time
:
String
?
var
vacant_num
:
Int
?
var
vacant_num
:
Int
?
var
income
:
String
?
//用于高A 收入金额
required
init
()
{
required
init
()
{
}
}
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/TTPS(高才)/ServiceProcess(我的信息流程)/WorkExperience(工作经验)/C/YHGCWorkExperienceListViewController.swift
0 → 100644
View file @
c65daa11
//
// YHGCWorkExperienceListViewController.swift
// galaxy
//
// Created by EDY on 2024/12/20.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
class
YHGCWorkExperienceListViewController
:
YHBaseViewController
{
var
bottomView
:
YHBottomNextView
!
var
tableView
:
UITableView
!
var
dataSource
:
[
YHWorkItemListModel
]?
var
viewModel
:
YHGCWorkItemListViewModel
!
var
isMore
:
Bool
=
false
var
orderId
:
Int
=
0
var
showPrompt
:
Bool
=
false
var
baseData
:
YHSectionWorkExperienceModel
=
YHSectionWorkExperienceModel
()
var
docData
:
YHSectionWorkExperienceModel
=
YHSectionWorkExperienceModel
()
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
viewModel
=
YHGCWorkItemListViewModel
()
gk_navTitle
=
"工作经验信息填写"
gk_navBackgroundColor
=
.
white
gk_navBarAlpha
=
1.0
setView
()
// Do any additional setup after loading the view.
}
override
func
viewWillAppear
(
_
animated
:
Bool
)
{
super
.
viewWillAppear
(
animated
)
getData
()
}
func
getData
()
{
baseData
=
viewModel
.
getBaseDataSource
(
showPrompt
)
docData
=
viewModel
.
getDocDataSource
(
showPrompt
)
viewModel
?
.
requestWorkList
(
"
\(
orderId
)
"
,
callBackBlock
:
{[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
self
.
dataSource
=
success
self
.
tableView
.
reloadData
()
})
}
func
updateDataSource
()
{
self
.
tableView
.
reloadData
()
}
func
setView
()
{
tableView
=
{
let
tableView
=
UITableView
(
frame
:
.
zero
,
style
:
.
plain
)
if
#available(iOS 11.0, *)
{
tableView
.
contentInsetAdjustmentBehavior
=
.
never
}
tableView
.
backgroundColor
=
.
clear
tableView
.
separatorStyle
=
.
none
tableView
.
delegate
=
self
tableView
.
dataSource
=
self
tableView
.
register
(
cellWithClass
:
YHWorkExperienceListTableViewCell
.
self
)
tableView
.
register
(
cellWithClass
:
YHGCWorkListHasWorkExperienceTableViewCell
.
self
)
tableView
.
register
(
cellWithClass
:
YHGCWorkListHasDocTableViewCell
.
self
)
return
tableView
}()
view
.
addSubview
(
tableView
)
tableView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
k_Height_NavigationtBarAndStatuBar
)
make
.
bottom
.
equalTo
(
-
k_Height_safeAreaInsetsBottom
()
-
64
)
make
.
left
.
right
.
bottom
.
equalTo
(
view
)
}
bottomView
=
{
let
bottom
=
YHBottomNextView
()
bottom
.
nextButton
.
setTitle
(
"提交"
,
for
:
.
normal
)
bottom
.
nextblock
=
{
[
weak
self
]
in
guard
let
self
=
self
else
{
return
}
guard
let
dataSource
=
dataSource
else
{
return
}
if
dataSource
.
count
==
0
{
YHHUD
.
flash
(
message
:
"至少需要有一条工作经验"
)
return
}
for
item
in
dataSource
{
if
item
.
vacant_num
??
0
>
0
{
showPrompt
=
true
tableView
.
reloadData
()
YHHUD
.
flash
(
message
:
"您的工作经验未全部填写完成,请先填写完成再提交"
)
return
}
}
if
(
self
.
viewModel
?
.
mainModel
.
has_work_time_empty
==
1
&&
self
.
viewModel
?
.
mainModel
.
work_time_empty_remark
.
count
==
0
)
||
(
self
.
viewModel
?
.
mainModel
.
has_work_time_overlap
==
1
&&
self
.
viewModel
?
.
mainModel
.
work_time_overlap_remark
.
count
==
0
){
YHHUD
.
flash
(
message
:
"您的工作经验未全部填写完成,请先填写完成再提交"
)
return
}
viewModel
?
.
requestWorkTimeRemarkWorkExperience
(
"
\(
orderId
)
"
,
1
,
callBackBlock
:
{[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
if
success
??
false
{
self
.
navigationController
?
.
popViewController
(
animated
:
true
)
}
})
}
bottom
.
saveBlock
=
{
[
weak
self
]
in
guard
let
self
=
self
else
{
return
}
viewModel
?
.
requestWorkTimeRemarkWorkExperience
(
"
\(
orderId
)
"
,
callBackBlock
:
{[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
})
}
return
bottom
}()
view
.
addSubview
(
bottomView
)
bottomView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
right
.
bottom
.
equalTo
(
view
)
make
.
height
.
equalTo
(
k_Height_safeAreaInsetsBottom
()
+
64
)
}
bottomView
.
layoutIfNeeded
()
bottomView
.
nextButton
.
addYinHeGradualLayer
()
}
func
showDeleteAlert
(
_
model
:
YHWorkItemListModel
)
{
YHCommonAlertView
.
show
(
""
,
"您确定要删除这份工作经验吗?"
,
"取消"
,
"确认"
)
{
self
.
viewModel
?
.
requestDeleteWorkExperience
(
self
.
orderId
,
"
\(
model
.
id
??
0
)
"
,
callBackBlock
:
{[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
self
.
getData
()
})
}
}
}
extension
YHGCWorkExperienceListViewController
:
UITableViewDelegate
,
UITableViewDataSource
{
func
tableView
(
_
tableView
:
UITableView
,
numberOfRowsInSection
section
:
Int
)
->
Int
{
return
3
}
func
tableView
(
_
tableView
:
UITableView
,
cellForRowAt
indexPath
:
IndexPath
)
->
UITableViewCell
{
if
indexPath
.
row
==
0
{
let
cell
=
tableView
.
dequeueReusableCell
(
withClass
:
YHGCWorkListHasWorkExperienceTableViewCell
.
self
)
cell
.
dataSource
=
baseData
cell
.
workExperienceBlock
=
{[
weak
self
]
model
in
guard
let
self
=
self
else
{
return
}
// self.viewModel.updateModel(model)
// let id = model.id
// if id != .id1 {
// self.updateDataSource()
// }
}
return
cell
}
else
if
indexPath
.
row
==
1
{
let
cell
=
tableView
.
dequeueReusableCell
(
withClass
:
YHWorkExperienceListTableViewCell
.
self
)
cell
.
showPrompt
=
showPrompt
cell
.
dataSource
=
dataSource
if
isMore
{
cell
.
more
()
}
else
{
cell
.
cannal
()
}
cell
.
clickBlock
=
{[
weak
self
]
model
in
guard
let
self
=
self
else
{
return
}
let
firstModel
=
self
.
dataSource
?
.
first
let
vc
=
YHGCWorkExperienceViewController
()
vc
.
workID
=
model
.
id
??
0
vc
.
orderID
=
self
.
orderId
self
.
navigationController
?
.
pushViewController
(
vc
,
animated
:
true
)
}
cell
.
deleteBlock
=
{[
weak
self
]
model
in
guard
let
self
=
self
else
{
return
}
self
.
showDeleteAlert
(
model
)
}
cell
.
isMoreBlock
=
{[
weak
self
]
isMore
in
guard
let
self
=
self
else
{
return
}
self
.
isMore
=
isMore
}
cell
.
newWorkBlock
=
{[
weak
self
]
in
guard
let
self
=
self
else
{
return
}
if
self
.
dataSource
?
.
count
==
10
{
YHHUD
.
flash
(
message
:
"新增工作经历不能超过10条"
)
}
else
{
self
.
viewModel
?
.
requestCreateNewWork
(
self
.
orderId
,
callBackBlock
:
{[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
if
success
!=
0
{
let
vc
=
YHGCWorkExperienceViewController
()
vc
.
orderID
=
self
.
orderId
vc
.
workID
=
success
self
.
navigationController
?
.
pushViewController
(
vc
,
animated
:
true
)
}
})
}
}
cell
.
backgroundColor
=
.
clear
cell
.
contentView
.
backgroundColor
=
.
clear
return
cell
}
else
if
indexPath
.
row
==
2
{
let
cell
=
tableView
.
dequeueReusableCell
(
withClass
:
YHGCWorkListHasDocTableViewCell
.
self
)
cell
.
dataSource
=
docData
cell
.
workExperienceBlock
=
{[
weak
self
]
model
in
guard
let
self
=
self
else
{
return
}
// self.viewModel.updateModel(model)
// let id = model.id
// if id != .id1 {
// self.updateDataSource()
// }
}
return
cell
}
return
UITableViewCell
()
}
func
tableView
(
_
tableView
:
UITableView
,
heightForRowAt
indexPath
:
IndexPath
)
->
CGFloat
{
if
indexPath
.
row
==
0
{
let
array
=
baseData
.
models
??
[]
var
h
=
0
for
i
in
0
..<
array
.
count
{
let
data
=
array
[
i
]
let
message
=
data
.
message
??
""
let
isShow
=
data
.
isShowPrompts
??
false
h
=
h
+
52
if
isShow
&&
message
.
count
==
0
{
h
=
h
+
20
}
}
return
CGFloat
(
h
+
52
+
14
)
}
if
indexPath
.
row
==
2
{
let
array
=
docData
.
models
??
[]
var
h
=
0
for
i
in
0
..<
array
.
count
{
let
data
=
array
[
i
]
let
message
=
data
.
message
??
""
let
isShow
=
data
.
isShowPrompts
??
false
h
=
h
+
52
if
isShow
&&
message
.
count
==
0
{
h
=
h
+
20
}
}
return
CGFloat
(
h
+
52
+
96
+
14
)
}
_
=
dataSource
?
.
count
??
0
var
height
=
23
+
154
if
let
data
=
dataSource
{
for
item
in
data
{
if
item
.
company_name
==
""
{
height
=
height
+
76
}
else
{
let
text
=
item
.
company_name
// 要显示的文本内容
let
font
=
UIFont
.
PFSC_B
(
ofSize
:
14
)
// 字体大小
let
maxWidth
=
143.0
// 最大宽度限制
// 创建NSAttributedString对象并设置属性
let
attributes
=
[
NSAttributedString
.
Key
.
font
:
font
]
as
[
NSAttributedString
.
Key
:
Any
]
_
=
NSMutableAttributedString
(
string
:
text
??
""
,
attributes
:
attributes
)
// 根据指定的最大宽度和字体大小计算文本的高度
let
size
=
(
text
!
as
NSString
)
.
boundingRect
(
with
:
CGSize
(
width
:
maxWidth
,
height
:
.
greatestFiniteMagnitude
),
options
:
.
usesLineFragmentOrigin
,
attributes
:
attributes
,
context
:
nil
)
.
size
if
size
.
height
>
20
{
height
=
height
+
96
}
else
{
height
=
height
+
76
}
}
if
showPrompt
&&
item
.
vacant_num
!=
0
{
height
=
height
+
20
}
}
}
return
CGFloat
(
height
)
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/TTPS(高才)/ServiceProcess(我的信息流程)/WorkExperience(工作经验)/C/YHGCWorkExperienceViewController.swift
0 → 100644
View file @
c65daa11
//
// YHGCWorkExperienceViewController.swift
// galaxy
//
// Created by EDY on 2024/12/20.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
import
AttributedString
class
YHGCWorkExperienceViewController
:
YHBaseViewController
{
var
bottomView
:
YHBottomNextView
!
var
tableView
:
UITableView
!
var
viewModel
:
YHGCWorkExperienceViewModel
!
var
baseDataSource
:
[
YHSectionWorkExperienceModel
]?
var
introductionDataSource
:
[
YHWorkExperienceProjectModel
]?
var
fileDataSource
:
[
YHWorkExperienceFileModel
]?
var
workID
:
Int
=
0
var
orderID
:
Int
=
0
var
positionId
:
Int
=
0
var
isMore
:
Bool
=
false
var
isShowPrompt
:
Bool
=
false
var
isShowMessageSelect
:
Bool
=
true
var
isKeyboardShow
:
Bool
=
false
var
selectReasonIndex
:
Int
=
5
var
selectEditItem
=
YHWorkExperienceFileModel
()
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
viewModel
=
YHGCWorkExperienceViewModel
()
gk_navTitle
=
"工作经验信息填写"
gk_navBackgroundColor
=
.
white
gk_navBarAlpha
=
1.0
setView
()
getData
()
}
func
getData
()
{
viewModel
.
requestWorkPositionDetail
(
workID
)
{[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
if
success
??
false
{
updateDataSource
()
}
else
{
self
.
viewModel
.
position
.
order_id
=
orderID
updateDataSource
()
}
}
}
func
updateDataSource
()
{
bottomView
.
nextButton
.
setTitle
(
"提交"
,
for
:
.
normal
)
self
.
baseDataSource
=
self
.
viewModel
.
getBaseDataSource
(
false
)
self
.
tableView
.
reloadData
()
}
func
setView
()
{
tableView
=
{
let
tableView
=
UITableView
(
frame
:
.
zero
,
style
:
.
grouped
)
if
#available(iOS 11.0, *)
{
tableView
.
contentInsetAdjustmentBehavior
=
.
never
}
tableView
.
sectionHeaderHeight
=
16
tableView
.
backgroundColor
=
.
clear
tableView
.
separatorStyle
=
.
none
tableView
.
delegate
=
self
tableView
.
dataSource
=
self
tableView
.
register
(
cellWithClass
:
YHWorkExperiencePositionListTableViewCell
.
self
)
tableView
.
register
(
cellWithClass
:
YHWorkExperiencePositionReasonTableViewCell
.
self
)
return
tableView
}()
view
.
addSubview
(
tableView
)
tableView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
k_Height_NavigationtBarAndStatuBar
)
make
.
bottom
.
equalTo
(
-
k_Height_safeAreaInsetsBottom
()
-
64
)
make
.
left
.
right
.
bottom
.
equalTo
(
view
)
}
bottomView
=
{
let
bottom
=
YHBottomNextView
()
bottom
.
nextblock
=
{
[
weak
self
]
in
bottom
.
nextButton
.
isEnabled
=
false
guard
let
self
=
self
else
{
return
}
if
self
.
viewModel
.
isCanNext
()
{
self
.
viewModel
.
saveWorkPosition
(
callBackBlock
:
{[
weak
self
]
flag
,
error
in
guard
let
self
=
self
else
{
return
}
bottom
.
nextButton
.
isEnabled
=
true
if
let
error
=
error
{
YHHUD
.
flash
(
message
:
error
.
errorMsg
)
}
else
{
YHHUD
.
hideFlashMessage
()
YHHUD
.
flash
(
message
:
"提交成功"
)
self
.
navigationController
?
.
popViewController
()
}
})
}
else
{
bottom
.
nextButton
.
isEnabled
=
true
self
.
isShowPrompt
=
true
self
.
updateDataSource
()
YHHUD
.
flash
(
message
:
"您还有信息未填写"
)
}
}
bottom
.
saveBlock
=
{
[
weak
self
]
in
guard
let
self
=
self
else
{
return
}
self
.
viewModel
.
saveWorkPosition
(
callBackBlock
:
{[
weak
self
]
flag
,
error
in
guard
let
_
=
self
else
{
return
}
if
let
error
=
error
{
YHHUD
.
flash
(
message
:
error
.
errorMsg
)
}
else
{
YHHUD
.
flash
(
message
:
"保存成功"
)
}
})
}
return
bottom
}()
view
.
addSubview
(
bottomView
)
bottomView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
right
.
bottom
.
equalTo
(
view
)
make
.
height
.
equalTo
(
k_Height_safeAreaInsetsBottom
()
+
64
)
}
bottomView
.
layoutIfNeeded
()
bottomView
.
nextButton
.
addYinHeGradualLayer
()
}
}
extension
YHGCWorkExperienceViewController
:
UITableViewDelegate
,
UITableViewDataSource
{
func
tableView
(
_
tableView
:
UITableView
,
numberOfRowsInSection
section
:
Int
)
->
Int
{
return
1
}
func
tableView
(
_
tableView
:
UITableView
,
cellForRowAt
indexPath
:
IndexPath
)
->
UITableViewCell
{
let
cell
=
tableView
.
dequeueReusableCell
(
withClass
:
YHWorkExperiencePositionListTableViewCell
.
self
)
cell
.
dataSource
=
baseDataSource
?[
indexPath
.
row
]
cell
.
workExperienceBlock
=
{[
weak
self
]
model
in
guard
let
self
=
self
else
{
return
}
self
.
viewModel
.
updateModel
(
model
)
let
id
=
model
.
id
if
id
!=
.
id1
&&
id
!=
.
id2
&&
id
!=
.
id6
&&
id
!=
.
id10
&&
id
!=
.
id11
{
self
.
updateDataSource
()
}
}
return
cell
}
func
tableView
(
_
tableView
:
UITableView
,
heightForRowAt
indexPath
:
IndexPath
)
->
CGFloat
{
if
indexPath
.
row
==
0
{
let
array
=
baseDataSource
?[
indexPath
.
row
]
.
models
??
[]
var
h
=
0
for
i
in
0
..<
array
.
count
{
let
data
=
array
[
i
]
let
message
=
data
.
message
??
""
let
isShow
=
data
.
isShowPrompts
??
false
if
data
.
id
==
.
id7
{
h
=
h
+
72
}
else
{
h
=
h
+
52
}
if
isShow
&&
message
.
count
==
0
{
h
=
h
+
20
}
}
return
CGFloat
(
h
+
52
+
14
)
}
else
{
return
UITableView
.
automaticDimension
}
}
func
tableView
(
_
tableView
:
UITableView
,
viewForHeaderInSection
section
:
Int
)
->
UIView
?
{
let
view
=
UIView
(
frame
:
CGRect
(
x
:
0
,
y
:
0
,
width
:
KScreenWidth
,
height
:
7
))
return
view
}
func
tableView
(
_
tableView
:
UITableView
,
heightForHeaderInSection
section
:
Int
)
->
CGFloat
{
return
16
}
func
tableView
(
_
tableView
:
UITableView
,
viewForFooterInSection
section
:
Int
)
->
UIView
?
{
return
UIView
()
}
func
tableView
(
_
tableView
:
UITableView
,
heightForFooterInSection
section
:
Int
)
->
CGFloat
{
return
0.01
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/TTPS(高才)/ServiceProcess(我的信息流程)/WorkExperience(工作经验)/M/YHGCWorkExperienceModel.swift
0 → 100644
View file @
c65daa11
//
// YHGCWorkExperienceModel.swift
// galaxy
//
// Created by EDY on 2024/12/20.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
import
SmartCodable
class
YHGCWorkExperienceModel
:
SmartCodable
{
var
id
:
Int
=
0
var
order_id
:
Int
=
0
var
company_name
:
String
=
""
var
entry_time
:
String
=
""
var
departure_time
:
String
=
""
var
location_aboard
:
Int
=
0
var
position
:
String
=
""
var
has_work_certificate
:
Int
=
0
var
company_type
:
String
=
""
var
company_type_other
:
String
=
""
var
location
:
YHAddress
=
YHAddress
()
required
init
()
{
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/TTPS(高才)/ServiceProcess(我的信息流程)/WorkExperience(工作经验)/M/YHGCWorkModel.swift
0 → 100644
View file @
c65daa11
//
// YHGCWorkModel.swift
// galaxy
//
// Created by EDY on 2024/12/20.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
import
SmartCodable
class
YHGCWorkModel
:
SmartCodable
{
var
count
:
Int
?
var
has_work_time_overlap
:
Int
=
0
var
has_work_time_empty
:
Int
=
0
var
work_time_overlap_remark
:
String
=
""
//重叠期
var
work_time_empty_remark
:
String
=
""
//空窗期
var
agree_work_doc_url
:
String
=
""
var
has_company_consent
:
Int
=
0
//高才使用 在职公司是否可以提供赴港同意书 0 未知 1 是 2 否
var
consent_work_id
:
Int
=
0
//高才使用 可以提供赴港同意书的工作经历id
var
has_center_consent
:
Int
=
0
//高才使用 人才中心是否可以提供赴港同意书 0 未知 1 是 2 否
var
why_work_time_overlap
:
String
=
""
//高才使用 关于工作时间重叠的说明
var
has_work_experience
:
Int
=
0
//高BC使用 是否有工作经历 0.未知 1.是 2.否
var
is_consent_required
:
Int
=
0
//高才使用 是否必须提供赴港同意书 0-否 1-是
var
list
:
[
YHWorkItemListModel
]?
required
init
()
{
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/TTPS(高才)/ServiceProcess(我的信息流程)/WorkExperience(工作经验)/V/YHGCWorkListHasDocTableViewCell.swift
0 → 100644
View file @
c65daa11
//
// YHGCWorkListHasDocTableViewCell.swift
// galaxy
//
// Created by EDY on 2024/12/20.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
import
AttributedString
class
YHGCWorkListHasDocTableViewCell
:
UITableViewCell
{
typealias
WorkExperienceBlock
=
(
_
model
:
YHWorkExperienceModel
)
->
()
var
workExperienceBlock
:
WorkExperienceBlock
?
var
centerView
:
UIView
!
var
titleLabel
:
UILabel
!
var
messageLabel
:
UILabel
!
var
mainItemView
:
UIView
!
var
workId
:
Int
=
0
var
orderId
:
Int
=
0
var
dataSource
:
YHSectionWorkExperienceModel
?{
didSet
{
updateAllViews
()
}
}
var
selectDataSource
:
[
ASAttributedString
]?
override
func
awakeFromNib
()
{
super
.
awakeFromNib
()
// Initialization code
}
override
func
setSelected
(
_
selected
:
Bool
,
animated
:
Bool
)
{
super
.
setSelected
(
selected
,
animated
:
animated
)
// Configure the view for the selected state
}
required
init
?(
coder
:
NSCoder
)
{
super
.
init
(
coder
:
coder
)
}
override
init
(
style
:
UITableViewCell
.
CellStyle
,
reuseIdentifier
:
String
?)
{
super
.
init
(
style
:
style
,
reuseIdentifier
:
reuseIdentifier
)
selectionStyle
=
.
none
setupUI
()
}
func
setupUI
()
{
backgroundColor
=
.
clear
centerView
=
{
let
view
=
UIView
()
view
.
backgroundColor
=
.
white
view
.
layer
.
cornerRadius
=
kCornerRadius6
return
view
}()
contentView
.
addSubview
(
centerView
)
centerView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
16
)
make
.
right
.
equalTo
(
-
16
)
make
.
top
.
equalTo
(
7
)
make
.
bottom
.
equalTo
(
-
7
)
}
titleLabel
=
{
let
label
=
UILabel
()
label
.
font
=
UIFont
.
PFSC_M
(
ofSize
:
17
)
label
.
textColor
=
UIColor
.
mainTextColor
return
label
}()
centerView
.
addSubview
(
titleLabel
)
titleLabel
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
18
)
make
.
top
.
equalTo
(
16
)
make
.
height
.
equalTo
(
20
)
make
.
right
.
equalTo
(
-
18
)
}
let
line
=
UIView
()
line
.
backgroundColor
=
UIColor
.
separatorColor
centerView
.
addSubview
(
line
)
line
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
18
)
make
.
top
.
equalTo
(
52
)
make
.
height
.
equalTo
(
1
)
make
.
right
.
equalTo
(
-
18
)
}
messageLabel
=
{
let
label
=
UILabel
()
label
.
numberOfLines
=
0
let
a
:
ASAttributedString
=
.
init
(
"备注:赴港同意书为目前在职公司盖章提供,若目前未就职于任何公司,则由档案所在地人才中心盖章提供,"
,
.
font
(
UIFont
.
PFSC_R
(
ofSize
:
13
)),
.
foreground
(
UIColor
(
hex
:
0x8893a2
)))
let
b
:
ASAttributedString
=
.
init
(
"查看示例模板"
,
.
font
(
UIFont
.
PFSC_R
(
ofSize
:
13
)),
.
foreground
(
UIColor
.
brandMainColor
),
.
underline
(
.
single
),
.
action
{
//跳转模版
})
label
.
attributed
.
text
=
a
+
b
return
label
}()
centerView
.
addSubview
(
messageLabel
)
messageLabel
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
18
)
make
.
top
.
equalTo
(
68
)
make
.
right
.
equalTo
(
-
18
)
}
mainItemView
=
{
let
view
=
UIView
()
view
.
backgroundColor
=
.
white
view
.
layer
.
cornerRadius
=
kCornerRadius6
return
view
}()
centerView
.
addSubview
(
mainItemView
)
mainItemView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
right
.
bottom
.
equalToSuperview
()
make
.
top
.
equalTo
(
132
)
}
}
func
updateAllViews
()
{
titleLabel
.
text
=
dataSource
?
.
title
mainItemView
.
removeSubviews
()
var
y
=
0
for
i
in
0
..<
(
dataSource
?
.
models
?
.
count
??
0
)
{
if
y
!=
0
{
let
line
=
UIView
()
line
.
backgroundColor
=
UIColor
.
separatorColor
mainItemView
.
addSubview
(
line
)
line
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
18
)
make
.
top
.
equalTo
(
y
)
make
.
height
.
equalTo
(
1
)
make
.
right
.
equalTo
(
-
18
)
}
}
y
=
y
+
1
let
data
=
dataSource
?
.
models
?[
i
]
let
isShow
=
data
?
.
isShowPrompts
??
false
let
message
=
data
?
.
message
??
""
var
h
=
51
if
isShow
&&
message
.
count
==
0
{
h
=
h
+
20
}
let
itemView
=
YHWorkExperienceItemView
()
itemView
.
dataSource
=
data
itemView
.
workId
=
workId
itemView
.
orderId
=
orderId
itemView
.
block
=
{[
weak
self
]
model
in
guard
let
self
=
self
else
{
return
}
if
let
block
=
self
.
workExperienceBlock
{
block
(
model
)
}
}
mainItemView
.
addSubview
(
itemView
)
itemView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
18
)
make
.
top
.
equalTo
(
y
)
make
.
height
.
equalTo
(
h
)
make
.
right
.
equalTo
(
-
18
)
}
y
=
y
+
h
}
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/TTPS(高才)/ServiceProcess(我的信息流程)/WorkExperience(工作经验)/V/YHGCWorkListHasWorkExperienceTableViewCell.swift
0 → 100644
View file @
c65daa11
//
// YHGCWorkListHasWorkExperienceTableViewCell.swift
// galaxy
//
// Created by EDY on 2024/12/20.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
import
AttributedString
class
YHGCWorkListHasWorkExperienceTableViewCell
:
UITableViewCell
{
typealias
WorkExperienceBlock
=
(
_
model
:
YHWorkExperienceModel
)
->
()
var
workExperienceBlock
:
WorkExperienceBlock
?
var
centerView
:
UIView
!
var
titleLabel
:
UILabel
!
var
mainItemView
:
UIView
!
var
workId
:
Int
=
0
var
orderId
:
Int
=
0
var
dataSource
:
YHSectionWorkExperienceModel
?{
didSet
{
updateAllViews
()
}
}
var
selectDataSource
:
[
ASAttributedString
]?
override
func
awakeFromNib
()
{
super
.
awakeFromNib
()
// Initialization code
}
override
func
setSelected
(
_
selected
:
Bool
,
animated
:
Bool
)
{
super
.
setSelected
(
selected
,
animated
:
animated
)
// Configure the view for the selected state
}
required
init
?(
coder
:
NSCoder
)
{
super
.
init
(
coder
:
coder
)
}
override
init
(
style
:
UITableViewCell
.
CellStyle
,
reuseIdentifier
:
String
?)
{
super
.
init
(
style
:
style
,
reuseIdentifier
:
reuseIdentifier
)
selectionStyle
=
.
none
setupUI
()
}
func
setupUI
()
{
backgroundColor
=
.
clear
centerView
=
{
let
view
=
UIView
()
view
.
backgroundColor
=
.
white
view
.
layer
.
cornerRadius
=
kCornerRadius6
return
view
}()
contentView
.
addSubview
(
centerView
)
centerView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
16
)
make
.
right
.
equalTo
(
-
16
)
make
.
top
.
equalTo
(
7
)
make
.
bottom
.
equalTo
(
-
7
)
}
titleLabel
=
{
let
label
=
UILabel
()
label
.
font
=
UIFont
.
PFSC_M
(
ofSize
:
17
)
label
.
textColor
=
UIColor
.
mainTextColor
return
label
}()
centerView
.
addSubview
(
titleLabel
)
titleLabel
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
18
)
make
.
top
.
equalTo
(
16
)
make
.
height
.
equalTo
(
20
)
make
.
right
.
equalTo
(
-
18
)
}
mainItemView
=
{
let
view
=
UIView
()
view
.
backgroundColor
=
.
white
view
.
layer
.
cornerRadius
=
kCornerRadius6
return
view
}()
centerView
.
addSubview
(
mainItemView
)
mainItemView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
right
.
bottom
.
equalToSuperview
()
make
.
top
.
equalTo
(
52
)
}
}
func
updateAllViews
()
{
titleLabel
.
text
=
dataSource
?
.
title
mainItemView
.
removeSubviews
()
var
y
=
0
for
i
in
0
..<
(
dataSource
?
.
models
?
.
count
??
0
)
{
let
line
=
UIView
()
line
.
backgroundColor
=
UIColor
.
separatorColor
mainItemView
.
addSubview
(
line
)
line
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
18
)
make
.
top
.
equalTo
(
y
)
make
.
height
.
equalTo
(
1
)
make
.
right
.
equalTo
(
-
18
)
}
y
=
y
+
1
let
data
=
dataSource
?
.
models
?[
i
]
let
isShow
=
data
?
.
isShowPrompts
??
false
let
message
=
data
?
.
message
??
""
var
h
=
51
if
isShow
&&
message
.
count
==
0
{
h
=
h
+
20
}
let
itemView
=
YHWorkExperienceItemView
()
itemView
.
dataSource
=
data
itemView
.
workId
=
workId
itemView
.
orderId
=
orderId
itemView
.
block
=
{[
weak
self
]
model
in
guard
let
self
=
self
else
{
return
}
if
let
block
=
self
.
workExperienceBlock
{
block
(
model
)
}
}
mainItemView
.
addSubview
(
itemView
)
itemView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
18
)
make
.
top
.
equalTo
(
y
)
make
.
height
.
equalTo
(
h
)
make
.
right
.
equalTo
(
-
18
)
}
y
=
y
+
h
}
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/TTPS(高才)/ServiceProcess(我的信息流程)/WorkExperience(工作经验)/VM/YHGCWorkExperienceViewModel.swift
0 → 100644
View file @
c65daa11
//
// YHGCWorkExperienceViewModel.swift
// galaxy
//
// Created by EDY on 2024/12/20.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
class
YHGCWorkExperienceViewModel
:
YHBaseViewModel
{
var
position
:
YHGCWorkExperienceModel
=
YHGCWorkExperienceModel
()
override
init
()
{
super
.
init
()
}
func
getBaseDataSource
(
_
isShowPrompt
:
Bool
)
->
[
YHSectionWorkExperienceModel
]
{
let
item
=
YHWorkExperienceModel
(
id
:
.
id1
,
isNeed
:
true
,
title
:
"用人单位"
,
isUserKeyBoard
:
false
,
prompts
:
"请输入"
,
message
:
position
.
company_name
,
type
:
.
unit
,
isShowPrompts
:
isShowPrompt
,
alertMessage
:
"请输入"
)
let
item1
=
YHWorkExperienceModel
(
id
:
.
id2
,
isNeed
:
true
,
title
:
"工作国家/地区"
,
isUserKeyBoard
:
false
,
prompts
:
"请选择"
,
message
:
position
.
location
.
country
,
type
:
.
country
,
isShowPrompts
:
isShowPrompt
,
alertMessage
:
"请选择工作国家/地区"
)
var
string
=
""
let
array
=
position
.
location
.
area
for
item
in
array
{
if
string
.
count
!=
0
{
string
=
string
+
"/"
+
item
}
else
{
string
=
string
+
item
}
}
let
item2
=
YHWorkExperienceModel
(
id
:
.
id3
,
isNeed
:
true
,
title
:
"工作城市"
,
isUserKeyBoard
:
false
,
prompts
:
"请选择"
,
message
:
string
,
type
:
.
address
,
isShowPrompts
:
isShowPrompt
,
alertMessage
:
"请选择工作国家/地区"
)
let
item22
=
YHWorkExperienceModel
(
id
:
.
id4
,
isNeed
:
true
,
title
:
"工作城市"
,
isUserKeyBoard
:
true
,
prompts
:
"请输入"
,
message
:
position
.
location
.
foreign
,
isShowPrompts
:
isShowPrompt
,
alertMessage
:
"请输入工作国家/地区"
)
let
item3
=
YHWorkExperienceModel
(
id
:
.
id5
,
isNeed
:
true
,
title
:
"职责"
,
isUserKeyBoard
:
true
,
prompts
:
"请输入"
,
message
:
position
.
position
,
isShowPrompts
:
isShowPrompt
,
alertMessage
:
"请输入"
)
let
item4
=
YHWorkExperienceModel
(
id
:
.
id23
,
isNeed
:
true
,
title
:
"开始就职年月"
,
isUserKeyBoard
:
false
,
prompts
:
"请选择"
,
message
:
position
.
entry_time
,
type
:
.
time
)
let
item5
=
YHWorkExperienceModel
(
id
:
.
id24
,
isNeed
:
true
,
title
:
"结束就职年月"
,
isUserKeyBoard
:
false
,
prompts
:
"请选择"
,
message
:
position
.
departure_time
,
type
:
.
time
)
let
item6
=
YHWorkExperienceModel
(
id
:
.
id6
,
isNeed
:
true
,
title
:
"工作证明是否可以提供"
,
isUserKeyBoard
:
false
,
prompts
:
""
,
message
:
"
\(
position
.
has_work_certificate
)
"
,
leftButtonString
:
"是"
,
rightButtonString
:
"否"
)
let
item7
=
YHWorkExperienceModel
(
id
:
.
id7
,
isNeed
:
true
,
title
:
"职业界别"
,
isUserKeyBoard
:
false
,
prompts
:
"请选择"
,
message
:
position
.
company_type
,
type
:
.
field
,
isShowPrompts
:
isShowPrompt
,
alertMessage
:
"请选择"
)
let
item77
=
YHWorkExperienceModel
(
id
:
.
id8
,
isNeed
:
true
,
title
:
"具体经验领域"
,
isUserKeyBoard
:
true
,
prompts
:
"请输入"
,
message
:
position
.
company_type_other
,
type
:
.
country
,
isShowPrompts
:
isShowPrompt
,
alertMessage
:
"请输入"
)
let
addressCountry
=
position
.
location
.
country
let
company_type
=
position
.
company_type
var
section
=
YHSectionWorkExperienceModel
()
if
addressCountry
.
contains
(
"中国"
)
{
if
company_type
.
contains
(
"其他"
)
{
section
=
YHSectionWorkExperienceModel
(
title
:
"企业信息"
,
models
:
[
item
,
item1
,
item2
,
item3
,
item4
,
item5
,
item6
,
item7
,
item77
])
}
else
{
section
=
YHSectionWorkExperienceModel
(
title
:
"企业信息"
,
models
:
[
item
,
item1
,
item2
,
item3
,
item4
,
item5
,
item6
,
item7
])
}
}
else
{
if
company_type
.
contains
(
"其他"
)
{
section
=
YHSectionWorkExperienceModel
(
title
:
"企业信息"
,
models
:
[
item
,
item1
,
item22
,
item3
,
item4
,
item5
,
item6
,
item7
,
item77
])
}
else
{
section
=
YHSectionWorkExperienceModel
(
title
:
"企业信息"
,
models
:
[
item
,
item1
,
item22
,
item3
,
item4
,
item5
,
item6
,
item7
])
}
}
return
[
section
]
}
func
updateModel
(
_
item
:
YHWorkExperienceModel
)
{
guard
let
type
=
item
.
id
else
{
return
}
switch
type
{
case
.
id1
:
// 用人单位
position
.
company_name
=
item
.
message
??
""
case
.
id2
:
// 用人单位性质
position
.
location
.
country
=
item
.
message
??
""
case
.
id23
:
// 入职年月
let
format
=
DateFormatter
()
format
.
dateFormat
=
"yyyy-MM"
if
let
selectDate
=
format
.
date
(
from
:
item
.
message
??
""
)
{
let
selectTimeInterval
=
selectDate
.
timeIntervalSince1970
let
currentTimeInterval
=
Date
()
.
timeIntervalSince1970
if
selectTimeInterval
>
currentTimeInterval
{
YHHUD
.
flash
(
message
:
"开始就职年月不能晚于当前日期"
)
}
else
{
guard
let
endDate
=
format
.
date
(
from
:
position
.
departure_time
)
else
{
position
.
entry_time
=
item
.
message
??
""
return
}
let
endTimeInterval
=
endDate
.
timeIntervalSince1970
if
selectTimeInterval
>
endTimeInterval
{
YHHUD
.
flash
(
message
:
"开始就职年月不能晚于结束就职年月"
)
}
else
{
position
.
entry_time
=
item
.
message
??
""
}
}
}
case
.
id24
:
// 离职年月
let
format
=
DateFormatter
()
format
.
dateFormat
=
"yyyy-MM"
if
let
selectDate
=
format
.
date
(
from
:
item
.
message
??
""
),
let
startDate
=
format
.
date
(
from
:
position
.
entry_time
)
{
let
selectTimeInterval
=
selectDate
.
timeIntervalSince1970
let
startTimeInterval
=
startDate
.
timeIntervalSince1970
if
selectTimeInterval
<
startTimeInterval
{
YHHUD
.
flash
(
message
:
"结束就职年月不能早于开始就职年月"
)
}
else
{
position
.
departure_time
=
item
.
message
??
""
}
}
else
{
position
.
departure_time
=
item
.
message
??
""
}
case
.
id3
:
position
.
location
.
area
=
item
.
value
??
[]
case
.
id4
:
position
.
location
.
foreign
=
item
.
message
??
""
case
.
id5
:
position
.
position
=
item
.
message
??
""
case
.
id6
:
position
.
has_work_certificate
=
Int
(
item
.
value
?
.
first
??
"0"
)
??
0
case
.
id7
:
position
.
company_type
=
item
.
message
??
""
case
.
id8
:
position
.
company_type_other
=
item
.
message
??
""
default
:
break
}
}
func
isCanNext
()
->
Bool
{
let
company_name
=
position
.
company_name
let
country
=
position
.
location
.
country
let
entry_time
=
position
.
entry_time
let
departure_time
=
position
.
departure_time
let
area
=
position
.
location
.
area
let
foreign
=
position
.
location
.
foreign
let
has_work_certificate
=
position
.
has_work_certificate
let
company_type
=
position
.
company_type
let
company_type_other
=
position
.
company_type_other
guard
company_name
.
count
>
0
else
{
return
false
}
guard
country
.
count
>
0
else
{
return
false
}
guard
entry_time
.
count
>
0
else
{
return
false
}
guard
departure_time
.
count
>
0
else
{
return
false
}
guard
has_work_certificate
>
0
else
{
return
false
}
guard
country
.
count
>
0
else
{
return
false
}
if
company_type
==
"其他"
{
guard
company_type_other
.
count
>
0
else
{
return
false
}
}
if
country
.
contains
(
"中国"
)
{
guard
area
.
count
>
0
else
{
return
false
}
}
else
{
guard
foreign
.
count
>
0
else
{
return
false
}
}
return
true
}
func
requestWorkPositionDetail
(
_
workId
:
Int
,
callBackBlock
:
@escaping
(
_
success
:
Bool
?,
_
error
:
YHErrorModel
?)
->
())
{
let
param
:
[
String
:
Any
]
=
[
"work_id"
:
workId
]
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
YHAllApiName
.
WorkExperience
.
gcworkDetail
let
_
=
YHNetRequest
.
getRequest
(
url
:
strUrl
,
params
:
param
)
{
[
weak
self
]
json
,
code
in
//1. json字符串 转 对象
guard
let
self
=
self
else
{
return
}
if
json
.
code
==
200
{
guard
let
dic
=
json
.
data
?
.
peel
as?
[
String
:
Any
],
let
result
=
YHGCWorkExperienceModel
.
deserialize
(
from
:
dic
)
else
{
callBackBlock
(
false
,
nil
)
return
}
self
.
position
=
result
callBackBlock
(
true
,
nil
)
}
else
{
let
error
:
YHErrorModel
=
YHErrorModel
(
errorCode
:
Int32
(
json
.
code
),
errorMsg
:
json
.
msg
)
callBackBlock
(
false
,
error
)
}
}
failBlock
:
{
err
in
callBackBlock
(
false
,
err
)
}
}
func
saveWorkPosition
(
callBackBlock
:
@escaping
(
_
success
:
Bool
?,
_
error
:
YHErrorModel
?)
->
())
{
let
address
=
[
"area"
:
position
.
location
.
area
,
"country"
:
position
.
location
.
country
,
"details"
:
position
.
location
.
details
,
"foreign"
:
position
.
location
.
foreign
]
as
[
String
:
Any
]
let
params
:
[
String
:
Any
]
=
[
"id"
:
position
.
id
,
"order_id"
:
position
.
order_id
,
"company_name"
:
position
.
company_name
,
"entry_time"
:
position
.
entry_time
,
"departure_time"
:
position
.
departure_time
,
"position"
:
position
.
position
,
"has_work_certificate"
:
position
.
has_work_certificate
,
"company_type"
:
position
.
company_type
,
"company_type_other"
:
position
.
company_type_other
,
"location"
:
address
]
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
YHAllApiName
.
WorkExperience
.
gcWorkSave
let
_
=
YHNetRequest
.
postRequest
(
url
:
strUrl
,
params
:
params
)
{
[
weak
self
]
json
,
code
in
guard
let
self
=
self
else
{
return
}
if
json
.
code
==
200
{
guard
let
dic
=
json
.
data
?
.
peel
as?
[
String
:
Any
],
let
result
=
YHWorkExperiencePositionModel
.
deserialize
(
from
:
dic
)
else
{
callBackBlock
(
false
,
nil
)
return
}
callBackBlock
(
true
,
nil
)
}
else
{
let
error
:
YHErrorModel
=
YHErrorModel
(
errorCode
:
Int32
(
json
.
code
),
errorMsg
:
json
.
msg
)
callBackBlock
(
false
,
error
)
}
}
failBlock
:
{
err
in
callBackBlock
(
false
,
err
)
}
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/TTPS(高才)/ServiceProcess(我的信息流程)/WorkExperience(工作经验)/VM/YHGCWorkItemListViewModel.swift
0 → 100644
View file @
c65daa11
//
// YHGCWorkItemListViewModel.swift
// galaxy
//
// Created by EDY on 2024/12/20.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
class
YHGCWorkItemListViewModel
:
YHBaseViewModel
{
var
mainModel
:
YHGCWorkModel
=
YHGCWorkModel
()
var
listModel
:
[
YHWorkItemListModel
]?
var
workId
:
Int
=
0
override
init
()
{
super
.
init
()
}
func
getBaseDataSource
(
_
isShowPrompt
:
Bool
)
->
YHSectionWorkExperienceModel
{
let
item
=
YHWorkExperienceModel
(
id
:
.
id1
,
isNeed
:
true
,
title
:
"主申请人是否有工作经验"
,
isUserKeyBoard
:
false
,
prompts
:
""
,
message
:
""
,
leftButtonString
:
"是"
,
rightButtonString
:
"否"
,
isShowPrompts
:
isShowPrompt
,
alertMessage
:
"请选择"
)
let
section
=
YHSectionWorkExperienceModel
(
title
:
"工作经验"
,
models
:
[
item
])
return
section
}
func
getDocDataSource
(
_
isShowPrompt
:
Bool
)
->
YHSectionWorkExperienceModel
{
let
item
=
YHWorkExperienceModel
(
id
:
.
id2
,
isNeed
:
true
,
title
:
"在职公司是否可以提供赴港同意书"
,
isUserKeyBoard
:
false
,
prompts
:
""
,
message
:
""
,
leftButtonString
:
"是"
,
rightButtonString
:
"否"
,
isShowPrompts
:
isShowPrompt
,
alertMessage
:
"请选择"
)
let
item1
=
YHWorkExperienceModel
(
id
:
.
id2
,
isNeed
:
true
,
title
:
"人才中心是否可以提供赴港同意书?"
,
isUserKeyBoard
:
false
,
prompts
:
""
,
message
:
""
,
leftButtonString
:
"是"
,
rightButtonString
:
"否"
,
isShowPrompts
:
isShowPrompt
,
alertMessage
:
"请选择"
)
let
item2
=
YHWorkExperienceModel
(
id
:
.
id2
,
isNeed
:
true
,
title
:
"公司基本情况"
,
isUserKeyBoard
:
false
,
prompts
:
"请选择"
,
message
:
""
,
type
:
.
unit
,
isShowPrompts
:
isShowPrompt
,
alertMessage
:
"请选择"
)
let
section
=
YHSectionWorkExperienceModel
(
title
:
"赴港同意书提供"
,
models
:
[
item
,
item1
,
item2
])
return
section
}
func
requestWorkList
(
_
orderId
:
String
,
callBackBlock
:
@escaping
(
_
success
:
[
YHWorkItemListModel
]?,
_
error
:
YHErrorModel
?)
->
())
{
// let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.WorkExperience.list + "?order_id=\(orderId)"
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
YHAllApiName
.
WorkExperience
.
gclist
let
params
:
[
String
:
Any
]
=
[
"order_id"
:
orderId
]
let
_
=
YHNetRequest
.
getRequest
(
url
:
strUrl
,
params
:
params
)
{
[
weak
self
]
json
,
code
in
//1. json字符串 转 对象
guard
let
self
=
self
else
{
return
}
if
json
.
code
==
200
{
guard
let
dic
=
json
.
data
?
.
peel
as?
[
String
:
Any
],
let
result
=
YHGCWorkModel
.
deserialize
(
from
:
dic
)
else
{
callBackBlock
([],
nil
)
return
}
self
.
mainModel
=
result
self
.
listModel
=
result
.
list
callBackBlock
(
self
.
listModel
,
nil
)
}
else
{
let
error
:
YHErrorModel
=
YHErrorModel
(
errorCode
:
Int32
(
json
.
code
),
errorMsg
:
json
.
msg
)
callBackBlock
([],
error
)
}
}
failBlock
:
{
err
in
callBackBlock
([],
err
)
}
}
func
requestDeleteWorkExperience
(
_
id
:
Int
,
_
orderId
:
String
,
callBackBlock
:
@escaping
(
_
success
:
Bool
?,
_
error
:
YHErrorModel
?)
->
())
{
let
params
:
[
String
:
Any
]
=
[
"id"
:
id
,
"order_id"
:
orderId
]
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
YHAllApiName
.
WorkExperience
.
del
let
_
=
YHNetRequest
.
postRequest
(
url
:
strUrl
,
params
:
params
)
{
[
weak
self
]
json
,
code
in
//1. json字符串 转 对象
guard
let
self
=
self
else
{
return
}
if
json
.
code
==
200
{
callBackBlock
(
true
,
nil
)
}
else
{
let
error
:
YHErrorModel
=
YHErrorModel
(
errorCode
:
Int32
(
json
.
code
),
errorMsg
:
json
.
msg
)
callBackBlock
(
false
,
error
)
}
}
failBlock
:
{
err
in
callBackBlock
(
false
,
err
)
}
}
func
requestWorkTimeRemarkWorkExperience
(
_
orderId
:
String
,
_
isSaveAll
:
Int
=
0
,
callBackBlock
:
@escaping
(
_
success
:
Bool
?,
_
error
:
YHErrorModel
?)
->
())
{
let
params
:
[
String
:
Any
]
=
[
"order_id"
:
orderId
,
"has_company_consent"
:
self
.
mainModel
.
has_company_consent
,
"consent_work_id"
:
self
.
mainModel
.
consent_work_id
,
"has_center_consent"
:
self
.
mainModel
.
has_center_consent
,
"why_work_time_overlap"
:
self
.
mainModel
.
why_work_time_overlap
,
"has_work_experience"
:
self
.
mainModel
.
has_work_experience
,
"is_submit"
:
true
]
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
YHAllApiName
.
WorkExperience
.
saveWorkTimeRemark
let
_
=
YHNetRequest
.
postRequest
(
url
:
strUrl
,
params
:
params
)
{
[
weak
self
]
json
,
code
in
//1. json字符串 转 对象
guard
let
self
=
self
else
{
return
}
if
json
.
code
==
200
{
callBackBlock
(
true
,
nil
)
}
else
{
let
error
:
YHErrorModel
=
YHErrorModel
(
errorCode
:
Int32
(
json
.
code
),
errorMsg
:
json
.
msg
)
callBackBlock
(
false
,
error
)
}
}
failBlock
:
{
err
in
callBackBlock
(
false
,
err
)
}
}
//创建新的是否可用
func
requestCreateNewWork
(
_
orderId
:
Int
,
callBackBlock
:
@escaping
(
_
success
:
Int
,
_
error
:
YHErrorModel
?)
->
())
{
// let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.WorkExperience.list + "?order_id=\(orderId)"
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
YHAllApiName
.
WorkExperience
.
createNewWork
let
params
:
[
String
:
Any
]
=
[
"order_id"
:
orderId
]
let
_
=
YHNetRequest
.
postRequest
(
url
:
strUrl
,
params
:
params
)
{
[
weak
self
]
json
,
code
in
//1. json字符串 转 对象
guard
let
self
=
self
else
{
return
}
if
json
.
code
==
200
{
guard
let
dic
=
json
.
data
?
.
peel
as?
[
String
:
Any
],
let
result
=
YHWorkExperienceDetailModel
.
deserialize
(
from
:
dic
)
else
{
callBackBlock
(
0
,
nil
)
return
}
self
.
workId
=
result
.
work_id
callBackBlock
(
result
.
work_id
,
nil
)
}
else
{
let
error
:
YHErrorModel
=
YHErrorModel
(
errorCode
:
Int32
(
json
.
code
),
errorMsg
:
json
.
msg
)
callBackBlock
(
0
,
error
)
}
}
failBlock
:
{
err
in
callBackBlock
(
0
,
err
)
}
}
}
galaxy/galaxy/Classes/Tools/NetWork/YHAllApiName.swift
View file @
c65daa11
...
@@ -270,6 +270,10 @@ class YHAllApiName {
...
@@ -270,6 +270,10 @@ class YHAllApiName {
static
let
workHighlightsDetail
=
"infoflow/work/v1/workHighlightsDetail"
static
let
workHighlightsDetail
=
"infoflow/work/v1/workHighlightsDetail"
static
let
saveWorkHighlights
=
"infoflow/work/v1/saveWorkHighlights"
static
let
saveWorkHighlights
=
"infoflow/work/v1/saveWorkHighlights"
static
let
createNewWork
=
"infoflow/work/v1/createNewWork"
static
let
createNewWork
=
"infoflow/work/v1/createNewWork"
static
let
gclist
=
"infoflow/work/list"
static
let
gcworkDetail
=
"infoflow/work/detail"
static
let
gcWorkSave
=
"infoflow/work/save"
}
}
//登录
//登录
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment