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
097d845a
Commit
097d845a
authored
Mar 06, 2024
by
pete谢兆麟
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
选择公司逻辑和UI
parent
20da7d33
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
88 additions
and
12 deletions
+88
-12
YHCompanySelectViewController.swift
...orkExperience(工作经验)/C/YHCompanySelectViewController.swift
+50
-12
String+Extension.swift
galaxy/galaxy/Classes/Tools/Extention/String+Extension.swift
+38
-0
No files found.
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/WorkExperience(工作经验)/C/YHCompanySelectViewController.swift
View file @
097d845a
...
...
@@ -14,6 +14,7 @@ class YHCompanySelectViewController: YHBaseViewController {
var
searchView
:
UITextField
!
var
sureButton
:
UIButton
!
var
tableView
:
UITableView
!
var
alertLabel
:
UILabel
!
var
searchDataSource
:
[
YHCompanyModelListModel
]?
var
viewModel
:
YHCompanyViewModel
?
...
...
@@ -36,7 +37,7 @@ class YHCompanySelectViewController: YHBaseViewController {
let
bgView
=
{
let
view
=
UIView
()
view
.
backgroundColor
=
UIColor
(
hex
:
0xf8f9fb
)
view
.
layer
.
cornerRadius
=
2
1
view
.
layer
.
cornerRadius
=
2
0.5
return
view
}()
view
.
addSubview
(
bgView
)
...
...
@@ -51,9 +52,10 @@ class YHCompanySelectViewController: YHBaseViewController {
let
searchBar
=
UITextField
()
searchBar
.
placeholder
=
"请输入用人单位全称"
searchBar
.
backgroundColor
=
UIColor
(
hex
:
0xf8f9fb
)
searchBar
.
font
=
UIFont
.
PFSC_R
(
ofSize
:
14
)
searchBar
.
keyboardType
=
.
default
searchBar
.
delegate
=
self
searchBar
.
layer
.
cornerRadius
=
2
1
searchBar
.
layer
.
cornerRadius
=
2
0.5
searchBar
.
leftView
=
UIView
(
frame
:
CGRect
(
x
:
0
,
y
:
0
,
width
:
16
,
height
:
42
))
searchBar
.
leftViewMode
=
.
always
searchBar
.
clearButtonMode
=
.
always
...
...
@@ -73,6 +75,7 @@ class YHCompanySelectViewController: YHBaseViewController {
button
.
titleLabel
?
.
font
=
UIFont
.
PFSC_M
(
ofSize
:
16
)
button
.
contentHorizontalAlignment
=
.
center
button
.
setTitle
(
"保存"
,
for
:
.
normal
)
button
.
titleLabel
?
.
font
=
UIFont
.
PFSC_M
(
ofSize
:
12
)
button
.
setTitleColor
(
UIColor
(
hex
:
0xffffff
),
for
:
.
normal
)
button
.
layer
.
cornerRadius
=
16.5
button
.
addTarget
(
self
,
action
:
#selector(
submit
)
,
for
:
.
touchUpInside
)
...
...
@@ -83,8 +86,9 @@ class YHCompanySelectViewController: YHBaseViewController {
make
.
centerY
.
equalTo
(
searchView
.
snp
.
centerY
)
make
.
height
.
equalTo
(
33
)
make
.
width
.
equalTo
(
66
)
make
.
right
.
equalTo
(
-
16
)
make
.
right
.
equalTo
(
-
20
)
}
sureButton
.
addYinHeGradualLayer
()
tableView
=
{
let
tableView
=
UITableView
(
frame
:
.
zero
,
style
:
.
plain
)
...
...
@@ -104,6 +108,24 @@ class YHCompanySelectViewController: YHBaseViewController {
make
.
bottom
.
equalTo
(
-
k_Height_safeAreaInsetsBottom
()
-
64
)
make
.
left
.
right
.
equalTo
(
view
)
}
alertLabel
=
{
let
label
=
UILabel
()
label
.
font
=
UIFont
.
PFSC_R
(
ofSize
:
12
)
label
.
textColor
=
UIColor
(
hex
:
0x949494
)
label
.
numberOfLines
=
0
label
.
text
=
"暂未检索到相关企业,请准确、完整输入您的企业名称"
label
.
textAlignment
=
.
center
label
.
isHidden
=
true
return
label
}()
view
.
addSubview
(
alertLabel
)
alertLabel
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
21
)
make
.
right
.
equalTo
(
-
21
)
make
.
height
.
equalTo
(
17
)
make
.
top
.
equalTo
(
searchView
.
snp
.
bottom
)
.
offset
(
21
)
}
}
@objc
func
submit
()
{
...
...
@@ -118,15 +140,29 @@ extension YHCompanySelectViewController: UITextFieldDelegate {
func
textFieldDidChangeSelection
(
_
textField
:
UITextField
)
{
if
textField
.
text
==
""
{
tableView
.
isHidden
=
true
alertLabel
.
isHidden
=
true
}
else
{
viewModel
?
.
requestCompany
(
textField
.
text
??
""
)
{
[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
self
.
searchDataSource
=
success
self
.
tableView
.
isHidden
=
false
self
.
tableView
.
reloadData
()
if
success
?
.
count
==
0
{
self
.
alertLabel
.
isHidden
=
false
self
.
tableView
.
isHidden
=
true
}
else
{
self
.
searchDataSource
=
success
self
.
tableView
.
isHidden
=
false
self
.
tableView
.
reloadData
()
}
}
}
}
func
textFieldShouldClear
(
_
textField
:
UITextField
)
->
Bool
{
tableView
.
isHidden
=
true
alertLabel
.
isHidden
=
true
searchDataSource
=
[]
textField
.
text
=
""
return
true
}
}
extension
YHCompanySelectViewController
:
UITableViewDelegate
,
UITableViewDataSource
{
...
...
@@ -136,12 +172,13 @@ extension YHCompanySelectViewController: UITableViewDelegate, UITableViewDataSou
func
tableView
(
_
tableView
:
UITableView
,
cellForRowAt
indexPath
:
IndexPath
)
->
UITableViewCell
{
let
cell
=
tableView
.
dequeueReusableCell
(
withClass
:
YHCompanyTableViewCell
.
self
)
cell
.
titleLabel
.
text
=
searchDataSource
?[
indexPath
.
row
]
.
company_name
let
newString
=
searchDataSource
?[
indexPath
.
row
]
.
company_name
?
.
highlight
(
keyWords
:
searchView
.
text
,
highlightColor
:
UIColor
.
brandMainColor
)
cell
.
titleLabel
.
attributedText
=
newString
return
cell
}
func
tableView
(
_
tableView
:
UITableView
,
heightForRowAt
indexPath
:
IndexPath
)
->
CGFloat
{
return
4
4
return
4
0
}
func
tableView
(
_
tableView
:
UITableView
,
didSelectRowAt
indexPath
:
IndexPath
)
{
...
...
@@ -180,15 +217,16 @@ class YHCompanyTableViewCell: UITableViewCell {
func
setupUI
()
{
titleLabel
=
{
let
label
=
UILabel
()
label
.
font
=
UIFont
.
PFSC_R
(
ofSize
:
1
3
)
label
.
font
=
UIFont
.
PFSC_R
(
ofSize
:
1
4
)
label
.
textColor
=
UIColor
.
mainTextColor
label
.
numberOfLines
=
0
return
label
}()
contentView
.
addSubview
(
titleLabel
)
titleLabel
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
22
)
make
.
centerY
.
equalToSuperview
(
)
make
.
height
.
equalTo
(
20
)
make
.
top
.
bottom
.
equalToSuperview
(
)
make
.
left
.
equalTo
(
21
)
make
.
right
.
equalTo
(
-
21
)
}
}
}
...
...
galaxy/galaxy/Classes/Tools/Extention/String+Extension.swift
View file @
097d845a
...
...
@@ -187,3 +187,41 @@ extension String {
}
}
extension
String
{
/// 指定关键词高亮
/// - Parameter keyWords: 关键词
/// - Parameter color: 高亮颜色
func
highlight
(
keyWords
:
String
?,
highlightColor
color
:
UIColor
)
->
NSAttributedString
{
let
string
:
String
=
self
let
attributeString
=
NSMutableAttributedString
(
string
:
string
)
guard
let
keyWords
=
keyWords
else
{
return
attributeString
}
let
attribute
:
[
NSAttributedString
.
Key
:
Any
]
=
[
.
foregroundColor
:
color
]
// 需要改变的文本
let
ranges
=
ranges
(
of
:
keyWords
,
options
:
.
caseInsensitive
)
for
range
in
ranges
where
range
.
location
+
range
.
length
<=
string
.
count
{
attributeString
.
addAttributes
(
attribute
,
range
:
range
)
}
return
attributeString
}
/// 查找字符串中子字符串的NSRange
/// - Parameters:
/// - substring: 子字符串
/// - options: 匹配选项
/// - locale: 本地化
/// - Returns: 子字符串的NSRange数组
func
ranges
(
of
substring
:
String
,
options
:
CompareOptions
=
[],
locale
:
Locale
?
=
nil
)
->
[
NSRange
]
{
var
ranges
:
[
Range
<
Index
>
]
=
[]
while
let
range
=
range
(
of
:
substring
,
options
:
options
,
range
:
(
ranges
.
last
?
.
upperBound
??
self
.
startIndex
)
..<
self
.
endIndex
,
locale
:
locale
)
{
ranges
.
append
(
range
)
}
// [range]转换为[NSRange]返回
return
ranges
.
compactMap
({
NSRange
(
$0
,
in
:
self
)})
}
/// range转换为NSRange
func
toNSRange
(
from
range
:
Range
<
String
.
Index
>
)
->
NSRange
{
return
NSRange
(
range
,
in
:
self
)
}
}
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