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
b4a603d8
Commit
b4a603d8
authored
Aug 23, 2024
by
Steven杜宇
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
// 选中状态
parent
3c48607c
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
100 additions
and
8 deletions
+100
-8
YHCertificateAppointViewController.swift
...cate(3 赴港办证预约)/C/YHCertificateAppointViewController.swift
+97
-8
YHSelectApplicantGroupCell.swift
...tCertificate(3 赴港办证预约)/V/YHSelectApplicantGroupCell.swift
+3
-0
No files found.
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/CustomerService/Certificate(办证段)/AppointCertificate(3 赴港办证预约)/C/YHCertificateAppointViewController.swift
View file @
b4a603d8
...
...
@@ -14,8 +14,11 @@ class YHCertificateAppointViewController: YHBaseViewController {
var
sections
:
[[
YHAppointItem
]]
=
[]
// 第一个section数据组
var
items1
:
[
YHAppointItem
]
=
[]
// 只装选人的cell
var
items2
:
[
YHAppointItem
]
=
[]
// 只装抢号中、已抢号
var
items3
:
[
YHAppointItem
]
=
[]
var
waitList
:
[
YHAppointMemberGroupModel
]
=
[]
var
successList
:
[
YHAppointMemberGroupModel
]
=
[]
...
...
@@ -103,7 +106,8 @@ class YHCertificateAppointViewController: YHBaseViewController {
sections
.
removeAll
()
items1
.
removeAll
()
items2
.
removeAll
()
items3
.
removeAll
()
// *赴港办证
let
item1
=
YHAppointItem
(
type
:
.
goHKMakeCertificate
)
items1
.
append
(
item1
)
...
...
@@ -132,7 +136,7 @@ class YHCertificateAppointViewController: YHBaseViewController {
if
self
.
isAllMembersGo
{
// 申请人统一赴港激活签证
let
item5
=
YHAppointItem
(
type
:
.
confirmGoHKInfo
)
let
group
=
YHSelectGroupMemberModel
()
group
.
arr
=
waitAppointMembers
group
.
arr
=
waitAppointMembers
.
deepCopy
()
item5
.
model
=
group
item5
.
placeList
=
self
.
viewModel
.
placeList
items2
.
append
(
item5
)
...
...
@@ -140,11 +144,16 @@ class YHCertificateAppointViewController: YHBaseViewController {
}
else
{
// 申请人不是统一赴港激活签证
let
item6
=
YHAppointItem
(
type
:
.
confirmGoHKInfo
)
item6
.
itemIndex
=
0
let
model1
=
YHSelectGroupMemberModel
()
model1
.
arr
=
waitAppointMembers
item6
.
model
=
model1
let
group1
=
YHSelectGroupMemberModel
()
group1
.
arr
=
waitAppointMembers
.
deepCopy
()
.
map
{
var
member
=
$0
member
.
isSelected
=
true
return
member
}
item6
.
model
=
group1
item6
.
placeList
=
self
.
viewModel
.
placeList
items2
.
append
(
item6
)
}
}
else
{
// 有预约过的人员
...
...
@@ -158,26 +167,33 @@ class YHCertificateAppointViewController: YHBaseViewController {
// 赴港办理抢号中批次
if
self
.
waitList
.
count
>
0
{
let
item6
=
YHAppointItem
(
type
:
.
grabingNumberBatch
)
items
2
.
append
(
item6
)
items
3
.
append
(
item6
)
}
// 赴港办理已抢号批次
if
self
.
successList
.
count
>
0
{
let
item7
=
YHAppointItem
(
type
:
.
haveGrabedNumberBatch
)
items
2
.
append
(
item7
)
items
3
.
append
(
item7
)
}
}
refreshData
()
}
func
refreshData
()
{
sections
.
removeAll
()
if
items1
.
count
>
0
{
sections
.
append
(
items1
)
}
if
items2
.
count
>
0
{
sections
.
append
(
items2
)
}
if
items3
.
count
>
0
{
sections
.
append
(
items3
)
}
self
.
tableView
.
reloadData
()
}
}
...
...
@@ -284,6 +300,11 @@ extension YHCertificateAppointViewController: UITableViewDelegate, UITableViewDa
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHSelectApplicantGroupCell
.
cellReuseIdentifier
,
for
:
indexPath
)
as!
YHSelectApplicantGroupCell
cell
.
dataModel
=
arr
[
indexPath
.
row
]
cell
.
isShowSelectUserView
=
!
self
.
isAllMembersGo
cell
.
selectBlock
=
{
[
weak
self
]
member
,
isSelect
,
groupIndex
in
guard
let
self
=
self
else
{
return
}
self
.
selectMember
(
member
,
select
:
isSelect
,
groupLevel
:
groupIndex
)
}
return
cell
}
...
...
@@ -420,3 +441,71 @@ extension YHCertificateAppointViewController {
}
}
extension
YHCertificateAppointViewController
{
// memberId 申请人id
// select 点击选择
// groupLevel 是分的第几组 从0开始计数
func
selectMember
(
_
currentMember
:
YHHKMemberModel
,
select
:
Bool
,
groupLevel
:
Int
)
{
// 获取当前批的成员组
var
currentMembers
:[
YHHKMemberModel
]
=
[]
// 先改变点击当前批的选择状态
if
0
<=
groupLevel
,
groupLevel
<
items2
.
count
{
let
item
=
items2
[
groupLevel
]
if
let
members
=
item
.
model
?
.
arr
{
currentMembers
=
members
for
member
in
members
{
if
member
.
id
==
currentMember
.
id
{
member
.
isSelected
=
select
}
}
}
}
if
!
select
{
// 如果操作是取消
// 如果操作的当前批次是最后一批,则需要分新批次
if
groupLevel
==
items2
.
count
-
1
{
// 进行分批
let
newItem
=
YHAppointItem
(
type
:
.
confirmGoHKInfo
)
// 批次+1
newItem
.
itemIndex
=
groupLevel
+
1
let
group1
=
YHSelectGroupMemberModel
()
// 找出上一批未选中的人
let
needMembers
=
currentMembers
.
filter
{
return
$0
.
isSelected
==
false
}
// 在下一批中默认全选中
group1
.
arr
=
needMembers
.
deepCopy
()
.
map
{
let
item
=
$0
item
.
isSelected
=
true
return
item
}
newItem
.
model
=
group1
newItem
.
placeList
=
self
.
viewModel
.
placeList
items2
.
append
(
newItem
)
}
else
{
// 如果操作的当前批次不是最后一批 需要更新后面几批的选中状态
let
nextGroupIndex
=
groupLevel
+
1
let
newMember
=
currentMember
.
copy
()
as!
YHHKMemberModel
newMember
.
isSelected
=
true
if
0
<=
groupLevel
,
groupLevel
<
items2
.
count
{
let
item
=
items2
[
nextGroupIndex
]
if
var
members
=
item
.
model
?
.
arr
{
members
.
append
(
newMember
)
item
.
model
?
.
arr
=
members
}
}
}
}
else
{
// 如果操作是选中
}
refreshData
()
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/CustomerService/Certificate(办证段)/AppointCertificate(3 赴港办证预约)/V/YHSelectApplicantGroupCell.swift
View file @
b4a603d8
...
...
@@ -290,6 +290,9 @@ extension YHSelectApplicantGroupCell: UICollectionViewDelegate, UICollectionView
if
let
dataModel
=
self
.
dataModel
,
let
model
=
dataModel
.
model
{
if
0
<=
indexPath
.
item
&&
indexPath
.
item
<
model
.
arr
.
count
{
let
member
=
model
.
arr
[
indexPath
.
item
]
if
model
.
arr
.
count
==
1
,
member
.
isSelected
{
// 分组中有且仅有一个且原状态是选中
return
}
selectBlock
?(
member
,
!
member
.
isSelected
,
dataModel
.
itemIndex
)
}
}
...
...
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