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
6c4a72de
Commit
6c4a72de
authored
Mar 26, 2025
by
Steven杜宇
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
// 方案
parent
034e747f
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
305 additions
and
8 deletions
+305
-8
project.pbxproj
galaxy/galaxy.xcodeproj/project.pbxproj
+8
-0
YHPlanViewController.swift
...axy/Classes/Modules/Plan(方案)/C/YHPlanViewController.swift
+72
-8
YHPlanAnalyzeInfoCell.swift
...xy/Classes/Modules/Plan(方案)/V/YHPlanAnalyzeInfoCell.swift
+186
-0
YHPlanScoreCell.swift
...y/galaxy/Classes/Modules/Plan(方案)/V/YHPlanScoreCell.swift
+39
-0
No files found.
galaxy/galaxy.xcodeproj/project.pbxproj
View file @
6c4a72de
...
...
@@ -1221,6 +1221,8 @@
04D8FF592D925E6700703C75
/* YHPlanModel.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04D8FF582D925E6700703C75
/* YHPlanModel.swift */
;
};
04D8FF5B2D925E8100703C75
/* YHPlanViewModel.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04D8FF5A2D925E8100703C75
/* YHPlanViewModel.swift */
;
};
04D8FF5D2D925EA900703C75
/* YHPlanViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04D8FF5C2D925EA900703C75
/* YHPlanViewController.swift */
;
};
04D8FF5F2D93945100703C75
/* YHPlanAnalyzeInfoCell.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04D8FF5E2D93945100703C75
/* YHPlanAnalyzeInfoCell.swift */
;
};
04D8FF612D939D2400703C75
/* YHPlanScoreCell.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04D8FF602D939D2400703C75
/* YHPlanScoreCell.swift */
;
};
04E4CF3E2D5C6D32004D4013
/* YHCountryMessageView.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04E4CF3D2D5C6D32004D4013
/* YHCountryMessageView.swift */
;
};
04E4CF402D5C83AE004D4013
/* YHSelectPhoneCountryViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04E4CF3F2D5C83AE004D4013
/* YHSelectPhoneCountryViewController.swift */
;
};
04E507D62D6EE856005F758B
/* YHUserLevelAlertView.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04E507D52D6EE856005F758B
/* YHUserLevelAlertView.swift */
;
};
...
...
@@ -2481,6 +2483,8 @@
04D8FF582D925E6700703C75
/* YHPlanModel.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHPlanModel.swift
;
sourceTree
=
"<group>"
;
};
04D8FF5A2D925E8100703C75
/* YHPlanViewModel.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHPlanViewModel.swift
;
sourceTree
=
"<group>"
;
};
04D8FF5C2D925EA900703C75
/* YHPlanViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHPlanViewController.swift
;
sourceTree
=
"<group>"
;
};
04D8FF5E2D93945100703C75
/* YHPlanAnalyzeInfoCell.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHPlanAnalyzeInfoCell.swift
;
sourceTree
=
"<group>"
;
};
04D8FF602D939D2400703C75
/* YHPlanScoreCell.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHPlanScoreCell.swift
;
sourceTree
=
"<group>"
;
};
04E4CF3D2D5C6D32004D4013
/* YHCountryMessageView.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHCountryMessageView.swift
;
sourceTree
=
"<group>"
;
};
04E4CF3F2D5C83AE004D4013
/* YHSelectPhoneCountryViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHSelectPhoneCountryViewController.swift
;
sourceTree
=
"<group>"
;
};
04E507D52D6EE856005F758B
/* YHUserLevelAlertView.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHUserLevelAlertView.swift
;
sourceTree
=
"<group>"
;
};
...
...
@@ -6624,6 +6628,8 @@
children
=
(
04D8FF542D9258AA00703C75
/* YHPlanScoreView.swift */
,
04D8FF562D925A0800703C75
/* YHPlanScoreChart.swift */
,
04D8FF5E2D93945100703C75
/* YHPlanAnalyzeInfoCell.swift */
,
04D8FF602D939D2400703C75
/* YHPlanScoreCell.swift */
,
);
path
=
V
;
sourceTree
=
"<group>"
;
...
...
@@ -7222,6 +7228,7 @@
045C10872D12CA5F00BD2DC0
/* YHServiceOrderProgressTableViewCell.swift in Sources */
,
045C10882D12CA5F00BD2DC0
/* YHResignUploadTravelCardDetailModel.swift in Sources */
,
045C10892D12CA5F00BD2DC0
/* YHAppointHKResultModel.swift in Sources */
,
04D8FF612D939D2400703C75
/* YHPlanScoreCell.swift in Sources */
,
045C108A2D12CA5F00BD2DC0
/* YHPreviewInfoSectionHeaderCell.swift in Sources */
,
045C108B2D12CA5F00BD2DC0
/* YHSmsCodeInputView.swift in Sources */
,
045C108C2D12CA5F00BD2DC0
/* YHActivityDetailCell0.swift in Sources */
,
...
...
@@ -7689,6 +7696,7 @@
045C12262D12CA5F00BD2DC0
/* YHIncomeRecordViewController.swift in Sources */
,
045C12272D12CA5F00BD2DC0
/* YHTravelDocsPreparationDetailVC.swift in Sources */
,
045C12282D12CA5F00BD2DC0
/* YHResignDocumentUploadFileCell.swift in Sources */
,
04D8FF5F2D93945100703C75
/* YHPlanAnalyzeInfoCell.swift in Sources */
,
045C12292D12CA5F00BD2DC0
/* YHChoiceButtonHoldView.swift in Sources */
,
045C122A2D12CA5F00BD2DC0
/* YHInformationAuthorizeViewModel.swift in Sources */
,
045C122B2D12CA5F00BD2DC0
/* YHEditWorkViewController.swift in Sources */
,
...
...
galaxy/galaxy/Classes/Modules/Plan(方案)/C/YHPlanViewController.swift
View file @
6c4a72de
...
...
@@ -10,21 +10,85 @@ import UIKit
class
YHPlanViewController
:
YHBaseViewController
{
var
infoArr
:
[
String
]
=
[
""
,
""
,
""
,
""
]
lazy
var
tableView
:
UITableView
=
{
let
tableView
=
UITableView
(
frame
:
.
zero
,
style
:
.
grouped
)
if
#available(iOS 11.0, *)
{
tableView
.
contentInsetAdjustmentBehavior
=
.
never
}
tableView
.
showsVerticalScrollIndicator
=
false
tableView
.
estimatedSectionHeaderHeight
=
1.0
tableView
.
estimatedSectionFooterHeight
=
1.0
tableView
.
backgroundColor
=
.
clear
tableView
.
separatorStyle
=
.
none
tableView
.
delegate
=
self
tableView
.
dataSource
=
self
tableView
.
register
(
YHPlanAnalyzeInfoCell
.
self
,
forCellReuseIdentifier
:
YHPlanAnalyzeInfoCell
.
cellReuseIdentifier
)
tableView
.
register
(
YHPlanScoreCell
.
self
,
forCellReuseIdentifier
:
YHPlanScoreCell
.
cellReuseIdentifier
)
tableView
.
register
(
UITableViewCell
.
self
,
forCellReuseIdentifier
:
"UITableViewCell"
)
return
tableView
}()
let
v
=
YHPlanScoreChart
(
frame
:
.
zero
)
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
self
.
view
.
backgroundColor
=
.
black
self
.
view
.
addSubview
(
tableView
)
tableView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
right
.
bottom
.
equalToSuperview
()
make
.
top
.
equalTo
(
200
)
}
}
}
extension
YHPlanViewController
:
UITableViewDelegate
,
UITableViewDataSource
{
func
numberOfSections
(
in
tableView
:
UITableView
)
->
Int
{
return
self
.
infoArr
.
count
}
func
tableView
(
_
tableView
:
UITableView
,
numberOfRowsInSection
section
:
Int
)
->
Int
{
return
1
}
func
tableView
(
_
tableView
:
UITableView
,
cellForRowAt
indexPath
:
IndexPath
)
->
UITableViewCell
{
let
v
=
YHPlanScoreView
(
frame
:
.
zero
)
self
.
view
.
addSubview
(
v
)
v
.
snp
.
makeConstraints
{
make
in
make
.
left
.
right
.
equalToSuperview
()
make
.
top
.
equalTo
(
300
)
make
.
height
.
equalTo
(
442
)
let
defaultCell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
"UITableViewCell"
,
for
:
indexPath
)
if
0
<=
indexPath
.
section
&&
indexPath
.
section
<
self
.
infoArr
.
count
{
if
indexPath
.
section
==
0
{
let
cell1
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHPlanScoreCell
.
cellReuseIdentifier
,
for
:
indexPath
)
return
cell1
}
else
{
let
cell2
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHPlanAnalyzeInfoCell
.
cellReuseIdentifier
,
for
:
indexPath
)
return
cell2
}
}
v
.
chartView
.
updateScores
([
3.0
,
3.0
,
3.0
,
3.0
])
return
defaultCell
}
func
tableView
(
_
tableView
:
UITableView
,
heightForRowAt
indexPath
:
IndexPath
)
->
CGFloat
{
return
UITableView
.
automaticDimension
}
func
tableView
(
_
tableView
:
UITableView
,
didSelectRowAt
indexPath
:
IndexPath
)
{
}
func
tableView
(
_
tableView
:
UITableView
,
heightForFooterInSection
section
:
Int
)
->
CGFloat
{
return
1.0
}
func
tableView
(
_
tableView
:
UITableView
,
viewForFooterInSection
section
:
Int
)
->
UIView
?
{
let
view
=
UIView
()
return
view
}
func
tableView
(
_
tableView
:
UITableView
,
heightForHeaderInSection
section
:
Int
)
->
CGFloat
{
return
1.0
}
}
galaxy/galaxy/Classes/Modules/Plan(方案)/V/YHPlanAnalyzeInfoCell.swift
0 → 100644
View file @
6c4a72de
//
// YHPlanAnalyzeInfoCell.swift
// galaxy
//
// Created by Dufet on 2025/3/26.
// Copyright © 2025 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
import
AttributedString
class
YHPlanAnalyzeInfoView
:
UIView
{
lazy
var
titleLabel
:
UILabel
=
{
let
lable
=
UILabel
()
lable
.
textColor
=
UIColor
.
mainTextColor
lable
.
textAlignment
=
.
left
lable
.
font
=
UIFont
.
PFSC_M
(
ofSize
:
15
)
lable
.
text
=
"当前情况"
return
lable
}()
lazy
var
descLabel
:
UILabel
=
{
let
lable
=
UILabel
()
lable
.
textColor
=
UIColor
.
init
(
hex
:
0x6A7586
)
lable
.
textAlignment
=
.
left
lable
.
font
=
UIFont
.
PFSC_R
(
ofSize
:
13
)
lable
.
numberOfLines
=
0
lable
.
text
=
"您目前尚未在香港搭建生活关联,基本无法提供在港生活相关证明资料"
return
lable
}()
override
init
(
frame
:
CGRect
)
{
super
.
init
(
frame
:
frame
)
createUI
()
}
required
init
?(
coder
:
NSCoder
)
{
fatalError
(
"init(coder:) has not been implemented"
)
}
func
createUI
()
{
backgroundColor
=
.
clear
self
.
addSubview
(
titleLabel
)
self
.
addSubview
(
descLabel
)
titleLabel
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
16
)
make
.
right
.
equalTo
(
-
16
)
make
.
top
.
equalTo
(
0
)
make
.
height
.
equalTo
(
20
)
}
descLabel
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
16
)
make
.
right
.
equalTo
(
-
16
)
make
.
top
.
equalTo
(
titleLabel
.
snp
.
bottom
)
.
offset
(
4
)
make
.
bottom
.
equalToSuperview
()
}
}
}
class
YHPlanAnalyzeInfoCell
:
UITableViewCell
{
static
let
cellReuseIdentifier
=
"YHPlanAnalyzeInfoCell"
lazy
var
whiteContentView
:
UIView
=
{
let
v
=
UIView
()
v
.
backgroundColor
=
.
white
v
.
layer
.
cornerRadius
=
6.0
v
.
clipsToBounds
=
true
return
v
}()
lazy
var
titleLabel
:
UILabel
=
{
let
lable
=
UILabel
()
lable
.
textColor
=
UIColor
.
mainTextColor
lable
.
textAlignment
=
.
left
lable
.
font
=
UIFont
.
PFSC_B
(
ofSize
:
18
)
lable
.
text
=
"分析"
return
lable
}()
lazy
var
scoreLabel
:
UILabel
=
{
let
lable
=
UILabel
()
lable
.
textAlignment
=
.
right
lable
.
font
=
UIFont
.
PFSC_M
(
ofSize
:
15
)
let
aa
:
ASAttributedString
=
.
init
(
"3.0"
,
.
font
(
UIFont
(
name
:
"DINAlternate-Bold"
,
size
:
24
)
!
),
.
foreground
(
UIColor
.
mainTextColor
))
let
bb
:
ASAttributedString
=
.
init
(
"/5.0"
,
.
font
(
UIFont
(
name
:
"DINAlternate-Bold"
,
size
:
14
)
!
),
.
foreground
(
UIColor
.
mainTextColor
))
lable
.
attributed
.
text
=
aa
+
bb
return
lable
}()
lazy
var
lineView
:
UIView
=
{
let
v
=
UIView
()
v
.
backgroundColor
=
UIColor
.
init
(
hex
:
0xE9ECF0
)
return
v
}()
lazy
var
currentStateVeiw
:
YHPlanAnalyzeInfoView
=
{
let
v
=
YHPlanAnalyzeInfoView
(
frame
:
.
zero
)
v
.
titleLabel
.
text
=
"当前情况"
return
v
}()
lazy
var
requireVeiw
:
YHPlanAnalyzeInfoView
=
{
let
v
=
YHPlanAnalyzeInfoView
(
frame
:
.
zero
)
v
.
titleLabel
.
text
=
"港府要求"
return
v
}()
lazy
var
suggestVeiw
:
YHPlanAnalyzeInfoView
=
{
let
v
=
YHPlanAnalyzeInfoView
(
frame
:
.
zero
)
v
.
titleLabel
.
textColor
=
.
init
(
hex
:
0xAE6C32
)
v
.
titleLabel
.
text
=
"银河建议"
return
v
}()
required
init
?(
coder
:
NSCoder
)
{
super
.
init
(
coder
:
coder
)
}
override
init
(
style
:
UITableViewCell
.
CellStyle
,
reuseIdentifier
:
String
?)
{
super
.
init
(
style
:
style
,
reuseIdentifier
:
reuseIdentifier
)
setupUI
()
}
func
setupUI
()
{
selectionStyle
=
.
none
backgroundColor
=
.
clear
contentView
.
backgroundColor
=
.
clear
contentView
.
addSubview
(
whiteContentView
)
whiteContentView
.
addSubview
(
titleLabel
)
whiteContentView
.
addSubview
(
scoreLabel
)
whiteContentView
.
addSubview
(
lineView
)
whiteContentView
.
addSubview
(
currentStateVeiw
)
whiteContentView
.
addSubview
(
requireVeiw
)
whiteContentView
.
addSubview
(
suggestVeiw
)
whiteContentView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
16
)
make
.
right
.
equalTo
(
-
16
)
make
.
top
.
equalTo
(
0
)
make
.
bottom
.
equalTo
(
-
16
)
}
titleLabel
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
16
)
make
.
top
.
equalTo
(
20
)
make
.
height
.
equalTo
(
25
)
}
scoreLabel
.
snp
.
makeConstraints
{
make
in
make
.
right
.
equalTo
(
-
16
)
make
.
top
.
equalTo
(
20
)
make
.
height
.
equalTo
(
25
)
}
lineView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
titleLabel
.
snp
.
bottom
)
.
offset
(
12
)
make
.
left
.
equalTo
(
16
)
make
.
right
.
equalTo
(
-
16
)
make
.
height
.
equalTo
(
0.5
)
}
currentStateVeiw
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
16
)
make
.
top
.
equalTo
(
lineView
.
snp
.
bottom
)
.
offset
(
16
)
make
.
right
.
equalTo
(
-
16
)
}
requireVeiw
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
16
)
make
.
top
.
equalTo
(
currentStateVeiw
.
snp
.
bottom
)
.
offset
(
16
)
make
.
right
.
equalTo
(
-
16
)
}
suggestVeiw
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
16
)
make
.
top
.
equalTo
(
requireVeiw
.
snp
.
bottom
)
.
offset
(
16
)
make
.
right
.
equalTo
(
-
16
)
make
.
bottom
.
equalTo
(
-
16
)
}
}
}
galaxy/galaxy/Classes/Modules/Plan(方案)/V/YHPlanScoreCell.swift
0 → 100644
View file @
6c4a72de
//
// YHPlanScoreCell.swift
// galaxy
//
// Created by Dufet on 2025/3/26.
// Copyright © 2025 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
class
YHPlanScoreCell
:
UITableViewCell
{
static
let
cellReuseIdentifier
=
"YHPlanScoreCell"
lazy
var
scoreView
:
YHPlanScoreView
=
{
let
v
=
YHPlanScoreView
(
frame
:
.
zero
)
return
v
}()
required
init
?(
coder
:
NSCoder
)
{
super
.
init
(
coder
:
coder
)
}
override
init
(
style
:
UITableViewCell
.
CellStyle
,
reuseIdentifier
:
String
?)
{
super
.
init
(
style
:
style
,
reuseIdentifier
:
reuseIdentifier
)
setupUI
()
}
func
setupUI
()
{
backgroundColor
=
.
clear
contentView
.
backgroundColor
=
.
clear
self
.
contentView
.
addSubview
(
scoreView
)
scoreView
.
snp
.
makeConstraints
{
make
in
make
.
edges
.
equalToSuperview
()
make
.
height
.
equalTo
(
442
)
}
scoreView
.
chartView
.
updateScores
([
5.0
,
5.0
,
5.0
,
5.0
])
}
}
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