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
f40bce3e
Commit
f40bce3e
authored
Oct 18, 2024
by
David黄金龙
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
时间点 选择器
parent
86670517
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
153 additions
and
51 deletions
+153
-51
YHRangeDatePickerSheetView2.swift
...交预约)/V/RangeDatePicker2/YHRangeDatePickerSheetView2.swift
+71
-11
YHRangeDatePickerView2.swift
...t(在港递交预约)/V/RangeDatePicker2/YHRangeDatePickerView2.swift
+38
-20
YHDatePickView.swift
...)/MainApplicantInformation(主申请人信息)/V/YHDatePickView.swift
+22
-0
YHMyViewController.swift
...alaxy/Classes/Modules/Mine(我的)/C/YHMyViewController.swift
+22
-20
No files found.
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/Resign(续签)/ResignHKAppoint(在港递交预约)/V/RangeDatePicker2/YHRangeDatePickerSheetView2.swift
View file @
f40bce3e
...
@@ -11,9 +11,6 @@ import UIKit
...
@@ -11,9 +11,6 @@ import UIKit
class
YHRangeDatePickerSheetView2
:
UIView
{
class
YHRangeDatePickerSheetView2
:
UIView
{
static
let
contentViewH2
:
CGFloat
=
40
+
13
+
80
+
12
+
YHRangeDatePickerView2
.
viewH2
+
58
+
98
//(16 + 24) + (12 + 1) + (12 + 68) + 12 + YHRangeDatePickerView2.viewH2 + 52 + 6 + 98
static
let
contentViewH2
:
CGFloat
=
40
+
13
+
80
+
12
+
YHRangeDatePickerView2
.
viewH2
+
58
+
98
//(16 + 24) + (12 + 1) + (12 + 68) + 12 + YHRangeDatePickerView2.viewH2 + 52 + 6 + 98
typealias
Block
=
(
Date
,
Date
)
->
()
var
block
:
Block
?
lazy
var
blackMaskView
:
UIView
=
{
lazy
var
blackMaskView
:
UIView
=
{
let
view
=
UIView
()
let
view
=
UIView
()
view
.
backgroundColor
=
UIColor
(
hex
:
0x0F1214
,
alpha
:
0.5
)
view
.
backgroundColor
=
UIColor
(
hex
:
0x0F1214
,
alpha
:
0.5
)
...
@@ -110,6 +107,17 @@ class YHRangeDatePickerSheetView2: UIView {
...
@@ -110,6 +107,17 @@ class YHRangeDatePickerSheetView2: UIView {
super
.
init
(
frame
:
frame
)
super
.
init
(
frame
:
frame
)
setupUI
()
setupUI
()
}
}
private
var
selectedDate
:
Date
?
private
var
selectedTime
:
String
?
typealias
Block
=
(
String
,
String
)
->
()
var
block
:
Block
?
var
minDateStr
:
String
=
"2024-10-01 14:00"
var
maxDateStr
:
String
=
"2025-10-01 14:00"
}
}
extension
YHRangeDatePickerSheetView2
{
extension
YHRangeDatePickerSheetView2
{
...
@@ -134,28 +142,42 @@ extension YHRangeDatePickerSheetView2 {
...
@@ -134,28 +142,42 @@ extension YHRangeDatePickerSheetView2 {
@objc
func
clickSureBtn
()
{
@objc
func
clickSureBtn
()
{
if
isChooseOk
()
{
if
isChooseOk
()
{
if
let
date1
=
datePickView
.
startDate
,
let
time
=
selectedTime
{
if
let
date1
=
datePickView
.
startDate
,
let
date2
=
datePickView
.
endDate
{
let
dateFormatter
=
DateFormatter
()
self
.
block
?(
date1
,
date2
)
dateFormatter
.
dateFormat
=
"yyyy-MM-dd"
let
dateString
=
dateFormatter
.
string
(
from
:
date1
)
self
.
block
?(
dateString
,
time
)
}
}
dismiss
()
dismiss
()
}
else
{
}
else
{
YHHUD
.
flash
(
message
:
"选择开始/结束日期"
)
var
msg
=
"请选择日期"
if
selectedTime
==
nil
{
msg
=
"请选择具体时间"
}
YHHUD
.
flash
(
message
:
msg
)
}
}
}
}
func
isChooseOk
()
->
Bool
{
func
isChooseOk
()
->
Bool
{
if
datePickView
.
startDate
!=
nil
,
datePickView
.
endDat
e
!=
nil
{
if
selectedDate
!=
nil
,
selectedTim
e
!=
nil
{
return
true
return
true
}
}
return
false
return
false
}
}
func
checkSubmitButtonStatus
()
{
if
isChooseOk
()
{
setSubmitButtonDisable
(
false
)
}
else
{
setSubmitButtonDisable
(
true
)
}
}
}
}
private
extension
YHRangeDatePickerSheetView2
{
private
extension
YHRangeDatePickerSheetView2
{
func
setSubmitButtonDisable
(
_
disableFlag
:
Bool
)
{
func
setSubmitButtonDisable
(
_
disableFlag
:
Bool
)
{
/*
/*
...
@@ -172,7 +194,7 @@ private extension YHRangeDatePickerSheetView2 {
...
@@ -172,7 +194,7 @@ private extension YHRangeDatePickerSheetView2 {
return button
return button
}()
}()
*/
*/
rewardBtn
.
isEnabled
=
!
rewardBtn
.
isEnabled
rewardBtn
.
isEnabled
=
!
disableFlag
if
disableFlag
{
if
disableFlag
{
//不可点击
//不可点击
rewardBtn
.
backgroundColor
=
UIColor
.
brandMainColor30
rewardBtn
.
backgroundColor
=
UIColor
.
brandMainColor30
...
@@ -247,6 +269,22 @@ private extension YHRangeDatePickerSheetView2 {
...
@@ -247,6 +269,22 @@ private extension YHRangeDatePickerSheetView2 {
make
.
left
.
right
.
equalToSuperview
()
make
.
left
.
right
.
equalToSuperview
()
make
.
height
.
equalTo
(
YHRangeDatePickerView2
.
viewH2
)
make
.
height
.
equalTo
(
YHRangeDatePickerView2
.
viewH2
)
}
}
let
dateFormatter
=
DateFormatter
()
dateFormatter
.
dateFormat
=
"yyyy-MM-dd HH:mm"
if
minDateStr
.
count
==
"2024-11-10 14:20"
.
count
,
maxDateStr
.
count
==
"2024-11-10 14:20"
.
count
{
let
miniDate
=
dateFormatter
.
date
(
from
:
minDateStr
)
let
maxDate
=
dateFormatter
.
date
(
from
:
maxDateStr
)
datePickView
.
minDate
=
miniDate
datePickView
.
maxDate
=
maxDate
}
whiteContentView
.
addSubview
(
timeHoldView
)
whiteContentView
.
addSubview
(
timeHoldView
)
timeHoldView
.
snp
.
makeConstraints
{
make
in
timeHoldView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
datePickView
.
snp
.
bottom
)
make
.
top
.
equalTo
(
datePickView
.
snp
.
bottom
)
...
@@ -254,5 +292,27 @@ private extension YHRangeDatePickerSheetView2 {
...
@@ -254,5 +292,27 @@ private extension YHRangeDatePickerSheetView2 {
make
.
height
.
equalTo
(
52
)
make
.
height
.
equalTo
(
52
)
}
}
setSubmitButtonDisable
(
true
)
setSubmitButtonDisable
(
true
)
let
tap
:
UITapGestureRecognizer
=
UITapGestureRecognizer
(
target
:
self
,
action
:
#selector(
tapButton(gestureRecognizer:)
)
)
timeHoldView
.
isUserInteractionEnabled
=
true
timeHoldView
.
addGestureRecognizer
(
tap
)
datePickView
.
block
=
{
[
weak
self
]
date
in
self
?
.
selectedDate
=
date
self
?
.
checkSubmitButtonStatus
()
}
}
@objc
func
tapButton
(
gestureRecognizer
:
UITapGestureRecognizer
)
{
YHDatePickView
.
show
(
type
:
.
timeForAppointHK
,
title
:
"选择具体时间"
,
lastIsTaday
:
false
,
currentDay
:
""
)
{
date
in
self
.
selectedTime
=
date
self
.
timeHoldView
.
timeTextField
.
text
=
date
self
.
checkSubmitButtonStatus
()
}
dismiss
:
{
}
}
}
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/Resign(续签)/ResignHKAppoint(在港递交预约)/V/RangeDatePicker2/YHRangeDatePickerView2.swift
View file @
f40bce3e
...
@@ -11,6 +11,13 @@ import FSCalendar
...
@@ -11,6 +11,13 @@ import FSCalendar
class
YHRangeDatePickerView2
:
UIView
,
FSCalendarDataSource
,
FSCalendarDelegate
,
FSCalendarDelegateAppearance
{
class
YHRangeDatePickerView2
:
UIView
,
FSCalendarDataSource
,
FSCalendarDelegate
,
FSCalendarDelegateAppearance
{
typealias
Block
=
(
Date
?)
->
()
var
block
:
Block
?
var
minDate
:
Date
?
var
maxDate
:
Date
?
static
let
viewH2
:
CGFloat
=
396
//508.0 - 52.0 -20 - 50
static
let
viewH2
:
CGFloat
=
396
//508.0 - 52.0 -20 - 50
lazy
var
calendar
:
FSCalendar
=
{
lazy
var
calendar
:
FSCalendar
=
{
...
@@ -126,10 +133,16 @@ extension YHRangeDatePickerView2 {
...
@@ -126,10 +133,16 @@ extension YHRangeDatePickerView2 {
}
}
func
minimumDate
(
for
calendar
:
FSCalendar
)
->
Date
{
func
minimumDate
(
for
calendar
:
FSCalendar
)
->
Date
{
if
let
minDate
=
minDate
{
return
minDate
}
return
self
.
gregorian
.
date
(
byAdding
:
.
day
,
value
:
1
,
to
:
Date
())
!
return
self
.
gregorian
.
date
(
byAdding
:
.
day
,
value
:
1
,
to
:
Date
())
!
}
}
func
maximumDate
(
for
calendar
:
FSCalendar
)
->
Date
{
func
maximumDate
(
for
calendar
:
FSCalendar
)
->
Date
{
if
let
maxDate
=
maxDate
{
return
maxDate
}
return
self
.
gregorian
.
date
(
byAdding
:
.
day
,
value
:
365
,
to
:
Date
())
!
return
self
.
gregorian
.
date
(
byAdding
:
.
day
,
value
:
365
,
to
:
Date
())
!
}
}
...
@@ -193,30 +206,35 @@ private extension YHRangeDatePickerView2 {
...
@@ -193,30 +206,35 @@ private extension YHRangeDatePickerView2 {
func
tapOneDate
(
_
date
:
Date
)
{
func
tapOneDate
(
_
date
:
Date
)
{
if
startDate
==
nil
{
if
startDate
==
nil
{
startDate
=
date
startDate
=
date
YHHUD
.
flash
(
message
:
"选择结束日期"
)
}
else
if
endDate
==
nil
{
// 比较结果
let
comparisonResult
=
gregorian
.
compare
(
startDate
!
,
to
:
date
,
toGranularity
:
.
day
)
switch
comparisonResult
{
case
.
orderedAscending
:
print
(
"第一个日期在第二个日期之前"
)
endDate
=
date
case
.
orderedDescending
:
print
(
"第一个日期在第二个日期之后"
)
endDate
=
startDate
startDate
=
date
case
.
orderedSame
:
print
(
"两个日期是同一天"
)
}
}
else
{
}
// else if endDate == nil {
// // 比较结果
// let comparisonResult = gregorian.compare(startDate!, to: date, toGranularity: .day)
//
// switch comparisonResult {
// case .orderedAscending:
// print("第一个日期在第二个日期之前")
// endDate = date
// case .orderedDescending:
// print("第一个日期在第二个日期之后")
// endDate = startDate
// startDate = date
// case .orderedSame:
// print("两个日期是同一天")
// }
//
// }
else
{
calendar
.
deselect
(
startDate
!
)
calendar
.
deselect
(
startDate
!
)
calendar
.
deselect
(
endDate
!
)
//
calendar.deselect(endDate!)
startDate
=
date
startDate
=
date
endDate
=
nil
//
endDate = nil
YHHUD
.
flash
(
message
:
"选择结束日期"
)
//
YHHUD.flash(message: "选择结束日期")
}
}
YHHUD
.
flash
(
message
:
"选择具体时间"
)
self
.
block
?(
startDate
)
}
}
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(我的信息流程)/MainApplicantInformation(主申请人信息)/V/YHDatePickView.swift
View file @
f40bce3e
...
@@ -20,6 +20,7 @@ enum YHDateType: Int {
...
@@ -20,6 +20,7 @@ enum YHDateType: Int {
case
yyyymmdd
=
0
case
yyyymmdd
=
0
case
yyyymm
=
1
case
yyyymm
=
1
case
yyyy
=
2
case
yyyy
=
2
case
timeForAppointHK
=
3
}
}
class
YHDatePickView
:
UIView
{
class
YHDatePickView
:
UIView
{
...
@@ -45,6 +46,8 @@ class YHDatePickView: UIView {
...
@@ -45,6 +46,8 @@ class YHDatePickView: UIView {
pickerView
.
selectRow
(
self
.
dateCom
.
month
!
-
1
,
inComponent
:
1
,
animated
:
true
)
pickerView
.
selectRow
(
self
.
dateCom
.
month
!
-
1
,
inComponent
:
1
,
animated
:
true
)
case
.
yyyy
:
case
.
yyyy
:
pickerView
.
selectRow
(
99
-
index
,
inComponent
:
0
,
animated
:
true
)
pickerView
.
selectRow
(
99
-
index
,
inComponent
:
0
,
animated
:
true
)
case
.
timeForAppointHK
:
pickerView
.
selectRow
(
Int
(
arrTimeForAppointHK
.
count
/
2
),
inComponent
:
0
,
animated
:
true
)
}
}
}
}
}
}
...
@@ -52,6 +55,9 @@ class YHDatePickView: UIView {
...
@@ -52,6 +55,9 @@ class YHDatePickView: UIView {
var
dateCom
:
DateComponents
=
Calendar
.
current
.
dateComponents
([
.
year
,
.
month
,
.
day
],
from
:
Date
())
var
dateCom
:
DateComponents
=
Calendar
.
current
.
dateComponents
([
.
year
,
.
month
,
.
day
],
from
:
Date
())
// 日期分割符 eg: 2024-01-01
// 日期分割符 eg: 2024-01-01
static
let
separator
:
String
=
"-"
static
let
separator
:
String
=
"-"
//固定参数值
private
var
arrTimeForAppointHK
:
[
String
]
=
[
"09:00"
,
"10:00"
,
"11:00"
,
"12:00"
,
"13:00"
,
"14:00"
,
"15:00"
,
"16:00"
,
"17:00"
,
"18:00"
,
"19:00"
,
"20:00"
,
"21:00"
]
var
title
:
String
=
""
{
var
title
:
String
=
""
{
didSet
{
didSet
{
...
@@ -68,6 +74,8 @@ class YHDatePickView: UIView {
...
@@ -68,6 +74,8 @@ class YHDatePickView: UIView {
pickerView
.
reloadAllComponents
()
pickerView
.
reloadAllComponents
()
case
.
yyyy
:
case
.
yyyy
:
pickerView
.
reloadAllComponents
()
pickerView
.
reloadAllComponents
()
case
.
timeForAppointHK
:
pickerView
.
reloadAllComponents
()
}
}
}
}
}
}
...
@@ -206,6 +214,8 @@ class YHDatePickView: UIView {
...
@@ -206,6 +214,8 @@ class YHDatePickView: UIView {
dateFormatter
.
dateFormat
=
"yyyy-MM"
dateFormatter
.
dateFormat
=
"yyyy-MM"
case
.
yyyy
:
case
.
yyyy
:
dateFormatter
.
dateFormat
=
"yyyy"
dateFormatter
.
dateFormat
=
"yyyy"
case
.
timeForAppointHK
:
dateFormatter
.
dateFormat
=
"yyyy"
}
}
if
currentDay
!=
""
,
let
date
=
dateFormatter
.
date
(
from
:
currentDay
)
{
if
currentDay
!=
""
,
let
date
=
dateFormatter
.
date
(
from
:
currentDay
)
{
view
.
dateCom
=
Calendar
.
current
.
dateComponents
([
.
year
,
.
month
,
.
day
],
from
:
date
)
view
.
dateCom
=
Calendar
.
current
.
dateComponents
([
.
year
,
.
month
,
.
day
],
from
:
date
)
...
@@ -233,6 +243,8 @@ class YHDatePickView: UIView {
...
@@ -233,6 +243,8 @@ class YHDatePickView: UIView {
date
=
String
(
format
:
"%02ld%@%02ld"
,
(
self
.
currentDateCom
.
year
!
)
+
self
.
pickerView
.
selectedRow
(
inComponent
:
0
)
-
99
,
Self
.
separator
,
self
.
pickerView
.
selectedRow
(
inComponent
:
1
)
+
1
)
date
=
String
(
format
:
"%02ld%@%02ld"
,
(
self
.
currentDateCom
.
year
!
)
+
self
.
pickerView
.
selectedRow
(
inComponent
:
0
)
-
99
,
Self
.
separator
,
self
.
pickerView
.
selectedRow
(
inComponent
:
1
)
+
1
)
case
.
yyyy
:
case
.
yyyy
:
date
=
String
(
format
:
"%02ld"
,
(
self
.
currentDateCom
.
year
!
)
+
self
.
pickerView
.
selectedRow
(
inComponent
:
0
)
-
99
)
date
=
String
(
format
:
"%02ld"
,
(
self
.
currentDateCom
.
year
!
)
+
self
.
pickerView
.
selectedRow
(
inComponent
:
0
)
-
99
)
case
.
timeForAppointHK
:
date
=
arrTimeForAppointHK
[
self
.
pickerView
.
selectedRow
(
inComponent
:
0
)]
}
}
if
self
.
backDate
!=
nil
{
if
self
.
backDate
!=
nil
{
self
.
backDate
!
(
date
)
self
.
backDate
!
(
date
)
...
@@ -260,10 +272,15 @@ extension YHDatePickView: UIPickerViewDelegate,UIPickerViewDataSource {
...
@@ -260,10 +272,15 @@ extension YHDatePickView: UIPickerViewDelegate,UIPickerViewDataSource {
return
2
return
2
case
.
yyyy
:
case
.
yyyy
:
return
1
return
1
case
.
timeForAppointHK
:
return
1
}
}
}
}
func
pickerView
(
_
pickerView
:
UIPickerView
,
numberOfRowsInComponent
component
:
Int
)
->
Int
{
func
pickerView
(
_
pickerView
:
UIPickerView
,
numberOfRowsInComponent
component
:
Int
)
->
Int
{
if
component
==
0
{
if
component
==
0
{
if
let
type
=
type
,
type
==
.
timeForAppointHK
{
return
arrTimeForAppointHK
.
count
}
if
lastIsTaday
{
if
lastIsTaday
{
return
100
return
100
}
}
...
@@ -319,6 +336,8 @@ extension YHDatePickView: UIPickerViewDelegate,UIPickerViewDataSource {
...
@@ -319,6 +336,8 @@ extension YHDatePickView: UIPickerViewDelegate,UIPickerViewDataSource {
return
KScreenWidth
/
2
return
KScreenWidth
/
2
case
.
yyyy
:
case
.
yyyy
:
return
KScreenWidth
return
KScreenWidth
case
.
timeForAppointHK
:
return
KScreenWidth
}
}
}
}
...
@@ -331,6 +350,9 @@ extension YHDatePickView: UIPickerViewDelegate,UIPickerViewDataSource {
...
@@ -331,6 +350,9 @@ extension YHDatePickView: UIPickerViewDelegate,UIPickerViewDataSource {
pickerView
.
subviews
[
1
]
.
backgroundColor
=
UIColor
.
brandMainColor6
pickerView
.
subviews
[
1
]
.
backgroundColor
=
UIColor
.
brandMainColor6
}
}
if
component
==
0
{
if
component
==
0
{
if
let
type
=
type
,
type
==
.
timeForAppointHK
{
return
arrTimeForAppointHK
[
row
]
}
return
"
\(
(
currentDateCom
.
year
!
)
+
row
-
99
)
"
return
"
\(
(
currentDateCom
.
year
!
)
+
row
-
99
)
"
}
else
if
component
==
1
{
}
else
if
component
==
1
{
return
"
\(
row
+
1
)
"
return
"
\(
row
+
1
)
"
...
...
galaxy/galaxy/Classes/Modules/Mine(我的)/C/YHMyViewController.swift
View file @
f40bce3e
...
@@ -409,27 +409,29 @@ extension YHMyViewController : UITableViewDelegate, UITableViewDataSource {
...
@@ -409,27 +409,29 @@ extension YHMyViewController : UITableViewDelegate, UITableViewDataSource {
self
.
navigationController
?
.
pushViewController
(
vc
)
self
.
navigationController
?
.
pushViewController
(
vc
)
case
.
myOrder
:
case
.
myOrder
:
//我的订单
//我的订单
if
let
token
=
YHLoginManager
.
shared
.
userModel
?
.
token
,
token
.
count
>
5
{
// if let token = YHLoginManager.shared.userModel?.token,token.count > 5 {
var
url
=
YHBaseUrlManager
.
shared
.
curH5URL
()
+
"superAppBridge.html#/order/my"
// var url = YHBaseUrlManager.shared.curH5URL() + "superAppBridge.html#/order/my"
url
=
"?param="
+
YHLoginManager
.
shared
.
h5Token
// url = "?param=" + YHLoginManager.shared.h5Token
printLog
(
"URL:
\(
url
)
"
)
// printLog("URL: \(url)")
let
vc
=
YHH5WebViewVC
()
// let vc = YHH5WebViewVC()
vc
.
url
=
url
// vc.url = url
vc
.
isFullScreenFlag
=
false
// vc.isFullScreenFlag = false
vc
.
navTitle
=
"我的订单"
// vc.navTitle = "我的订单"
vc
.
isSupportWebviewInterBackFlag
=
true
// vc.isSupportWebviewInterBackFlag = true
UIViewController
.
current
?
.
navigationController
?
.
pushViewController
(
vc
)
// UIViewController.current?.navigationController?.pushViewController(vc)
}
// let view = YHRangeDatePickerSheetView2.sheetView()
// view.block = {
// [weak self] (startDate,endDate) in
// guard let self = self else { return }
//
// printLog("开始时间: \(startDate)")
// printLog("结束时间: \(endDate)")
// }
// }
// view.show()//for test hjl
let
view
=
YHRangeDatePickerSheetView2
.
sheetView
()
view
.
minDateStr
=
"2025-10-18 15:30"
view
.
maxDateStr
=
"2025-10-20 15:30"
view
.
block
=
{
[
weak
self
]
(
startDate
,
time
)
in
guard
let
self
=
self
else
{
return
}
printLog
(
"开始时间:
\(
startDate
)
"
)
printLog
(
"结束时间:
\(
time
)
"
)
}
view
.
show
()
//for test hjl
default
:
default
:
printLog
(
"不需要响应"
)
printLog
(
"不需要响应"
)
}
}
...
...
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