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
09720545
Commit
09720545
authored
Sep 14, 2024
by
pete谢兆麟
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
护照逻辑
parent
51c65e92
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
78 additions
and
107 deletions
+78
-107
YHResignCertificateDetailPassPortViewController.swift
...)/C/YHResignCertificateDetailPassPortViewController.swift
+37
-105
YHResignCertificatePassportTableViewCell.swift
...(续期证件管理)/V/YHResignCertificatePassportTableViewCell.swift
+25
-2
YHResignCertificateDetailViewModel.swift
...anage(续期证件管理)/VM/YHResignCertificateDetailViewModel.swift
+16
-0
No files found.
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/Resign(续签)/ResignCertificateManage(续期证件管理)/C/YHResignCertificateDetailPassPortViewController.swift
View file @
09720545
...
@@ -23,6 +23,7 @@ class YHResignCertificateDetailPassPortViewController: YHBaseViewController {
...
@@ -23,6 +23,7 @@ class YHResignCertificateDetailPassPortViewController: YHBaseViewController {
var
urls
:
[
String
]
=
[
""
]
var
urls
:
[
String
]
=
[
""
]
var
data
:
[
YHItemModel
]
=
[]
var
data
:
[
YHItemModel
]
=
[]
var
isShowPrompt
=
false
var
isShowPrompt
=
false
var
failString
:
String
=
""
lazy
var
tableView
:
UITableView
=
{
lazy
var
tableView
:
UITableView
=
{
let
tableView
=
UITableView
(
frame
:
.
zero
,
style
:
.
grouped
)
let
tableView
=
UITableView
(
frame
:
.
zero
,
style
:
.
grouped
)
...
@@ -129,6 +130,8 @@ class YHResignCertificateDetailPassPortViewController: YHBaseViewController {
...
@@ -129,6 +130,8 @@ class YHResignCertificateDetailPassPortViewController: YHBaseViewController {
@objc
func
didSaveBtnClicked
()
{
@objc
func
didSaveBtnClicked
()
{
if
!
checkInfo
()
{
if
!
checkInfo
()
{
isShowPrompt
=
true
updateData
()
return
return
}
}
...
@@ -136,81 +139,17 @@ class YHResignCertificateDetailPassPortViewController: YHBaseViewController {
...
@@ -136,81 +139,17 @@ class YHResignCertificateDetailPassPortViewController: YHBaseViewController {
}
}
func
checkInfo
()
->
Bool
{
func
checkInfo
()
->
Bool
{
var
errorItemCount
=
0
if
urls
.
first
?
.
count
==
0
{
// if item.type == .certificate {
failString
=
"请上传护照"
// var hasSubmitError = false
return
false
// var isDateValidate = true
}
// item.cerDetailModel.isNeedCheckCer = false
// item.cerDetailModel.isNeedCheckDate = false
//
// if item.cerDetailModel.isOCR_failed {
// // 无法识别不能当做无法提交的错误 所以 此处 hasError 不必设置为true
// item.cerDetailModel.isNeedCheckCer = true
// item.cerDetailModel.checkTips = "无法识别,请核查文件"
//
// } else {
// var noCerInfo = false
// if item.cerDetailModel.type == 3 { // 只有港澳通行证有正反面
// noCerInfo = (item.cerDetailModel.img_front.isEmpty || item.cerDetailModel.img_back.isEmpty)
// } else {
// noCerInfo = item.cerDetailModel.img_front.isEmpty
// }
//
// if noCerInfo {
// hasSubmitError = true
// item.cerDetailModel.isNeedCheckCer = true
// if item.cerDetailModel.type == 3 { // 港澳通行证
// item.cerDetailModel.checkTips = item.cerDetailModel.img_front.isEmpty ? "请上传港澳通行证正面" : "请上传港澳通行证反面"
//
// } else if item.cerDetailModel.type == 1 { // 中国护照
// item.cerDetailModel.checkTips = "请上传护照"
//
// } else if item.cerDetailModel.type == 2 { // 中国居留许可签证
// item.cerDetailModel.checkTips = "请上传中国居留许可签证"
// }
//
// } else {
// item.cerDetailModel.isNeedCheckDate = false
// if item.cerDetailModel.issue_start.isEmpty || item.cerDetailModel.issue_end.isEmpty {
// hasSubmitError = true
// item.cerDetailModel.isNeedCheckDate = true
//
// } else {
// let isValidCertificate = item.cerDetailModel.isValidCer()
// if !isValidCertificate {
// if item.cerDetailModel.type == 2, item.cerDetailModel.china_travel_latest_validaty_date.isEmpty {
// // 这个情况直接弹toast
// hasSubmitError = true
// YHHUD.flash(message: "赴港行程尚未成功预约,请前往检查")
//
// } else {
// // 有效期不足也能提交
// isDateValidate = false
// item.cerDetailModel.isNeedCheckCer = true
// let deadDate: String = (item.cerDetailModel.type == 2 ? item.cerDetailModel.china_travel_latest_validaty_date : item.cerDetailModel.latest_validaty_date)
// item.cerDetailModel.checkTips = "有效期不足,需要为\(deadDate)或以后"
// }
// }
// }
// }
// }
// if !hasSubmitError {
// // 无法识别或有效期不足也要可以提交
// if !item.cerDetailModel.isOCR_failed && isDateValidate {
// item.cerDetailModel.isNeedCheckCer = false
// item.cerDetailModel.isNeedCheckDate = false
// }
//
// } else {
// errorItemCount += 1
// }
// }
self
.
tableView
.
reloadData
()
if
self
.
viewModel
.
dataModel
.
cert_info
.
issue_start
.
count
==
0
{
return
false
}
if
self
.
viewModel
.
dataModel
.
cert_info
.
issue_end
.
count
==
0
{
return
false
}
return
true
return
true
}
}
}
}
...
@@ -219,31 +158,30 @@ class YHResignCertificateDetailPassPortViewController: YHBaseViewController {
...
@@ -219,31 +158,30 @@ class YHResignCertificateDetailPassPortViewController: YHBaseViewController {
private
extension
YHResignCertificateDetailPassPortViewController
{
private
extension
YHResignCertificateDetailPassPortViewController
{
//1、获取详情信息
//1、获取详情信息
func
loadDetailInfo
()
{
func
loadDetailInfo
()
{
self
.
updateData
()
// let params = [
// "order_id": orderId,
// "user_id": dataModel.id,
// "user_type": dataModel.type
// ] as [String : Any]
//
// YHHUD.show(.progress(message: "加载中..."))
// viewModel.getTravelDocsDetailInfo(param: params) { success, error in
// YHHUD.hide()
// if success {
// // TODO: 杜宇哥 UI刷新
self
.
updateData
()
//
// } else {
//
// }
// }
}
}
//2、保存旅行证件
//2、保存旅行证件
func
saveAllTravelCertificate
()
{
func
saveAllTravelCertificate
()
{
let
passPort
:
[
String
:
Any
]
=
[
"name"
:
"护照"
,
"issue_start"
:
self
.
viewModel
.
dataModel
.
cert_info
.
issue_start
,
"issue_end"
:
self
.
viewModel
.
dataModel
.
cert_info
.
issue_end
,
"img_front"
:
urls
[
0
]]
let
params
:
[
String
:
Any
]
=
[
"passPort"
:
passPort
,
"id"
:
dataModel
.
id
]
viewModel
.
submitResignCertificateUpdate
(
params
)
{
success
,
error
in
if
success
{
YHHUD
.
flash
(
message
:
"保存成功"
)
self
.
navigationController
?
.
popViewController
()
}
else
{
let
msg
=
error
?
.
errorMsg
??
"保存失败,请重试"
YHHUD
.
flash
(
message
:
msg
)
}
}
}
}
}
}
...
@@ -269,19 +207,18 @@ extension YHResignCertificateDetailPassPortViewController: UITableViewDelegate,
...
@@ -269,19 +207,18 @@ extension YHResignCertificateDetailPassPortViewController: UITableViewDelegate,
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHResignCertificatePassportTableViewCell
.
cellReuseIdentifier
,
for
:
indexPath
)
as!
YHResignCertificatePassportTableViewCell
let
cell
=
tableView
.
dequeueReusableCell
(
withIdentifier
:
YHResignCertificatePassportTableViewCell
.
cellReuseIdentifier
,
for
:
indexPath
)
as!
YHResignCertificatePassportTableViewCell
cell
.
firstImageName
=
"service_adopter_card_china_travel_front"
cell
.
firstImageName
=
"service_adopter_card_china_travel_front"
cell
.
firstLabelName
=
"护照资料页"
cell
.
firstLabelName
=
"护照资料页"
cell
.
failString
=
failString
cell
.
urls
=
urls
cell
.
urls
=
urls
cell
.
data
=
data
cell
.
data
=
data
cell
.
dataModel
=
dataModel
cell
.
urlBlock
=
{
[
weak
self
]
url
,
index
in
cell
.
urlBlock
=
{
[
weak
self
]
url
,
index
in
guard
let
self
=
self
else
{
return
}
guard
let
self
=
self
else
{
return
}
self
.
urls
[
index
]
=
url
self
.
urls
[
index
]
=
url
self
.
viewModel
.
getPublicImageUrl
(
url
)
{[
weak
self
]
success
,
error
in
self
.
viewModel
.
getPublicImageUrl
(
url
)
{[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
guard
let
self
=
self
else
{
return
}
guard
let
url
=
success
else
{
return
}
guard
let
url
=
success
else
{
return
}
// self.viewModel.requestHkIDCardMessage(url, isBack: 0) {[weak self] success, error in
self
.
data
=
viewModel
.
getPassPortDataSource
(
isShowPrompt
)
// guard let self = self else { return }
self
.
tableView
.
reloadData
()
// self.data = viewModel.getBaseDataSource(isShowPrompt)
// self.tableView.reloadData()
// }
}
}
}
}
cell
.
deleteBlock
=
{
[
weak
self
]
url
,
index
in
cell
.
deleteBlock
=
{
[
weak
self
]
url
,
index
in
...
@@ -290,12 +227,7 @@ extension YHResignCertificateDetailPassPortViewController: UITableViewDelegate,
...
@@ -290,12 +227,7 @@ extension YHResignCertificateDetailPassPortViewController: UITableViewDelegate,
}
}
cell
.
block
=
{[
weak
self
]
model
in
cell
.
block
=
{[
weak
self
]
model
in
guard
let
self
=
self
else
{
return
}
guard
let
self
=
self
else
{
return
}
// self.viewModel.updateModel(model)
self
.
viewModel
.
updateModel
(
model
)
// let id = model.id
// if id != .id2 && id != .id3 && id != .id4 {
// self.data = viewModel.getBaseDataSource(isShowPrompt)
// self.tableView.reloadData()
// }
}
}
return
cell
return
cell
}
}
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/Resign(续签)/ResignCertificateManage(续期证件管理)/V/YHResignCertificatePassportTableViewCell.swift
View file @
09720545
...
@@ -30,6 +30,12 @@ class YHResignCertificatePassportTableViewCell: UITableViewCell {
...
@@ -30,6 +30,12 @@ class YHResignCertificatePassportTableViewCell: UITableViewCell {
var
viewModel
:
YHBaseViewModel
=
YHBaseViewModel
()
var
viewModel
:
YHBaseViewModel
=
YHBaseViewModel
()
var
firstUrl
:
String
=
""
var
firstUrl
:
String
=
""
var
lastUrl
:
String
=
""
var
lastUrl
:
String
=
""
var
dataModel
:
YHResignCertificateModel
=
YHResignCertificateModel
()
var
failString
:
String
=
""
{
didSet
{
showMessageLabel
.
text
=
failString
}
}
var
firstImageName
:
String
=
""
{
var
firstImageName
:
String
=
""
{
didSet
{
didSet
{
frontImageButton
.
setBackgroundImage
(
UIImage
(
named
:
firstImageName
),
for
:
.
normal
)
frontImageButton
.
setBackgroundImage
(
UIImage
(
named
:
firstImageName
),
for
:
.
normal
)
...
@@ -140,7 +146,6 @@ class YHResignCertificatePassportTableViewCell: UITableViewCell {
...
@@ -140,7 +146,6 @@ class YHResignCertificatePassportTableViewCell: UITableViewCell {
titleLabel
=
{
titleLabel
=
{
let
label
=
UILabel
()
let
label
=
UILabel
()
// label.font = UIFont.PFSC_M(ofSize: 17)
let
str
=
"* "
+
"港澳通行证 (逗留D签注)"
let
str
=
"* "
+
"港澳通行证 (逗留D签注)"
let
attributes
:
[
NSAttributedString
.
Key
:
Any
]
=
[
let
attributes
:
[
NSAttributedString
.
Key
:
Any
]
=
[
.
font
:
UIFont
.
PFSC_M
(
ofSize
:
17
),
.
font
:
UIFont
.
PFSC_M
(
ofSize
:
17
),
...
@@ -150,7 +155,6 @@ class YHResignCertificatePassportTableViewCell: UITableViewCell {
...
@@ -150,7 +155,6 @@ class YHResignCertificatePassportTableViewCell: UITableViewCell {
let
starRange
=
NSRange
(
location
:
0
,
length
:
2
)
let
starRange
=
NSRange
(
location
:
0
,
length
:
2
)
questionAttrStr
.
addAttribute
(
NSAttributedString
.
Key
.
foregroundColor
,
value
:
UIColor
.
failColor
,
range
:
starRange
)
questionAttrStr
.
addAttribute
(
NSAttributedString
.
Key
.
foregroundColor
,
value
:
UIColor
.
failColor
,
range
:
starRange
)
label
.
attributedText
=
questionAttrStr
label
.
attributedText
=
questionAttrStr
// label.textColor = UIColor.mainTextColor
return
label
return
label
}()
}()
centerView
.
addSubview
(
titleLabel
)
centerView
.
addSubview
(
titleLabel
)
...
@@ -307,6 +311,11 @@ class YHResignCertificatePassportTableViewCell: UITableViewCell {
...
@@ -307,6 +311,11 @@ class YHResignCertificatePassportTableViewCell: UITableViewCell {
guard
let
self
=
self
else
{
return
}
guard
let
self
=
self
else
{
return
}
if
let
block
=
self
.
block
{
if
let
block
=
self
.
block
{
block
(
model
)
block
(
model
)
if
self
.
compareDates
(
dateString1
:
model
.
message
??
""
,
dateString2
:
self
.
dataModel
.
valid_date
)
{
}
else
{
failString
=
"有效期不足,需要为
\(
self
.
dataModel
.
valid_date
)
或以后"
}
}
}
}
}
centerView
.
addSubview
(
cardEndView
)
centerView
.
addSubview
(
cardEndView
)
...
@@ -358,4 +367,18 @@ class YHResignCertificatePassportTableViewCell: UITableViewCell {
...
@@ -358,4 +367,18 @@ class YHResignCertificatePassportTableViewCell: UITableViewCell {
}
}
}
}
func
compareDates
(
dateString1
:
String
,
dateString2
:
String
)
->
Bool
{
let
dateFormatter
=
DateFormatter
()
dateFormatter
.
dateFormat
=
"yyyy-MM-dd"
guard
let
date1
=
dateFormatter
.
date
(
from
:
dateString1
),
let
date2
=
dateFormatter
.
date
(
from
:
dateString2
)
else
{
return
false
}
if
date1
<
date2
{
return
false
}
return
true
}
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/Resign(续签)/ResignCertificateManage(续期证件管理)/VM/YHResignCertificateDetailViewModel.swift
View file @
09720545
...
@@ -42,4 +42,20 @@ class YHResignCertificateDetailViewModel: YHBaseViewModel {
...
@@ -42,4 +42,20 @@ class YHResignCertificateDetailViewModel: YHBaseViewModel {
let
item2
=
YHItemModel
(
id
:
.
id2
,
isNeed
:
true
,
title
:
"到期时间"
,
isUserKeyBoard
:
false
,
prompts
:
"请选择"
,
message
:
dataModel
.
cert_info
.
issue_end
,
type
:
.
time
,
isShowPrompts
:
isShowPrompt
,
alertMessage
:
"请选择到期时间"
)
let
item2
=
YHItemModel
(
id
:
.
id2
,
isNeed
:
true
,
title
:
"到期时间"
,
isUserKeyBoard
:
false
,
prompts
:
"请选择"
,
message
:
dataModel
.
cert_info
.
issue_end
,
type
:
.
time
,
isShowPrompts
:
isShowPrompt
,
alertMessage
:
"请选择到期时间"
)
return
[
item1
,
item2
]
return
[
item1
,
item2
]
}
}
func
updateModel
(
_
item
:
YHItemModel
)
{
guard
let
type
=
item
.
id
else
{
return
}
switch
type
{
case
.
id1
:
dataModel
.
cert_info
.
issue_start
=
item
.
message
??
""
case
.
id2
:
dataModel
.
cert_info
.
issue_end
=
item
.
message
??
""
case
.
id3
:
dataModel
.
cert_info
.
issue_start
=
item
.
message
??
""
case
.
id4
:
dataModel
.
cert_info
.
issue_end
=
item
.
message
??
""
default
:
break
}
}
}
}
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