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
b04c0a78
Commit
b04c0a78
authored
Oct 15, 2024
by
pete谢兆麟
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop' of
http://gitlab.galaxy-immi.com/mobile-group/galaxy-iOS
into develop
parents
ed16d087
d96d357f
Changes
29
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
29 changed files
with
744 additions
and
70 deletions
+744
-70
project.pbxproj
galaxy/galaxy.xcodeproj/project.pbxproj
+20
-4
YHServiceOrderListViewController.swift
...entService(服务中心)/C/YHServiceOrderListViewController.swift
+3
-0
YHFilePreviewTool.swift
...ice(服务中心)/MyCertificates(我的证书)/VM/YHFilePreviewTool.swift
+17
-7
YHHKVisaRenewalPaymentVC.swift
...saRenewalPayment(续签在港缴费)/C/YHHKVisaRenewalPaymentVC.swift
+8
-4
YHVisaRenewalPayContentCell.swift
...enewalPayment(续签在港缴费)/V/YHVisaRenewalPayContentCell.swift
+1
-1
YHVisaRenewalPayInfoCell.swift
...saRenewalPayment(续签在港缴费)/V/YHVisaRenewalPayInfoCell.swift
+1
-1
YHVisaRenewalResidenceActionCell.swift
...lPayment(续签在港缴费)/V/YHVisaRenewalResidenceActionCell.swift
+1
-1
YHResignDocumentDetailViewController.swift
...ment(续签文书管理)/C/YHResignDocumentDetailViewController.swift
+1
-1
YHResignAppointSubmitScheduleViewController.swift
...递交预约)/C/YHResignAppointSubmitScheduleViewController.swift
+39
-14
YHResignAppointTimeModifyViewController.swift
...t(在港递交预约)/C/YHResignAppointTimeModifyViewController.swift
+14
-13
YHResignAppointTimeViewController.swift
...Appoint(在港递交预约)/C/YHResignAppointTimeViewController.swift
+8
-3
YHResignAppointMember.swift
...续签)/ResignHKAppoint(在港递交预约)/M/YHResignAppointMember.swift
+4
-2
YHResignAppointGuideLineView.swift
...ignHKAppoint(在港递交预约)/V/YHResignAppointGuideLineView.swift
+257
-0
YHResignAppointedScheduleLineView.swift
...Appoint(在港递交预约)/V/YHResignAppointedScheduleLineView.swift
+15
-3
YHResignHaveAppointedMultipleInfoCell.swift
...int(在港递交预约)/V/YHResignHaveAppointedMultipleInfoCell.swift
+3
-2
YHResignAppointViewModel.swift
...ResignHKAppoint(在港递交预约)/VM/YHResignAppointViewModel.swift
+1
-1
YHResignConfirmInfoListViewController.swift
...irm(续签信息确认)/C/YHResignConfirmInfoListViewController.swift
+38
-4
YHResignInfoConfirmModifyViewController.swift
...m(续签信息确认)/C/YHResignInfoConfirmModifyViewController.swift
+19
-0
YHResignInfoConfirmInfoListModel.swift
...oConfirm(续签信息确认)/M/YHResignInfoConfirmInfoListModel.swift
+182
-0
YHResignFamilyMemberInfoCell.swift
...nInfoConfirm(续签信息确认)/V/YHResignFamilyMemberInfoCell.swift
+1
-1
YHResignInfoConfirmIViewModel.swift
...nfoConfirm(续签信息确认)/VM/YHResignInfoConfirmIViewModel.swift
+60
-0
YHMyViewController.swift
...alaxy/Classes/Modules/Mine(我的)/C/YHMyViewController.swift
+0
-8
YHAllApiName.swift
galaxy/galaxy/Classes/Tools/NetWork/YHAllApiName.swift
+7
-0
Contents.json
...港递交预约/resign_appoint_guide_head_bg.imageset/Contents.json
+22
-0
背景头图@2x.png
.../在港递交预约/resign_appoint_guide_head_bg.imageset/背景头图@2x.png
+0
-0
背景头图@3x.png
.../在港递交预约/resign_appoint_guide_head_bg.imageset/背景头图@3x.png
+0
-0
Contents.json
...递交预约/resign_appoint_guide_text_img.imageset/Contents.json
+22
-0
续签在港递交指引@2x.png
...预约/resign_appoint_guide_text_img.imageset/续签在港递交指引@2x.png
+0
-0
续签在港递交指引@3x.png
...预约/resign_appoint_guide_text_img.imageset/续签在港递交指引@3x.png
+0
-0
No files found.
galaxy/galaxy.xcodeproj/project.pbxproj
View file @
b04c0a78
This diff is collapsed.
Click to expand it.
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/C/YHServiceOrderListViewController.swift
View file @
b04c0a78
...
...
@@ -207,6 +207,9 @@ class YHServiceOrderListView: YHBaseViewController {
UIViewController
.
current
?
.
navigationController
?
.
pushViewController
(
vc
)
}
else
if
type
==
33
{
//续签信息确认
let
vc
=
YHResignConfirmInfoListViewController
()
vc
.
stepId
=
stepId
UIViewController
.
current
?
.
navigationController
?
.
pushViewController
(
vc
)
}
else
if
type
==
34
{
//在港递交预约
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/MyCertificates(我的证书)/VM/YHFilePreviewTool.swift
View file @
b04c0a78
...
...
@@ -10,9 +10,10 @@ import UIKit
class
YHFilePreviewTool
:
NSObject
{
weak
var
targetVC
:
UIViewController
!
weak
var
targetVC
:
UIViewController
?
private
var
documentController
:
UIDocumentInteractionController
?
init
(
targetVC
:
UIViewController
!
)
{
init
(
targetVC
:
UIViewController
?
)
{
self
.
targetVC
=
targetVC
}
...
...
@@ -50,13 +51,22 @@ class YHFilePreviewTool: NSObject {
}
func
openXLSXFile
(
at
fileURL
:
URL
,
fileName
:
String
?)
{
let
c
ontroller
=
UIDocumentInteractionController
(
url
:
fileURL
)
documentC
ontroller
=
UIDocumentInteractionController
(
url
:
fileURL
)
// 设置标题显示
if
let
fileName
=
fileName
,
!
fileName
.
isEmpty
{
controller
.
name
=
fileName
documentController
?
.
name
=
fileName
}
controller
.
delegate
=
self
DispatchQueue
.
main
.
async
{
documentController
?
.
delegate
=
self
guard
let
controller
=
documentController
else
{
printLog
(
"Failed to create UIDocumentInteractionController"
)
return
}
DispatchQueue
.
main
.
async
{
[
weak
self
]
in
guard
let
self
=
self
,
let
presentingVC
=
self
.
targetVC
else
{
printLog
(
"Target view controller is not available"
)
return
}
controller
.
presentPreview
(
animated
:
true
)
}
}
...
...
@@ -64,6 +74,6 @@ class YHFilePreviewTool: NSObject {
extension
YHFilePreviewTool
:
UIDocumentInteractionControllerDelegate
{
func
documentInteractionControllerViewControllerForPreview
(
_
controller
:
UIDocumentInteractionController
)
->
UIViewController
{
return
targetVC
return
targetVC
??
UIViewController
.
current
??
UIViewController
()
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/Resign(续签)/HongKongVisaRenewalPayment(续签在港缴费)/C/YHHKVisaRenewalPaymentVC.swift
View file @
b04c0a78
...
...
@@ -104,6 +104,9 @@ class YHHKVisaRenewalPaymentVC: YHBaseViewController {
init
(
orderId
:
Int
,
renewalId
:
Int
)
{
// self.orderId = 136927
// self.renewalId = 343
// self.orderId = 151296
// self.renewalId = 439
self
.
orderId
=
orderId
self
.
renewalId
=
renewalId
super
.
init
(
nibName
:
nil
,
bundle
:
nil
)
...
...
@@ -116,6 +119,10 @@ class YHHKVisaRenewalPaymentVC: YHBaseViewController {
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
setupUI
()
}
override
func
viewWillAppear
(
_
animated
:
Bool
)
{
super
.
viewWillAppear
(
animated
)
requestData
()
}
...
...
@@ -140,7 +147,7 @@ extension YHHKVisaRenewalPaymentVC {
@objc
private
func
clickSureButton
()
{
let
vc
=
YHResignUploadTravelCardListViewController
()
vc
.
orderId
=
orderId
//
vc.batchId = renewalId
vc
.
batchId
=
renewalId
navigationController
?
.
pushViewController
(
vc
)
}
...
...
@@ -222,10 +229,8 @@ extension YHHKVisaRenewalPaymentVC {
let
member
=
YHVisaRenewalItemDetailType
.
residenceAction
(
person
.
name
,
presenceStatus
,
.
mid
)
{
switch
presenceStatus
{
case
.
approvalPending
:
printLog
(
"欧阳唯一 approvalPending"
)
YHHUD
.
flash
(
message
:
approvalPendingMsg
)
case
.
confirmingPresence
:
printLog
(
"欧阳唯二 confirmingPresence"
)
self
.
showAlertView
(
confirmBlock
:
{
[
weak
self
]
in
guard
let
self
=
self
else
{
return
...
...
@@ -247,7 +252,6 @@ extension YHHKVisaRenewalPaymentVC {
}
})
case
.
confirmedPresence
:
printLog
(
"欧阳唯三 confirmedPresence"
)
YHHUD
.
flash
(
message
:
confirmedPresenceMsg
)
}
}
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/Resign(续签)/HongKongVisaRenewalPayment(续签在港缴费)/V/YHVisaRenewalPayContentCell.swift
View file @
b04c0a78
...
...
@@ -23,7 +23,7 @@ class YHVisaRenewalPayContentCell: YHVisaRenewalPayInfoBaseCell {
private
lazy
var
infoDetailLabel
:
UILabel
=
{
let
label
=
UILabel
()
label
.
font
=
.
PFSC_
M
(
ofSize
:
13
)
label
.
font
=
.
PFSC_
R
(
ofSize
:
13
)
label
.
textColor
=
UIColor
(
hexString
:
"#222222"
)
label
.
numberOfLines
=
0
label
.
lineBreakMode
=
.
byCharWrapping
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/Resign(续签)/HongKongVisaRenewalPayment(续签在港缴费)/V/YHVisaRenewalPayInfoCell.swift
View file @
b04c0a78
...
...
@@ -23,7 +23,7 @@ class YHVisaRenewalPayInfoCell: YHVisaRenewalPayInfoBaseCell {
private
lazy
var
infoDetailLabel
:
UILabel
=
{
let
label
=
UILabel
()
label
.
font
=
.
PFSC_
M
(
ofSize
:
13
)
label
.
font
=
.
PFSC_
R
(
ofSize
:
13
)
label
.
textColor
=
.
mainTextColor
return
label
}()
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/Resign(续签)/HongKongVisaRenewalPayment(续签在港缴费)/V/YHVisaRenewalResidenceActionCell.swift
View file @
b04c0a78
...
...
@@ -54,7 +54,7 @@ class YHVisaRenewalResidenceActionCell: YHResignDocumentCell {
rightButton
.
backgroundColor
=
presenceStatus
.
bgColor
let
isBottom
=
cellType
==
.
bottom
bottomLineView
.
isHidden
=
isBottom
?
true
:
false
let
bottomMargin
:
CGFloat
=
isBottom
?
3
8
:
16
let
bottomMargin
:
CGFloat
=
isBottom
?
2
8
:
16
infoTitleLabel
.
snp
.
remakeConstraints
{
make
in
make
.
left
.
equalToSuperview
()
.
offset
(
18
)
make
.
top
.
equalToSuperview
()
.
offset
(
16
)
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/Resign(续签)/ResignDocumentManagement(续签文书管理)/C/YHResignDocumentDetailViewController.swift
View file @
b04c0a78
...
...
@@ -288,7 +288,7 @@ extension YHResignDocumentDetailViewController: UITableViewDelegate, UITableView
}
else
if
editType
==
.
delete
{
// 删除
//
}
else
if
editType
==
.
preview
{
// 预览
guard
let
url
=
URL
(
string
:
urlStr
)
else
{
guard
URL
(
string
:
urlStr
)
!=
nil
else
{
return
}
YHHUD
.
show
(
.
progress
(
message
:
""
))
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/Resign(续签)/ResignHKAppoint(在港递交预约)/C/YHResignAppointSubmitScheduleViewController.swift
View file @
b04c0a78
...
...
@@ -55,6 +55,7 @@ class YHResignAppointSubmitScheduleViewController: YHBaseViewController {
button
.
setTitleColor
(
UIColor
.
mainTextColor
,
for
:
.
normal
)
button
.
setImage
(
UIImage
(
named
:
"resign_appint_guide"
),
for
:
.
normal
)
button
.
centerTextAndImage
(
imageAboveText
:
true
,
spacing
:
0.0
)
button
.
addTarget
(
self
,
action
:
#selector(
didGuideBtnClicked
)
,
for
:
.
touchUpInside
)
return
button
}()
...
...
@@ -64,7 +65,7 @@ class YHResignAppointSubmitScheduleViewController: YHBaseViewController {
btn
.
setTitle
(
"下一步,去查看递交凭证"
,
for
:
.
normal
)
btn
.
setTitleColor
(
.
white
,
for
:
.
normal
)
btn
.
titleLabel
?
.
font
=
UIFont
.
PFSC_M
(
ofSize
:
15
)
btn
.
addTarget
(
self
,
action
:
#selector(
did
Submi
tBtnClicked
)
,
for
:
.
touchUpInside
)
btn
.
addTarget
(
self
,
action
:
#selector(
did
Nex
tBtnClicked
)
,
for
:
.
touchUpInside
)
btn
.
layer
.
cornerRadius
=
kCornerRadius3
return
btn
}()
...
...
@@ -107,22 +108,31 @@ class YHResignAppointSubmitScheduleViewController: YHBaseViewController {
make
.
height
.
equalTo
(
98
)
}
self
.
updateBottomBtnAndMotifyBtnStatus
()
}
@objc
func
did
Submi
tBtnClicked
()
{
@objc
func
did
Nex
tBtnClicked
()
{
}
@objc
func
didGuideBtnClicked
()
{
let
view
=
YHResignAppointGuideLineView
.
sheetView
()
view
.
ischeckBeforeFlag
=
false
view
.
block
=
{
}
view
.
show
()
}
// 更新底部下一步按钮点击状态
func
updateBottomBtnAndMotifyBtnStatus
()
{
var
isAtLeatOneHaveConfirmInHK
=
self
.
isAtLeatOneHaveConfirmInHK
()
// 至少有一个行程已确认在港
let
isAtLeatOneHaveConfirmInHK
=
self
.
isAtLeatOneHaveConfirmInHK
()
self
.
nextBtn
.
isUserInteractionEnabled
=
isAtLeatOneHaveConfirmInHK
self
.
nextBtn
.
alpha
=
isAtLeatOneHaveConfirmInHK
?
1.0
:
0.3
// 所有分批都已确认在港 则无需修改了
self
.
isHiddenModifyBtn
=
self
.
isAllHaveHaveConfirmInHK
()
self
.
tableView
.
reloadData
()
}
func
clickConfirmHKButton
(
status
:
YHResignConfirmHKStatus
,
_
model
:
YHResignAppointGroup
)
{
...
...
@@ -168,15 +178,20 @@ class YHResignAppointSubmitScheduleViewController: YHBaseViewController {
let
vc
=
YHResignAppointTimeViewController
()
vc
.
renewalId
=
self
.
renewalId
if
scheduleArr
.
count
>
0
{
let
group
=
scheduleArr
[
0
]
vc
.
togetherSetting
.
isCanEdit
=
false
vc
.
togetherSetting
.
is_together
=
1
vc
.
defaultSubmitTime
=
group
.
ready_to_submit_at
vc
.
defaultLeaveHKTime
=
group
.
leave_hk_at
vc
.
allAppointUsers
=
group
.
user_list
.
map
{
return
$0
.
transformToMember
()
// 先得到所有分批用户的集合
YHHUD
.
show
(
.
progress
(
message
:
"加载中..."
))
self
.
viewModel
.
getResignAppointUserlist
(
renewalId
:
self
.
renewalId
)
{
[
weak
self
]
success
,
error
in
YHHUD
.
hide
()
guard
let
self
=
self
else
{
return
}
let
group
=
scheduleArr
[
0
]
vc
.
togetherSetting
.
isCanEdit
=
false
vc
.
togetherSetting
.
is_together
=
1
vc
.
defaultSubmitTime
=
group
.
ready_to_submit_at
vc
.
defaultLeaveHKTime
=
group
.
leave_hk_at
vc
.
allAppointUsers
=
self
.
viewModel
.
appointUsers
self
.
navigationController
?
.
pushViewController
(
vc
)
}
self
.
navigationController
?
.
pushViewController
(
vc
)
}
return
}
...
...
@@ -201,7 +216,9 @@ class YHResignAppointSubmitScheduleViewController: YHBaseViewController {
var
lastLeftUnselectUsers
:
[
YHResignAppointMember
]
=
appAppointUsers
.
deepCopy
()
var
groupArr
=
[
YHResignAppointTimeSettingModel
]()
for
(
index
,
group
)
in
scheduleArr
.
enumerated
()
{
let
model
=
YHResignAppointTimeSettingModel
()
let
status
=
group
.
getConfirmInHKStatus
()
model
.
isHaveAppointed
=
(
status
==
.
haveConfirmHK
)
...
...
@@ -233,15 +250,23 @@ class YHResignAppointSubmitScheduleViewController: YHBaseViewController {
lastLeftUnselectUsers
=
users
.
filter
{
return
$0
.
isSelected
==
false
}
.
deepCopy
()
}
else
{
// 已确认在港
let
users
=
group
.
user_list
.
map
{
return
$0
.
transformToMember
()
}
model
.
users
=
users
groupArr
.
append
(
model
)
lastLeftUnselectUsers
=
lastLeftUnselectUsers
.
filter
{
for
model
in
group
.
user_list
{
if
model
.
memberId
==
$0
.
id
{
// 该用户已经选择过
return
false
}
}
return
fals
e
return
tru
e
}
.
deepCopy
()
}
}
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/Resign(续签)/ResignHKAppoint(在港递交预约)/C/YHResignAppointTimeModifyViewController.swift
View file @
b04c0a78
...
...
@@ -327,7 +327,7 @@ extension YHResignAppointTimeModifyViewController {
if
group
.
notleaveHK
{
noSeletTime
=
group
.
ready_to_submit_at
.
isEmpty
}
else
{
noSeletTime
=
(
group
.
ready_to_submit_at
.
isEmpty
&&
group
.
leave_hk_at
.
isEmpty
)
noSeletTime
=
(
group
.
ready_to_submit_at
.
isEmpty
||
group
.
leave_hk_at
.
isEmpty
)
}
if
noSeletTime
{
isNoSelectTime
=
true
...
...
@@ -347,19 +347,20 @@ extension YHResignAppointTimeModifyViewController {
var
batchs
:
[[
String
:
Any
]]
=
[]
for
group
in
self
.
selectGroupArr
{
group
.
isClickSubmit
=
false
let
selectUser
=
group
.
users
.
filter
{
let
item
=
$0
return
item
.
isSelected
}
let
allUserInfoArr
=
selectUser
.
map
{
let
dict
=
[
"member_id"
:
"
\(
$0
.
id
)
"
]
return
dict
if
!
group
.
isHaveAppointed
{
// 非已确认在港 才加入集合
let
selectUser
=
group
.
users
.
filter
{
let
item
=
$0
return
item
.
isSelected
}
let
allUserInfoArr
=
selectUser
.
map
{
let
dict
=
[
"member_id"
:
"
\(
$0
.
id
)
"
]
return
dict
}
let
dict
=
[
"ready_to_submit_at"
:
group
.
ready_to_submit_at
,
"leave_hk_at"
:
group
.
notleaveHK
?
""
:
group
.
leave_hk_at
,
"users"
:
allUserInfoArr
]
as!
[
String
:
Any
]
batchs
.
append
(
dict
)
}
let
dict
=
[
"ready_to_submit_at"
:
group
.
ready_to_submit_at
,
"leave_hk_at"
:
group
.
notleaveHK
?
""
:
group
.
leave_hk_at
,
"users"
:
allUserInfoArr
]
as!
[
String
:
Any
]
batchs
.
append
(
dict
)
}
let
param
:
[
String
:
Any
]
=
[
"renewal_id"
:
renewalId
,
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/Resign(续签)/ResignHKAppoint(在港递交预约)/C/YHResignAppointTimeViewController.swift
View file @
b04c0a78
...
...
@@ -75,6 +75,7 @@ class YHResignAppointTimeViewController: YHBaseViewController {
button
.
setTitleColor
(
UIColor
.
mainTextColor
,
for
:
.
normal
)
button
.
setImage
(
UIImage
(
named
:
"resign_appoint_tips_btn"
),
for
:
.
normal
)
button
.
centerTextAndImage
(
imageAboveText
:
true
,
spacing
:
0.0
)
button
.
addTarget
(
self
,
action
:
#selector(
didTipsBtnClicked
)
,
for
:
.
touchUpInside
)
return
button
}()
...
...
@@ -129,6 +130,10 @@ class YHResignAppointTimeViewController: YHBaseViewController {
self
.
updateUI
()
}
@objc
func
didTipsBtnClicked
()
{
YHResignAppointSubmitTipsView
.
alertView
()
.
show
()
}
func
updateUI
()
{
togetherArr
.
removeAll
()
...
...
@@ -139,7 +144,7 @@ class YHResignAppointTimeViewController: YHBaseViewController {
let
model1
=
YHResignAppointTimeSettingModel
()
model1
.
ready_to_submit_at
=
defaultSubmitTime
model1
.
leave_hk_at
=
defaultLeaveHKTime
model1
.
notleaveHK
=
!
defaultLeaveHKTime
.
isEmpty
model1
.
notleaveHK
=
defaultLeaveHKTime
.
isEmpty
selectGroupArr
.
append
(
model1
)
self
.
tableView
.
reloadData
()
return
...
...
@@ -152,7 +157,7 @@ class YHResignAppointTimeViewController: YHBaseViewController {
let
model1
=
YHResignAppointTimeSettingModel
()
model1
.
ready_to_submit_at
=
defaultSubmitTime
model1
.
leave_hk_at
=
defaultLeaveHKTime
model1
.
notleaveHK
=
!
defaultLeaveHKTime
.
isEmpty
model1
.
notleaveHK
=
defaultLeaveHKTime
.
isEmpty
if
self
.
togetherSetting
.
is_together
==
2
{
// 不一起递交 需显示候选人列表
// 默认全部选中
let
users
=
allAppointUsers
.
deepCopy
()
.
map
{
...
...
@@ -271,7 +276,7 @@ class YHResignAppointTimeViewController: YHBaseViewController {
if
group
.
notleaveHK
{
noSeletTime
=
group
.
ready_to_submit_at
.
isEmpty
}
else
{
noSeletTime
=
(
group
.
ready_to_submit_at
.
isEmpty
&&
group
.
leave_hk_at
.
isEmpty
)
noSeletTime
=
(
group
.
ready_to_submit_at
.
isEmpty
||
group
.
leave_hk_at
.
isEmpty
)
}
if
noSeletTime
{
isNoSelectTime
=
true
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/Resign(续签)/ResignHKAppoint(在港递交预约)/M/YHResignAppointMember.swift
View file @
b04c0a78
...
...
@@ -31,6 +31,7 @@ class YHResignAppointMember: SmartCodable, NSCopying {
var
apply_name
:
String
=
""
var
stay_deadline
:
String
=
""
var
state
:
String
=
""
var
stay_deadline_start
:
String
=
""
// 自定义 是否选中
var
isSelected
:
Bool
=
false
...
...
@@ -39,7 +40,7 @@ class YHResignAppointMember: SmartCodable, NSCopying {
}
init
(
id
:
Int
,
renewal_number
:
Int
,
apply_relation
:
Int
,
apply_uid
:
String
,
apply_name
:
String
,
stay_deadline
:
String
,
state
:
String
,
isSelected
:
Bool
)
{
init
(
id
:
Int
,
renewal_number
:
Int
,
apply_relation
:
Int
,
apply_uid
:
String
,
apply_name
:
String
,
stay_deadline
:
String
,
state
:
String
,
stay_deadline_start
:
String
,
isSelected
:
Bool
)
{
self
.
id
=
id
self
.
renewal_number
=
renewal_number
...
...
@@ -49,11 +50,12 @@ class YHResignAppointMember: SmartCodable, NSCopying {
self
.
stay_deadline
=
stay_deadline
self
.
state
=
state
self
.
isSelected
=
isSelected
self
.
stay_deadline_start
=
stay_deadline_start
}
func
copy
(
with
zone
:
NSZone
?
=
nil
)
->
Any
{
return
YHResignAppointMember
(
id
:
self
.
id
,
renewal_number
:
self
.
renewal_number
,
apply_relation
:
self
.
apply_relation
,
apply_uid
:
self
.
apply_uid
,
apply_name
:
self
.
apply_name
,
stay_deadline
:
self
.
stay_deadline
,
state
:
self
.
state
,
isSelected
:
self
.
isSelected
)
return
YHResignAppointMember
(
id
:
self
.
id
,
renewal_number
:
self
.
renewal_number
,
apply_relation
:
self
.
apply_relation
,
apply_uid
:
self
.
apply_uid
,
apply_name
:
self
.
apply_name
,
stay_deadline
:
self
.
stay_deadline
,
state
:
self
.
state
,
stay_deadline_start
:
self
.
stay_deadline_start
,
isSelected
:
self
.
isSelected
)
}
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/Resign(续签)/ResignHKAppoint(在港递交预约)/V/YHResignAppointGuideLineView.swift
0 → 100644
View file @
b04c0a78
//
// YHResignAppointGuideLineView.swift
// galaxy
//
// Created by edy on 2024/10/14.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
class
YHResignAppointGuideLineView
:
UIView
{
typealias
Block
=
()
->
()
var
block
:
Block
?
lazy
var
blackMaskView
:
UIView
=
{
let
view
=
UIView
()
view
.
backgroundColor
=
UIColor
(
hex
:
0x0F1214
,
alpha
:
0.5
)
// let tap = UITapGestureRecognizer(target: self, action: #selector(dismiss))
// view.addGestureRecognizer(tap)
return
view
}()
lazy
var
whiteContentView
:
UIView
=
{
let
view
=
UIView
()
view
.
backgroundColor
=
.
white
return
view
}()
lazy
var
bottomView
:
UIView
=
{
let
view
=
UIView
()
view
.
backgroundColor
=
.
clear
view
.
addSubview
(
self
.
rewardBtn
)
self
.
rewardBtn
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalToSuperview
()
.
offset
(
10
)
make
.
left
.
equalTo
(
kMargin
)
make
.
right
.
equalTo
(
-
kMargin
)
make
.
height
.
equalTo
(
44
)
}
view
.
layer
.
zPosition
=
10
return
view
}()
//我已知悉,确认
lazy
var
rewardBtn
:
UIButton
=
{
let
button
=
UIButton
(
type
:
.
custom
)
button
.
titleLabel
?
.
font
=
UIFont
.
PFSC_M
(
ofSize
:
15
)
button
.
contentHorizontalAlignment
=
.
center
button
.
setTitle
(
"我已知悉,确认"
,
for
:
.
normal
)
button
.
setTitleColor
(
UIColor
.
white
,
for
:
.
normal
)
button
.
layer
.
cornerRadius
=
kCornerRadius3
button
.
clipsToBounds
=
true
button
.
addTarget
(
self
,
action
:
#selector(
clickSureBtn
)
,
for
:
.
touchUpInside
)
button
.
backgroundColor
=
UIColor
.
brandMainColor
return
button
}()
lazy
var
myScrollView
:
UIScrollView
=
{
let
view
=
UIScrollView
()
view
.
backgroundColor
=
.
clear
view
.
showsVerticalScrollIndicator
=
false
view
.
showsHorizontalScrollIndicator
=
false
view
.
delegate
=
self
return
view
}()
lazy
var
bkgImageV
:
UIImageView
=
{
let
imageV
=
UIImageView
()
imageV
.
image
=
UIImage
(
named
:
"resign_appoint_guide_text_img"
)
imageV
.
contentMode
=
.
scaleAspectFit
imageV
.
clipsToBounds
=
true
return
imageV
}()
lazy
var
bkgImageV2
:
UIImageView
=
{
let
imageV
=
UIImageView
()
imageV
.
image
=
UIImage
(
named
:
"resign_appoint_guide_head_bg"
)
imageV
.
clipsToBounds
=
true
return
imageV
}()
required
init
?(
coder
:
NSCoder
)
{
fatalError
(
"init(coder:) has not been implemented"
)
}
override
init
(
frame
:
CGRect
)
{
super
.
init
(
frame
:
frame
)
setupUI
()
}
private
var
timer
:
Timer
?
private
var
maxCount
:
Int
=
5
//之前是否展示过
var
ischeckBeforeFlag
:
Bool
=
false
{
didSet
{
if
ischeckBeforeFlag
{
setButtonEnable
(
true
)
}
else
{
setButtonEnable
(
false
)
startTimer
()
}
}
}
}
extension
YHResignAppointGuideLineView
{
static
func
sheetView
()
->
YHResignAppointGuideLineView
{
let
view
=
YHResignAppointGuideLineView
(
frame
:
UIScreen
.
main
.
bounds
)
return
view
}
func
show
()
{
UIApplication
.
shared
.
yhKeyWindow
()?
.
addSubview
(
self
)
UIView
.
animate
(
withDuration
:
0.5
)
{
let
whiteHeight
=
KScreenHeight
-
k_Height_NavigationtBarAndStatuBar
self
.
whiteContentView
.
frame
=
CGRect
(
x
:
0
,
y
:
KScreenHeight
-
whiteHeight
,
width
:
KScreenWidth
,
height
:
whiteHeight
)
}
}
@objc
func
dismiss
()
{
self
.
removeFromSuperview
()
}
@objc
func
clickSureBtn
()
{
self
.
block
?()
dismiss
()
}
}
private
extension
YHResignAppointGuideLineView
{
@objc
func
timerFired
()
{
// 定时器触发时执行的代码
print
(
"Timer fired"
)
self
.
maxCount
=
self
.
maxCount
-
1
if
self
.
maxCount
<
0
{
self
.
stopTimer
()
self
.
setButtonEnable
(
true
)
}
else
{
rewardBtn
.
setTitle
(
"请上滑看完指引后操作(
\(
maxCount
)
s)"
,
for
:
.
normal
)
}
}
func
startTimer
()
{
stopTimer
()
timer
=
Timer
.
scheduledTimer
(
timeInterval
:
1.0
,
target
:
self
,
selector
:
#selector(
timerFired
)
,
userInfo
:
nil
,
repeats
:
true
)
RunLoop
.
current
.
add
(
timer
!
,
forMode
:
.
common
)
}
func
stopTimer
()
{
maxCount
=
5
timer
?
.
invalidate
()
timer
=
nil
}
func
setButtonEnable
(
_
enable
:
Bool
)
{
rewardBtn
.
isEnabled
=
enable
if
enable
{
rewardBtn
.
setTitle
(
"我已知悉,确认"
,
for
:
.
normal
)
rewardBtn
.
backgroundColor
=
UIColor
.
brandMainColor
}
else
{
rewardBtn
.
setTitle
(
"请上滑看完指引后操作(5s)"
,
for
:
.
normal
)
rewardBtn
.
backgroundColor
=
UIColor
(
hex
:
0xB7C0CC
,
alpha
:
1.0
)
}
}
func
setupUI
()
{
self
.
addSubview
(
blackMaskView
)
self
.
addSubview
(
whiteContentView
)
let
corner
=
UIRectCorner
(
rawValue
:
UIRectCorner
.
topLeft
.
rawValue
|
UIRectCorner
.
topRight
.
rawValue
)
let
path
=
UIBezierPath
(
roundedRect
:
bounds
,
byRoundingCorners
:
corner
,
cornerRadii
:
CGSizeMake
(
kCornerRadius6
,
kCornerRadius6
));
let
layer
=
CAShapeLayer
();
layer
.
frame
=
whiteContentView
.
bounds
;
layer
.
path
=
path
.
cgPath
;
whiteContentView
.
layer
.
mask
=
layer
;
whiteContentView
.
clipsToBounds
=
true
blackMaskView
.
snp
.
makeConstraints
{
make
in
make
.
edges
.
equalToSuperview
()
}
let
whiteHeight
=
KScreenHeight
-
k_Height_NavigationtBarAndStatuBar
// whiteContentView.snp.makeConstraints { make in
// make.left.right.bottom.equalToSuperview()
// make.height.equalTo(whiteHeight)
// }
whiteContentView
.
frame
=
CGRect
(
x
:
0
,
y
:
KScreenHeight
,
width
:
KScreenWidth
,
height
:
whiteHeight
)
whiteContentView
.
addSubview
(
bkgImageV2
)
bkgImageV2
.
snp
.
makeConstraints
{
make
in
make
.
top
.
left
.
right
.
equalToSuperview
()
make
.
height
.
equalTo
(
KScreenWidth
*
(
151.0
/
375.0
))
}
whiteContentView
.
addSubview
(
bottomView
)
bottomView
.
snp
.
makeConstraints
{
make
in
make
.
bottom
.
left
.
right
.
equalToSuperview
()
make
.
height
.
equalTo
(
98
)
}
whiteContentView
.
addSubview
(
myScrollView
)
myScrollView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalToSuperview
()
.
offset
(
20
)
make
.
left
.
right
.
equalToSuperview
()
make
.
width
.
equalTo
(
KScreenWidth
)
make
.
height
.
equalTo
(
whiteHeight
-
98
-
20
)
}
if
let
_
=
UIImage
(
named
:
"resign_appoint_guide_text_img"
)
{
let
radio
=
1549.0
/
375.0
myScrollView
.
addSubview
(
bkgImageV
)
bkgImageV
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalToSuperview
()
make
.
left
.
equalTo
(
0
)
make
.
right
.
equalTo
(
0
)
make
.
width
.
equalTo
(
KScreenWidth
)
make
.
height
.
equalTo
((
KScreenWidth
)
*
radio
)
make
.
bottom
.
equalTo
(
0
)
}
myScrollView
.
contentSize
=
CGSize
(
width
:
KScreenWidth
,
height
:
KScreenWidth
*
radio
)
}
}
}
extension
YHResignAppointGuideLineView
:
UIScrollViewDelegate
{
func
scrollViewDidScroll
(
_
scrollView
:
UIScrollView
)
{
if
!
ischeckBeforeFlag
{
let
scrollViewContentHeight
=
scrollView
.
contentSize
.
height
let
scrollOffsetThreshold
=
scrollViewContentHeight
-
scrollView
.
bounds
.
size
.
height
// 当前滚动位置
let
currentOffset
=
scrollView
.
contentOffset
.
y
if
currentOffset
>
scrollOffsetThreshold
{
// 接近底部
// 滚动到了底部
ischeckBeforeFlag
=
true
stopTimer
()
setButtonEnable
(
true
)
}
else
{
// 没有滚动到底部
}
}
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/Resign(续签)/ResignHKAppoint(在港递交预约)/V/YHResignAppointedScheduleLineView.swift
View file @
b04c0a78
...
...
@@ -61,22 +61,34 @@ class YHResignAppointedScheduleLineView: UIView {
createUI
()
}
func
getDateOfYYYYMMDD
(
_
dateString
:
String
)
->
String
{
// dateString格式为yyyy-MM-dd HH:mm:ss 返回yyyy-MM-dd
if
dateString
.
count
<=
10
{
return
dateString
}
return
String
(
dateString
.
prefix
(
10
))
}
// 已确认在港时间 银河递交续签资料时间 查看递交回执时间
func
updateDates
(
confirmDate
:
String
,
submitDate
:
String
,
watchDate
:
String
)
{
let
newConfirmDate
=
getDateOfYYYYMMDD
(
confirmDate
)
let
newSubmitDate
=
getDateOfYYYYMMDD
(
submitDate
)
let
newWatchDate
=
getDateOfYYYYMMDD
(
watchDate
)
if
steps
.
count
>=
2
{
// 已确认在港节点
let
confirmModel
=
steps
[
1
]
confirmModel
.
time
=
c
onfirmDate
confirmModel
.
time
=
newC
onfirmDate
}
if
steps
.
count
>=
3
{
// 银河递交续签资料节点
let
submitModel
=
steps
[
2
]
submitModel
.
time
=
s
ubmitDate
submitModel
.
time
=
newS
ubmitDate
}
if
steps
.
count
>=
4
{
// 查看递交回执节点
let
watchModel
=
steps
[
3
]
watchModel
.
time
=
w
atchDate
watchModel
.
time
=
newW
atchDate
}
self
.
collectView
.
reloadData
()
}
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/Resign(续签)/ResignHKAppoint(在港递交预约)/V/YHResignHaveAppointedMultipleInfoCell.swift
View file @
b04c0a78
...
...
@@ -106,6 +106,7 @@ class YHResignHaveAppointedMultipleInfoCell: UITableViewCell {
}
func
updateModel
(
_
model
:
YHResignAppointGroup
)
{
titleLabel
.
text
=
"第
\(
String
.
convertNumberToChineseText
(
model
.
batchIndex
)
)
批"
var
names
=
"申请人:"
for
(
index
,
user
)
in
model
.
user_list
.
enumerated
()
{
...
...
@@ -141,11 +142,11 @@ class YHResignHaveAppointedMultipleInfoCell: UITableViewCell {
}
}
confirmHKTimeLabel
.
removeFromSuperview
()
confirmHKTimeLabel
.
snp
.
removeConstraints
()
confirmHKTimeLabel
.
isHidden
=
true
if
self
.
confirmHKStatus
==
.
haveConfirmHK
{
// 已确认在港 需要显示确认在港时间
self
.
addSubview
(
confirmHKTimeLabel
)
confirmHKTimeLabel
.
isHidden
=
false
confirmHKTimeLabel
.
snp
.
remakeConstraints
{
make
in
make
.
left
.
equalTo
(
18
)
make
.
right
.
equalTo
(
-
18
)
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/Resign(续签)/ResignHKAppoint(在港递交预约)/VM/YHResignAppointViewModel.swift
View file @
b04c0a78
...
...
@@ -115,7 +115,7 @@ class YHResignAppointViewModel: NSObject {
func
submitConfirmInHK
(
id
:
Int
,
callBack
:
@escaping
(
_
success
:
Bool
,
_
error
:
YHErrorModel
?)
->
())
{
let
params
:[
String
:
Any
]
=
[
"id"
:
id
]
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
YHAllApiName
.
ResignAppoint
.
confirmInHK
let
_
=
YHNetRequest
.
ge
tRequest
(
url
:
strUrl
,
params
:
params
)
{
[
weak
self
]
json
,
code
in
let
_
=
YHNetRequest
.
pos
tRequest
(
url
:
strUrl
,
params
:
params
)
{
[
weak
self
]
json
,
code
in
//1. json字符串 转 对象
guard
let
_
=
self
else
{
return
}
if
json
.
code
==
200
{
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/Resign(续签)/ResignInfoConfirm(续签信息确认)/C/YHResign
InfoConfirm
ViewController.swift
→
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/Resign(续签)/ResignInfoConfirm(续签信息确认)/C/YHResign
ConfirmInfoList
ViewController.swift
View file @
b04c0a78
...
...
@@ -9,10 +9,13 @@
import
UIKit
import
AttributedString
class
YHResignInfoConfirmViewController
:
YHBaseViewController
{
class
YHResignConfirmInfoListViewController
:
YHBaseViewController
{
var
stepId
:
Int
=
0
// 批次ID
var
familyArr
=
[
YHResignInfoConfirmFamilyInfoModel
]()
let
viewModel
=
YHResignInfoConfirmViewModel
()
// YHApplicantInfoModel
var
familyArr
:
[
String
]
=
[
""
,
""
,
""
,
""
]
lazy
var
tableView
:
UITableView
=
{
let
tableView
=
UITableView
(
frame
:
CGRect
.
zero
,
style
:
.
grouped
)
if
#available(iOS 15.0, *)
{
...
...
@@ -86,12 +89,30 @@ class YHResignInfoConfirmViewController: YHBaseViewController {
}
}
override
func
viewWillAppear
(
_
animated
:
Bool
)
{
super
.
viewWillAppear
(
animated
)
showRiskAlertView
()
requestList
()
}
@objc
func
didBottomBtnClicked
()
{
}
func
showRiskAlertView
()
{
let
isShowKey
=
"isShowResignConfirmRisk_
\(
stepId
)
"
if
let
isShow
=
UserDefaults
.
standard
.
value
(
forKey
:
isShowKey
)
as?
Bool
,
isShow
==
true
{
}
else
{
// 风险弹窗
YHResignRiskWarningAlertView
.
alertView
()
.
show
()
UserDefaults
.
standard
.
set
(
true
,
forKey
:
isShowKey
)
UserDefaults
.
standard
.
synchronize
()
}
}
}
extension
YHResign
InfoConfirm
ViewController
:
UITableViewDelegate
,
UITableViewDataSource
{
extension
YHResign
ConfirmInfoList
ViewController
:
UITableViewDelegate
,
UITableViewDataSource
{
func
tableView
(
_
tableView
:
UITableView
,
numberOfRowsInSection
section
:
Int
)
->
Int
{
return
familyArr
.
count
...
...
@@ -103,6 +124,7 @@ extension YHResignInfoConfirmViewController: UITableViewDelegate, UITableViewDat
if
0
<=
indexPath
.
row
&&
indexPath
.
row
<
familyArr
.
count
{
let
model
=
familyArr
[
indexPath
.
row
]
cell
.
updateModel
(
model
)
cell
.
updateLineMargin
(
indexPath
.
row
==
0
?
0.0
:
18.0
)
if
indexPath
.
row
==
familyArr
.
count
-
1
{
let
corner
=
UIRectCorner
(
rawValue
:
UIRectCorner
.
bottomLeft
.
rawValue
|
UIRectCorner
.
bottomRight
.
rawValue
)
...
...
@@ -159,3 +181,15 @@ extension YHResignInfoConfirmViewController: UITableViewDelegate, UITableViewDat
}
}
extension
YHResignConfirmInfoListViewController
{
func
requestList
()
{
YHHUD
.
show
(
.
progress
(
message
:
"加载中..."
))
self
.
viewModel
.
getList
(
id
:
stepId
)
{
success
,
error
in
YHHUD
.
hide
()
self
.
familyArr
.
removeAll
()
self
.
familyArr
.
append
(
contentsOf
:
self
.
viewModel
.
getList
())
self
.
tableView
.
reloadData
()
}
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/Resign(续签)/ResignInfoConfirm(续签信息确认)/C/YHResignInfoConfirmModifyViewController.swift
0 → 100644
View file @
b04c0a78
//
// YHResignInfoConfirmModifyViewController.swift
// galaxy
//
// Created by edy on 2024/10/14.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
class
YHResignInfoConfirmModifyViewController
:
YHBaseViewController
{
var
stepId
:
Int
=
0
// 批次ID
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/Resign(续签)/ResignInfoConfirm(续签信息确认)/M/YHResignInfoConfirmInfoListModel.swift
0 → 100644
View file @
b04c0a78
//
// YHResignInfoConfirmInfoListModel.swift
// galaxy
//
// Created by edy on 2024/10/14.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
import
SmartCodable
class
YHResignInfoConfirmInfoListModel
:
SmartCodable
{
var
id
:
Int
=
0
var
main
:
YHResignInfoConfirmFamilyInfoModel
?
var
spouse
:
YHResignInfoConfirmFamilyInfoModel
?
var
children
:
[
YHResignInfoConfirmFamilyInfoModel
]
=
[]
enum
CodingKeys
:
String
,
CodingKey
{
case
id
=
"id"
case
main
=
"main"
case
spouse
=
"spouse"
case
children
=
"children"
}
required
init
()
{
}
init
(
id
:
Int
,
main
:
YHResignInfoConfirmFamilyInfoModel
,
spouse
:
YHResignInfoConfirmFamilyInfoModel
,
children
:
[
YHResignInfoConfirmFamilyInfoModel
])
{
self
.
id
=
id
self
.
main
=
main
self
.
spouse
=
spouse
self
.
children
=
children
}
}
class
YHResignInfoConfirmFamilyInfoModel
:
SmartCodable
{
var
info
:
YHResignInfoConfirmFamilyModel
=
YHResignInfoConfirmFamilyModel
()
var
confirmStatus
:
Int
=
0
enum
CodingKeys
:
String
,
CodingKey
{
case
info
=
"info"
case
confirmStatus
=
"confirm_status"
}
required
init
()
{
}
init
(
info
:
YHResignInfoConfirmFamilyModel
,
confirmStatus
:
Int
)
{
self
.
info
=
info
self
.
confirmStatus
=
confirmStatus
}
}
class
YHResignConfirmIdentityModel
:
SmartCodable
{
var
type
:
Int
=
-
1
var
name
:
String
=
""
var
number
:
String
=
""
var
begin
:
String
=
""
var
end
:
String
=
""
required
init
()
{
}
enum
CodingKeys
:
String
,
CodingKey
{
case
type
=
"type"
case
name
=
"name"
case
number
=
"number"
case
begin
=
"begin"
case
end
=
"end"
}
init
(
type
:
Int
,
name
:
String
,
number
:
String
,
begin
:
String
,
end
:
String
)
{
self
.
type
=
type
self
.
name
=
name
self
.
number
=
number
self
.
begin
=
begin
self
.
end
=
end
}
}
// MARK: - Info
class
YHResignInfoConfirmFamilyModel
:
SmartCodable
{
var
id
:
Int
=
-
1
var
name
:
String
=
""
var
nameHistory
:
String
=
""
var
familyName
:
String
=
""
var
familyNameHistory
:
String
=
""
var
givenName
:
String
=
""
var
givenNameHistory
:
String
=
""
var
married
:
String
=
""
var
marriedHistory
:
String
=
""
var
nationalityType
:
Int
=
-
1
var
nationalityTypeHistory
:
Int
=
-
1
var
nationality
:
String
=
""
var
nationalityHistory
:
String
=
""
var
hkIdentityid
:
String
=
""
var
hkIdentityidHistory
:
String
=
""
var
identity
:
YHResignConfirmIdentityModel
?
var
occupationName
:
String
=
""
var
occupationNameHistory
:
String
=
""
var
hkAddress
:
String
=
""
var
hkAddressHistory
:
String
=
""
// 自定义属性
var
relation
:
Int
=
YHFamilyMemberRelationType
.
none
.
rawValue
// 是否检测编辑字段
var
isCheck
:
Bool
=
false
required
init
()
{
}
func
getRelation
()
->
String
{
if
relation
==
YHFamilyMemberRelationType
.
mainApplicant
.
rawValue
{
return
"主申人"
}
else
if
relation
==
YHFamilyMemberRelationType
.
spouse
.
rawValue
{
return
"配偶"
}
else
if
relation
==
YHFamilyMemberRelationType
.
child
.
rawValue
{
return
"子女"
}
return
""
}
enum
CodingKeys
:
String
,
CodingKey
{
case
id
=
"id"
case
name
=
"name"
case
nameHistory
=
"name_history"
case
familyName
=
"family_name"
case
familyNameHistory
=
"family_name_history"
case
givenName
=
"given_name"
case
givenNameHistory
=
"given_name_history"
case
married
=
"married"
case
marriedHistory
=
"married_history"
case
nationalityType
=
"nationality_type"
case
nationalityTypeHistory
=
"nationality_type_history"
case
nationality
=
"nationality"
case
nationalityHistory
=
"nationality_history"
case
hkIdentityid
=
"hk_identity_id"
case
hkIdentityidHistory
=
"hk_identity_id_history"
case
identity
=
"identity"
case
occupationName
=
"occupation_name"
case
occupationNameHistory
=
"occupation_name_history"
case
hkAddress
=
"hk_address"
case
hkAddressHistory
=
"hk_address_history"
}
init
(
id
:
Int
,
name
:
String
,
nameHistory
:
String
,
familyName
:
String
,
familyNameHistory
:
String
,
givenName
:
String
,
givenNameHistory
:
String
,
married
:
String
,
marriedHistory
:
String
,
nationalityType
:
Int
,
nationalityTypeHistory
:
Int
,
nationality
:
String
,
nationalityHistory
:
String
,
hkIdentityid
:
String
,
hkIdentityidHistory
:
String
,
identity
:
YHResignConfirmIdentityModel
,
occupationName
:
String
,
occupationNameHistory
:
String
,
hkAddress
:
String
,
hkAddressHistory
:
String
)
{
self
.
id
=
id
self
.
name
=
name
self
.
nameHistory
=
nameHistory
self
.
familyName
=
familyName
self
.
familyNameHistory
=
familyNameHistory
self
.
givenName
=
givenName
self
.
givenNameHistory
=
givenNameHistory
self
.
married
=
married
self
.
marriedHistory
=
marriedHistory
self
.
nationalityType
=
nationalityType
self
.
nationalityTypeHistory
=
nationalityTypeHistory
self
.
nationality
=
nationality
self
.
nationalityHistory
=
nationalityHistory
self
.
hkIdentityid
=
hkIdentityid
self
.
hkIdentityidHistory
=
hkIdentityidHistory
self
.
identity
=
identity
self
.
occupationName
=
occupationName
self
.
occupationNameHistory
=
occupationNameHistory
self
.
hkAddress
=
hkAddress
self
.
hkAddressHistory
=
hkAddressHistory
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/Resign(续签)/ResignInfoConfirm(续签信息确认)/V/YHResignFamilyMemberInfoCell.swift
View file @
b04c0a78
...
...
@@ -12,7 +12,7 @@ class YHResignFamilyMemberInfoCell: UITableViewCell {
static
let
cellReuseIdentifier
=
"YHResignFamilyMemberInfoCell"
func
updateModel
(
_
model
:
YH
Applicant
InfoModel
)
{
func
updateModel
(
_
model
:
YH
ResignInfoConfirmFamily
InfoModel
)
{
self
.
relationLabel
.
text
=
model
.
info
.
getRelation
()
self
.
nameLabel
.
text
=
model
.
info
.
name
self
.
pinyinLabel
.
text
=
"
\(
model
.
info
.
familyName
)
\(
model
.
info
.
givenName
)
"
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/Resign(续签)/ResignInfoConfirm(续签信息确认)/VM/YHResignInfoConfirmIViewModel.swift
0 → 100644
View file @
b04c0a78
//
// YHResignInfoConfirmIViewModel.swift
// galaxy
//
// Created by edy on 2024/10/14.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
class
YHResignInfoConfirmViewModel
{
var
listModel
=
YHResignInfoConfirmInfoListModel
()
func
getList
(
id
:
Int
,
callBack
:
@escaping
(
_
success
:
Bool
,
_
error
:
YHErrorModel
?)
->
())
{
let
params
=
[
"id"
:
id
]
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
YHAllApiName
.
ResignInfoConfirm
.
getList
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
resultModel
=
YHResignInfoConfirmInfoListModel
.
deserialize
(
from
:
dic
)
else
{
let
err
=
YHErrorModel
(
errorCode
:
YHErrorCode
.
dictParseError
.
rawValue
,
errorMsg
:
YHErrorCode
.
dictParseError
.
description
())
callBack
(
false
,
err
)
return
}
self
.
listModel
=
resultModel
callBack
(
true
,
nil
)
}
else
{
let
err
=
YHErrorModel
(
errorCode
:
Int32
(
json
.
code
),
errorMsg
:
json
.
msg
.
isEmpty
?
""
:
json
.
msg
)
self
.
listModel
=
YHResignInfoConfirmInfoListModel
()
callBack
(
false
,
err
)
}
}
failBlock
:
{
err
in
self
.
listModel
=
YHResignInfoConfirmInfoListModel
()
callBack
(
false
,
err
)
}
}
func
getList
()
->
[
YHResignInfoConfirmFamilyInfoModel
]
{
var
results
=
[
YHResignInfoConfirmFamilyInfoModel
]()
if
let
main
=
self
.
listModel
.
main
{
main
.
info
.
relation
=
YHFamilyMemberRelationType
.
mainApplicant
.
rawValue
results
.
append
(
main
)
}
if
let
spouse
=
listModel
.
spouse
{
spouse
.
info
.
relation
=
YHFamilyMemberRelationType
.
spouse
.
rawValue
results
.
append
(
spouse
)
}
for
child
in
listModel
.
children
{
child
.
info
.
relation
=
YHFamilyMemberRelationType
.
child
.
rawValue
results
.
append
(
child
)
}
return
results
}
}
galaxy/galaxy/Classes/Modules/Mine(我的)/C/YHMyViewController.swift
View file @
b04c0a78
...
...
@@ -341,14 +341,6 @@ extension YHMyViewController : UITableViewDelegate, UITableViewDataSource {
return
}
// if true {
//
// YHResignAppointTipsView.alertView().show()
//
//// let vc = YHResignInfoConfirmViewController()
//// self.navigationController?.pushViewController(vc)
// return
// }
let
item
:
PersonalModuleItem
=
items
[
indexPath
.
row
]
switch
item
.
type
{
case
.
myCard
:
//我的名片
...
...
galaxy/galaxy/Classes/Tools/NetWork/YHAllApiName.swift
View file @
b04c0a78
...
...
@@ -565,6 +565,13 @@ class YHAllApiName {
static
let
confirmInHK
=
"super-app/renewal/confirm-stay-hk"
}
// 续签信息确认
struct
ResignInfoConfirm
{
static
let
getList
=
"super-app/renewal/information-list"
static
let
confirmInfo
=
"super-app/renewal/information-confirm"
static
let
upate
=
"super-app/renewal/information-update"
}
// 在港记录
struct
HKImmigrationRecords
{
// 在港记录-汇总
...
...
galaxy/galaxy/Res/Assets.xcassets/ServiceCenter/续签/在港递交预约/resign_appoint_guide_head_bg.imageset/Contents.json
0 → 100644
View file @
b04c0a78
{
"images"
:
[
{
"idiom"
:
"universal"
,
"scale"
:
"1x"
},
{
"filename"
:
"背景头图@2x.png"
,
"idiom"
:
"universal"
,
"scale"
:
"2x"
},
{
"filename"
:
"背景头图@3x.png"
,
"idiom"
:
"universal"
,
"scale"
:
"3x"
}
],
"info"
:
{
"author"
:
"xcode"
,
"version"
:
1
}
}
galaxy/galaxy/Res/Assets.xcassets/ServiceCenter/续签/在港递交预约/resign_appoint_guide_head_bg.imageset/背景头图@2x.png
0 → 100644
View file @
b04c0a78
141 KB
galaxy/galaxy/Res/Assets.xcassets/ServiceCenter/续签/在港递交预约/resign_appoint_guide_head_bg.imageset/背景头图@3x.png
0 → 100644
View file @
b04c0a78
300 KB
galaxy/galaxy/Res/Assets.xcassets/ServiceCenter/续签/在港递交预约/resign_appoint_guide_text_img.imageset/Contents.json
0 → 100644
View file @
b04c0a78
{
"images"
:
[
{
"idiom"
:
"universal"
,
"scale"
:
"1x"
},
{
"filename"
:
"续签在港递交指引@2x.png"
,
"idiom"
:
"universal"
,
"scale"
:
"2x"
},
{
"filename"
:
"续签在港递交指引@3x.png"
,
"idiom"
:
"universal"
,
"scale"
:
"3x"
}
],
"info"
:
{
"author"
:
"xcode"
,
"version"
:
1
}
}
galaxy/galaxy/Res/Assets.xcassets/ServiceCenter/续签/在港递交预约/resign_appoint_guide_text_img.imageset/续签在港递交指引@2x.png
0 → 100644
View file @
b04c0a78
376 KB
galaxy/galaxy/Res/Assets.xcassets/ServiceCenter/续签/在港递交预约/resign_appoint_guide_text_img.imageset/续签在港递交指引@3x.png
0 → 100644
View file @
b04c0a78
563 KB
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment