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
4a170467
Commit
4a170467
authored
Jun 04, 2024
by
pete谢兆麟
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.服务中心适配首页子页UI
2.服务中心订单列表UI,搜索UI 3.服务中心搜索,白名单接口联调 4.服务中心搜索逻辑接入
parent
953ea3a9
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
616 additions
and
31 deletions
+616
-31
project.pbxproj
galaxy/galaxy.xcodeproj/project.pbxproj
+8
-0
YHOrderDetailViewController.swift
...elligentService(服务中心)/C/YHOrderDetailViewController.swift
+256
-18
YHOrderSearchViewController.swift
...elligentService(服务中心)/C/YHOrderSearchViewController.swift
+143
-0
YHServiceCenterMainViewController.swift
...ntService(服务中心)/C/YHServiceCenterMainViewController.swift
+87
-12
YHServiceCenterProgressModel.swift
...lligentService(服务中心)/M/YHServiceCenterProgressModel.swift
+6
-0
YHServiceOrderSearchViewModel.swift
...igentService(服务中心)/VM/YHServiceOrderSearchViewModel.swift
+69
-0
YHAllApiName.swift
galaxy/galaxy/Classes/Tools/NetWork/YHAllApiName.swift
+3
-1
Contents.json
...ceCenter/主入口/service_detail_search.imageset/Contents.json
+22
-0
service_detail_search@2x.png
...rvice_detail_search.imageset/service_detail_search@2x.png
+0
-0
service_detail_search@3x.png
...rvice_detail_search.imageset/service_detail_search@3x.png
+0
-0
Contents.json
...rviceCenter/主入口/service_right_icon.imageset/Contents.json
+22
-0
service_right_icon@2x.png
...主入口/service_right_icon.imageset/service_right_icon@2x.png
+0
-0
service_right_icon@3x.png
...主入口/service_right_icon.imageset/service_right_icon@3x.png
+0
-0
No files found.
galaxy/galaxy.xcodeproj/project.pbxproj
View file @
4a170467
...
...
@@ -29,6 +29,8 @@
0435FA7F2BA178C100024EAE
/* YHCommonAlertView.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
0435FA7E2BA178C100024EAE
/* YHCommonAlertView.swift */
;
};
0435FA812BA186D600024EAE
/* YHMyFileMethodTableViewCell.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
0435FA802BA186D600024EAE
/* YHMyFileMethodTableViewCell.swift */
;
};
0435FA832BA2DEB100024EAE
/* YHCardButton.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
0435FA822BA2DEB100024EAE
/* YHCardButton.swift */
;
};
043D2C8A2C0EEF3F00172438
/* YHOrderSearchViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
043D2C892C0EEF3F00172438
/* YHOrderSearchViewController.swift */
;
};
043D2C8C2C0F037B00172438
/* YHServiceOrderSearchViewModel.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
043D2C8B2C0F037B00172438
/* YHServiceOrderSearchViewModel.swift */
;
};
044378A42BFC848C001F95AE
/* loginBkg.mov in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
044378A32BFC848C001F95AE
/* loginBkg.mov */
;
};
044413FD2BC386DA00784A14
/* YHServiceViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
044413FC2BC386DA00784A14
/* YHServiceViewController.swift */
;
};
044413FF2BC391F000784A14
/* YHServiceListViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
044413FE2BC391F000784A14
/* YHServiceListViewController.swift */
;
};
...
...
@@ -500,6 +502,8 @@
0435FA7E2BA178C100024EAE
/* YHCommonAlertView.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHCommonAlertView.swift
;
sourceTree
=
"<group>"
;
};
0435FA802BA186D600024EAE
/* YHMyFileMethodTableViewCell.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHMyFileMethodTableViewCell.swift
;
sourceTree
=
"<group>"
;
};
0435FA822BA2DEB100024EAE
/* YHCardButton.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHCardButton.swift
;
sourceTree
=
"<group>"
;
};
043D2C892C0EEF3F00172438
/* YHOrderSearchViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHOrderSearchViewController.swift
;
sourceTree
=
"<group>"
;
};
043D2C8B2C0F037B00172438
/* YHServiceOrderSearchViewModel.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHServiceOrderSearchViewModel.swift
;
sourceTree
=
"<group>"
;
};
044378A32BFC848C001F95AE
/* loginBkg.mov */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
video.quicktime
;
path
=
loginBkg.mov
;
sourceTree
=
"<group>"
;
};
044413FC2BC386DA00784A14
/* YHServiceViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHServiceViewController.swift
;
sourceTree
=
"<group>"
;
};
044413FE2BC391F000784A14
/* YHServiceListViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHServiceListViewController.swift
;
sourceTree
=
"<group>"
;
};
...
...
@@ -2370,6 +2374,7 @@
044414002BC3979800784A14
/* YHServerHKLifeViewController.swift */
,
A514E5DB2B60A2B700C93951
/* YHServiceCenterSecondViewController.swift */
,
A5FD63BC2B623C2C00D1D9DA
/* YHInformationPerfectListVC.swift */
,
043D2C892C0EEF3F00172438
/* YHOrderSearchViewController.swift */
,
);
path
=
C
;
sourceTree
=
"<group>"
;
...
...
@@ -2449,6 +2454,7 @@
isa
=
PBXGroup
;
children
=
(
A5C382CE2B5F9A9100C5E65C
/* YHServiceCenterMainViewModel.swift */
,
043D2C8B2C0F037B00172438
/* YHServiceOrderSearchViewModel.swift */
,
);
path
=
VM
;
sourceTree
=
"<group>"
;
...
...
@@ -2846,6 +2852,7 @@
045EEE842B9F171A0022A143
/* YHPreviewBasiceInformationViewController.swift in Sources */
,
A5ACE9282B4564F7002C94D2
/* YHSmsCodeView.swift in Sources */
,
0499E3002C056EE30037E646
/* YHOneKeyLoginView.swift in Sources */
,
043D2C8C2C0F037B00172438
/* YHServiceOrderSearchViewModel.swift in Sources */
,
0468D4262B495A5400CFB916
/* YHPickPhoneAddressViewController.swift in Sources */
,
048B2A4D2BC7DAE800A93BF0
/* YHMyLikeViewModel.swift in Sources */
,
04C693622B723AB8004C1758
/* YHMySettingViewController.swift in Sources */
,
...
...
@@ -2923,6 +2930,7 @@
045EEE9E2B9F171A0022A143
/* YHWorkExampleModel.swift in Sources */
,
045EEE8A2B9F171A0022A143
/* YHPreviewOtherInformationViewController.swift in Sources */
,
A5FD63C72B638CA000D1D9DA
/* YHSubmintAllInfoSuccessTipView.swift in Sources */
,
043D2C8A2C0EEF3F00172438
/* YHOrderSearchViewController.swift in Sources */
,
A567E5A32BD7643D00D5D5A0
/* YHHomeBannerView.swift in Sources */
,
A5ACE9402B4564F7002C94D2
/* String+Extension.swift in Sources */
,
045EEEE42B9F171A0022A143
/* YHMySignatureDetailModel.swift in Sources */
,
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/C/YHOrderDetailViewController.swift
View file @
4a170467
...
...
@@ -9,28 +9,156 @@
import
UIKit
class
YHOrderDetailViewController
:
YHBaseViewController
{
var
centerView
:
UIView
!
var
titleLabel
:
UILabel
!
var
lineView
:
UIView
!
var
orderLabel
:
UILabel
!
var
orderNumLabel
:
UILabel
!
var
phoneLabel
:
UILabel
!
var
phoneNumLabel
:
UILabel
!
var
copyButton
:
UIButton
!
var
model
:
YHContactItemModel
=
YHContactItemModel
()
var
tableView
:
UITableView
!
var
viewModel
:
YHServiceOrderSearchViewModel
=
YHServiceOrderSearchViewModel
()
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
setView
()
getWhiteList
()
// Do any additional setup after loading the view.
}
func
getWhiteList
()
{
viewModel
.
getWhitelist
{[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
if
success
{
let
searchButton
=
{
let
button
=
UIButton
(
type
:
.
custom
)
button
.
frame
=
CGRect
(
x
:
0
,
y
:
0
,
width
:
81
,
height
:
21
)
button
.
setImage
(
UIImage
(
named
:
"service_detail_search"
),
for
:
.
normal
)
button
.
setTitleColor
(
UIColor
.
mainTextColor
,
for
:
.
normal
)
button
.
setTitle
(
"订单搜索"
,
for
:
.
normal
)
button
.
titleLabel
?
.
font
=
UIFont
.
PFSC_M
(
ofSize
:
14
)
button
.
contentHorizontalAlignment
=
.
right
button
.
addTarget
(
self
,
action
:
#selector(
self.searchButtonClick
)
,
for
:
.
touchUpInside
)
button
.
isSelected
=
false
button
.
iconInLeft
(
spacing
:
4
)
return
button
}()
let
rightButtonItem
=
UIBarButtonItem
(
customView
:
searchButton
)
gk_navRightBarButtonItem
=
rightButtonItem
gk_navItemRightSpace
=
16
}
}
}
@objc
func
searchButtonClick
()
{
let
vc
=
YHOrderSearchViewController
()
self
.
navigationController
?
.
pushViewController
(
vc
)
}
func
setView
()
{
gk_navTitle
=
"我的订单"
gk_navBackgroundColor
=
UIColor
.
white
gk_navBarAlpha
=
1
tableView
=
{
let
tableView
=
UITableView
(
frame
:
.
zero
,
style
:
.
grouped
)
if
#available(iOS 11.0, *)
{
tableView
.
contentInsetAdjustmentBehavior
=
.
never
}
tableView
.
backgroundColor
=
.
clear
tableView
.
separatorStyle
=
.
none
tableView
.
delegate
=
self
tableView
.
dataSource
=
self
tableView
.
register
(
cellWithClass
:
YHOrderDetailTableViewCell
.
self
)
return
tableView
}()
view
.
addSubview
(
tableView
)
tableView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
k_Height_NavigationtBarAndStatuBar
)
make
.
left
.
right
.
bottom
.
equalTo
(
view
)
}
}
}
extension
YHOrderDetailViewController
:
UITableViewDelegate
,
UITableViewDataSource
{
func
tableView
(
_
tableView
:
UITableView
,
numberOfRowsInSection
section
:
Int
)
->
Int
{
return
1
}
func
tableView
(
_
tableView
:
UITableView
,
cellForRowAt
indexPath
:
IndexPath
)
->
UITableViewCell
{
let
cell
=
tableView
.
dequeueReusableCell
(
withClass
:
YHOrderDetailTableViewCell
.
self
)
cell
.
dataSource
=
model
cell
.
cellBlock
=
{[
weak
self
]
model
in
guard
let
self
=
self
else
{
return
}
self
.
navigationController
?
.
popViewController
()
}
return
cell
}
func
tableView
(
_
tableView
:
UITableView
,
heightForRowAt
indexPath
:
IndexPath
)
->
CGFloat
{
return
255
}
func
tableView
(
_
tableView
:
UITableView
,
viewForHeaderInSection
section
:
Int
)
->
UIView
?
{
let
view
=
UIView
(
frame
:
CGRect
(
x
:
0
,
y
:
0
,
width
:
KScreenWidth
,
height
:
7
))
return
view
}
func
tableView
(
_
tableView
:
UITableView
,
heightForHeaderInSection
section
:
Int
)
->
CGFloat
{
return
7
}
func
tableView
(
_
tableView
:
UITableView
,
viewForFooterInSection
section
:
Int
)
->
UIView
?
{
return
UIView
()
}
func
tableView
(
_
tableView
:
UITableView
,
heightForFooterInSection
section
:
Int
)
->
CGFloat
{
return
0.01
}
}
class
YHOrderDetailTableViewCell
:
UITableViewCell
{
typealias
CellBlock
=
(
YHContactItemModel
)
->
()
var
cellBlock
:
CellBlock
?
var
centerView
:
UIView
!
var
titleLabel
:
UILabel
!
var
lineView
:
UIView
!
var
orderLabel
:
UILabel
!
var
orderNumLabel
:
UILabel
!
var
phoneLabel
:
UILabel
!
var
phoneNumLabel
:
UILabel
!
var
copyButton
:
UIButton
!
var
phoneCopyButton
:
UIButton
!
var
nameLabel
:
UILabel
!
var
nameValueLabel
:
UILabel
!
var
showDetailButton
:
UIButton
!
var
dataSource
:
YHContactItemModel
?
{
didSet
{
updateAllViews
()
}
}
override
func
awakeFromNib
()
{
super
.
awakeFromNib
()
// Initialization code
}
override
func
setSelected
(
_
selected
:
Bool
,
animated
:
Bool
)
{
super
.
setSelected
(
selected
,
animated
:
animated
)
// Configure the view for the selected state
}
required
init
?(
coder
:
NSCoder
)
{
super
.
init
(
coder
:
coder
)
}
override
init
(
style
:
UITableViewCell
.
CellStyle
,
reuseIdentifier
:
String
?)
{
super
.
init
(
style
:
style
,
reuseIdentifier
:
reuseIdentifier
)
selectionStyle
=
.
none
setupUI
()
}
func
setupUI
()
{
contentView
.
backgroundColor
=
.
clear
backgroundColor
=
.
clear
centerView
=
{
let
view
=
UIView
()
view
.
backgroundColor
=
.
white
...
...
@@ -38,19 +166,19 @@ class YHOrderDetailViewController: YHBaseViewController {
view
.
masksToBounds
=
true
return
view
}()
view
.
addSubview
(
centerView
)
addSubview
(
centerView
)
centerView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
k_Height_NavigationtBarAndStatuBar
+
16
)
make
.
top
.
equalTo
(
8
)
make
.
left
.
equalTo
(
16
)
make
.
right
.
equalTo
(
-
16
)
make
.
height
.
equalTo
(
149
)
make
.
bottom
.
equalTo
(
8
)
}
titleLabel
=
{
let
label
=
UILabel
()
label
.
font
=
UIFont
.
PFSC_M
(
ofSize
:
17
)
label
.
textColor
=
UIColor
.
mainTextColor
label
.
text
=
model
.
productName
//
label.text = model.productName
return
label
}()
centerView
.
addSubview
(
titleLabel
)
...
...
@@ -101,11 +229,40 @@ class YHOrderDetailViewController: YHBaseViewController {
make
.
height
.
equalTo
(
20
)
}
nameLabel
=
{
let
label
=
UILabel
()
label
.
font
=
UIFont
.
PFSC_M
(
ofSize
:
14
)
label
.
textColor
=
UIColor
.
mainTextColor
.
withAlphaComponent
(
0.5
)
label
.
text
=
"签约人姓名:"
return
label
}()
centerView
.
addSubview
(
nameLabel
)
nameLabel
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
149.5
)
make
.
left
.
equalTo
(
16
)
make
.
height
.
equalTo
(
20
)
}
nameValueLabel
=
{
let
label
=
UILabel
()
label
.
font
=
UIFont
.
PFSC_M
(
ofSize
:
14
)
label
.
textColor
=
UIColor
.
mainTextColor
// label.text = model.orderSn
label
.
textAlignment
=
.
right
return
label
}()
centerView
.
addSubview
(
nameValueLabel
)
nameValueLabel
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
149.5
)
make
.
right
.
equalTo
(
-
16
)
make
.
height
.
equalTo
(
20
)
}
orderNumLabel
=
{
let
label
=
UILabel
()
label
.
font
=
UIFont
.
PFSC_M
(
ofSize
:
14
)
label
.
textColor
=
UIColor
.
mainTextColor
label
.
text
=
model
.
orderSn
//
label.text = model.orderSn
label
.
textAlignment
=
.
right
return
label
}()
...
...
@@ -120,14 +277,14 @@ class YHOrderDetailViewController: YHBaseViewController {
let
label
=
UILabel
()
label
.
font
=
UIFont
.
PFSC_M
(
ofSize
:
14
)
label
.
textColor
=
UIColor
.
mainTextColor
label
.
text
=
model
.
mobile
//
label.text = model.mobile
label
.
textAlignment
=
.
right
return
label
}()
centerView
.
addSubview
(
phoneNumLabel
)
phoneNumLabel
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
110.5
)
make
.
right
.
equalTo
(
-
16
)
make
.
right
.
equalTo
(
-
58
)
make
.
height
.
equalTo
(
20
)
}
...
...
@@ -147,6 +304,22 @@ class YHOrderDetailViewController: YHBaseViewController {
make
.
width
.
equalTo
(
26
)
}
phoneCopyButton
=
{
let
button
=
UIButton
(
type
:
.
custom
)
button
.
setTitle
(
"复制"
,
for
:
.
normal
)
button
.
titleLabel
?
.
font
=
UIFont
.
PFSC_M
(
ofSize
:
13
)
button
.
setTitleColor
(
UIColor
.
brandMainColor
,
for
:
.
normal
)
button
.
addTarget
(
self
,
action
:
#selector(
phoneCopyButtonClick
)
,
for
:
.
touchUpInside
)
return
button
}()
centerView
.
addSubview
(
phoneCopyButton
)
phoneCopyButton
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
112.5
)
make
.
right
.
equalTo
(
-
16
)
make
.
height
.
equalTo
(
18
)
make
.
width
.
equalTo
(
26
)
}
let
subLineView
=
{
let
view
=
UIView
()
view
.
backgroundColor
=
UIColor
.
separatorColor
...
...
@@ -159,11 +332,76 @@ class YHOrderDetailViewController: YHBaseViewController {
make
.
width
.
equalTo
(
1
)
make
.
height
.
equalTo
(
6
)
}
let
subLine1View
=
{
let
view
=
UIView
()
view
.
backgroundColor
=
UIColor
.
separatorColor
return
view
}()
centerView
.
addSubview
(
subLine1View
)
subLine1View
.
snp
.
makeConstraints
{
make
in
make
.
centerY
.
equalTo
(
phoneCopyButton
.
snp
.
centerY
)
make
.
right
.
equalTo
(
-
50
)
make
.
width
.
equalTo
(
1
)
make
.
height
.
equalTo
(
6
)
}
let
bottomLineView
=
{
let
view
=
UIView
()
view
.
backgroundColor
=
UIColor
.
separatorColor
return
view
}()
centerView
.
addSubview
(
bottomLineView
)
bottomLineView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
197
)
make
.
left
.
right
.
equalToSuperview
()
make
.
height
.
equalTo
(
0.5
)
}
showDetailButton
=
{
let
button
=
UIButton
(
type
:
.
custom
)
button
.
setImage
(
UIImage
(
named
:
"service_right_icon"
),
for
:
.
normal
)
button
.
setTitleColor
(
UIColor
.
brandMainColor
,
for
:
.
normal
)
button
.
setTitle
(
"查看详情"
,
for
:
.
normal
)
button
.
titleLabel
?
.
font
=
UIFont
.
PFSC_M
(
ofSize
:
14
)
button
.
contentHorizontalAlignment
=
.
right
button
.
addTarget
(
self
,
action
:
#selector(
showDetailClick
)
,
for
:
.
touchUpInside
)
button
.
isSelected
=
false
return
button
}()
centerView
.
addSubview
(
showDetailButton
)
showDetailButton
.
snp
.
makeConstraints
{
make
in
make
.
bottom
.
equalToSuperview
()
make
.
centerX
.
equalToSuperview
()
make
.
height
.
equalTo
(
52
)
make
.
width
.
equalTo
(
76
)
}
showDetailButton
.
iconInRight
(
with
:
2
)
}
@objc
func
copyButtonClick
()
{
let
textToCopy
=
orderNumLabel
.
text
UIPasteboard
.
general
.
string
=
textToCopy
YHHUD
.
flash
(
message
:
"复制成功"
)
}
@objc
func
phoneCopyButtonClick
()
{
let
textToCopy
=
phoneNumLabel
.
text
UIPasteboard
.
general
.
string
=
textToCopy
YHHUD
.
flash
(
message
:
"复制成功"
)
}
@objc
func
showDetailClick
()
{
guard
let
model
=
dataSource
else
{
return
}
if
let
block
=
cellBlock
{
block
(
model
)
}
}
func
updateAllViews
()
{
guard
let
model
=
dataSource
else
{
return
}
titleLabel
.
text
=
model
.
productName
orderNumLabel
.
text
=
model
.
orderSn
phoneNumLabel
.
text
=
model
.
mobile
nameValueLabel
.
text
=
model
.
username
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/C/YHOrderSearchViewController.swift
0 → 100644
View file @
4a170467
//
// YHOrderSearchViewController.swift
// galaxy
//
// Created by EDY on 2024/6/4.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
class
YHOrderSearchViewController
:
YHBaseViewController
{
var
tableView
:
UITableView
!
var
searchBar
:
YHSearchInfoBar
!
var
emptyDataTipsView
:
YHEmptyDataView
!
var
items
:
[
YHContactItemModel
]
=
[]
var
viewModel
:
YHServiceOrderSearchViewModel
=
YHServiceOrderSearchViewModel
()
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
setView
()
}
func
setView
()
{
gk_navTitle
=
"订单搜索"
gk_navBackgroundColor
=
UIColor
.
white
gk_navBarAlpha
=
1
let
searchView
=
UIView
()
searchView
.
backgroundColor
=
.
white
view
.
addSubview
(
searchView
)
searchView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
k_Height_NavigationtBarAndStatuBar
)
make
.
left
.
right
.
equalToSuperview
()
make
.
height
.
equalTo
(
52
)
}
searchBar
=
{
let
bar
=
YHSearchInfoBar
()
bar
.
placeHolder
=
"请输入签约合同号"
bar
.
setSearchButtonEnable
(
false
)
bar
.
searchBlock
=
{
[
weak
self
]
text
in
guard
let
self
=
self
else
{
return
}
self
.
viewModel
.
getSearchList
(
text
??
""
,
callBackBlock
:
{[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
self
.
items
=
self
.
viewModel
.
arrContactList
self
.
emptyDataTipsView
.
isHidden
=
(
items
.
count
>
0
)
self
.
tableView
.
reloadData
()
})
}
bar
.
textChange
=
{
[
weak
self
]
text
in
guard
let
self
=
self
else
{
return
}
if
isEmptyString
(
text
)
{
bar
.
setSearchButtonEnable
(
false
)
}
else
{
bar
.
setSearchButtonEnable
(
true
)
}
}
return
bar
}()
view
.
addSubview
(
searchBar
)
searchBar
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
k_Height_NavigationtBarAndStatuBar
+
8
)
make
.
left
.
equalTo
(
20
)
make
.
right
.
equalTo
(
-
20
)
make
.
height
.
equalTo
(
36
)
}
emptyDataTipsView
=
{
let
view
=
YHEmptyDataView
.
createView
(
"无搜索结果"
,
kEmptySearchBgName
)
view
.
topMargin
=
204
view
.
isHidden
=
true
return
view
}()
tableView
=
{
let
tableView
=
UITableView
(
frame
:
.
zero
,
style
:
.
grouped
)
if
#available(iOS 11.0, *)
{
tableView
.
contentInsetAdjustmentBehavior
=
.
never
}
tableView
.
backgroundColor
=
.
clear
tableView
.
separatorStyle
=
.
none
tableView
.
delegate
=
self
tableView
.
dataSource
=
self
tableView
.
backgroundView
=
emptyDataTipsView
tableView
.
register
(
cellWithClass
:
YHOrderDetailTableViewCell
.
self
)
return
tableView
}()
view
.
addSubview
(
tableView
)
tableView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
k_Height_NavigationtBarAndStatuBar
+
52
)
make
.
left
.
right
.
bottom
.
equalTo
(
view
)
}
}
override
func
viewDidAppear
(
_
animated
:
Bool
)
{
super
.
viewDidAppear
(
animated
)
if
items
.
count
==
0
{
searchBar
.
textField
.
becomeFirstResponder
()
}
}
}
extension
YHOrderSearchViewController
:
UITableViewDelegate
,
UITableViewDataSource
{
func
tableView
(
_
tableView
:
UITableView
,
numberOfRowsInSection
section
:
Int
)
->
Int
{
return
items
.
count
}
func
tableView
(
_
tableView
:
UITableView
,
cellForRowAt
indexPath
:
IndexPath
)
->
UITableViewCell
{
let
cell
=
tableView
.
dequeueReusableCell
(
withClass
:
YHOrderDetailTableViewCell
.
self
)
cell
.
dataSource
=
items
[
indexPath
.
row
]
cell
.
cellBlock
=
{[
weak
self
]
model
in
guard
let
self
=
self
else
{
return
}
let
vc
=
YHServiceCenterMainViewController
()
vc
.
model
=
model
self
.
navigationController
?
.
pushViewController
(
vc
)
}
return
cell
}
func
tableView
(
_
tableView
:
UITableView
,
heightForRowAt
indexPath
:
IndexPath
)
->
CGFloat
{
return
255
}
func
tableView
(
_
tableView
:
UITableView
,
viewForHeaderInSection
section
:
Int
)
->
UIView
?
{
let
view
=
UIView
(
frame
:
CGRect
(
x
:
0
,
y
:
0
,
width
:
KScreenWidth
,
height
:
7
))
return
view
}
func
tableView
(
_
tableView
:
UITableView
,
heightForHeaderInSection
section
:
Int
)
->
CGFloat
{
return
7
}
func
tableView
(
_
tableView
:
UITableView
,
viewForFooterInSection
section
:
Int
)
->
UIView
?
{
return
UIView
()
}
func
tableView
(
_
tableView
:
UITableView
,
heightForFooterInSection
section
:
Int
)
->
CGFloat
{
return
0.01
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/C/YHServiceCenterMainViewController.swift
View file @
4a170467
...
...
@@ -31,6 +31,21 @@ class YHServiceCenterMainViewController: YHBaseViewController {
}()
lazy
var
navBar
:
UIView
=
{
let
bar
=
UIView
()
let
backBtn
=
UIButton
()
backBtn
.
setImage
(
UIImage
(
named
:
"back_icon"
),
for
:
.
normal
)
backBtn
.
addTarget
(
self
,
action
:
#selector(
didBackBtnClicked
)
,
for
:
.
touchUpInside
)
backBtn
.
YH_clickEdgeInsets
=
UIEdgeInsets
(
top
:
20
,
left
:
20
,
bottom
:
20
,
right
:
20
)
bar
.
addSubview
(
backBtn
)
backBtn
.
snp
.
makeConstraints
{
make
in
make
.
width
.
height
.
equalTo
(
21
)
make
.
centerY
.
equalToSuperview
()
make
.
left
.
equalToSuperview
()
.
offset
(
16
)
}
return
bar
}()
private
let
noDataView
:
YHServiceNoOrderView
=
{
let
view
=
YHServiceNoOrderView
()
view
.
isHidden
=
true
...
...
@@ -95,17 +110,50 @@ class YHServiceCenterMainViewController: YHBaseViewController {
extension
YHServiceCenterMainViewController
{
func
loadData
()
{
serviceCenterMainReqVM
.
getContactList
{[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
if
success
==
true
{
}
else
{
YHHUD
.
flash
(
message
:
error
?
.
errorMsg
??
"请求出错"
)
if
model
.
id
!=
-
1
{
noDataView
.
isHidden
=
true
nameBgImageView
.
isHidden
=
false
segmentedView
.
isHidden
=
false
listContainerView
.
isHidden
=
false
orderButton
.
isHidden
=
false
if
self
.
navigationController
?
.
viewControllers
.
count
!=
1
{
orderButton
.
isHidden
=
true
}
orderId
=
model
.
id
mobile
=
model
.
mobile
UserDefaults
.
standard
.
set
(
orderId
,
forKey
:
"orderIdForPreview"
)
UserDefaults
.
standard
.
synchronize
()
for
i
in
0
..<
arrItemTitles
.
count
{
let
vc
=
arrItemVCs
[
i
]
as
YHServiceOrderListView
vc
.
type
=
i
if
i
==
1
{
vc
.
type
=
2
}
if
i
==
2
{
vc
.
type
=
1
}
vc
.
orderID
=
orderId
vc
.
mobile
=
mobile
vc
.
loadData
()
}
getStep
()
}
else
{
serviceCenterMainReqVM
.
getContactList
{[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
if
success
==
true
{
}
else
{
YHHUD
.
flash
(
message
:
error
?
.
errorMsg
??
"请求出错"
)
}
self
.
handleRightUI
()
}
self
.
handleRightUI
()
}
}
@objc
func
didBackBtnClicked
()
{
self
.
navigationController
?
.
popViewController
(
animated
:
true
)
}
func
setupUI
()
{
gk_navBarAlpha
=
0
gk_navigationBar
.
isHidden
=
true
...
...
@@ -128,8 +176,17 @@ extension YHServiceCenterMainViewController {
make
.
top
.
equalTo
(
53
)
make
.
left
.
equalTo
(
20
)
make
.
height
.
equalTo
(
29
)
make
.
right
.
equalTo
(
-
20
)
}
view
.
addSubview
(
navBar
)
navBar
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalToSuperview
()
// make.top.equalToSuperview().offset(k_Height_statusBar())
make
.
height
.
equalTo
(
k_Height_NavContentBar
)
make
.
width
.
equalTo
(
47
)
make
.
centerY
.
equalTo
(
titleLabel
.
snp
.
centerY
)
}
orderButton
=
{
let
button
=
UIButton
(
type
:
.
custom
)
button
.
setTitle
(
"我的订单"
,
for
:
.
normal
)
...
...
@@ -145,6 +202,14 @@ extension YHServiceCenterMainViewController {
make
.
height
.
equalTo
(
20
)
make
.
width
.
equalTo
(
56
)
}
if
self
.
navigationController
?
.
viewControllers
.
count
!=
1
{
titleLabel
.
textAlignment
=
.
center
titleLabel
.
text
=
"订单详情"
orderButton
.
isHidden
=
true
}
else
{
navBar
.
isHidden
=
true
}
}
override
func
viewDidLayoutSubviews
()
{
...
...
@@ -161,12 +226,19 @@ extension YHServiceCenterMainViewController {
make
.
top
.
equalTo
(
nameBgImageView
.
snp
.
bottom
)
.
offset
(
14
)
make
.
height
.
equalTo
(
48
)
}
listContainerView
.
snp
.
remakeConstraints
{
make
in
make
.
right
.
left
.
equalToSuperview
()
make
.
top
.
equalTo
(
segmentedView
.
snp
.
bottom
)
make
.
bottom
.
equalTo
(
-
k_Height_TabBar
)
if
self
.
navigationController
?
.
viewControllers
.
count
!=
1
{
listContainerView
.
snp
.
remakeConstraints
{
make
in
make
.
right
.
left
.
equalToSuperview
()
make
.
top
.
equalTo
(
segmentedView
.
snp
.
bottom
)
make
.
bottom
.
equalToSuperview
()
}
}
else
{
listContainerView
.
snp
.
remakeConstraints
{
make
in
make
.
right
.
left
.
equalToSuperview
()
make
.
top
.
equalTo
(
segmentedView
.
snp
.
bottom
)
make
.
bottom
.
equalTo
(
-
k_Height_TabBar
)
}
}
}
@objc
func
pushOrderView
()
{
...
...
@@ -224,6 +296,9 @@ extension YHServiceCenterMainViewController {
segmentedView
.
isHidden
=
false
listContainerView
.
isHidden
=
false
orderButton
.
isHidden
=
false
if
self
.
navigationController
?
.
viewControllers
.
count
!=
1
{
orderButton
.
isHidden
=
true
}
orderId
=
model
.
id
mobile
=
model
.
mobile
self
.
model
=
model
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/M/YHServiceCenterProgressModel.swift
View file @
4a170467
...
...
@@ -17,3 +17,9 @@ class YHServiceCenterProgressModel : YHBaseModel {
var
pro_version
:
Int
=
0
var
reject_status
:
Int
=
0
}
class
YHServiceSearchModel
:
YHBaseModel
{
var
id
:
Int
=
0
var
dictionary_code
:
String
=
""
var
enable_flag
:
Int
=
0
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/VM/YHServiceOrderSearchViewModel.swift
0 → 100644
View file @
4a170467
//
// YHServiceOrderSearchViewModel.swift
// galaxy
//
// Created by EDY on 2024/6/4.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
class
YHServiceOrderSearchViewModel
:
YHBaseViewModel
{
var
arrContactList
:
[
YHContactItemModel
]
=
[]
//请求白名单
func
getWhitelist
(
callBackBlock
:
@escaping
(
_
success
:
Bool
,
_
error
:
YHErrorModel
?)
->
())
{
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
YHAllApiName
.
Order
.
bywhitelist
let
_
=
YHNetRequest
.
getRequest
(
url
:
strUrl
)
{
[
weak
self
]
json
,
code
in
//1. json字符串 转 对象
guard
self
!=
nil
else
{
return
}
if
json
.
code
==
200
{
let
dic
=
json
.
data
as!
Dictionary
<
String
,
Any
>
let
data
=
dic
[
"Data"
]
guard
let
result
=
[
YHServiceSearchModel
]
.
deserialize
(
from
:
data
as?
[
Any
])
else
{
callBackBlock
(
false
,
nil
)
return
}
if
result
.
count
!=
0
,
let
model
=
result
.
first
,
model
?
.
dictionary_code
.
count
!=
0
{
callBackBlock
(
true
,
nil
)
}
else
{
callBackBlock
(
false
,
nil
)
}
}
else
{
let
error
:
YHErrorModel
=
YHErrorModel
(
errorCode
:
Int32
(
json
.
code
),
errorMsg
:
json
.
msg
.
count
>
0
?
json
.
msg
:
"数据错误"
)
callBackBlock
(
false
,
error
)
}
}
failBlock
:
{
err
in
callBackBlock
(
false
,
err
)
}
}
//请求合同项
func
getSearchList
(
_
order
:
String
,
callBackBlock
:
@escaping
(
_
success
:
Bool
,
_
error
:
YHErrorModel
?)
->
())
{
let
params
:[
String
:
Any
]
=
[
"order_sn"
:
order
]
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
YHAllApiName
.
Order
.
contractListApi
let
_
=
YHNetRequest
.
getRequest
(
url
:
strUrl
,
params
:
params
)
{
[
weak
self
]
json
,
code
in
//1. json字符串 转 对象
guard
let
self
=
self
else
{
return
}
if
json
.
code
==
200
{
let
dic
=
json
.
data
as!
Dictionary
<
String
,
Any
>
let
data
=
dic
[
"orders"
]
guard
let
resultModel
=
[
YHContactItemModel
]
.
deserialize
(
array
:
data
as?
[
Any
])
else
{
self
.
arrContactList
=
[]
callBackBlock
(
false
,
nil
)
return
}
let
lastArray
=
resultModel
.
compactMap
{
$0
}
self
.
arrContactList
=
lastArray
callBackBlock
(
true
,
nil
)
}
else
{
self
.
arrContactList
=
[]
let
error
:
YHErrorModel
=
YHErrorModel
(
errorCode
:
Int32
(
json
.
code
),
errorMsg
:
json
.
msg
.
count
>
0
?
json
.
msg
:
"数据错误"
)
callBackBlock
(
false
,
error
)
}
}
failBlock
:
{
err
in
self
.
arrContactList
=
[]
callBackBlock
(
false
,
err
)
}
}
}
galaxy/galaxy/Classes/Tools/NetWork/YHAllApiName.swift
View file @
4a170467
...
...
@@ -62,7 +62,9 @@ class YHAllApiName {
static
let
updateOtherInfoApi
=
"infoflow/order/updateOrderOtherInformation"
//服务中心进度列表
static
let
serviceCenterProgressApi
=
"infoflow/order/service-list"
static
let
serviceCenterProgressApi
=
"infoflow/order/service-list"
//搜索白名单
static
let
bywhitelist
=
"infoflow/permissiondict/bywhitelist"
}
struct
Family
{
...
...
galaxy/galaxy/Res/Assets.xcassets/ServiceCenter/主入口/service_detail_search.imageset/Contents.json
0 → 100644
View file @
4a170467
{
"images"
:
[
{
"idiom"
:
"universal"
,
"scale"
:
"1x"
},
{
"filename"
:
"service_detail_search@2x.png"
,
"idiom"
:
"universal"
,
"scale"
:
"2x"
},
{
"filename"
:
"service_detail_search@3x.png"
,
"idiom"
:
"universal"
,
"scale"
:
"3x"
}
],
"info"
:
{
"author"
:
"xcode"
,
"version"
:
1
}
}
galaxy/galaxy/Res/Assets.xcassets/ServiceCenter/主入口/service_detail_search.imageset/service_detail_search@2x.png
0 → 100644
View file @
4a170467
945 Bytes
galaxy/galaxy/Res/Assets.xcassets/ServiceCenter/主入口/service_detail_search.imageset/service_detail_search@3x.png
0 → 100644
View file @
4a170467
1.26 KB
galaxy/galaxy/Res/Assets.xcassets/ServiceCenter/主入口/service_right_icon.imageset/Contents.json
0 → 100644
View file @
4a170467
{
"images"
:
[
{
"idiom"
:
"universal"
,
"scale"
:
"1x"
},
{
"filename"
:
"service_right_icon@2x.png"
,
"idiom"
:
"universal"
,
"scale"
:
"2x"
},
{
"filename"
:
"service_right_icon@3x.png"
,
"idiom"
:
"universal"
,
"scale"
:
"3x"
}
],
"info"
:
{
"author"
:
"xcode"
,
"version"
:
1
}
}
galaxy/galaxy/Res/Assets.xcassets/ServiceCenter/主入口/service_right_icon.imageset/service_right_icon@2x.png
0 → 100644
View file @
4a170467
378 Bytes
galaxy/galaxy/Res/Assets.xcassets/ServiceCenter/主入口/service_right_icon.imageset/service_right_icon@3x.png
0 → 100644
View file @
4a170467
520 Bytes
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