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
f193870a
Commit
f193870a
authored
Dec 18, 2024
by
Steven杜宇
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
// 覆盖优才文件夹
parent
8bb53f71
Changes
14
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
2988 additions
and
3835 deletions
+2988
-3835
project.pbxproj
galaxy/galaxy.xcodeproj/project.pbxproj
+2970
-2982
YHSpouseBasicInfoVC.swift
...ilyMember(家庭成员信息表)/C/Spouse(配偶)/YHSpouseBasicInfoVC.swift
+2
-2
YHFamilyInitialInfo.swift
...我的信息流程)/FamilyMember(家庭成员信息表)/M/YHFamilyInitialInfo.swift
+4
-6
YHFormItemDoubleChoiceCell.swift
.../FamilyMember(家庭成员信息表)/V/YHFormItemDoubleChoiceCell.swift
+0
-22
YHGCIncomeRecordAndWorkExperienceVC.swift
...eRecord(收入记录)/C/YHGCIncomeRecordAndWorkExperienceVC.swift
+0
-277
YHOtherInfoFillViewModel.swift
.../OtherInformation(其他信息)/VM/YHOtherInfoFillViewModel.swift
+4
-2
YHPreviewInfoNameAndSubNameItemView.swift
...oList(个人信息预览)/V/YHPreviewInfoNameAndSubNameItemView.swift
+3
-2
YHPreviewInfoWorkExpView.swift
...)/PersonInfoList(个人信息预览)/V/YHPreviewInfoWorkExpView.swift
+0
-2
YHWorkExperienceListViewController.swift
...perience(工作经验)/C/YHWorkExperienceListViewController.swift
+1
-4
YHWorkIntroductionViewController.swift
...Experience(工作经验)/C/YHWorkIntroductionViewController.swift
+0
-431
YHWorkExperienceDetailModel.swift
...kExperience(工作经验)/Model/YHWorkExperienceDetailModel.swift
+2
-1
YHWorkExperienceProjectModel.swift
...Experience(工作经验)/Model/YHWorkExperienceProjectModel.swift
+0
-13
YHWorkExperienceViewModel.swift
...xperience(工作经验)/ViewModel/YHWorkExperienceViewModel.swift
+2
-2
YHWorkIntroductionViewModel.swift
...erience(工作经验)/ViewModel/YHWorkIntroductionViewModel.swift
+0
-89
No files found.
galaxy/galaxy.xcodeproj/project.pbxproj
View file @
f193870a
This source diff could not be displayed because it is too large. You can
view the blob
instead.
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/QMAS(优才)/ServiceProcess(我的信息流程)/FamilyMember(家庭成员信息表)/C/Spouse(配偶)/YHSpouseBasicInfoVC.swift
View file @
f193870a
...
...
@@ -20,8 +20,8 @@ enum HKFormItemCellType: Int {
case
degreeDetailInfo
=
7
case
onlyTwoChoice
=
8
case
question
=
9
case
educationCerUpload
=
10
case
cerConfirm
=
1
1
case
cerConfirm
=
1
0
}
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/QMAS(优才)/ServiceProcess(我的信息流程)/FamilyMember(家庭成员信息表)/M/YHFamilyInitialInfo.swift
View file @
f193870a
...
...
@@ -70,8 +70,6 @@ enum YHFormTitleItemType:Int, CaseIterable {
case
mainApplicantProfessionalQualification
// 学历证书姓名及出生日期正确性
case
edutionalCertificateNameAndBirthday
// 学历证件(选填)
case
educationCertificate
...
...
@@ -194,6 +192,7 @@ enum YHFormDetailItemType:Int {
case
educationCity
// 证件提供确认
case
cerConfirm
// 证书信息
case
certificateInfo
// 资格证书名称
...
...
@@ -297,8 +296,7 @@ class YHFormTitleItem : YHFormItemProtocol {
return
"主申请人专业资格及会员资格"
.
local
case
.
edutionalCertificateNameAndBirthday
:
return
"学历证书姓名及出生日期正确性"
.
local
case
.
educationCertificate
:
return
"学历证件(选填)"
.
local
}
}
...
...
@@ -318,8 +316,6 @@ class YHFormTitleItem : YHFormItemProtocol {
return
"(如有,非必填)"
.
local
case
.
edutionalCertificateNameAndBirthday
:
return
""
.
local
case
.
educationCertificate
:
return
""
.
local
case
.
isPreviousMarriageChild
:
return
""
.
local
case
.
accompany
:
...
...
@@ -532,6 +528,8 @@ class YHFormDetailItem : YHFormItemProtocol {
case
.
cerConfirm
:
return
"证件提供确认"
.
local
}
}
func
getSubTitle
()
->
String
{
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/QMAS(优才)/ServiceProcess(我的信息流程)/FamilyMember(家庭成员信息表)/V/YHFormItemDoubleChoiceCell.swift
View file @
f193870a
...
...
@@ -203,34 +203,12 @@ class YHFormItemDoubleChoiceCell: UITableViewCell {
make
.
top
.
equalTo
(
titleLabel
.
snp
.
bottom
)
make
.
bottom
.
equalToSuperview
()
.
offset
(
-
16
)
.
priority
(
.
medium
)
}
setTips
(
""
,
isShow
:
false
)
}
func
setTips
(
_
tips
:
String
?,
isShow
:
Bool
)
{
tipsLabel
.
text
=
tips
tipsLabel
.
isHidden
=
!
isShow
if
isShow
{
tipsLabel
.
snp
.
remakeConstraints
{
make
in
make
.
left
.
equalToSuperview
()
.
offset
(
horizonalGap
)
make
.
right
.
equalToSuperview
()
.
offset
(
-
horizonalGap
)
make
.
top
.
equalTo
(
titleLabel
.
snp
.
bottom
)
make
.
bottom
.
equalToSuperview
()
.
offset
(
-
16
)
}
}
else
{
tipsLabel
.
snp
.
remakeConstraints
{
make
in
make
.
left
.
equalToSuperview
()
.
offset
(
horizonalGap
)
make
.
right
.
equalToSuperview
()
.
offset
(
-
horizonalGap
)
make
.
top
.
equalTo
(
titleLabel
.
snp
.
bottom
)
make
.
height
.
equalTo
(
0
)
make
.
bottom
.
equalToSuperview
()
.
offset
(
-
16
)
}
}
self
.
setNeedsLayout
()
self
.
layoutIfNeeded
()
}
// 更新答案按钮选中状态
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/QMAS(优才)/ServiceProcess(我的信息流程)/IncomeRecord(收入记录)/C/YHGCIncomeRecordAndWorkExperienceVC.swift
deleted
100644 → 0
View file @
8bb53f71
//
// YHIncomeRecordAndWorkExperienceVC.swift
// galaxy
//
// Created by alexzzw on 2024/11/13.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
IQKeyboardManagerSwift
import
AttributedString
import
UIKit
class
YHIncomeRecordAndWorkExperienceVC
:
YHBaseViewController
{
enum
TableRow
{
case
incomeSummary
(
_
isEditing
:
Bool
=
false
,
_
isEditEnable
:
Bool
=
false
)
case
incomeItem
(
_
isEditState
:
Bool
=
false
,
_
company
:
String
,
_
money
:
String
,
_
timeStr
:
String
)
case
incomeOccupyingItem
(
_
title
:
String
,
_
detail
:
String
)
case
addItem
case
totalImcome
(
_
money
:
ASAttributedString
)
case
consentForHKTravel
(
_
isSelectSureBtn
:
Bool
=
true
)
case
currentCompany
(
_
company
:
String
?)
case
timeHeader
case
timeStatement
(
_
placeholder
:
String
,
_
remark
:
String
?,
_
detail
:
ASAttributedString
)
}
private
lazy
var
datas
:
[[
TableRow
]]
=
[]
private
lazy
var
saveButton
:
UIButton
=
{
let
button
=
UIButton
(
type
:
.
custom
)
button
.
titleLabel
?
.
font
=
UIFont
.
PFSC_M
(
ofSize
:
15
)
button
.
setTitle
(
"保存"
,
for
:
.
normal
)
button
.
setTitle
(
"保存"
,
for
:
.
highlighted
)
button
.
setTitleColor
(
.
mainTextColor
,
for
:
.
normal
)
button
.
setTitleColor
(
.
mainTextColor
,
for
:
.
highlighted
)
button
.
addTarget
(
self
,
action
:
#selector(
clickSaveButton
)
,
for
:
.
touchUpInside
)
button
.
layer
.
cornerRadius
=
kCornerRadius3
button
.
clipsToBounds
=
true
button
.
backgroundColor
=
.
contentBkgColor
return
button
}()
private
lazy
var
submitButton
:
UIButton
=
{
let
button
=
UIButton
(
type
:
.
custom
)
button
.
titleLabel
?
.
font
=
UIFont
.
PFSC_M
(
ofSize
:
15
)
button
.
setTitle
(
"提交"
,
for
:
.
normal
)
button
.
setTitle
(
"提交"
,
for
:
.
highlighted
)
button
.
setTitleColor
(
UIColor
(
hex
:
0xFFFFFF
),
for
:
.
normal
)
button
.
setTitleColor
(
UIColor
(
hex
:
0xFFFFFF
),
for
:
.
highlighted
)
button
.
addTarget
(
self
,
action
:
#selector(
clickSubmitButton
)
,
for
:
.
touchUpInside
)
button
.
layer
.
cornerRadius
=
kCornerRadius3
button
.
clipsToBounds
=
true
button
.
backgroundColor
=
.
brandMainColor
return
button
}()
private
lazy
var
bottomView
:
UIView
=
{
let
view
=
UIView
()
view
.
backgroundColor
=
.
white
return
view
}()
private
lazy
var
tableView
:
UITableView
=
{
let
view
=
UITableView
(
frame
:
.
zero
,
style
:
.
grouped
)
view
.
estimatedSectionHeaderHeight
=
16.0
view
.
estimatedSectionFooterHeight
=
0.01
view
.
sectionHeaderHeight
=
16.0
view
.
sectionFooterHeight
=
0.01
view
.
contentInsetAdjustmentBehavior
=
.
never
view
.
showsVerticalScrollIndicator
=
false
view
.
separatorStyle
=
.
none
view
.
delegate
=
self
view
.
dataSource
=
self
view
.
backgroundColor
=
.
clear
view
.
tableFooterView
=
UITableViewHeaderFooterView
()
view
.
rowHeight
=
UITableView
.
automaticDimension
view
.
register
(
YHIncomeRecordSummaryCell
.
self
,
forCellReuseIdentifier
:
YHIncomeRecordSummaryCell
.
cellReuseIdentifier
)
view
.
register
(
YHIncomeRecordItemCell
.
self
,
forCellReuseIdentifier
:
YHIncomeRecordItemCell
.
cellReuseIdentifier
)
view
.
register
(
YHAddIncomeRecordCell
.
self
,
forCellReuseIdentifier
:
YHAddIncomeRecordCell
.
cellReuseIdentifier
)
view
.
register
(
YHInfoConsentForHKTravelCell
.
self
,
forCellReuseIdentifier
:
YHInfoConsentForHKTravelCell
.
cellReuseIdentifier
)
view
.
register
(
YHTotalIncomeCell
.
self
,
forCellReuseIdentifier
:
YHTotalIncomeCell
.
cellReuseIdentifier
)
view
.
register
(
YHEmploymentVerificationAvailableCell
.
self
,
forCellReuseIdentifier
:
YHEmploymentVerificationAvailableCell
.
cellReuseIdentifier
)
view
.
register
(
YHWorkingHoursStatementCell
.
self
,
forCellReuseIdentifier
:
YHWorkingHoursStatementCell
.
cellReuseIdentifier
)
view
.
register
(
YHIncomeItemOccupyingCell
.
self
,
forCellReuseIdentifier
:
YHIncomeItemOccupyingCell
.
cellReuseIdentifier
)
view
.
register
(
YHWorkingHourHeaderCell
.
self
,
forCellReuseIdentifier
:
YHWorkingHourHeaderCell
.
cellReuseIdentifier
)
view
.
keyboardDismissMode
=
.
onDrag
return
view
}()
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
setupUI
()
setupData
()
}
override
func
viewWillAppear
(
_
animated
:
Bool
)
{
super
.
viewWillAppear
(
animated
)
IQKeyboardManager
.
shared
.
isEnabled
=
true
}
override
func
viewWillDisappear
(
_
animated
:
Bool
)
{
super
.
viewWillDisappear
(
animated
)
IQKeyboardManager
.
shared
.
isEnabled
=
false
}
}
extension
YHIncomeRecordAndWorkExperienceVC
{
@objc
private
func
clickSaveButton
()
{
//
}
@objc
private
func
clickSubmitButton
()
{
//
}
private
func
setupUI
()
{
gk_navTitle
=
"收入记录/工作经验填写"
gk_navBarAlpha
=
1.0
gk_navBackgroundColor
=
.
white
view
.
backgroundColor
=
UIColor
.
contentBkgColor
view
.
addSubview
(
tableView
)
view
.
addSubview
(
bottomView
)
bottomView
.
addSubview
(
saveButton
)
bottomView
.
addSubview
(
submitButton
)
bottomView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
right
.
equalToSuperview
()
make
.
bottom
.
equalToSuperview
()
make
.
top
.
equalTo
(
view
.
safeAreaLayoutGuide
.
snp
.
bottom
)
.
offset
(
-
64
)
}
saveButton
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalToSuperview
()
.
offset
(
16
)
make
.
top
.
equalToSuperview
()
.
offset
(
10
)
make
.
height
.
equalTo
(
44
)
make
.
width
.
equalTo
(
86
)
}
submitButton
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
saveButton
.
snp
.
right
)
.
offset
(
10
)
make
.
right
.
equalToSuperview
()
.
offset
(
-
16
)
make
.
top
.
equalToSuperview
()
.
offset
(
10
)
make
.
height
.
equalTo
(
44
)
}
tableView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
right
.
equalToSuperview
()
make
.
top
.
equalTo
(
k_Height_NavigationtBarAndStatuBar
)
make
.
bottom
.
equalTo
(
bottomView
.
snp
.
top
)
}
tableView
.
tableFooterView
=
UIView
(
frame
:
CGRect
(
x
:
0
,
y
:
0
,
width
:
KScreenWidth
,
height
:
44
))
}
private
func
setupData
()
{
let
totalMoney
:
ASAttributedString
=
.
init
(
string
:
"约"
,
.
font
(
.
PFSC_R
(
ofSize
:
14
)))
+
.
init
(
string
:
"1,351,517"
,
.
font
(
UIFont
(
name
:
"DINAlternate-Bold"
,
size
:
16
)
??
UIFont
.
systemFont
(
ofSize
:
16
)))
+
.
init
(
string
:
"港币"
,
.
font
(
.
PFSC_R
(
ofSize
:
14
)))
let
firstSection
:
[
TableRow
]
=
[
.
incomeSummary
(
false
,
false
),
.
incomeItem
(
false
,
"华为有限公司"
,
"约1,234,234港币"
,
"2019.07-至今"
),
.
incomeItem
(
false
,
"腾讯有限公司"
,
"约1,234,234港币"
,
"2015.07-2019.06"
),
.
totalImcome
(
totalMoney
),
.
addItem
]
let
secondSection
:
[
TableRow
]
=
[
.
timeHeader
,
.
timeStatement
(
"如:工作时间灵活,可自由安排"
,
nil
,
getOverlappingTimeAttributedTips
())]
let
thirdSection
:
[
TableRow
]
=
[
.
consentForHKTravel
(
true
),
.
currentCompany
(
"华为科技有限公司"
)]
datas
=
[
firstSection
,
secondSection
,
thirdSection
]
tableView
.
reloadData
()
}
private
func
getOverlappingTimeAttributedTips
()
->
ASAttributedString
{
let
starStr
:
ASAttributedString
=
.
init
(
.
image
(
UIImage
(
named
:
"gc_red_dot"
)
??
UIImage
(),
bounds
:
CGRect
(
x
:
0
,
y
:
0
,
width
:
6
,
height
:
6
)))
let
indentStr
:
ASAttributedString
=
.
init
(
.
image
(
UIImage
(),
bounds
:
CGRect
(
x
:
0
,
y
:
0
,
width
:
5
,
height
:
5
)))
let
firstStr
:
ASAttributedString
=
.
init
(
string
:
"检测到您的"
,
.
font
(
UIFont
.
PFSC_R
(
ofSize
:
13
)),
.
foreground
(
UIColor
(
hexString
:
"#8993A2"
)
??
.
gray
))
let
secondStr
:
ASAttributedString
=
.
init
(
string
:
"工作时间有重叠"
,
.
font
(
UIFont
.
PFSC_B
(
ofSize
:
13
)),
.
foreground
(
UIColor
.
failColor
))
let
thirdStr
:
ASAttributedString
=
.
init
(
string
:
"。请确认是否正确填报,若填报无误请在此处说明工作时间重叠的原因~"
,
.
font
(
UIFont
.
PFSC_R
(
ofSize
:
13
)),
.
foreground
(
UIColor
(
hexString
:
"#8993A2"
)
??
.
gray
))
let
attributedText
=
(
starStr
+
indentStr
+
firstStr
+
secondStr
+
thirdStr
)
return
attributedText
}
}
extension
YHIncomeRecordAndWorkExperienceVC
:
UITableViewDelegate
,
UITableViewDataSource
{
func
numberOfSections
(
in
tableView
:
UITableView
)
->
Int
{
return
datas
.
count
}
func
tableView
(
_
tableView
:
UITableView
,
numberOfRowsInSection
section
:
Int
)
->
Int
{
guard
datas
.
count
>
section
else
{
return
0
}
let
sectionArr
=
datas
[
section
]
return
sectionArr
.
count
}
func
tableView
(
_
tableView
:
UITableView
,
cellForRowAt
indexPath
:
IndexPath
)
->
UITableViewCell
{
guard
datas
.
count
>
indexPath
.
section
else
{
return
UITableViewCell
()
}
let
sectionArr
=
datas
[
indexPath
.
section
]
guard
sectionArr
.
count
>
indexPath
.
row
else
{
return
UITableViewCell
()
}
let
tableRow
=
sectionArr
[
indexPath
.
row
]
switch
tableRow
{
case
let
.
incomeSummary
(
isEditState
,
isEditEnable
):
if
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHIncomeRecordSummaryCell
.
cellReuseIdentifier
)
as?
YHIncomeRecordSummaryCell
{
// cell.setupCellInfo(isEditState, isEditEnable)
return
cell
}
case
let
.
incomeItem
(
isEditState
,
company
,
money
,
timeStr
):
if
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHIncomeRecordItemCell
.
cellReuseIdentifier
)
as?
YHIncomeRecordItemCell
{
cell
.
setupCellInfo
(
title
:
company
,
detail
:
money
,
rightText
:
timeStr
,
isEditing
:
isEditState
,
showBottomLine
:
false
)
return
cell
}
case
.
addItem
:
if
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHAddIncomeRecordCell
.
cellReuseIdentifier
)
as?
YHAddIncomeRecordCell
{
cell
.
addButtonClickEvent
=
{
//
}
return
cell
}
case
let
.
totalImcome
(
money
):
if
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHTotalIncomeCell
.
cellReuseIdentifier
)
as?
YHTotalIncomeCell
{
cell
.
setupCellInfo
(
detail
:
money
)
cell
.
didClickInfoButton
=
{
YHHUD
.
flash
(
message
:
"注:按1港币≈0.92人民币计算,实际金额按递交时入境处给出的汇率为准"
)
}
return
cell
}
case
let
.
consentForHKTravel
(
isSelectSureBtn
):
if
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHInfoConsentForHKTravelCell
.
cellReuseIdentifier
)
as?
YHInfoConsentForHKTravelCell
{
// cell.textClicked = {
// //
// }
cell
.
didSelectSureButton
=
{
_
in
//
}
// cell.selectedSureButton = isSelectSureBtn
return
cell
}
case
let
.
currentCompany
(
company
):
if
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHEmploymentVerificationAvailableCell
.
cellReuseIdentifier
)
as?
YHEmploymentVerificationAvailableCell
{
cell
.
setupCellInfo
(
detail
:
company
)
return
cell
}
case
let
.
timeStatement
(
placeholder
,
remark
,
detail
):
if
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHWorkingHoursStatementCell
.
cellReuseIdentifier
)
as?
YHWorkingHoursStatementCell
{
cell
.
setupCellInfo
(
placeholder
:
placeholder
,
remark
:
remark
,
detail
:
detail
,
isShowBottomLine
:
false
)
return
cell
}
case
let
.
incomeOccupyingItem
(
title
,
detail
):
if
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHIncomeItemOccupyingCell
.
cellReuseIdentifier
)
as?
YHIncomeItemOccupyingCell
{
cell
.
setupCellInfo
(
title
:
title
,
rightText
:
detail
)
return
cell
}
case
.
timeHeader
:
if
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHWorkingHourHeaderCell
.
cellReuseIdentifier
)
as?
YHWorkingHourHeaderCell
{
return
cell
}
}
return
UITableViewCell
()
}
func
tableView
(
_
tableView
:
UITableView
,
heightForRowAt
indexPath
:
IndexPath
)
->
CGFloat
{
return
UITableView
.
automaticDimension
}
func
tableView
(
_
tableView
:
UITableView
,
viewForHeaderInSection
section
:
Int
)
->
UIView
?
{
return
UIView
()
}
func
tableView
(
_
tableView
:
UITableView
,
viewForFooterInSection
section
:
Int
)
->
UIView
?
{
return
UIView
()
}
func
tableView
(
_
tableView
:
UITableView
,
didSelectRowAt
indexPath
:
IndexPath
)
{
tableView
.
deselectRow
(
at
:
indexPath
,
animated
:
true
)
//
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/QMAS(优才)/ServiceProcess(我的信息流程)/OtherInformation(其他信息)/VM/YHOtherInfoFillViewModel.swift
View file @
f193870a
...
...
@@ -214,6 +214,7 @@ class YHOtherInfoFillViewModel: YHBaseViewModel {
]
],
]
}
extension
YHOtherInfoFillViewModel
{
...
...
@@ -231,7 +232,7 @@ extension YHOtherInfoFillViewModel {
callBackBlock
(
false
,
nil
)
return
}
// if resultModel.residences.isEmpty {
// resultModel.residences.append(Residence())
// }
...
...
@@ -240,6 +241,7 @@ extension YHOtherInfoFillViewModel {
//根据返回值 组装 真实的数据
handleData
()
callBackBlock
(
true
,
nil
)
}
else
{
...
...
@@ -277,7 +279,6 @@ extension YHOtherInfoFillViewModel {
extension
YHOtherInfoFillViewModel
{
func
handleData
()
{
// if let language = self.otherInfoFillData?.language_detail {
// if language.level > 0 {
// let target = String(language.level)
...
...
@@ -319,6 +320,7 @@ extension YHOtherInfoFillViewModel {
self
.
otherInfoFillData
?
.
language_detail_new_data
=
[]
}
if
let
profession
=
self
.
otherInfoFillData
?
.
profession
{
if
profession
.
option
>
0
{
let
target
=
String
(
profession
.
option
)
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/QMAS(优才)/ServiceProcess(我的信息流程)/PersonInfoList(个人信息预览)/V/YHPreviewInfoNameAndSubNameItemView.swift
View file @
f193870a
...
...
@@ -42,7 +42,6 @@ class YHPreviewInfoNameAndSubNameItemView: UIView {
private
func
setupUI
()
{
addSubview
(
nameLable
)
nameLable
.
snp
.
makeConstraints
{
make
in
// make.top.equalToSuperview().offset(18)
make
.
top
.
equalToSuperview
()
make
.
left
.
equalToSuperview
()
...
...
@@ -50,7 +49,8 @@ class YHPreviewInfoNameAndSubNameItemView: UIView {
// make.height.equalTo(20)
make
.
bottom
.
lessThanOrEqualToSuperview
()
}
addSubview
(
subtitleLable
)
subtitleLable
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
nameLable
.
snp
.
top
)
...
...
@@ -68,6 +68,7 @@ extension YHPreviewInfoNameAndSubNameItemView {
func
update
(
title
:
String
,
subtitle
:
String
)
{
nameLable
.
text
=
title
subtitleLable
.
text
=
subtitle
nameLable
.
snp
.
removeConstraints
()
subtitleLable
.
snp
.
removeConstraints
()
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/QMAS(优才)/ServiceProcess(我的信息流程)/PersonInfoList(个人信息预览)/V/YHPreviewInfoWorkExpView.swift
View file @
f193870a
...
...
@@ -18,7 +18,6 @@ class YHPreviewInfoWorkExpView: UIView {
private
extension
YHPreviewInfoWorkExpView
{
func
updateUI
()
{
guard
let
model
=
dataModel
,
let
mmodel
=
model
.
cellData4
,
!
mmodel
.
isEmpty
else
{
return
}
if
model
.
cellType
==
.
workExp
{
removeSubviews
()
...
...
@@ -35,7 +34,6 @@ private extension YHPreviewInfoWorkExpView {
}
var
lastTagView
:
UIView
=
sessionView
for
(
_
,
item
)
in
mmodel
.
enumerated
()
{
if
!
item
.
title
.
isEmpty
,
!
item
.
title
.
contains
(
"简历/工作总结"
)
{
let
label
=
UILabel
()
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/QMAS(优才)/ServiceProcess(我的信息流程)/WorkExperience(工作经验)/C/YHWorkExperienceListViewController.swift
View file @
f193870a
...
...
@@ -9,7 +9,6 @@
import
UIKit
class
YHWorkExperienceListViewController
:
YHBaseViewController
{
var
bottomView
:
YHBottomNextView
!
var
tableView
:
UITableView
!
var
dataSource
:
[
YHWorkItemListModel
]?
...
...
@@ -17,7 +16,7 @@ class YHWorkExperienceListViewController: YHBaseViewController {
var
isMore
:
Bool
=
false
var
orderId
:
Int
=
0
var
showPrompt
:
Bool
=
false
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
viewModel
=
YHWorkItemListViewModel
()
...
...
@@ -70,7 +69,6 @@ class YHWorkExperienceListViewController: YHBaseViewController {
}
bottomView
=
{
let
bottom
=
YHBottomNextView
()
bottom
.
nextButton
.
setTitle
(
"提交"
,
for
:
.
normal
)
bottom
.
nextblock
=
{
[
weak
self
]
in
...
...
@@ -218,7 +216,6 @@ extension YHWorkExperienceListViewController: UITableViewDelegate, UITableViewDa
for
item
in
data
{
if
item
.
company_name
==
""
{
height
=
height
+
76
}
else
{
let
text
=
item
.
company_name
// 要显示的文本内容
let
font
=
UIFont
.
PFSC_B
(
ofSize
:
14
)
// 字体大小
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/QMAS(优才)/ServiceProcess(我的信息流程)/WorkExperience(工作经验)/C/YHWorkIntroductionViewController.swift
deleted
100644 → 0
View file @
8bb53f71
//
// YHWorkIntroductionViewController.swift
// galaxy
//
// Created by EDY on 2024/2/20.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
class
YHWorkIntroductionViewController
:
YHBaseViewController
{
typealias
SaveBlock
=
()
->
()
var
saveBlock
:
SaveBlock
?
var
nameTextField
:
UITextField
!
var
startTextField
:
UITextField
!
var
endTextField
:
UITextField
!
// var longTimeButton: UIButton!
var
messageTextField
:
UITextView
!
var
startButton
:
UIButton
!
var
endButton
:
UIButton
!
var
promptsLabel
:
UILabel
!
var
actionView
:
YHWorkActionView
!
var
bottomView
:
UIView
!
var
bottomButton
:
UIButton
!
var
viewModel
:
YHWorkIntroductionViewModel
!
var
workModel
:
YHWorkExperienceDetailModel
?
var
dataSource
:
YHWorkExperienceProjectModel
=
YHWorkExperienceProjectModel
()
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
gk_navTitle
=
"工作经验信息填写"
gk_navBackgroundColor
=
.
white
gk_navBarAlpha
=
1.0
viewModel
=
YHWorkIntroductionViewModel
()
setView
()
getData
()
isShowPromptsLabel
()
// Do any additional setup after loading the view.
}
func
getData
()
{
viewModel
?
.
requestIntroducetionExample
(
callBackBlock
:
{
success
,
error
in
})
}
func
setView
()
{
view
.
backgroundColor
=
.
white
let
array
=
[
"项目名称"
,
"项目开始时间"
,
"项目结束时间"
,
"项目业绩/亮点"
]
for
i
in
0
..<
array
.
count
{
let
label
=
UILabel
()
label
.
textColor
=
UIColor
.
mainTextColor
label
.
font
=
UIFont
.
PFSC_R
(
ofSize
:
14
)
label
.
text
=
array
[
i
]
view
.
addSubview
(
label
)
label
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
18
)
make
.
top
.
equalTo
(
CGFloat
(
51
*
i
)
+
k_Height_NavigationtBarAndStatuBar
)
make
.
width
.
equalTo
(
100
)
make
.
height
.
equalTo
(
51
)
}
if
i
!=
array
.
count
-
1
{
let
line
=
UIView
()
line
.
backgroundColor
=
UIColor
.
separatorColor
view
.
addSubview
(
line
)
line
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
18
)
make
.
top
.
equalTo
(
CGFloat
(
51
*
(
i
+
1
))
+
k_Height_NavigationtBarAndStatuBar
)
make
.
right
.
equalTo
(
-
18
)
make
.
height
.
equalTo
(
1
)
}
}
}
nameTextField
=
{
let
textField
=
UITextField
()
textField
.
font
=
UIFont
.
PFSC_R
(
ofSize
:
14
)
textField
.
placeholder
=
"如方便提供,请填写"
textField
.
text
=
dataSource
.
project_name
textField
.
delegate
=
self
return
textField
}()
view
.
addSubview
(
nameTextField
)
nameTextField
.
snp
.
makeConstraints
{
make
in
make
.
right
.
equalTo
(
-
18
)
make
.
top
.
equalTo
(
k_Height_NavigationtBarAndStatuBar
)
make
.
left
.
equalTo
(
117
)
make
.
height
.
equalTo
(
51
)
}
startTextField
=
{
let
textField
=
UITextField
()
textField
.
font
=
UIFont
.
PFSC_R
(
ofSize
:
14
)
textField
.
placeholder
=
"开始时间"
textField
.
isEnabled
=
false
textField
.
isUserInteractionEnabled
=
false
textField
.
text
=
dataSource
.
project_start_time
return
textField
}()
view
.
addSubview
(
startTextField
)
startTextField
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
k_Height_NavigationtBarAndStatuBar
+
52
)
make
.
left
.
equalTo
(
117
)
make
.
height
.
equalTo
(
51
)
make
.
right
.
equalTo
(
-
18
)
}
startButton
=
{
let
button
=
UIButton
(
type
:
.
custom
)
button
.
addTarget
(
self
,
action
:
#selector(
startClick
)
,
for
:
.
touchUpInside
)
return
button
}()
view
.
addSubview
(
startButton
)
startButton
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
k_Height_NavigationtBarAndStatuBar
+
52
)
make
.
left
.
equalTo
(
117
)
make
.
height
.
equalTo
(
51
)
make
.
right
.
equalTo
(
-
18
)
}
endTextField
=
{
let
textField
=
UITextField
()
textField
.
font
=
UIFont
.
PFSC_R
(
ofSize
:
14
)
textField
.
placeholder
=
"结束时间"
textField
.
isEnabled
=
false
textField
.
isUserInteractionEnabled
=
false
if
dataSource
.
project_end_time
!=
"至今"
{
textField
.
text
=
dataSource
.
project_end_time
}
else
{
textField
.
text
=
""
}
return
textField
}()
view
.
addSubview
(
endTextField
)
endTextField
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
k_Height_NavigationtBarAndStatuBar
+
104
)
make
.
left
.
equalTo
(
117
)
make
.
height
.
equalTo
(
51
)
make
.
right
.
equalTo
(
-
18
)
}
endButton
=
{
let
button
=
UIButton
(
type
:
.
custom
)
button
.
addTarget
(
self
,
action
:
#selector(
endClick
)
,
for
:
.
touchUpInside
)
return
button
}()
view
.
addSubview
(
endButton
)
endButton
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
k_Height_NavigationtBarAndStatuBar
+
104
)
make
.
left
.
equalTo
(
117
)
make
.
height
.
equalTo
(
51
)
make
.
right
.
equalTo
(
-
18
)
}
// longTimeButton = {
// let button = UIButton(type: .custom)
// button.setImage(UIImage(named: "main_time_normal"), for: .normal)
// button.setImage(UIImage(named: "login_privacy_agree"), for: .selected)
// button.setTitleColor(UIColor.mainTextColor, for: .normal)
// button.setTitle("至今", for: .normal)
// button.titleLabel?.font = UIFont.PFSC_M(ofSize: 14)
// button.contentHorizontalAlignment = .right
// button.addTarget(self, action: #selector(longTimeButtonClick), for: .touchUpInside)
// if dataSource.project_end_time == "至今" {
// button.isSelected = true
// } else {
// button.isSelected = false
// }
// return button
// }()
// view.addSubview(longTimeButton)
// if dataSource.project_end_time != "至今" {
// longTimeButton.snp.makeConstraints { make in
// make.right.equalTo(-18)
// make.centerY.equalTo(endTextField.snp.centerY)
// make.height.equalTo(32)
// make.width.equalTo(43)
// }
endTextField
.
isHidden
=
false
endButton
.
isHidden
=
false
// }
// else {
// longTimeButton.snp.makeConstraints { make in
// make.left.equalTo(117)
// make.centerY.equalTo(endTextField.snp.centerY)
// make.height.equalTo(32)
// make.width.equalTo(43)
// }
// endTextField.isHidden = true
// endButton.isHidden = true
// }
// longTimeButton.iconInLeft(spacing: 3)
messageTextField
=
{
let
textField
=
UITextView
()
textField
.
backgroundColor
=
UIColor
.
contentBkgColor
textField
.
font
=
UIFont
.
PFSC_R
(
ofSize
:
14
)
textField
.
layer
.
cornerRadius
=
kCornerRadius6
textField
.
delegate
=
self
textField
.
text
=
dataSource
.
project_highlights
return
textField
}()
view
.
addSubview
(
messageTextField
)
messageTextField
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
18
)
make
.
right
.
equalTo
(
-
18
)
make
.
top
.
equalTo
(
208
+
k_Height_NavigationtBarAndStatuBar
)
make
.
bottom
.
equalTo
(
-
k_Height_safeAreaInsetsBottom
()
-
124
)
}
promptsLabel
=
{
let
prompts
=
UILabel
()
prompts
.
font
=
UIFont
.
PFSC_R
(
ofSize
:
14
)
prompts
.
textColor
=
UIColor
(
hex
:
0xc0c0c0
)
prompts
.
text
=
"在职期间负责的核心项目,如果负责过多个项目,请分段描述:
\n\n
例子:
\n\n
模式1、本人对XX项目展开深入研究,通过对XX方法/方式,研究出XX。此外,她还指出XX问题,反映了XX。XX的研究成果对XX产生了重要性,为XX领域/方面提供参考依据;
\n\n
模式2、本人在司参与了XX项目,该项目具有XX突出意义。在此项目中,XX是个难点,本人通过XX方法,实现了XX成果。在XX方面,本人通过XX方式,完成了XX工作。本人凭借在XX领域的丰富经验,推动项目在中国/海外市场取得XX成果。"
prompts
.
numberOfLines
=
0
return
prompts
}()
view
.
addSubview
(
promptsLabel
)
promptsLabel
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
22
)
make
.
right
.
equalTo
(
-
22
)
make
.
top
.
equalTo
(
220
+
k_Height_NavigationtBarAndStatuBar
)
}
actionView
=
{
let
view
=
YHWorkActionView
()
view
.
exampleBlock
=
{[
weak
self
]
in
guard
let
self
=
self
else
{
return
}
self
.
view
.
endEditing
(
true
)
let
mainVc
=
YHWorkExampleViewController
()
mainVc
.
dataSource
=
self
.
viewModel
?
.
introducetionExampleModels
mainVc
.
type
=
.
introduction
mainVc
.
exampleBlock
=
{[
weak
self
]
message
in
guard
let
self
=
self
else
{
return
}
self
.
dataSource
.
project_highlights
=
message
self
.
messageTextField
.
text
=
message
self
.
isShowPromptsLabel
()
}
let
vc
=
UINavigationController
(
rootVC
:
mainVc
)
vc
.
modalPresentationStyle
=
.
pageSheet
self
.
navigationController
?
.
present
(
vc
,
animated
:
true
)
}
view
.
photoBlock
=
{[
weak
self
]
in
guard
let
self
=
self
else
{
return
}
self
.
view
.
endEditing
(
true
)
YHImagePickerView
.
show
()
{[
weak
self
]
image
in
guard
let
self
=
self
else
{
return
}
let
clipperVC
=
YHImageClipperViewController
()
clipperVC
.
setBaseImg
(
image
,
resultImgSize
:
CGSize
(
width
:
image
.
size
.
width
,
height
:
image
.
size
.
height
),
type
:
.
Stay
)
clipperVC
.
successClippedHandler
=
{[
weak
self
]
result
in
guard
let
self
=
self
else
{
return
}
self
.
dataSource
.
project_highlights
=
result
self
.
messageTextField
.
text
=
result
self
.
isShowPromptsLabel
()
}
self
.
navigationController
?
.
pushViewController
(
clipperVC
,
animated
:
true
)
}
}
return
view
}()
view
.
addSubview
(
actionView
)
actionView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
right
.
equalToSuperview
()
make
.
height
.
equalTo
(
44
)
make
.
bottom
.
equalTo
(
-
k_Height_safeAreaInsetsBottom
()
-
64
)
}
bottomView
=
{
let
bottom
=
UIView
()
bottom
.
backgroundColor
=
.
white
return
bottom
}()
view
.
addSubview
(
bottomView
)
bottomView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
right
.
bottom
.
equalToSuperview
()
make
.
height
.
equalTo
(
k_Height_safeAreaInsetsBottom
()
+
64
)
}
bottomButton
=
{
let
button
=
UIButton
(
type
:
.
custom
)
button
.
backgroundColor
=
UIColor
.
brandMainColor
button
.
titleLabel
?
.
font
=
UIFont
.
PFSC_M
(
ofSize
:
16
)
button
.
contentHorizontalAlignment
=
.
center
button
.
setTitle
(
"保存"
,
for
:
.
normal
)
button
.
setTitleColor
(
UIColor
(
hex
:
0xffffff
),
for
:
.
normal
)
button
.
layer
.
cornerRadius
=
kCornerRadius3
button
.
addTarget
(
self
,
action
:
#selector(
submit
)
,
for
:
.
touchUpInside
)
return
button
}()
bottomView
.
addSubview
(
bottomButton
)
bottomButton
.
snp
.
makeConstraints
{
make
in
make
.
right
.
equalTo
(
-
16
)
make
.
top
.
equalTo
(
8
)
make
.
height
.
equalTo
(
48
)
make
.
left
.
equalTo
(
16
)
}
}
// @objc func longTimeButtonClick() {
// longTimeButton.isSelected = !longTimeButton.isSelected
// if longTimeButton.isSelected {
// longTimeButton.snp.remakeConstraints { make in
// make.left.equalTo(117)
// make.centerY.equalTo(endTextField.snp.centerY)
// make.height.equalTo(32)
// make.width.equalTo(43)
// }
// endTextField.isHidden = true
// endButton.isHidden = true
// } else {
// longTimeButton.snp.remakeConstraints { make in
// make.right.equalTo(-18)
// make.centerY.equalTo(endTextField.snp.centerY)
// make.height.equalTo(32)
// make.width.equalTo(43)
// }
// endTextField.isHidden = false
// endButton.isHidden = false
// }
// }
@objc
func
submit
()
{
// if longTimeButton.isSelected {
// dataSource.project_end_time = "至今"
// }
guard
let
name
=
dataSource
.
project_name
,
name
.
count
!=
0
else
{
YHHUD
.
flash
(
message
:
"您还有信息未填写"
)
return
}
guard
let
_
=
dataSource
.
project_start_time
else
{
YHHUD
.
flash
(
message
:
"您还有信息未填写"
)
return
}
guard
let
_
=
dataSource
.
project_end_time
else
{
YHHUD
.
flash
(
message
:
"您还有信息未填写"
)
return
}
guard
let
_
=
dataSource
.
project_highlights
else
{
YHHUD
.
flash
(
message
:
"您还有信息未填写"
)
return
}
viewModel
?
.
saveWorkProjectDetail
(
workModel
??
YHWorkExperienceDetailModel
(),
projectModel
:
dataSource
,
callBackBlock
:
{[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
if
success
{
if
let
block
=
self
.
saveBlock
{
block
()
}
self
.
navigationController
?
.
popViewController
(
animated
:
true
)
}
else
{
YHHUD
.
flash
(
message
:
error
?
.
errorMsg
??
""
)
}
})
}
@objc
func
startClick
()
{
view
.
endEditing
(
true
)
YHDatePickView
.
show
(
type
:
.
yyyymmdd
,
title
:
"选择开始时间"
,
lastIsTaday
:
true
,
currentDay
:
dataSource
.
project_start_time
??
""
)
{
date
in
if
date
>
self
.
dataSource
.
project_end_time
??
""
&&
self
.
dataSource
.
project_end_time
?
.
count
??
0
>
0
&&
self
.
dataSource
.
project_end_time
!=
"至今"
{
YHHUD
.
flash
(
message
:
"开始时间不能晚于结束时间"
)
}
else
{
let
format
=
DateFormatter
()
format
.
dateFormat
=
"yyyy-MM-dd"
if
let
selectDate
=
format
.
date
(
from
:
date
)
{
let
selectTimeInterval
=
selectDate
.
timeIntervalSince1970
let
currentTimeInterval
=
Date
()
.
timeIntervalSince1970
if
selectTimeInterval
>
currentTimeInterval
{
YHHUD
.
flash
(
message
:
"开始时间不能晚于当前时间"
)
}
else
{
self
.
startTextField
.
text
=
date
self
.
dataSource
.
project_start_time
=
date
}
}
}
}
}
@objc
func
endClick
()
{
view
.
endEditing
(
true
)
YHDatePickView
.
show
(
type
:
.
yyyymmdd
,
title
:
"请选择结束时间"
,
lastIsTaday
:
true
,
currentDay
:
dataSource
.
project_end_time
??
""
)
{
date
in
if
date
<
self
.
dataSource
.
project_start_time
??
""
{
YHHUD
.
flash
(
message
:
"结束时间不能早于开始时间"
)
}
else
{
self
.
endTextField
.
text
=
date
self
.
dataSource
.
project_end_time
=
date
}
}
}
func
isShowPromptsLabel
()
{
if
messageTextField
.
text
.
count
!=
0
{
promptsLabel
.
isHidden
=
true
}
else
{
promptsLabel
.
isHidden
=
false
}
}
}
extension
YHWorkIntroductionViewController
:
UITextViewDelegate
{
func
textViewDidChange
(
_
textView
:
UITextView
)
{
self
.
dataSource
.
project_highlights
=
textView
.
text
if
textView
.
text
.
count
!=
0
{
promptsLabel
.
isHidden
=
true
}
else
{
promptsLabel
.
isHidden
=
false
}
}
func
textView
(
_
textView
:
UITextView
,
shouldChangeTextIn
range
:
NSRange
,
replacementText
text
:
String
)
->
Bool
{
let
newLength
=
(
textView
.
text
as
NSString
)
.
length
+
text
.
count
-
range
.
length
return
newLength
<=
2000
}
}
extension
YHWorkIntroductionViewController
:
UITextFieldDelegate
{
func
textFieldDidEndEditing
(
_
textField
:
UITextField
)
{
}
func
textField
(
_
textField
:
UITextField
,
shouldChangeCharactersIn
range
:
NSRange
,
replacementString
string
:
String
)
->
Bool
{
let
newText
=
(
textField
.
text
!
as
NSString
)
.
replacingCharacters
(
in
:
range
,
with
:
string
)
if
newText
.
count
>
15
{
return
false
}
dataSource
.
project_name
=
newText
return
true
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/QMAS(优才)/ServiceProcess(我的信息流程)/WorkExperience(工作经验)/Model/YHWorkExperienceDetailModel.swift
View file @
f193870a
...
...
@@ -10,7 +10,6 @@ import Foundation
import
SmartCodable
class
YHWorkExperienceDetailModel
:
SmartCodable
{
var
work_id
:
Int
=
0
var
order_id
:
Int
=
0
var
company_name
:
String
=
""
...
...
@@ -19,6 +18,7 @@ class YHWorkExperienceDetailModel: SmartCodable {
var
has_finish_basic_question
:
Int
=
0
var
work_duty
:
String
=
""
var
work_highlights
:
String
=
""
var
file
:
[
YHWorkExperienceFileModel
]
=
[]
required
init
()
{
...
...
@@ -40,3 +40,4 @@ class YHWorkExperienceStepModel: SmartCodable {
required
init
()
{
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/QMAS(优才)/ServiceProcess(我的信息流程)/WorkExperience(工作经验)/Model/YHWorkExperienceProjectModel.swift
View file @
f193870a
...
...
@@ -10,19 +10,6 @@ import UIKit
import
SmartCodable
class
YHWorkExperienceProjectModel
:
SmartCodable
{
var
id
:
Int
?
var
order_id
:
Int
?
var
work_id
:
Int
?
var
project_name
:
String
?
var
project_start_time
:
String
?
var
project_end_time
:
String
?
var
project_highlights
:
String
?
var
update_from_appid
:
Int
?
var
create_from_appid
:
Int
?
var
customer_center_id
:
Int
?
var
created_at
:
String
?
var
updated_at
:
String
?
var
deleted_at
:
String
?
var
list
:
[
YHWorkExperienceFileModel
]
=
[]
required
init
()
{
}
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/QMAS(优才)/ServiceProcess(我的信息流程)/WorkExperience(工作经验)/ViewModel/YHWorkExperienceViewModel.swift
View file @
f193870a
...
...
@@ -34,6 +34,7 @@ class YHWorkExperienceViewModel: YHBaseViewModel {
func
updateModel
(
_
item
:
YHWorkExperienceModel
)
{
guard
let
type
=
item
.
id
else
{
return
}
switch
type
{
case
.
id1
:
// 用人单位
mainModel
.
company_name
=
item
.
message
??
""
case
.
id2
:
// 用人单位性质
...
...
@@ -131,7 +132,6 @@ class YHWorkExperienceViewModel: YHBaseViewModel {
"uploadedAt"
:
item
.
uploadedAt
]
file
.
append
(
fileDic
)
}
let
params
:
[
String
:
Any
]
=
[
"next_step"
:
0
,
"work_id"
:
workId
,
"file_list"
:
file
...
...
@@ -144,6 +144,7 @@ class YHWorkExperienceViewModel: YHBaseViewModel {
callBackBlock
(
false
,
nil
)
return
}
// self.mainModel.id = result.id
callBackBlock
(
true
,
nil
)
}
else
{
let
error
:
YHErrorModel
=
YHErrorModel
(
errorCode
:
Int32
(
json
.
code
),
errorMsg
:
json
.
msg
)
...
...
@@ -178,7 +179,6 @@ class YHWorkExperienceViewModel: YHBaseViewModel {
}
}
func
requestDeleteWorkPosition
(
_
model
:
YHWorkExperiencePositionModel
,
callBackBlock
:
@escaping
(
_
success
:
Bool
?,
_
error
:
YHErrorModel
?)
->
())
{
let
params
:
[
String
:
Any
]
=
[
"position_id"
:
model
.
position_id
,
"work_id"
:
model
.
work_id
]
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
YHAllApiName
.
WorkExperience
.
deleteWorkPosition
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/QMAS(优才)/ServiceProcess(我的信息流程)/WorkExperience(工作经验)/ViewModel/YHWorkIntroductionViewModel.swift
deleted
100644 → 0
View file @
8bb53f71
//
// YHWorkIntroductionViewModel.swift
// galaxy
//
// Created by EDY on 2024/2/21.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
import
Alamofire
class
YHWorkIntroductionViewModel
:
YHBaseViewModel
{
var
introducetionExampleModels
:
[
YHWorkExampleModel
]?
override
init
()
{
super
.
init
()
}
func
requestIntroducetionExample
(
callBackBlock
:
@escaping
(
_
success
:
Bool
?,
_
error
:
YHErrorModel
?)
->
())
{
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
YHAllApiName
.
WorkExperience
.
projectExample
let
_
=
YHNetRequest
.
getRequest
(
url
:
strUrl
)
{
[
weak
self
]
json
,
code
in
//1. json字符串 转 对象
guard
let
self
=
self
else
{
return
}
if
json
.
code
==
200
{
guard
let
dic
=
json
.
data
?
.
peel
as?
[
Any
],
let
result
=
[
YHWorkExampleModel
]
.
deserialize
(
from
:
dic
)
else
{
callBackBlock
(
false
,
nil
)
return
}
self
.
introducetionExampleModels
=
result
as?
[
YHWorkExampleModel
]
callBackBlock
(
true
,
nil
)
}
else
{
let
error
:
YHErrorModel
=
YHErrorModel
(
errorCode
:
Int32
(
json
.
code
),
errorMsg
:
json
.
msg
)
callBackBlock
(
false
,
error
)
}
}
failBlock
:
{
err
in
callBackBlock
(
false
,
err
)
}
}
// 0保存 1下一步
func
saveWorkProjectDetail
(
_
workModel
:
YHWorkExperienceDetailModel
,
projectModel
:
YHWorkExperienceProjectModel
,
callBackBlock
:
@escaping
(
_
success
:
Bool
,
_
error
:
YHErrorModel
?)
->
())
{
let
params
:
[
String
:
Any
]
=
[
"id"
:
projectModel
.
id
??
0
,
"order_id"
:
workModel
.
order_id
,
"work_id"
:
workModel
.
work_id
,
"project_name"
:
projectModel
.
project_name
??
""
,
"project_start_time"
:
projectModel
.
project_start_time
??
""
,
"project_end_time"
:
projectModel
.
project_end_time
??
""
,
"project_highlights"
:
projectModel
.
project_highlights
??
0
,
"create_from_appid"
:
projectModel
.
create_from_appid
??
2
,
"update_from_appid"
:
projectModel
.
create_from_appid
??
2
]
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
YHAllApiName
.
WorkExperience
.
saveProject
let
_
=
YHNetRequest
.
postRequest
(
url
:
strUrl
,
params
:
params
)
{
[
weak
self
]
json
,
code
in
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
requestFileMessage
(
_
url
:
String
,
callBackBlock
:
@escaping
(
_
success
:
Bool
,
_
model
:
YHFileContent
?,
_
error
:
YHErrorModel
?)
->
())
{
// let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.WorkExperience.ocrFileContent + "?file_url=\(url)"
let
strUrl
=
YHBaseUrlManager
.
shared
.
curOssURL
()
+
YHAllApiName
.
OCR
.
normal
let
param
:
[
String
:
Any
]
=
[
"url"
:
url
]
let
_
=
YHNetRequest
.
postRequest
(
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
=
YHFileContent
.
deserialize
(
from
:
dic
)
else
{
callBackBlock
(
false
,
nil
,
nil
)
return
}
callBackBlock
(
true
,
result
,
nil
)
}
else
{
let
error
:
YHErrorModel
=
YHErrorModel
(
errorCode
:
Int32
(
json
.
code
),
errorMsg
:
json
.
msg
)
callBackBlock
(
false
,
nil
,
error
)
}
}
failBlock
:
{
err
in
callBackBlock
(
false
,
nil
,
err
)
}
}
}
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