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
e6c2530c
Commit
e6c2530c
authored
Aug 12, 2024
by
Steven杜宇
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop' of
http://gitlab.galaxy-immi.com/mobile-group/galaxy-iOS
into develop
parents
86972d45
9eca51cf
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
326 additions
and
46 deletions
+326
-46
project.pbxproj
galaxy/galaxy.xcodeproj/project.pbxproj
+16
-0
YHHomeHoldViewPageViewController.swift
...Modules/Home(首页)/C/YHHomeHoldViewPageViewController.swift
+0
-1
YHOfficialApprovalResultVC.swift
...OfficialApprovalBatch/C/YHOfficialApprovalResultVC.swift
+92
-35
YHOfficalLetterListModel.swift
...e/OfficialApprovalBatch/M/YHOfficalLetterListModel.swift
+61
-0
YHOfficailLetterColledtionCell.swift
...icialApprovalBatch/V/YHOfficailLetterColledtionCell.swift
+90
-0
YHOffivialApprovalSuccessView.swift
...ficialApprovalBatch/V/YHOffivialApprovalSuccessView.swift
+28
-2
YHPrincleViewModel.swift
...erService/PrincipleBatch(原则批)/VM/YHPrincleViewModel.swift
+26
-8
Int+Extension.swift
galaxy/galaxy/Classes/Tools/Extention/Int+Extension.swift
+13
-0
No files found.
galaxy/galaxy.xcodeproj/project.pbxproj
View file @
e6c2530c
...
...
@@ -595,6 +595,8 @@
A5DE0D3C2BB9016200976FE1
/* YHEmailInputAlertView.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
A5DE0D3B2BB9016200976FE1
/* YHEmailInputAlertView.swift */
;
};
A5DF3D462BF72BA1003D5F03
/* YHTestViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
A5DF3D452BF72BA0003D5F03
/* YHTestViewController.swift */
;
};
A5E69D512BA304D400411932
/* DIN Alternate Bold.ttf in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
A5E69D502BA304D400411932
/* DIN Alternate Bold.ttf */
;
};
A5EB6C622C675DA20081FB6C
/* YHOfficalLetterListModel.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
A5EB6C612C675DA20081FB6C
/* YHOfficalLetterListModel.swift */
;
};
A5EB6C642C68AD050081FB6C
/* YHOfficailLetterColledtionCell.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
A5EB6C632C68AD050081FB6C
/* YHOfficailLetterColledtionCell.swift */
;
};
A5EE41EF2C21387C005BBA5D
/* YHAiRadarAreaView.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
A5EE41EE2C21387C005BBA5D
/* YHAiRadarAreaView.swift */
;
};
A5EE42002C216C78005BBA5D
/* img_1.png in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
A5EE41FC2C216C78005BBA5D
/* img_1.png */
;
};
A5EE42012C216C78005BBA5D
/* img_0.png in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
A5EE41FD2C216C78005BBA5D
/* img_0.png */
;
};
...
...
@@ -1254,6 +1256,8 @@
A5DE0D3B2BB9016200976FE1
/* YHEmailInputAlertView.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHEmailInputAlertView.swift
;
sourceTree
=
"<group>"
;
};
A5DF3D452BF72BA0003D5F03
/* YHTestViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHTestViewController.swift
;
sourceTree
=
"<group>"
;
};
A5E69D502BA304D400411932
/* DIN Alternate Bold.ttf */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
file
;
path
=
"DIN Alternate Bold.ttf"
;
sourceTree
=
"<group>"
;
};
A5EB6C612C675DA20081FB6C
/* YHOfficalLetterListModel.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHOfficalLetterListModel.swift
;
sourceTree
=
"<group>"
;
};
A5EB6C632C68AD050081FB6C
/* YHOfficailLetterColledtionCell.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHOfficailLetterColledtionCell.swift
;
sourceTree
=
"<group>"
;
};
A5EE41EE2C21387C005BBA5D
/* YHAiRadarAreaView.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHAiRadarAreaView.swift
;
sourceTree
=
"<group>"
;
};
A5EE41FC2C216C78005BBA5D
/* img_1.png */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
image.png
;
path
=
img_1.png
;
sourceTree
=
"<group>"
;
};
A5EE41FD2C216C78005BBA5D
/* img_0.png */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
image.png
;
path
=
img_0.png
;
sourceTree
=
"<group>"
;
};
...
...
@@ -2365,6 +2369,7 @@
047AA4022C65C1AC009C4554
/* OfficialApprovalBatch */
=
{
isa
=
PBXGroup
;
children
=
(
A5EB6C602C675B1D0081FB6C
/* M */
,
047AA4032C65C1AC009C4554
/* C */
,
047AA4052C65C1AC009C4554
/* V */
,
);
...
...
@@ -2385,6 +2390,7 @@
047AA4062C65C1AC009C4554
/* YHOffivialApprovalSuccessView.swift */
,
047AA4072C65C1AC009C4554
/* YHOffivialApprovalGuildLineCheckView.swift */
,
047AA4082C65C1AC009C4554
/* YHOffivialApprovalSuccessCheckView.swift */
,
A5EB6C632C68AD050081FB6C
/* YHOfficailLetterColledtionCell.swift */
,
);
path
=
V
;
sourceTree
=
"<group>"
;
...
...
@@ -3350,6 +3356,14 @@
path
=
Font
;
sourceTree
=
"<group>"
;
};
A5EB6C602C675B1D0081FB6C
/* M */
=
{
isa
=
PBXGroup
;
children
=
(
A5EB6C612C675DA20081FB6C
/* YHOfficalLetterListModel.swift */
,
);
path
=
M
;
sourceTree
=
"<group>"
;
};
A5EE41FB2C216C78005BBA5D
/* radar */
=
{
isa
=
PBXGroup
;
children
=
(
...
...
@@ -3637,6 +3651,7 @@
A5ACE9362B4564F7002C94D2
/* YHNetworkStatusManager.swift in Sources */
,
048787D52BCE880B0036E221
/* YHServiceOrderListViewController.swift in Sources */
,
A5D0012A2BABC84A001F003C
/* YHFileListHeaerView.swift in Sources */
,
A5EB6C622C675DA20081FB6C
/* YHOfficalLetterListModel.swift in Sources */
,
044414052BC3B9DE00784A14
/* YHServiceTableFootView.swift in Sources */
,
045EEEEF2B9F171A0022A143
/* YHCertificateInfoController.swift in Sources */
,
045EEEDA2B9F171A0022A143
/* YHEducationInfoListVC.swift in Sources */
,
...
...
@@ -3759,6 +3774,7 @@
04F5F8642C19460D004A463C
/* YHHKLifeViewController.swift in Sources */
,
A59B43CF2C4B5AD100B28379
/* YHShareViewOnTablebarView.swift in Sources */
,
A5ACE94A2B4564F7002C94D2
/* YHHUDProgressView.swift in Sources */
,
A5EB6C642C68AD050081FB6C
/* YHOfficailLetterColledtionCell.swift in Sources */
,
04A271232BABFF3200652B1B
/* YHCertificateUploadTypeCell.swift in Sources */
,
04B360F32C636525001EB053
/* YHPrincipleWaitResultViewController.swift in Sources */
,
A582B2412BB95998009D098C
/* YHHKPlanTipsCell.swift in Sources */
,
...
...
galaxy/galaxy/Classes/Modules/Home(首页)/C/YHHomeHoldViewPageViewController.swift
View file @
e6c2530c
...
...
@@ -148,7 +148,6 @@ extension YHHomeHoldViewPageViewController {
return
}
model
.
type
=
2
//for test hjl
if
model
.
type
==
1
{
//正式弹窗
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/CustomerService/OfficialApprovalBatch/C/YHOfficialApprovalResultVC.swift
View file @
e6c2530c
...
...
@@ -9,12 +9,14 @@
import
UIKit
import
FSPagerView
import
AttributedString
/*
正式批 结果页
*/
class
YHOfficialApprovalResultVC
:
YHBaseViewController
{
var
contentView
:
YHOffivialApprovalSuccessView
!
//背景
lazy
var
bkgImageV
:
UIImageView
=
{
...
...
@@ -43,6 +45,13 @@ class YHOfficialApprovalResultVC: YHBaseViewController {
return
imageV
}()
//文档内容
lazy
var
contentView
:
YHOffivialApprovalSuccessView
=
{
let
view
=
YHOffivialApprovalSuccessView
()
view
.
isHidden
=
true
return
view
}()
//pen
lazy
var
penImageV
:
UIImageView
=
{
...
...
@@ -87,7 +96,7 @@ class YHOfficialApprovalResultVC: YHBaseViewController {
label
.
textColor
=
UIColor
(
hex
:
0xffffff
,
alpha
:
0.6
)
label
.
textAlignment
=
.
center
label
.
font
=
UIFont
.
PFSC_R
(
ofSize
:
12
)
label
.
text
=
"左滑查看其他获批信,当前
1/5
"
label
.
text
=
"左滑查看其他获批信,当前"
return
label
}()
...
...
@@ -99,9 +108,11 @@ class YHOfficialApprovalResultVC: YHBaseViewController {
view
.
dataSource
=
self
view
.
bounces
=
false
view
.
isInfinite
=
false
// view.automaticSlidingInterval = bannerSildingInterval
view
.
register
(
YHHomeBannerCollectionViewCell
.
self
,
forCellWithReuseIdentifier
:
"cell"
)
view
.
removesInfiniteLoopForSingleItem
=
true
view
.
alwaysBounceHorizontal
=
true
view
.
register
(
YHOfficailLetterColledtionCell
.
self
,
forCellWithReuseIdentifier
:
YHOfficailLetterColledtionCell
.
cellReuseIdentifier
)
view
.
itemSize
=
CGSizeMake
(
268.0
,
148
)
view
.
interitemSpacing
=
20
return
view
}()
...
...
@@ -110,20 +121,17 @@ class YHOfficialApprovalResultVC: YHBaseViewController {
return
view
}()
var
dataArr
:
[
YH
Bann
erModel
]
=
[]
{
var
dataArr
:
[
YH
OfficalLett
erModel
]
=
[]
{
didSet
{
// 设置为0是先停掉自动滑动定时器
// bannerView.automaticSlidingInterval = 0
self
.
indicatorView
.
indicatorItems
=
self
.
dataArr
.
count
bannerView
.
reloadData
()
// 指定指示器为第一个
self
.
indicatorView
.
curIndicatorIndex
=
0
// 指定显示图片为第一个
bannerView
.
selectItem
(
at
:
0
,
animated
:
false
)
// 开启定时器开始滚动
// bannerView.automaticSlidingInterval = bannerSildingInterval
bannerView
.
removesInfiniteLoopForSingleItem
=
true
bannerView
.
alwaysBounceHorizontal
=
true
let
aa
:
ASAttributedString
=
.
init
(
"左滑查看其他获批信,当前 "
,
.
font
(
UIFont
.
PFSC_R
(
ofSize
:
12
)),
.
foreground
(
UIColor
(
hex
:
0xffffff
,
alpha
:
0.6
)))
let
bb
:
ASAttributedString
=
.
init
(
"1/
\(
self
.
dataArr
.
count
)
"
,
.
font
(
UIFont
.
PFSC_R
(
ofSize
:
12
)),
.
foreground
(
UIColor
(
hex
:
0xffffff
,
alpha
:
1.0
)))
tipsLabel
.
attributed
.
text
=
aa
+
bb
}
}
...
...
@@ -137,22 +145,59 @@ class YHOfficialApprovalResultVC: YHBaseViewController {
var
showGuildViewFlag
:
Bool
=
false
lazy
var
previewFileTool
:
YHFilePreviewTool
=
{
let
tool
=
YHFilePreviewTool
(
targetVC
:
UIViewController
.
current
)
return
tool
}()
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
setupUI
()
getApprovalLetter
()
getAlertStatus
()
getOfficalGuildCheckStatus
()
if
showGuildViewFlag
{
clickRightItemBtn
()
}
getOfficalGuildCheckStatus
()
}
}
private
extension
YHOfficialApprovalResultVC
{
func
updateMainApplicationInfo
()
{
guard
let
model
=
princleVM
.
lettersModel
else
{
return
}
contentView
.
dataModel
=
model
}
func
updateLetterListInfo
()
{
self
.
dataArr
=
self
.
princleVM
.
lettersModel
?
.
list
??
[]
}
//获取正式批信件列表
func
getApprovalLetter
()
{
if
let
orderID
=
UserDefaults
.
standard
.
value
(
forKey
:
"orderIdForPreview"
)
{
let
param
=
[
"orderId"
:
orderID
,
"searchType"
:
1
]
princleVM
.
getApprovalLetter
(
param
:
param
)
{
success
,
error
in
if
success
{
//1、更新主申请人信息
self
.
contentView
.
isHidden
=
false
self
.
updateMainApplicationInfo
()
//2、更新letter信息
self
.
updateLetterListInfo
()
}
else
{
YHHUD
.
flash
(
message
:
"数据获取失败"
)
}
}
}
else
{
YHHUD
.
flash
(
message
:
"订单号为空"
)
}
}
//上报弹窗状态
func
postAlertStatus
(
_
type
:
Int
)
{
...
...
@@ -167,7 +212,9 @@ private extension YHOfficialApprovalResultVC {
func
getOfficalGuildCheckStatus
()
{
princleVM
.
getOfficialCheckStatus
{
success
,
error
in
if
success
{
if
self
.
showGuildViewFlag
{
self
.
clickRightItemBtn
()
}
}
}
}
...
...
@@ -241,11 +288,6 @@ private extension YHOfficialApprovalResultVC {
}
docImageV
.
layer
.
zPosition
=
1
contentView
=
{
let
view
=
YHOffivialApprovalSuccessView
()
view
.
updataView
(
data
:
[
"祝贺您和您的家人申请的"
,
"【优秀人才入境计划】"
,
"2023年10月1日正式获批"
,
"这意味着,您领取香港居民身份证"
,
"仅有一步之遥!!"
])
return
view
}()
docImageV
.
addSubview
(
contentView
)
contentView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
60
)
...
...
@@ -319,12 +361,9 @@ private extension YHOfficialApprovalResultVC {
// let transform = CGAffineTransform(scaleX: 0.6, y: 0.75)
bannerView
.
transformer
=
FSPagerViewTransformer
(
type
:
.
linear
)
//
bannerView.transformer = FSPagerViewTransformer(type:.linear)
// bannerView.itemSize = CGSize(width: 268, height: 148).applying(transform)
self
.
dataArr
=
[
YHBannerModel
(),
YHBannerModel
(),
YHBannerModel
()]
//for test hjl
bannerView
.
reloadData
()
// bannerView.reloadData()
}
private
func
rotatedTransform
()
->
CGAffineTransform
{
...
...
@@ -370,7 +409,7 @@ private extension YHOfficialApprovalResultVC {
}
// MARK: - FSPagerView Delegate
extension
YHOfficialApprovalResultVC
:
FSPagerViewDataSource
,
FSPagerViewDelegate
{
public
func
numberOfItems
(
in
pagerView
:
FSPagerView
)
->
Int
{
...
...
@@ -378,19 +417,29 @@ extension YHOfficialApprovalResultVC: FSPagerViewDataSource, FSPagerViewDelegate
}
public
func
pagerView
(
_
pagerView
:
FSPagerView
,
cellForItemAt
index
:
Int
)
->
FSPagerViewCell
{
let
cell
=
pagerView
.
dequeueReusableCell
(
withReuseIdentifier
:
"cell"
,
at
:
index
)
as!
YHHomeBannerCollectionView
Cell
let
cell
=
pagerView
.
dequeueReusableCell
(
withReuseIdentifier
:
YHOfficailLetterColledtionCell
.
cellReuseIdentifier
,
at
:
index
)
as!
YHOfficailLetterColledtion
Cell
if
index
<
dataArr
.
count
{
// cell.dataModel = dataArr[index]
// cell.contentView.backgroundColor = .red//for test hjl
cell
.
dataModel
=
dataArr
[
index
]
}
return
cell
}
// MARK: - FSPagerView Delegate
func
pagerView
(
_
pagerView
:
FSPagerView
,
didSelectItemAt
index
:
Int
)
{
pagerView
.
deselectItem
(
at
:
index
,
animated
:
true
)
pagerView
.
scrollToItem
(
at
:
index
,
animated
:
true
)
if
index
>=
dataArr
.
count
{
if
index
<
dataArr
.
count
{
let
model
=
self
.
dataArr
[
index
]
self
.
previewFileTool
.
openXLSXRemoteFile
(
urlString
:
model
.
file_url_transformed
,
fileName
:
""
)
if
!
model
.
localShowFlag
{
DispatchQueue
.
main
.
asyncAfter
(
deadline
:
.
now
()
+
1
)
{
model
.
localShowFlag
=
true
UserDefaults
.
standard
.
setValue
(
"localShowFlag"
,
forKey
:
String
(
model
.
id
))
UserDefaults
.
standard
.
synchronize
()
self
.
bannerView
.
reloadData
()
}
}
return
}
...
...
@@ -398,9 +447,17 @@ extension YHOfficialApprovalResultVC: FSPagerViewDataSource, FSPagerViewDelegate
func
pagerViewWillEndDragging
(
_
pagerView
:
FSPagerView
,
targetIndex
:
Int
)
{
self
.
indicatorView
.
curIndicatorIndex
=
targetIndex
let
aa
:
ASAttributedString
=
.
init
(
"左滑查看其他获批信,当前 "
,
.
font
(
UIFont
.
PFSC_R
(
ofSize
:
12
)),
.
foreground
(
UIColor
(
hex
:
0xffffff
,
alpha
:
0.6
)))
let
bb
:
ASAttributedString
=
.
init
(
"
\(
targetIndex
+
1
)
/
\(
self
.
dataArr
.
count
)
"
,
.
font
(
UIFont
.
PFSC_R
(
ofSize
:
12
)),
.
foreground
(
UIColor
(
hex
:
0xffffff
,
alpha
:
1.0
)))
tipsLabel
.
attributed
.
text
=
aa
+
bb
}
func
pagerViewDidEndScrollAnimation
(
_
pagerView
:
FSPagerView
)
{
self
.
indicatorView
.
curIndicatorIndex
=
pagerView
.
currentIndex
let
aa
:
ASAttributedString
=
.
init
(
"左滑查看其他获批信,当前 "
,
.
font
(
UIFont
.
PFSC_R
(
ofSize
:
12
)),
.
foreground
(
UIColor
(
hex
:
0xffffff
,
alpha
:
0.6
)))
let
bb
:
ASAttributedString
=
.
init
(
"
\(
pagerView
.
currentIndex
+
1
)
/
\(
self
.
dataArr
.
count
)
"
,
.
font
(
UIFont
.
PFSC_R
(
ofSize
:
12
)),
.
foreground
(
UIColor
(
hex
:
0xffffff
,
alpha
:
1.0
)))
tipsLabel
.
attributed
.
text
=
aa
+
bb
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/CustomerService/OfficialApprovalBatch/M/YHOfficalLetterListModel.swift
0 → 100644
View file @
e6c2530c
//
// YHOfficalLetterListModel.swift
// galaxy
//
// Created by davidhuangA on 2024/8/10.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
import
SmartCodable
class
YHOfficalLetterModel
:
SmartCodable
{
var
id
:
Int
=
-
1
//申请记录的唯一标识符
var
applicant
:
String
=
""
//申请人的姓名
var
approval_date
:
String
=
""
//申请人姓名
var
applicant_approval_date
:
String
=
""
//申请的日期和时间
var
archivist_id
:
Int
=
-
1
//来自相关记录的数据ID
var
data_from_type
:
Int
=
-
1
//数据来源的类型
var
deleted_at
:
String
=
""
//申请记录被删除的时间(可选)
var
e_visa_cn
:
String
=
""
//申请人姓名
var
email_received_at
:
String
=
""
//邮件接收时间
var
file_no
:
String
=
""
//文件编号
var
file_num
:
String
=
""
//文件号(可能与file_no重复,用于不同场景)
var
file_type
:
Int
=
-
1
//文件类型
var
file_url_transformed
:
String
=
""
//转换后的文件URL
var
from_order_id
:
Int
=
-
1
//来源订单ID
var
from_relation
:
Int
=
-
1
//与申请人关系的代码
var
from_relation_cn
:
String
=
""
//与申请人关系的中文描述
var
handler
:
String
=
""
//处理申请的人员
var
is_check
:
Int
=
-
1
//是否进行了检查
var
name
:
String
=
""
//申请人的姓名
var
pay_deadline
:
String
=
""
//支付截止日期
var
read_status
:
Int
=
-
1
//阅读状态(例如:未读,已读)
var
remark
:
String
=
""
//备注信息
var
remark_archivist
:
[
String
]
=
[]
//备注信息,可包含多个档案管理员的备注
var
result
:
Int
=
-
1
//申请结果代码
var
result_at
:
String
=
""
//申请结果的时间
var
result_cn
:
String
=
""
//申请结果的中文描述
var
type
:
String
=
""
//申请的类型(例如:旅游,商务)
var
updated_at
:
String
=
""
//申请记录最后更新的时间
var
url
:
String
=
""
//文件的URL
var
localShowFlag
:
Bool
=
false
//信件是否点击打开 本地变量
required
init
()
{
}
}
class
YHOfficalLetterListModel
:
SmartCodable
{
var
order_id
:
Int
=
-
1
//订单id
var
applicant_id
:
Int
=
-
1
//申请人id
var
applicant_name
:
String
=
""
//申请人姓名
var
applicant_approval_date
:
String
=
""
//申请人通过时间
var
applicant_sex
:
Int
=
-
1
//申请人性别
var
days
:
Int
=
-
1
//天数
var
list
:
[
YHOfficalLetterModel
]
=
[]
required
init
()
{
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/CustomerService/OfficialApprovalBatch/V/YHOfficailLetterColledtionCell.swift
0 → 100644
View file @
e6c2530c
//
// YHOfficailLetterColledtionCell.swift
// galaxy
//
// Created by davidhuangA on 2024/8/11.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
import
FSPagerView
class
YHOfficailLetterColledtionCell
:
FSPagerViewCell
{
static
let
cellReuseIdentifier
=
"YHOfficailLetterColledtionCell"
var
dataModel
:
YHOfficalLetterModel
?
{
didSet
{
updateUI
()
}
}
lazy
var
bkgImageView
:
UIImageView
=
{
let
imageV
=
UIImageView
(
image
:
UIImage
(
named
:
"official_approval_result_envelope_not_read"
))
imageV
.
contentMode
=
.
scaleAspectFill
return
imageV
}()
lazy
var
nameLable
:
UILabel
=
{
let
label
=
UILabel
()
label
.
text
=
""
label
.
textColor
=
UIColor
(
hex
:
0xA96B42
,
alpha
:
1.0
)
label
.
font
=
UIFont
.
PFSC_M
(
ofSize
:
15
)
return
label
}()
required
init
?(
coder
:
NSCoder
)
{
super
.
init
(
coder
:
coder
)
}
override
init
(
frame
:
CGRect
)
{
super
.
init
(
frame
:
frame
)
contentView
.
removeSubviews
()
setupUI
()
}
}
private
extension
YHOfficailLetterColledtionCell
{
func
setupUI
()
{
backgroundColor
=
.
clear
contentView
.
backgroundColor
=
.
clear
clipsToBounds
=
true
contentView
.
layer
.
shadowColor
=
UIColor
.
clear
.
cgColor
contentView
.
layer
.
shadowRadius
=
0
contentView
.
layer
.
shadowOpacity
=
0
contentView
.
layer
.
shadowOffset
=
.
zero
contentView
.
addSubview
(
bkgImageView
)
bkgImageView
.
snp
.
makeConstraints
{
make
in
make
.
edges
.
equalToSuperview
()
}
contentView
.
addSubview
(
nameLable
)
nameLable
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalToSuperview
()
.
offset
(
kMargin
+
12
)
make
.
left
.
equalToSuperview
()
.
offset
(
60
)
make
.
height
.
equalTo
(
21
)
}
}
func
updateUI
()
{
guard
let
model
=
dataModel
else
{
return
}
nameLable
.
text
=
model
.
applicant
if
!
model
.
localShowFlag
{
//未读
bkgImageView
.
image
=
UIImage
(
named
:
"official_approval_result_envelope_not_read"
)
}
else
{
//已读
bkgImageView
.
image
=
UIImage
(
named
:
"official_approval_result_envelope_readed"
)
}
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/CustomerService/OfficialApprovalBatch/V/YHOffivialApprovalSuccessView.swift
View file @
e6c2530c
...
...
@@ -9,8 +9,14 @@
import
UIKit
class
YHOffivialApprovalSuccessView
:
UIView
{
var
dataModel
:
YHOfficalLetterListModel
?
{
didSet
{
updateUI
()
}
}
var
titleLabel
:
UILabel
!
private
var
titleLabel
:
UILabel
!
private
var
arrViews
:
[
UIView
]
=
[]
...
...
@@ -28,7 +34,7 @@ class YHOffivialApprovalSuccessView: UIView {
let
label
=
UILabel
()
label
.
font
=
UIFont
.
PFSC_M
(
ofSize
:
30
)
label
.
textColor
=
UIColor
(
hex
:
0x881000
)
label
.
text
=
"恭喜
侯先生!
"
label
.
text
=
"恭喜"
return
label
}()
addSubview
(
titleLabel
)
...
...
@@ -80,3 +86,23 @@ class YHOffivialApprovalSuccessView: UIView {
}
}
}
private
extension
YHOffivialApprovalSuccessView
{
func
updateUI
()
{
guard
let
model
=
dataModel
else
{
return
}
titleLabel
.
text
=
"恭喜 "
+
model
.
applicant_name
+
model
.
applicant_sex
.
gentlemanDescribe
()
+
"!"
if
model
.
applicant_approval_date
.
count
>=
"2023年10月1日"
.
count
{
var
tmp
=
model
.
applicant_approval_date
.
slice
(
from
:
0
,
length
:
"2023年10月1日"
.
count
)
let
arr
=
tmp
.
split
(
separator
:
"-"
)
if
arr
.
count
==
3
{
tmp
=
arr
[
0
]
+
"年"
+
arr
[
1
]
+
"月"
+
arr
[
2
]
+
"日"
+
"正式获批"
let
fourItems
=
[
"祝贺您和您的家人申请的"
,
"【优秀人才入境计划】"
,
tmp
,
"这意味着,您领取香港居民身份证"
,
"仅有一步之遥!!"
]
updataView
(
data
:
fourItems
)
}
}
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/CustomerService/PrincipleBatch(原则批)/VM/YHPrincleViewModel.swift
View file @
e6c2530c
...
...
@@ -22,6 +22,9 @@ class YHPrincleViewModel: YHBaseViewModel {
//正式批 操作指引是否确认
var
isOfficialGuildCheckFlag
:
Bool
=
false
//正式批 信件列表
var
lettersModel
:
YHOfficalLetterListModel
?
}
...
...
@@ -29,7 +32,6 @@ extension YHPrincleViewModel {
//获取获批信列表
func
getApprovalLetter
(
param
:[
String
:
Any
],
callback
:((
_
success
:
Bool
,
_
error
:
YHErrorModel
?)
->
())?)
{
let
param
=
[
"IdentifyGetHKAcceptOperateGuid"
:
2
]
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
YHAllApiName
.
Principle
.
getApprovalLetterApi
let
_
=
YHNetRequest
.
getRequest
(
url
:
strUrl
,
params
:
param
)
{
[
weak
self
]
json
,
code
in
//1. json字符串 转 对象
...
...
@@ -37,13 +39,29 @@ extension YHPrincleViewModel {
printLog
(
"model 是 ==>
\(
json
)
"
)
if
json
.
code
==
200
{
// guard let resultModel = YHPrincipleAlertStatusModel.deserialize(dict: dic as? [AnyHashable : Any]) else {
// let err = YHErrorModel(errorCode: YHErrorCode.dictParseError.rawValue, errorMsg: YHErrorCode.dictParseError.description())
// callback?(false, err)
// return
// }
// self.alertStatusModel = resultModel
// callback?(true, nil)
let
dic
=
json
.
data
guard
let
resultModel
=
YHOfficalLetterListModel
.
deserialize
(
dict
:
dic
as?
[
AnyHashable
:
Any
])
else
{
let
err
=
YHErrorModel
(
errorCode
:
YHErrorCode
.
dictParseError
.
rawValue
,
errorMsg
:
YHErrorCode
.
dictParseError
.
description
())
callback
?(
false
,
err
)
return
}
var
arrList
:
[
YHOfficalLetterModel
]
=
[]
for
(
index
,
item
)
in
resultModel
.
list
.
enumerated
()
{
//
let
oldString
=
UserDefaults
.
standard
.
value
(
forKey
:
String
(
item
.
id
))
if
let
tempStr
=
oldString
as?
String
,
tempStr
.
isEmpty
==
false
{
item
.
localShowFlag
=
true
}
else
{
item
.
localShowFlag
=
false
}
arrList
.
append
(
item
)
}
resultModel
.
list
=
arrList
self
.
lettersModel
=
resultModel
callback
?(
true
,
nil
)
}
else
{
let
err
=
YHErrorModel
(
errorCode
:
Int32
(
json
.
code
),
errorMsg
:
json
.
msg
.
isEmpty
?
""
:
json
.
msg
)
...
...
galaxy/galaxy/Classes/Tools/Extention/Int+Extension.swift
View file @
e6c2530c
...
...
@@ -21,4 +21,17 @@ extension Int {
return
""
}
}
//先生 女士
public
func
gentlemanDescribe
()
->
String
{
//0未知 1男 2女
switch
self
{
case
1
:
return
"先生"
case
2
:
return
"女士"
default
:
return
""
}
}
}
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