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
6f5990b4
Commit
6f5990b4
authored
Sep 18, 2024
by
pete谢兆麟
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
续期证件管理通行证接口逻辑
parent
3e6a60c5
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
103 additions
and
109 deletions
+103
-109
YHResignCertificateDetailEVisaViewController.swift
...件管理)/C/YHResignCertificateDetailEVisaViewController.swift
+1
-0
YHResignCertificateDetailHkViewController.swift
...续期证件管理)/C/YHResignCertificateDetailHkViewController.swift
+71
-107
YHResignCertificateModel.swift
...ertificateManage(续期证件管理)/M/YHResignCertificateModel.swift
+3
-0
YHResignCertificateHKTableViewCell.swift
...Manage(续期证件管理)/V/YHResignCertificateHKTableViewCell.swift
+26
-0
YHResignCertificateDetailViewModel.swift
...anage(续期证件管理)/VM/YHResignCertificateDetailViewModel.swift
+2
-2
No files found.
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/Resign(续签)/ResignCertificateManage(续期证件管理)/C/YHResignCertificateDetailEVisaViewController.swift
View file @
6f5990b4
...
...
@@ -86,6 +86,7 @@ class YHResignCertificateDetailEVisaViewController: YHBaseViewController {
@objc
func
nextStep
()
{
if
file
.
count
!=
0
{
let
eVisa
:
[
String
:
Any
]
=
[
"name"
:
"电子签证"
,
"file_name"
:
file
.
first
?
.
fileName
??
""
,
"e_visa_url"
:
file
.
first
?
.
fileUrl
??
""
,
"upload_at"
:
file
.
first
?
.
uploadedAt
??
""
]
let
params
:
[
String
:
Any
]
=
[
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/Resign(续签)/ResignCertificateManage(续期证件管理)/C/YHResignCertificateDetailHkViewController.swift
View file @
6f5990b4
...
...
@@ -23,7 +23,8 @@ class YHResignCertificateDetailHkViewController: YHBaseViewController {
var
urls
:
[
String
]
=
[
""
,
""
]
var
data
:
[
YHItemModel
]
=
[]
var
isShowPrompt
=
false
var
failString
:
String
=
""
lazy
var
tableView
:
UITableView
=
{
let
tableView
=
UITableView
(
frame
:
.
zero
,
style
:
.
grouped
)
tableView
.
estimatedSectionHeaderHeight
=
0.01
...
...
@@ -143,80 +144,26 @@ class YHResignCertificateDetailHkViewController: YHBaseViewController {
func
checkInfo
()
->
Bool
{
var
errorItemCount
=
0
// if item.type == .certificate {
// var hasSubmitError = 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
urls
.
first
?
.
count
==
0
{
failString
=
"请港澳通行证正面"
return
false
}
if
urls
.
last
?
.
count
==
0
{
failString
=
"请港澳通行证背面"
return
false
}
if
self
.
viewModel
.
dataModel
.
cert_info
.
issue_start
.
count
==
0
{
return
false
}
if
self
.
viewModel
.
dataModel
.
cert_info
.
issue_end
.
count
==
0
{
return
false
}
if
self
.
viewModel
.
dataModel
.
cert_info
.
validate_start
.
count
==
0
{
return
false
}
if
self
.
viewModel
.
dataModel
.
cert_info
.
validate_end
.
count
==
0
{
return
false
}
return
true
}
}
...
...
@@ -225,31 +172,32 @@ class YHResignCertificateDetailHkViewController: YHBaseViewController {
private
extension
YHResignCertificateDetailHkViewController
{
//1、获取详情信息
func
loadDetailInfo
()
{
// 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 {
//
// }
// }
self
.
updateData
()
}
//2、保存旅行证件
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
],
"img_back"
:
urls
[
1
],
"validate_start"
:
self
.
viewModel
.
dataModel
.
cert_info
.
validate_start
,
"validate_end"
:
self
.
viewModel
.
dataModel
.
cert_info
.
validate_end
]
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
)
}
}
}
}
...
...
@@ -277,19 +225,39 @@ extension YHResignCertificateDetailHkViewController: UITableViewDelegate, UITabl
cell
.
lastImageName
=
"service_adopter_card_travel_back"
cell
.
firstLabelName
=
"证件页1"
cell
.
lastLabelName
=
"证件页2"
cell
.
failString
=
failString
cell
.
urls
=
urls
cell
.
data
=
data
cell
.
dataModel
=
dataModel
cell
.
urlBlock
=
{
[
weak
self
]
url
,
index
in
guard
let
self
=
self
else
{
return
}
self
.
urls
[
index
]
=
url
self
.
viewModel
.
getPublicImageUrl
(
url
)
{[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
guard
let
url
=
success
else
{
return
}
// self.viewModel.requestHkIDCardMessage(url, isBack: 0) {[weak self] success, error in
// guard let self = self else { return }
// self.data = viewModel.getBaseDataSource(isShowPrompt)
// self.tableView.reloadData()
// }
self
.
viewModel
.
getHKCardBackInfoByOcr
(
url
,
isBack
:
index
)
{
success
,
result
in
YHHUD
.
hide
()
if
success
,
let
result
=
result
{
if
!
result
.
term_begins
.
isEmpty
{
if
index
==
0
{
self
.
dataModel
.
cert_info
.
issue_start
=
result
.
term_begins
}
else
{
self
.
dataModel
.
cert_info
.
validate_start
=
result
.
term_begins
}
}
if
!
result
.
end_of_term
.
isEmpty
{
if
index
==
0
{
self
.
dataModel
.
cert_info
.
issue_end
=
result
.
end_of_term
}
else
{
self
.
dataModel
.
cert_info
.
validate_end
=
result
.
term_begins
}
}
}
else
{
// OCR 无法识别
self
.
failString
=
"无法识别,请核查文件"
}
self
.
updateData
()
}
}
}
cell
.
deleteBlock
=
{
[
weak
self
]
url
,
index
in
...
...
@@ -298,12 +266,8 @@ extension YHResignCertificateDetailHkViewController: UITableViewDelegate, UITabl
}
cell
.
block
=
{[
weak
self
]
model
in
guard
let
self
=
self
else
{
return
}
// self.viewModel.updateModel(model)
// let id = model.id
// if id != .id2 && id != .id3 && id != .id4 {
// self.data = viewModel.getBaseDataSource(isShowPrompt)
// self.tableView.reloadData()
// }
self
.
viewModel
.
updateModel
(
model
)
self
.
dataModel
=
self
.
viewModel
.
dataModel
}
return
cell
}
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/Resign(续签)/ResignCertificateManage(续期证件管理)/M/YHResignCertificateModel.swift
View file @
6f5990b4
...
...
@@ -43,6 +43,7 @@ class YHResignCertificateModel: SmartCodable {
}
class
YHResignCertificateInfoModel
:
SmartCodable
{
var
file_name
:
String
=
""
var
e_visa_url
:
String
=
""
//电子签证的url
var
name
:
String
=
""
//电子签证名称
var
upload_at
:
String
=
""
...
...
@@ -59,6 +60,8 @@ class YHResignCertificateInfoModel: SmartCodable {
var
img_front
:
String
=
""
var
issue_end
:
String
=
""
var
issue_start
:
String
=
""
var
validate_start
:
String
=
""
var
validate_end
:
String
=
""
required
init
()
{
}
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/Resign(续签)/ResignCertificateManage(续期证件管理)/V/YHResignCertificateHKTableViewCell.swift
View file @
6f5990b4
...
...
@@ -38,6 +38,12 @@ class YHResignCertificateHKTableViewCell: UITableViewCell {
var
viewModel
:
YHBaseViewModel
=
YHBaseViewModel
()
var
firstUrl
:
String
=
""
var
lastUrl
:
String
=
""
var
dataModel
:
YHResignCertificateModel
=
YHResignCertificateModel
()
var
failString
:
String
=
""
{
didSet
{
showMessageLabel
.
text
=
failString
}
}
var
firstImageName
:
String
=
""
{
didSet
{
frontImageButton
.
setBackgroundImage
(
UIImage
(
named
:
firstImageName
),
for
:
.
normal
)
...
...
@@ -412,6 +418,11 @@ class YHResignCertificateHKTableViewCell: UITableViewCell {
guard
let
self
=
self
else
{
return
}
if
let
block
=
self
.
block
{
block
(
model
)
if
self
.
compareDates
(
dateString1
:
model
.
message
??
""
,
dateString2
:
self
.
dataModel
.
valid_date
)
{
}
else
{
failString
=
"有效期不足,需要为
\(
self
.
dataModel
.
valid_date
)
或以后"
}
}
}
centerView
.
addSubview
(
cardEndView
)
...
...
@@ -549,4 +560,19 @@ class YHResignCertificateHKTableViewCell: UITableViewCell {
block
(
""
,
1
)
}
}
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 @
6f5990b4
...
...
@@ -32,8 +32,8 @@ class YHResignCertificateDetailViewModel: YHBaseViewModel {
func
getBaseDataSource
(
_
isShowPrompt
:
Bool
)
->
[
YHItemModel
]
{
let
item1
=
YHItemModel
(
id
:
.
id1
,
isNeed
:
true
,
title
:
"开始时间"
,
isUserKeyBoard
:
false
,
prompts
:
"请选择"
,
message
:
dataModel
.
cert_info
.
issue_start
,
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
:
"请选择到期时间"
)
let
item3
=
YHItemModel
(
id
:
.
id3
,
isNeed
:
true
,
title
:
"开始时间"
,
isUserKeyBoard
:
false
,
prompts
:
"请选择"
,
message
:
dataModel
.
cert_info
.
issu
e_start
,
type
:
.
time
,
isShowPrompts
:
isShowPrompt
,
alertMessage
:
"请选择开始时间"
)
let
item4
=
YHItemModel
(
id
:
.
id4
,
isNeed
:
true
,
title
:
"到期时间"
,
isUserKeyBoard
:
false
,
prompts
:
"请选择"
,
message
:
dataModel
.
cert_info
.
issu
e_end
,
type
:
.
time
,
isShowPrompts
:
isShowPrompt
,
alertMessage
:
"请选择到期时间"
)
let
item3
=
YHItemModel
(
id
:
.
id3
,
isNeed
:
true
,
title
:
"开始时间"
,
isUserKeyBoard
:
false
,
prompts
:
"请选择"
,
message
:
dataModel
.
cert_info
.
validat
e_start
,
type
:
.
time
,
isShowPrompts
:
isShowPrompt
,
alertMessage
:
"请选择开始时间"
)
let
item4
=
YHItemModel
(
id
:
.
id4
,
isNeed
:
true
,
title
:
"到期时间"
,
isUserKeyBoard
:
false
,
prompts
:
"请选择"
,
message
:
dataModel
.
cert_info
.
validat
e_end
,
type
:
.
time
,
isShowPrompts
:
isShowPrompt
,
alertMessage
:
"请选择到期时间"
)
return
[
item1
,
item2
,
item3
,
item4
]
}
...
...
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