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
3c9718bc
Commit
3c9718bc
authored
Mar 26, 2025
by
Steven杜宇
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
// 方案
parent
6c4a72de
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
204 additions
and
9 deletions
+204
-9
project.pbxproj
galaxy/galaxy.xcodeproj/project.pbxproj
+4
-0
YHPlanViewController.swift
...axy/Classes/Modules/Plan(方案)/C/YHPlanViewController.swift
+7
-2
YHPlanAnalyzeInfoCell.swift
...xy/Classes/Modules/Plan(方案)/V/YHPlanAnalyzeInfoCell.swift
+38
-6
YHPlanProductListView.swift
...xy/Classes/Modules/Plan(方案)/V/YHPlanProductListView.swift
+153
-0
YHPlanScoreCell.swift
...y/galaxy/Classes/Modules/Plan(方案)/V/YHPlanScoreCell.swift
+2
-1
No files found.
galaxy/galaxy.xcodeproj/project.pbxproj
View file @
3c9718bc
...
...
@@ -1223,6 +1223,7 @@
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 */
;
};
04D8FF632D93A98200703C75
/* YHPlanProductListView.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04D8FF622D93A98200703C75
/* YHPlanProductListView.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 */
;
};
...
...
@@ -2485,6 +2486,7 @@
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>"
;
};
04D8FF622D93A98200703C75
/* YHPlanProductListView.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHPlanProductListView.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>"
;
};
...
...
@@ -6630,6 +6632,7 @@
04D8FF562D925A0800703C75
/* YHPlanScoreChart.swift */
,
04D8FF5E2D93945100703C75
/* YHPlanAnalyzeInfoCell.swift */
,
04D8FF602D939D2400703C75
/* YHPlanScoreCell.swift */
,
04D8FF622D93A98200703C75
/* YHPlanProductListView.swift */
,
);
path
=
V
;
sourceTree
=
"<group>"
;
...
...
@@ -7123,6 +7126,7 @@
045C102F2D12CA5F00BD2DC0
/* YHFormItemInputTextCell.swift in Sources */
,
04307BAE2D1FFEA200ED8E8D
/* YHLiveAppointmentViewController.swift in Sources */
,
045C10302D12CA5F00BD2DC0
/* YHFamilyInfoWarmTipsView.swift in Sources */
,
04D8FF632D93A98200703C75
/* YHPlanProductListView.swift in Sources */
,
045C10312D12CA5F00BD2DC0
/* YHSpouseInfoContainerVC.swift in Sources */
,
045C10322D12CA5F00BD2DC0
/* YHRecommendTextMessageCell.swift in Sources */
,
045C10332D12CA5F00BD2DC0
/* YHBasicInfoFillModel.swift in Sources */
,
...
...
galaxy/galaxy/Classes/Modules/Plan(方案)/C/YHPlanViewController.swift
View file @
3c9718bc
...
...
@@ -60,10 +60,15 @@ extension YHPlanViewController: UITableViewDelegate, UITableViewDataSource {
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
)
guard
let
cell1
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHPlanScoreCell
.
cellReuseIdentifier
,
for
:
indexPath
)
as?
YHPlanScoreCell
else
{
return
UITableViewCell
()
}
return
cell1
}
else
{
let
cell2
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHPlanAnalyzeInfoCell
.
cellReuseIdentifier
,
for
:
indexPath
)
guard
let
cell2
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHPlanAnalyzeInfoCell
.
cellReuseIdentifier
,
for
:
indexPath
)
as?
YHPlanAnalyzeInfoCell
else
{
return
UITableViewCell
()
}
cell2
.
products
=
[]
return
cell2
}
}
...
...
galaxy/galaxy/Classes/Modules/Plan(方案)/V/YHPlanAnalyzeInfoCell.swift
View file @
3c9718bc
...
...
@@ -45,15 +45,15 @@ class YHPlanAnalyzeInfoView: UIView {
self
.
addSubview
(
descLabel
)
titleLabel
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
16
)
make
.
right
.
equalTo
(
-
16
)
make
.
left
.
equalTo
(
0
)
make
.
right
.
equalTo
(
-
0
)
make
.
top
.
equalTo
(
0
)
make
.
height
.
equalTo
(
20
)
}
descLabel
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
16
)
make
.
right
.
equalTo
(
-
16
)
make
.
left
.
equalTo
(
0
)
make
.
right
.
equalTo
(
-
0
)
make
.
top
.
equalTo
(
titleLabel
.
snp
.
bottom
)
.
offset
(
4
)
make
.
bottom
.
equalToSuperview
()
}
...
...
@@ -64,6 +64,25 @@ class YHPlanAnalyzeInfoCell: UITableViewCell {
static
let
cellReuseIdentifier
=
"YHPlanAnalyzeInfoCell"
var
products
:
[
String
]
=
[]
{
didSet
{
let
isShowList
=
products
.
count
>
0
productListView
.
isHidden
=
!
isShowList
productListView
.
snp
.
remakeConstraints
{
make
in
make
.
left
.
equalTo
(
16
)
make
.
top
.
equalTo
(
suggestVeiw
.
snp
.
bottom
)
.
offset
(
isShowList
?
16
:
0
)
if
!
isShowList
{
make
.
height
.
equalTo
(
0
)
}
make
.
right
.
equalTo
(
-
16
)
make
.
bottom
.
equalTo
(
-
16
)
}
productListView
.
products
=
products
self
.
setNeedsLayout
()
self
.
layoutIfNeeded
()
}
}
lazy
var
whiteContentView
:
UIView
=
{
let
v
=
UIView
()
v
.
backgroundColor
=
.
white
...
...
@@ -86,7 +105,7 @@ class YHPlanAnalyzeInfoCell: UITableViewCell {
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
))
let
bb
:
ASAttributedString
=
.
init
(
"/5.0"
,
.
font
(
UIFont
(
name
:
"DINAlternate-Bold"
,
size
:
14
)
!
),
.
foreground
(
UIColor
.
init
(
hex
:
0x8993A2
)
))
lable
.
attributed
.
text
=
aa
+
bb
return
lable
}()
...
...
@@ -116,6 +135,12 @@ class YHPlanAnalyzeInfoCell: UITableViewCell {
return
v
}()
lazy
var
productListView
:
YHPlanProductListView
=
{
let
v
=
YHPlanProductListView
(
frame
:
.
zero
)
v
.
isHidden
=
true
return
v
}()
required
init
?(
coder
:
NSCoder
)
{
super
.
init
(
coder
:
coder
)
}
...
...
@@ -136,6 +161,7 @@ class YHPlanAnalyzeInfoCell: UITableViewCell {
whiteContentView
.
addSubview
(
currentStateVeiw
)
whiteContentView
.
addSubview
(
requireVeiw
)
whiteContentView
.
addSubview
(
suggestVeiw
)
whiteContentView
.
addSubview
(
productListView
)
whiteContentView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
16
)
...
...
@@ -179,8 +205,14 @@ class YHPlanAnalyzeInfoCell: UITableViewCell {
make
.
left
.
equalTo
(
16
)
make
.
top
.
equalTo
(
requireVeiw
.
snp
.
bottom
)
.
offset
(
16
)
make
.
right
.
equalTo
(
-
16
)
}
productListView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
16
)
make
.
top
.
equalTo
(
suggestVeiw
.
snp
.
bottom
)
.
offset
(
0
)
make
.
height
.
equalTo
(
0
)
make
.
right
.
equalTo
(
-
16
)
make
.
bottom
.
equalTo
(
-
16
)
}
}
}
galaxy/galaxy/Classes/Modules/Plan(方案)/V/YHPlanProductListView.swift
0 → 100644
View file @
3c9718bc
//
// YHPlanProductListView.swift
// galaxy
//
// Created by Dufet on 2025/3/26.
// Copyright © 2025 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
class
YHPlanProductItemView
:
UIView
{
lazy
var
iconImgV
:
UIImageView
=
{
let
v
=
UIImageView
()
v
.
backgroundColor
=
.
red
return
v
}()
lazy
var
titleLabel
:
UILabel
=
{
let
lable
=
UILabel
()
lable
.
textColor
=
UIColor
.
mainTextColor
lable
.
textAlignment
=
.
left
lable
.
font
=
UIFont
.
PFSC_M
(
ofSize
:
15
)
lable
.
text
=
"XXXXXXXX"
return
lable
}()
lazy
var
descLabel
:
UILabel
=
{
let
lable
=
UILabel
()
lable
.
textColor
=
UIColor
.
init
(
hex
:
0x8993A2
)
lable
.
textAlignment
=
.
left
lable
.
font
=
UIFont
.
PFSC_R
(
ofSize
:
12
)
lable
.
numberOfLines
=
0
lable
.
text
=
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
return
lable
}()
lazy
var
rightArrowIcon
:
UIImageView
=
{
let
imageView
=
UIImageView
(
image
:
UIImage
(
named
:
"form_right_arrow"
))
return
imageView
}()
override
init
(
frame
:
CGRect
)
{
super
.
init
(
frame
:
frame
)
createUI
()
}
required
init
?(
coder
:
NSCoder
)
{
fatalError
(
"init(coder:) has not been implemented"
)
}
func
createUI
()
{
backgroundColor
=
.
init
(
hex
:
0xF8F9FB
)
self
.
addSubview
(
iconImgV
)
self
.
addSubview
(
titleLabel
)
self
.
addSubview
(
descLabel
)
self
.
addSubview
(
rightArrowIcon
)
iconImgV
.
snp
.
makeConstraints
{
make
in
make
.
left
.
top
.
bottom
.
equalToSuperview
()
make
.
width
.
equalTo
(
iconImgV
.
snp
.
height
)
}
titleLabel
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
iconImgV
.
snp
.
right
)
.
offset
(
8
)
make
.
top
.
equalTo
(
8
)
make
.
height
.
equalTo
(
22
)
make
.
right
.
equalTo
(
rightArrowIcon
.
snp
.
left
)
.
offset
(
-
8
)
}
descLabel
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
iconImgV
.
snp
.
right
)
.
offset
(
8
)
make
.
top
.
equalTo
(
titleLabel
.
snp
.
bottom
)
.
offset
(
2
)
make
.
height
.
equalTo
(
18
)
make
.
right
.
equalTo
(
rightArrowIcon
.
snp
.
left
)
.
offset
(
-
8
)
}
rightArrowIcon
.
snp
.
makeConstraints
{
make
in
make
.
width
.
height
.
equalTo
(
16
)
make
.
centerY
.
equalToSuperview
()
make
.
right
.
equalTo
(
-
8
)
}
}
}
class
YHPlanProductListView
:
UIView
{
var
products
:
[
String
]
=
[]
{
didSet
{
listView
.
removeSubviews
()
var
lastItemView
:
YHPlanProductItemView
?
for
(
index
,
item
)
in
products
.
enumerated
()
{
let
v
=
YHPlanProductItemView
(
frame
:
.
zero
)
listView
.
addSubview
(
v
)
v
.
snp
.
makeConstraints
{
make
in
make
.
left
.
right
.
equalToSuperview
()
make
.
height
.
equalTo
(
58.0
)
if
let
last
=
lastItemView
{
make
.
top
.
equalTo
(
last
.
snp
.
bottom
)
.
offset
(
8
)
}
else
{
make
.
top
.
equalToSuperview
()
}
if
index
==
products
.
count
-
1
{
make
.
bottom
.
equalToSuperview
()
}
}
lastItemView
=
v
}
self
.
setNeedsLayout
()
self
.
layoutIfNeeded
()
}
}
lazy
var
titleLabel
:
UILabel
=
{
let
lable
=
UILabel
()
lable
.
textColor
=
UIColor
.
init
(
hex
:
0xAE6C32
)
lable
.
textAlignment
=
.
left
lable
.
font
=
UIFont
.
PFSC_M
(
ofSize
:
15
)
lable
.
text
=
"增购以下产品可提升生活联系"
return
lable
}()
lazy
var
listView
:
UIView
=
{
let
v
=
UIView
()
return
v
}()
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
(
listView
)
titleLabel
.
snp
.
makeConstraints
{
make
in
make
.
left
.
right
.
top
.
equalToSuperview
()
make
.
height
.
equalTo
(
18
)
}
listView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
titleLabel
.
snp
.
bottom
)
.
offset
(
8
)
make
.
left
.
right
.
bottom
.
equalToSuperview
()
}
}
}
galaxy/galaxy/Classes/Modules/Plan(方案)/V/YHPlanScoreCell.swift
View file @
3c9718bc
...
...
@@ -27,12 +27,13 @@ class YHPlanScoreCell: UITableViewCell {
}
func
setupUI
()
{
selectionStyle
=
.
none
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