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
1290e8a9
Commit
1290e8a9
authored
Dec 26, 2024
by
pete谢兆麟
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop' of
http://gitlab.galaxy-immi.com/mobile-group/galaxy-iOS
into develop
parents
db561ca2
23cfdf03
Changes
56
Show whitespace changes
Inline
Side-by-side
Showing
56 changed files
with
2781 additions
and
229 deletions
+2781
-229
project.pbxproj
galaxy/galaxy.xcodeproj/project.pbxproj
+112
-4
AppDelegate.swift
galaxy/galaxy/AppDelegate.swift
+2
-2
YHAIServiceListViewController.swift
...I/AI-Dialogue(AI对话)/C/YHAIServiceListViewController.swift
+13
-0
YHHomeHoldViewPageViewController.swift
...Modules/Home(首页)/C/YHHomeHoldViewPageViewController.swift
+3
-0
YHHomeWebViewController.swift
.../Classes/Modules/Home(首页)/C/YHHomeWebViewController.swift
+45
-3
YHConfigModel.swift
galaxy/galaxy/Classes/Modules/Home(首页)/M/YHConfigModel.swift
+2
-0
YHHomePageViewModel.swift
...axy/Classes/Modules/Home(首页)/VM/YHHomePageViewModel.swift
+16
-0
YHInformationPerfectListVC.swift
...(服务中心)/OrderList(服务订单)/C/YHInformationPerfectListVC.swift
+25
-5
YHServiceOrderListViewController.swift
.../OrderList(服务订单)/C/YHServiceOrderListViewController.swift
+2
-0
YHCertificateEntryCell.swift
...S(优才)/MyCertificates(我的证书)/V/YHCertificateEntryCell.swift
+1
-1
YHCertificateEntryHeadView.swift
...)/MyCertificates(我的证书)/V/YHCertificateEntryHeadView.swift
+10
-8
YHCertificateInfoCell.swift
...AS(优才)/MyCertificates(我的证书)/V/YHCertificateInfoCell.swift
+2
-2
YHBasicInfoSessionModel.swift
...流程)/BaseInformation(基本资料)/M/YHBasicInfoSessionModel.swift
+1
-0
YHFamilyInitialInfo.swift
...我的信息流程)/FamilyMember(家庭成员信息表)/M/YHFamilyInitialInfo.swift
+12
-6
YHFormItemDoubleChoiceCell.swift
.../FamilyMember(家庭成员信息表)/V/YHFormItemDoubleChoiceCell.swift
+2
-2
YHIncomeRecordItemCell.swift
...我的信息流程)/IncomeRecord(收入记录)/V/YHIncomeRecordItemCell.swift
+3
-15
YHIncomeRecordSummaryCell.swift
...息流程)/IncomeRecord(收入记录)/V/YHIncomeRecordSummaryCell.swift
+17
-8
YHTotalIncomeCell.swift
...cess(我的信息流程)/IncomeRecord(收入记录)/V/YHTotalIncomeCell.swift
+3
-1
YHWorkingHoursStatementCell.swift
...程)/IncomeRecord(收入记录)/V/YHWorkingHoursStatementCell.swift
+3
-2
YHAcademicPreviewModel.swift
...流程)/PersonInfoList(个人信息预览)/M/YHAcademicPreviewModel.swift
+5
-1
YHGCMyFileListViewController.swift
...S(高才)/FileList(文件清单)/C/YHGCMyFileListViewController.swift
+3
-2
YHGCCertificateListContainerVC.swift
...Certificates(我的证书)/C/YHGCCertificateListContainerVC.swift
+7
-7
YHGCMineCertificateEntryViewController.swift
...ates(我的证书)/C/YHGCMineCertificateEntryViewController.swift
+3
-3
YHGCCertificateEntryCell.swift
...高才)/MyCertificates(我的证书)/V/YHGCCertificateEntryCell.swift
+126
-0
YHGCBasicInfoFillViewController.swift
...Information(基本资料)/C/YHGCBasicInfoFillViewController.swift
+47
-38
YHGCBasicInfoFillModel.swift
...息流程)/BaseInformation(基本资料)/M/YHGCBasicInfoFillModel.swift
+32
-0
YHGCBasicInfoFillViewModel.swift
...BaseInformation(基本资料)/VM/YHGCBasicInfoFillViewModel.swift
+163
-0
YHGCEducationInfoListVC.swift
...n&Qualification(学历专业资格填写)/C/YHGCEducationInfoListVC.swift
+2
-2
YHGCChildPrimaryInfoVC.swift
...milyMember(家庭成员)/C/Child(子女)/YHGCChildPrimaryInfoVC.swift
+48
-4
YHGCSpousePrimaryInfoVC.swift
...lyMember(家庭成员)/C/Spouse(配偶)/YHGCSpousePrimaryInfoVC.swift
+47
-3
YHGCFamilyMemberInfoListVC.swift
...流程)/FamilyMember(家庭成员)/C/YHGCFamilyMemberInfoListVC.swift
+1
-0
YHGCIncomeRecordViewController.swift
...IncomeRecord(收入记录)/C/YHGCIncomeRecordViewController.swift
+172
-84
YHGCIncomeRecordWorkExperienceViewController.swift
...入记录)/C/YHGCIncomeRecordWorkExperienceViewController.swift
+31
-1
YHGCIncomeRecordViewModel.swift
...流程)/IncomeRecord(收入记录)/VM/YHGCIncomeRecordViewModel.swift
+123
-0
YHGCIncomeRecordWorkExperienceViewModel.swift
...rd(收入记录)/VM/YHGCIncomeRecordWorkExperienceViewModel.swift
+72
-0
YHGCPreviewAcademicAndProfessionalQualificationViewController.swift
...wAcademicAndProfessionalQualificationViewController.swift
+56
-0
YHGCPreviewBasiceInformationViewController.swift
...人信息预览)/C/YHGCPreviewBasiceInformationViewController.swift
+63
-0
YHGCPreviewControllerHoldViewController.swift
...t(个人信息预览)/C/YHGCPreviewControllerHoldViewController.swift
+183
-0
YHGCPreviewFamilyMemberViewController.swift
...ist(个人信息预览)/C/YHGCPreviewFamilyMemberViewController.swift
+349
-0
YHGCPreviewIncomeRecordViewController.swift
...ist(个人信息预览)/C/YHGCPreviewIncomeRecordViewController.swift
+180
-0
YHGCPreviewMainApplicantInfoViewController.swift
...人信息预览)/C/YHGCPreviewMainApplicantInfoViewController.swift
+64
-0
YHGCPreviewMainViewController.swift
...sonInfoList(个人信息预览)/C/YHGCPreviewMainViewController.swift
+322
-0
YHGCPreviewOtherInformationViewController.swift
...个人信息预览)/C/YHGCPreviewOtherInformationViewController.swift
+62
-0
YHGCPreviewWorkExpViewController.swift
...InfoList(个人信息预览)/C/YHGCPreviewWorkExpViewController.swift
+80
-0
YHGCPreviewViewModel.swift
...息流程)/PersonInfoList(个人信息预览)/VM/YHGCPreviewViewModel.swift
+0
-0
YHGCWorkExperienceModel.swift
...息流程)/WorkExperience(工作经验)/M/YHGCWorkExperienceModel.swift
+184
-0
YHGCWorkModel.swift
...rocess(我的信息流程)/WorkExperience(工作经验)/M/YHGCWorkModel.swift
+1
-0
YHLivePlayerViewController.swift
.../LivestreamSales(直播销售)/C/YHLivePlayerViewController.swift
+24
-8
YHPlayerManager.swift
...ses/Modules/LivestreamSales(直播销售)/C/YHPlayerManager.swift
+3
-0
YHShareAlertView.swift
...es/Modules/LivestreamSales(直播销售)/V/YHShareAlertView.swift
+10
-1
YHShareManager.swift
galaxy/galaxy/Classes/Tools/Analytics/YHShareManager.swift
+4
-4
YhConstant.swift
galaxy/galaxy/Classes/Tools/Helper/YhConstant.swift
+4
-12
YHAllApiName.swift
galaxy/galaxy/Classes/Tools/NetWork/YHAllApiName.swift
+14
-0
Contents.json
...rviceCenter/我的证书/my_filelist_gc_bg.imageset/Contents.json
+22
-0
待完善清单-头图背景@2x.png
...eCenter/我的证书/my_filelist_gc_bg.imageset/待完善清单-头图背景@2x.png
+0
-0
待完善清单-头图背景@3x.png
...eCenter/我的证书/my_filelist_gc_bg.imageset/待完善清单-头图背景@3x.png
+0
-0
No files found.
galaxy/galaxy.xcodeproj/project.pbxproj
View file @
1290e8a9
...
@@ -36,6 +36,19 @@
...
@@ -36,6 +36,19 @@
04307B6A2D1A4C6500ED8E8D
/* YHIncomeInfoSelectCell.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04307B692D1A4C6500ED8E8D
/* YHIncomeInfoSelectCell.swift */
;
};
04307B6A2D1A4C6500ED8E8D
/* YHIncomeInfoSelectCell.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04307B692D1A4C6500ED8E8D
/* YHIncomeInfoSelectCell.swift */
;
};
04307B6C2D1A547C00ED8E8D
/* YHIncomeDateTillNowCell.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04307B6B2D1A547C00ED8E8D
/* YHIncomeDateTillNowCell.swift */
;
};
04307B6C2D1A547C00ED8E8D
/* YHIncomeDateTillNowCell.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04307B6B2D1A547C00ED8E8D
/* YHIncomeDateTillNowCell.swift */
;
};
04307B6E2D1A5F4200ED8E8D
/* YHIncomeUploadWorkIDCell.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04307B6D2D1A5F4200ED8E8D
/* YHIncomeUploadWorkIDCell.swift */
;
};
04307B6E2D1A5F4200ED8E8D
/* YHIncomeUploadWorkIDCell.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04307B6D2D1A5F4200ED8E8D
/* YHIncomeUploadWorkIDCell.swift */
;
};
04307B7A2D1AADBE00ED8E8D
/* YHGCBasicInfoFillModel.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04307B762D1AADBE00ED8E8D
/* YHGCBasicInfoFillModel.swift */
;
};
04307B7B2D1AADBE00ED8E8D
/* YHGCBasicInfoFillViewModel.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04307B782D1AADBE00ED8E8D
/* YHGCBasicInfoFillViewModel.swift */
;
};
04307B7F2D1AB31000ED8E8D
/* YHGCPreviewMainViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04307B7E2D1AB31000ED8E8D
/* YHGCPreviewMainViewController.swift */
;
};
04307B8A2D1AB66100ED8E8D
/* YHGCPreviewBasiceInformationViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04307B822D1AB66100ED8E8D
/* YHGCPreviewBasiceInformationViewController.swift */
;
};
04307B8C2D1AB66100ED8E8D
/* YHGCPreviewControllerHoldViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04307B832D1AB66100ED8E8D
/* YHGCPreviewControllerHoldViewController.swift */
;
};
04307B8D2D1AB66100ED8E8D
/* YHGCPreviewAcademicAndProfessionalQualificationViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04307B802D1AB66100ED8E8D
/* YHGCPreviewAcademicAndProfessionalQualificationViewController.swift */
;
};
04307B8E2D1AB66100ED8E8D
/* YHGCPreviewFamilyMemberViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04307B842D1AB66100ED8E8D
/* YHGCPreviewFamilyMemberViewController.swift */
;
};
04307B8F2D1AB66100ED8E8D
/* YHGCPreviewOtherInformationViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04307B882D1AB66100ED8E8D
/* YHGCPreviewOtherInformationViewController.swift */
;
};
04307B902D1AB66100ED8E8D
/* YHGCPreviewMainApplicantInfoViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04307B862D1AB66100ED8E8D
/* YHGCPreviewMainApplicantInfoViewController.swift */
;
};
04307B912D1AB66100ED8E8D
/* YHGCPreviewIncomeRecordViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04307B852D1AB66100ED8E8D
/* YHGCPreviewIncomeRecordViewController.swift */
;
};
04307B932D1AB66100ED8E8D
/* YHGCPreviewWorkExpViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04307B892D1AB66100ED8E8D
/* YHGCPreviewWorkExpViewController.swift */
;
};
04307B962D1BAFD400ED8E8D
/* YHGCIncomeRecordViewModel.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04307B952D1BAFD400ED8E8D
/* YHGCIncomeRecordViewModel.swift */
;
};
04307B982D1BB1AD00ED8E8D
/* YHGCIncomeRecordWorkExperienceViewModel.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04307B972D1BB1AD00ED8E8D
/* YHGCIncomeRecordWorkExperienceViewModel.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 */
;
};
...
@@ -1153,6 +1166,8 @@
...
@@ -1153,6 +1166,8 @@
04AE20542D19434500891D24
/* YHGCCertificateUploadContentListVC.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04AE20532D19434400891D24
/* YHGCCertificateUploadContentListVC.swift */
;
};
04AE20542D19434500891D24
/* YHGCCertificateUploadContentListVC.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04AE20532D19434400891D24
/* YHGCCertificateUploadContentListVC.swift */
;
};
04AE20562D1943EF00891D24
/* YHGCMineCertificateEntryViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04AE20552D1943EF00891D24
/* YHGCMineCertificateEntryViewController.swift */
;
};
04AE20562D1943EF00891D24
/* YHGCMineCertificateEntryViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04AE20552D1943EF00891D24
/* YHGCMineCertificateEntryViewController.swift */
;
};
04AE205A2D1944D600891D24
/* YHGCMyFileListViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04AE20592D1944D600891D24
/* YHGCMyFileListViewController.swift */
;
};
04AE205A2D1944D600891D24
/* YHGCMyFileListViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04AE20592D1944D600891D24
/* YHGCMyFileListViewController.swift */
;
};
04AE20632D1ADA8100891D24
/* YHGCPreviewViewModel.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04AE20622D1ADA8100891D24
/* YHGCPreviewViewModel.swift */
;
};
04AE20652D1BD9B500891D24
/* YHGCCertificateEntryCell.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04AE20642D1BD9B500891D24
/* YHGCCertificateEntryCell.swift */
;
};
04EA376D2BEA06EF00DBAF64
/* WebKit.framework in Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04EA376C2BEA06EF00DBAF64
/* WebKit.framework */
;
};
04EA376D2BEA06EF00DBAF64
/* WebKit.framework in Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04EA376C2BEA06EF00DBAF64
/* WebKit.framework */
;
};
04EA376F2BEA071600DBAF64
/* libc++.tbd in Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04EA376E2BEA070500DBAF64
/* libc++.tbd */
;
};
04EA376F2BEA071600DBAF64
/* libc++.tbd in Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04EA376E2BEA070500DBAF64
/* libc++.tbd */
;
};
6203A87EDC96313BBE789D9C
/* Pods_galaxy.framework in Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
987C69D43AE8D85DC1930DCF
/* Pods_galaxy.framework */
;
};
6203A87EDC96313BBE789D9C
/* Pods_galaxy.framework in Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
987C69D43AE8D85DC1930DCF
/* Pods_galaxy.framework */
;
};
...
@@ -1222,6 +1237,19 @@
...
@@ -1222,6 +1237,19 @@
04307B692D1A4C6500ED8E8D
/* YHIncomeInfoSelectCell.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHIncomeInfoSelectCell.swift
;
sourceTree
=
"<group>"
;
};
04307B692D1A4C6500ED8E8D
/* YHIncomeInfoSelectCell.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHIncomeInfoSelectCell.swift
;
sourceTree
=
"<group>"
;
};
04307B6B2D1A547C00ED8E8D
/* YHIncomeDateTillNowCell.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHIncomeDateTillNowCell.swift
;
sourceTree
=
"<group>"
;
};
04307B6B2D1A547C00ED8E8D
/* YHIncomeDateTillNowCell.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHIncomeDateTillNowCell.swift
;
sourceTree
=
"<group>"
;
};
04307B6D2D1A5F4200ED8E8D
/* YHIncomeUploadWorkIDCell.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHIncomeUploadWorkIDCell.swift
;
sourceTree
=
"<group>"
;
};
04307B6D2D1A5F4200ED8E8D
/* YHIncomeUploadWorkIDCell.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHIncomeUploadWorkIDCell.swift
;
sourceTree
=
"<group>"
;
};
04307B762D1AADBE00ED8E8D
/* YHGCBasicInfoFillModel.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHGCBasicInfoFillModel.swift
;
sourceTree
=
"<group>"
;
};
04307B782D1AADBE00ED8E8D
/* YHGCBasicInfoFillViewModel.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHGCBasicInfoFillViewModel.swift
;
sourceTree
=
"<group>"
;
};
04307B7E2D1AB31000ED8E8D
/* YHGCPreviewMainViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHGCPreviewMainViewController.swift
;
sourceTree
=
"<group>"
;
};
04307B802D1AB66100ED8E8D
/* YHGCPreviewAcademicAndProfessionalQualificationViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHGCPreviewAcademicAndProfessionalQualificationViewController.swift
;
sourceTree
=
"<group>"
;
};
04307B822D1AB66100ED8E8D
/* YHGCPreviewBasiceInformationViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHGCPreviewBasiceInformationViewController.swift
;
sourceTree
=
"<group>"
;
};
04307B832D1AB66100ED8E8D
/* YHGCPreviewControllerHoldViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHGCPreviewControllerHoldViewController.swift
;
sourceTree
=
"<group>"
;
};
04307B842D1AB66100ED8E8D
/* YHGCPreviewFamilyMemberViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHGCPreviewFamilyMemberViewController.swift
;
sourceTree
=
"<group>"
;
};
04307B852D1AB66100ED8E8D
/* YHGCPreviewIncomeRecordViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHGCPreviewIncomeRecordViewController.swift
;
sourceTree
=
"<group>"
;
};
04307B862D1AB66100ED8E8D
/* YHGCPreviewMainApplicantInfoViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHGCPreviewMainApplicantInfoViewController.swift
;
sourceTree
=
"<group>"
;
};
04307B882D1AB66100ED8E8D
/* YHGCPreviewOtherInformationViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHGCPreviewOtherInformationViewController.swift
;
sourceTree
=
"<group>"
;
};
04307B892D1AB66100ED8E8D
/* YHGCPreviewWorkExpViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHGCPreviewWorkExpViewController.swift
;
sourceTree
=
"<group>"
;
};
04307B952D1BAFD400ED8E8D
/* YHGCIncomeRecordViewModel.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHGCIncomeRecordViewModel.swift
;
sourceTree
=
"<group>"
;
};
04307B972D1BB1AD00ED8E8D
/* YHGCIncomeRecordWorkExperienceViewModel.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHGCIncomeRecordWorkExperienceViewModel.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>"
;
};
...
@@ -2344,6 +2372,8 @@
...
@@ -2344,6 +2372,8 @@
04AE20532D19434400891D24
/* YHGCCertificateUploadContentListVC.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHGCCertificateUploadContentListVC.swift
;
sourceTree
=
"<group>"
;
};
04AE20532D19434400891D24
/* YHGCCertificateUploadContentListVC.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHGCCertificateUploadContentListVC.swift
;
sourceTree
=
"<group>"
;
};
04AE20552D1943EF00891D24
/* YHGCMineCertificateEntryViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHGCMineCertificateEntryViewController.swift
;
sourceTree
=
"<group>"
;
};
04AE20552D1943EF00891D24
/* YHGCMineCertificateEntryViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHGCMineCertificateEntryViewController.swift
;
sourceTree
=
"<group>"
;
};
04AE20592D1944D600891D24
/* YHGCMyFileListViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHGCMyFileListViewController.swift
;
sourceTree
=
"<group>"
;
};
04AE20592D1944D600891D24
/* YHGCMyFileListViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHGCMyFileListViewController.swift
;
sourceTree
=
"<group>"
;
};
04AE20622D1ADA8100891D24
/* YHGCPreviewViewModel.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHGCPreviewViewModel.swift
;
sourceTree
=
"<group>"
;
};
04AE20642D1BD9B500891D24
/* YHGCCertificateEntryCell.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHGCCertificateEntryCell.swift
;
sourceTree
=
"<group>"
;
};
04EA376C2BEA06EF00DBAF64
/* WebKit.framework */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
wrapper.framework
;
name
=
WebKit.framework
;
path
=
System/Library/Frameworks/WebKit.framework
;
sourceTree
=
SDKROOT
;
};
04EA376C2BEA06EF00DBAF64
/* WebKit.framework */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
wrapper.framework
;
name
=
WebKit.framework
;
path
=
System/Library/Frameworks/WebKit.framework
;
sourceTree
=
SDKROOT
;
};
04EA376E2BEA070500DBAF64
/* libc++.tbd */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
"sourcecode.text-based-dylib-definition"
;
name
=
"libc++.tbd"
;
path
=
"usr/lib/libc++.tbd"
;
sourceTree
=
SDKROOT
;
};
04EA376E2BEA070500DBAF64
/* libc++.tbd */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
"sourcecode.text-based-dylib-definition"
;
name
=
"libc++.tbd"
;
path
=
"usr/lib/libc++.tbd"
;
sourceTree
=
SDKROOT
;
};
04FA8B2D2C084C7E00ABE43F
/* ATAuthSDK.bundle */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
"wrapper.plug-in"
;
name
=
ATAuthSDK.bundle
;
path
=
"galaxy/Classes/Modules/AutoLogin(一键登录)/framework/ATAuthSDK_D.framework/ATAuthSDK.bundle"
;
sourceTree
=
"<group>"
;
};
04FA8B2D2C084C7E00ABE43F
/* ATAuthSDK.bundle */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
"wrapper.plug-in"
;
name
=
ATAuthSDK.bundle
;
path
=
"galaxy/Classes/Modules/AutoLogin(一键登录)/framework/ATAuthSDK_D.framework/ATAuthSDK.bundle"
;
sourceTree
=
"<group>"
;
};
...
@@ -2525,6 +2555,56 @@
...
@@ -2525,6 +2555,56 @@
path
=
V
;
path
=
V
;
sourceTree
=
"<group>"
;
sourceTree
=
"<group>"
;
};
};
04307B772D1AADBE00ED8E8D
/* M */
=
{
isa
=
PBXGroup
;
children
=
(
04307B762D1AADBE00ED8E8D
/* YHGCBasicInfoFillModel.swift */
,
);
path
=
M
;
sourceTree
=
"<group>"
;
};
04307B792D1AADBE00ED8E8D
/* VM */
=
{
isa
=
PBXGroup
;
children
=
(
04307B782D1AADBE00ED8E8D
/* YHGCBasicInfoFillViewModel.swift */
,
);
path
=
VM
;
sourceTree
=
"<group>"
;
};
04307B7C2D1AB2B000ED8E8D
/* PersonInfoList(个人信息预览) */
=
{
isa
=
PBXGroup
;
children
=
(
04AE20612D1ADA4700891D24
/* VM */
,
04307B7D2D1AB2B900ED8E8D
/* C */
,
);
path
=
"PersonInfoList(个人信息预览)"
;
sourceTree
=
"<group>"
;
};
04307B7D2D1AB2B900ED8E8D
/* C */
=
{
isa
=
PBXGroup
;
children
=
(
04307B802D1AB66100ED8E8D
/* YHGCPreviewAcademicAndProfessionalQualificationViewController.swift */
,
04307B822D1AB66100ED8E8D
/* YHGCPreviewBasiceInformationViewController.swift */
,
04307B832D1AB66100ED8E8D
/* YHGCPreviewControllerHoldViewController.swift */
,
04307B842D1AB66100ED8E8D
/* YHGCPreviewFamilyMemberViewController.swift */
,
04307B852D1AB66100ED8E8D
/* YHGCPreviewIncomeRecordViewController.swift */
,
04307B862D1AB66100ED8E8D
/* YHGCPreviewMainApplicantInfoViewController.swift */
,
04307B882D1AB66100ED8E8D
/* YHGCPreviewOtherInformationViewController.swift */
,
04307B892D1AB66100ED8E8D
/* YHGCPreviewWorkExpViewController.swift */
,
04307B7E2D1AB31000ED8E8D
/* YHGCPreviewMainViewController.swift */
,
);
path
=
C
;
sourceTree
=
"<group>"
;
};
04307B942D1BAE8800ED8E8D
/* VM */
=
{
isa
=
PBXGroup
;
children
=
(
04307B952D1BAFD400ED8E8D
/* YHGCIncomeRecordViewModel.swift */
,
04307B972D1BB1AD00ED8E8D
/* YHGCIncomeRecordWorkExperienceViewModel.swift */
,
);
path
=
VM
;
sourceTree
=
"<group>"
;
};
045C0A182D12CA5E00BD2DC0
/* C */
=
{
045C0A182D12CA5E00BD2DC0
/* C */
=
{
isa
=
PBXGroup
;
isa
=
PBXGroup
;
children
=
(
children
=
(
...
@@ -6044,6 +6124,7 @@
...
@@ -6044,6 +6124,7 @@
047A968E2D16AA410033BB4E
/* IncomeRecord(收入记录) */
=
{
047A968E2D16AA410033BB4E
/* IncomeRecord(收入记录) */
=
{
isa
=
PBXGroup
;
isa
=
PBXGroup
;
children
=
(
children
=
(
04307B942D1BAE8800ED8E8D
/* VM */
,
047A96942D1900D00033BB4E
/* V */
,
047A96942D1900D00033BB4E
/* V */
,
047A968D2D16AA410033BB4E
/* C */
,
047A968D2D16AA410033BB4E
/* C */
,
);
);
...
@@ -6148,6 +6229,8 @@
...
@@ -6148,6 +6229,8 @@
04AE200C2D12CFAF00891D24
/* BaseInformation(基本资料) */
=
{
04AE200C2D12CFAF00891D24
/* BaseInformation(基本资料) */
=
{
isa
=
PBXGroup
;
isa
=
PBXGroup
;
children
=
(
children
=
(
04307B772D1AADBE00ED8E8D
/* M */
,
04307B792D1AADBE00ED8E8D
/* VM */
,
04AE200B2D12CFAF00891D24
/* C */
,
04AE200B2D12CFAF00891D24
/* C */
,
);
);
path
=
"BaseInformation(基本资料)"
;
path
=
"BaseInformation(基本资料)"
;
...
@@ -6156,6 +6239,7 @@
...
@@ -6156,6 +6239,7 @@
04AE200D2D12CFAF00891D24
/* ServiceProcess(我的信息流程) */
=
{
04AE200D2D12CFAF00891D24
/* ServiceProcess(我的信息流程) */
=
{
isa
=
PBXGroup
;
isa
=
PBXGroup
;
children
=
(
children
=
(
04307B7C2D1AB2B000ED8E8D
/* PersonInfoList(个人信息预览) */
,
047A968E2D16AA410033BB4E
/* IncomeRecord(收入记录) */
,
047A968E2D16AA410033BB4E
/* IncomeRecord(收入记录) */
,
0411CEE32D15063F00644D35
/* WorkExperience(工作经验) */
,
0411CEE32D15063F00644D35
/* WorkExperience(工作经验) */
,
0411CED92D14000D00644D35
/* MainApplicantInformation(主申请人信息) */
,
0411CED92D14000D00644D35
/* MainApplicantInformation(主申请人信息) */
,
...
@@ -6310,6 +6394,7 @@
...
@@ -6310,6 +6394,7 @@
04AE20482D19413F00891D24
/* V */
=
{
04AE20482D19413F00891D24
/* V */
=
{
isa
=
PBXGroup
;
isa
=
PBXGroup
;
children
=
(
children
=
(
04AE20642D1BD9B500891D24
/* YHGCCertificateEntryCell.swift */
,
);
);
path
=
V
;
path
=
V
;
sourceTree
=
"<group>"
;
sourceTree
=
"<group>"
;
...
@@ -6330,6 +6415,14 @@
...
@@ -6330,6 +6415,14 @@
path
=
C
;
path
=
C
;
sourceTree
=
"<group>"
;
sourceTree
=
"<group>"
;
};
};
04AE20612D1ADA4700891D24
/* VM */
=
{
isa
=
PBXGroup
;
children
=
(
04AE20622D1ADA8100891D24
/* YHGCPreviewViewModel.swift */
,
);
path
=
VM
;
sourceTree
=
"<group>"
;
};
04E86E212B81E9FA00A35F4B
/* Recovered References */
=
{
04E86E212B81E9FA00A35F4B
/* Recovered References */
=
{
isa
=
PBXGroup
;
isa
=
PBXGroup
;
children
=
(
children
=
(
...
@@ -6697,6 +6790,7 @@
...
@@ -6697,6 +6790,7 @@
045C0FDE2D12CA5F00BD2DC0
/* YHMainInformationModel.swift in Sources */
,
045C0FDE2D12CA5F00BD2DC0
/* YHMainInformationModel.swift in Sources */
,
045C0FDF2D12CA5F00BD2DC0
/* YHCertificateFilterButton.swift in Sources */
,
045C0FDF2D12CA5F00BD2DC0
/* YHCertificateFilterButton.swift in Sources */
,
045C0FE02D12CA5F00BD2DC0
/* YHVODPlayerViewController.swift in Sources */
,
045C0FE02D12CA5F00BD2DC0
/* YHVODPlayerViewController.swift in Sources */
,
04307B962D1BAFD400ED8E8D
/* YHGCIncomeRecordViewModel.swift in Sources */
,
045C0FE12D12CA5F00BD2DC0
/* YHFormItemOnlyDoubleChoiceCell.swift in Sources */
,
045C0FE12D12CA5F00BD2DC0
/* YHFormItemOnlyDoubleChoiceCell.swift in Sources */
,
045C0FE22D12CA5F00BD2DC0
/* YHEditInterestViewController.swift in Sources */
,
045C0FE22D12CA5F00BD2DC0
/* YHEditInterestViewController.swift in Sources */
,
045C0FE32D12CA5F00BD2DC0
/* YHResignConfirmInfoListViewController.swift in Sources */
,
045C0FE32D12CA5F00BD2DC0
/* YHResignConfirmInfoListViewController.swift in Sources */
,
...
@@ -6708,6 +6802,7 @@
...
@@ -6708,6 +6802,7 @@
045C0FE82D12CA5F00BD2DC0
/* YHActivityApplyInfoItemView.swift in Sources */
,
045C0FE82D12CA5F00BD2DC0
/* YHActivityApplyInfoItemView.swift in Sources */
,
045C0FE92D12CA5F00BD2DC0
/* YHVisaRenewalItemDetailType.swift in Sources */
,
045C0FE92D12CA5F00BD2DC0
/* YHVisaRenewalItemDetailType.swift in Sources */
,
045C0FEA2D12CA5F00BD2DC0
/* YHPrivacyAlertView.swift in Sources */
,
045C0FEA2D12CA5F00BD2DC0
/* YHPrivacyAlertView.swift in Sources */
,
04307B982D1BB1AD00ED8E8D
/* YHGCIncomeRecordWorkExperienceViewModel.swift in Sources */
,
045C0FEB2D12CA5F00BD2DC0
/* YHAIListModel.swift in Sources */
,
045C0FEB2D12CA5F00BD2DC0
/* YHAIListModel.swift in Sources */
,
045C0FEC2D12CA5F00BD2DC0
/* YHPreviewInfoHeaderCell.swift in Sources */
,
045C0FEC2D12CA5F00BD2DC0
/* YHPreviewInfoHeaderCell.swift in Sources */
,
045C0FED2D12CA5F00BD2DC0
/* YHMainApplicantInformationViewController.swift in Sources */
,
045C0FED2D12CA5F00BD2DC0
/* YHMainApplicantInformationViewController.swift in Sources */
,
...
@@ -7080,6 +7175,7 @@
...
@@ -7080,6 +7175,7 @@
047A968F2D16AA410033BB4E
/* YHGCIncomeRecordViewController.swift in Sources */
,
047A968F2D16AA410033BB4E
/* YHGCIncomeRecordViewController.swift in Sources */
,
047A96902D16AA410033BB4E
/* YHGCIncomeRecordWorkExperienceViewController.swift in Sources */
,
047A96902D16AA410033BB4E
/* YHGCIncomeRecordWorkExperienceViewController.swift in Sources */
,
045C11442D12CA5F00BD2DC0
/* YHLoginStyleButton.swift in Sources */
,
045C11442D12CA5F00BD2DC0
/* YHLoginStyleButton.swift in Sources */
,
04AE20632D1ADA8100891D24
/* YHGCPreviewViewModel.swift in Sources */
,
045C11452D12CA5F00BD2DC0
/* YHListViewModel.swift in Sources */
,
045C11452D12CA5F00BD2DC0
/* YHListViewModel.swift in Sources */
,
045C11462D12CA5F00BD2DC0
/* YHSearchInfoHistoryView.swift in Sources */
,
045C11462D12CA5F00BD2DC0
/* YHSearchInfoHistoryView.swift in Sources */
,
045C11472D12CA5F00BD2DC0
/* YHAdopterItemView.swift in Sources */
,
045C11472D12CA5F00BD2DC0
/* YHAdopterItemView.swift in Sources */
,
...
@@ -7271,6 +7367,8 @@
...
@@ -7271,6 +7367,8 @@
045C11F72D12CA5F00BD2DC0
/* YHPrinciplePhotoCollectCell.swift in Sources */
,
045C11F72D12CA5F00BD2DC0
/* YHPrinciplePhotoCollectCell.swift in Sources */
,
045C11F82D12CA5F00BD2DC0
/* YHCompanyViewModel.swift in Sources */
,
045C11F82D12CA5F00BD2DC0
/* YHCompanyViewModel.swift in Sources */
,
045C11F92D12CA5F00BD2DC0
/* YHTravelDocsPreparationListViewController.swift in Sources */
,
045C11F92D12CA5F00BD2DC0
/* YHTravelDocsPreparationListViewController.swift in Sources */
,
04307B7A2D1AADBE00ED8E8D
/* YHGCBasicInfoFillModel.swift in Sources */
,
04307B7B2D1AADBE00ED8E8D
/* YHGCBasicInfoFillViewModel.swift in Sources */
,
045C11FA2D12CA5F00BD2DC0
/* YHMyTestViewController.swift in Sources */
,
045C11FA2D12CA5F00BD2DC0
/* YHMyTestViewController.swift in Sources */
,
045C11FB2D12CA5F00BD2DC0
/* YHIncomeDocumentationConfirmationCell.swift in Sources */
,
045C11FB2D12CA5F00BD2DC0
/* YHIncomeDocumentationConfirmationCell.swift in Sources */
,
045C11FC2D12CA5F00BD2DC0
/* YHHKPlaceInfoCell.swift in Sources */
,
045C11FC2D12CA5F00BD2DC0
/* YHHKPlaceInfoCell.swift in Sources */
,
...
@@ -7325,6 +7423,14 @@
...
@@ -7325,6 +7423,14 @@
045C122B2D12CA5F00BD2DC0
/* YHEditWorkViewController.swift in Sources */
,
045C122B2D12CA5F00BD2DC0
/* YHEditWorkViewController.swift in Sources */
,
045C122C2D12CA5F00BD2DC0
/* YHFamilyInfoUpdateViewController.swift in Sources */
,
045C122C2D12CA5F00BD2DC0
/* YHFamilyInfoUpdateViewController.swift in Sources */
,
045C122D2D12CA5F00BD2DC0
/* YHVisaRenewalTipsCell.swift in Sources */
,
045C122D2D12CA5F00BD2DC0
/* YHVisaRenewalTipsCell.swift in Sources */
,
04307B8A2D1AB66100ED8E8D
/* YHGCPreviewBasiceInformationViewController.swift in Sources */
,
04307B8C2D1AB66100ED8E8D
/* YHGCPreviewControllerHoldViewController.swift in Sources */
,
04307B8D2D1AB66100ED8E8D
/* YHGCPreviewAcademicAndProfessionalQualificationViewController.swift in Sources */
,
04307B8E2D1AB66100ED8E8D
/* YHGCPreviewFamilyMemberViewController.swift in Sources */
,
04307B8F2D1AB66100ED8E8D
/* YHGCPreviewOtherInformationViewController.swift in Sources */
,
04307B902D1AB66100ED8E8D
/* YHGCPreviewMainApplicantInfoViewController.swift in Sources */
,
04307B912D1AB66100ED8E8D
/* YHGCPreviewIncomeRecordViewController.swift in Sources */
,
04307B932D1AB66100ED8E8D
/* YHGCPreviewWorkExpViewController.swift in Sources */
,
045C122E2D12CA5F00BD2DC0
/* YHServiceOrderSearchViewModel.swift in Sources */
,
045C122E2D12CA5F00BD2DC0
/* YHServiceOrderSearchViewModel.swift in Sources */
,
045C122F2D12CA5F00BD2DC0
/* YHSchemeViewModel.swift in Sources */
,
045C122F2D12CA5F00BD2DC0
/* YHSchemeViewModel.swift in Sources */
,
045C12302D12CA5F00BD2DC0
/* YHAiRadarAreaView.swift in Sources */
,
045C12302D12CA5F00BD2DC0
/* YHAiRadarAreaView.swift in Sources */
,
...
@@ -7514,6 +7620,7 @@
...
@@ -7514,6 +7620,7 @@
045C12DF2D12CA5F00BD2DC0
/* YHVisaRenewalPayStatusCell.swift in Sources */
,
045C12DF2D12CA5F00BD2DC0
/* YHVisaRenewalPayStatusCell.swift in Sources */
,
045C12E02D12CA5F00BD2DC0
/* YHCollegeNameCell.swift in Sources */
,
045C12E02D12CA5F00BD2DC0
/* YHCollegeNameCell.swift in Sources */
,
045C12E12D12CA5F00BD2DC0
/* YHPreviewInfoIncomeTypeCell.swift in Sources */
,
045C12E12D12CA5F00BD2DC0
/* YHPreviewInfoIncomeTypeCell.swift in Sources */
,
04AE20652D1BD9B500891D24
/* YHGCCertificateEntryCell.swift in Sources */
,
045C12E22D12CA5F00BD2DC0
/* YHUploadCertificateVC.swift in Sources */
,
045C12E22D12CA5F00BD2DC0
/* YHUploadCertificateVC.swift in Sources */
,
045C12E32D12CA5F00BD2DC0
/* YHServiceTableFootView.swift in Sources */
,
045C12E32D12CA5F00BD2DC0
/* YHServiceTableFootView.swift in Sources */
,
045C12E42D12CA5F00BD2DC0
/* YHMsgViewModel.swift in Sources */
,
045C12E42D12CA5F00BD2DC0
/* YHMsgViewModel.swift in Sources */
,
...
@@ -7694,6 +7801,7 @@
...
@@ -7694,6 +7801,7 @@
045C138A2D12CA5F00BD2DC0
/* YHMatchCardUsageGuideView.swift in Sources */
,
045C138A2D12CA5F00BD2DC0
/* YHMatchCardUsageGuideView.swift in Sources */
,
045C138B2D12CA5F00BD2DC0
/* YHResignUploadTravelGuideView.swift in Sources */
,
045C138B2D12CA5F00BD2DC0
/* YHResignUploadTravelGuideView.swift in Sources */
,
045C138C2D12CA5F00BD2DC0
/* YHResignFamilyMemberInfoCell.swift in Sources */
,
045C138C2D12CA5F00BD2DC0
/* YHResignFamilyMemberInfoCell.swift in Sources */
,
04307B7F2D1AB31000ED8E8D
/* YHGCPreviewMainViewController.swift in Sources */
,
045C138D2D12CA5F00BD2DC0
/* YHDocumentUploadView.swift in Sources */
,
045C138D2D12CA5F00BD2DC0
/* YHDocumentUploadView.swift in Sources */
,
045C138E2D12CA5F00BD2DC0
/* YHOtherSelecteItemView.swift in Sources */
,
045C138E2D12CA5F00BD2DC0
/* YHOtherSelecteItemView.swift in Sources */
,
045C138F2D12CA5F00BD2DC0
/* YHHKRecordsSummaryVC.swift in Sources */
,
045C138F2D12CA5F00BD2DC0
/* YHHKRecordsSummaryVC.swift in Sources */
,
...
@@ -7840,7 +7948,7 @@
...
@@ -7840,7 +7948,7 @@
CODE_SIGN_ENTITLEMENTS
=
galaxy/galaxyTestEnv.entitlements
;
CODE_SIGN_ENTITLEMENTS
=
galaxy/galaxyTestEnv.entitlements
;
CODE_SIGN_IDENTITY
=
"Apple Development"
;
CODE_SIGN_IDENTITY
=
"Apple Development"
;
CODE_SIGN_STYLE
=
Automatic
;
CODE_SIGN_STYLE
=
Automatic
;
CURRENT_PROJECT_VERSION
=
1
;
CURRENT_PROJECT_VERSION
=
8
;
DEVELOPMENT_TEAM
=
RXHYW88XR7
;
DEVELOPMENT_TEAM
=
RXHYW88XR7
;
ENABLE_USER_SCRIPT_SANDBOXING
=
NO
;
ENABLE_USER_SCRIPT_SANDBOXING
=
NO
;
FRAMEWORK_SEARCH_PATHS
=
(
FRAMEWORK_SEARCH_PATHS
=
(
...
@@ -7984,7 +8092,7 @@
...
@@ -7984,7 +8092,7 @@
CODE_SIGN_ENTITLEMENTS
=
galaxy/galaxy.entitlements
;
CODE_SIGN_ENTITLEMENTS
=
galaxy/galaxy.entitlements
;
CODE_SIGN_IDENTITY
=
"Apple Development"
;
CODE_SIGN_IDENTITY
=
"Apple Development"
;
CODE_SIGN_STYLE
=
Automatic
;
CODE_SIGN_STYLE
=
Automatic
;
CURRENT_PROJECT_VERSION
=
1
;
CURRENT_PROJECT_VERSION
=
8
;
DEVELOPMENT_TEAM
=
RXHYW88XR7
;
DEVELOPMENT_TEAM
=
RXHYW88XR7
;
ENABLE_USER_SCRIPT_SANDBOXING
=
NO
;
ENABLE_USER_SCRIPT_SANDBOXING
=
NO
;
FRAMEWORK_SEARCH_PATHS
=
(
FRAMEWORK_SEARCH_PATHS
=
(
...
@@ -8191,7 +8299,7 @@
...
@@ -8191,7 +8299,7 @@
CODE_SIGN_ENTITLEMENTS
=
galaxy/galaxyDebug.entitlements
;
CODE_SIGN_ENTITLEMENTS
=
galaxy/galaxyDebug.entitlements
;
CODE_SIGN_IDENTITY
=
"Apple Development"
;
CODE_SIGN_IDENTITY
=
"Apple Development"
;
CODE_SIGN_STYLE
=
Automatic
;
CODE_SIGN_STYLE
=
Automatic
;
CURRENT_PROJECT_VERSION
=
1
;
CURRENT_PROJECT_VERSION
=
8
;
DEVELOPMENT_TEAM
=
RXHYW88XR7
;
DEVELOPMENT_TEAM
=
RXHYW88XR7
;
ENABLE_USER_SCRIPT_SANDBOXING
=
NO
;
ENABLE_USER_SCRIPT_SANDBOXING
=
NO
;
FRAMEWORK_SEARCH_PATHS
=
(
FRAMEWORK_SEARCH_PATHS
=
(
...
@@ -8238,7 +8346,7 @@
...
@@ -8238,7 +8346,7 @@
CODE_SIGN_ENTITLEMENTS
=
galaxy/galaxy.entitlements
;
CODE_SIGN_ENTITLEMENTS
=
galaxy/galaxy.entitlements
;
CODE_SIGN_IDENTITY
=
"Apple Development"
;
CODE_SIGN_IDENTITY
=
"Apple Development"
;
CODE_SIGN_STYLE
=
Automatic
;
CODE_SIGN_STYLE
=
Automatic
;
CURRENT_PROJECT_VERSION
=
1
;
CURRENT_PROJECT_VERSION
=
8
;
DEVELOPMENT_TEAM
=
RXHYW88XR7
;
DEVELOPMENT_TEAM
=
RXHYW88XR7
;
ENABLE_USER_SCRIPT_SANDBOXING
=
NO
;
ENABLE_USER_SCRIPT_SANDBOXING
=
NO
;
FRAMEWORK_SEARCH_PATHS
=
(
FRAMEWORK_SEARCH_PATHS
=
(
...
...
galaxy/galaxy/AppDelegate.swift
View file @
1290e8a9
...
@@ -84,14 +84,14 @@ class AppDelegate: UIResponder, UIApplicationDelegate, WXApiDelegate {
...
@@ -84,14 +84,14 @@ class AppDelegate: UIResponder, UIApplicationDelegate, WXApiDelegate {
if
let
type
=
arrItems
[
"type"
]
as?
String
,
let
iType
=
Int
(
type
)
{
if
let
type
=
arrItems
[
"type"
]
as?
String
,
let
iType
=
Int
(
type
)
{
if
iType
==
1
{
if
iType
==
1
{
//跳转
//跳转
DispatchQueue
.
main
.
asyncAfter
(
deadline
:
.
now
()
+
0.5
)
{
DispatchQueue
.
main
.
asyncAfter
(
deadline
:
.
now
()
+
0.
2
5
)
{
if
!
YHLoginManager
.
shared
.
isLogin
()
{
if
!
YHLoginManager
.
shared
.
isLogin
()
{
printLog
(
"需要登录"
)
printLog
(
"需要登录"
)
return
return
}
}
//直播 - 获取它对应的参数
//直播 - 获取它对应的参数
if
let
liveId
=
arrItems
[
"LiveID"
]
as?
String
{
if
let
liveId
=
arrItems
[
"LiveID"
]
as?
String
{
let
playbackInfo
=
YHPlayerManager
.
PlaybackInfo
(
id
:
liveId
.
intValue
(),
isLive
:
true
,
isFromSaleDetail
:
tru
e
)
let
playbackInfo
=
YHPlayerManager
.
PlaybackInfo
(
id
:
liveId
.
intValue
(),
isLive
:
true
,
isFromSaleDetail
:
fals
e
)
YHPlayerManager
.
shared
.
enterLive
(
from
:
nil
,
playbackInfo
:
playbackInfo
)
YHPlayerManager
.
shared
.
enterLive
(
from
:
nil
,
playbackInfo
:
playbackInfo
)
}
}
}
}
...
...
galaxy/galaxy/Classes/Modules/AI/AI-Dialogue(AI对话)/C/YHAIServiceListViewController.swift
View file @
1290e8a9
...
@@ -131,12 +131,18 @@ extension YHAIServiceListViewController: UICollectionViewDelegate, UICollectionV
...
@@ -131,12 +131,18 @@ extension YHAIServiceListViewController: UICollectionViewDelegate, UICollectionV
UIViewController
.
current
?
.
navigationController
?
.
pushViewController
(
vc
)
UIViewController
.
current
?
.
navigationController
?
.
pushViewController
(
vc
)
}
else
if
model
.
redirectPath
==
YHAIJumpPageType
.
galaxySelect
.
rawValue
{
}
else
if
model
.
redirectPath
==
YHAIJumpPageType
.
galaxySelect
.
rawValue
{
YHAnalytics
.
track
(
"APP_ChanPinZhenXuan"
)
// 银河甄选
// 银河甄选
let
vc
=
YHSelectViewController
()
let
vc
=
YHSelectViewController
()
vc
.
hideFlag
=
false
vc
.
hideFlag
=
false
UIViewController
.
current
?
.
navigationController
?
.
pushViewController
(
vc
,
animated
:
true
)
UIViewController
.
current
?
.
navigationController
?
.
pushViewController
(
vc
,
animated
:
true
)
}
else
if
model
.
redirectPath
==
YHAIJumpPageType
.
appServiceTab
.
rawValue
{
}
else
if
model
.
redirectPath
==
YHAIJumpPageType
.
appServiceTab
.
rawValue
{
YHAnalytics
.
track
(
"APP_FuWuJinDu"
)
// 服务页
// 服务页
UIViewController
.
current
?
.
navigationController
?
.
popToRootViewController
(
animated
:
false
)
UIViewController
.
current
?
.
navigationController
?
.
popToRootViewController
(
animated
:
false
)
goTabBarBy
(
tabType
:
.
service
)
goTabBarBy
(
tabType
:
.
service
)
...
@@ -152,6 +158,13 @@ extension YHAIServiceListViewController: UICollectionViewDelegate, UICollectionV
...
@@ -152,6 +158,13 @@ extension YHAIServiceListViewController: UICollectionViewDelegate, UICollectionV
}
else
{
}
else
{
if
model
.
businessType
==
YHAIRobotType
.
education
.
rawValue
{
YHAnalytics
.
track
(
"APP_JiaoYuBao"
)
}
else
if
model
.
businessType
==
YHAIRobotType
.
sale
.
rawValue
{
YHAnalytics
.
track
(
"APP_GuiHuaShi"
)
}
self
.
manager
.
getSubRobotChatConversationId
(
listItemId
:
"
\(
model
.
id
)
"
)
{
self
.
manager
.
getSubRobotChatConversationId
(
listItemId
:
"
\(
model
.
id
)
"
)
{
sesseionId
in
sesseionId
in
let
vc
=
YHAIRobotChatViewController
()
let
vc
=
YHAIRobotChatViewController
()
...
...
galaxy/galaxy/Classes/Modules/Home(首页)/C/YHHomeHoldViewPageViewController.swift
View file @
1290e8a9
...
@@ -576,6 +576,9 @@ extension YHHomeHoldViewPageViewController : UITabBarControllerDelegate {
...
@@ -576,6 +576,9 @@ extension YHHomeHoldViewPageViewController : UITabBarControllerDelegate {
}
}
if
index
==
2
{
// AI港小宝
if
index
==
2
{
// AI港小宝
YHAnalytics
.
track
(
"APP_HomeTab_GangXiaoBao"
)
if
!
YHLoginManager
.
shared
.
isLogin
()
{
if
!
YHLoginManager
.
shared
.
isLogin
()
{
YHOneKeyLoginManager
.
shared
.
oneKeyLogin
()
YHOneKeyLoginManager
.
shared
.
oneKeyLogin
()
return
false
return
false
...
...
galaxy/galaxy/Classes/Modules/Home(首页)/C/YHHomeWebViewController.swift
View file @
1290e8a9
...
@@ -18,7 +18,31 @@ class YHHomeWebViewController: YHBaseViewController, WKUIDelegate, WKNavigationD
...
@@ -18,7 +18,31 @@ class YHHomeWebViewController: YHBaseViewController, WKUIDelegate, WKNavigationD
var
block
:
Block
?
var
block
:
Block
?
var
viewModel
:
YHHomeWebViewModel
!
var
viewModel
:
YHHomeWebViewModel
!
var
webview
=
DWKWebView
()
// var webview = DWKWebView()
lazy
var
webview
:
DWKWebView
=
{
let
config
=
WKWebViewConfiguration
()
config
.
applicationNameForUserAgent
=
"YinHeApp"
#if DEBUG
if
#available(iOS 14.5, *)
{
config
.
upgradeKnownHostsToHTTPS
=
false
}
else
{
// Fallback on earlier versions
}
#endif
config
.
allowsInlineMediaPlayback
=
true
/// 开启让自动播放
config
.
mediaTypesRequiringUserActionForPlayback
=
[]
let
webview
=
DWKWebView
(
frame
:
.
zero
,
configuration
:
config
)
webview
.
scrollView
.
contentInsetAdjustmentBehavior
=
.
never
webview
.
navigationDelegate
=
self
// webview.scrollView.delegate = self
webview
.
setDebugMode
(
false
)
// webview.uiDelegate = self
return
webview
}()
var
progBar
=
UIProgressView
()
var
progBar
=
UIProgressView
()
var
bottomView
:
YHHomeWebBottomView
!
var
bottomView
:
YHHomeWebBottomView
!
var
url
=
""
var
url
=
""
...
@@ -31,6 +55,12 @@ class YHHomeWebViewController: YHBaseViewController, WKUIDelegate, WKNavigationD
...
@@ -31,6 +55,12 @@ class YHHomeWebViewController: YHBaseViewController, WKUIDelegate, WKNavigationD
return
view
return
view
}()
}()
lazy
var
vm
:
YHHomePageViewModel
=
{
let
vm
=
YHHomePageViewModel
()
return
vm
}()
lazy
var
noNetWorkTipsView
:
YHEmptyDataView
=
{
lazy
var
noNetWorkTipsView
:
YHEmptyDataView
=
{
let
view
=
YHEmptyDataView
.
createView
(
"无网络"
,
kNotNetWorkBgName
)
let
view
=
YHEmptyDataView
.
createView
(
"无网络"
,
kNotNetWorkBgName
)
view
.
topMargin
=
222
view
.
topMargin
=
222
...
@@ -104,7 +134,7 @@ class YHHomeWebViewController: YHBaseViewController, WKUIDelegate, WKNavigationD
...
@@ -104,7 +134,7 @@ class YHHomeWebViewController: YHBaseViewController, WKUIDelegate, WKNavigationD
// 创建wkwebview
// 创建wkwebview
webview
=
DWKWebView
(
frame
:
CGRect
(
x
:
0
,
y
:
statusHeight
+
navHeight
!
,
width
:
self
.
view
.
frame
.
width
,
height
:
self
.
view
.
frame
.
height
-
statusHeight
-
navHeight
!
-
59
-
k_Height_safeAreaInsetsBottom
()))
//
webview = DWKWebView(frame: CGRect(x: 0, y: statusHeight + navHeight!, width: self.view.frame.width, height: self.view.frame.height - statusHeight - navHeight! - 59 - k_Height_safeAreaInsetsBottom()))
webview
.
navigationDelegate
=
self
webview
.
navigationDelegate
=
self
webview
.
setDebugMode
(
false
)
webview
.
setDebugMode
(
false
)
...
@@ -125,6 +155,7 @@ class YHHomeWebViewController: YHBaseViewController, WKUIDelegate, WKNavigationD
...
@@ -125,6 +155,7 @@ class YHHomeWebViewController: YHBaseViewController, WKUIDelegate, WKNavigationD
printLog
(
"url: 有问题"
)
printLog
(
"url: 有问题"
)
}
}
}
}
webview
.
frame
=
CGRect
(
x
:
0
,
y
:
statusHeight
+
navHeight
!
,
width
:
self
.
view
.
frame
.
width
,
height
:
self
.
view
.
frame
.
height
-
statusHeight
-
navHeight
!
-
59
-
k_Height_safeAreaInsetsBottom
())
// 添加wkwebview
// 添加wkwebview
self
.
view
.
addSubview
(
webview
)
self
.
view
.
addSubview
(
webview
)
...
@@ -321,12 +352,23 @@ class YHHomeWebViewController: YHBaseViewController, WKUIDelegate, WKNavigationD
...
@@ -321,12 +352,23 @@ class YHHomeWebViewController: YHBaseViewController, WKUIDelegate, WKNavigationD
guard
let
url
=
URL
(
string
:
self
.
model
.
img_url
)
else
{
guard
let
url
=
URL
(
string
:
self
.
model
.
img_url
)
else
{
return
return
}
}
let
param
=
[
"share_channel"
:
1
,
"article_id"
:
id
]
vm
.
postShareInfo
(
params
:
param
)
{
success
,
error
in
if
success
{
}
else
{
}
}
let
task
=
URLSession
.
shared
.
dataTask
(
with
:
url
)
{
data
,
response
,
error
in
let
task
=
URLSession
.
shared
.
dataTask
(
with
:
url
)
{
data
,
response
,
error
in
DispatchQueue
.
main
.
async
{
DispatchQueue
.
main
.
async
{
guard
let
data
=
data
,
error
==
nil
else
{
return
}
guard
let
data
=
data
,
error
==
nil
else
{
return
}
let
image
=
UIImage
(
data
:
data
)
let
image
=
UIImage
(
data
:
data
)
if
let
image
=
image
{
if
let
image
=
image
{
let
url
=
self
.
url
+
"&
isShare=1
"
let
url
=
self
.
url
+
"&
appShare=1"
+
"&isShare=1"
+
"&fromPlatform=iOS"
+
"&uid=
\(
YHLoginManager
.
shared
.
userModel
?
.
id
??
"0"
)
"
+
"&article_id=
\(
self
.
id
)
"
YHShareManager
.
shared
.
sendLinkContent
(
self
.
model
.
title
,
""
,
image
,
link
:
url
)
YHShareManager
.
shared
.
sendLinkContent
(
self
.
model
.
title
,
""
,
image
,
link
:
url
)
}
}
}
}
...
...
galaxy/galaxy/Classes/Modules/Home(首页)/M/YHConfigModel.swift
View file @
1290e8a9
...
@@ -23,6 +23,8 @@ class YHConfigModel : SmartCodable {
...
@@ -23,6 +23,8 @@ class YHConfigModel : SmartCodable {
var
is_integral_open
:
Bool
=
false
//条件控制哈 PingGuoShenHe true - 展示 false - hidden
var
is_integral_open
:
Bool
=
false
//条件控制哈 PingGuoShenHe true - 展示 false - hidden
// var is_recharge_order_open : Bool = false //双十一banner开关 //`is_recharge_order_open` int NOT NULL DEFAULT '0' COMMENT '1 开启 0关闭',
// var is_recharge_order_open : Bool = false //双十一banner开关 //`is_recharge_order_open` int NOT NULL DEFAULT '0' COMMENT '1 开启 0关闭',
// 人民币-港币的汇率
var
rate
:
String
=
""
required
init
()
{
required
init
()
{
}
}
...
...
galaxy/galaxy/Classes/Modules/Home(首页)/VM/YHHomePageViewModel.swift
View file @
1290e8a9
...
@@ -595,4 +595,20 @@ extension YHHomePageViewModel {
...
@@ -595,4 +595,20 @@ extension YHHomePageViewModel {
callBackBlock
(
false
,
err
)
callBackBlock
(
false
,
err
)
}
}
}
}
//点击分享 进行数据统计
func
postShareInfo
(
params
:[
String
:
Any
]
=
[:],
callBackBlock
:
@escaping
(
_
success
:
Bool
,
_
error
:
YHErrorModel
?)
->
())
{
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
YHAllApiName
.
DataCollection
.
shareApi
let
_
=
YHNetRequest
.
postRequest
(
url
:
strUrl
,
params
:
params
)
{
[
weak
self
]
json
,
code
in
guard
let
self
=
self
else
{
return
}
//1. json字符串 转 对象
if
json
.
code
==
200
{
callBackBlock
(
true
,
nil
)
}
else
{
callBackBlock
(
false
,
nil
)
}
}
failBlock
:
{
err
in
callBackBlock
(
false
,
err
)
}
}
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/OrderList(服务订单)/C/YHInformationPerfectListVC.swift
View file @
1290e8a9
...
@@ -264,7 +264,13 @@ extension YHInformationPerfectListVC {
...
@@ -264,7 +264,13 @@ extension YHInformationPerfectListVC {
//我的方案
//我的方案
@objc
func
goMySchemeVC
()
{
@objc
func
goMySchemeVC
()
{
if
productType
==
0
{
// 优才
YHMyNewSchemeViewController
.
shared
.
goToSchemePage
()
YHMyNewSchemeViewController
.
shared
.
goToSchemePage
()
}
else
if
productType
==
1
||
productType
==
2
||
productType
==
3
{
// 高才ABC
let
vc
=
YHGCMineSchemeViewController
()
navigationController
?
.
pushViewController
(
vc
)
}
}
}
@objc
func
goInfoListVC
(
)
{
@objc
func
goInfoListVC
(
)
{
...
@@ -274,10 +280,21 @@ extension YHInformationPerfectListVC {
...
@@ -274,10 +280,21 @@ extension YHInformationPerfectListVC {
private
func
goInfoListVCOp
(
index
:
Int
=
0
)
{
private
func
goInfoListVCOp
(
index
:
Int
=
0
)
{
if
productType
==
0
{
// 优才
let
vc
=
YHPreviewMainViewController
()
let
vc
=
YHPreviewMainViewController
()
vc
.
orderId
=
orderId
vc
.
orderId
=
orderId
vc
.
myDefaultIndex
=
index
vc
.
myDefaultIndex
=
index
navigationController
?
.
pushViewController
(
vc
)
navigationController
?
.
pushViewController
(
vc
)
}
else
if
productType
==
1
||
productType
==
2
||
productType
==
3
{
// 高才ABC
let
vc
=
YHGCPreviewMainViewController
()
vc
.
productType
=
productType
vc
.
orderId
=
orderId
vc
.
myDefaultIndex
=
index
navigationController
?
.
pushViewController
(
vc
)
}
}
}
...
@@ -636,12 +653,13 @@ extension YHInformationPerfectListVC : UITableViewDelegate,UITableViewDataSource
...
@@ -636,12 +653,13 @@ extension YHInformationPerfectListVC : UITableViewDelegate,UITableViewDataSource
}
else
if
tapIndex
==
3
{
}
else
if
tapIndex
==
3
{
//高A- 收入记录/工作经验
//高A- 收入记录/工作经验
YHHUD
.
flash
(
message
:
"高A- 收入记录/工作经验"
)
let
ctl
=
YHGCIncomeRecordViewController
(
orderId
:
orderId
??
0
)
navigationController
?
.
pushViewController
(
ctl
)
}
else
if
tapIndex
==
4
{
}
else
if
tapIndex
==
4
{
//高A- 基本资料
//高A- 基本资料
YHHUD
.
flash
(
message
:
"高A- 基本资料"
)
let
ctl
=
YHGCBasicInfoFillViewController
()
ctl
.
orderId
=
orderId
??
0
navigationController
?
.
pushViewController
(
ctl
)
}
}
else
{
else
{
YHHUD
.
flash
(
message
:
"高A- 未知"
)
YHHUD
.
flash
(
message
:
"高A- 未知"
)
...
@@ -687,7 +705,9 @@ extension YHInformationPerfectListVC : UITableViewDelegate,UITableViewDataSource
...
@@ -687,7 +705,9 @@ extension YHInformationPerfectListVC : UITableViewDelegate,UITableViewDataSource
navigationController
?
.
pushViewController
(
vc
)
navigationController
?
.
pushViewController
(
vc
)
}
else
if
tapIndex
==
5
{
}
else
if
tapIndex
==
5
{
//高才BC- 基本资料
//高才BC- 基本资料
YHHUD
.
flash
(
message
:
"高才BC- 基本资料"
)
let
ctl
=
YHGCBasicInfoFillViewController
()
ctl
.
orderId
=
orderId
??
0
navigationController
?
.
pushViewController
(
ctl
)
}
}
else
{
else
{
YHHUD
.
flash
(
message
:
"高才BC- 未知"
)
YHHUD
.
flash
(
message
:
"高才BC- 未知"
)
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/OrderList(服务订单)/C/YHServiceOrderListViewController.swift
View file @
1290e8a9
...
@@ -283,6 +283,8 @@ class YHServiceOrderListViewController: YHBaseViewController {
...
@@ -283,6 +283,8 @@ class YHServiceOrderListViewController: YHBaseViewController {
}
else
if
type
==
202
{
}
else
if
type
==
202
{
//高才我的方案
//高才我的方案
let
vc
=
YHGCMineSchemeViewController
()
UIViewController
.
current
?
.
navigationController
?
.
pushViewController
(
vc
)
}
else
if
type
==
203
{
}
else
if
type
==
203
{
//高才我的证件
//高才我的证件
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/QMAS(优才)/MyCertificates(我的证书)/V/YHCertificateEntryCell.swift
View file @
1290e8a9
...
@@ -63,7 +63,7 @@ extension YHCertificateEntryCell {
...
@@ -63,7 +63,7 @@ extension YHCertificateEntryCell {
color
=
UIColor
.
warnColor
color
=
UIColor
.
warnColor
}
else
if
dataModel
.
checkStatus
==
1
{
}
else
if
dataModel
.
checkStatus
==
1
{
title
=
"已完成"
title
=
"已完成"
color
=
UIColor
.
labelTextColor2
color
=
UIColor
(
hex
:
0x3CC694
)
}
else
if
dataModel
.
checkStatus
==
2
{
}
else
if
dataModel
.
checkStatus
==
2
{
title
=
"已驳回"
title
=
"已驳回"
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/QMAS(优才)/MyCertificates(我的证书)/V/YHCertificateEntryHeadView.swift
View file @
1290e8a9
...
@@ -36,6 +36,8 @@ class YHCertificateEntryHeadView: UIView {
...
@@ -36,6 +36,8 @@ class YHCertificateEntryHeadView: UIView {
return
titleLable
return
titleLable
}()
}()
let
numFont
=
UIFont
(
name
:
"DINAlternate-Bold"
,
size
:
14
)
!
private
lazy
var
statiticLable
:
UILabel
=
{
private
lazy
var
statiticLable
:
UILabel
=
{
let
titleLable
=
UILabel
(
text
:
"待上传0件,已驳回0件,审核中0件,已完成0件"
)
let
titleLable
=
UILabel
(
text
:
"待上传0件,已驳回0件,审核中0件,已完成0件"
)
...
@@ -65,19 +67,19 @@ private extension YHCertificateEntryHeadView {
...
@@ -65,19 +67,19 @@ private extension YHCertificateEntryHeadView {
}
}
let
a
:
ASAttributedString
=
.
init
(
"待上传"
,
.
font
(
UIFont
.
PFSC_R
(
ofSize
:
13
)),
.
foreground
(
UIColor
.
mainTextColor
))
let
a
:
ASAttributedString
=
.
init
(
"待上传"
,
.
font
(
UIFont
.
PFSC_R
(
ofSize
:
13
)),
.
foreground
(
UIColor
.
mainTextColor
))
let
aa
:
ASAttributedString
=
.
init
(
"0"
,
.
font
(
UIFont
.
PFSC_B
(
ofSize
:
17
)
),
.
foreground
(
UIColor
.
warnColor
))
let
aa
:
ASAttributedString
=
.
init
(
"0"
,
.
font
(
numFont
),
.
foreground
(
UIColor
.
warnColor
))
let
b
:
ASAttributedString
=
.
init
(
"件,已驳回"
,
.
font
(
UIFont
.
PFSC_R
(
ofSize
:
13
)),
.
foreground
(
UIColor
.
mainTextColor
))
let
b
:
ASAttributedString
=
.
init
(
"件,已驳回"
,
.
font
(
UIFont
.
PFSC_R
(
ofSize
:
13
)),
.
foreground
(
UIColor
.
mainTextColor
))
let
bb
:
ASAttributedString
=
.
init
(
"0"
,
.
font
(
UIFont
.
PFSC_B
(
ofSize
:
17
)
),
.
foreground
(
UIColor
.
warnColor
))
let
bb
:
ASAttributedString
=
.
init
(
"0"
,
.
font
(
numFont
),
.
foreground
(
UIColor
.
warnColor
))
let
c
:
ASAttributedString
=
.
init
(
"件,审核中"
,
.
font
(
UIFont
.
PFSC_R
(
ofSize
:
13
)),
.
foreground
(
UIColor
.
mainTextColor
))
let
c
:
ASAttributedString
=
.
init
(
"件,审核中"
,
.
font
(
UIFont
.
PFSC_R
(
ofSize
:
13
)),
.
foreground
(
UIColor
.
mainTextColor
))
let
cc
:
ASAttributedString
=
.
init
(
"0"
,
.
font
(
UIFont
.
PFSC_B
(
ofSize
:
17
)
),
.
foreground
(
UIColor
.
warnColor
))
let
cc
:
ASAttributedString
=
.
init
(
"0"
,
.
font
(
numFont
),
.
foreground
(
UIColor
.
warnColor
))
let
d
:
ASAttributedString
=
.
init
(
"件,已完成"
,
.
font
(
UIFont
.
PFSC_R
(
ofSize
:
13
)),
.
foreground
(
UIColor
.
mainTextColor
))
let
d
:
ASAttributedString
=
.
init
(
"件,已完成"
,
.
font
(
UIFont
.
PFSC_R
(
ofSize
:
13
)),
.
foreground
(
UIColor
.
mainTextColor
))
let
dd
:
ASAttributedString
=
.
init
(
"0"
,
.
font
(
UIFont
.
PFSC_B
(
ofSize
:
17
)
),
.
foreground
(
UIColor
.
warnColor
))
let
dd
:
ASAttributedString
=
.
init
(
"0"
,
.
font
(
numFont
),
.
foreground
(
UIColor
.
warnColor
))
let
e
:
ASAttributedString
=
.
init
(
"件"
,
.
font
(
UIFont
.
PFSC_R
(
ofSize
:
13
)),
.
foreground
(
UIColor
.
mainTextColor
))
let
e
:
ASAttributedString
=
.
init
(
"件"
,
.
font
(
UIFont
.
PFSC_R
(
ofSize
:
13
)),
.
foreground
(
UIColor
.
mainTextColor
))
...
@@ -103,19 +105,19 @@ private extension YHCertificateEntryHeadView {
...
@@ -103,19 +105,19 @@ private extension YHCertificateEntryHeadView {
nameLable
.
text
=
"您好,"
+
tmp
nameLable
.
text
=
"您好,"
+
tmp
let
a
:
ASAttributedString
=
.
init
(
"待上传"
,
.
font
(
UIFont
.
PFSC_R
(
ofSize
:
13
)),
.
foreground
(
UIColor
.
mainTextColor
))
let
a
:
ASAttributedString
=
.
init
(
"待上传"
,
.
font
(
UIFont
.
PFSC_R
(
ofSize
:
13
)),
.
foreground
(
UIColor
.
mainTextColor
))
let
aa
:
ASAttributedString
=
.
init
(
NSAttributedString
(
string
:
String
(
dataModel
.
to_be_submit_num
)),
.
font
(
UIFont
.
PFSC_B
(
ofSize
:
17
)
),
.
foreground
(
UIColor
.
warnColor
))
let
aa
:
ASAttributedString
=
.
init
(
NSAttributedString
(
string
:
String
(
dataModel
.
to_be_submit_num
)),
.
font
(
numFont
),
.
foreground
(
UIColor
.
warnColor
))
let
b
:
ASAttributedString
=
.
init
(
"件,已驳回"
,
.
font
(
UIFont
.
PFSC_R
(
ofSize
:
13
)),
.
foreground
(
UIColor
.
mainTextColor
))
let
b
:
ASAttributedString
=
.
init
(
"件,已驳回"
,
.
font
(
UIFont
.
PFSC_R
(
ofSize
:
13
)),
.
foreground
(
UIColor
.
mainTextColor
))
let
bb
:
ASAttributedString
=
.
init
(
NSAttributedString
(
string
:
String
(
dataModel
.
reject_num
)),
.
font
(
UIFont
.
PFSC_B
(
ofSize
:
17
)
),
.
foreground
(
UIColor
.
warnColor
))
let
bb
:
ASAttributedString
=
.
init
(
NSAttributedString
(
string
:
String
(
dataModel
.
reject_num
)),
.
font
(
numFont
),
.
foreground
(
UIColor
.
warnColor
))
let
c
:
ASAttributedString
=
.
init
(
"件,审核中"
,
.
font
(
UIFont
.
PFSC_R
(
ofSize
:
13
)),
.
foreground
(
UIColor
.
mainTextColor
))
let
c
:
ASAttributedString
=
.
init
(
"件,审核中"
,
.
font
(
UIFont
.
PFSC_R
(
ofSize
:
13
)),
.
foreground
(
UIColor
.
mainTextColor
))
let
cc
:
ASAttributedString
=
.
init
(
NSAttributedString
(
string
:
String
(
dataModel
.
to_be_audit_num
)),
.
font
(
UIFont
.
PFSC_B
(
ofSize
:
17
)
),
.
foreground
(
UIColor
.
warnColor
))
let
cc
:
ASAttributedString
=
.
init
(
NSAttributedString
(
string
:
String
(
dataModel
.
to_be_audit_num
)),
.
font
(
numFont
),
.
foreground
(
UIColor
.
warnColor
))
let
d
:
ASAttributedString
=
.
init
(
"件,已完成"
,
.
font
(
UIFont
.
PFSC_R
(
ofSize
:
13
)),
.
foreground
(
UIColor
.
mainTextColor
))
let
d
:
ASAttributedString
=
.
init
(
"件,已完成"
,
.
font
(
UIFont
.
PFSC_R
(
ofSize
:
13
)),
.
foreground
(
UIColor
.
mainTextColor
))
let
dd
:
ASAttributedString
=
.
init
(
NSAttributedString
(
string
:
String
(
dataModel
.
pass_num
)),
.
font
(
UIFont
.
PFSC_B
(
ofSize
:
17
)
),
.
foreground
(
UIColor
.
warnColor
))
let
dd
:
ASAttributedString
=
.
init
(
NSAttributedString
(
string
:
String
(
dataModel
.
pass_num
)),
.
font
(
numFont
),
.
foreground
(
UIColor
.
warnColor
))
let
e
:
ASAttributedString
=
.
init
(
"件"
,
.
font
(
UIFont
.
PFSC_R
(
ofSize
:
13
)),
.
foreground
(
UIColor
.
mainTextColor
))
let
e
:
ASAttributedString
=
.
init
(
"件"
,
.
font
(
UIFont
.
PFSC_R
(
ofSize
:
13
)),
.
foreground
(
UIColor
.
mainTextColor
))
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/QMAS(优才)/MyCertificates(我的证书)/V/YHCertificateInfoCell.swift
View file @
1290e8a9
...
@@ -62,7 +62,7 @@ class YHCertificateInfoCell: UITableViewCell {
...
@@ -62,7 +62,7 @@ class YHCertificateInfoCell: UITableViewCell {
titleColor
=
.
warnColor
titleColor
=
.
warnColor
title
=
"审核中"
.
local
title
=
"审核中"
.
local
case
.
finish
:
case
.
finish
:
titleColor
=
.
labelTextColor2
titleColor
=
UIColor
(
hex
:
0x3CC694
)
title
=
"已完成"
.
local
title
=
"已完成"
.
local
case
.
all
:
case
.
all
:
titleColor
=
.
labelTextColor2
titleColor
=
.
labelTextColor2
...
@@ -187,7 +187,7 @@ class YHCertificateInfoCell: UITableViewCell {
...
@@ -187,7 +187,7 @@ class YHCertificateInfoCell: UITableViewCell {
nameTextView
.
snp
.
makeConstraints
{
make
in
nameTextView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalToSuperview
()
.
offset
(
10
)
make
.
left
.
equalToSuperview
()
.
offset
(
10
)
make
.
top
.
equalToSuperview
()
.
offset
(
4
)
make
.
top
.
equalToSuperview
()
.
offset
(
4
)
make
.
right
.
equalTo
(
statusLabel
.
snp
.
left
)
.
offset
(
-
2
6
)
make
.
right
.
equalTo
(
statusLabel
.
snp
.
left
)
.
offset
(
-
2
1
)
}
}
infoLabel
.
snp
.
makeConstraints
{
make
in
infoLabel
.
snp
.
makeConstraints
{
make
in
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/QMAS(优才)/ServiceProcess(我的信息流程)/BaseInformation(基本资料)/M/YHBasicInfoSessionModel.swift
View file @
1290e8a9
...
@@ -13,6 +13,7 @@ class YHBasicInfoSessionModel {
...
@@ -13,6 +13,7 @@ class YHBasicInfoSessionModel {
var
arrQuestionItem
:
[
YHBasicInfoCellModel
]
=
[]
var
arrQuestionItem
:
[
YHBasicInfoCellModel
]
=
[]
var
model
:
SpouseModel
?
var
model
:
SpouseModel
?
var
gcModel
:
YHGCApplicantModel
?
init
(
sessionTitle
:
String
,
arrQuestionItem
:
[
YHBasicInfoCellModel
])
{
init
(
sessionTitle
:
String
,
arrQuestionItem
:
[
YHBasicInfoCellModel
])
{
self
.
sessionTitle
=
sessionTitle
self
.
sessionTitle
=
sessionTitle
self
.
arrQuestionItem
=
arrQuestionItem
self
.
arrQuestionItem
=
arrQuestionItem
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/QMAS(优才)/ServiceProcess(我的信息流程)/FamilyMember(家庭成员信息表)/M/YHFamilyInitialInfo.swift
View file @
1290e8a9
...
@@ -667,7 +667,7 @@ class YHFamilyMember: SmartCodable, YHFormItemProtocol {
...
@@ -667,7 +667,7 @@ class YHFamilyMember: SmartCodable, YHFormItemProtocol {
// 是否与主申请人同住 1:是 0:否
// 是否与主申请人同住 1:是 0:否
var
nows
:
Int
=
0
var
nows
:
Int
=
0
// 是否拥有现时定居国家/地区的永久居留身份 0:否 1:是 2没有选择
// 是否拥有现时定居国家/地区的永久居留身份 0:否 1:是 2没有选择
var
isCurrentlyOverseas
:
Int
=
2
var
havePermanentResidency
:
Int
=
2
// 海外居留开始时间
// 海外居留开始时间
var
residenceTime
:
String
=
""
var
residenceTime
:
String
=
""
// 是否办理过港澳通行证 1:是 0:否
// 是否办理过港澳通行证 1:是 0:否
...
@@ -755,7 +755,7 @@ class YHFamilyMember: SmartCodable, YHFormItemProtocol {
...
@@ -755,7 +755,7 @@ class YHFamilyMember: SmartCodable, YHFormItemProtocol {
case
isHkHandled
=
"is_hk_handled"
case
isHkHandled
=
"is_hk_handled"
case
isInHk
=
"is_in_hk"
case
isInHk
=
"is_in_hk"
case
isLiveOverseaYear
=
"is_live_oversea_year"
case
isLiveOverseaYear
=
"is_live_oversea_year"
case
isCurrentlyOverseas
=
"is_currently_overseas
"
case
havePermanentResidency
=
"have_permanent_residency
"
case
residenceTime
=
"residence_time"
case
residenceTime
=
"residence_time"
case
surname
=
"surname"
case
surname
=
"surname"
}
}
...
@@ -796,13 +796,19 @@ class YHFamilyMember: SmartCodable, YHFormItemProtocol {
...
@@ -796,13 +796,19 @@ class YHFamilyMember: SmartCodable, YHFormItemProtocol {
self
.
nows
=
(
value
?
1
:
0
)
self
.
nows
=
(
value
?
1
:
0
)
}
}
// 是否拥有现时定居国家/地区的永久居留身份
// 是否拥有现时定居国家/地区的永久居留身份 nil表示未选
func
isHavePermanentResidenceStatus
()
->
Bool
{
func
isHavePermanentResidenceStatus
()
->
Bool
?
{
return
self
.
isCurrentlyOverseas
==
1
if
self
.
havePermanentResidency
==
1
{
return
true
}
else
if
self
.
havePermanentResidency
==
0
{
return
false
}
return
nil
}
}
func
setHavePermanentResidenceStatus
(
_
value
:
Bool
)
{
func
setHavePermanentResidenceStatus
(
_
value
:
Bool
)
{
return
self
.
isCurrentlyOverseas
=
value
?
1
:
2
return
self
.
havePermanentResidency
=
value
?
1
:
0
}
}
// 是否在海外居住满1年及以上
// 是否在海外居住满1年及以上
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/QMAS(优才)/ServiceProcess(我的信息流程)/FamilyMember(家庭成员信息表)/V/YHFormItemDoubleChoiceCell.swift
View file @
1290e8a9
...
@@ -210,14 +210,14 @@ class YHFormItemDoubleChoiceCell: UITableViewCell {
...
@@ -210,14 +210,14 @@ class YHFormItemDoubleChoiceCell: UITableViewCell {
tipsLabel
.
text
=
tips
tipsLabel
.
text
=
tips
tipsLabel
.
isHidden
=
!
isShow
tipsLabel
.
isHidden
=
!
isShow
if
isShow
{
if
isShow
{
tipsLabel
.
snp
.
makeConstraints
{
make
in
tipsLabel
.
snp
.
re
makeConstraints
{
make
in
make
.
left
.
equalToSuperview
()
.
offset
(
horizonalGap
)
make
.
left
.
equalToSuperview
()
.
offset
(
horizonalGap
)
make
.
right
.
equalToSuperview
()
.
offset
(
-
horizonalGap
)
make
.
right
.
equalToSuperview
()
.
offset
(
-
horizonalGap
)
make
.
top
.
equalTo
(
titleLabel
.
snp
.
bottom
)
make
.
top
.
equalTo
(
titleLabel
.
snp
.
bottom
)
make
.
bottom
.
equalToSuperview
()
.
offset
(
-
16
)
.
priority
(
.
medium
)
make
.
bottom
.
equalToSuperview
()
.
offset
(
-
16
)
.
priority
(
.
medium
)
}
}
}
else
{
}
else
{
tipsLabel
.
snp
.
makeConstraints
{
make
in
tipsLabel
.
snp
.
re
makeConstraints
{
make
in
make
.
left
.
equalToSuperview
()
.
offset
(
horizonalGap
)
make
.
left
.
equalToSuperview
()
.
offset
(
horizonalGap
)
make
.
right
.
equalToSuperview
()
.
offset
(
-
horizonalGap
)
make
.
right
.
equalToSuperview
()
.
offset
(
-
horizonalGap
)
make
.
height
.
equalTo
(
0
)
make
.
height
.
equalTo
(
0
)
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/QMAS(优才)/ServiceProcess(我的信息流程)/IncomeRecord(收入记录)/V/YHIncomeRecordItemCell.swift
View file @
1290e8a9
...
@@ -42,6 +42,8 @@ class YHIncomeRecordItemCell: YHResignDocumentCell {
...
@@ -42,6 +42,8 @@ class YHIncomeRecordItemCell: YHResignDocumentCell {
private
lazy
var
deleteButton
:
UIButton
=
{
private
lazy
var
deleteButton
:
UIButton
=
{
let
button
=
UIButton
(
type
:
.
custom
)
let
button
=
UIButton
(
type
:
.
custom
)
button
.
setTitle
(
"删除"
,
for
:
.
normal
)
button
.
setTitle
(
"删除"
,
for
:
.
normal
)
button
.
setTitleColor
(
UIColor
.
failColor
,
for
:
.
normal
)
button
.
titleLabel
?
.
font
=
.
PFSC_R
(
ofSize
:
14
)
button
.
addTarget
(
self
,
action
:
#selector(
deleteButtonDidClick(_:)
)
,
for
:
.
touchUpInside
)
button
.
addTarget
(
self
,
action
:
#selector(
deleteButtonDidClick(_:)
)
,
for
:
.
touchUpInside
)
return
button
return
button
}()
}()
...
@@ -68,25 +70,11 @@ class YHIncomeRecordItemCell: YHResignDocumentCell {
...
@@ -68,25 +70,11 @@ class YHIncomeRecordItemCell: YHResignDocumentCell {
if
isEditing
{
if
isEditing
{
rightLabel
.
isHidden
=
true
rightLabel
.
isHidden
=
true
rightArrowIcon
.
isHidden
=
true
rightArrowIcon
.
isHidden
=
true
deleteButton
.
isHidden
=
true
deleteButton
.
isHidden
=
false
bottomLineView
.
snp
.
remakeConstraints
{
make
in
make
.
bottom
.
equalToSuperview
()
make
.
left
.
equalToSuperview
()
.
offset
(
18
)
make
.
right
.
equalToSuperview
()
.
offset
(
-
18
)
make
.
height
.
equalTo
(
0.5
)
make
.
top
.
equalTo
(
infoDetailLabel
.
snp
.
bottom
)
.
offset
(
16
)
}
}
else
{
}
else
{
rightLabel
.
isHidden
=
false
rightLabel
.
isHidden
=
false
rightArrowIcon
.
isHidden
=
false
rightArrowIcon
.
isHidden
=
false
deleteButton
.
isHidden
=
true
deleteButton
.
isHidden
=
true
bottomLineView
.
snp
.
remakeConstraints
{
make
in
make
.
bottom
.
equalToSuperview
()
make
.
left
.
equalToSuperview
()
.
offset
(
18
)
make
.
right
.
equalToSuperview
()
.
offset
(
-
18
)
make
.
height
.
equalTo
(
0.5
)
make
.
top
.
equalTo
(
infoDetailLabel
.
snp
.
bottom
)
.
offset
(
16
)
}
}
}
bottomLineView
.
isHidden
=
!
showBottomLine
bottomLineView
.
isHidden
=
!
showBottomLine
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/QMAS(优才)/ServiceProcess(我的信息流程)/IncomeRecord(收入记录)/V/YHIncomeRecordSummaryCell.swift
View file @
1290e8a9
...
@@ -24,13 +24,16 @@ class YHIncomeRecordSummaryCell: YHResignDocumentCell {
...
@@ -24,13 +24,16 @@ class YHIncomeRecordSummaryCell: YHResignDocumentCell {
let
label
=
UILabel
()
let
label
=
UILabel
()
label
.
font
=
.
PFSC_R
(
ofSize
:
12
)
label
.
font
=
.
PFSC_R
(
ofSize
:
12
)
label
.
textColor
=
UIColor
(
hexString
:
"#8993A2"
)
label
.
textColor
=
UIColor
(
hexString
:
"#8993A2"
)
label
.
text
=
"(仅申报近12个月应纳税收入总额
))
"
label
.
text
=
"(仅申报近12个月应纳税收入总额
)
"
return
label
return
label
}()
}()
private
lazy
var
rightButton
:
UIButton
=
{
private
lazy
var
rightButton
:
UIButton
=
{
let
button
=
UIButton
(
type
:
.
custom
)
let
button
=
UIButton
(
type
:
.
custom
)
button
.
setImage
(
UIImage
(
named
:
"work_more"
),
for
:
.
normal
)
button
.
setTitle
(
"编辑"
,
for
:
.
normal
)
button
.
setTitle
(
"取消编辑"
,
for
:
.
selected
)
button
.
setTitleColor
(
.
brandMainColor
,
for
:
.
normal
)
button
.
titleLabel
?
.
font
=
.
PFSC_R
(
ofSize
:
14
)
button
.
addTarget
(
self
,
action
:
#selector(
rightButtonDidClick(_:)
)
,
for
:
.
touchUpInside
)
button
.
addTarget
(
self
,
action
:
#selector(
rightButtonDidClick(_:)
)
,
for
:
.
touchUpInside
)
return
button
return
button
}()
}()
...
@@ -64,14 +67,20 @@ extension YHIncomeRecordSummaryCell {
...
@@ -64,14 +67,20 @@ extension YHIncomeRecordSummaryCell {
}
}
private
func
updateRightButtonState
(
_
isEditing
:
Bool
)
{
private
func
updateRightButtonState
(
_
isEditing
:
Bool
)
{
rightButton
.
isSelected
=
isEditing
if
isEditing
{
if
isEditing
{
rightButton
.
setImage
(
nil
,
for
:
.
normal
)
rightButton
.
snp
.
remakeConstraints
{
make
in
rightButton
.
setTitle
(
"取消操作"
,
for
:
.
normal
)
make
.
right
.
equalToSuperview
()
.
offset
(
-
18
)
rightButton
.
setTitleColor
(
.
brandMainColor
,
for
:
.
normal
)
make
.
top
.
equalToSuperview
()
.
offset
(
16
)
rightButton
.
titleLabel
?
.
font
=
.
PFSC_R
(
ofSize
:
14
)
make
.
width
.
equalTo
(
56
)
make
.
height
.
equalTo
(
24
)
}
}
else
{
}
else
{
rightButton
.
setImage
(
UIImage
(
named
:
"work_more"
),
for
:
.
normal
)
rightButton
.
snp
.
remakeConstraints
{
make
in
rightButton
.
setTitle
(
nil
,
for
:
.
normal
)
make
.
right
.
equalToSuperview
()
.
offset
(
-
18
)
make
.
top
.
equalToSuperview
()
.
offset
(
16
)
make
.
width
.
height
.
equalTo
(
28
)
}
}
}
}
}
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/QMAS(优才)/ServiceProcess(我的信息流程)/IncomeRecord(收入记录)/V/YHTotalIncomeCell.swift
View file @
1290e8a9
...
@@ -56,8 +56,10 @@ class YHTotalIncomeCell: YHResignDocumentCell {
...
@@ -56,8 +56,10 @@ class YHTotalIncomeCell: YHResignDocumentCell {
fatalError
(
"init(coder:) has not been implemented"
)
fatalError
(
"init(coder:) has not been implemented"
)
}
}
func
setupCellInfo
(
detail
:
ASAttributedString
)
{
func
setupCellInfo
(
detail
:
ASAttributedString
,
cellType
:
YHResignRoundCellType
=
.
bottom
,
showTopLine
:
Bool
=
true
)
{
infoDetailLabel
.
attributed
.
text
=
detail
infoDetailLabel
.
attributed
.
text
=
detail
updateCellCorner
(
cellType
)
topLineView
.
isHidden
=
!
showTopLine
}
}
}
}
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/QMAS(优才)/ServiceProcess(我的信息流程)/IncomeRecord(收入记录)/V/YHWorkingHoursStatementCell.swift
View file @
1290e8a9
...
@@ -11,7 +11,7 @@ import UIKit
...
@@ -11,7 +11,7 @@ import UIKit
class
YHWorkingHoursStatementCell
:
YHResignDocumentCell
{
class
YHWorkingHoursStatementCell
:
YHResignDocumentCell
{
static
let
cellReuseIdentifier
=
"YHWorkingHoursStatementCell"
static
let
cellReuseIdentifier
=
"YHWorkingHoursStatementCell"
private
let
maxCount
=
2
00
private
let
maxCount
=
10
00
var
textViewDidChanged
:
((
UITextView
)
->
Void
)?
var
textViewDidChanged
:
((
UITextView
)
->
Void
)?
var
textDidExceedsMaxLimit
:
((
Int
)
->
Void
)?
var
textDidExceedsMaxLimit
:
((
Int
)
->
Void
)?
...
@@ -77,6 +77,7 @@ class YHWorkingHoursStatementCell: YHResignDocumentCell {
...
@@ -77,6 +77,7 @@ class YHWorkingHoursStatementCell: YHResignDocumentCell {
func
setupCellInfo
(
placeholder
:
String
,
remark
:
String
?,
detail
:
ASAttributedString
,
isShowBottomLine
:
Bool
)
{
func
setupCellInfo
(
placeholder
:
String
,
remark
:
String
?,
detail
:
ASAttributedString
,
isShowBottomLine
:
Bool
)
{
editTipsLabel
.
text
=
placeholder
editTipsLabel
.
text
=
placeholder
editTipsLabel
.
isHidden
=
remark
?
.
isEmpty
==
false
remarkTextView
.
text
=
remark
remarkTextView
.
text
=
remark
infoDetailLabel
.
attributed
.
text
=
detail
infoDetailLabel
.
attributed
.
text
=
detail
bottomLineView
.
isHidden
=
!
isShowBottomLine
bottomLineView
.
isHidden
=
!
isShowBottomLine
...
@@ -85,7 +86,7 @@ class YHWorkingHoursStatementCell: YHResignDocumentCell {
...
@@ -85,7 +86,7 @@ class YHWorkingHoursStatementCell: YHResignDocumentCell {
extension
YHWorkingHoursStatementCell
{
extension
YHWorkingHoursStatementCell
{
private
func
setupUI
()
{
private
func
setupUI
()
{
updateCellCorner
(
.
bottom
)
updateCellCorner
(
.
single
)
subContainerView
.
addSubview
(
infoDetailLabel
)
subContainerView
.
addSubview
(
infoDetailLabel
)
subContainerView
.
addSubview
(
remarkTextViewContainer
)
subContainerView
.
addSubview
(
remarkTextViewContainer
)
subContainerView
.
addSubview
(
bottomLineView
)
subContainerView
.
addSubview
(
bottomLineView
)
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/QMAS(优才)/ServiceProcess(我的信息流程)/PersonInfoList(个人信息预览)/M/YHAcademicPreviewModel.swift
View file @
1290e8a9
...
@@ -16,7 +16,7 @@ class YHAcademicPreviewModel: SmartCodable {
...
@@ -16,7 +16,7 @@ class YHAcademicPreviewModel: SmartCodable {
var
edu_count
:
Int
=
0
var
edu_count
:
Int
=
0
var
qla_count
:
Int
=
0
var
qla_count
:
Int
=
0
var
is_married
:
Int
=
0
var
is_married
:
Int
=
0
var
is_name_same
:
Bool
=
false
var
edu_list
:
[
eduListModel
]?
var
edu_list
:
[
eduListModel
]?
var
qla_list
:
[
qlaListModel
]?
var
qla_list
:
[
qlaListModel
]?
...
@@ -36,9 +36,13 @@ class eduListModel: SmartCodable {
...
@@ -36,9 +36,13 @@ class eduListModel: SmartCodable {
var
professional
:
String
=
""
var
professional
:
String
=
""
var
background
:
String
=
""
var
background
:
String
=
""
var
degree_type
:
String
=
""
var
degree_type
:
String
=
""
var
cert_confirm
:
Int
=
0
var
school_address
:
schoolAddressModel
?
var
school_address
:
schoolAddressModel
?
var
major_other
:
String
=
""
var
has_bachelor_degree
:
Int
=
0
required
init
()
{
required
init
()
{
}
}
}
}
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/TTPS(高才)/FileList(文件清单)/C/YHGCMyFileListViewController.swift
View file @
1290e8a9
...
@@ -77,7 +77,7 @@ class YHGCMyFileListViewController: YHBaseViewController {
...
@@ -77,7 +77,7 @@ class YHGCMyFileListViewController: YHBaseViewController {
}()
}()
lazy
var
bgImgView
:
UIImageView
=
{
lazy
var
bgImgView
:
UIImageView
=
{
let
bgView
=
UIImageView
(
image
:
UIImage
(
named
:
"my_filelist_bg"
))
let
bgView
=
UIImageView
(
image
:
UIImage
(
named
:
"my_filelist_
gc_
bg"
))
return
bgView
return
bgView
}()
}()
...
@@ -244,7 +244,8 @@ class YHGCMyFileListViewController: YHBaseViewController {
...
@@ -244,7 +244,8 @@ class YHGCMyFileListViewController: YHBaseViewController {
let
textColor
=
UIColor
.
mainTextColor70
let
textColor
=
UIColor
.
mainTextColor70
let
countColor
=
UIColor
.
brandMainColor
let
countColor
=
UIColor
.
brandMainColor
let
textFont
=
UIFont
.
PFSC_R
(
ofSize
:
14
)
let
textFont
=
UIFont
.
PFSC_R
(
ofSize
:
14
)
let
countFont
=
UIFont
.
PFSC_B
(
ofSize
:
16
)
let
countFont
=
UIFont
(
name
:
"DINAlternate-Bold"
,
size
:
16
)
!
let
a
:
ASAttributedString
=
.
init
(
"您有 "
,
.
font
(
textFont
),
.
foreground
(
textColor
))
let
a
:
ASAttributedString
=
.
init
(
"您有 "
,
.
font
(
textFont
),
.
foreground
(
textColor
))
let
b
:
ASAttributedString
=
.
init
(
NSAttributedString
(
string
:
String
(
submitCount
)),
.
font
(
countFont
),
.
foreground
(
countColor
))
let
b
:
ASAttributedString
=
.
init
(
NSAttributedString
(
string
:
String
(
submitCount
)),
.
font
(
countFont
),
.
foreground
(
countColor
))
let
c
:
ASAttributedString
=
.
init
(
" 项待提交,"
,
.
font
(
textFont
),
.
foreground
(
textColor
))
let
c
:
ASAttributedString
=
.
init
(
" 项待提交,"
,
.
font
(
textFont
),
.
foreground
(
textColor
))
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/TTPS(高才)/MyCertificates(我的证书)/C/YHGCCertificateListContainerVC.swift
View file @
1290e8a9
...
@@ -146,7 +146,7 @@ class YHGCCertificateListContainerVC: YHBaseViewController {
...
@@ -146,7 +146,7 @@ class YHGCCertificateListContainerVC: YHBaseViewController {
view
.
addSubview
(
navBar
)
view
.
addSubview
(
navBar
)
view
.
addSubview
(
segmentContainerView
)
view
.
addSubview
(
segmentContainerView
)
segmentContainerView
.
addSubview
(
segmentedView
)
segmentContainerView
.
addSubview
(
segmentedView
)
segmentContainerView
.
addSubview
(
filterBtn
)
//
segmentContainerView.addSubview(filterBtn)
view
.
addSubview
(
listContainerView
)
view
.
addSubview
(
listContainerView
)
navBar
.
snp
.
makeConstraints
{
make
in
navBar
.
snp
.
makeConstraints
{
make
in
...
@@ -162,15 +162,15 @@ class YHGCCertificateListContainerVC: YHBaseViewController {
...
@@ -162,15 +162,15 @@ class YHGCCertificateListContainerVC: YHBaseViewController {
segmentedView
.
snp
.
makeConstraints
{
make
in
segmentedView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
left
.
equalToSuperview
()
make
.
top
.
left
.
equalToSuperview
()
make
.
right
.
equalToSuperview
()
.
offset
(
-
21
-
18
)
make
.
right
.
equalToSuperview
()
make
.
height
.
equalTo
(
Self
.
segmentHeight
)
make
.
height
.
equalTo
(
Self
.
segmentHeight
)
}
}
filterBtn
.
snp
.
makeConstraints
{
make
in
//
filterBtn.snp.makeConstraints { make in
make
.
width
.
height
.
equalTo
(
YHCertificateFilterButton
.
width
)
//
make.width.height.equalTo(YHCertificateFilterButton.width)
make
.
centerY
.
equalToSuperview
()
.
offset
(
-
2
)
//
make.centerY.equalToSuperview().offset(-2)
make
.
right
.
equalToSuperview
()
.
offset
(
-
18
)
//
make.right.equalToSuperview().offset(-18)
}
//
}
listContainerView
.
snp
.
makeConstraints
{
make
in
listContainerView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
right
.
equalToSuperview
()
make
.
left
.
right
.
equalToSuperview
()
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/TTPS(高才)/MyCertificates(我的证书)/C/YHGCMineCertificateEntryViewController.swift
View file @
1290e8a9
...
@@ -50,7 +50,7 @@ class YHGCMineCertificateEntryViewController: YHBaseViewController {
...
@@ -50,7 +50,7 @@ class YHGCMineCertificateEntryViewController: YHBaseViewController {
tableView
.
showsHorizontalScrollIndicator
=
false
tableView
.
showsHorizontalScrollIndicator
=
false
tableView
.
showsVerticalScrollIndicator
=
false
tableView
.
showsVerticalScrollIndicator
=
false
tableView
.
rowHeight
=
UITableView
.
automaticDimension
tableView
.
rowHeight
=
UITableView
.
automaticDimension
tableView
.
register
(
YH
CertificateEntryCell
.
self
,
forCellReuseIdentifier
:
YH
CertificateEntryCell
.
cellReuseIdentifier
)
tableView
.
register
(
YH
GCCertificateEntryCell
.
self
,
forCellReuseIdentifier
:
YHGC
CertificateEntryCell
.
cellReuseIdentifier
)
return
tableView
return
tableView
}()
}()
...
@@ -168,11 +168,11 @@ extension YHGCMineCertificateEntryViewController : UITableViewDelegate,UITableVi
...
@@ -168,11 +168,11 @@ extension YHGCMineCertificateEntryViewController : UITableViewDelegate,UITableVi
func
tableView
(
_
tableView
:
UITableView
,
heightForRowAt
indexPath
:
IndexPath
)
->
CGFloat
{
func
tableView
(
_
tableView
:
UITableView
,
heightForRowAt
indexPath
:
IndexPath
)
->
CGFloat
{
return
YHCertificateEntryCell
.
cellH
return
YH
GC
CertificateEntryCell
.
cellH
}
}
func
tableView
(
_
tableView
:
UITableView
,
cellForRowAt
indexPath
:
IndexPath
)
->
UITableViewCell
{
func
tableView
(
_
tableView
:
UITableView
,
cellForRowAt
indexPath
:
IndexPath
)
->
UITableViewCell
{
let
cell0
=
tableView
.
dequeueReusableCell
(
withClass
:
YHCertificateEntryCell
.
self
)
let
cell0
=
tableView
.
dequeueReusableCell
(
withClass
:
YH
GC
CertificateEntryCell
.
self
)
cell0
.
selectionStyle
=
.
none
cell0
.
selectionStyle
=
.
none
guard
let
model
=
certificateReqVM
.
certificateEntryModel
else
{
return
cell0
}
guard
let
model
=
certificateReqVM
.
certificateEntryModel
else
{
return
cell0
}
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/TTPS(高才)/MyCertificates(我的证书)/V/YHGCCertificateEntryCell.swift
0 → 100644
View file @
1290e8a9
//
// YHGCCertificateEntryCell.swift
// galaxy
//
// Created by Dufet on 2024/12/25.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
class
YHGCCertificateEntryCell
:
UITableViewCell
{
static
let
cellReuseIdentifier
=
"YHGCCertificateEntryCell"
static
let
cellH
:
CGFloat
=
68.0
var
dataModel
:
YHCategoryData
?
{
didSet
{
updateUI
()
}
}
override
init
(
style
:
UITableViewCell
.
CellStyle
,
reuseIdentifier
:
String
?)
{
super
.
init
(
style
:
style
,
reuseIdentifier
:
reuseIdentifier
)
setupUI
()
}
required
init
?(
coder
:
NSCoder
)
{
fatalError
(
"init(coder:) has not been implemented"
)
}
lazy
var
contractNameLable
=
{
let
lable
=
UILabel
()
lable
.
textColor
=
UIColor
.
mainTextColor
lable
.
font
=
UIFont
.
PFSC_M
(
ofSize
:
16
)
lable
.
text
=
"主申请人(张三)"
return
lable
}()
lazy
var
contractIdLable
=
{
let
lable
=
UILabel
()
lable
.
textColor
=
UIColor
(
hex
:
0x3CC694
)
lable
.
font
=
UIFont
.
PFSC_R
(
ofSize
:
14
)
lable
.
text
=
"已完成"
lable
.
textAlignment
=
.
right
return
lable
}()
}
extension
YHGCCertificateEntryCell
{
func
updateUI
()
{
guard
let
dataModel
=
dataModel
else
{
return
}
var
name
=
""
if
dataModel
.
userName
.
isEmpty
==
false
{
name
=
"("
+
dataModel
.
userName
+
")"
}
contractNameLable
.
text
=
dataModel
.
applicantName
+
name
//0:未审核,1:通过 2:驳回,3:未提交',
var
title
=
""
var
color
:
UIColor
=
.
failColor
if
dataModel
.
checkStatus
==
0
{
title
=
"审核中"
color
=
UIColor
.
warnColor
}
else
if
dataModel
.
checkStatus
==
1
{
title
=
"已完成"
color
=
UIColor
(
hex
:
0x3CC694
)
}
else
if
dataModel
.
checkStatus
==
2
{
title
=
"已驳回"
color
=
UIColor
.
failColor
}
else
if
dataModel
.
checkStatus
==
3
{
title
=
"待上传"
color
=
UIColor
.
brandMainColor
}
else
{
title
=
"--"
color
=
UIColor
.
brandMainColor
}
contractIdLable
.
text
=
title
contractIdLable
.
textColor
=
color
}
func
setupUI
()
{
let
holdView
=
UIView
()
holdView
.
backgroundColor
=
.
white
holdView
.
layer
.
cornerRadius
=
kCornerRadius6
holdView
.
clipsToBounds
=
true
backgroundColor
=
.
clear
contentView
.
backgroundColor
=
.
clear
contentView
.
addSubview
(
holdView
)
holdView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
bottom
.
equalToSuperview
()
make
.
left
.
equalTo
(
kMargin
)
make
.
right
.
equalTo
(
-
kMargin
)
}
let
nextImgV
=
UIImageView
()
nextImgV
.
image
=
UIImage
(
named
:
"service_center_right_next_icon"
)
nextImgV
.
contentMode
=
.
scaleAspectFill
holdView
.
addSubview
(
nextImgV
)
nextImgV
.
snp
.
makeConstraints
{
make
in
make
.
centerY
.
equalToSuperview
()
make
.
right
.
equalTo
(
-
26
)
make
.
width
.
height
.
equalTo
(
kMargin
)
}
holdView
.
addSubview
(
contractIdLable
)
contractIdLable
.
snp
.
makeConstraints
{
make
in
make
.
centerY
.
equalToSuperview
()
make
.
right
.
equalTo
(
nextImgV
.
snp
.
left
)
.
offset
(
-
2
)
make
.
width
.
equalTo
(
50
)
make
.
height
.
equalTo
(
20
)
}
holdView
.
addSubview
(
contractNameLable
)
contractNameLable
.
snp
.
makeConstraints
{
make
in
make
.
centerY
.
equalToSuperview
()
make
.
left
.
equalTo
(
21
)
make
.
right
.
equalTo
(
contractIdLable
.
snp
.
left
)
.
offset
(
-
10
)
make
.
height
.
equalTo
(
24
)
}
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/TTPS(高才)/ServiceProcess(我的信息流程)/BaseInformation(基本资料)/C/YHGCBasicInfoFillViewController.swift
View file @
1290e8a9
...
@@ -10,7 +10,7 @@ import UIKit
...
@@ -10,7 +10,7 @@ import UIKit
class
YHGCBasicInfoFillViewController
:
YHBaseViewController
{
class
YHGCBasicInfoFillViewController
:
YHBaseViewController
{
var
orderId
:
Int
?
var
orderId
:
Int
?
private
let
basicInfoVM
:
YH
BasicInfoFillViewModel
=
YH
BasicInfoFillViewModel
()
private
let
basicInfoVM
:
YH
GCBasicInfoFillViewModel
=
YHGC
BasicInfoFillViewModel
()
var
homeTableView
:
UITableView
=
{
var
homeTableView
:
UITableView
=
{
let
tableView
=
UITableView
(
frame
:
.
zero
,
style
:
.
grouped
)
let
tableView
=
UITableView
(
frame
:
.
zero
,
style
:
.
grouped
)
tableView
.
backgroundColor
=
.
clear
tableView
.
backgroundColor
=
.
clear
...
@@ -122,27 +122,28 @@ extension YHGCBasicInfoFillViewController {
...
@@ -122,27 +122,28 @@ extension YHGCBasicInfoFillViewController {
// 保存
// 保存
let
arr
=
basicInfoVM
.
arrBasicInfoSessionDataForEdit
let
arr
=
basicInfoVM
.
arrBasicInfoSessionDataForEdit
var
param
:
[
String
:
Any
]
=
[
"order
_id"
:
orderId
as
Any
,
"save_type"
:
isSaveFlag
?
"save"
:
"submit"
]
var
param
:
[
String
:
Any
]
=
[
"order
Id"
:
orderId
??
0
,
"save_type"
:
isSaveFlag
?
"save"
:
"submit"
]
for
item
in
arr
{
for
item
in
arr
{
if
item
.
sessionTitle
==
"主申请人"
{
if
item
.
sessionTitle
==
"主申请人"
{
var
applicant
:
[
String
:
Any
]
=
[:]
var
applicant
:
[
String
:
Any
]
=
[:]
for
(
index0
,
item0
)
in
item
.
arrQuestionItem
.
enumerated
()
{
for
(
index0
,
item0
)
in
item
.
arrQuestionItem
.
enumerated
()
{
if
index0
==
0
{
if
index0
==
0
{
let
value
=
[
"has"
:
item0
.
answer
,
"info"
:
item0
.
answer
==
"Y"
?
item0
.
info
:
""
]
if
item0
.
answer
==
"Y"
{
applicant
.
updateValue
(
value
,
forKey
:
"has_conviction"
)
applicant
.
updateValue
(
item0
.
info
.
count
>
0
?
1
:
2
,
forKey
:
"deny"
)
applicant
.
updateValue
(
item0
.
info
,
forKey
:
"denyContent"
)
}
else
if
item0
.
answer
==
"N"
{
applicant
.
updateValue
(
0
,
forKey
:
"deny"
)
applicant
.
updateValue
(
""
,
forKey
:
"denyContent"
)
}
}
else
if
index0
==
1
{
}
else
if
index0
==
1
{
let
value
=
[
"has"
:
item0
.
answer
,
"info"
:
item0
.
answer
==
"Y"
?
item0
.
info
:
""
]
if
item0
.
answer
==
"Y"
{
applicant
.
updateValue
(
value
,
forKey
:
"has_departure"
)
applicant
.
updateValue
(
item0
.
info
.
count
>
0
?
1
:
2
,
forKey
:
"crime"
)
}
else
if
index0
==
2
{
applicant
.
updateValue
(
item0
.
info
,
forKey
:
"crimeContent"
)
let
value
=
[
"has"
:
item0
.
answer
,
"info"
:
item0
.
answer
==
"Y"
?
item0
.
info
:
""
]
}
else
if
item0
.
answer
==
"N"
{
applicant
.
updateValue
(
value
,
forKey
:
"has_deny"
)
applicant
.
updateValue
(
0
,
forKey
:
"crime"
)
}
else
if
index0
==
3
{
applicant
.
updateValue
(
""
,
forKey
:
"crimeContent"
)
let
value
=
[
"has"
:
item0
.
answer
,
"info"
:
item0
.
answer
==
"Y"
?
item0
.
info
:
""
]
}
applicant
.
updateValue
(
value
,
forKey
:
"has_breaking_law"
)
}
else
if
index0
==
4
{
let
value
=
[
"has"
:
item0
.
answer
,
"info"
:
item0
.
answer
==
"Y"
?
item0
.
info
:
""
]
applicant
.
updateValue
(
value
,
forKey
:
"has_other_id"
)
}
else
{
}
else
{
printLog
(
"其他数据没有处理"
)
printLog
(
"其他数据没有处理"
)
}
}
...
@@ -153,17 +154,27 @@ extension YHGCBasicInfoFillViewController {
...
@@ -153,17 +154,27 @@ extension YHGCBasicInfoFillViewController {
var
applicant
:
[
String
:
Any
]
=
[:]
var
applicant
:
[
String
:
Any
]
=
[:]
for
(
index0
,
item0
)
in
item
.
arrQuestionItem
.
enumerated
()
{
for
(
index0
,
item0
)
in
item
.
arrQuestionItem
.
enumerated
()
{
if
index0
==
0
{
if
index0
==
0
{
let
value
=
[
"has"
:
item0
.
answer
,
"info"
:
item0
.
answer
==
"Y"
?
item0
.
info
:
""
]
if
item0
.
answer
==
"Y"
{
applicant
.
updateValue
(
value
,
forKey
:
"child_departure"
)
applicant
.
updateValue
(
item0
.
info
.
count
>
0
?
1
:
2
,
forKey
:
"deny"
)
applicant
.
updateValue
(
item0
.
info
,
forKey
:
"denyContent"
)
}
else
if
item0
.
answer
==
"N"
{
applicant
.
updateValue
(
0
,
forKey
:
"deny"
)
applicant
.
updateValue
(
""
,
forKey
:
"denyContent"
)
}
}
else
if
index0
==
1
{
}
else
if
index0
==
1
{
let
value
=
[
"has"
:
item0
.
answer
,
"info"
:
item0
.
answer
==
"Y"
?
item0
.
info
:
""
]
if
item0
.
answer
==
"Y"
{
applicant
.
updateValue
(
value
,
forKey
:
"child_deny"
)
applicant
.
updateValue
(
item0
.
info
.
count
>
0
?
1
:
2
,
forKey
:
"crime"
)
applicant
.
updateValue
(
item0
.
info
,
forKey
:
"crimeContent"
)
}
else
if
item0
.
answer
==
"N"
{
applicant
.
updateValue
(
0
,
forKey
:
"crime"
)
applicant
.
updateValue
(
""
,
forKey
:
"crimeContent"
)
}
}
else
{
}
else
{
printLog
(
"其他数据没有处理"
)
printLog
(
"其他数据没有处理"
)
}
}
}
}
applicant
.
updateValue
(
basicInfoVM
.
dataModelForBasicInfo
?
.
spouse
?
.
id
??
0
,
forKey
:
"id"
)
applicant
.
updateValue
(
basicInfoVM
.
dataModelForBasicInfo
?
.
spouse
?
.
id
??
0
,
forKey
:
"id"
)
applicant
.
updateValue
(
basicInfoVM
.
dataModelForBasicInfo
?
.
spouse
?
.
subset_name
??
0
,
forKey
:
"subset_
name"
)
// applicant.updateValue(basicInfoVM.dataModelForBasicInfo?.spouse?.name ?? "", forKey: "
name")
param
.
updateValue
(
applicant
,
forKey
:
"spouse"
)
param
.
updateValue
(
applicant
,
forKey
:
"spouse"
)
}
else
if
item
.
sessionTitle
.
hasPrefix
(
"子女"
)
{
}
else
if
item
.
sessionTitle
.
hasPrefix
(
"子女"
)
{
var
arr
:
[[
String
:
Any
]]
=
[]
var
arr
:
[[
String
:
Any
]]
=
[]
...
@@ -174,33 +185,31 @@ extension YHGCBasicInfoFillViewController {
...
@@ -174,33 +185,31 @@ extension YHGCBasicInfoFillViewController {
var
applicant
:
[
String
:
Any
]
=
[:]
var
applicant
:
[
String
:
Any
]
=
[:]
for
(
index0
,
item0
)
in
item
.
arrQuestionItem
.
enumerated
()
{
for
(
index0
,
item0
)
in
item
.
arrQuestionItem
.
enumerated
()
{
if
index0
==
0
{
if
index0
==
0
{
let
value
=
[
"has"
:
item0
.
answer
,
"info"
:
item0
.
answer
==
"Y"
?
item0
.
info
:
""
]
if
item0
.
answer
==
"Y"
{
applicant
.
updateValue
(
value
,
forKey
:
"child_departure"
)
applicant
.
updateValue
(
item0
.
info
.
count
>
0
?
1
:
2
,
forKey
:
"deny"
)
applicant
.
updateValue
(
item0
.
info
,
forKey
:
"denyContent"
)
}
else
if
item0
.
answer
==
"N"
{
applicant
.
updateValue
(
0
,
forKey
:
"deny"
)
applicant
.
updateValue
(
""
,
forKey
:
"denyContent"
)
}
}
else
if
index0
==
1
{
}
else
if
index0
==
1
{
let
value
=
[
"has"
:
item0
.
answer
,
"info"
:
item0
.
answer
==
"Y"
?
item0
.
info
:
""
]
if
item0
.
answer
==
"Y"
{
applicant
.
updateValue
(
value
,
forKey
:
"child_deny"
)
applicant
.
updateValue
(
item0
.
info
.
count
>
0
?
1
:
2
,
forKey
:
"crime"
)
applicant
.
updateValue
(
item0
.
info
,
forKey
:
"crimeContent"
)
}
else
if
item0
.
answer
==
"N"
{
applicant
.
updateValue
(
0
,
forKey
:
"crime"
)
applicant
.
updateValue
(
""
,
forKey
:
"crimeContent"
)
}
}
else
{
}
else
{
printLog
(
"其他数据没有处理"
)
printLog
(
"其他数据没有处理"
)
}
}
}
}
applicant
.
updateValue
(
item
.
m
odel
?
.
id
??
0
,
forKey
:
"id"
)
applicant
.
updateValue
(
item
.
gcM
odel
?
.
id
??
0
,
forKey
:
"id"
)
applicant
.
updateValue
(
item
.
model
?
.
subset_name
??
""
,
forKey
:
"subset_
name"
)
// applicant.updateValue(item.gcModel?.name ?? "", forKey: "
name")
arr
.
append
(
applicant
)
arr
.
append
(
applicant
)
param
.
updateValue
(
arr
,
forKey
:
"child"
)
param
.
updateValue
(
arr
,
forKey
:
"child"
)
}
else
if
item
.
sessionTitle
==
"家庭背景"
{
var
applicant
:
[
String
:
Any
]
=
[:]
for
(
index0
,
item0
)
in
item
.
arrQuestionItem
.
enumerated
()
{
if
index0
==
0
{
let
value
=
[
"has"
:
item0
.
answer
,
"info"
:
item0
.
answer
==
"Y"
?
item0
.
info
:
""
]
applicant
.
updateValue
(
value
,
forKey
:
"background_member"
)
}
else
{
printLog
(
"其他数据没有处理"
)
}
}
param
.
updateValue
(
applicant
,
forKey
:
"background"
)
}
else
{
}
}
}
}
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/TTPS(高才)/ServiceProcess(我的信息流程)/BaseInformation(基本资料)/M/YHGCBasicInfoFillModel.swift
0 → 100644
View file @
1290e8a9
//
// YHGCBasicInfoFillModel.swift
// galaxy
//
// Created by alexzzw on 2024/12/24.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
SmartCodable
import
UIKit
class
YHGCBasicInfoFillModel
:
SmartCodable
{
var
applicant
:
YHGCApplicantModel
?
var
spouse
:
YHGCApplicantModel
?
var
child
:
[
YHGCApplicantModel
]?
required
init
()
{
}
}
class
YHGCApplicantModel
:
SmartCodable
{
// deny 和 crime 如果是2那就是没填, 0 1 或者 2
var
deny
:
Int
=
0
var
denyContent
:
String
=
""
var
crime
:
Int
=
0
var
crimeContent
:
String
=
""
var
name
:
String
=
""
var
id
:
Int
=
0
required
init
()
{
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/TTPS(高才)/ServiceProcess(我的信息流程)/BaseInformation(基本资料)/VM/YHGCBasicInfoFillViewModel.swift
0 → 100644
View file @
1290e8a9
//
// YHGCBasicInfoFillViewModel.swift
// galaxy
//
// Created by alexzzw on 2024/12/24.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
class
YHGCBasicInfoFillViewModel
:
YHBaseViewModel
{
// UI层需要的数据源
var
arrBasicInfoSessionDataForEdit
:
[
YHBasicInfoSessionModel
]
=
[]
// 从网络请求的数据源
var
dataModelForBasicInfo
:
YHGCBasicInfoFillModel
?
{
didSet
{
assembleBasicInfoData
()
}
}
}
extension
YHGCBasicInfoFillViewModel
{
private
func
createOrgBasiceInfoData
()
{
var
arrData
:
[
YHBasicInfoSessionModel
]
=
[]
do
{
// 主申请人
let
model1
=
YHBasicInfoCellModel
(
question
:
"1、是否曾被拒绝签发签证或入境香港,或被遣返、遣送和要求离开香港?"
,
answer
:
""
,
info
:
""
)
let
model2
=
YHBasicInfoCellModel
(
question
:
"2、是否曾因任何罪行或违法行为在香港或其他地方被定罪?"
,
answer
:
""
,
info
:
""
)
let
arr
=
[
model1
,
model2
]
let
sessionModel
=
YHBasicInfoSessionModel
(
sessionTitle
:
"主申请人"
,
arrQuestionItem
:
arr
)
arrData
.
append
(
sessionModel
)
}
do
{
// 配偶
let
model1
=
YHBasicInfoCellModel
(
question
:
"1、是否曾被拒绝签发签证或入境香港,或被遣返、遣送和要求离开香港?"
,
answer
:
""
,
info
:
""
)
let
model2
=
YHBasicInfoCellModel
(
question
:
"2、是否曾因任何罪行或违法行为在香港或其他地方被定罪?"
,
answer
:
""
,
info
:
""
)
let
arr
=
[
model1
,
model2
]
let
sessionModel
=
YHBasicInfoSessionModel
(
sessionTitle
:
"配偶"
,
arrQuestionItem
:
arr
)
arrData
.
append
(
sessionModel
)
}
do
{
// 子女 - xxx
let
model1
=
YHBasicInfoCellModel
(
question
:
"1、是否曾被拒绝签发签证或入境香港,或被遣返、遣送和要求离开香港?"
,
answer
:
""
,
info
:
""
)
let
model2
=
YHBasicInfoCellModel
(
question
:
"2、是否曾因任何罪行或违法行为在香港或其他地方被定罪?"
,
answer
:
""
,
info
:
""
)
let
arr
=
[
model1
,
model2
]
let
sessionModel
=
YHBasicInfoSessionModel
(
sessionTitle
:
"子女 - xxx"
,
arrQuestionItem
:
arr
)
arrData
.
append
(
sessionModel
)
}
arrBasicInfoSessionDataForEdit
=
arrData
}
// 根据网络数据 组装数据
private
func
assembleBasicInfoData
()
{
guard
let
dataModelForBasicInfo
=
dataModelForBasicInfo
else
{
createOrgBasiceInfoData
()
return
}
var
arrData
:
[
YHBasicInfoSessionModel
]
=
[]
do
{
// 主申请人
if
let
model
=
dataModelForBasicInfo
.
applicant
{
let
answer1
=
model
.
deny
==
0
?
"N"
:
"Y"
let
model1
=
YHBasicInfoCellModel
(
question
:
"1、是否曾被拒绝签发签证或入境香港,或被遣返、遣送和要求离开香港?"
,
answer
:
answer1
,
info
:
model
.
denyContent
)
let
answer2
=
model
.
crime
==
0
?
"N"
:
"Y"
let
model2
=
YHBasicInfoCellModel
(
question
:
"2、是否曾因任何罪行或违法行为在香港或其他地方被定罪?"
,
answer
:
answer2
,
info
:
model
.
crimeContent
)
let
arr
=
[
model1
,
model2
]
let
sessionModel
=
YHBasicInfoSessionModel
(
sessionTitle
:
"主申请人"
,
arrQuestionItem
:
arr
)
arrData
.
append
(
sessionModel
)
}
}
do
{
// 配偶
if
let
spouse
=
dataModelForBasicInfo
.
spouse
{
let
answer1
=
spouse
.
deny
==
0
?
"N"
:
"Y"
let
model1
=
YHBasicInfoCellModel
(
question
:
"1、是否曾被拒绝签发签证或入境香港,或被遣返、遣送和要求离开香港?"
,
answer
:
answer1
,
info
:
spouse
.
denyContent
)
let
answer2
=
spouse
.
crime
==
0
?
"N"
:
"Y"
let
model2
=
YHBasicInfoCellModel
(
question
:
"2、是否曾因任何罪行或违法行为在香港或其他地方被定罪?"
,
answer
:
answer2
,
info
:
spouse
.
crimeContent
)
let
arr
=
[
model1
,
model2
]
let
sessionModel
=
YHBasicInfoSessionModel
(
sessionTitle
:
"配偶"
,
arrQuestionItem
:
arr
)
arrData
.
append
(
sessionModel
)
}
}
do
{
// 子女 - xxx
if
let
arrChild
=
dataModelForBasicInfo
.
child
{
for
item
in
arrChild
{
let
answer1
=
item
.
deny
==
0
?
"N"
:
"Y"
let
model1
=
YHBasicInfoCellModel
(
question
:
"1、是否曾被拒绝签发签证或入境香港,或被遣返、遣送和要求离开香港?"
,
answer
:
answer1
,
info
:
item
.
denyContent
)
let
answer2
=
item
.
crime
==
0
?
"N"
:
"Y"
let
model2
=
YHBasicInfoCellModel
(
question
:
"2、是否曾因任何罪行或违法行为在香港或其他地方被定罪?"
,
answer
:
answer2
,
info
:
item
.
crimeContent
)
let
arr
=
[
model1
,
model2
]
let
title
=
"子女"
+
"-"
+
item
.
name
let
sessionModel
=
YHBasicInfoSessionModel
(
sessionTitle
:
title
,
arrQuestionItem
:
arr
)
sessionModel
.
gcModel
=
item
arrData
.
append
(
sessionModel
)
}
}
}
arrBasicInfoSessionDataForEdit
=
arrData
}
}
extension
YHGCBasicInfoFillViewModel
{
// 获取基本资料信息
func
getBasicInfo
(
params
:
[
String
:
Any
],
callBackBlock
:
@escaping
(
_
success
:
Bool
,
_
error
:
YHErrorModel
?)
->
Void
)
{
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
YHAllApiName
.
GCBasics
.
basicInfoApi
_
=
YHNetRequest
.
getRequest
(
url
:
strUrl
,
params
:
params
)
{
[
weak
self
]
json
,
_
in
// 1. json字符串 转 对象
guard
let
self
=
self
else
{
return
}
printLog
(
"model 是 ==>
\(
json
)
"
)
if
json
.
code
==
200
{
guard
let
dic
=
json
.
data
?
.
peel
as?
[
String
:
Any
],
let
resultModel
=
YHGCBasicInfoFillModel
.
deserialize
(
from
:
dic
)
else
{
callBackBlock
(
false
,
nil
)
return
}
self
.
dataModelForBasicInfo
=
resultModel
// 根据返回值 组装 真实的数据
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
saveBasicInfo
(
params
:
[
String
:
Any
],
callBackBlock
:
@escaping
(
_
success
:
Bool
,
_
error
:
YHErrorModel
?)
->
Void
)
{
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
YHAllApiName
.
GCBasics
.
updateBasicInfoApi
_
=
YHNetRequest
.
postRequest
(
url
:
strUrl
,
params
:
params
)
{
[
weak
self
]
json
,
_
in
// 1. json字符串 转 对象
guard
self
!=
nil
else
{
return
}
printLog
(
"model 是 ==>
\(
json
)
"
)
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
)
}
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/TTPS(高才)/ServiceProcess(我的信息流程)/Education&Qualification(学历专业资格填写)/C/YHGCEducationInfoListVC.swift
View file @
1290e8a9
...
@@ -124,7 +124,7 @@ class YHGCEducationInfoListVC: YHBaseViewController {
...
@@ -124,7 +124,7 @@ class YHGCEducationInfoListVC: YHBaseViewController {
isDegreeEditMode
=
.
none
isDegreeEditMode
=
.
none
}
}
// 新增学历信息
// 新增学历信息
arr0
.
append
(
YHFormAddItem
(
type
:
.
addEducation
))
//
arr0.append(YHFormAddItem(type: .addEducation))
items
.
append
(
arr0
)
items
.
append
(
arr0
)
// 主申请人专业资格及会员资格
// 主申请人专业资格及会员资格
...
@@ -316,7 +316,7 @@ extension YHGCEducationInfoListVC : UITableViewDelegate, UITableViewDataSource {
...
@@ -316,7 +316,7 @@ extension YHGCEducationInfoListVC : UITableViewDelegate, UITableViewDataSource {
if
let
college
=
eduInfo
.
college
,
!
college
.
isEmpty
{
if
let
college
=
eduInfo
.
college
,
!
college
.
isEmpty
{
cell
.
title
=
eduInfo
.
college
cell
.
title
=
eduInfo
.
college
}
else
{
}
else
{
cell
.
title
=
"学历
标题
"
.
local
cell
.
title
=
"学历"
.
local
}
}
let
tips
=
String
(
format
:
"有%d项未填"
,
eduInfo
.
vacantNum
)
let
tips
=
String
(
format
:
"有%d项未填"
,
eduInfo
.
vacantNum
)
cell
.
detailLabel
.
text
=
tips
cell
.
detailLabel
.
text
=
tips
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/TTPS(高才)/ServiceProcess(我的信息流程)/FamilyMember(家庭成员)/C/Child(子女)/YHGCChildPrimaryInfoVC.swift
View file @
1290e8a9
...
@@ -75,7 +75,9 @@ class YHGCChildPrimaryInfoVC: YHBaseViewController, YHFamilyMemberProtol {
...
@@ -75,7 +75,9 @@ class YHGCChildPrimaryInfoVC: YHBaseViewController, YHFamilyMemberProtol {
// 居住信息
// 居住信息
let
title2
=
YHFormTitleItem
(
type
:
.
liveInfo
)
let
title2
=
YHFormTitleItem
(
type
:
.
liveInfo
)
let
item20
=
YHFormDetailItem
(
type
:
.
isLiveTother
,
value
:
String
(
child
.
isLiveTother
()))
let
item20
=
YHFormDetailItem
(
type
:
.
isLiveTother
,
value
:
String
(
child
.
isLiveTother
()))
var
arr2
:
[
YHFormItemProtocol
]
=
[
title2
,
item20
]
let
item21
=
YHFormDetailItem
(
type
:
.
permanentResidenceStatus
,
value
:
String
(
child
.
havePermanentResidency
))
item21
.
tips
=
"请选择"
var
arr2
:
[
YHFormItemProtocol
]
=
[
title2
,
item20
,
item21
]
if
!
child
.
isLiveTother
()
{
// 不同住 才需填写国家/地区
if
!
child
.
isLiveTother
()
{
// 不同住 才需填写国家/地区
let
item21
=
YHFormDetailItem
(
type
:
.
nationOrArea
,
value
:
child
.
address
.
country
,
tips
:
"请选择国家/地区"
.
local
)
let
item21
=
YHFormDetailItem
(
type
:
.
nationOrArea
,
value
:
child
.
address
.
country
,
tips
:
"请选择国家/地区"
.
local
)
...
@@ -194,6 +196,7 @@ class YHGCChildPrimaryInfoVC: YHBaseViewController, YHFamilyMemberProtol {
...
@@ -194,6 +196,7 @@ class YHGCChildPrimaryInfoVC: YHBaseViewController, YHFamilyMemberProtol {
||
detailItem
.
type
==
.
ownCustody
||
detailItem
.
type
==
.
ownCustody
||
detailItem
.
type
==
.
isLiveTother
||
detailItem
.
type
==
.
isLiveTother
||
detailItem
.
type
==
.
isLiveOverSeasMore1Year
||
detailItem
.
type
==
.
isLiveOverSeasMore1Year
||
detailItem
.
type
==
.
permanentResidenceStatus
{
{
return
.
twoChoice
return
.
twoChoice
}
}
...
@@ -244,10 +247,12 @@ extension YHGCChildPrimaryInfoVC : UITableViewDelegate, UITableViewDataSource {
...
@@ -244,10 +247,12 @@ extension YHGCChildPrimaryInfoVC : UITableViewDelegate, UITableViewDataSource {
cell
.
enableEdit
=
true
cell
.
enableEdit
=
true
cell
.
disableEditTips
=
nil
cell
.
disableEditTips
=
nil
var
select
=
false
var
isShowTips
=
detailItem
.
isShowTips
if
let
value
=
detailItem
.
value
{
if
detailItem
.
type
==
.
permanentResidenceStatus
{
select
=
Bool
(
value
)
!
isShowTips
=
((
child
?
.
isHavePermanentResidenceStatus
())
==
nil
)
}
}
cell
.
setTips
(
detailItem
.
tips
,
isShow
:
isNeedShowError
&&
isShowTips
)
if
detailItem
.
type
==
.
isAccompanyToHK
,
let
child
=
child
,
child
.
is18YearsOld
()
{
// 是否随行至香港
if
detailItem
.
type
==
.
isAccompanyToHK
,
let
child
=
child
,
child
.
is18YearsOld
()
{
// 是否随行至香港
// 年满18岁不能随行 随行按钮不可编辑固定为否
// 年满18岁不能随行 随行按钮不可编辑固定为否
...
@@ -255,8 +260,39 @@ extension YHGCChildPrimaryInfoVC : UITableViewDelegate, UITableViewDataSource {
...
@@ -255,8 +260,39 @@ extension YHGCChildPrimaryInfoVC : UITableViewDelegate, UITableViewDataSource {
cell
.
disableEditTips
=
"年满十八岁的子女不能随行至香港"
cell
.
disableEditTips
=
"年满十八岁的子女不能随行至香港"
}
}
if
detailItem
.
type
==
.
permanentResidenceStatus
{
// 永久居留身份
var
isSelectYES
=
false
var
isSelectNO
=
false
if
let
value
=
detailItem
.
value
,
let
status
=
Int
(
value
)
{
if
status
==
2
{
isSelectYES
=
false
isSelectNO
=
false
}
else
if
status
==
1
{
isSelectYES
=
true
isSelectNO
=
false
}
else
if
status
==
0
{
isSelectYES
=
false
isSelectNO
=
true
}
}
let
answers
=
[
YHFormChoiceItem
(
title
:
"是"
.
local
,
isSelect
:
isSelectYES
),
YHFormChoiceItem
(
title
:
"否"
.
local
,
isSelect
:
isSelectNO
)]
cell
.
answerArr
=
answers
}
else
{
var
select
=
false
if
let
value
=
detailItem
.
value
{
select
=
Bool
(
value
)
!
}
let
answers
=
[
YHFormChoiceItem
(
title
:
"是"
.
local
,
isSelect
:
select
),
YHFormChoiceItem
(
title
:
"否"
.
local
,
isSelect
:
!
select
)]
let
answers
=
[
YHFormChoiceItem
(
title
:
"是"
.
local
,
isSelect
:
select
),
YHFormChoiceItem
(
title
:
"否"
.
local
,
isSelect
:
!
select
)]
cell
.
answerArr
=
answers
cell
.
answerArr
=
answers
}
cell
.
answerBlock
=
{
cell
.
answerBlock
=
{
...
@@ -286,7 +322,11 @@ extension YHGCChildPrimaryInfoVC : UITableViewDelegate, UITableViewDataSource {
...
@@ -286,7 +322,11 @@ extension YHGCChildPrimaryInfoVC : UITableViewDelegate, UITableViewDataSource {
}
else
if
detailItem
.
type
==
.
ownCustody
{
// 抚养权
}
else
if
detailItem
.
type
==
.
ownCustody
{
// 抚养权
self
.
child
?
.
setOwnCustody
(
option
)
self
.
child
?
.
setOwnCustody
(
option
)
}
else
if
detailItem
.
type
==
.
permanentResidenceStatus
{
// 永久居留身份
self
.
child
?
.
setHavePermanentResidenceStatus
(
option
)
}
}
self
.
loadInfo
()
self
.
loadInfo
()
save
()
save
()
}
}
...
@@ -507,6 +547,10 @@ extension YHGCChildPrimaryInfoVC {
...
@@ -507,6 +547,10 @@ extension YHGCChildPrimaryInfoVC {
return
false
return
false
}
}
if
child
.
isHavePermanentResidenceStatus
()
==
nil
{
return
false
}
if
!
child
.
isLiveTother
()
{
// 没有与主申请人同住
if
!
child
.
isLiveTother
()
{
// 没有与主申请人同住
if
isEmptyString
(
child
.
address
.
country
)
{
if
isEmptyString
(
child
.
address
.
country
)
{
return
false
return
false
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/TTPS(高才)/ServiceProcess(我的信息流程)/FamilyMember(家庭成员)/C/Spouse(配偶)/YHGCSpousePrimaryInfoVC.swift
View file @
1290e8a9
...
@@ -81,8 +81,9 @@ class YHGCSpousePrimaryInfoVC: YHBaseViewController, YHFamilyMemberProtol {
...
@@ -81,8 +81,9 @@ class YHGCSpousePrimaryInfoVC: YHBaseViewController, YHFamilyMemberProtol {
let
item20
=
YHFormDetailItem
(
type
:
.
isLiveTother
,
value
:
String
(
spouse
.
isLiveTother
()))
let
item20
=
YHFormDetailItem
(
type
:
.
isLiveTother
,
value
:
String
(
spouse
.
isLiveTother
()))
arr2
.
append
(
item20
)
arr2
.
append
(
item20
)
// let item21 = YHFormDetailItem(type:.permanentResidenceStatus, value: "")
let
item21
=
YHFormDetailItem
(
type
:
.
permanentResidenceStatus
,
value
:
String
(
spouse
.
havePermanentResidency
))
// arr2.append(item21)
item21
.
tips
=
"请选择"
arr2
.
append
(
item21
)
if
!
spouse
.
isLiveTother
()
{
// 不同住 才需填写国家/地区
if
!
spouse
.
isLiveTother
()
{
// 不同住 才需填写国家/地区
...
@@ -212,14 +213,47 @@ extension YHGCSpousePrimaryInfoVC : UITableViewDelegate, UITableViewDataSource {
...
@@ -212,14 +213,47 @@ extension YHGCSpousePrimaryInfoVC : UITableViewDelegate, UITableViewDataSource {
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHFormItemDoubleChoiceCell
.
cellReuseIdentifier
,
for
:
indexPath
)
as!
YHFormItemDoubleChoiceCell
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHFormItemDoubleChoiceCell
.
cellReuseIdentifier
,
for
:
indexPath
)
as!
YHFormItemDoubleChoiceCell
cell
.
isMust
=
detailItem
.
isNeed
cell
.
isMust
=
detailItem
.
isNeed
cell
.
title
=
detailItem
.
getTitle
()
cell
.
title
=
detailItem
.
getTitle
()
cell
.
setTips
(
detailItem
.
tips
,
isShow
:
isNeedShowError
&&
detailItem
.
isShowTips
)
var
isShowTips
=
detailItem
.
isShowTips
if
detailItem
.
type
==
.
permanentResidenceStatus
{
isShowTips
=
((
spouse
?
.
isHavePermanentResidenceStatus
())
==
nil
)
}
cell
.
setTips
(
detailItem
.
tips
,
isShow
:
isNeedShowError
&&
isShowTips
)
if
detailItem
.
type
==
.
permanentResidenceStatus
{
// 永久居留身份
var
isSelectYES
=
false
var
isSelectNO
=
false
if
let
value
=
detailItem
.
value
,
let
status
=
Int
(
value
)
{
if
status
==
2
{
isSelectYES
=
false
isSelectNO
=
false
}
else
if
status
==
1
{
isSelectYES
=
true
isSelectNO
=
false
}
else
if
status
==
0
{
isSelectYES
=
false
isSelectNO
=
true
}
}
let
answers
=
[
YHFormChoiceItem
(
title
:
"是"
.
local
,
isSelect
:
isSelectYES
),
YHFormChoiceItem
(
title
:
"否"
.
local
,
isSelect
:
isSelectNO
)]
cell
.
answerArr
=
answers
}
else
{
var
select
=
false
var
select
=
false
if
let
value
=
detailItem
.
value
{
if
let
value
=
detailItem
.
value
{
select
=
Bool
(
value
)
!
select
=
Bool
(
value
)
!
}
}
let
answers
=
[
YHFormChoiceItem
(
title
:
"是"
.
local
,
isSelect
:
select
),
YHFormChoiceItem
(
title
:
"否"
.
local
,
isSelect
:
!
select
)]
let
answers
=
[
YHFormChoiceItem
(
title
:
"是"
.
local
,
isSelect
:
select
),
YHFormChoiceItem
(
title
:
"否"
.
local
,
isSelect
:
!
select
)]
cell
.
answerArr
=
answers
cell
.
answerArr
=
answers
}
cell
.
answerBlock
=
{
cell
.
answerBlock
=
{
...
@@ -251,9 +285,15 @@ extension YHGCSpousePrimaryInfoVC : UITableViewDelegate, UITableViewDataSource {
...
@@ -251,9 +285,15 @@ extension YHGCSpousePrimaryInfoVC : UITableViewDelegate, UITableViewDataSource {
}
else
if
detailItem
.
type
==
.
isLiveOverSeasMore1Year
{
// 是否在海外居住满1年及以上
}
else
if
detailItem
.
type
==
.
isLiveOverSeasMore1Year
{
// 是否在海外居住满1年及以上
self
.
spouse
?
.
setOverSearsOver1Year
(
option
)
self
.
spouse
?
.
setOverSearsOver1Year
(
option
)
self
.
loadInfo
()
self
.
loadInfo
()
}
else
if
detailItem
.
type
==
.
isLiveOverSeasMore1Year
{
// 是否在海外居住满1年及以上
}
else
if
detailItem
.
type
==
.
isLiveOverSeasMore1Year
{
// 是否在海外居住满1年及以上
self
.
spouse
?
.
setOverSearsOver1Year
(
option
)
self
.
spouse
?
.
setOverSearsOver1Year
(
option
)
self
.
loadInfo
()
self
.
loadInfo
()
}
else
if
detailItem
.
type
==
.
permanentResidenceStatus
{
// 永久居留身份
self
.
spouse
?
.
setHavePermanentResidenceStatus
(
option
)
self
.
loadInfo
()
}
}
save
()
save
()
}
}
...
@@ -446,6 +486,10 @@ extension YHGCSpousePrimaryInfoVC : UITableViewDelegate, UITableViewDataSource {
...
@@ -446,6 +486,10 @@ extension YHGCSpousePrimaryInfoVC : UITableViewDelegate, UITableViewDataSource {
return
false
return
false
}
}
if
spouse
.
isHavePermanentResidenceStatus
()
==
nil
{
return
false
}
if
!
spouse
.
isLiveTother
()
{
// 没有与主申请人同住
if
!
spouse
.
isLiveTother
()
{
// 没有与主申请人同住
if
isEmptyString
(
spouse
.
address
.
country
)
{
if
isEmptyString
(
spouse
.
address
.
country
)
{
return
false
return
false
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/TTPS(高才)/ServiceProcess(我的信息流程)/FamilyMember(家庭成员)/C/YHGCFamilyMemberInfoListVC.swift
View file @
1290e8a9
...
@@ -251,6 +251,7 @@ extension YHGCFamilyMemberInfoListVC {
...
@@ -251,6 +251,7 @@ extension YHGCFamilyMemberInfoListVC {
"next"
:
false
,
"next"
:
false
,
"info"
:[
"subset_name"
:
""
,
"info"
:[
"subset_name"
:
""
,
"not_fill_number"
:
-
1
,
"not_fill_number"
:
-
1
,
"have_permanent_residency"
:
2
,
"follow"
:
0
]]
"follow"
:
0
]]
self
.
familyRequest
.
addOrSaveFamilyMember
(
params
:
dict
)
{
[
weak
self
]
success
,
error
in
self
.
familyRequest
.
addOrSaveFamilyMember
(
params
:
dict
)
{
[
weak
self
]
success
,
error
in
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/TTPS(高才)/ServiceProcess(我的信息流程)/IncomeRecord(收入记录)/C/YHGCIncomeRecordViewController.swift
View file @
1290e8a9
...
@@ -8,30 +8,23 @@
...
@@ -8,30 +8,23 @@
import
IQKeyboardManagerSwift
import
IQKeyboardManagerSwift
import
AttributedString
import
AttributedString
import
SafariServices
import
UIKit
import
UIKit
class
YHGCIncomeRecordViewController
:
YHBaseViewController
{
class
YHGCIncomeRecordViewController
:
YHBaseViewController
{
enum
TableRow
{
enum
TableRow
{
case
incomeSummary
(
_
isEditing
:
Bool
=
false
,
_
isEditEnable
:
Bool
=
false
)
case
incomeSummary
case
incomeItem
(
_
isEditState
:
Bool
=
false
,
_
company
:
String
,
_
money
:
String
,
_
timeStr
:
String
,
_
incomeId
:
Int
,
_
showBottomLine
:
Bool
)
case
incomeItem
(
_
company
:
String
,
_
money
:
String
,
_
timeStr
:
String
,
_
incomeId
:
Int
,
_
showBottomLine
:
Bool
)
case
addItem
case
addItem
case
totalIncome
(
_
money
:
ASAttributedString
)
case
totalIncome
(
_
money
:
ASAttributedString
)
case
consentForHKTravel
(
_
title
:
String
,
_
detail
:
ASAttributedString
,
_
question
:
String
)
case
consentForHKTravel
(
_
title
:
String
,
_
detail
:
ASAttributedString
,
_
question
:
String
)
case
questionSelect
(
_
question
:
String
)
case
questionSelect
(
_
question
:
String
)
case
employmentVerification
case
employmentVerification
(
_
employments
:
[
YHWorkItemListModel
],
_
selectedId
:
Int
?)
case
workingHoursStatement
(
_
placeholder
:
String
,
_
detail
:
ASAttributedString
)
case
workingHoursStatement
(
_
placeholder
:
String
,
_
detail
:
ASAttributedString
,
_
content
:
String
)
}
}
private
lazy
var
datas
:
[[
TableRow
]]
=
[]
private
lazy
var
datas
:
[[
TableRow
]]
=
[]
private
lazy
var
viewModel
=
YHGCIncomeRecordViewModel
()
/// 是否超过
private
var
isOver100OK
=
true
private
var
over100IndexPath
:
IndexPath
?
private
var
selectedEmployment
:
String
?
private
var
employments
:
[
String
]
=
[
"华为科技有限公司有限公司"
,
"阿里巴巴有限公司"
]
private
lazy
var
viewModel
=
YHIncomeRecordViewModel
()
private
var
incomeModel
=
YHIncomeRecordCompleteModel
()
private
lazy
var
saveButton
:
UIButton
=
{
private
lazy
var
saveButton
:
UIButton
=
{
let
button
=
UIButton
(
type
:
.
custom
)
let
button
=
UIButton
(
type
:
.
custom
)
...
@@ -175,41 +168,69 @@ extension YHGCIncomeRecordViewController {
...
@@ -175,41 +168,69 @@ extension YHGCIncomeRecordViewController {
tableView
.
tableFooterView
=
UIView
(
frame
:
CGRect
(
x
:
0
,
y
:
0
,
width
:
KScreenWidth
,
height
:
44
))
tableView
.
tableFooterView
=
UIView
(
frame
:
CGRect
(
x
:
0
,
y
:
0
,
width
:
KScreenWidth
,
height
:
44
))
}
}
private
func
getCurrentRate
()
->
Double
{
let
configRate
=
Double
(
YHConfigManager
.
shared
.
reqVM
.
configModel
?
.
rate
??
""
)
??
0
let
rate
=
configRate
>
0
?
configRate
:
0.92
return
rate
}
private
func
setupData
()
{
private
func
setupData
()
{
let
hkdFormatter
=
currencyFormat
(
""
)
let
hkdFormatter
=
currencyFormat
(
""
)
var
money
:
Double
=
0
var
money
:
Double
=
0
var
firstSection
:
[
TableRow
]
=
[
.
incomeSummary
(
false
,
false
)]
var
firstSection
:
[
TableRow
]
=
[
.
incomeSummary
]
let
rate
=
self
.
incomeModel
.
rate
>
0
?
self
.
incomeModel
.
rate
:
0.92
let
rate
=
getCurrentRate
()
let
listCount
=
incomeModel
.
list
.
count
let
listCount
=
viewModel
.
listModel
.
count
incomeModel
.
list
.
enumerated
()
.
forEach
{
index
,
companyModel
in
money
+=
companyModel
.
income_money
viewModel
.
listModel
.
enumerated
()
.
forEach
{
index
,
companyModel
in
let
moneyStr
=
companyModel
.
income_money
==
0
?
""
:
"约"
+
(
hkdFormatter
.
string
(
from
:
NSNumber
(
value
:
companyModel
.
income_money
/
rate
))
??
"0"
)
+
"港币"
let
income
=
Double
(
companyModel
.
income
??
""
)
??
0
let
timeStr
:
String
=
companyModel
.
fill_status
?
"已填写"
:
"有
\(
companyModel
.
unfilled_count
)
项未填写"
money
+=
income
let
incomeItem
:
TableRow
=
.
incomeItem
(
false
,
companyModel
.
company_name
,
moneyStr
,
timeStr
,
companyModel
.
income_id
,
index
!=
listCount
-
1
)
let
moneyStr
=
income
==
0
?
""
:
"约"
+
(
hkdFormatter
.
string
(
from
:
NSNumber
(
value
:
income
/
rate
))
??
"0"
)
+
"港币"
let
vacantNum
=
companyModel
.
vacant_num
??
0
let
timeStr
:
String
=
vacantNum
==
0
?
"已填写"
:
"有
\(
vacantNum
)
项未填写"
let
incomeItem
:
TableRow
=
.
incomeItem
(
companyModel
.
company_name
??
""
,
moneyStr
,
timeStr
,
companyModel
.
id
??
0
,
index
!=
listCount
-
1
)
firstSection
.
append
(
incomeItem
)
firstSection
.
append
(
incomeItem
)
}
}
if
listCount
>
0
{
if
listCount
>
0
{
let
totalNum
=
hkdFormatter
.
string
(
from
:
NSNumber
(
value
:
money
/
rate
))
??
"0"
let
totalNum
=
hkdFormatter
.
string
(
from
:
NSNumber
(
value
:
money
/
rate
))
??
"0"
let
totalMoney
:
ASAttributedString
=
.
init
(
string
:
"约 "
,
.
font
(
.
PFSC_R
(
ofSize
:
14
)))
+
.
init
(
string
:
totalNum
,
.
font
(
UIFont
(
name
:
"DINAlternate-Bold"
,
size
:
20
)
??
UIFont
.
systemFont
(
ofSize
:
20
)))
+
.
init
(
string
:
" 港币"
,
.
font
(
.
PFSC_R
(
ofSize
:
14
)))
let
totalMoney
:
ASAttributedString
=
.
init
(
string
:
"约 "
,
.
font
(
.
PFSC_R
(
ofSize
:
14
)))
+
.
init
(
string
:
totalNum
,
.
font
(
UIFont
(
name
:
"DINAlternate-Bold"
,
size
:
20
)
??
UIFont
.
systemFont
(
ofSize
:
20
)))
+
.
init
(
string
:
" 港币"
,
.
font
(
.
PFSC_R
(
ofSize
:
14
)))
firstSection
.
append
(
.
totalIncome
(
totalMoney
))
firstSection
.
append
(
.
totalIncome
(
totalMoney
))
}
else
{
let
incomeItem
:
TableRow
=
.
incomeItem
(
false
,
"收入信息1"
,
""
,
"待填写"
,
0
,
false
)
firstSection
.
append
(
incomeItem
)
}
}
firstSection
.
append
(
.
addItem
)
firstSection
.
append
(
.
addItem
)
var
secondSection
:
[
TableRow
]
=
[]
if
viewModel
.
mainModel
.
has_work_time_overlap
==
1
{
let
tipsIcon
=
ASAttributedString
.
init
(
.
image
(
UIImage
(
named
:
"red_dot_6"
)
??
UIImage
(),
.
custom
(
.
offset
(
CGPoint
(
x
:
0
,
y
:
1
)),
size
:
.
init
(
width
:
6
,
height
:
6
))))
let
tipsIcon
=
ASAttributedString
.
init
(
.
image
(
UIImage
(
named
:
"red_dot_6"
)
??
UIImage
(),
.
custom
(
.
offset
(
CGPoint
(
x
:
0
,
y
:
1
)),
size
:
.
init
(
width
:
6
,
height
:
6
))))
let
tips
:
ASAttributedString
=
tipsIcon
+
.
init
(
string
:
" 检测到您的"
,
.
font
(
.
PFSC_R
(
ofSize
:
13
)),
.
foreground
(
UIColor
(
hexString
:
"#8993A2"
)
??
.
gray
))
+
.
init
(
string
:
"工作时间有重叠"
,
.
font
(
.
PFSC_R
(
ofSize
:
13
)),
.
foreground
(
UIColor
.
failColor
))
+
.
init
(
string
:
"。请确认是否正确填报,若填报无误请在此处说明工作时间重叠的原因~"
,
.
font
(
.
PFSC_R
(
ofSize
:
13
)),
.
foreground
(
UIColor
(
hexString
:
"#8993A2"
)
??
.
gray
))
let
tips
:
ASAttributedString
=
tipsIcon
+
.
init
(
string
:
" 检测到您的"
,
.
font
(
.
PFSC_R
(
ofSize
:
13
)),
.
foreground
(
UIColor
(
hexString
:
"#8993A2"
)
??
.
gray
))
+
.
init
(
string
:
"工作时间有重叠"
,
.
font
(
.
PFSC_R
(
ofSize
:
13
)),
.
foreground
(
UIColor
.
failColor
))
+
.
init
(
string
:
"。请确认是否正确填报,若填报无误请在此处说明工作时间重叠的原因~"
,
.
font
(
.
PFSC_R
(
ofSize
:
13
)),
.
foreground
(
UIColor
(
hexString
:
"#8993A2"
)
??
.
gray
))
let
secondSection
:
[
TableRow
]
=
[
.
workingHoursStatement
(
"如:工作时间灵活,可自由安排"
,
tips
)]
secondSection
.
append
(
.
workingHoursStatement
(
"如:工作时间灵活,可自由安排"
,
tips
,
viewModel
.
mainModel
.
why_work_time_overlap
))
}
var
thirdSection
:
[
TableRow
]
=
[]
if
viewModel
.
mainModel
.
is_consent_required
==
1
{
let
detail
:
ASAttributedString
=
.
init
(
string
:
"备注:赴港同意书为目前在职公司盖章提供,若目前未就职于任何公司,则由档案所在地人才中心盖章提供,"
,
.
font
(
UIFont
.
PFSC_R
(
ofSize
:
13
)),
.
foreground
(
UIColor
(
hexString
:
"#8993A2"
)
??
.
gray
))
let
detail
:
ASAttributedString
=
.
init
(
string
:
"备注:赴港同意书为目前在职公司盖章提供,若目前未就职于任何公司,则由档案所在地人才中心盖章提供,"
,
.
font
(
UIFont
.
PFSC_R
(
ofSize
:
13
)),
.
foreground
(
UIColor
(
hexString
:
"#8993A2"
)
??
.
gray
))
let
actionStr
=
ASAttributedString
.
init
(
string
:
"查看示例模板"
,
.
font
(
UIFont
.
PFSC_R
(
ofSize
:
13
)),
.
foreground
(
UIColor
.
brandMainColor
),
.
underline
(
.
init
(
rawValue
:
1
)),
.
action
{
let
actionStr
=
ASAttributedString
.
init
(
string
:
"查看示例模板"
,
.
font
(
UIFont
.
PFSC_R
(
ofSize
:
13
)),
.
foreground
(
UIColor
.
brandMainColor
),
.
underline
(
.
init
(
rawValue
:
1
)),
.
action
{
[
weak
self
]
in
//
guard
let
self
=
self
else
{
return
}
let
url
=
self
.
viewModel
.
mainModel
.
consent_template_url
guard
url
.
count
>
0
else
{
return
}
self
.
gotoPreview
(
url
)
})
})
thirdSection
.
append
(
.
consentForHKTravel
(
"赴港同意书提供"
,
detail
+
actionStr
,
"在职公司是否可以提供赴港同意书"
))
var
thirdSection
:
[
TableRow
]
=
[
.
consentForHKTravel
(
"赴港同意书提供"
,
detail
+
actionStr
,
"在职公司是否可以提供赴港同意书"
)]
if
viewModel
.
mainModel
.
has_company_consent
==
1
{
let
id
=
viewModel
.
mainModel
.
consent_work_id
>
0
?
viewModel
.
mainModel
.
consent_work_id
:
nil
thirdSection
.
append
(
.
employmentVerification
(
viewModel
.
listModel
,
id
))
}
else
{
thirdSection
.
append
(
.
questionSelect
(
"人才中心是否可以提供赴港同意书"
))
thirdSection
.
append
(
.
questionSelect
(
"人才中心是否可以提供赴港同意书"
))
thirdSection
.
append
(
.
employmentVerification
)
}
datas
=
[
firstSection
,
secondSection
,
thirdSection
]
}
datas
=
[
firstSection
]
if
secondSection
.
count
>
0
{
datas
.
append
(
secondSection
)
}
if
thirdSection
.
count
>
0
{
datas
.
append
(
thirdSection
)
}
tableView
.
reloadData
()
tableView
.
reloadData
()
}
}
...
@@ -220,6 +241,18 @@ extension YHGCIncomeRecordViewController {
...
@@ -220,6 +241,18 @@ extension YHGCIncomeRecordViewController {
formatter
.
maximumFractionDigits
=
0
formatter
.
maximumFractionDigits
=
0
return
formatter
return
formatter
}
}
private
func
gotoPreview
(
_
urlString
:
String
)
{
YHHUD
.
show
(
.
progress
(
message
:
"加载中..."
))
viewModel
.
getRealUsefulUrl
(
urlString
)
{
[
weak
self
]
resultUrl
in
YHHUD
.
hide
()
guard
let
self
=
self
,
let
url
=
URL
(
string
:
resultUrl
)
else
{
return
}
let
safariViewController
=
SFSafariViewController
(
url
:
url
)
safariViewController
.
dismissButtonStyle
=
.
close
safariViewController
.
modalPresentationStyle
=
.
fullScreen
self
.
present
(
safariViewController
,
animated
:
true
,
completion
:
nil
)
}
}
}
}
extension
YHGCIncomeRecordViewController
:
UITableViewDelegate
,
UITableViewDataSource
{
extension
YHGCIncomeRecordViewController
:
UITableViewDelegate
,
UITableViewDataSource
{
...
@@ -245,20 +278,32 @@ extension YHGCIncomeRecordViewController: UITableViewDelegate, UITableViewDataSo
...
@@ -245,20 +278,32 @@ extension YHGCIncomeRecordViewController: UITableViewDelegate, UITableViewDataSo
}
}
let
tableRow
=
sectionArr
[
indexPath
.
row
]
let
tableRow
=
sectionArr
[
indexPath
.
row
]
switch
tableRow
{
switch
tableRow
{
case
.
incomeSummary
:
case
let
.
incomeSummary
(
isEditState
,
isEditEnable
):
if
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHIncomeRecordSummaryCell
.
cellReuseIdentifier
)
as?
YHIncomeRecordSummaryCell
{
if
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHIncomeRecordSummaryCell
.
cellReuseIdentifier
)
as?
YHIncomeRecordSummaryCell
{
cell
.
setupCellInfo
(
isEditState
,
isEditEnable
,
showRightButton
:
false
)
cell
.
setupCellInfo
(
viewModel
.
formState
==
.
editing
,
true
,
showRightButton
:
true
)
cell
.
rightButtonClickEvent
=
{
[
weak
self
]
in
guard
let
self
=
self
else
{
return
}
self
.
viewModel
.
toggleEditingState
()
self
.
tableView
.
reloadSections
(
IndexSet
(
arrayLiteral
:
indexPath
.
section
),
with
:
.
automatic
)
}
return
cell
return
cell
}
}
case
let
.
incomeItem
(
isEditState
,
company
,
money
,
timeStr
,
_
,
showBottomLine
):
case
let
.
incomeItem
(
company
,
money
,
timeStr
,
id
,
showBottomLine
):
if
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHIncomeRecordItemCell
.
cellReuseIdentifier
)
as?
YHIncomeRecordItemCell
{
if
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHIncomeRecordItemCell
.
cellReuseIdentifier
)
as?
YHIncomeRecordItemCell
{
cell
.
setupCellInfo
(
title
:
company
,
detail
:
money
,
rightText
:
timeStr
,
isEditing
:
isEditState
,
showBottomLine
:
showBottomLine
)
cell
.
setupCellInfo
(
title
:
company
,
detail
:
money
,
rightText
:
timeStr
,
isEditing
:
viewModel
.
formState
==
.
editing
,
showBottomLine
:
showBottomLine
)
cell
.
deleteButtonClickEvent
=
{
[
weak
self
]
in
guard
let
self
=
self
else
{
return
}
self
.
showAlertWhenDeleteItem
(
id
:
id
,
name
:
company
)
}
return
cell
return
cell
}
}
case
let
.
totalIncome
(
money
):
case
let
.
totalIncome
(
money
):
if
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHTotalIncomeCell
.
cellReuseIdentifier
)
as?
YHTotalIncomeCell
{
if
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHTotalIncomeCell
.
cellReuseIdentifier
)
as?
YHTotalIncomeCell
{
cell
.
setupCellInfo
(
detail
:
money
)
cell
.
setupCellInfo
(
detail
:
money
,
cellType
:
.
mid
)
cell
.
didClickInfoButton
=
{
[
weak
self
,
weak
cell
]
in
cell
.
didClickInfoButton
=
{
[
weak
self
,
weak
cell
]
in
guard
let
self
=
self
else
{
guard
let
self
=
self
else
{
return
return
...
@@ -266,34 +311,34 @@ extension YHGCIncomeRecordViewController: UITableViewDelegate, UITableViewDataSo
...
@@ -266,34 +311,34 @@ extension YHGCIncomeRecordViewController: UITableViewDelegate, UITableViewDataSo
guard
let
cell
=
cell
else
{
guard
let
cell
=
cell
else
{
return
return
}
}
let
rate
=
self
.
incomeModel
.
rate
>
0
?
self
.
incomeModel
.
rate
:
0.92
let
rate
=
self
.
getCurrentRate
()
YHWholeScreenTipsView
.
show
(
type
:
.
hkdToRmbRateTips
(
"注:按1港币≈
\(
rate
)
人民币计算,实际金额按递交时入境处给出的汇率为准"
),
targetView
:
cell
.
infoButton
)
YHWholeScreenTipsView
.
show
(
type
:
.
hkdToRmbRateTips
(
"注:按1港币≈
\(
rate
)
人民币计算,实际金额按递交时入境处给出的汇率为准"
),
targetView
:
cell
.
infoButton
)
}
}
return
cell
return
cell
}
}
case
let
.
consentForHKTravel
(
title
,
detail
,
question
):
case
let
.
consentForHKTravel
(
title
,
detail
,
question
):
if
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHInfoConsentForHKTravelCell
.
cellReuseIdentifier
)
as?
YHInfoConsentForHKTravelCell
{
if
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHInfoConsentForHKTravelCell
.
cellReuseIdentifier
)
as?
YHInfoConsentForHKTravelCell
{
over100IndexPath
=
indexPath
let
isOK
=
viewModel
.
mainModel
.
has_company_consent
!=
0
cell
.
setupCellInfo
(
title
:
title
,
detail
:
detail
,
question
:
question
,
needShowFailButton
:
!
isO
ver100O
K
)
cell
.
setupCellInfo
(
title
:
title
,
detail
:
detail
,
question
:
question
,
needShowFailButton
:
!
isOK
)
cell
.
didSelectSureButton
=
{
[
weak
self
]
selected
in
cell
.
didSelectSureButton
=
{
[
weak
self
]
selected
in
guard
let
self
=
self
else
{
guard
let
self
=
self
else
{
return
return
}
}
switch
selected
{
switch
selected
{
case
.
true
:
case
.
true
:
self
.
incomeModel
.
income_over_100
=
YHIncomeOver100
.
true
.
rawValue
self
.
viewModel
.
mainModel
.
has_company_consent
=
YHCheckboxSelectType
.
true
.
rawValue
isOver100OK
=
true
break
case
.
false
:
case
.
false
:
self
.
incomeModel
.
income_over_100
=
YHIncomeOver100
.
false
.
rawValue
self
.
viewModel
.
mainModel
.
has_company_consent
=
YHCheckboxSelectType
.
false
.
rawValue
isOver100OK
=
true
break
case
.
unknown
:
case
.
unknown
:
self
.
incomeModel
.
income_over_100
=
YHIncomeOver100
.
unknown
.
rawValue
self
.
viewModel
.
mainModel
.
has_company_consent
=
YHCheckboxSelectType
.
unknown
.
rawValue
isOver100OK
=
false
break
}
}
self
.
setupData
()
self
.
setupData
()
}
}
let
over100Type
=
YHIncomeOver100
(
rawValue
:
incomeModel
.
income_over_100
)
??
.
unknown
let
selectType
=
YHCheckboxSelectType
(
rawValue
:
viewModel
.
mainModel
.
has_company_consent
)
??
.
unknown
switch
over100
Type
{
switch
select
Type
{
case
.
true
:
case
.
true
:
cell
.
selectedSureButton
=
.
true
cell
.
selectedSureButton
=
.
true
case
.
false
:
case
.
false
:
...
@@ -301,39 +346,45 @@ extension YHGCIncomeRecordViewController: UITableViewDelegate, UITableViewDataSo
...
@@ -301,39 +346,45 @@ extension YHGCIncomeRecordViewController: UITableViewDelegate, UITableViewDataSo
case
.
unknown
:
case
.
unknown
:
cell
.
selectedSureButton
=
.
unknown
cell
.
selectedSureButton
=
.
unknown
}
}
return
cell
return
cell
}
}
case
.
addItem
:
case
.
addItem
:
if
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHAddIncomeRecordCell
.
cellReuseIdentifier
)
as?
YHAddIncomeRecordCell
{
if
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHAddIncomeRecordCell
.
cellReuseIdentifier
)
as?
YHAddIncomeRecordCell
{
cell
.
addButtonClickEvent
=
{
cell
.
addButtonClickEvent
=
{
[
weak
self
]
in
//
guard
let
self
=
self
else
{
return
}
let
ctl
=
YHGCIncomeRecordWorkExperienceViewController
(
incomeId
:
0
)
ctl
.
submitSuccess
=
{
[
weak
self
]
in
guard
let
self
=
self
else
{
return
}
self
.
requestData
(
isNeedLoading
:
true
)
}
self
.
navigationController
?
.
pushViewController
(
ctl
,
animated
:
true
)
}
}
return
cell
return
cell
}
}
case
let
.
questionSelect
(
question
):
case
let
.
questionSelect
(
question
):
if
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHInfoQuestionSelectionCell
.
cellReuseIdentifier
)
as?
YHInfoQuestionSelectionCell
{
if
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHInfoQuestionSelectionCell
.
cellReuseIdentifier
)
as?
YHInfoQuestionSelectionCell
{
over100IndexPath
=
indexPath
let
isOK
=
viewModel
.
mainModel
.
has_center_consent
!=
0
cell
.
setupCellInfo
(
question
:
question
,
needShowFailButton
:
!
isO
ver100O
K
)
cell
.
setupCellInfo
(
question
:
question
,
needShowFailButton
:
!
isOK
)
cell
.
didSelectSureButton
=
{
[
weak
self
]
selected
in
cell
.
didSelectSureButton
=
{
[
weak
self
]
selected
in
guard
let
self
=
self
else
{
guard
let
self
=
self
else
{
return
return
}
}
switch
selected
{
switch
selected
{
case
.
true
:
case
.
true
:
self
.
incomeModel
.
income_over_100
=
YHIncomeOver100
.
true
.
rawValue
self
.
viewModel
.
mainModel
.
has_center_consent
=
YHCheckboxSelectType
.
true
.
rawValue
isOver100OK
=
true
case
.
false
:
case
.
false
:
self
.
incomeModel
.
income_over_100
=
YHIncomeOver100
.
false
.
rawValue
self
.
viewModel
.
mainModel
.
has_center_consent
=
YHCheckboxSelectType
.
false
.
rawValue
isOver100OK
=
true
case
.
unknown
:
case
.
unknown
:
self
.
incomeModel
.
income_over_100
=
YHIncomeOver100
.
unknown
.
rawValue
self
.
viewModel
.
mainModel
.
has_center_consent
=
YHCheckboxSelectType
.
unknown
.
rawValue
isOver100OK
=
false
}
}
self
.
setupData
()
self
.
setupData
()
}
}
let
over100Type
=
YHIncomeOver100
(
rawValue
:
incomeModel
.
income_over_100
)
??
.
unknown
let
selectType
=
YHCheckboxSelectType
(
rawValue
:
viewModel
.
mainModel
.
has_center_consent
)
??
.
unknown
switch
over100
Type
{
switch
select
Type
{
case
.
true
:
case
.
true
:
cell
.
selectedSureButton
=
.
true
cell
.
selectedSureButton
=
.
true
case
.
false
:
case
.
false
:
...
@@ -345,14 +396,17 @@ extension YHGCIncomeRecordViewController: UITableViewDelegate, UITableViewDataSo
...
@@ -345,14 +396,17 @@ extension YHGCIncomeRecordViewController: UITableViewDelegate, UITableViewDataSo
return
cell
return
cell
}
}
case
.
employmentVerification
:
case
let
.
employmentVerification
(
employments
,
selectedId
)
:
if
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHEmploymentVerificationAvailableCell
.
cellReuseIdentifier
)
as?
YHEmploymentVerificationAvailableCell
{
if
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHEmploymentVerificationAvailableCell
.
cellReuseIdentifier
)
as?
YHEmploymentVerificationAvailableCell
{
cell
.
setupCellInfo
(
detail
:
selectedEmployment
)
let
selectedEmployment
=
employments
.
first
{
model
in
model
.
id
==
selectedId
}
cell
.
setupCellInfo
(
detail
:
selectedEmployment
?
.
company_name
)
return
cell
return
cell
}
}
case
let
.
workingHoursStatement
(
placeholder
,
tips
):
case
let
.
workingHoursStatement
(
placeholder
,
tips
,
content
):
if
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHWorkingHoursStatementCell
.
cellReuseIdentifier
)
as?
YHWorkingHoursStatementCell
{
if
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHWorkingHoursStatementCell
.
cellReuseIdentifier
)
as?
YHWorkingHoursStatementCell
{
cell
.
setupCellInfo
(
placeholder
:
placeholder
,
remark
:
nil
,
detail
:
tips
,
isShowBottomLine
:
false
)
cell
.
setupCellInfo
(
placeholder
:
placeholder
,
remark
:
content
,
detail
:
tips
,
isShowBottomLine
:
false
)
return
cell
return
cell
}
}
}
}
...
@@ -381,20 +435,26 @@ extension YHGCIncomeRecordViewController: UITableViewDelegate, UITableViewDataSo
...
@@ -381,20 +435,26 @@ extension YHGCIncomeRecordViewController: UITableViewDelegate, UITableViewDataSo
return
return
}
}
let
tableRow
=
sectionArr
[
indexPath
.
row
]
let
tableRow
=
sectionArr
[
indexPath
.
row
]
if
case
let
.
incomeItem
(
_
,
_
,
_
,
_
,
incomeId
,
_
)
=
tableRow
{
if
case
let
.
incomeItem
(
_
,
_
,
_
,
incomeId
,
_
)
=
tableRow
{
let
ctl
=
YHGCIncomeRecordWorkExperienceViewController
(
incomeId
:
incomeId
)
let
ctl
=
YHGCIncomeRecordWorkExperienceViewController
(
incomeId
:
incomeId
)
ctl
.
submitSuccess
=
{
[
weak
self
]
in
ctl
.
submitSuccess
=
{
[
weak
self
]
in
guard
let
self
=
self
else
{
guard
let
self
=
self
else
{
return
return
}
}
self
.
requestData
(
isNeedLoading
:
true
,
lastSelectedIncomeOver100
:
self
.
incomeModel
.
income_over_100
)
self
.
requestData
(
isNeedLoading
:
true
)
}
}
navigationController
?
.
pushViewController
(
ctl
,
animated
:
true
)
navigationController
?
.
pushViewController
(
ctl
,
animated
:
true
)
}
else
if
case
.
employmentVerification
=
tableRow
{
}
else
if
case
let
.
employmentVerification
(
employments
,
selectedId
)
=
tableRow
{
guard
employments
.
count
>
1
else
{
guard
employments
.
count
>
1
else
{
return
return
}
}
YHDynamicSheetPickerView
.
show
(
dataSource
:
[
"华为科技有限公司有限公司"
,
"阿里巴巴有限公司"
],
title
:
"选择可提供的在职公司"
,
selectIndex
:
0
)
{
index
in
let
companies
=
employments
.
compactMap
{
$0
.
company_name
}
let
firstIndex
=
employments
.
firstIndex
{
model
in
model
.
id
==
selectedId
}
YHDynamicSheetPickerView
.
show
(
dataSource
:
companies
,
title
:
"选择可提供的在职公司"
,
selectIndex
:
firstIndex
??
0
)
{
index
in
//
//
}
}
}
}
...
@@ -402,15 +462,28 @@ extension YHGCIncomeRecordViewController: UITableViewDelegate, UITableViewDataSo
...
@@ -402,15 +462,28 @@ extension YHGCIncomeRecordViewController: UITableViewDelegate, UITableViewDataSo
}
}
extension
YHGCIncomeRecordViewController
{
extension
YHGCIncomeRecordViewController
{
private
func
checkInput
()
->
Bool
{
private
func
showAlertWhenDeleteItem
(
id
:
Int
,
name
:
String
)
{
if
incomeModel
.
income_over_100
==
YHIncomeOver100
.
unknown
.
rawValue
{
let
message0
:
ASAttributedString
=
.
init
(
string
:
"您确认要删除收入信息"
,
.
font
(
UIFont
.
PFSC_R
(
ofSize
:
16
)),
.
foreground
(
UIColor
.
mainTextColor
))
isOver100OK
=
false
let
message1
:
ASAttributedString
=
.
init
(
string
:
"【
\(
name
)
】"
,
.
font
(
UIFont
.
PFSC_M
(
ofSize
:
16
)),
.
foreground
(
UIColor
.
brandMainColor
))
if
let
over100IndexPath
=
over100IndexPath
,
tableView
.
numberOfSections
>
over100IndexPath
.
section
,
tableView
.
numberOfRows
(
inSection
:
over100IndexPath
.
section
)
>
over100IndexPath
.
row
{
let
message2
:
ASAttributedString
=
.
init
(
string
:
"吗?"
,
.
font
(
UIFont
.
PFSC_R
(
ofSize
:
16
)),
.
foreground
(
UIColor
.
mainTextColor
))
tableView
.
reloadRows
(
at
:
[
over100IndexPath
],
with
:
.
none
)
YHCommonAlertView
.
show
(
title
:
nil
,
attributedMessage
:
message0
+
message1
+
message2
,
"取消"
,
"确认"
,
fullGuestureEnable
:
false
)
{
}
callBack
:
{
[
weak
self
]
in
guard
let
self
=
self
else
{
return
}
}
return
false
self
.
deleteWorkItem
(
id
:
id
)
}
}
isOver100OK
=
true
}
private
func
checkInput
()
->
Bool
{
// if incomeModel.income_over_100 == YHIncomeOver100.unknown.rawValue {
// isOver100OK = false
// if let over100IndexPath = over100IndexPath, tableView.numberOfSections > over100IndexPath.section, tableView.numberOfRows(inSection: over100IndexPath.section) > over100IndexPath.row {
// tableView.reloadRows(at: [over100IndexPath], with: .none)
// }
// return false
// }
// isOver100OK = true
return
true
return
true
}
}
...
@@ -418,15 +491,14 @@ extension YHGCIncomeRecordViewController {
...
@@ -418,15 +491,14 @@ extension YHGCIncomeRecordViewController {
if
isNeedLoading
{
if
isNeedLoading
{
YHHUD
.
show
(
.
progress
(
message
:
"加载中..."
))
YHHUD
.
show
(
.
progress
(
message
:
"加载中..."
))
}
}
viewModel
.
getIncomeList
(
orderId
:
orderId
)
{
[
weak
self
]
income
Model
,
error
in
viewModel
.
requestWorkList
(
orderId
)
{
[
weak
self
]
work
Model
,
error
in
guard
let
self
=
self
else
{
guard
let
self
=
self
else
{
return
return
}
}
if
isNeedLoading
{
if
isNeedLoading
{
YHHUD
.
hide
()
YHHUD
.
hide
()
}
}
guard
let
incomeModel
=
incomeMode
l
else
{
guard
workModel
!=
ni
l
else
{
printLog
(
"YHGCIncomeRecordViewController: 请求失败"
)
printLog
(
"YHGCIncomeRecordViewController: 请求失败"
)
if
let
errorMsg
=
error
?
.
errorMsg
,
errorMsg
.
count
>
0
{
if
let
errorMsg
=
error
?
.
errorMsg
,
errorMsg
.
count
>
0
{
YHHUD
.
flash
(
message
:
errorMsg
)
YHHUD
.
flash
(
message
:
errorMsg
)
...
@@ -436,18 +508,16 @@ extension YHGCIncomeRecordViewController {
...
@@ -436,18 +508,16 @@ extension YHGCIncomeRecordViewController {
self
.
navigationController
?
.
popViewController
(
animated
:
true
)
self
.
navigationController
?
.
popViewController
(
animated
:
true
)
return
return
}
}
self
.
incomeModel
=
incomeModel
if
let
lastSelectedIncomeOver100
=
lastSelectedIncomeOver100
{
self
.
incomeModel
.
income_over_100
=
lastSelectedIncomeOver100
}
self
.
setupData
()
self
.
setupData
()
}
}
}
}
private
func
updateIncome
(
_
type
:
YHIncomeRecordUpdateType
)
{
private
func
updateIncome
(
_
type
:
YHIncomeRecordUpdateType
)
{
let
msg
=
type
==
.
save
?
"保存中..."
:
"提交中..."
let
msg
=
type
==
.
save
?
"保存中..."
:
"提交中..."
YHHUD
.
show
(
.
progress
(
message
:
msg
))
YHHUD
.
show
(
.
progress
(
message
:
msg
))
viewModel
.
incomeUpdate
(
orderId
:
orderId
,
incomeOver100
:
incomeModel
.
income_over_100
,
type
:
type
)
{
[
weak
self
]
success
,
error
in
let
isSubmit
:
Bool
=
type
==
.
save
?
false
:
true
viewModel
.
requestWorkTimeRemarkWorkExperience
(
orderId
,
isSubmit
)
{
[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
guard
let
self
=
self
else
{
return
return
}
}
...
@@ -465,4 +535,22 @@ extension YHGCIncomeRecordViewController {
...
@@ -465,4 +535,22 @@ extension YHGCIncomeRecordViewController {
}
}
}
}
}
}
private
func
deleteWorkItem
(
id
:
Int
)
{
YHHUD
.
show
(
.
progress
(
message
:
"加载中..."
))
viewModel
.
requestDeleteWorkExperience
(
id
,
orderId
)
{
[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
YHHUD
.
hide
()
if
success
{
self
.
requestData
(
isNeedLoading
:
true
)
}
else
{
printLog
(
"YHGCIncomeRecordViewController: 请求失败"
)
if
let
errorMsg
=
error
?
.
errorMsg
,
errorMsg
.
count
>
0
{
YHHUD
.
flash
(
message
:
errorMsg
)
}
}
}
}
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/TTPS(高才)/ServiceProcess(我的信息流程)/IncomeRecord(收入记录)/C/YHGCIncomeRecordWorkExperienceViewController.swift
View file @
1290e8a9
...
@@ -235,7 +235,7 @@ extension YHGCIncomeRecordWorkExperienceViewController {
...
@@ -235,7 +235,7 @@ extension YHGCIncomeRecordWorkExperienceViewController {
firstSection
.
append
(
.
inputMoney
(
"收入金额"
,
"约
\(
hkdFmt
.
string
(
from
:
NSNumber
(
value
:
companyModel
.
income_money
/
rate
))
??
"0"
)
港币"
,
rmbFmt
.
string
(
from
:
NSNumber
(
value
:
companyModel
.
income_money
))
??
"0"
,
false
,
true
,
true
))
firstSection
.
append
(
.
inputMoney
(
"收入金额"
,
"约
\(
hkdFmt
.
string
(
from
:
NSNumber
(
value
:
companyModel
.
income_money
/
rate
))
??
"0"
)
港币"
,
rmbFmt
.
string
(
from
:
NSNumber
(
value
:
companyModel
.
income_money
))
??
"0"
,
false
,
true
,
true
))
firstSection
.
append
(
.
inputRemark
(
"注:按1港币≈
\(
rate
)
人民币计算,实际金额按递交时入境处给出的汇率为准"
))
firstSection
.
append
(
.
inputRemark
(
"注:按1港币≈
\(
rate
)
人民币计算,实际金额按递交时入境处给出的汇率为准"
))
let
secondSection
:
[
TableRow
]
=
[
.
header
(
"企业信息"
),
.
infoSelect
(
"派
遣
国家/地区"
,
nil
,
"请选择"
),
.
infoSelect
(
"派薪城市"
,
nil
,
"请选择"
),
.
infoEdit
(
"职位"
,
nil
,
"请输入"
),
.
infoSelect
(
"入职年月"
,
nil
,
"请选择"
),
.
infoTillNowSelect
(
"离职年月"
,
nil
,
"请选择"
,
true
),
.
infoCheckbox
(
"是否可以提供工作证明"
),
.
infoSelect
(
"职业界别"
,
nil
,
"请选择"
),
.
infoEdit
(
"具体职业界别"
,
nil
,
"请输入"
)]
let
secondSection
:
[
TableRow
]
=
[
.
header
(
"企业信息"
),
.
infoSelect
(
"派
薪
国家/地区"
,
nil
,
"请选择"
),
.
infoSelect
(
"派薪城市"
,
nil
,
"请选择"
),
.
infoEdit
(
"职位"
,
nil
,
"请输入"
),
.
infoSelect
(
"入职年月"
,
nil
,
"请选择"
),
.
infoTillNowSelect
(
"离职年月"
,
nil
,
"请选择"
,
true
),
.
infoCheckbox
(
"是否可以提供工作证明"
),
.
infoSelect
(
"职业界别"
,
nil
,
"请选择"
),
.
infoEdit
(
"具体职业界别"
,
nil
,
"请输入"
)]
let
tips
:
ASAttributedString
=
.
init
(
string
:
"备注:为了进一步确认您的具体信息,如有相关"
,
.
font
(
.
PFSC_R
(
ofSize
:
13
)),
.
foreground
(
UIColor
(
hexString
:
"#8993A2"
)
??
.
gray
))
+
.
init
(
string
:
"工作/收入证明文件"
,
.
font
(
.
PFSC_R
(
ofSize
:
13
)),
.
foreground
(
UIColor
.
brandMainColor
))
+
.
init
(
string
:
",请优先在列表上传。"
,
.
font
(
.
PFSC_R
(
ofSize
:
13
)),
.
foreground
(
UIColor
(
hexString
:
"#8993A2"
)
??
.
gray
))
let
tips
:
ASAttributedString
=
.
init
(
string
:
"备注:为了进一步确认您的具体信息,如有相关"
,
.
font
(
.
PFSC_R
(
ofSize
:
13
)),
.
foreground
(
UIColor
(
hexString
:
"#8993A2"
)
??
.
gray
))
+
.
init
(
string
:
"工作/收入证明文件"
,
.
font
(
.
PFSC_R
(
ofSize
:
13
)),
.
foreground
(
UIColor
.
brandMainColor
))
+
.
init
(
string
:
",请优先在列表上传。"
,
.
font
(
.
PFSC_R
(
ofSize
:
13
)),
.
foreground
(
UIColor
(
hexString
:
"#8993A2"
)
??
.
gray
))
let
thirdSection
:
[
TableRow
]
=
[
.
header
(
"工作证件(选填)"
),
.
incomeTips
(
tips
),
.
uploadWorkId
(
"上传工作证件"
,
"去上传"
)]
let
thirdSection
:
[
TableRow
]
=
[
.
header
(
"工作证件(选填)"
),
.
incomeTips
(
tips
),
.
uploadWorkId
(
"上传工作证件"
,
"去上传"
)]
...
@@ -541,6 +541,36 @@ extension YHGCIncomeRecordWorkExperienceViewController: UITableViewDelegate, UIT
...
@@ -541,6 +541,36 @@ extension YHGCIncomeRecordWorkExperienceViewController: UITableViewDelegate, UIT
//
//
}
}
navigationController
?
.
pushViewController
(
vc
)
navigationController
?
.
pushViewController
(
vc
)
}
else
if
case
let
.
infoSelect
(
title
,
_
,
_
)
=
tableRow
{
if
title
==
"派薪国家/地区"
{
let
vc
=
YHSelectCountryViewController
()
vc
.
backLocationStringController
=
{
(
country
)
in
//self.dataSource?.message = country
//
}
navigationController
?
.
pushViewController
(
vc
)
}
else
if
title
==
"入职年月"
{
let
title
=
"选择入职年月"
let
lastIsTaday
=
true
YHDatePickView
.
show
(
type
:
.
yyyymm
,
title
:
title
,
lastIsTaday
:
lastIsTaday
,
currentDay
:
""
)
{
date
in
//
}
}
else
if
title
==
"职业界别"
{
YHOtherPickerView
.
show
(
type
:
.
position
,
selectTitle
:
""
)
{[
weak
self
]
data
in
guard
let
self
=
self
else
{
return
}
// data.title
//
}
}
}
else
if
case
let
.
infoTillNowSelect
(
title
,
_
,
_
,
_
)
=
tableRow
{
if
title
==
"离职年月"
{
let
title
=
"选择离职年月"
let
lastIsTaday
=
true
YHDatePickView
.
show
(
type
:
.
yyyymm
,
title
:
title
,
lastIsTaday
:
lastIsTaday
,
currentDay
:
""
)
{
date
in
//
}
}
}
}
}
}
}
}
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/TTPS(高才)/ServiceProcess(我的信息流程)/IncomeRecord(收入记录)/VM/YHGCIncomeRecordViewModel.swift
0 → 100644
View file @
1290e8a9
//
// YHGCIncomeRecordViewModel.swift
// galaxy
//
// Created by alexzzw on 2024/12/25.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
class
YHGCIncomeRecordViewModel
:
YHBaseViewModel
{
// MARK: - 表单状态
enum
FormState
{
case
viewing
case
editing
}
var
mainModel
:
YHGCWorkModel
=
YHGCWorkModel
()
var
listModel
:
[
YHWorkItemListModel
]
=
[]
var
workId
:
Int
=
0
private(set)
var
formState
:
FormState
=
.
viewing
// 切换编辑状态
func
toggleEditingState
()
{
switch
formState
{
case
.
viewing
:
formState
=
.
editing
case
.
editing
:
formState
=
.
viewing
}
}
override
init
()
{
super
.
init
()
}
func
requestWorkList
(
_
orderId
:
Int
,
callBackBlock
:
@escaping
(
_
success
:
YHGCWorkModel
?,
_
error
:
YHErrorModel
?)
->
Void
)
{
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
YHAllApiName
.
WorkExperience
.
gclist
let
params
:
[
String
:
Any
]
=
[
"order_id"
:
orderId
]
_
=
YHNetRequest
.
getRequest
(
url
:
strUrl
,
params
:
params
)
{
[
weak
self
]
json
,
_
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
,
nil
)
return
}
self
.
mainModel
=
result
self
.
listModel
=
result
.
list
??
[]
callBackBlock
(
self
.
mainModel
,
nil
)
}
else
{
let
error
:
YHErrorModel
=
YHErrorModel
(
errorCode
:
Int32
(
json
.
code
),
errorMsg
:
json
.
msg
)
callBackBlock
(
nil
,
error
)
}
}
failBlock
:
{
err
in
callBackBlock
(
nil
,
err
)
}
}
func
requestDeleteWorkExperience
(
_
id
:
Int
,
_
orderId
:
Int
,
callBackBlock
:
@escaping
(
_
success
:
Bool
,
_
error
:
YHErrorModel
?)
->
Void
)
{
let
params
:
[
String
:
Any
]
=
[
"id"
:
id
,
"order_id"
:
orderId
]
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
YHAllApiName
.
WorkExperience
.
del
_
=
YHNetRequest
.
postRequest
(
url
:
strUrl
,
params
:
params
)
{
json
,
_
in
// 1. json字符串 转 对象
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
:
Int
,
_
isSubmit
:
Bool
=
true
,
callBackBlock
:
@escaping
(
_
success
:
Bool
,
_
error
:
YHErrorModel
?)
->
Void
)
{
let
params
:
[
String
:
Any
]
=
[
"order_id"
:
orderId
,
"has_company_consent"
:
mainModel
.
has_company_consent
,
"consent_work_id"
:
mainModel
.
consent_work_id
,
"has_center_consent"
:
mainModel
.
has_center_consent
,
"why_work_time_overlap"
:
mainModel
.
why_work_time_overlap
,
"has_work_experience"
:
mainModel
.
has_work_experience
,
"is_submit"
:
isSubmit
]
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
YHAllApiName
.
WorkExperience
.
saveAll
_
=
YHNetRequest
.
postRequest
(
url
:
strUrl
,
params
:
params
)
{
json
,
_
in
// 1. json字符串 转 对象
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?) -> Void) {
// let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.WorkExperience.createNewWork
// let params: [String: Any] = ["order_id": orderId]
//
// _ = YHNetRequest.postRequest(url: strUrl, params: params) { [weak self] json, _ 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/Modules/IntelligentService(服务中心)/TTPS(高才)/ServiceProcess(我的信息流程)/IncomeRecord(收入记录)/VM/YHGCIncomeRecordWorkExperienceViewModel.swift
0 → 100644
View file @
1290e8a9
//
// YHGCIncomeRecordWorkExperienceViewModel.swift
// galaxy
//
// Created by alexzzw on 2024/12/25.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
class
YHGCIncomeRecordWorkExperienceViewModel
:
YHBaseViewModel
{
var
position
:
YHGCWorkExperienceModel
=
YHGCWorkExperienceModel
()
override
init
()
{
super
.
init
()
}
func
requestWorkPositionDetail
(
_
workId
:
Int
,
_
orderID
:
Int
,
callBackBlock
:
@escaping
(
_
success
:
Bool
?,
_
error
:
YHErrorModel
?)
->
Void
)
{
let
param
:
[
String
:
Any
]
=
[
"id"
:
workId
,
"order_id"
:
orderID
]
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
YHAllApiName
.
WorkExperience
.
gcworkDetail
_
=
YHNetRequest
.
getRequest
(
url
:
strUrl
,
params
:
param
)
{
[
weak
self
]
json
,
_
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
?)
->
Void
)
{
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
_
=
YHNetRequest
.
postRequest
(
url
:
strUrl
,
params
:
params
)
{
[
weak
self
]
json
,
_
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(我的信息流程)/PersonInfoList(个人信息预览)/C/YHGCPreviewAcademicAndProfessionalQualificationViewController.swift
0 → 100644
View file @
1290e8a9
//
// YHGCPreviewAcademicAndProfessionalQualificationViewController.swift
// galaxy
//
// Created by davidhuangA on 2024/2/29.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
/*
*学历/专业资格 预览
*/
class
YHGCPreviewAcademicAndProfessionalQualificationViewController
:
YHPreviewBaseViewController
{
private
let
previewVM
:
YHGCPreviewViewModel
=
YHGCPreviewViewModel
()
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
setupUI
()
loadData
()
}
}
private
extension
YHGCPreviewAcademicAndProfessionalQualificationViewController
{
func
loadData
()
{
if
let
orderID
=
UserDefaults
.
standard
.
value
(
forKey
:
"orderIdForPreview"
)
{
// let tmp = 133967 //全数据 可测试
previewVM
.
getPreviewForAcademicInfo
(
params
:
[
"order_id"
:
orderID
])
{
success
,
error
in
if
success
==
true
{
}
else
{
}
self
.
homeTableView
.
reloadData
()
}
}
else
{
printLog
(
"error : orderID 为空"
)
}
}
func
setupUI
()
{
self
.
homeTableView
.
register
(
YHPreviewInfoCell
.
self
,
forCellReuseIdentifier
:
YHPreviewInfoCell
.
cellReuseIdentifier
)
self
.
homeTableView
.
reloadData
()
}
}
// MARK: - UITableViewDelegate 和 UITableViewDataSource
extension
YHGCPreviewAcademicAndProfessionalQualificationViewController
{
override
func
tableView
(
_
tableView
:
UITableView
,
numberOfRowsInSection
section
:
Int
)
->
Int
{
return
previewVM
.
arrDataForAcademicInfo
.
count
}
override
func
tableView
(
_
tableView
:
UITableView
,
cellForRowAt
indexPath
:
IndexPath
)
->
UITableViewCell
{
let
cell
=
tableView
.
dequeueReusableCell
(
withClass
:
YHPreviewInfoCell
.
self
)
cell
.
selectionStyle
=
.
none
cell
.
model
=
previewVM
.
arrDataForAcademicInfo
[
indexPath
.
row
]
return
cell
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/TTPS(高才)/ServiceProcess(我的信息流程)/PersonInfoList(个人信息预览)/C/YHGCPreviewBasiceInformationViewController.swift
0 → 100644
View file @
1290e8a9
//
// YHGCPreviewBasiceInformationViewController.swift
// galaxy
//
// Created by davidhuangA on 2024/2/25.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
/*
*基本资料信息 预览
*/
class
YHGCPreviewBasiceInformationViewController
:
YHPreviewBaseViewController
{
private
let
previewVM
:
YHGCPreviewViewModel
=
YHGCPreviewViewModel
()
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
setupUI
()
loadData
()
}
}
private
extension
YHGCPreviewBasiceInformationViewController
{
func
setupUI
()
{
self
.
homeTableView
.
register
(
YHPreviewInfoCell
.
self
,
forCellReuseIdentifier
:
YHPreviewInfoCell
.
cellReuseIdentifier
)
self
.
homeTableView
.
reloadData
()
}
func
loadData
()
{
if
let
orderID
=
UserDefaults
.
standard
.
value
(
forKey
:
"orderIdForPreview"
)
{
previewVM
.
getPreviewForBasicInfo
(
params
:
[
"order_id"
:
orderID
])
{
success
,
error
in
if
success
==
true
{
}
else
{
}
self
.
homeTableView
.
reloadData
()
}
}
else
{
printLog
(
"error : orderID 为空"
)
}
}
}
// MARK: - UITableViewDelegate 和 UITableViewDataSource
extension
YHGCPreviewBasiceInformationViewController
{
override
func
tableView
(
_
tableView
:
UITableView
,
numberOfRowsInSection
section
:
Int
)
->
Int
{
return
previewVM
.
arrDataForBasicInfo
.
count
}
override
func
tableView
(
_
tableView
:
UITableView
,
cellForRowAt
indexPath
:
IndexPath
)
->
UITableViewCell
{
let
cell
=
tableView
.
dequeueReusableCell
(
withClass
:
YHPreviewInfoCell
.
self
)
cell
.
selectionStyle
=
.
none
cell
.
model
=
previewVM
.
arrDataForBasicInfo
[
indexPath
.
row
]
return
cell
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/TTPS(高才)/ServiceProcess(我的信息流程)/PersonInfoList(个人信息预览)/C/YHGCPreviewControllerHoldViewController.swift
0 → 100644
View file @
1290e8a9
//
// YHPersonInfoControllerHoldViewController.swift
// galaxy
//
// Created by davidhuangA on 2024/1/29.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
import
JXSegmentedView
class
YHGCPreviewControllerHoldViewController
:
UIViewController
{
var
productType
:
Int
=
0
//0-优才 1-高才A 2-高才B 3-高才C
var
canScroll
:
Bool
=
false
{
didSet
{
for
vc
in
arrItemVCs
{
vc
.
vcCanScroll
=
canScroll
}
}
}
var
myDefaultNavItemIndex
:
Int
=
0
{
didSet
{
self
.
segmentedView
.
selectItemAt
(
index
:
self
.
myDefaultNavItemIndex
)
}
}
lazy
var
arrItemTitles
:[
String
]
=
{
if
productType
==
1
{
// 高才A
return
[
"主申请人信息"
,
"家庭成员信息"
,
"工作经验"
,
"收入记录"
,
"基本资料"
]
}
return
[
"主申请人信息"
,
"家庭成员信息"
,
"学历/专业资格"
,
"工作经验"
,
"基本资料"
]
}()
var
arrItemVCs
:
[
YHPreviewBaseViewController
]
=
[]
var
segmentedView
:
JXSegmentedView
=
JXSegmentedView
(
frame
:
CGRect
(
x
:
0
,
y
:
0
,
width
:
KScreenWidth
,
height
:
55
))
lazy
var
segmentedDataSource
:
JXSegmentedBaseDataSource
=
{
let
dataSource
=
JXSegmentedTitleDataSource
()
dataSource
.
titles
=
arrItemTitles
dataSource
.
titleNormalFont
=
UIFont
.
PFSC_R
(
ofSize
:
16
)
dataSource
.
titleSelectedColor
=
UIColor
.
labelTextColor2
dataSource
.
titleSelectedFont
=
UIFont
.
PFSC_M
(
ofSize
:
16
)
dataSource
.
titleSelectedColor
=
UIColor
.
brandMainColor
dataSource
.
isItemSpacingAverageEnabled
=
false
dataSource
.
itemWidth
=
JXSegmentedViewAutomaticDimension
dataSource
.
itemSpacing
=
21.5
return
dataSource
}()
//分类title 所对应的VC
lazy
var
listContainerView
:
JXSegmentedListContainerView
!
=
{
return
JXSegmentedListContainerView
(
dataSource
:
self
,
type
:
.
collectionView
)
}()
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
if
productType
==
1
{
// 高才A
//主申请人
let
vc1
=
YHGCPreviewMainApplicantInfoViewController
()
arrItemVCs
.
append
(
vc1
)
//家庭成员信息
let
vc2
=
YHGCPreviewFamilyMemberViewController
()
arrItemVCs
.
append
(
vc2
)
//工作经验
let
vc3
=
YHGCPreviewWorkExpViewController
()
arrItemVCs
.
append
(
vc3
)
// 收入记录
let
orderID
=
UserDefaults
.
standard
.
value
(
forKey
:
"orderIdForPreview"
)
as?
Int
??
0
let
vc4
=
YHGCPreviewIncomeRecordViewController
(
orderId
:
orderID
)
arrItemVCs
.
append
(
vc4
)
//基本资料
let
vc5
=
YHGCPreviewBasiceInformationViewController
()
arrItemVCs
.
append
(
vc5
)
}
else
{
// 高才BC
//主申请人
let
vc1
=
YHGCPreviewMainApplicantInfoViewController
()
arrItemVCs
.
append
(
vc1
)
//家庭成员信息
let
vc2
=
YHGCPreviewFamilyMemberViewController
()
arrItemVCs
.
append
(
vc2
)
//学历/专业资格
let
vc3
=
YHGCPreviewAcademicAndProfessionalQualificationViewController
()
arrItemVCs
.
append
(
vc3
)
//工作经验
let
vc4
=
YHGCPreviewWorkExpViewController
()
arrItemVCs
.
append
(
vc4
)
// // 收入记录
// let orderID = UserDefaults.standard.value(forKey: "orderIdForPreview") as? Int ?? 0
// let vc5 = YHGCPreviewIncomeRecordViewController(orderId: orderID)
// arrItemVCs.append(vc5)
//基本资料
let
vc5
=
YHGCPreviewBasiceInformationViewController
()
arrItemVCs
.
append
(
vc5
)
}
//segmentedViewDataSource一定要通过属性强持有!!!!!!!!!
segmentedView
.
dataSource
=
segmentedDataSource
segmentedView
.
delegate
=
self
view
.
addSubview
(
segmentedView
)
segmentedView
.
listContainer
=
listContainerView
view
.
addSubview
(
listContainerView
)
//分类Title
segmentedView
.
dataSource
=
segmentedDataSource
segmentedView
.
delegate
=
self
//配置指示器
let
indicator
=
JXSegmentedIndicatorLineView
()
indicator
.
indicatorWidth
=
16
indicator
.
indicatorHeight
=
4
indicator
.
indicatorCornerRadius
=
2
indicator
.
verticalOffset
=
4
indicator
.
indicatorColor
=
UIColor
.
brandMainColor
segmentedView
.
indicators
=
[
indicator
]
segmentedView
.
defaultSelectedIndex
=
self
.
myDefaultNavItemIndex
}
override
func
viewWillAppear
(
_
animated
:
Bool
)
{
super
.
viewWillAppear
(
animated
)
//处于第一个item的时候,才允许屏幕边缘手势返回
// navigationController?.interactivePopGestureRecognizer?.isEnabled = (segmentedView.selectedIndex == 0)
}
override
func
viewWillDisappear
(
_
animated
:
Bool
)
{
super
.
viewWillDisappear
(
animated
)
//离开页面的时候,需要恢复屏幕边缘手势,不能影响其他页面
// navigationController?.interactivePopGestureRecognizer?.isEnabled = true
}
override
func
viewDidLayoutSubviews
()
{
super
.
viewDidLayoutSubviews
()
segmentedView
.
frame
=
CGRect
(
x
:
0
,
y
:
0
,
width
:
view
.
bounds
.
size
.
width
,
height
:
55
)
listContainerView
.
frame
=
CGRect
(
x
:
0
,
y
:
55
,
width
:
view
.
bounds
.
size
.
width
,
height
:
view
.
bounds
.
size
.
height
-
55
)
segmentedView
.
backgroundColor
=
.
white
}
}
extension
YHGCPreviewControllerHoldViewController
:
JXSegmentedViewDelegate
{
func
segmentedView
(
_
segmentedView
:
JXSegmentedView
,
didSelectedItemAt
index
:
Int
)
{
NotificationCenter
.
default
.
post
(
name
:
Notification
.
Name
(
rawValue
:
"scrollViewDidEndDragging0"
),
object
:
nil
)
}
/// 正在滚动中的回调
///
/// - Parameters:
/// - segmentedView: JXSegmentedView
/// - leftIndex: 正在滚动中,相对位置处于左边的index
/// - rightIndex: 正在滚动中,相对位置处于右边的index
/// - percent: 从左往右计算的百分比
func
segmentedView
(
_
segmentedView
:
JXSegmentedView
,
scrollingFrom
leftIndex
:
Int
,
to
rightIndex
:
Int
,
percent
:
CGFloat
)
{
NotificationCenter
.
default
.
post
(
name
:
Notification
.
Name
(
rawValue
:
"scrollViewWillBeginDragging0"
),
object
:
nil
)
}
}
extension
YHGCPreviewControllerHoldViewController
:
JXSegmentedListContainerViewDataSource
{
func
numberOfLists
(
in
listContainerView
:
JXSegmentedListContainerView
)
->
Int
{
if
let
titleDataSource
=
segmentedView
.
dataSource
as?
JXSegmentedBaseDataSource
{
return
titleDataSource
.
dataSource
.
count
}
return
0
}
func
listContainerView
(
_
listContainerView
:
JXSegmentedListContainerView
,
initListAt
index
:
Int
)
->
JXSegmentedListContainerViewListDelegate
{
return
arrItemVCs
[
index
]
as
JXSegmentedListContainerViewListDelegate
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/TTPS(高才)/ServiceProcess(我的信息流程)/PersonInfoList(个人信息预览)/C/YHGCPreviewFamilyMemberViewController.swift
0 → 100644
View file @
1290e8a9
//
// YHGCPreviewFamilyMemberViewController.swift
// galaxy
//
// Created by davidhuangA on 2024/1/29.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
/*
*家庭成员信息 预览
*/
class
YHGCPreviewFamilyMemberViewController
:
YHPreviewBaseViewController
{
private
let
previewVM
:
YHGCPreviewViewModel
=
YHGCPreviewViewModel
()
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
setupUI
()
loadData
()
}
override
func
viewWillAppear
(
_
animated
:
Bool
)
{
super
.
viewWillAppear
(
animated
)
homeTableView
.
reloadData
()
}
private
var
buttonHoldView
:
UIView
=
{
let
view
=
UIView
()
return
view
}()
// private var parentButton : UIButton!
private
var
spouseButton
:
UIButton
!
private
var
childrenButton
:
UIButton
!
// private var brotherButton : UIButton!
private
var
arrButtons
:
[
UIButton
]
=
[]
lazy
var
noNetWorkTipsView
:
YHEmptyDataView
=
{
let
view
=
YHEmptyDataView
.
createView
(
"暂无内容"
,
kEmptyCommonBgName
)
view
.
topMargin
=
0
view
.
backgroundColor
=
.
white
view
.
isHidden
=
true
return
view
}()
}
private
extension
YHGCPreviewFamilyMemberViewController
{
func
setupUI
()
{
noNetWorkTipsView
.
isHidden
=
false
noNetWorkTipsView
.
backgroundColor
=
UIColor
.
contentBkgColor
view
.
addSubview
(
self
.
noNetWorkTipsView
)
self
.
noNetWorkTipsView
.
topMargin
=
20
view
.
addSubview
(
buttonHoldView
)
buttonHoldView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalToSuperview
()
make
.
left
.
equalTo
(
kMargin
)
make
.
right
.
equalTo
(
-
kMargin
)
make
.
height
.
equalTo
(
56
)
}
spouseButton
=
createButton
()
spouseButton
.
setTitle
(
"配偶"
,
for
:
.
normal
)
buttonHoldView
.
addSubview
(
spouseButton
)
spouseButton
.
snp
.
makeConstraints
{
make
in
make
.
centerY
.
equalToSuperview
()
make
.
left
.
equalToSuperview
()
make
.
height
.
equalTo
(
32
)
make
.
width
.
equalTo
(
68
)
}
childrenButton
=
createButton
()
childrenButton
.
setTitle
(
"子女"
,
for
:
.
normal
)
buttonHoldView
.
addSubview
(
childrenButton
)
childrenButton
.
snp
.
makeConstraints
{
make
in
make
.
centerY
.
equalToSuperview
()
make
.
left
.
equalTo
(
spouseButton
.
snp
.
right
)
.
offset
(
12
)
make
.
height
.
equalTo
(
32
)
make
.
width
.
equalTo
(
68
)
}
// parentButton = createButton()
// parentButton.setTitle("父母", for: .normal)
// buttonHoldView.addSubview(parentButton)
// parentButton.snp.makeConstraints { make in
// make.centerY.equalToSuperview()
// make.left.equalTo(childrenButton.snp.right).offset(12)
// make.height.equalTo(32)
// make.width.equalTo(68)
//
// }
//
//
//
//
//
// brotherButton = createButton()
// brotherButton.setTitle("兄弟姐妹", for: .normal)
// buttonHoldView.addSubview(brotherButton)
// brotherButton.snp.makeConstraints { make in
// make.centerY.equalToSuperview()
// make.left.equalTo(parentButton.snp.right).offset(12)
// make.height.equalTo(32)
// make.width.equalTo(84)
// }
// arrButtons.append(parentButton)
arrButtons
.
append
(
spouseButton
)
arrButtons
.
append
(
childrenButton
)
// arrButtons.append(brotherButton)
homeTableView
.
snp
.
removeConstraints
()
homeTableView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
buttonHoldView
.
snp
.
bottom
)
make
.
bottom
.
equalToSuperview
()
make
.
left
.
equalTo
(
kMargin
)
make
.
right
.
equalTo
(
-
kMargin
)
}
homeTableView
.
register
(
YHPreviewInfoCell
.
self
,
forCellReuseIdentifier
:
YHPreviewInfoCell
.
cellReuseIdentifier
)
homeTableView
.
reloadData
()
}
private
func
layouButtons
()
{
spouseButton
.
snp
.
removeConstraints
()
childrenButton
.
snp
.
removeConstraints
()
// parentButton.snp.removeConstraints()
// brotherButton.snp.removeConstraints()
var
lastTagView
:
UIView
?
=
nil
//配偶
if
previewVM
.
arrDataForSpouse
.
isEmpty
==
false
{
spouseButton
.
isHidden
=
false
spouseButton
.
snp
.
makeConstraints
{
make
in
make
.
centerY
.
equalToSuperview
()
make
.
left
.
equalToSuperview
()
make
.
height
.
equalTo
(
32
)
make
.
width
.
equalTo
(
68
)
}
lastTagView
=
spouseButton
}
else
{
spouseButton
.
isHidden
=
true
}
//子女
if
previewVM
.
arrDataForChildren
.
isEmpty
==
false
{
childrenButton
.
isHidden
=
false
if
let
lastTagView
=
lastTagView
{
childrenButton
.
snp
.
makeConstraints
{
make
in
make
.
centerY
.
equalToSuperview
()
make
.
left
.
equalTo
(
lastTagView
.
snp
.
right
)
.
offset
(
12
)
make
.
height
.
equalTo
(
32
)
make
.
width
.
equalTo
(
68
)
}
}
else
{
childrenButton
.
snp
.
makeConstraints
{
make
in
make
.
centerY
.
equalToSuperview
()
make
.
left
.
equalToSuperview
()
make
.
height
.
equalTo
(
32
)
make
.
width
.
equalTo
(
68
)
}
}
lastTagView
=
childrenButton
}
else
{
childrenButton
.
isHidden
=
true
}
// //父母
// if previewVM.arrDataForParents.isEmpty == false {
// parentButton.isHidden = false
// if let lastTagView = lastTagView {
// parentButton.snp.makeConstraints { make in
// make.centerY.equalToSuperview()
// make.left.equalTo(lastTagView.snp.right).offset(12)
// make.height.equalTo(32)
// make.width.equalTo(68)
// }
// } else {
// parentButton.snp.makeConstraints { make in
// make.centerY.equalToSuperview()
// make.left.equalToSuperview()
// make.height.equalTo(32)
// make.width.equalTo(68)
// }
// }
//
// lastTagView = parentButton
// } else {
// parentButton.isHidden = true
// }
// //兄弟姐妹
// if previewVM.arrDataForBrother.isEmpty == false {
// brotherButton.isHidden = false
// if let lastTagView = lastTagView {
// brotherButton.snp.makeConstraints { make in
// make.centerY.equalToSuperview()
// make.left.equalTo(lastTagView.snp.right).offset(12)
// make.height.equalTo(32)
// make.width.equalTo(68)
// }
// } else {
// brotherButton.snp.makeConstraints { make in
// make.centerY.equalToSuperview()
// make.left.equalToSuperview()
// make.height.equalTo(32)
// make.width.equalTo(68)
// }
// }
//
// lastTagView = brotherButton
// } else {
// brotherButton.isHidden = true
// }
}
func
createButton
()
->
UIButton
{
let
btn
=
UIButton
(
type
:
.
custom
)
btn
.
backgroundColor
=
UIColor
.
white
btn
.
setTitleColor
(
.
mainTextColor
,
for
:
.
normal
)
btn
.
setTitleColor
(
.
white
,
for
:
.
selected
)
btn
.
layer
.
cornerRadius
=
16
btn
.
clipsToBounds
=
true
btn
.
titleLabel
?
.
font
=
UIFont
.
PFSC_R
(
ofSize
:
13
)
btn
.
addTarget
(
self
,
action
:
#selector(
clickButton(sender:)
)
,
for
:
.
touchUpInside
)
return
btn
}
@objc
func
clickButton
(
sender
:
UIButton
)
{
for
button
in
arrButtons
{
button
.
backgroundColor
=
UIColor
.
white
button
.
setTitleColor
(
.
black
,
for
:
.
normal
)
}
sender
.
backgroundColor
=
.
brandMainColor
sender
.
setTitleColor
(
.
white
,
for
:
.
normal
)
if
sender
==
spouseButton
{
previewVM
.
arrDataForMainApplicationInfo
=
previewVM
.
arrDataForSpouse
}
// else if sender == parentButton {
// previewVM.arrDataForMainApplicationInfo = previewVM.arrDataForParents
// }
else
if
sender
==
childrenButton
{
previewVM
.
arrDataForMainApplicationInfo
=
previewVM
.
arrDataForChildren
}
// else if sender == brotherButton {
// previewVM.arrDataForMainApplicationInfo = previewVM.arrDataForBrother
// }
else
{
previewVM
.
arrDataForMainApplicationInfo
=
[]
}
homeTableView
.
reloadData
()
if
previewVM
.
arrDataForMainApplicationInfo
.
count
>
0
{
self
.
noNetWorkTipsView
.
isHidden
=
true
self
.
homeTableView
.
isHidden
=
false
}
else
{
self
.
noNetWorkTipsView
.
isHidden
=
false
self
.
homeTableView
.
isHidden
=
true
}
}
func
loadData
()
{
if
let
orderID
=
UserDefaults
.
standard
.
value
(
forKey
:
"orderIdForPreview"
)
{
previewVM
.
getPreviewForFamilyInfo
(
params
:
[
"order_id"
:
orderID
])
{
success
,
error
in
if
success
==
true
{
}
else
{
}
self
.
layouButtons
()
self
.
highlightButton
()
self
.
homeTableView
.
reloadData
()
return
}
}
else
{
printLog
(
"error : orderID 为空"
)
}
self
.
layouButtons
()
self
.
homeTableView
.
reloadData
()
}
private
func
highlightButton
()
{
if
!
spouseButton
.
isHidden
{
clickButton
(
sender
:
spouseButton
)
clickButton
(
sender
:
spouseButton
)
return
}
if
!
childrenButton
.
isHidden
{
clickButton
(
sender
:
childrenButton
)
return
}
// if !parentButton.isHidden {
// clickButton(sender:parentButton)
// return
// }
//
// if !brotherButton.isHidden {
// clickButton(sender:brotherButton)
// return
// }
}
}
// MARK: - UITableViewDelegate 和 UITableViewDataSource
extension
YHGCPreviewFamilyMemberViewController
{
override
func
tableView
(
_
tableView
:
UITableView
,
numberOfRowsInSection
section
:
Int
)
->
Int
{
return
previewVM
.
arrDataForMainApplicationInfo
.
count
}
override
func
tableView
(
_
tableView
:
UITableView
,
cellForRowAt
indexPath
:
IndexPath
)
->
UITableViewCell
{
let
cell
=
tableView
.
dequeueReusableCell
(
withClass
:
YHPreviewInfoCell
.
self
)
cell
.
selectionStyle
=
.
none
cell
.
model
=
previewVM
.
arrDataForMainApplicationInfo
[
indexPath
.
row
]
return
cell
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/TTPS(高才)/ServiceProcess(我的信息流程)/PersonInfoList(个人信息预览)/C/YHGCPreviewIncomeRecordViewController.swift
0 → 100644
View file @
1290e8a9
//
// YHGCPreviewIncomeRecordViewController.swift
// galaxy
//
// Created by alexzzw on 2024/11/20.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
class
YHGCPreviewIncomeRecordViewController
:
YHPreviewBaseViewController
{
enum
TableRow
{
case
infoHeader
(
_
title
:
String
)
case
infoSectionHeader
(
_
title
:
String
)
case
infoTitleAndDetail
(
_
title
:
String
,
_
detail
:
String
,
_
cellType
:
YHResignRoundCellType
,
_
topMargin
:
CGFloat
,
_
bottomMargin
:
CGFloat
)
case
infoIncomeType
(
_
title
:
String
,
_
types
:
[
String
])
}
private
lazy
var
noDataView
:
YHEmptyDataView
=
{
let
view
=
YHEmptyDataView
.
createView
(
"暂无收入记录"
,
kEmptyCommonBgName
)
view
.
frame
=
CGRect
(
x
:
0
,
y
:
0
,
width
:
KScreenWidth
,
height
:
164
)
view
.
backgroundColor
=
.
clear
view
.
isHidden
=
true
return
view
}()
private
lazy
var
datas
:
[
TableRow
]
=
[]
private
lazy
var
viewModel
=
YHIncomeRecordViewModel
()
private
var
incomeModel
=
YHIncomeRecordCompleteModel
()
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
setupUI
()
requestData
()
}
private
let
orderId
:
Int
init
(
orderId
:
Int
)
{
self
.
orderId
=
orderId
super
.
init
(
nibName
:
nil
,
bundle
:
nil
)
}
@MainActor
required
init
?(
coder
:
NSCoder
)
{
fatalError
(
"init(coder:) has not been implemented"
)
}
}
extension
YHGCPreviewIncomeRecordViewController
{
private
func
setupUI
()
{
view
.
addSubview
(
noDataView
)
noDataView
.
snp
.
makeConstraints
{
make
in
make
.
centerX
.
equalToSuperview
()
make
.
centerY
.
equalToSuperview
()
.
offset
(
-
100
)
make
.
width
.
equalTo
(
KScreenWidth
)
make
.
height
.
equalTo
(
164
)
}
homeTableView
.
snp
.
remakeConstraints
{
make
in
make
.
left
.
right
.
top
.
bottom
.
equalToSuperview
()
}
homeTableView
.
register
(
YHPreviewInfoHeaderCell
.
self
,
forCellReuseIdentifier
:
YHPreviewInfoHeaderCell
.
cellReuseIdentifier
)
homeTableView
.
register
(
YHPreviewInfoNameAndDetailCell
.
self
,
forCellReuseIdentifier
:
YHPreviewInfoNameAndDetailCell
.
cellReuseIdentifier
)
homeTableView
.
register
(
YHPreviewInfoSectionHeaderCell
.
self
,
forCellReuseIdentifier
:
YHPreviewInfoSectionHeaderCell
.
cellReuseIdentifier
)
homeTableView
.
register
(
YHPreviewInfoIncomeTypeCell
.
self
,
forCellReuseIdentifier
:
YHPreviewInfoIncomeTypeCell
.
cellReuseIdentifier
)
homeTableView
.
tableHeaderView
=
UIView
(
frame
:
CGRect
(
x
:
0
,
y
:
0
,
width
:
KScreenWidth
,
height
:
16
))
homeTableView
.
tableFooterView
=
UIView
(
frame
:
CGRect
(
x
:
16
,
y
:
0
,
width
:
KScreenWidth
,
height
:
44
))
}
private
func
currencyFormat
(
_
currencySymbol
:
String
)
->
NumberFormatter
{
let
formatter
=
NumberFormatter
()
formatter
.
numberStyle
=
.
currency
formatter
.
currencySymbol
=
currencySymbol
formatter
.
maximumFractionDigits
=
0
return
formatter
}
private
func
setupData
()
{
datas
.
removeAll
()
datas
.
append
(
.
infoHeader
(
"收入情况"
))
guard
incomeModel
.
income_over_100
==
YHIncomeOver100
.
true
.
rawValue
else
{
if
incomeModel
.
income_over_100
==
YHIncomeOver100
.
false
.
rawValue
{
datas
.
append
(
.
infoTitleAndDetail
(
"前一年全年收入是否达港币100万元或以上:"
,
"否"
,
.
bottom
,
16
,
16
))
noDataView
.
isHidden
=
true
homeTableView
.
reloadData
()
}
else
{
noDataView
.
isHidden
=
false
datas
=
[]
homeTableView
.
reloadData
()
}
return
}
datas
.
append
(
.
infoTitleAndDetail
(
"前一年全年收入是否达港币100万元或以上:"
,
"是"
,
.
mid
,
16
,
8
))
let
currencyFmt
=
currencyFormat
(
""
)
let
rate
=
incomeModel
.
rate
>
0
?
incomeModel
.
rate
:
0.92
var
totalMoney
:
Double
=
0
let
listCount
=
incomeModel
.
list
.
count
incomeModel
.
list
.
enumerated
()
.
forEach
{
index
,
model
in
datas
.
append
(
.
infoSectionHeader
(
"收入
\(
index
+
1
)
"
))
datas
.
append
(
.
infoTitleAndDetail
(
"收入来源公司:"
,
model
.
company_name
,
.
mid
,
8
,
8
))
let
selectedTypes
=
model
.
income_type
.
compactMap
{
YHIncomeType
(
rawValue
:
$0
)
}
datas
.
append
(
.
infoIncomeType
(
"收入类型:"
,
selectedTypes
.
map
{
$0
.
nameString
()
}))
if
selectedTypes
.
contains
(
.
incomeOfMainland
)
||
selectedTypes
.
contains
(
.
incomeOfHKCompanies
)
||
selectedTypes
.
contains
(
.
incomeOfMacauCompanies
)
||
selectedTypes
.
contains
(
.
incomeOfOtherOverseasCompanies
)
{
datas
.
append
(
.
infoTitleAndDetail
(
"公司营业额/人民币 (近一年):"
,
currencyFmt
.
string
(
from
:
NSNumber
(
value
:
model
.
corporate_turnover
))
??
"0"
,
.
mid
,
8
,
8
))
}
let
isLast
=
(
listCount
-
1
==
index
)
datas
.
append
(
.
infoTitleAndDetail
(
"收入金额(港元):"
,
currencyFmt
.
string
(
from
:
NSNumber
(
value
:
model
.
income_money
/
rate
))
??
"0"
,
isLast
?
.
bottom
:
.
mid
,
8
,
16
))
totalMoney
+=
model
.
income_money
}
if
datas
.
count
>=
2
{
if
incomeModel
.
list
.
count
==
0
{
datas
.
insert
(
.
infoTitleAndDetail
(
"主申请人总收入(港元):"
,
currencyFmt
.
string
(
from
:
NSNumber
(
value
:
totalMoney
/
rate
))
??
"0"
,
.
bottom
,
8
,
16
),
at
:
2
)
}
else
{
datas
.
insert
(
.
infoTitleAndDetail
(
"主申请人总收入(港元):"
,
currencyFmt
.
string
(
from
:
NSNumber
(
value
:
totalMoney
/
rate
))
??
"0"
,
.
mid
,
8
,
16
),
at
:
2
)
}
}
noDataView
.
isHidden
=
true
homeTableView
.
reloadData
()
}
private
func
requestData
()
{
viewModel
.
getIncomeList
(
orderId
:
orderId
)
{
[
weak
self
]
incomeModel
,
error
in
guard
let
self
=
self
else
{
return
}
guard
let
incomeModel
=
incomeModel
else
{
printLog
(
"YHGCPreviewIncomeRecordViewController: 请求失败"
)
if
let
errorMsg
=
error
?
.
errorMsg
,
errorMsg
.
count
>
0
{
YHHUD
.
flash
(
message
:
errorMsg
)
}
self
.
noDataView
.
isHidden
=
false
self
.
datas
=
[]
self
.
homeTableView
.
reloadData
()
return
}
self
.
incomeModel
=
incomeModel
self
.
setupData
()
}
}
}
// MARK: - UITableViewDelegate 和 UITableViewDataSource
extension
YHGCPreviewIncomeRecordViewController
{
override
func
tableView
(
_
tableView
:
UITableView
,
numberOfRowsInSection
section
:
Int
)
->
Int
{
return
datas
.
count
}
override
func
tableView
(
_
tableView
:
UITableView
,
cellForRowAt
indexPath
:
IndexPath
)
->
UITableViewCell
{
guard
datas
.
count
>
indexPath
.
row
else
{
return
UITableViewCell
()
}
let
tableRow
=
datas
[
indexPath
.
row
]
switch
tableRow
{
case
let
.
infoHeader
(
title
):
if
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHPreviewInfoHeaderCell
.
cellReuseIdentifier
)
as?
YHPreviewInfoHeaderCell
{
cell
.
setup
(
title
:
title
)
return
cell
}
case
let
.
infoSectionHeader
(
title
):
if
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHPreviewInfoSectionHeaderCell
.
cellReuseIdentifier
)
as?
YHPreviewInfoSectionHeaderCell
{
cell
.
setup
(
title
:
title
)
return
cell
}
case
let
.
infoTitleAndDetail
(
title
,
detail
,
cellType
,
top
,
bottom
):
if
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHPreviewInfoNameAndDetailCell
.
cellReuseIdentifier
)
as?
YHPreviewInfoNameAndDetailCell
{
cell
.
setup
(
title
:
title
,
detail
:
detail
,
cellType
:
cellType
,
topMargin
:
top
,
bottomMargin
:
bottom
)
return
cell
}
case
let
.
infoIncomeType
(
title
,
docs
):
if
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHPreviewInfoIncomeTypeCell
.
cellReuseIdentifier
)
as?
YHPreviewInfoIncomeTypeCell
{
cell
.
setupCellInfo
(
title
:
title
,
documents
:
docs
)
return
cell
}
}
return
UITableViewCell
()
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/TTPS(高才)/ServiceProcess(我的信息流程)/PersonInfoList(个人信息预览)/C/YHGCPreviewMainApplicantInfoViewController.swift
0 → 100644
View file @
1290e8a9
//
// YHMainApplicantInfoViewController.swift
// galaxy
//
// Created by davidhuangA on 2024/1/29.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
/*
*主申请人信息 预览
*/
class
YHGCPreviewMainApplicantInfoViewController
:
YHPreviewBaseViewController
{
private
let
previewVM
:
YHGCPreviewViewModel
=
YHGCPreviewViewModel
()
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
setupUI
()
loadData
()
}
override
func
viewWillAppear
(
_
animated
:
Bool
)
{
super
.
viewWillAppear
(
animated
)
homeTableView
.
reloadData
()
}
}
private
extension
YHGCPreviewMainApplicantInfoViewController
{
func
setupUI
()
{
self
.
homeTableView
.
register
(
YHPreviewInfoCell
.
self
,
forCellReuseIdentifier
:
YHPreviewInfoCell
.
cellReuseIdentifier
)
self
.
homeTableView
.
reloadData
()
}
func
loadData
()
{
if
let
orderID
=
UserDefaults
.
standard
.
value
(
forKey
:
"orderIdForPreview"
)
{
previewVM
.
getPreviewForMainApplicationInfo
(
params
:
[
"order_id"
:
orderID
])
{
success
,
error
in
if
success
==
true
{
}
else
{
}
self
.
homeTableView
.
reloadData
()
}
}
else
{
printLog
(
"error : orderID 为空"
)
}
}
}
// MARK: - UITableViewDelegate 和 UITableViewDataSource
extension
YHGCPreviewMainApplicantInfoViewController
{
override
func
tableView
(
_
tableView
:
UITableView
,
numberOfRowsInSection
section
:
Int
)
->
Int
{
return
previewVM
.
arrDataForMainApplicationInfo
.
count
}
override
func
tableView
(
_
tableView
:
UITableView
,
cellForRowAt
indexPath
:
IndexPath
)
->
UITableViewCell
{
let
cell
=
tableView
.
dequeueReusableCell
(
withClass
:
YHPreviewInfoCell
.
self
)
cell
.
selectionStyle
=
.
none
cell
.
model
=
previewVM
.
arrDataForMainApplicationInfo
[
indexPath
.
row
]
return
cell
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/TTPS(高才)/ServiceProcess(我的信息流程)/PersonInfoList(个人信息预览)/C/YHGCPreviewMainViewController.swift
0 → 100644
View file @
1290e8a9
//
// YHGCPreviewMainViewController.swift
// galaxy
//
// Created by alexzzw on 2024/12/24.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
import
GKNavigationBarSwift
class
YHGCPreviewMainViewController
:
YHBaseViewController
{
var
productType
:
Int
=
0
//0-优才 1-高才A 2-高才B 3-高才C
private
let
previewVM
:
YHGCPreviewViewModel
=
YHGCPreviewViewModel
()
var
orderId
:
Int
?
var
canScroll
:
Bool
=
true
var
myCellHeight
:
CGFloat
{
get
{
return
view
.
bounds
.
size
.
height
-
k_Height_NavigationtBarAndStatuBar
}
}
var
myDefaultIndex
:
Int
=
0
{
didSet
{
DispatchQueue
.
global
()
.
asyncAfter
(
wallDeadline
:
.
now
()
)
{[
weak
self
]
in
DispatchQueue
.
main
.
async
{
self
?
.
cellView
.
myDefaultNavItemIndex
=
self
?
.
myDefaultIndex
??
0
}
}
}
}
lazy
var
cellView
:
YHGCPreviewControllerHoldViewController
=
{
let
ttt
=
YHGCPreviewControllerHoldViewController
()
ttt
.
productType
=
self
.
productType
ttt
.
myDefaultNavItemIndex
=
self
.
myDefaultIndex
return
ttt
}()
var
homeTableView
:
UITableView
=
{
let
tableView
=
UITableView
(
frame
:
.
zero
,
style
:
.
grouped
)
tableView
.
backgroundColor
=
.
clear
tableView
.
separatorStyle
=
.
none
tableView
.
showsHorizontalScrollIndicator
=
false
tableView
.
showsVerticalScrollIndicator
=
false
return
tableView
}()
var
myHeadView
:
UIView
=
{
let
view
=
UIView
(
frame
:
CGRect
(
x
:
kMargin
,
y
:
0
,
width
:
KScreenWidth
-
kMargin
*
2
,
height
:
131
))
view
.
backgroundColor
=
.
white
return
view
}()
//头像
private
lazy
var
headImagV
:
UIImageView
=
{
let
imageV
=
UIImageView
(
image
:
UIImage
(
named
:
"mine_head_default"
))
imageV
.
contentMode
=
.
scaleAspectFill
imageV
.
layer
.
cornerRadius
=
26.5
imageV
.
clipsToBounds
=
true
imageV
.
layer
.
borderWidth
=
2
imageV
.
layer
.
borderColor
=
UIColor
.
white
.
cgColor
return
imageV
}()
//姓名
private
lazy
var
nameLable
:
UILabel
=
{
let
lable0
=
UILabel
(
text
:
""
)
lable0
.
textColor
=
UIColor
.
mainTextColor
lable0
.
font
=
UIFont
.
PFSC_M
(
ofSize
:
19
)
return
lable0
}()
//电话号码
private
lazy
var
phoneLable
:
UILabel
=
{
let
lable0
=
UILabel
(
text
:
""
)
lable0
.
textColor
=
UIColor
.
labelTextColor2
lable0
.
font
=
UIFont
.
PFSC_R
(
ofSize
:
14
)
return
lable0
}()
// MARK: - 生命周期方法
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
NotificationCenter
.
default
.
addObserver
(
self
,
selector
:
#selector(
leaveTopOp
)
,
name
:
Notification
.
Name
(
rawValue
:
"leaveTop0"
),
object
:
nil
)
NotificationCenter
.
default
.
addObserver
(
self
,
selector
:
#selector(
beginDragging
)
,
name
:
Notification
.
Name
(
rawValue
:
"scrollViewWillBeginDragging0"
),
object
:
nil
)
NotificationCenter
.
default
.
addObserver
(
self
,
selector
:
#selector(
endDragging
)
,
name
:
Notification
.
Name
(
rawValue
:
"scrollViewDidEndDragging0"
),
object
:
nil
)
//1.UI
initView
()
//2.网络请求
loadData
()
}
override
func
viewDidLayoutSubviews
()
{
super
.
viewDidLayoutSubviews
()
cellView
.
view
.
frame
=
CGRect
(
x
:
0
,
y
:
0
,
width
:
KScreenWidth
,
height
:
myCellHeight
)
}
}
// MARK: - 私有方法
extension
YHGCPreviewMainViewController
{
func
loadData
()
{
if
let
orderID
=
UserDefaults
.
standard
.
value
(
forKey
:
"orderIdForPreview"
)
{
previewVM
.
getPreviewForMainApplicationInfo
(
params
:
[
"order_id"
:
orderID
])
{
success
,
error
in
if
success
==
true
{
var
title
=
""
if
let
tmp
=
self
.
previewVM
.
mainApplicationInfoPreviewModel
?
.
username
,
tmp
.
isEmpty
==
false
{
title
=
tmp
+
"的个人信息表"
}
else
{
title
=
"未知 "
}
self
.
nameLable
.
text
=
title
// self.phoneLable.text = self.previewVM.mainApplicationInfoPreviewModel?.mobile ?? "-"
var
text
=
"高才"
// 1-高才A 2-高才B 3-高才C
if
self
.
productType
==
1
{
text
=
"高才A类"
}
else
if
self
.
productType
==
2
{
text
=
"高才B类"
}
else
if
self
.
productType
==
3
{
text
=
"高才C类"
}
self
.
phoneLable
.
text
=
text
// self.handleHeaderIcon()
}
else
{
}
self
.
homeTableView
.
reloadData
()
}
}
else
{
printLog
(
"error : orderID 为空"
)
}
}
private
func
handleHeaderIcon
()
{
//缺少头像字段
// guard let model = previewVM.mainApplicationInfoPreviewModel,let icon = model. else {
// return
// }
// previewVM.getPublicImageUrl(imgString) {[weak self] success, error in
// guard let self = self else { return }
// guard success != nil else { return }
// self.resultView.kf.setImage(with: URL(string: success))
// }
}
private
func
initView
()
->
Void
{
gk_navigationBar
.
isHidden
=
false
gk_backStyle
=
.
black
gk_navTitle
=
"预览"
gk_navBackgroundColor
=
.
white
gk_navTitleColor
=
UIColor
(
hex
:
0x0F1214
)
gk_navBarAlpha
=
1
gk_navTitleFont
=
UIFont
.
PFSC_B
(
ofSize
:
17
)
homeTableView
.
delegate
=
self
homeTableView
.
dataSource
=
self
view
.
addSubview
(
homeTableView
)
homeTableView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
k_Height_NavigationtBarAndStatuBar
)
make
.
left
.
right
.
bottom
.
equalToSuperview
()
}
homeTableView
.
tableHeaderView
=
myHeadView
let
headSubView
=
UIView
()
headSubView
.
backgroundColor
=
.
clear
headSubView
.
layer
.
cornerRadius
=
kCornerRadius6
headSubView
.
clipsToBounds
=
true
myHeadView
.
addSubview
(
headSubView
)
headSubView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
17
)
make
.
left
.
equalTo
(
kMargin
)
make
.
right
.
equalTo
(
-
kMargin
)
make
.
height
.
equalTo
(
105
)
}
let
bkgImageV
=
UIImageView
(
image
:
UIImage
(
named
:
"person_info_head_bkg"
))
bkgImageV
.
contentMode
=
.
scaleAspectFill
headSubView
.
addSubview
(
bkgImageV
)
bkgImageV
.
snp
.
makeConstraints
{
make
in
make
.
edges
.
equalTo
(
0
)
}
// 头像 名称 电话号码
headSubView
.
addSubview
(
headImagV
)
headImagV
.
snp
.
makeConstraints
{
make
in
make
.
centerY
.
equalToSuperview
()
make
.
left
.
equalTo
(
20.5
)
make
.
width
.
height
.
equalTo
(
53
)
}
headSubView
.
addSubview
(
nameLable
)
nameLable
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
headImagV
.
snp
.
top
)
make
.
left
.
equalTo
(
headImagV
.
snp
.
right
)
.
offset
(
12
)
make
.
height
.
equalTo
(
26.5
)
make
.
right
.
equalTo
(
-
kMargin
)
}
headSubView
.
addSubview
(
phoneLable
)
phoneLable
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
nameLable
.
snp
.
bottom
)
make
.
left
.
equalTo
(
headImagV
.
snp
.
right
)
.
offset
(
12
)
make
.
height
.
equalTo
(
20
)
make
.
right
.
equalTo
(
-
20.5
)
}
}
}
// MARK: - UITableViewDelegate 和 UITableViewDataSource
extension
YHGCPreviewMainViewController
:
UITableViewDelegate
,
UITableViewDataSource
{
func
numberOfSections
(
in
tableView
:
UITableView
)
->
Int
{
return
1
}
func
tableView
(
_
tableView
:
UITableView
,
numberOfRowsInSection
section
:
Int
)
->
Int
{
return
1
}
func
tableView
(
_
tableView
:
UITableView
,
heightForHeaderInSection
section
:
Int
)
->
CGFloat
{
return
0.001
}
func
tableView
(
_
tableView
:
UITableView
,
viewForHeaderInSection
section
:
Int
)
->
UIView
?
{
let
view
=
UIView
(
frame
:
CGRect
(
x
:
0
,
y
:
0
,
width
:
KScreenWidth
,
height
:
0.001
))
return
view
}
func
tableView
(
_
tableView
:
UITableView
,
heightForFooterInSection
section
:
Int
)
->
CGFloat
{
return
0.001
}
func
tableView
(
_
tableView
:
UITableView
,
viewForFooterInSection
section
:
Int
)
->
UIView
?
{
let
view
=
UIView
(
frame
:
CGRect
(
x
:
0
,
y
:
0
,
width
:
KScreenWidth
,
height
:
0.001
))
return
view
}
func
tableView
(
_
tableView
:
UITableView
,
heightForRowAt
indexPath
:
IndexPath
)
->
CGFloat
{
return
myCellHeight
}
func
tableView
(
_
tableView
:
UITableView
,
cellForRowAt
indexPath
:
IndexPath
)
->
UITableViewCell
{
let
cell
=
UITableViewCell
()
cellView
.
view
.
frame
=
CGRect
(
x
:
0
,
y
:
0
,
width
:
cell
.
contentView
.
bounds
.
size
.
width
,
height
:
myCellHeight
)
cell
.
contentView
.
addSubview
(
cellView
.
view
)
cellView
.
view
.
snp
.
makeConstraints
{
make
in
make
.
edges
.
equalTo
(
0
)
}
return
cell
}
func
tableView
(
_
tableView
:
UITableView
,
didSelectRowAt
indexPath
:
IndexPath
)
{
tableView
.
deselectRow
(
at
:
indexPath
,
animated
:
true
)
}
}
extension
YHGCPreviewMainViewController
:
UIScrollViewDelegate
{
func
scrollViewDidScroll
(
_
scrollView
:
UIScrollView
)
{
let
bottomCellOffset
:
CGFloat
=
homeTableView
.
rect
(
forSection
:
0
)
.
origin
.
y
if
(
scrollView
.
contentOffset
.
y
>=
bottomCellOffset
)
{
scrollView
.
contentOffset
=
CGPointMake
(
0
,
bottomCellOffset
)
if
canScroll
==
true
{
// canScroll = false
// //传递参数到 子VC
// cellView.canScroll = true
}
canScroll
=
false
//传递参数到 子VC
cellView
.
canScroll
=
true
}
else
{
if
canScroll
==
false
{
scrollView
.
contentOffset
=
CGPoint
(
x
:
0
,
y
:
bottomCellOffset
)
}
}
self
.
homeTableView
.
showsVerticalScrollIndicator
=
false
}
}
extension
YHGCPreviewMainViewController
{
@objc
func
leaveTopOp
()
{
canScroll
=
true
}
@objc
func
beginDragging
()
{
homeTableView
.
isScrollEnabled
=
false
canScroll
=
false
}
@objc
func
endDragging
()
{
homeTableView
.
isScrollEnabled
=
true
canScroll
=
true
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/TTPS(高才)/ServiceProcess(我的信息流程)/PersonInfoList(个人信息预览)/C/YHGCPreviewOtherInformationViewController.swift
0 → 100644
View file @
1290e8a9
//
// YHOtherInfoPreviewViewController.swift
// galaxy
//
// Created by davidhuangA on 2024/2/24.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
/*
*其他信息 预览
*/
class
YHGCPreviewOtherInformationViewController
:
YHPreviewBaseViewController
{
private
let
previewVM
:
YHGCPreviewViewModel
=
YHGCPreviewViewModel
()
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
setupUI
()
loadData
()
}
}
private
extension
YHGCPreviewOtherInformationViewController
{
func
setupUI
()
{
self
.
homeTableView
.
register
(
YHPreviewInfoCell
.
self
,
forCellReuseIdentifier
:
YHPreviewInfoCell
.
cellReuseIdentifier
)
self
.
homeTableView
.
reloadData
()
}
func
loadData
()
{
if
let
orderID
=
UserDefaults
.
standard
.
value
(
forKey
:
"orderIdForPreview"
)
{
previewVM
.
getPreviewForOtherInfo
(
params
:
[
"order_id"
:
orderID
])
{
success
,
error
in
if
success
==
true
{
}
else
{
}
self
.
homeTableView
.
reloadData
()
}
}
else
{
printLog
(
"error : orderID 为空"
)
}
}
}
// MARK: - UITableViewDelegate 和 UITableViewDataSource
extension
YHGCPreviewOtherInformationViewController
{
override
func
tableView
(
_
tableView
:
UITableView
,
numberOfRowsInSection
section
:
Int
)
->
Int
{
return
previewVM
.
arrDataForOtherInfo
.
count
}
override
func
tableView
(
_
tableView
:
UITableView
,
cellForRowAt
indexPath
:
IndexPath
)
->
UITableViewCell
{
let
cell
=
tableView
.
dequeueReusableCell
(
withClass
:
YHPreviewInfoCell
.
self
)
cell
.
selectionStyle
=
.
none
cell
.
model
=
previewVM
.
arrDataForOtherInfo
[
indexPath
.
row
]
return
cell
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/TTPS(高才)/ServiceProcess(我的信息流程)/PersonInfoList(个人信息预览)/C/YHGCPreviewWorkExpViewController.swift
0 → 100644
View file @
1290e8a9
//
// YHGCPreviewWorkExpViewController.swift
// galaxy
//
// Created by davidhuangA on 2024/3/5.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
/*
*工作经验 预览
*/
class
YHGCPreviewWorkExpViewController
:
YHPreviewBaseViewController
{
private
let
previewVM
:
YHGCPreviewViewModel
=
YHGCPreviewViewModel
()
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
setupUI
()
// loadData()
loadData2
()
}
}
private
extension
YHGCPreviewWorkExpViewController
{
func
setupUI
()
{
self
.
homeTableView
.
register
(
YHPreviewInfoCell
.
self
,
forCellReuseIdentifier
:
YHPreviewInfoCell
.
cellReuseIdentifier
)
self
.
homeTableView
.
reloadData
()
}
func
loadData
()
{
if
let
orderID
=
UserDefaults
.
standard
.
value
(
forKey
:
"orderIdForPreview"
)
{
previewVM
.
getPreviewForWorkExpInfo
(
params
:
[
"order_id"
:
orderID
])
{
success
,
error
in
if
success
==
true
{
}
else
{
}
self
.
homeTableView
.
reloadData
()
}
}
else
{
printLog
(
"error : orderID 为空"
)
}
}
func
loadData2
()
{
if
let
orderID
=
UserDefaults
.
standard
.
value
(
forKey
:
"orderIdForPreview"
)
{
previewVM
.
getPreviewForWorkExpNewInfo
(
params
:
[
"order_id"
:
orderID
])
{
success
,
error
in
if
success
==
true
{
}
else
{
}
self
.
homeTableView
.
reloadData
()
}
}
else
{
printLog
(
"error : orderID 为空"
)
}
}
}
// MARK: - UITableViewDelegate 和 UITableViewDataSource
extension
YHGCPreviewWorkExpViewController
{
override
func
tableView
(
_
tableView
:
UITableView
,
numberOfRowsInSection
section
:
Int
)
->
Int
{
// return previewVM.arrDataForWorkExpInfo.count
return
previewVM
.
arrDataForWorkExpInfoNew
.
count
}
override
func
tableView
(
_
tableView
:
UITableView
,
cellForRowAt
indexPath
:
IndexPath
)
->
UITableViewCell
{
let
cell
=
tableView
.
dequeueReusableCell
(
withClass
:
YHPreviewInfoCell
.
self
)
cell
.
selectionStyle
=
.
none
// cell.model = previewVM.arrDataForWorkExpInfo[indexPath.row]
if
!
previewVM
.
arrDataForWorkExpInfoNew
.
isEmpty
,
indexPath
.
row
<
previewVM
.
arrDataForWorkExpInfoNew
.
count
{
cell
.
model
=
previewVM
.
arrDataForWorkExpInfoNew
[
indexPath
.
row
]
}
return
cell
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/TTPS(高才)/ServiceProcess(我的信息流程)/PersonInfoList(个人信息预览)/VM/YHGCPreviewViewModel.swift
0 → 100644
View file @
1290e8a9
This source diff could not be displayed because it is too large. You can
view the blob
instead.
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/TTPS(高才)/ServiceProcess(我的信息流程)/WorkExperience(工作经验)/M/YHGCWorkExperienceModel.swift
View file @
1290e8a9
...
@@ -21,6 +21,190 @@ class YHGCWorkExperienceModel: SmartCodable {
...
@@ -21,6 +21,190 @@ class YHGCWorkExperienceModel: SmartCodable {
var
company_type
:
String
=
""
var
company_type
:
String
=
""
var
company_type_other
:
String
=
""
var
company_type_other
:
String
=
""
var
location
:
YHAddress
=
YHAddress
()
var
location
:
YHAddress
=
YHAddress
()
/// 公司近一年的营业额 对于高A,仅当收入类型包含 6/7/8/10 时,该字段才有效
var
turnover
:
String
=
""
/// 高A使用 收入类型 1 工资薪金所得及全年一次性奖金; 2 上市公司股票期权或股权收入; 3 持股公司分红收入; 4 个体工商户/合伙企业/独资企业经营所得收入; 5
/// 股权转让收入; 6 内地公司收入(持股50%及以上); 7 香港公司收入(持股50%及以上); 8 其他境外公司收入(持股50%及以上); 10 澳门公司收入(持股50%及以上)
var
typeOfIncome
:
[
Int
]
=
[]
/// 高A使用 收入金额
var
income
:
String
=
""
required
init
()
{
required
init
()
{
}
}
}
}
/*
/// 工作经历-详情-具体数据
// MARK: - InfoflowWorkDetailData
struct InfoflowWorkDetailData {
/// 行政架构级别
var administrativeLevel: Int?
/// 公司业务性质/范畴/所属行业
var businessNature: String?
/// 工作经验备注
var businessRemark: String?
/// 用人单位介绍
var companyIntroduce: String?
/// 高管在企业管理人数规模
var companyManageTotal: String?
/// 企业人数规模
var companyMemberTotal: String?
/// 公司名称
var companyName: String?
/// 高才使用 职业界别
var companyType: String?
/// 高才使用 其他职业界别
var companyTypeOther: String?
/// 用人单位官网
var companyWebsite: String?
/// 创建来源(rpc.rpc_app.id)
var createFromAppid: Int?
/// 创建时间
var createdAt: String?
/// 用户中心对应模块的id
var customerCenterid: Int?
/// 删除时间
var deletedAt: String?
/// 离职时间
var departureTime: String?
/// 职责性质
var duty: String?
/// 入职时间
var entryTime: String?
/// 高管证明文件
var executivesCertificate: String?
/// 简历/工作总结附件
var file: [InfoflowWorkDetaiFile]?
/// 高才使用 是否能提供工作证明 0 未知 1 是 2 否
var hasWorkCertificate: Int?
/// 工作亮点
var highlights: String?
/// 工作经历id 只在返回工作经历详情时才必需,保存工作经历时非必需
var id: Int?
/// 高A使用 收入金额
var income: String?
/// 雇主所属机构性质
var industry: String?
/// 国际工作经验0没有1有
var internationalWorkExperience: Int?
/// 是否高管? 1是 2否
var isExecutives: Int?
/// 是否名企 0.否 1.是
var isFamousEnterprise: Int?
/// 是否项目详细介绍
var isProjectIntroduction: Int?
/// 是否展示 1是0否 保存工作经历时非必需,不传则默认1
var isShow: Int?
/// 是否合成 1合成 2不合成
var isSynthetic: Int?
var location: InfoflowWorkDetaiLocation?
/// 工作地点 0-国内 1-国外 2-未知
var locationAboard: Int?
/// 是否重要项目负责人 0-未知;1-是;2-否
var masterOfImportantProject: Int?
/// 是否符合清单 1-是;0-否
var matchListing: Int?
/// 是否不需要上传简历/工作总结附件
var notNeedUploadFile: Int?
/// 老CRM的order_child表id
var oldid: Int?
/// 操作人英文
var operatorEnglishName: String?
/// 操作人ID
var operatorid: Int?
/// 操作人中文
var operatorName: String?
/// 订单id
var orderid: Int?
/// 职位
var position: String?
/// 职位水平(1.高级经理人2.中级经理人3.初级经理人4.专业人士5.半专业人士6.其他)
var professionalLevel: Int?
/// 职业水平其他
var professionalOther: String?
/// 工作经历项目
var projects: [InfoflowWorkDetaiProject]?
/// 备注
var remark: String?
/// 工作信息填写进度:0:基本信息 1:工作职责 2:工作亮点 3:简历/总结
var step: Int?
/// 高管任职结束时间
var topManagerEndAt: String?
/// 高管任职开始时间
var topManagerStartAt: String?
/// 公司近一年的营业额 对于高A,仅当收入类型包含 6/7/8/10 时,该字段才有效
var turnover: String?
/// 高A使用 收入类型 1 工资薪金所得及全年一次性奖金; 2 上市公司股票期权或股权收入; 3 持股公司分红收入; 4 个体工商户/合伙企业/独资企业经营所得收入; 5
/// 股权转让收入; 6 内地公司收入(持股50%及以上); 7 香港公司收入(持股50%及以上); 8 其他境外公司收入(持股50%及以上); 10 澳门公司收入(持股50%及以上)
var typeOfIncome: [Int]?
/// 更新来源(rpc.rpc_app.id)
var updateFromAppid: Int?
/// 更新时间
var updatedAt: String?
/// 是否校验数据准确性 0-不检验;1-校验 (只在保存工作经历时才必需,返回工作经历详情数据时非必需)
var verify: Int?
/// 工作职责
var wduty: String?
/// 工作证明文件
var workCertificate: String?
}
/// 工作经历-详情-简历/工作总结附件
// MARK: - InfoflowWorkDetaiFile
struct InfoflowWorkDetaiFile {
/// 文件名
var fileName: String?
/// 文件地址
var fileUrl: String?
/// 上传时间
var uploadedAt: String?
}
/// 工作经历-详情-位置信息
// MARK: - InfoflowWorkDetaiLocation
struct InfoflowWorkDetaiLocation {
/// 省市
var area: [String]?
/// 国家
var country: String?
/// 详细
var details: String?
/// 国外具体地址
var foreign: String?
}
/// 工作经历-详情-项目信息
// MARK: - InfoflowWorkDetaiProject
struct InfoflowWorkDetaiProject {
/// 来源
var createFromAppid: Int?
/// 创建时间
var createdAt: String?
/// 用户中心对应模块的id
var customerCenterid: Int?
/// 删除时间
var deletedAt: String?
/// 项目ID
var id: Int?
/// 订单id
var orderid: Int?
/// 工作项目结束时间
var projectEndTime: String?
/// 工作项目亮点
var projectHighlights: String?
/// 项目名称
var projectName: String?
/// 工作项目开始时间
var projectStartTime: String?
/// 更新来源
var updateFromAppid: Int?
/// 更新时间
var updatedAt: String?
/// 工作经验ID
var workid: Int?
}
*/
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/TTPS(高才)/ServiceProcess(我的信息流程)/WorkExperience(工作经验)/M/YHGCWorkModel.swift
View file @
1290e8a9
...
@@ -11,6 +11,7 @@ import SmartCodable
...
@@ -11,6 +11,7 @@ import SmartCodable
class
YHGCWorkModel
:
SmartCodable
{
class
YHGCWorkModel
:
SmartCodable
{
var
count
:
Int
?
var
count
:
Int
?
// 高才使用 是否有工作时间重叠期 0-否 1-是
var
has_work_time_overlap
:
Int
=
0
var
has_work_time_overlap
:
Int
=
0
var
has_work_time_empty
:
Int
=
0
var
has_work_time_empty
:
Int
=
0
var
work_time_overlap_remark
:
String
=
""
//重叠期
var
work_time_overlap_remark
:
String
=
""
//重叠期
...
...
galaxy/galaxy/Classes/Modules/LivestreamSales(直播销售)/C/YHLivePlayerViewController.swift
View file @
1290e8a9
...
@@ -29,6 +29,8 @@ class YHLivePlayerViewController: YHBasePlayerViewController {
...
@@ -29,6 +29,8 @@ class YHLivePlayerViewController: YHBasePlayerViewController {
private
var
timer
:
DispatchSourceTimer
?
private
var
timer
:
DispatchSourceTimer
?
private
var
isDisappearFromZoom
=
false
private
var
isDisappearFromZoom
=
false
private
let
timeCount
:
Int
=
120
private
let
timeCount
:
Int
=
120
// 进聊天室尝试次数
private
let
maxRetryCount
=
3
// MARK: - UI Components
// MARK: - UI Components
...
@@ -347,12 +349,16 @@ class YHLivePlayerViewController: YHBasePlayerViewController {
...
@@ -347,12 +349,16 @@ class YHLivePlayerViewController: YHBasePlayerViewController {
// MARK: - Chat Room Methods
// MARK: - Chat Room Methods
private
func
joinChatRoom
(
roomId
:
String
)
{
private
func
joinChatRoom
(
roomId
:
String
)
{
func
joinRoom
()
{
func
joinRoom
(
retryCount
:
Int
)
{
YHIMHelper
.
shared
.
joinChatRoom
(
roomID
:
roomId
,
leaveOtherRooms
:
true
)
{
[
weak
self
]
error
in
YHIMHelper
.
shared
.
joinChatRoom
(
roomID
:
roomId
,
leaveOtherRooms
:
true
)
{
[
weak
self
]
error
in
guard
let
self
=
self
else
{
return
}
guard
let
self
=
self
else
{
return
}
if
let
error
=
error
,
retryCount
<=
self
.
maxRetryCount
{
if
let
error
=
error
{
printLog
(
"joinChatRoom:
\(
error
)
"
)
printLog
(
"joinChatRoom:
\(
error
)
"
)
DispatchQueue
.
main
.
asyncAfter
(
deadline
:
.
now
()
+
TimeInterval
(
5
*
retryCount
))
{
YHIMHelper
.
shared
.
registerAndLoginCurrentUser
{
_
in
joinRoom
(
retryCount
:
retryCount
+
1
)
}
}
}
else
{
}
else
{
self
.
loadHistoryMessages
(
roomId
:
roomId
)
self
.
loadHistoryMessages
(
roomId
:
roomId
)
}
}
...
@@ -361,10 +367,10 @@ class YHLivePlayerViewController: YHBasePlayerViewController {
...
@@ -361,10 +367,10 @@ class YHLivePlayerViewController: YHBasePlayerViewController {
if
!
YHIMHelper
.
shared
.
isCurrentUserLogin
{
if
!
YHIMHelper
.
shared
.
isCurrentUserLogin
{
YHIMHelper
.
shared
.
registerAndLoginCurrentUser
{
_
in
YHIMHelper
.
shared
.
registerAndLoginCurrentUser
{
_
in
joinRoom
()
joinRoom
(
retryCount
:
0
)
}
}
}
else
{
}
else
{
joinRoom
()
joinRoom
(
retryCount
:
0
)
}
}
}
}
...
@@ -442,11 +448,21 @@ class YHLivePlayerViewController: YHBasePlayerViewController {
...
@@ -442,11 +448,21 @@ class YHLivePlayerViewController: YHBasePlayerViewController {
DispatchQueue
.
global
()
.
async
{
DispatchQueue
.
global
()
.
async
{
if
let
url
=
YHShareManager
.
shared
.
createMutilShareUrl
(
type
:
1
,
param
:
[
"LiveID"
:
"106"
])
{
if
let
url
=
YHShareManager
.
shared
.
createMutilShareUrl
(
type
:
1
,
param
:
[
"LiveID"
:
String
(
self
.
liveId
)])
{
printLog
(
url
)
//for test hjl
let
tmpT
=
url
.
base64Encoded
??
""
//对deepLink使用 base64编码
var
oldUrl
=
liveModel
.
live_h5_url
if
oldUrl
.
contains
(
"?"
)
{
oldUrl
=
oldUrl
+
"&uid=
\(
YHLoginManager
.
shared
.
userModel
?
.
id
??
"0"
)
"
+
"&fromPlatform=iOS"
+
"&appDeepLink=
\(
tmpT
)
"
}
else
{
oldUrl
=
oldUrl
+
"?uid=
\(
YHLoginManager
.
shared
.
userModel
?
.
id
??
"0"
)
"
+
"&fromPlatform=iOS"
+
"&appDeepLink=
\(
tmpT
)
"
}
}
// printLog(url.absoluteString)
DispatchQueue
.
main
.
async
{
YHShareAlertView
.
show
(
image
:
liveModel
.
live_image
,
title
:
"@"
+
liveModel
.
account
,
subMessage
:
liveModel
.
live_title
,
linkUrl
:
oldUrl
,
isLive
:
true
,
fromAiSale
:
true
)
}
return
}
DispatchQueue
.
main
.
async
{
DispatchQueue
.
main
.
async
{
YHShareAlertView
.
show
(
image
:
liveModel
.
live_image
,
title
:
"@"
+
liveModel
.
account
,
subMessage
:
liveModel
.
live_title
,
linkUrl
:
liveModel
.
live_h5_url
,
isLive
:
true
,
fromAiSale
:
true
)
YHShareAlertView
.
show
(
image
:
liveModel
.
live_image
,
title
:
"@"
+
liveModel
.
account
,
subMessage
:
liveModel
.
live_title
,
linkUrl
:
liveModel
.
live_h5_url
,
isLive
:
true
,
fromAiSale
:
true
)
...
...
galaxy/galaxy/Classes/Modules/LivestreamSales(直播销售)/C/YHPlayerManager.swift
View file @
1290e8a9
...
@@ -366,6 +366,9 @@ class YHPlayerManager: NSObject {
...
@@ -366,6 +366,9 @@ class YHPlayerManager: NSObject {
}
}
func
enterLive
(
from
sourceView
:
UIView
?,
playbackInfo
:
PlaybackInfo
)
{
func
enterLive
(
from
sourceView
:
UIView
?,
playbackInfo
:
PlaybackInfo
)
{
NotificationCenter
.
default
.
post
(
name
:
YhConstant
.
YhNotification
.
closeShareUIInLiveRoomNotifiction
,
object
:
nil
)
let
playerType
=
determinePlayerType
(
for
:
.
fullscreen
)
let
playerType
=
determinePlayerType
(
for
:
.
fullscreen
)
var
updatedInfo
=
playbackInfo
var
updatedInfo
=
playbackInfo
updatedInfo
.
scene
=
.
fullscreen
updatedInfo
.
scene
=
.
fullscreen
...
...
galaxy/galaxy/Classes/Modules/LivestreamSales(直播销售)/V/YHShareAlertView.swift
View file @
1290e8a9
...
@@ -76,7 +76,15 @@ class YHShareAlertView: UIView {
...
@@ -76,7 +76,15 @@ class YHShareAlertView: UIView {
fatalError
(
"init(coder:) has not been implemented"
)
fatalError
(
"init(coder:) has not been implemented"
)
}
}
deinit
{
NotificationCenter
.
default
.
removeObserver
(
self
)
}
func
setView
()
{
func
setView
()
{
NotificationCenter
.
default
.
addObserver
(
self
,
selector
:
#selector(
dismiss
)
,
name
:
YhConstant
.
YhNotification
.
closeShareUIInLiveRoomNotifiction
,
object
:
nil
)
backgroundColor
=
UIColor
(
hex
:
0x0000
,
alpha
:
0.5
)
backgroundColor
=
UIColor
(
hex
:
0x0000
,
alpha
:
0.5
)
centerView
=
{
centerView
=
{
let
view
=
UIView
()
let
view
=
UIView
()
...
@@ -296,7 +304,8 @@ class YHShareAlertView: UIView {
...
@@ -296,7 +304,8 @@ class YHShareAlertView: UIView {
@objc
func
wxClick
()
{
@objc
func
wxClick
()
{
if
fromAiSale
{
if
fromAiSale
{
let
content
=
isLive
?
"
\(
title
)
正在直播中,快来围观吧~"
:
"点击查看详情讲解~"
// let content = isLive ? "\(title)正在直播中,快来围观吧~" : "点击查看详情讲解~"
let
content
=
isLive
?
"分享您一个直播间,快来看看吧~"
:
"点击查看详情讲解~"
YHShareManager
.
shared
.
sendLinkContent
(
subMessage
,
content
,
mainImageView
.
image
??
UIImage
(),
link
:
linkUrl
)
YHShareManager
.
shared
.
sendLinkContent
(
subMessage
,
content
,
mainImageView
.
image
??
UIImage
(),
link
:
linkUrl
)
}
else
{
}
else
{
YHShareManager
.
shared
.
sendLinkContent
(
title
,
subMessage
,
mainImageView
.
image
??
UIImage
(),
link
:
linkUrl
)
YHShareManager
.
shared
.
sendLinkContent
(
title
,
subMessage
,
mainImageView
.
image
??
UIImage
(),
link
:
linkUrl
)
...
...
galaxy/galaxy/Classes/Tools/Analytics/YHShareManager.swift
View file @
1290e8a9
...
@@ -284,15 +284,15 @@ extension YHShareManager {
...
@@ -284,15 +284,15 @@ extension YHShareManager {
let
components
=
AGCAppLinkingComponents
()
let
components
=
AGCAppLinkingComponents
()
//通过urlPrefix属性设置为申请链接前缀中的链接前缀
//通过urlPrefix属性设置为申请链接前缀中的链接前缀
components
.
uriPrefix
=
"https://yinheapp.drcn.agconnect.link"
components
.
uriPrefix
=
YhConstant
.
DeepLink
.
urlPreUrlFix
//通过deepLink属性设置深度链接地址
//通过deepLink属性设置深度链接地址
var
linkUrl
=
YhConstant
.
DeepLink
.
url
+
"?"
+
"type=
\(
type
)
"
var
linkUrl
=
YhConstant
.
DeepLink
.
url
+
"?"
+
"type=
\(
type
)
"
let
arrKey
=
param
.
keys
let
arrKey
=
param
.
keys
for
(
_
,
item
)
in
arrKey
.
enumerated
()
{
for
(
_
,
item
)
in
arrKey
.
enumerated
()
{
if
let
value
=
param
[
item
],
!
value
.
isEmpty
,
let
value2
=
YHURLEncodeHelper
.
urlEncodedString
(
value
)
{
if
let
value
=
param
[
item
],
!
value
.
isEmpty
{
linkUrl
=
linkUrl
+
"&"
+
item
+
"="
+
value
2
linkUrl
=
linkUrl
+
"&"
+
item
+
"="
+
value
}
}
}
}
...
@@ -300,7 +300,7 @@ extension YHShareManager {
...
@@ -300,7 +300,7 @@ extension YHShareManager {
components
.
deepLink
=
linkUrl
components
.
deepLink
=
linkUrl
components
.
iosBundleId
=
Bundle
.
main
.
bundleIdentifier
components
.
iosBundleId
=
Bundle
.
main
.
bundleIdentifier
components
.
androidDeepLink
=
linkUrl
//安卓平台调用不过 所以需要单独写出来
components
.
androidDeepLink
=
linkUrl
//安卓平台调用不过 所以需要单独写出来
components
.
androidPackageName
=
"com.galaxy.galaxyandroid"
components
.
androidPackageName
=
"com.galaxy.galaxyandroid"
let
url
=
components
.
buildLongLink
()
let
url
=
components
.
buildLongLink
()
...
...
galaxy/galaxy/Classes/Tools/Helper/YhConstant.swift
View file @
1290e8a9
...
@@ -193,18 +193,6 @@ func configTabBarController() -> YHTabBarViewController {
...
@@ -193,18 +193,6 @@ func configTabBarController() -> YHTabBarViewController {
}
}
return
false
return
false
}
}
tabBarController
.
didHijackHandler
=
{
tabBarController
,
viewController
,
index
in
if
index
==
ai_tabIndex
{
if
!
YHLoginManager
.
shared
.
isLogin
()
{
YHOneKeyLoginManager
.
shared
.
oneKeyLogin
()
return
}
let
vc
=
YHAITabViewController
()
UIViewController
.
current
?
.
navigationController
?
.
pushViewController
(
vc
)
}
}
v0
.
tabBarItem
=
ESTabBarItem
.
init
(
YHHomeLottieAnimateContentView
(),
title
:
"首页"
,
image
:
UIImage
(
named
:
"home"
),
selectedImage
:
UIImage
(
named
:
"home_1"
))
v0
.
tabBarItem
=
ESTabBarItem
.
init
(
YHHomeLottieAnimateContentView
(),
title
:
"首页"
,
image
:
UIImage
(
named
:
"home"
),
selectedImage
:
UIImage
(
named
:
"home_1"
))
...
@@ -239,6 +227,7 @@ extension YhConstant {
...
@@ -239,6 +227,7 @@ extension YhConstant {
//DeepLink 常量
//DeepLink 常量
struct
DeepLink
{
struct
DeepLink
{
static
let
urlPreUrlFix
=
"https://yinheapp.drcn.agconnect.link"
static
let
url
=
"yinheapp://hkdiy-h5.galaxy-immi.com/galaxyapp"
static
let
url
=
"yinheapp://hkdiy-h5.galaxy-immi.com/galaxyapp"
static
let
compareUrl
=
"yinheapp://hkdiy-h5.galaxy-immi.com/galaxyapp?type="
static
let
compareUrl
=
"yinheapp://hkdiy-h5.galaxy-immi.com/galaxyapp?type="
...
@@ -414,5 +403,8 @@ extension YhConstant {
...
@@ -414,5 +403,8 @@ extension YhConstant {
public
static
let
backToHomeNotification
=
Notification
.
Name
(
rawValue
:
"com.yinhe.backToHomeNotification"
)
public
static
let
backToHomeNotification
=
Notification
.
Name
(
rawValue
:
"com.yinhe.backToHomeNotification"
)
// 切换到AI对话tab
// 切换到AI对话tab
public
static
let
didSwitchToAIChatNotification
=
Notification
.
Name
(
rawValue
:
"com.yinhe.switchToAIChat"
)
public
static
let
didSwitchToAIChatNotification
=
Notification
.
Name
(
rawValue
:
"com.yinhe.switchToAIChat"
)
//关闭直播间弹出的分享界面
public
static
let
closeShareUIInLiveRoomNotifiction
=
Notification
.
Name
(
rawValue
:
"com.yinhe.app.close.share.ui"
)
}
}
}
}
galaxy/galaxy/Classes/Tools/NetWork/YHAllApiName.swift
View file @
1290e8a9
...
@@ -217,6 +217,15 @@ class YHAllApiName {
...
@@ -217,6 +217,15 @@ class YHAllApiName {
static
let
updateBasicInfoApi
=
"infoflow/basics/update_basics"
static
let
updateBasicInfoApi
=
"infoflow/basics/update_basics"
}
}
//Basics
struct
GCBasics
{
//获取 基本资料信息
static
let
basicInfoApi
=
"super-app/basic/gc-information"
//保存基本资料信息
static
let
updateBasicInfoApi
=
"super-app/basic/gc-information/update"
}
struct
OrderInformation
{
struct
OrderInformation
{
//主申请人获取信息
//主申请人获取信息
static
let
getInformation
=
"infoflow/order-information/get_information"
static
let
getInformation
=
"infoflow/order-information/get_information"
...
@@ -723,4 +732,9 @@ class YHAllApiName {
...
@@ -723,4 +732,9 @@ class YHAllApiName {
static
let
createMessage
=
"super-app/ai/agent/chat-create-message"
static
let
createMessage
=
"super-app/ai/agent/chat-create-message"
}
}
//数据收集
struct
DataCollection
{
static
let
shareApi
=
"infoflow/article/share"
}
}
}
galaxy/galaxy/Res/Assets.xcassets/ServiceCenter/我的证书/my_filelist_gc_bg.imageset/Contents.json
0 → 100644
View file @
1290e8a9
{
"images"
:
[
{
"idiom"
:
"universal"
,
"scale"
:
"1x"
},
{
"filename"
:
"待完善清单-头图背景@2x.png"
,
"idiom"
:
"universal"
,
"scale"
:
"2x"
},
{
"filename"
:
"待完善清单-头图背景@3x.png"
,
"idiom"
:
"universal"
,
"scale"
:
"3x"
}
],
"info"
:
{
"author"
:
"xcode"
,
"version"
:
1
}
}
galaxy/galaxy/Res/Assets.xcassets/ServiceCenter/我的证书/my_filelist_gc_bg.imageset/待完善清单-头图背景@2x.png
0 → 100644
View file @
1290e8a9
225 KB
galaxy/galaxy/Res/Assets.xcassets/ServiceCenter/我的证书/my_filelist_gc_bg.imageset/待完善清单-头图背景@3x.png
0 → 100644
View file @
1290e8a9
379 KB
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