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
b8c11663
Commit
b8c11663
authored
Sep 12, 2024
by
pete谢兆麟
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
证件管理小白条 身份证 电子签证
parent
61a428ab
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
1514 additions
and
19 deletions
+1514
-19
project.pbxproj
galaxy/galaxy.xcodeproj/project.pbxproj
+28
-0
YHServiceOrderListViewController.swift
...entService(服务中心)/C/YHServiceOrderListViewController.swift
+3
-0
YHResignCertificateDetailEVisaViewController.swift
...件管理)/C/YHResignCertificateDetailEVisaViewController.swift
+326
-0
YHResignCertificateDetailViewController.swift
...e(续期证件管理)/C/YHResignCertificateDetailViewController.swift
+532
-0
YHResignCertificateListViewController.swift
...age(续期证件管理)/C/YHResignCertificateListViewController.swift
+65
-12
YHResignCertificateModel.swift
...ertificateManage(续期证件管理)/M/YHResignCertificateModel.swift
+65
-0
YHResignCertificateEvisaTableViewCell.swift
...age(续期证件管理)/V/YHResignCertificateEvisaTableViewCell.swift
+143
-0
YHResignCertificateListTableViewCell.swift
...nage(续期证件管理)/V/YHResignCertificateListTableViewCell.swift
+277
-0
YHResignCertificateDetailViewModel.swift
...anage(续期证件管理)/VM/YHResignCertificateDetailViewModel.swift
+29
-0
YHResignCertificateListViewModel.swift
...eManage(续期证件管理)/VM/YHResignCertificateListViewModel.swift
+35
-0
YHServiceMoreAlertView.swift
...s/IntelligentService(服务中心)/V/YHServiceMoreAlertView.swift
+7
-7
YHAllApiName.swift
galaxy/galaxy/Classes/Tools/NetWork/YHAllApiName.swift
+4
-0
No files found.
galaxy/galaxy.xcodeproj/project.pbxproj
View file @
b8c11663
...
...
@@ -197,6 +197,13 @@
044EE22D2C9184CD00A2FE3A
/* YHServiceMoreAlertView.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
044EE22C2C9184CD00A2FE3A
/* YHServiceMoreAlertView.swift */
;
};
044EE22F2C918D1400A2FE3A
/* YHServiceStepAlertView.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
044EE22E2C918D1400A2FE3A
/* YHServiceStepAlertView.swift */
;
};
044EE2362C92916600A2FE3A
/* YHResignCertificateListViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
044EE2352C92916600A2FE3A
/* YHResignCertificateListViewController.swift */
;
};
044EE2382C92BBC500A2FE3A
/* YHResignCertificateListTableViewCell.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
044EE2372C92BBC500A2FE3A
/* YHResignCertificateListTableViewCell.swift */
;
};
044EE23A2C92BEF900A2FE3A
/* YHResignCertificateListViewModel.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
044EE2392C92BEF900A2FE3A
/* YHResignCertificateListViewModel.swift */
;
};
044EE23C2C92BFDC00A2FE3A
/* YHResignCertificateModel.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
044EE23B2C92BFDC00A2FE3A
/* YHResignCertificateModel.swift */
;
};
044EE23E2C92E27500A2FE3A
/* YHResignCertificateDetailViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
044EE23D2C92E27500A2FE3A
/* YHResignCertificateDetailViewController.swift */
;
};
044EE2402C92E6C000A2FE3A
/* YHResignCertificateDetailViewModel.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
044EE23F2C92E6C000A2FE3A
/* YHResignCertificateDetailViewModel.swift */
;
};
044EE2422C92EF0C00A2FE3A
/* YHResignCertificateDetailEVisaViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
044EE2412C92EF0C00A2FE3A
/* YHResignCertificateDetailEVisaViewController.swift */
;
};
044EE2442C92F48200A2FE3A
/* YHResignCertificateEvisaTableViewCell.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
044EE2432C92F48200A2FE3A
/* YHResignCertificateEvisaTableViewCell.swift */
;
};
04506F552C6F57E600738EA1
/* YHFamilyMemberInfoCell.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
04506F542C6F57E600738EA1
/* YHFamilyMemberInfoCell.swift */
;
};
045A08C02C37ABF500BCBABA
/* YHSegmentView.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
045A08BF2C37ABF500BCBABA
/* YHSegmentView.swift */
;
};
045A08C22C37EB8B00BCBABA
/* YHMyFileListNoneCell.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
045A08C12C37EB8B00BCBABA
/* YHMyFileListNoneCell.swift */
;
};
...
...
@@ -987,6 +994,13 @@
044EE22C2C9184CD00A2FE3A
/* YHServiceMoreAlertView.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHServiceMoreAlertView.swift
;
sourceTree
=
"<group>"
;
};
044EE22E2C918D1400A2FE3A
/* YHServiceStepAlertView.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHServiceStepAlertView.swift
;
sourceTree
=
"<group>"
;
};
044EE2352C92916600A2FE3A
/* YHResignCertificateListViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHResignCertificateListViewController.swift
;
sourceTree
=
"<group>"
;
};
044EE2372C92BBC500A2FE3A
/* YHResignCertificateListTableViewCell.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHResignCertificateListTableViewCell.swift
;
sourceTree
=
"<group>"
;
};
044EE2392C92BEF900A2FE3A
/* YHResignCertificateListViewModel.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHResignCertificateListViewModel.swift
;
sourceTree
=
"<group>"
;
};
044EE23B2C92BFDC00A2FE3A
/* YHResignCertificateModel.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHResignCertificateModel.swift
;
sourceTree
=
"<group>"
;
};
044EE23D2C92E27500A2FE3A
/* YHResignCertificateDetailViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHResignCertificateDetailViewController.swift
;
sourceTree
=
"<group>"
;
};
044EE23F2C92E6C000A2FE3A
/* YHResignCertificateDetailViewModel.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHResignCertificateDetailViewModel.swift
;
sourceTree
=
"<group>"
;
};
044EE2412C92EF0C00A2FE3A
/* YHResignCertificateDetailEVisaViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHResignCertificateDetailEVisaViewController.swift
;
sourceTree
=
"<group>"
;
};
044EE2432C92F48200A2FE3A
/* YHResignCertificateEvisaTableViewCell.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHResignCertificateEvisaTableViewCell.swift
;
sourceTree
=
"<group>"
;
};
04506F542C6F57E600738EA1
/* YHFamilyMemberInfoCell.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHFamilyMemberInfoCell.swift
;
sourceTree
=
"<group>"
;
};
045A08BF2C37ABF500BCBABA
/* YHSegmentView.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHSegmentView.swift
;
sourceTree
=
"<group>"
;
};
045A08C12C37EB8B00BCBABA
/* YHMyFileListNoneCell.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHMyFileListNoneCell.swift
;
sourceTree
=
"<group>"
;
};
...
...
@@ -2158,6 +2172,8 @@
044EE2312C9290FB00A2FE3A
/* VM */
=
{
isa
=
PBXGroup
;
children
=
(
044EE2392C92BEF900A2FE3A
/* YHResignCertificateListViewModel.swift */
,
044EE23F2C92E6C000A2FE3A
/* YHResignCertificateDetailViewModel.swift */
,
);
path
=
VM
;
sourceTree
=
"<group>"
;
...
...
@@ -2165,6 +2181,8 @@
044EE2322C92910100A2FE3A
/* V */
=
{
isa
=
PBXGroup
;
children
=
(
044EE2372C92BBC500A2FE3A
/* YHResignCertificateListTableViewCell.swift */
,
044EE2432C92F48200A2FE3A
/* YHResignCertificateEvisaTableViewCell.swift */
,
);
path
=
V
;
sourceTree
=
"<group>"
;
...
...
@@ -2172,6 +2190,7 @@
044EE2332C92910700A2FE3A
/* M */
=
{
isa
=
PBXGroup
;
children
=
(
044EE23B2C92BFDC00A2FE3A
/* YHResignCertificateModel.swift */
,
);
path
=
M
;
sourceTree
=
"<group>"
;
...
...
@@ -2180,6 +2199,8 @@
isa
=
PBXGroup
;
children
=
(
044EE2352C92916600A2FE3A
/* YHResignCertificateListViewController.swift */
,
044EE23D2C92E27500A2FE3A
/* YHResignCertificateDetailViewController.swift */
,
044EE2412C92EF0C00A2FE3A
/* YHResignCertificateDetailEVisaViewController.swift */
,
);
path
=
C
;
sourceTree
=
"<group>"
;
...
...
@@ -4688,6 +4709,7 @@
049663BA2BF6105C003C8295
/* YHRefreshHeaderAnimator.swift in Sources */
,
A5C382D12B5FAAB300C5E65C
/* YHContactItemModel.swift in Sources */
,
04B360F52C646844001EB053
/* YHPrincipleApprovedMailViewController.swift in Sources */
,
044EE23C2C92BFDC00A2FE3A
/* YHResignCertificateModel.swift in Sources */
,
049D62C22C6F258700E811A1
/* YHFamilyInfoConfirmViewController.swift in Sources */
,
0430E64C2C732821000511E2
/* YHNoAdopterAlertView.swift in Sources */
,
04CE1ADE2C2AD91F001CB80A
/* YHActivityTravelCell.swift in Sources */
,
...
...
@@ -4761,6 +4783,7 @@
04B360E32C60A346001EB053
/* YHPrinciplePhotoListCell.swift in Sources */
,
04213B292C48EF5300797900
/* YHHomeInformationViewController.swift in Sources */
,
A5DF9C692C78BE6000CE48E6
/* YHUploadCertificateDetailModel.swift in Sources */
,
044EE2442C92F48200A2FE3A
/* YHResignCertificateEvisaTableViewCell.swift in Sources */
,
048B2A4D2BC7DAE800A93BF0
/* YHMyLikeViewModel.swift in Sources */
,
04C693622B723AB8004C1758
/* YHMySettingViewController.swift in Sources */
,
045EEECD2B9F171A0022A143
/* YHScoreDataModel.swift in Sources */
,
...
...
@@ -4877,6 +4900,7 @@
A56D2D612B62020C009C83A8
/* YHContractMainItemStatusCell.swift in Sources */
,
045EEECF2B9F171A0022A143
/* YHScoreOptionsView.swift in Sources */
,
04CE1AD22C2AD91F001CB80A
/* YHActivityModel.swift in Sources */
,
044EE23A2C92BEF900A2FE3A
/* YHResignCertificateListViewModel.swift in Sources */
,
04256E002C7440A500A37BA4
/* YHFamilyWarmTipsCell.swift in Sources */
,
0445E6AF2BE9CFF6003C52F9
/* YHAppVersionForceUpdateView.swift in Sources */
,
04213B272C48C95E00797900
/* YHHomeIdentityCell.swift in Sources */
,
...
...
@@ -4947,6 +4971,7 @@
04256DFE2C743CB700A37BA4
/* YHCertificateInfoPhotoCell.swift in Sources */
,
04EA23082BB50753009DA928
/* YHDocumentMessageTableViewCell.swift in Sources */
,
045EEE8E2B9F171A0022A143
/* YHPreviewInfoWorkSummaryView.swift in Sources */
,
044EE2402C92E6C000A2FE3A
/* YHResignCertificateDetailViewModel.swift in Sources */
,
045EEECE2B9F171A0022A143
/* YHScoreDetailViewController.swift in Sources */
,
04ADBCA42C36906000C37F10
/* YHHeadImageViewController.swift in Sources */
,
045EEE852B9F171A0022A143
/* YHPreviewFamilyMemberViewController.swift in Sources */
,
...
...
@@ -5118,6 +5143,7 @@
045EEE952B9F171A0022A143
/* YHPreviewInfoCertificateInformationItemsView.swift in Sources */
,
044D0C042C2180B700C5CF5E
/* YHInformationAuthorizationStepTwoViewController.swift in Sources */
,
045EEEBB2B9F171A0022A143
/* YHWorkIntroductionTableViewCell.swift in Sources */
,
044EE2382C92BBC500A2FE3A
/* YHResignCertificateListTableViewCell.swift in Sources */
,
045EEEED2B9F171A0022A143
/* YHParentInfoVC.swift in Sources */
,
04A7BC912B6B7B89000E8D47
/* YHTwoOptionAlertView.swift in Sources */
,
A5F886B62C61F76200B63CF5
/* YHLongtapPictureSheetView.swift in Sources */
,
...
...
@@ -5133,6 +5159,7 @@
045EEF172B9F171A0022A143
/* YHSelectCountryViewController.swift in Sources */
,
044CF8D62BBA57DC00008CE8
/* YHFailPromptView.swift in Sources */
,
04506F552C6F57E600738EA1
/* YHFamilyMemberInfoCell.swift in Sources */
,
044EE23E2C92E27500A2FE3A
/* YHResignCertificateDetailViewController.swift in Sources */
,
04256E102C75BD2700A37BA4
/* YHVisaPaymentVC.swift in Sources */
,
A5ACE9562B4564F7002C94D2
/* YHBouncesContentView.swift in Sources */
,
A554A5122B99715000EA5973
/* YHConstantArrayData.swift in Sources */
,
...
...
@@ -5174,6 +5201,7 @@
04EA230A2BB5172F009DA928
/* YHDocumentPromptTableViewCell.swift in Sources */
,
A5EB6C6F2C69FB9A0081FB6C
/* YHOfficalLetterListModel.swift in Sources */
,
045EEF092B9F171A0022A143
/* YHBasicInfoFillModel.swift in Sources */
,
044EE2422C92EF0C00A2FE3A
/* YHResignCertificateDetailEVisaViewController.swift in Sources */
,
A5ACE9352B4564F7002C94D2
/* YHNetRequest.swift in Sources */
,
A5FD63CB2B63D6C300D1D9DA
/* YHInformationFillTipsCell.swift in Sources */
,
04F9574B2C2032D8003C631C
/* YHMyFriendsCell.swift in Sources */
,
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/C/YHServiceOrderListViewController.swift
View file @
b8c11663
...
...
@@ -171,6 +171,9 @@ extension YHServiceOrderListView : UITableViewDelegate,UITableViewDataSource {
//添加在港记录
}
else
if
tag
==
4
{
//续签证件管理
let
vc
=
YHResignCertificateListViewController
()
vc
.
orderId
=
orderID
UIViewController
.
current
?
.
navigationController
?
.
pushViewController
(
vc
)
}
}
return
view
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/Resign(续签)/ResignCertificateManage(续期证件管理)/C/YHResignCertificateDetailEVisaViewController.swift
0 → 100644
View file @
b8c11663
//
// YHResignCertificateDetailEVisaViewController.swift
// galaxy
//
// Created by EDY on 2024/9/12.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
import
IQKeyboardManagerSwift
class
YHResignCertificateDetailEVisaViewController
:
YHBaseViewController
{
var
tableView
:
UITableView
!
var
nextButton
:
UIButton
!
var
clickIndex
=
-
1
var
file
:
[
YHWorkExperienceFileModel
]
=
[]
var
data
:
YHResignCertificateModel
=
YHResignCertificateModel
()
var
viewModel
:
YHResignCertificateDetailViewModel
=
YHResignCertificateDetailViewModel
()
var
orderId
:
Int
=
0
lazy
var
previewFileTool
:
YHFilePreviewTool
=
{
let
tool
=
YHFilePreviewTool
(
targetVC
:
self
)
return
tool
}()
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
gk_navTitle
=
"上传电子签证"
gk_navBarAlpha
=
1
gk_navBackgroundColor
=
.
white
setView
()
getData
()
}
func
getData
()
{
if
data
.
cert_info
.
e_visa_url
.
count
!=
0
{
let
model
=
YHWorkExperienceFileModel
()
model
.
fileName
=
data
.
cert_info
.
name
model
.
fileUrl
=
data
.
cert_info
.
e_visa_url
model
.
uploadedAt
=
data
.
cert_info
.
upload_at
file
=
[
model
]
}
tableView
.
reloadData
()
}
func
setView
()
{
tableView
=
{
let
tableView
=
UITableView
(
frame
:
.
zero
,
style
:
.
plain
)
tableView
.
contentInsetAdjustmentBehavior
=
.
never
tableView
.
backgroundColor
=
.
clear
tableView
.
separatorStyle
=
.
none
tableView
.
delegate
=
self
tableView
.
dataSource
=
self
tableView
.
register
(
cellWithClass
:
YHResignCertificateEvisaTableViewCell
.
self
)
return
tableView
}()
view
.
addSubview
(
tableView
)
tableView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
k_Height_NavigationtBarAndStatuBar
+
8
)
make
.
bottom
.
left
.
right
.
equalTo
(
view
)
}
nextButton
=
{
let
button
=
UIButton
(
type
:
.
custom
)
button
.
backgroundColor
=
UIColor
.
brandMainColor
button
.
titleLabel
?
.
font
=
UIFont
.
PFSC_M
(
ofSize
:
16
)
button
.
contentHorizontalAlignment
=
.
center
button
.
setTitle
(
"确认,保存"
,
for
:
.
normal
)
button
.
setTitleColor
(
UIColor
(
hex
:
0xffffff
),
for
:
.
normal
)
button
.
layer
.
cornerRadius
=
kCornerRadius3
button
.
addTarget
(
self
,
action
:
#selector(
nextStep
)
,
for
:
.
touchUpInside
)
return
button
}()
view
.
addSubview
(
nextButton
)
nextButton
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
16
)
make
.
right
.
equalTo
(
-
16
)
make
.
bottom
.
equalTo
(
-
8
-
k_Height_safeAreaInsetsBottom
())
make
.
height
.
equalTo
(
48
)
}
}
@objc
func
nextStep
()
{
if
file
.
count
!=
0
{
let
eVisa
:
[
String
:
Any
]
=
[
"name"
:
"电子签证"
,
"e_visa_url"
:
file
.
first
?
.
fileUrl
??
""
,
"upload_at"
:
file
.
first
?
.
uploadedAt
??
""
]
let
params
:
[
String
:
Any
]
=
[
"eVisa"
:
eVisa
,
"id"
:
data
.
id
]
viewModel
.
submitResignCertificateUpdate
(
params
)
{
success
,
error
in
if
success
{
YHHUD
.
flash
(
message
:
"保存成功"
)
self
.
navigationController
?
.
popViewController
()
}
else
{
let
msg
=
error
?
.
errorMsg
??
"保存失败,请重试"
YHHUD
.
flash
(
message
:
msg
)
}
}
}
else
{
YHHUD
.
flash
(
message
:
"请上传电子签证"
)
}
}
func
getFileNameWithoutSuffix
(
_
string
:
String
)
->
String
{
if
string
.
isEmpty
{
return
string
}
if
!
string
.
contains
(
"."
)
{
return
string
}
if
!
string
.
pathExtension
.
isEmpty
{
let
fileName
=
(
string
as
NSString
)
.
deletingPathExtension
return
fileName
}
return
""
}
func
uploadImage
(
_
img
:
UIImage
,
imageName
:
String
,
callBack
:((
Bool
,
String
)
->
())?)
{
// 先OSS上传得到URL
self
.
viewModel
.
uploadImage
(
img
)
{
[
weak
self
]
url
,
error
in
guard
self
!=
nil
else
{
return
}
if
let
url
=
url
,
!
url
.
isEmpty
{
callBack
?(
true
,
url
)
return
}
callBack
?(
false
,
""
)
}
}
func
uploadFile
(
_
fileUrl
:
URL
)
{
if
let
fileData
=
try
?
Data
(
contentsOf
:
fileUrl
)
{
// 将文件数据上传到服务器
let
size
=
String
(
format
:
"%.2fM"
,
Double
(
fileData
.
count
)
/
(
1024.0
*
1024.0
))
// print("\(size)")
// 先OSS上传得到URL
YHHUD
.
show
(
.
progress
(
message
:
"上传中..."
))
self
.
viewModel
.
uploadFile
(
fileUrl
.
absoluteString
)
{
[
weak
self
]
successUrl
,
error
in
YHHUD
.
hide
()
guard
let
self
=
self
else
{
return
}
// 再调用业务接口
if
let
successUrl
=
successUrl
,
!
successUrl
.
isEmpty
{
var
fileName
=
fileUrl
.
lastPathComponent
if
fileName
.
isEmpty
{
fileName
=
successUrl
.
lastPathComponent
}
let
suffixName
=
successUrl
.
pathExtension
.
lowercased
()
let
timestamp
=
Date
()
.
timeIntervalSince1970
let
dateFormatter
=
DateFormatter
()
dateFormatter
.
dateFormat
=
"yyyy.MM.dd HH:mm:ss"
let
currentDate
=
Date
()
let
formattedDate
=
dateFormatter
.
string
(
from
:
currentDate
)
let
model
=
YHWorkExperienceFileModel
()
model
.
fileUrl
=
successUrl
model
.
fileName
=
fileName
model
.
uploadedAt
=
formattedDate
self
.
file
=
[
model
]
self
.
tableView
.
reloadData
()
YHHUD
.
flash
(
message
:
"上传成功"
)
return
}
var
msg
=
"上传文件失败"
if
let
errorMsg
=
error
?
.
errorMsg
,
!
errorMsg
.
isEmpty
{
msg
=
errorMsg
}
YHHUD
.
flash
(
message
:
msg
)
}
}
else
{
YHHUD
.
flash
(
message
:
"识别文件失败"
)
}
}
}
extension
YHResignCertificateDetailEVisaViewController
:
UITableViewDelegate
,
UITableViewDataSource
{
func
tableView
(
_
tableView
:
UITableView
,
numberOfRowsInSection
section
:
Int
)
->
Int
{
return
1
}
func
tableView
(
_
tableView
:
UITableView
,
cellForRowAt
indexPath
:
IndexPath
)
->
UITableViewCell
{
if
indexPath
.
row
==
0
{
let
cell
=
tableView
.
dequeueReusableCell
(
withClass
:
YHResignCertificateEvisaTableViewCell
.
self
)
let
str
=
"* "
+
data
.
name
+
"的电子签证"
let
attributes
:
[
NSAttributedString
.
Key
:
Any
]
=
[
.
font
:
UIFont
.
PFSC_M
(
ofSize
:
17
),
.
foregroundColor
:
UIColor
.
mainTextColor
]
let
questionAttrStr
=
NSMutableAttributedString
(
string
:
str
,
attributes
:
attributes
)
let
starRange
=
NSRange
(
location
:
0
,
length
:
2
)
questionAttrStr
.
addAttribute
(
NSAttributedString
.
Key
.
foregroundColor
,
value
:
UIColor
.
failColor
,
range
:
starRange
)
cell
.
titleLabel
.
attributedText
=
questionAttrStr
cell
.
dataSource
=
self
.
file
cell
.
experienceListBlock
=
{[
weak
self
]
model
,
type
in
guard
let
self
=
self
else
{
return
}
if
type
==
.
click
{
self
.
viewModel
.
getPublicImageUrl
(
model
.
fileUrl
)
{
success
,
error
in
YHHUD
.
hide
()
if
let
success
=
success
{
self
.
previewFileTool
.
openXLSXRemoteFile
(
urlString
:
success
,
fileName
:
""
)
}
}
}
if
type
==
.
delete
{
let
items
=
[
YHCertificateEditItem
(
type
:
.
preview
,
title
:
"预览"
),
YHCertificateEditItem
(
type
:
.
rename
,
title
:
"重命名"
),
YHCertificateEditItem
(
type
:
.
delete
,
title
:
"删除"
),
YHCertificateEditItem
(
type
:
.
cancel
,
title
:
"取消"
)]
YHCertificateEditSheetView
.
sheetView
(
items
:
items
)
{
[
weak
self
]
editType
in
guard
let
self
=
self
else
{
return
}
if
editType
==
.
rename
{
IQKeyboardManager
.
shared
.
enable
=
false
var
name
=
getFileNameWithoutSuffix
(
model
.
fileName
)
if
name
.
count
>
30
{
name
=
name
[
safe
:
..<
30
]
!
}
let
view
=
YHPrincipleFileRenameView
.
renameView
(
name
:
name
)
view
.
confirmBlock
=
{
[
weak
self
]
text
in
guard
let
self
=
self
else
{
return
}
model
.
fileName
=
text
self
.
tableView
.
reloadData
()
}
view
.
show
()
}
else
if
editType
==
.
delete
{
// 删除
file
=
[]
self
.
tableView
.
reloadData
()
}
else
if
editType
==
.
preview
{
// 预览
self
.
viewModel
.
getPublicImageUrl
(
model
.
fileUrl
)
{
success
,
error
in
YHHUD
.
hide
()
if
let
success
=
success
{
self
.
previewFileTool
.
openXLSXRemoteFile
(
urlString
:
success
,
fileName
:
""
)
}
}
}
}
.
show
()
}
}
cell
.
newFileBlock
=
{[
weak
self
]
in
guard
let
self
=
self
else
{
return
}
let
sheetView
=
YHCertificateUploadSheetView
.
sheetView
()
sheetView
.
tips
=
"支持的文件格式为jpg/jpeg、png、pdf,最多可上传1张图片或文件"
sheetView
.
maxSelectImageCount
=
1
sheetView
.
fileTypes
=
[
"public.image"
,
"com.adobe.pdf"
]
sheetView
.
uploadFilesBlock
=
{
[
weak
self
]
fileUrl
in
guard
let
self
=
self
else
{
return
}
print
(
fileUrl
)
uploadFile
(
fileUrl
)
}
sheetView
.
uploadImageBlock
=
{
[
weak
self
]
imgArr
in
guard
let
self
=
self
else
{
return
}
let
group
=
DispatchGroup
()
var
successArr
:[
String
]
=
[]
var
failArr
:[
YHSelectImageItem
]
=
[]
YHHUD
.
show
(
.
progress
(
message
:
"上传中..."
))
for
item
in
imgArr
{
if
let
image
=
item
.
data
{
group
.
enter
()
uploadImage
(
image
,
imageName
:
item
.
name
)
{
success
,
url
in
if
success
{
successArr
.
append
(
url
)
}
else
{
failArr
.
append
(
item
)
}
group
.
leave
()
}
}
}
// 等待所有任务完成
group
.
notify
(
queue
:
.
main
)
{
YHHUD
.
hide
()
// 所有任务完成,回到主线程继续执行
if
imgArr
.
count
==
successArr
.
count
{
YHHUD
.
flash
(
message
:
"上传成功"
)
for
item
in
successArr
{
let
timestamp
=
Date
()
.
timeIntervalSince1970
let
dateFormatter
=
DateFormatter
()
dateFormatter
.
dateFormat
=
"yyyy.MM.dd HH:mm:ss"
let
currentDate
=
Date
()
let
formattedDate
=
dateFormatter
.
string
(
from
:
currentDate
)
let
model
=
YHWorkExperienceFileModel
()
model
.
fileUrl
=
item
model
.
fileName
=
"
\(
UInt64
(
timestamp
)
)
"
+
".jpg"
model
.
uploadedAt
=
formattedDate
self
.
file
.
append
(
model
)
}
self
.
tableView
.
reloadData
()
}
else
{
YHHUD
.
flash
(
message
:
"
\(
successArr
.
count
)
张照片上传成功
\n\(
failArr
.
count
)
张照片上传失败"
)
}
}
}
sheetView
.
show
()
}
return
cell
}
return
UITableViewCell
()
}
func
tableView
(
_
tableView
:
UITableView
,
heightForRowAt
indexPath
:
IndexPath
)
->
CGFloat
{
return
145
}
func
tableView
(
_
tableView
:
UITableView
,
didSelectRowAt
indexPath
:
IndexPath
)
{
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/Resign(续签)/ResignCertificateManage(续期证件管理)/C/YHResignCertificateDetailViewController.swift
0 → 100644
View file @
b8c11663
//
// YHResignCertificateDetailViewController.swift
// galaxy
//
// Created by EDY on 2024/9/12.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
class
YHResignCertificateDetailViewController
:
YHBaseViewController
{
lazy
var
viewModel
:
YHResignCertificateDetailViewModel
=
{
let
vm
=
YHResignCertificateDetailViewModel
()
return
vm
}()
var
dataModel
:
YHResignCertificateModel
=
YHResignCertificateModel
()
{
didSet
{
}
}
var
detailType
:
UploadCertificateDetailType
=
.
SmallWhiteNote
var
canEditFlag
:
Bool
=
true
//已上传状态也可以重新传
lazy
var
uploadImageVM
:
YHBaseViewModel
=
{
let
vm
=
YHBaseViewModel
()
return
vm
}()
lazy
var
topImgView
:
UIImageView
=
{
let
view
=
UIImageView
(
image
:
UIImage
(
named
:
"xbt_tips"
))
// 343 90
view
.
layer
.
cornerRadius
=
kCornerRadius6
view
.
clipsToBounds
=
true
return
view
}()
lazy
var
whiteContentView
:
UIView
=
{
let
view
=
UIView
()
view
.
backgroundColor
=
.
white
view
.
layer
.
cornerRadius
=
kCornerRadius6
view
.
clipsToBounds
=
true
view
.
backgroundColor
=
.
white
return
view
}()
private
lazy
var
titleTextView
:
UITextView
=
{
let
lable0
=
UITextView
()
lable0
.
textColor
=
UIColor
.
mainTextColor
lable0
.
font
=
UIFont
.
PFSC_M
(
ofSize
:
17
)
lable0
.
isScrollEnabled
=
false
lable0
.
isEditable
=
false
lable0
.
isSelectable
=
false
return
lable0
}()
private
lazy
var
customLabel
:
UILabel
=
{
let
lable
=
UILabel
(
frame
:
CGRect
(
x
:
0
,
y
:
0
,
width
:
48
,
height
:
16
))
lable
.
text
=
"示例模板"
lable
.
font
=
.
PFSC_M
(
ofSize
:
10
)
lable
.
backgroundColor
=
UIColor
(
hex
:
0x2F7EF6
,
transparency
:
0.08
)
lable
.
textColor
=
.
brandMainColor
lable
.
layer
.
cornerRadius
=
kCornerRadius3
lable
.
clipsToBounds
=
true
lable
.
textAlignment
=
.
center
lable
.
isUserInteractionEnabled
=
true
let
tap
=
UITapGestureRecognizer
(
target
:
self
,
action
:
#selector(
tapExampleMudel
)
)
lable
.
addGestureRecognizer
(
tap
)
return
lable
}()
lazy
var
lineView
:
UIView
=
{
let
view
=
UIView
()
view
.
backgroundColor
=
.
separatorColor
return
view
}()
private
lazy
var
cardLabel
:
UILabel
=
{
let
lable
=
UILabel
()
lable
.
text
=
"小白条正面"
lable
.
font
=
.
PFSC_R
(
ofSize
:
12
)
lable
.
textColor
=
UIColor
.
mainTextColor50
lable
.
clipsToBounds
=
true
lable
.
textAlignment
=
.
center
return
lable
}()
private
lazy
var
cardButton
:
YHCardButton
=
{
let
button
=
YHCardButton
()
button
.
setContent
(
"card_upload"
,
"点击上传"
)
button
.
setBackgroundImage
(
UIImage
(
named
:
"service_cn_card_front"
),
for
:
.
normal
)
button
.
addTarget
(
self
,
action
:
#selector(
clickCardButton
)
,
for
:
.
touchUpInside
)
button
.
layer
.
cornerRadius
=
kCornerRadius4
button
.
clipsToBounds
=
true
return
button
}()
private
lazy
var
delImageButton
:
UIButton
=
{
let
button
=
UIButton
(
type
:
.
custom
)
button
.
setBackgroundImage
(
UIImage
(
named
:
"service_card_delete"
),
for
:
.
normal
)
button
.
addTarget
(
self
,
action
:
#selector(
clickDelImageBtn
)
,
for
:
.
touchUpInside
)
button
.
isHidden
=
true
return
button
}()
private
lazy
var
startDateItem
:
YHUploadCertificateDateItem
=
{
let
view
=
YHUploadCertificateDateItem
()
return
view
}()
private
var
startDateStr
:
String
=
""
private
var
endDateStr
:
String
=
""
private
var
uploadImageUrl
:
String
=
""
private
lazy
var
endDateItem
:
YHUploadCertificateDateItem
=
{
let
view
=
YHUploadCertificateDateItem
()
return
view
}()
lazy
var
bottomView
:
YHFileListBottomView
=
{
let
view
=
YHFileListBottomView
()
view
.
updateBtnTitle
(
title
:
"确认,保存"
)
view
.
block
=
{
tag
in
self
.
submitInfo
()
}
return
view
}()
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
setupUI
()
loadData
()
}
}
// MARK: - 私有方法
private
extension
YHResignCertificateDetailViewController
{
func
isAllInfoOK
()
->
Bool
{
if
uploadImageUrl
.
isEmpty
{
var
txt
=
""
if
detailType
==
.
SmallWhiteNote
{
txt
=
"上传小白条"
}
else
{
txt
=
"上传香港身份证"
}
YHHUD
.
flash
(
message
:
txt
)
return
false
}
if
detailType
==
.
SmallWhiteNote
{
if
startDateStr
.
isEmpty
{
YHHUD
.
flash
(
message
:
"选择入境日期"
)
startDateItem
.
needCheckMustFlag
=
true
endDateItem
.
needCheckMustFlag
=
true
return
false
}
if
endDateStr
.
isEmpty
{
YHHUD
.
flash
(
message
:
"选择逗留截止日期"
)
startDateItem
.
needCheckMustFlag
=
true
endDateItem
.
needCheckMustFlag
=
true
return
false
}
//检验先后 startDateStr < endDateStr
let
dateFormatter
=
DateFormatter
()
dateFormatter
.
dateFormat
=
"yyyy-MM-dd"
// 假设我们有两个日期
if
let
date1
=
dateFormatter
.
date
(
from
:
startDateStr
),
let
date2
=
dateFormatter
.
date
(
from
:
endDateStr
)
{
// 使用Calendar比较两个日期
let
calendar
=
Calendar
.
current
// 比较结果
let
isDate1Earlier
=
calendar
.
compare
(
date1
,
to
:
date2
,
toGranularity
:
.
day
)
==
.
orderedAscending
if
isDate1Earlier
{
print
(
"date1 在 date2 之前"
)
}
else
{
YHHUD
.
flash
(
message
:
"逗留截止日期必须晚于入境日期"
)
return
false
}
}
}
return
true
}
func
submitInfo
()
{
if
isAllInfoOK
()
{
if
detailType
==
.
SmallWhiteNote
{
submitSmallWhiteBarInfo
()
}
else
{
submitHKIDCarInfo
()
}
}
}
func
submitSmallWhiteBarInfo
()
{
let
smallWhiteBar
:
[
String
:
Any
]
=
[
"name"
:
"小白条"
,
"small_white_note_url"
:
uploadImageUrl
,
"small_white_note_validity_start"
:
startDateStr
,
"small_white_note_validity_end"
:
endDateStr
]
let
params
:
[
String
:
Any
]
=
[
"smallWhiteBar"
:
smallWhiteBar
,
"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
)
}
}
}
func
submitHKIDCarInfo
()
{
let
hkIdCard
:
[
String
:
Any
]
=
[
"name"
:
"香港身份证"
,
"idcard_url"
:
uploadImageUrl
]
let
params
:
[
String
:
Any
]
=
[
"hkIdCard"
:
hkIdCard
,
"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
)
}
}
}
@objc
func
tapItem
(
gestureRecognizer
:
UITapGestureRecognizer
)
{
var
title
=
""
var
defaultDate
=
""
if
gestureRecognizer
.
view
==
startDateItem
{
title
=
"选择入境日期"
defaultDate
=
startDateStr
}
else
{
title
=
"选择逗留截止日期"
defaultDate
=
endDateStr
}
YHDatePickView
.
show
(
type
:
.
yyyymmdd
,
title
:
title
,
lastIsTaday
:
false
,
currentDay
:
defaultDate
)
{
[
weak
self
]
dateStr
in
guard
let
self
=
self
else
{
return
}
if
gestureRecognizer
.
view
==
startDateItem
{
startDateStr
=
dateStr
startDateItem
.
updateDate
(
date
:
dateStr
)
}
else
{
endDateStr
=
dateStr
endDateItem
.
updateDate
(
date
:
dateStr
)
}
}
}
@objc
func
clickDelImageBtn
()
{
cardButton
.
setContent
(
"card_upload"
,
"点击上传"
)
cardButton
.
setBackgroundImage
(
UIImage
(
named
:
"service_cn_card_front"
),
for
:
.
normal
)
delImageButton
.
isHidden
=
true
self
.
uploadImageUrl
=
""
}
@objc
func
tapExampleMudel
()
{
if
detailType
==
.
SmallWhiteNote
{
let
view
=
YHSmallWhiteNoteTemplateView
.
sheetView
()
view
.
show
()
}
else
if
detailType
==
.
HongKongCard
{
let
view
=
YHHKCardTemplateView
.
sheetView
()
view
.
show
()
}
}
@objc
func
clickCardButton
()
{
if
uploadImageUrl
.
isEmpty
{
//选择图片
YHImagePickerView
.
show
()
{[
weak
self
]
image
in
guard
let
self
=
self
else
{
return
}
self
.
cardButton
.
setContent
(
"card_loading"
,
"上传中"
)
self
.
cardButton
.
startRotationAnimation
()
self
.
uploadImageVM
.
uploadImage
(
image
)
{[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
self
.
cardButton
.
stopRotationAnimation
()
self
.
cardButton
.
setContent
(
""
,
""
)
self
.
delImageButton
.
isHidden
=
false
guard
let
url
=
success
else
{
return
}
print
(
url
)
self
.
uploadImageUrl
=
url
self
.
cardButton
.
setBackgroundImage
(
image
,
for
:
.
normal
)
self
.
cardButton
.
isHidden
=
false
if
detailType
==
.
SmallWhiteNote
{
self
.
viewModel
.
getPublicImageUrl
(
url
)
{[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
guard
let
url
=
success
else
{
return
}
//进行ocr识别
self
.
viewModel
.
getSmallWhiteBarInfoByOcr
(
url
)
{
success
,
error
in
if
success
{
if
let
tmpModel
=
self
.
viewModel
.
smallWhiteBarInfo
{
self
.
startDateStr
=
tmpModel
.
start_time
self
.
endDateStr
=
tmpModel
.
end_time
self
.
startDateItem
.
updateDate
(
date
:
self
.
startDateStr
)
self
.
endDateItem
.
updateDate
(
date
:
self
.
endDateStr
)
}
}
}
}
}
}
}
}
else
{
showBigImage
()
}
}
func
showBigImage
()
{
if
!
self
.
uploadImageUrl
.
isEmpty
{
let
vc
=
YHImageViewController
()
vc
.
imgString
=
self
.
uploadImageUrl
UIViewController
.
current
?
.
navigationController
?
.
pushViewController
(
vc
)
}
}
func
loadData
()
{
self
.
updateUI
()
}
//获取数据后进行更新
func
updateUI
()
{
if
detailType
==
.
SmallWhiteNote
{
let
url
=
dataModel
.
cert_info
.
small_white_note_url
if
!
url
.
isYHEmpty
()
{
uploadImageUrl
=
url
self
.
viewModel
.
getPublicImageUrl
(
url
)
{[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
guard
let
url
=
success
else
{
return
}
self
.
cardButton
.
kf
.
setBackgroundImage
(
with
:
URL
(
string
:
url
),
for
:
.
normal
,
completionHandler
:
{
_
in
self
.
delImageButton
.
isHidden
=
false
})
self
.
cardButton
.
setContent
(
""
,
""
)
}
}
startDateStr
=
dataModel
.
cert_info
.
small_white_note_validity_start
endDateStr
=
dataModel
.
cert_info
.
small_white_note_validity_end
startDateItem
.
updateDate
(
date
:
startDateStr
)
endDateItem
.
updateDate
(
date
:
endDateStr
)
}
else
{
let
url
=
dataModel
.
cert_info
.
idcard_url
if
!
url
.
isYHEmpty
()
{
uploadImageUrl
=
url
self
.
viewModel
.
getPublicImageUrl
(
url
)
{[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
guard
let
url
=
success
else
{
return
}
self
.
cardButton
.
kf
.
setBackgroundImage
(
with
:
URL
(
string
:
url
),
for
:
.
normal
,
completionHandler
:
{
_
in
self
.
delImageButton
.
isHidden
=
false
})
self
.
cardButton
.
setContent
(
""
,
""
)
}
}
}
}
func
setupUI
()
{
var
navTitle
=
""
if
detailType
==
.
SmallWhiteNote
{
navTitle
=
"上传小白条"
cardLabel
.
text
=
"小白条正面"
}
else
if
detailType
==
.
HongKongCard
{
navTitle
=
"上传香港身份证"
cardLabel
.
text
=
"香港居民身份证正面"
}
gk_navTitle
=
navTitle
gk_navBarAlpha
=
1.0
gk_navBackgroundColor
=
.
white
view
.
backgroundColor
=
UIColor
.
contentBkgColor
view
.
addSubview
(
whiteContentView
)
if
detailType
==
.
SmallWhiteNote
{
let
topImgViewH
:
CGFloat
=
90
*
(
KScreenWidth
-
16
*
2
)
/
343.0
view
.
addSubview
(
topImgView
)
topImgView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
k_Height_NavigationtBarAndStatuBar
+
kMargin
)
make
.
left
.
equalTo
(
kMargin
)
make
.
right
.
equalTo
(
-
kMargin
)
make
.
height
.
equalTo
(
topImgViewH
)
}
whiteContentView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
kMargin
)
make
.
right
.
equalTo
(
-
kMargin
)
make
.
top
.
equalTo
(
topImgView
.
snp
.
bottom
)
.
offset
(
14
)
}
}
else
if
detailType
==
.
HongKongCard
{
whiteContentView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
k_Height_NavigationtBarAndStatuBar
+
kMargin
)
make
.
left
.
equalTo
(
kMargin
)
make
.
right
.
equalTo
(
-
kMargin
)
}
}
whiteContentView
.
addSubview
(
titleTextView
)
titleTextView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalToSuperview
()
.
offset
(
16
)
make
.
right
.
equalToSuperview
()
.
offset
(
-
18
)
make
.
top
.
equalToSuperview
()
.
offset
(
kMargin
)
}
whiteContentView
.
addSubview
(
lineView
)
lineView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalToSuperview
()
.
offset
(
18
)
make
.
right
.
equalToSuperview
()
.
offset
(
-
18
)
make
.
top
.
equalTo
(
titleTextView
.
snp
.
bottom
)
.
offset
(
12
)
make
.
height
.
equalTo
(
1
)
}
whiteContentView
.
addSubview
(
cardLabel
)
cardLabel
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalToSuperview
()
.
offset
(
18
)
make
.
top
.
equalTo
(
lineView
.
snp
.
bottom
)
.
offset
(
12
)
make
.
height
.
equalTo
(
20
)
make
.
width
.
equalTo
(
160
)
}
if
detailType
==
.
SmallWhiteNote
{
titleTextView
.
attributed
.
text
=
"""
\(
"*"
,
.
foreground
(
UIColor
.
failColor
),
.
font
(
UIFont
.
PFSC_M
(
ofSize
:
17
))
)\(
"
\(
dataModel
.
name
)
的第一次赴港激活小白条 "
,
.
foreground
(
UIColor
.
mainTextColor
),
.
font
(
UIFont
.
PFSC_M
(
ofSize
:
17
))
)\(
.
view
(
customLabel
,
.
original
(
.
center
))
)
"""
whiteContentView
.
addSubview
(
cardButton
)
cardButton
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalToSuperview
()
.
offset
(
18
)
make
.
top
.
equalTo
(
cardLabel
.
snp
.
bottom
)
.
offset
(
9
)
make
.
height
.
equalTo
(
99
)
make
.
width
.
equalTo
(
160
)
}
whiteContentView
.
addSubview
(
startDateItem
)
startDateItem
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalToSuperview
()
.
offset
(
18
)
make
.
right
.
equalToSuperview
()
.
offset
(
-
18
)
make
.
top
.
equalTo
(
cardButton
.
snp
.
bottom
)
.
offset
(
16
)
make
.
height
.
equalTo
(
YHUploadCertificateDateItem
.
viewH
)
}
startDateItem
.
update
(
title
:
"入境日期"
,
isMust
:
true
,
hideLineFlag
:
false
)
whiteContentView
.
addSubview
(
endDateItem
)
endDateItem
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalToSuperview
()
.
offset
(
18
)
make
.
right
.
equalToSuperview
()
.
offset
(
-
18
)
make
.
top
.
equalTo
(
startDateItem
.
snp
.
bottom
)
make
.
height
.
equalTo
(
YHUploadCertificateDateItem
.
viewH
)
make
.
bottom
.
equalToSuperview
()
}
endDateItem
.
update
(
title
:
"逗留截止"
,
isMust
:
true
,
hideLineFlag
:
true
)
let
tap
=
UITapGestureRecognizer
(
target
:
self
,
action
:
#selector(
tapItem(gestureRecognizer:)
)
)
startDateItem
.
addGestureRecognizer
(
tap
)
let
tap2
=
UITapGestureRecognizer
(
target
:
self
,
action
:
#selector(
tapItem(gestureRecognizer:)
)
)
endDateItem
.
addGestureRecognizer
(
tap2
)
}
else
if
detailType
==
.
HongKongCard
{
titleTextView
.
attributed
.
text
=
"""
\(
"*"
,
.
foreground
(
UIColor
.
failColor
),
.
font
(
UIFont
.
PFSC_M
(
ofSize
:
17
))
)\(
"
\(
dataModel
.
name
)
的香港身份证 "
,
.
foreground
(
UIColor
.
mainTextColor
),
.
font
(
UIFont
.
PFSC_M
(
ofSize
:
17
))
)\(
.
view
(
customLabel
,
.
original
(
.
center
))
)
"""
whiteContentView
.
addSubview
(
cardButton
)
cardButton
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalToSuperview
()
.
offset
(
18
)
make
.
top
.
equalTo
(
cardLabel
.
snp
.
bottom
)
.
offset
(
9
)
make
.
height
.
equalTo
(
99
)
make
.
width
.
equalTo
(
160
)
make
.
bottom
.
equalToSuperview
()
.
offset
(
-
kMargin
)
}
}
//可编辑
whiteContentView
.
addSubview
(
delImageButton
)
delImageButton
.
snp
.
makeConstraints
{
make
in
make
.
centerX
.
equalTo
(
cardButton
.
snp
.
right
)
make
.
centerY
.
equalTo
(
cardButton
.
snp
.
top
)
make
.
height
.
equalTo
(
21
)
make
.
width
.
equalTo
(
21
)
}
view
.
addSubview
(
bottomView
)
bottomView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalToSuperview
()
make
.
right
.
equalToSuperview
()
make
.
bottom
.
equalToSuperview
()
make
.
height
.
equalTo
(
YHFileListBottomView
.
viewH
)
}
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/Resign(续签)/ResignCertificateManage(续期证件管理)/C/YHResignCertificateListViewController.swift
View file @
b8c11663
...
...
@@ -11,14 +11,14 @@ import UIKit
class
YHResignCertificateListViewController
:
YHBaseViewController
{
var
tableView
:
UITableView
!
var
orderId
:
Int
=
0
var
viewModel
=
YHResignCertificateListViewModel
()
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
gk_navTitle
=
"续签证件管理"
gk_navBackgroundColor
=
.
white
gk_navBarAlpha
=
1.0
setView
()
getData
()
}
override
func
viewWillAppear
(
_
animated
:
Bool
)
{
...
...
@@ -27,7 +27,10 @@ class YHResignCertificateListViewController: YHBaseViewController {
}
func
getData
()
{
viewModel
.
getResignCertificateList
(
orderId
:
orderId
)
{[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
self
.
tableView
.
reloadData
()
}
}
func
setView
()
{
...
...
@@ -40,13 +43,14 @@ class YHResignCertificateListViewController: YHBaseViewController {
tableView
.
dataSource
=
self
tableView
.
showsVerticalScrollIndicator
=
false
tableView
.
showsHorizontalScrollIndicator
=
false
tableView
.
register
(
cellWithClass
:
YH
AdopterAddNew
TableViewCell
.
self
)
tableView
.
register
(
cellWithClass
:
YH
ResignCertificateList
TableViewCell
.
self
)
return
tableView
}()
view
.
addSubview
(
tableView
)
tableView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
k_Height_NavigationtBarAndStatuBar
+
8
)
make
.
left
.
right
.
bottom
.
equalTo
(
view
)
make
.
left
.
right
.
equalTo
(
view
)
make
.
bottom
.
equalTo
(
-
k_Height_safeAreaInsetsBottom
())
}
}
...
...
@@ -59,18 +63,67 @@ extension YHResignCertificateListViewController: UITableViewDelegate, UITableVie
}
func
tableView
(
_
tableView
:
UITableView
,
cellForRowAt
indexPath
:
IndexPath
)
->
UITableViewCell
{
let
cell
=
tableView
.
dequeueReusableCell
(
withClass
:
YHAdopterAddNewTableViewCell
.
self
)
cell
.
clickBlock
=
{
[
weak
self
]
model
in
guard
let
self
=
self
else
{
return
}
let
cell
=
tableView
.
dequeueReusableCell
(
withClass
:
YHResignCertificateListTableViewCell
.
self
)
var
model
:
[
YHResignCertificateModel
]
=
[]
if
indexPath
.
row
==
0
{
model
=
self
.
viewModel
.
mainModel
.
TRAVEL
cell
.
titleLabel
.
text
=
"旅行证件(港澳通行证/护照)"
}
if
indexPath
.
row
==
1
{
model
=
self
.
viewModel
.
mainModel
.
E_VISA
cell
.
titleLabel
.
text
=
"最新一次电子签证"
}
if
indexPath
.
row
==
2
{
model
=
self
.
viewModel
.
mainModel
.
HK_ID_CARD
cell
.
titleLabel
.
text
=
"香港身份证"
}
if
indexPath
.
row
==
3
{
model
=
self
.
viewModel
.
mainModel
.
SMALL_WHITE_BAR
cell
.
titleLabel
.
text
=
"最新一次小白条"
}
cell
.
dataSource
=
model
cell
.
clickBlock
=
{
[
weak
self
]
model
in
guard
let
self
=
self
else
{
return
}
if
indexPath
.
row
==
0
{
}
return
cell
if
indexPath
.
row
==
1
{
let
vc
=
YHResignCertificateDetailEVisaViewController
()
vc
.
data
=
model
self
.
navigationController
?
.
pushViewController
(
vc
)
}
if
indexPath
.
row
==
2
{
let
vc
=
YHResignCertificateDetailViewController
()
vc
.
detailType
=
.
HongKongCard
vc
.
dataModel
=
model
self
.
navigationController
?
.
pushViewController
(
vc
)
}
if
indexPath
.
row
==
3
{
let
vc
=
YHResignCertificateDetailViewController
()
vc
.
detailType
=
.
SmallWhiteNote
vc
.
dataModel
=
model
self
.
navigationController
?
.
pushViewController
(
vc
)
}
}
return
cell
}
func
tableView
(
_
tableView
:
UITableView
,
heightForRowAt
indexPath
:
IndexPath
)
->
CGFloat
{
let
count
=
3
return
CGFloat
(
52
+
count
*
52
)
var
count
=
0
if
indexPath
.
row
==
0
{
count
=
self
.
viewModel
.
mainModel
.
TRAVEL
.
count
}
if
indexPath
.
row
==
1
{
count
=
self
.
viewModel
.
mainModel
.
E_VISA
.
count
}
if
indexPath
.
row
==
2
{
count
=
self
.
viewModel
.
mainModel
.
HK_ID_CARD
.
count
}
if
indexPath
.
row
==
3
{
count
=
self
.
viewModel
.
mainModel
.
SMALL_WHITE_BAR
.
count
}
return
CGFloat
(
68
+
count
*
52
)
}
func
tableView
(
_
tableView
:
UITableView
,
didSelectRowAt
indexPath
:
IndexPath
)
{
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/Resign(续签)/ResignCertificateManage(续期证件管理)/M/YHResignCertificateModel.swift
0 → 100644
View file @
b8c11663
//
// YHResignCertificateModel.swift
// galaxy
//
// Created by EDY on 2024/9/12.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
import
SmartCodable
class
YHResignCertificateMainModel
:
SmartCodable
{
var
E_VISA
:
[
YHResignCertificateModel
]
=
[]
var
HK_ID_CARD
:
[
YHResignCertificateModel
]
=
[]
var
SMALL_WHITE_BAR
:
[
YHResignCertificateModel
]
=
[]
var
TRAVEL
:
[
YHResignCertificateModel
]
=
[]
required
init
()
{
}
}
class
YHResignCertificateModel
:
SmartCodable
{
var
age
:
Int
=
0
var
birthday
:
String
=
""
var
cert_type
:
String
=
""
var
created_at
:
String
=
""
var
deleted_at
:
String
=
""
var
group
:
Int
=
0
var
id
:
Int
=
0
var
name
:
String
=
""
var
order_id
:
Int
=
0
var
remark
:
String
=
""
var
status
:
Int
=
0
var
updated_at
:
String
=
""
var
upload_require
:
String
=
""
var
user_id
:
Int
=
0
var
user_type
:
String
=
""
var
valid_date
:
String
=
""
var
cert_info
:
YHResignCertificateInfoModel
=
YHResignCertificateInfoModel
()
required
init
()
{
}
}
class
YHResignCertificateInfoModel
:
SmartCodable
{
var
e_visa_url
:
String
=
""
//电子签证的url
var
name
:
String
=
""
//电子签证名称
var
upload_at
:
String
=
""
var
idcard_url
:
String
=
""
//香港身份证的url
var
small_white_note_name
:
String
=
""
var
small_white_note_url
:
String
=
""
var
small_white_note_validity_end
:
String
=
""
var
small_white_note_validity_start
:
String
=
""
var
sign_type
:
String
=
""
var
img_back
:
String
=
""
var
img_front
:
String
=
""
var
issue_end
:
String
=
""
var
issue_start
:
String
=
""
required
init
()
{
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/Resign(续签)/ResignCertificateManage(续期证件管理)/V/YHResignCertificateEvisaTableViewCell.swift
0 → 100644
View file @
b8c11663
//
// YHResignCertificateEvisaTableViewCell.swift
// galaxy
//
// Created by EDY on 2024/9/12.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
class
YHResignCertificateEvisaTableViewCell
:
UITableViewCell
{
typealias
ResignCertificateBlock
=
(
_
model
:
YHResignCertificateModel
)
->
()
var
clickBlock
:
ResignCertificateBlock
?
typealias
ExperienceListBlock
=
(
_
model
:
YHWorkExperienceFileModel
,
_
type
:
YHWorkFileClickType
)
->
()
var
experienceListBlock
:
ExperienceListBlock
?
typealias
NewFileBlock
=
()
->
()
var
newFileBlock
:
NewFileBlock
?
var
centerView
:
UIView
!
var
titleLabel
:
UILabel
!
var
lineView
:
UIView
!
var
itemView
:
YHWorkFileItemView
!
var
bottomView
:
YHWorkItemAddView
!
var
dataSource
:
[
YHWorkExperienceFileModel
]?{
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
()
{
backgroundColor
=
.
clear
centerView
=
{
let
view
=
UIView
()
view
.
backgroundColor
=
.
white
view
.
layer
.
cornerRadius
=
kCornerRadius6
return
view
}()
contentView
.
addSubview
(
centerView
)
centerView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
16
)
make
.
right
.
equalTo
(
-
16
)
make
.
top
.
equalTo
(
16
)
make
.
bottom
.
equalToSuperview
()
}
titleLabel
=
{
let
label
=
UILabel
()
label
.
font
=
UIFont
.
PFSC_M
(
ofSize
:
17
)
label
.
text
=
"*卢华臣的电子签证"
label
.
textColor
=
UIColor
.
mainTextColor
return
label
}()
centerView
.
addSubview
(
titleLabel
)
titleLabel
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
18
)
make
.
top
.
equalTo
(
16
)
make
.
height
.
equalTo
(
24
)
make
.
right
.
equalTo
(
-
20
)
}
lineView
=
{
let
view
=
UIView
()
view
.
backgroundColor
=
UIColor
.
separatorColor
return
view
}()
centerView
.
addSubview
(
lineView
)
lineView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
18
)
make
.
right
.
equalTo
(
-
18
)
make
.
height
.
equalTo
(
0.5
)
make
.
top
.
equalTo
(
51.5
)
}
itemView
=
{
let
view
=
YHWorkFileItemView
()
view
.
block
=
{[
weak
self
]
model
,
type
in
guard
let
self
=
self
else
{
return
}
if
let
block
=
self
.
experienceListBlock
{
block
(
model
,
type
)
}
}
return
view
}()
centerView
.
addSubview
(
itemView
)
itemView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalToSuperview
()
make
.
right
.
equalToSuperview
()
make
.
height
.
equalTo
(
74
)
make
.
bottom
.
equalToSuperview
()
}
bottomView
=
{
let
view
=
YHWorkItemAddView
()
view
.
addBtn
.
setTitle
(
"上传"
.
local
,
for
:
.
normal
)
view
.
clickBlock
=
{[
weak
self
]
in
guard
let
self
=
self
else
{
return
}
if
let
block
=
self
.
newFileBlock
{
block
()
}
}
return
view
}()
centerView
.
addSubview
(
bottomView
)
bottomView
.
snp
.
makeConstraints
{
make
in
make
.
right
.
equalTo
(
-
18
)
make
.
left
.
equalTo
(
18
)
make
.
height
.
equalTo
(
45
)
make
.
bottom
.
equalTo
(
-
16
)
}
}
func
updateAllViews
()
{
guard
let
model
=
dataSource
,
model
.
count
!=
0
else
{
bottomView
.
isHidden
=
false
itemView
.
isHidden
=
true
return
}
itemView
.
dataSource
=
model
.
first
bottomView
.
isHidden
=
true
itemView
.
isHidden
=
false
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/Resign(续签)/ResignCertificateManage(续期证件管理)/V/YHResignCertificateListTableViewCell.swift
0 → 100644
View file @
b8c11663
//
// YHResignCertificateListTableViewCell.swift
// galaxy
//
// Created by EDY on 2024/9/12.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
class
YHResignCertificateListTableViewCell
:
UITableViewCell
{
typealias
ResignCertificateBlock
=
(
_
model
:
YHResignCertificateModel
)
->
()
var
clickBlock
:
ResignCertificateBlock
?
var
centerView
:
UIView
!
var
titleLabel
:
UILabel
!
var
mainItemView
:
UIView
!
var
lineView
:
UIView
!
var
dataSource
:
[
YHResignCertificateModel
]?
{
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
()
{
backgroundColor
=
.
clear
centerView
=
{
let
view
=
UIView
()
view
.
backgroundColor
=
.
white
view
.
layer
.
cornerRadius
=
kCornerRadius6
return
view
}()
contentView
.
addSubview
(
centerView
)
centerView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
16
)
make
.
right
.
equalTo
(
-
16
)
make
.
top
.
equalTo
(
8
)
make
.
bottom
.
equalTo
(
-
8
)
}
titleLabel
=
{
let
label
=
UILabel
()
label
.
font
=
UIFont
.
PFSC_M
(
ofSize
:
17
)
label
.
text
=
"新增受养人"
label
.
textColor
=
UIColor
.
mainTextColor
return
label
}()
centerView
.
addSubview
(
titleLabel
)
titleLabel
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
18
)
make
.
top
.
equalTo
(
16
)
make
.
height
.
equalTo
(
24
)
make
.
right
.
equalTo
(
-
20
)
}
mainItemView
=
{
let
view
=
UIView
()
view
.
backgroundColor
=
.
white
view
.
layer
.
cornerRadius
=
kCornerRadius6
return
view
}()
centerView
.
addSubview
(
mainItemView
)
mainItemView
.
snp
.
makeConstraints
{
make
in
make
.
bottom
.
left
.
right
.
equalToSuperview
()
make
.
top
.
equalTo
(
52
)
}
}
func
updateAllViews
()
{
mainItemView
.
removeSubviews
()
guard
let
dataSource
=
dataSource
else
{
return
}
var
total
=
0
for
i
in
0
..<
dataSource
.
count
{
let
line
=
UIView
()
line
.
backgroundColor
=
UIColor
.
separatorColor
mainItemView
.
addSubview
(
line
)
line
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
18
)
make
.
top
.
equalTo
(
total
)
make
.
height
.
equalTo
(
0.5
)
make
.
right
.
equalTo
(
-
18
)
}
total
=
total
+
1
let
itemView
=
YHResignCertificateView
()
itemView
.
clickBlock
=
{[
weak
self
]
model
in
guard
let
self
=
self
else
{
return
}
if
let
block
=
self
.
clickBlock
{
block
(
model
)
}
}
let
model
=
dataSource
[
i
]
itemView
.
tag
=
4000
+
i
itemView
.
dataSource
=
dataSource
[
i
]
mainItemView
.
addSubview
(
itemView
)
itemView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
18
)
make
.
top
.
equalTo
(
total
)
make
.
height
.
equalTo
(
51
)
make
.
right
.
equalTo
(
-
18
)
}
total
=
total
+
51
}
}
}
class
YHResignCertificateView
:
UIView
{
typealias
ItemBlock
=
(
_
model
:
YHResignCertificateModel
)
->
()
var
clickBlock
:
ItemBlock
?
var
titleLabel
:
UILabel
!
var
subTitleLabel
:
UILabel
!
var
explainLabel
:
UILabel
!
var
nextStepImageView
:
UIImageView
!
var
centerButton
:
UIButton
!
var
dataSource
:
YHResignCertificateModel
?
{
didSet
{
updateAllViews
()
}
}
override
init
(
frame
:
CGRect
)
{
super
.
init
(
frame
:
frame
)
backgroundColor
=
.
white
setUpView
()
}
required
init
?(
coder
:
NSCoder
)
{
fatalError
(
"init(coder:) has not been implemented"
)
}
func
setUpView
()
{
titleLabel
=
{
let
label
=
UILabel
()
label
.
font
=
UIFont
.
PFSC_B
(
ofSize
:
14
)
label
.
textAlignment
=
.
left
label
.
numberOfLines
=
2
label
.
textColor
=
UIColor
.
mainTextColor
return
label
}()
addSubview
(
titleLabel
)
titleLabel
.
snp
.
makeConstraints
{
make
in
make
.
left
.
top
.
bottom
.
equalToSuperview
()
}
subTitleLabel
=
{
let
label
=
UILabel
()
label
.
font
=
UIFont
.
PFSC_B
(
ofSize
:
12
)
label
.
textAlignment
=
.
left
label
.
numberOfLines
=
2
label
.
textColor
=
UIColor
.
mainTextColor50
return
label
}()
addSubview
(
subTitleLabel
)
subTitleLabel
.
snp
.
makeConstraints
{
make
in
make
.
top
.
bottom
.
equalToSuperview
()
make
.
left
.
equalTo
(
titleLabel
.
snp
.
right
)
}
explainLabel
=
{
let
label
=
UILabel
()
label
.
font
=
UIFont
.
PFSC_R
(
ofSize
:
14
)
label
.
textAlignment
=
.
right
label
.
textColor
=
UIColor
.
labelTextColor2
return
label
}()
addSubview
(
explainLabel
)
explainLabel
.
snp
.
makeConstraints
{
make
in
make
.
right
.
equalTo
(
-
24
)
make
.
left
.
equalToSuperview
()
make
.
height
.
equalTo
(
20
)
make
.
centerY
.
equalToSuperview
()
}
nextStepImageView
=
{
let
imageView
=
UIImageView
()
imageView
.
image
=
UIImage
(
named
:
"form_right_arrow"
)
return
imageView
}()
addSubview
(
nextStepImageView
)
nextStepImageView
.
snp
.
makeConstraints
{
make
in
make
.
right
.
equalToSuperview
()
make
.
centerY
.
equalTo
(
explainLabel
.
snp
.
centerY
)
make
.
height
.
width
.
equalTo
(
20
)
}
centerButton
=
{
let
button
=
UIButton
(
type
:
.
custom
)
button
.
addTarget
(
self
,
action
:
#selector(
centerClick
)
,
for
:
.
touchUpInside
)
return
button
}()
addSubview
(
centerButton
)
centerButton
.
snp
.
makeConstraints
{
make
in
make
.
right
.
top
.
bottom
.
equalToSuperview
()
make
.
left
.
equalTo
(
112
)
}
}
func
updateAllViews
()
{
guard
let
dataSource
=
dataSource
else
{
return
}
titleLabel
.
text
=
dataSource
.
name
if
dataSource
.
status
==
1
{
explainLabel
.
text
=
"待上传"
explainLabel
.
textColor
=
UIColor
.
brandMainColor
nextStepImageView
.
image
=
UIImage
(
named
:
"service_adopter_income_start"
)
}
if
dataSource
.
status
==
2
{
explainLabel
.
text
=
"已完成"
explainLabel
.
textColor
=
UIColor
(
hex
:
0x3cc694
)
nextStepImageView
.
image
=
UIImage
(
named
:
"service_adopter_income_success"
)
}
if
dataSource
.
age
<
12
{
explainLabel
.
text
=
"无需提供"
explainLabel
.
textColor
=
UIColor
.
mainTextColor18
nextStepImageView
.
isHidden
=
true
explainLabel
.
snp
.
remakeConstraints
{
make
in
make
.
right
.
left
.
equalToSuperview
()
make
.
height
.
equalTo
(
20
)
make
.
centerY
.
equalToSuperview
()
}
}
else
{
nextStepImageView
.
isHidden
=
false
explainLabel
.
snp
.
remakeConstraints
{
make
in
make
.
right
.
equalTo
(
-
24
)
make
.
left
.
equalToSuperview
()
make
.
height
.
equalTo
(
20
)
make
.
centerY
.
equalToSuperview
()
}
}
if
dataSource
.
cert_type
==
"PASS_PORT"
{
subTitleLabel
.
text
=
"(护照入境)"
}
else
if
dataSource
.
cert_type
==
"HK_PASS_PORT"
{
subTitleLabel
.
text
=
"(港澳通行证入境)"
}
else
{
subTitleLabel
.
text
=
""
}
}
@objc
func
centerClick
()
{
if
let
block
=
clickBlock
{
block
(
self
.
dataSource
??
YHResignCertificateModel
())
}
}
func
isShowDelete
(
_
index
:
Int
,
isShow
:
Bool
)
{
if
isShow
{
explainLabel
.
isHidden
=
true
nextStepImageView
.
isHidden
=
true
}
else
{
explainLabel
.
isHidden
=
false
nextStepImageView
.
isHidden
=
false
}
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/Resign(续签)/ResignCertificateManage(续期证件管理)/VM/YHResignCertificateDetailViewModel.swift
0 → 100644
View file @
b8c11663
//
// YHResignCertificateDetailViewModel.swift
// galaxy
//
// Created by EDY on 2024/9/12.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
class
YHResignCertificateDetailViewModel
:
YHBaseViewModel
{
func
submitResignCertificateUpdate
(
_
params
:
[
String
:
Any
],
callBackBlock
:
@escaping
(
_
success
:
Bool
,
_
error
:
YHErrorModel
?)
->
())
{
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
YHAllApiName
.
ResignCertificate
.
update
let
_
=
YHNetRequest
.
postRequest
(
url
:
strUrl
,
params
:
params
)
{
[
weak
self
]
json
,
code
in
//1. json字符串 转 对象
guard
let
self
=
self
else
{
return
}
printLog
(
"model 是 ==>
\(
json
)
"
)
if
json
.
code
==
200
{
callBackBlock
(
true
,
nil
)
}
else
{
let
err
=
YHErrorModel
(
errorCode
:
Int32
(
json
.
code
),
errorMsg
:
json
.
msg
.
isEmpty
?
""
:
json
.
msg
)
callBackBlock
(
false
,
err
)
}
}
failBlock
:
{
err
in
callBackBlock
(
false
,
err
)
}
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/Resign(续签)/ResignCertificateManage(续期证件管理)/VM/YHResignCertificateListViewModel.swift
0 → 100644
View file @
b8c11663
//
// YHResignCertificateListViewModel.swift
// galaxy
//
// Created by EDY on 2024/9/12.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
class
YHResignCertificateListViewModel
:
YHBaseViewModel
{
var
mainModel
:
YHResignCertificateMainModel
=
YHResignCertificateMainModel
()
func
getResignCertificateList
(
orderId
:
Int
,
callBackBlock
:
@escaping
(
_
success
:
Bool
,
_
error
:
YHErrorModel
?)
->
())
{
let
param
=
[
"orderId"
:
orderId
]
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
YHAllApiName
.
ResignCertificate
.
resignCertificateList
let
_
=
YHNetRequest
.
getRequest
(
url
:
strUrl
,
params
:
param
)
{
[
weak
self
]
json
,
code
in
//1. json字符串 转 对象
guard
self
!=
nil
else
{
return
}
if
json
.
code
==
200
{
guard
let
dic
=
json
.
data
?
.
peel
as?
[
String
:
Any
],
let
data
=
dic
[
"data"
]
as?
[
String
:
Any
],
let
result
=
YHResignCertificateMainModel
.
deserialize
(
from
:
data
)
else
{
callBackBlock
(
false
,
nil
)
return
}
self
?
.
mainModel
=
result
callBackBlock
(
true
,
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
)
}
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/V/YHServiceMoreAlertView.swift
View file @
b8c11663
...
...
@@ -21,7 +21,7 @@ class YHServiceMoreAlertView: UIView {
centerView
.
snp
.
remakeConstraints
{
make
in
make
.
right
.
equalTo
(
-
20
)
make
.
height
.
equalTo
(
112
)
make
.
width
.
equalTo
(
1
32
)
make
.
width
.
equalTo
(
1
64
)
make
.
top
.
equalTo
(
85
)
}
}
else
{
...
...
@@ -29,7 +29,7 @@ class YHServiceMoreAlertView: UIView {
centerView
.
snp
.
remakeConstraints
{
make
in
make
.
right
.
equalTo
(
-
20
)
make
.
height
.
equalTo
(
64
)
make
.
width
.
equalTo
(
1
32
)
make
.
width
.
equalTo
(
1
64
)
make
.
top
.
equalTo
(
85
)
}
}
...
...
@@ -69,14 +69,14 @@ class YHServiceMoreAlertView: UIView {
centerView
.
snp
.
makeConstraints
{
make
in
make
.
right
.
equalTo
(
-
20
)
make
.
height
.
equalTo
(
64
)
make
.
width
.
equalTo
(
1
32
)
make
.
width
.
equalTo
(
1
64
)
make
.
top
.
equalTo
(
85
)
}
orderButton
=
{
let
button
=
UIButton
(
type
:
.
custom
)
button
.
setImage
(
UIImage
(
named
:
"service_more_order"
),
for
:
.
normal
)
button
.
setTitle
(
"我的订单"
,
for
:
.
normal
)
button
.
setTitle
(
"我的订单
"
,
for
:
.
normal
)
button
.
setTitleColor
(
UIColor
.
mainTextColor
,
for
:
.
normal
)
button
.
titleLabel
?
.
font
=
UIFont
.
PFSC_R
(
ofSize
:
16
)
button
.
addTarget
(
self
,
action
:
#selector(
orderButtonClick
)
,
for
:
.
touchUpInside
)
...
...
@@ -86,14 +86,14 @@ class YHServiceMoreAlertView: UIView {
orderButton
.
snp
.
makeConstraints
{
make
in
make
.
right
.
equalTo
(
-
20
)
make
.
height
.
equalTo
(
20
)
make
.
width
.
equalTo
(
92
)
make
.
width
.
equalTo
(
124
)
make
.
top
.
equalTo
(
24
)
}
guideButton
=
{
let
button
=
UIButton
(
type
:
.
custom
)
button
.
setImage
(
UIImage
(
named
:
"service_more_guide"
),
for
:
.
normal
)
button
.
setTitle
(
"操作指引"
,
for
:
.
normal
)
button
.
setTitle
(
"
获批
操作指引"
,
for
:
.
normal
)
button
.
setTitleColor
(
UIColor
.
mainTextColor
,
for
:
.
normal
)
button
.
titleLabel
?
.
font
=
UIFont
.
PFSC_R
(
ofSize
:
16
)
button
.
addTarget
(
self
,
action
:
#selector(
guideButtonClick
)
,
for
:
.
touchUpInside
)
...
...
@@ -103,7 +103,7 @@ class YHServiceMoreAlertView: UIView {
guideButton
.
snp
.
makeConstraints
{
make
in
make
.
right
.
equalTo
(
-
20
)
make
.
height
.
equalTo
(
20
)
make
.
width
.
equalTo
(
92
)
make
.
width
.
equalTo
(
124
)
make
.
bottom
.
equalTo
(
-
24
)
}
orderButton
.
iconInLeft
(
spacing
:
8
)
...
...
galaxy/galaxy/Classes/Tools/NetWork/YHAllApiName.swift
View file @
b8c11663
...
...
@@ -521,4 +521,8 @@ class YHAllApiName {
static
let
resignMaterialList
=
"super-app/identity-renewal/renewal-batch-list"
}
struct
ResignCertificate
{
static
let
resignCertificateList
=
"super-app/certificate/list"
static
let
update
=
"super-app/certificate/update"
}
}
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