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
2faa53e5
Commit
2faa53e5
authored
Sep 19, 2024
by
Alex朱枝文
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
在港记录列表UI优化
parent
b3a44665
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
31 additions
and
24 deletions
+31
-24
YHHKRecordsSummaryVC.swift
...ngImmigrationRecords(在港记录管理)/C/YHHKRecordsSummaryVC.swift
+11
-12
YHHKRecordItemDetailType.swift
...migrationRecords(在港记录管理)/M/YHHKRecordItemDetailType.swift
+2
-10
YHHKRecordsExpandedCell.swift
...mmigrationRecords(在港记录管理)/V/YHHKRecordsExpandedCell.swift
+17
-1
YHHKRecordsSummaryItemCell.swift
...grationRecords(在港记录管理)/V/YHHKRecordsSummaryItemCell.swift
+1
-1
No files found.
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/Resign(续签)/HongKongImmigrationRecords(在港记录管理)/C/YHHKRecordsSummaryVC.swift
View file @
2faa53e5
...
@@ -22,12 +22,12 @@ class YHHKRecordsSummaryVC: YHBaseViewController {
...
@@ -22,12 +22,12 @@ class YHHKRecordsSummaryVC: YHBaseViewController {
let
firstSection
=
YHHKRecordSectionType
.
header
(
"在港逗留情况"
)
let
firstSection
=
YHHKRecordSectionType
.
header
(
"在港逗留情况"
)
let
summaryItems1
:
[
YHHKRecordItemDetailType
]
=
[
.
detailHeader
(
"逗留共300天(2次)"
),
.
lastStay
(
"上次逗留:2024-10-04"
),
.
summaryItem
(
"2024年 270天(2次)"
),
.
summaryItem
(
"2024年 30天(2次)"
)]
let
summaryItems1
:
[
YHHKRecordItemDetailType
]
=
[
.
detailHeader
(
"逗留共300天(2次)"
),
.
lastStay
(
"上次逗留:2024-10-04"
),
.
summaryItem
(
"2024年 270天(2次)"
),
.
summaryItem
(
"2024年 30天(2次)"
)]
let
periodItems1
:
[
YHHKRecordItemDetailType
]
=
[
.
detailHeader
(
"超90天未在港"
),
.
duration
(
"2023-10-04"
,
"2023-12-04"
,
"60天"
),
.
duration
(
"2024-12-04"
,
"2023-01-04"
,
"60天"
)]
let
periodItems1
:
[
YHHKRecordItemDetailType
]
=
[
.
detailHeader
(
"超90天未在港"
),
.
duration
(
"2023-10-04"
,
"2023-12-04"
,
"60天"
),
.
duration
(
"2024-12-04"
,
"2023-01-04"
,
"60天"
)]
let
expandedSec1
=
ExpandedSection
(
title
:
"章一刀"
,
type
:
.
over90
,
summaryItems
:
summaryItems1
,
periodItems
:
periodItems1
)
let
expandedSec1
=
YHHKRecords
ExpandedSection
(
title
:
"章一刀"
,
type
:
.
over90
,
summaryItems
:
summaryItems1
,
periodItems
:
periodItems1
)
let
secondSection
=
YHHKRecordSectionType
.
expandedItem
(
expandedSec1
)
let
secondSection
=
YHHKRecordSectionType
.
expandedItem
(
expandedSec1
)
let
summaryItems2
:
[
YHHKRecordItemDetailType
]
=
[
.
detailHeader
(
"逗留共300天(5次)"
),
.
lastStay
(
"上次逗留:2024-10-04"
),
.
summaryItem
(
"2024年 270天(2次)"
),
.
summaryItem
(
"2024年 30天(3次)"
)]
let
summaryItems2
:
[
YHHKRecordItemDetailType
]
=
[
.
detailHeader
(
"逗留共300天(5次)"
),
.
lastStay
(
"上次逗留:2024-10-04"
),
.
summaryItem
(
"2024年 270天(2次)"
),
.
summaryItem
(
"2024年 30天(3次)"
)]
let
periodItems2
:
[
YHHKRecordItemDetailType
]
=
[
.
detailHeader
(
"超200天未在港"
),
.
duration
(
"2023-10-04"
,
"2023-12-04"
,
"60天"
),
.
duration
(
"2024-12-04"
,
"2023-01-04"
,
"30天"
)]
let
periodItems2
:
[
YHHKRecordItemDetailType
]
=
[
.
detailHeader
(
"超200天未在港"
),
.
duration
(
"2023-10-04"
,
"2023-12-04"
,
"60天"
),
.
duration
(
"2024-12-04"
,
"2023-01-04"
,
"30天"
)]
let
expandedSec2
=
ExpandedSection
(
title
:
"李晓梅"
,
type
:
.
over180
,
summaryItems
:
summaryItems2
,
periodItems
:
periodItems2
)
let
expandedSec2
=
YHHKRecords
ExpandedSection
(
title
:
"李晓梅"
,
type
:
.
over180
,
summaryItems
:
summaryItems2
,
periodItems
:
periodItems2
)
let
thirdSection
=
YHHKRecordSectionType
.
expandedItem
(
expandedSec2
)
let
thirdSection
=
YHHKRecordSectionType
.
expandedItem
(
expandedSec2
)
return
[
firstSection
,
secondSection
,
thirdSection
]
return
[
firstSection
,
secondSection
,
thirdSection
]
...
@@ -69,15 +69,15 @@ extension YHHKRecordsSummaryVC {
...
@@ -69,15 +69,15 @@ extension YHHKRecordsSummaryVC {
view
.
backgroundColor
=
UIColor
.
contentBkgColor
view
.
backgroundColor
=
UIColor
.
contentBkgColor
view
.
addSubview
(
tableView
)
view
.
addSubview
(
tableView
)
tableView
.
snp
.
makeConstraints
{
make
in
tableView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalToSuperview
()
.
offset
(
kMargin
)
make
.
left
.
equalToSuperview
()
.
offset
(
kMargin
)
.
priority
(
.
high
)
make
.
right
.
equalToSuperview
()
.
offset
(
-
kMargin
)
make
.
right
.
equalToSuperview
()
.
offset
(
-
kMargin
)
.
priority
(
.
high
)
make
.
top
.
bottom
.
equalToSuperview
()
make
.
top
.
bottom
.
equalToSuperview
()
}
}
tableView
.
tableHeaderView
=
UIView
(
frame
:
CGRect
.
init
(
x
:
0
,
y
:
0
,
width
:
KScreenWidth
,
height
:
kMargin
))
tableView
.
tableHeaderView
=
UIView
(
frame
:
CGRect
.
init
(
x
:
0
,
y
:
0
,
width
:
KScreenWidth
,
height
:
kMargin
))
tableView
.
tableFooterView
=
UIView
(
frame
:
CGRect
.
init
(
x
:
0
,
y
:
0
,
width
:
KScreenWidth
,
height
:
kMargin
))
tableView
.
tableFooterView
=
UIView
(
frame
:
CGRect
.
init
(
x
:
0
,
y
:
0
,
width
:
KScreenWidth
,
height
:
kMargin
))
}
}
private
func
getSubCellType
(
model
:
ExpandedSection
,
indexPath
:
IndexPath
,
subType
:
YHHKRecordItemDetailType
)
->
YHResignRoundCellType
{
private
func
getSubCellType
(
model
:
YHHKRecords
ExpandedSection
,
indexPath
:
IndexPath
,
subType
:
YHHKRecordItemDetailType
)
->
YHResignRoundCellType
{
var
cellType
:
YHResignRoundCellType
=
.
top
var
cellType
:
YHResignRoundCellType
=
.
top
switch
subType
{
switch
subType
{
case
.
lastStay
,
.
summaryItem
:
case
.
lastStay
,
.
summaryItem
:
...
@@ -130,7 +130,8 @@ extension YHHKRecordsSummaryVC: UITableViewDelegate, UITableViewDataSource {
...
@@ -130,7 +130,8 @@ extension YHHKRecordsSummaryVC: UITableViewDelegate, UITableViewDataSource {
}
}
case
let
.
expandedItem
(
model
):
case
let
.
expandedItem
(
model
):
if
indexPath
.
row
==
0
,
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHHKRecordsExpandedCell
.
cellReuseIdentifier
)
as?
YHHKRecordsExpandedCell
{
if
indexPath
.
row
==
0
,
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHHKRecordsExpandedCell
.
cellReuseIdentifier
)
as?
YHHKRecordsExpandedCell
{
cell
.
setupCellInfo
(
title
:
model
.
title
,
status
:
model
.
type
,
isExpanded
:
model
.
isExpanded
)
let
isShowBottomLine
=
!
model
.
isExpanded
&&
(
indexPath
.
section
!=
datas
.
count
-
1
)
cell
.
setupCellInfo
(
title
:
model
.
title
,
status
:
model
.
type
,
isExpanded
:
model
.
isExpanded
,
isShowBottomLine
:
isShowBottomLine
)
return
cell
return
cell
}
}
if
model
.
isExpanded
,
model
.
subItems
.
count
>
indexPath
.
row
-
1
,
indexPath
.
row
-
1
>=
0
{
if
model
.
isExpanded
,
model
.
subItems
.
count
>
indexPath
.
row
-
1
,
indexPath
.
row
-
1
>=
0
{
...
@@ -161,7 +162,7 @@ extension YHHKRecordsSummaryVC: UITableViewDelegate, UITableViewDataSource {
...
@@ -161,7 +162,7 @@ extension YHHKRecordsSummaryVC: UITableViewDelegate, UITableViewDataSource {
}
}
case
.
occupyingSpace
:
case
.
occupyingSpace
:
if
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHHKRecordsOccupyingSpaceCell
.
cellReuseIdentifier
)
as?
YHHKRecordsOccupyingSpaceCell
{
if
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHHKRecordsOccupyingSpaceCell
.
cellReuseIdentifier
)
as?
YHHKRecordsOccupyingSpaceCell
{
let
isShow
=
indexPath
.
row
==
model
.
subItems
.
count
let
isShow
=
indexPath
.
row
==
model
.
subItems
.
count
&&
(
indexPath
.
section
!=
datas
.
count
-
1
)
cell
.
setupCellInfo
(
isShow
)
cell
.
setupCellInfo
(
isShow
)
return
cell
return
cell
}
}
...
@@ -207,13 +208,11 @@ extension YHHKRecordsSummaryVC: UITableViewDelegate, UITableViewDataSource {
...
@@ -207,13 +208,11 @@ extension YHHKRecordsSummaryVC: UITableViewDelegate, UITableViewDataSource {
model
.
isExpanded
.
toggle
()
model
.
isExpanded
.
toggle
()
secType
=
.
expandedItem
(
model
)
secType
=
.
expandedItem
(
model
)
datas
[
indexPath
.
section
]
=
secType
datas
[
indexPath
.
section
]
=
secType
tableView
.
reloadData
()
tableView
.
performBatchUpdates
{
[
weak
tableView
]
in
// tableView.performBatchUpdates { [weak tableView] in
tableView
?
.
reloadSections
(
IndexSet
(
integer
:
indexPath
.
section
),
with
:
.
automatic
)
// tableView?.reloadSections(IndexSet(integer: indexPath.section), with: .automatic)
}
// }
}
}
tableView
.
deselectRow
(
at
:
indexPath
,
animated
:
true
)
tableView
.
deselectRow
(
at
:
indexPath
,
animated
:
true
)
}
}
}
}
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/Resign(续签)/HongKongImmigrationRecords(在港记录管理)/M/YHHKRecordItemDetailType.swift
View file @
2faa53e5
...
@@ -22,21 +22,13 @@ enum YHHKNonPresenceRecordType {
...
@@ -22,21 +22,13 @@ enum YHHKNonPresenceRecordType {
}
}
}
}
class
ExpandedSection
{
struct
YHHKRecords
ExpandedSection
{
let
title
:
String
let
title
:
String
let
type
:
YHHKNonPresenceRecordType
let
type
:
YHHKNonPresenceRecordType
var
isExpanded
:
Bool
=
true
var
isExpanded
:
Bool
=
true
let
summaryItems
:
[
YHHKRecordItemDetailType
]
let
summaryItems
:
[
YHHKRecordItemDetailType
]
let
periodItems
:
[
YHHKRecordItemDetailType
]
let
periodItems
:
[
YHHKRecordItemDetailType
]
init
(
title
:
String
,
type
:
YHHKNonPresenceRecordType
,
isExpanded
:
Bool
=
true
,
summaryItems
:
[
YHHKRecordItemDetailType
],
periodItems
:
[
YHHKRecordItemDetailType
])
{
self
.
title
=
title
self
.
type
=
type
self
.
isExpanded
=
isExpanded
self
.
summaryItems
=
summaryItems
self
.
periodItems
=
periodItems
}
var
subItems
:
[
YHHKRecordItemDetailType
]
{
var
subItems
:
[
YHHKRecordItemDetailType
]
{
var
retItems
=
[
YHHKRecordItemDetailType
]()
var
retItems
=
[
YHHKRecordItemDetailType
]()
retItems
.
append
(
contentsOf
:
summaryItems
)
retItems
.
append
(
contentsOf
:
summaryItems
)
...
@@ -53,7 +45,7 @@ class ExpandedSection {
...
@@ -53,7 +45,7 @@ class ExpandedSection {
enum
YHHKRecordSectionType
{
enum
YHHKRecordSectionType
{
case
header
(
_
title
:
String
)
case
header
(
_
title
:
String
)
case
expandedItem
(
_
model
:
ExpandedSection
)
case
expandedItem
(
_
model
:
YHHKRecords
ExpandedSection
)
}
}
enum
YHHKRecordItemDetailType
{
enum
YHHKRecordItemDetailType
{
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/Resign(续签)/HongKongImmigrationRecords(在港记录管理)/V/YHHKRecordsExpandedCell.swift
View file @
2faa53e5
...
@@ -34,6 +34,7 @@ class YHHKRecordsExpandedCell: UITableViewCell {
...
@@ -34,6 +34,7 @@ class YHHKRecordsExpandedCell: UITableViewCell {
private
lazy
var
statusLabel
:
YHPaddedLabel
=
{
private
lazy
var
statusLabel
:
YHPaddedLabel
=
{
let
label
=
YHPaddedLabel
(
padding
:
UIEdgeInsets
(
top
:
0
,
left
:
6
,
bottom
:
0
,
right
:
6
))
let
label
=
YHPaddedLabel
(
padding
:
UIEdgeInsets
(
top
:
0
,
left
:
6
,
bottom
:
0
,
right
:
6
))
label
.
font
=
.
PFSC_M
(
ofSize
:
12
)
label
.
font
=
.
PFSC_M
(
ofSize
:
12
)
label
.
layer
.
cornerRadius
=
2
return
label
return
label
}()
}()
...
@@ -43,6 +44,13 @@ class YHHKRecordsExpandedCell: UITableViewCell {
...
@@ -43,6 +44,13 @@ class YHHKRecordsExpandedCell: UITableViewCell {
label
.
font
=
.
PFSC_R
(
ofSize
:
14
)
label
.
font
=
.
PFSC_R
(
ofSize
:
14
)
return
label
return
label
}()
}()
private
lazy
var
bottomLineView
:
UIView
=
{
let
view
=
UIView
()
view
.
isHidden
=
true
view
.
backgroundColor
=
.
separatorColor
return
view
}()
override
init
(
style
:
UITableViewCell
.
CellStyle
,
reuseIdentifier
:
String
?)
{
override
init
(
style
:
UITableViewCell
.
CellStyle
,
reuseIdentifier
:
String
?)
{
super
.
init
(
style
:
style
,
reuseIdentifier
:
reuseIdentifier
)
super
.
init
(
style
:
style
,
reuseIdentifier
:
reuseIdentifier
)
...
@@ -53,12 +61,13 @@ class YHHKRecordsExpandedCell: UITableViewCell {
...
@@ -53,12 +61,13 @@ class YHHKRecordsExpandedCell: UITableViewCell {
fatalError
(
"init(coder:) has not been implemented"
)
fatalError
(
"init(coder:) has not been implemented"
)
}
}
func
setupCellInfo
(
title
:
String
?,
status
:
YHHKNonPresenceRecordType
,
isExpanded
:
Bool
)
{
func
setupCellInfo
(
title
:
String
?,
status
:
YHHKNonPresenceRecordType
,
isExpanded
:
Bool
,
isShowBottomLine
:
Bool
=
false
)
{
infoTitleLabel
.
text
=
title
infoTitleLabel
.
text
=
title
statusLabel
.
text
=
status
.
title
statusLabel
.
text
=
status
.
title
statusLabel
.
textColor
=
status
.
titleColor
statusLabel
.
textColor
=
status
.
titleColor
statusLabel
.
backgroundColor
=
status
.
bgColor
statusLabel
.
backgroundColor
=
status
.
bgColor
self
.
isExpanded
=
isExpanded
self
.
isExpanded
=
isExpanded
bottomLineView
.
isHidden
=
!
isShowBottomLine
}
}
}
}
...
@@ -72,10 +81,17 @@ extension YHHKRecordsExpandedCell {
...
@@ -72,10 +81,17 @@ extension YHHKRecordsExpandedCell {
contentView
.
addSubview
(
infoTitleLabel
)
contentView
.
addSubview
(
infoTitleLabel
)
contentView
.
addSubview
(
statusLabel
)
contentView
.
addSubview
(
statusLabel
)
contentView
.
addSubview
(
infoDetailLabel
)
contentView
.
addSubview
(
infoDetailLabel
)
contentView
.
addSubview
(
bottomLineView
)
tagView
.
setContentCompressionResistancePriority
(
.
required
,
for
:
.
horizontal
)
tagView
.
setContentCompressionResistancePriority
(
.
required
,
for
:
.
horizontal
)
infoTitleLabel
.
setContentCompressionResistancePriority
(
.
defaultLow
,
for
:
.
horizontal
)
infoTitleLabel
.
setContentCompressionResistancePriority
(
.
defaultLow
,
for
:
.
horizontal
)
statusLabel
.
setContentCompressionResistancePriority
(
.
defaultHigh
,
for
:
.
horizontal
)
statusLabel
.
setContentCompressionResistancePriority
(
.
defaultHigh
,
for
:
.
horizontal
)
infoDetailLabel
.
setContentCompressionResistancePriority
(
.
required
,
for
:
.
horizontal
)
infoDetailLabel
.
setContentCompressionResistancePriority
(
.
required
,
for
:
.
horizontal
)
bottomLineView
.
snp
.
makeConstraints
{
make
in
make
.
bottom
.
equalToSuperview
()
make
.
left
.
equalToSuperview
()
.
offset
(
18
)
make
.
right
.
equalToSuperview
()
.
offset
(
-
18
)
make
.
height
.
equalTo
(
1
)
}
tagView
.
snp
.
makeConstraints
{
make
in
tagView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalToSuperview
()
.
offset
(
18
)
make
.
left
.
equalToSuperview
()
.
offset
(
18
)
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/Resign(续签)/HongKongImmigrationRecords(在港记录管理)/V/YHHKRecordsSummaryItemCell.swift
View file @
2faa53e5
...
@@ -32,7 +32,7 @@ class YHHKRecordsSummaryItemCell: YHHKRecordsSectionItemBaseCell {
...
@@ -32,7 +32,7 @@ class YHHKRecordsSummaryItemCell: YHHKRecordsSectionItemBaseCell {
infoTitleLabel
.
text
=
title
infoTitleLabel
.
text
=
title
updateCellCorner
(
cellType
)
updateCellCorner
(
cellType
)
if
cellType
==
.
bottom
{
if
cellType
==
.
bottom
{
infoTitleLabel
.
snp
.
makeConstraints
{
make
in
infoTitleLabel
.
snp
.
re
makeConstraints
{
make
in
make
.
left
.
equalToSuperview
()
.
offset
(
18
)
make
.
left
.
equalToSuperview
()
.
offset
(
18
)
make
.
right
.
lessThanOrEqualToSuperview
()
.
offset
(
-
18
)
make
.
right
.
lessThanOrEqualToSuperview
()
.
offset
(
-
18
)
make
.
top
.
equalToSuperview
()
.
offset
(
8
)
make
.
top
.
equalToSuperview
()
.
offset
(
8
)
...
...
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