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