Commit bbf2a1b8 authored by Steven杜宇's avatar Steven杜宇

// 消息跳转

parent 858431e8
......@@ -319,8 +319,9 @@ extension YHHomeHoldViewPageViewController {
NotificationCenter.default.addObserver(self, selector: #selector(didRefreshMessageCount), name: YhConstant.YhNotification.didQiYuUnReadMsgCountChangeNotification, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(didJumpToNewsTab), name: YhConstant.YhNotification.didJumpToHomePageNewsTabNotification, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(didJumpToLifeTab), name: YhConstant.YhNotification.didJumpToHomePageLifeTabNotification, object: nil)
for i in 0..<arrItemTitles.count {
if i == 0 {
......@@ -371,10 +372,18 @@ extension YHHomeHoldViewPageViewController {
}
// 跳转到资讯tab
@objc func didJumpToNewsTab() {
jumpToItemIndex(itemIndex: 3)
}
@objc func didJumpToLifeTab() {
jumpToItemIndex(itemIndex: 2)
}
func jumpToItemIndex(itemIndex : Int) {
self.segmentedView.selectItemAt(index: itemIndex)
self.listContainerView.didClickSelectedItem(at: itemIndex)
}
}
......
......@@ -25,6 +25,7 @@ class YHMessageDetailListVC: YHBaseViewController {
}()
let principleViewModel: YHPrincleViewModel = YHPrincleViewModel()
let serviceCenterViewModel = YHServiceCenterViewModel()
lazy var navBar: YHCustomNavigationBar = {
......@@ -226,92 +227,32 @@ extension YHMessageDetailListVC: UITableViewDelegate, UITableViewDataSource {
}
}
if self.type == YHMessageType.infoFill.rawValue { // 资料填写
if let orderId = Int(item.orderId), orderId > 0 {
let vc = YHInformationPerfectListVC()
vc.orderId = orderId
navigationController?.pushViewController(vc)
}
if item.redirectPage == "service_tab" { // 服务tab页
UIViewController.current?.navigationController?.popToRootViewController(animated: false)
goTabBarBy(tabType: .service)
} else if self.type == YHMessageType.cerUpload.rawValue { // 证件上传
if let orderId = Int(item.orderId), orderId > 0 {
let vc = YHMineCertificateEntryViewController()
vc.orderId = orderId
navigationController?.pushViewController(vc)
}
} else if item.redirectPage == "life_tab" { // 首页-生活tab
UIViewController.current?.navigationController?.popToRootViewController(animated: false)
goTabBarBy(tabType: .home)
NotificationCenter.default.post(name: YhConstant.YhNotification.didJumpToHomePageLifeTabNotification, object: nil)
} else if self.type == YHMessageType.draft.rawValue { // 文书定稿
if let orderId = Int(item.orderId), orderId > 0 {
let vc = YHMyDocumentsListViewController()
vc.orderId = orderId
navigationController?.pushViewController(vc)
}
} else if item.redirectPage == "news_tab" { // 首页-资讯tab
UIViewController.current?.navigationController?.popToRootViewController(animated: false)
goTabBarBy(tabType: .home)
NotificationCenter.default.post(name: YhConstant.YhNotification.didJumpToHomePageNewsTabNotification, object: nil)
} else if self.type == YHMessageType.fileSign.rawValue { // 文件签字
if let orderId = Int(item.orderId), orderId > 0 {
let vc = YHMySignatureListViewController()
vc.orderId = orderId
navigationController?.pushViewController(vc)
}
} else {
} else if self.type == YHMessageType.infoSubmit.rawValue { // 资料递交
if !item.url.isEmpty {
if let url = URL(string: item.url) {
let safariViewController = SFSafariViewController(url: url)
safariViewController.dismissButtonStyle = .close
safariViewController.modalPresentationStyle = .fullScreen
present(safariViewController, animated: true, completion: nil)
} else {
YHHUD.flash(message: "url无效")
if let orderId = Int(item.orderId) {
self.requestOrderStatus(orderId: orderId) {
status in
// status 1 申请阶段 2办证阶段 3续期阶段
self.handleRouter(msgDetailModel: item, status: status) {
// 没有满足相应跳转条件默认跳转到服务页
goTabBarBy(tabType: .service)
}
}
return
}
self.navigationController?.popToRootViewController(animated: false)
goTabBarBy(tabType: .service)
} else if (self.type == YHMessageType.identityApproved.rawValue ||
self.type == YHMessageType.goToHK.rawValue)
{ // 身份获批 或 赴港办证
let orderId = Int(item.orderId) ?? 0
if item.redirectPage == "add_dependent" { // 新增受养人
let vc = YHAddAdoptersViewController()
vc.orderId = orderId
navigationController?.pushViewController(vc)
} else if item.redirectPage == "principal_approval_success" { // 原则批获批成功
let vc = YHPrincipleApprovedWaitSubmitVC()
vc.orderId = orderId
navigationController?.pushViewController(vc)
} else if item.redirectPage == "pay_electronic_visa" { // 电子签证缴费
let vc = YHVisaPaymentVC()
vc.orderID = orderId
navigationController?.pushViewController(vc)
} else if item.redirectPage == "prepare_travel_certificate" { // 旅行证件准备
let vc = YHTravelDocsPreparationListViewController()
vc.orderId = orderId
navigationController?.pushViewController(vc)
} else if item.redirectPage == "upload_pass_certificate" { // 上传过关证件
let vc = YHUploadCertificateVC()
vc.orderId = orderId
navigationController?.pushViewController(vc)
} else if item.redirectPage == "appoint_for_id_card" { // 赴港办证预约
let vc = YHCertificateAppointViewController()
vc.orderId = orderId
navigationController?.pushViewController(vc)
} else { // 其余条件进入服务页
self.navigationController?.popToRootViewController(animated: false)
goTabBarBy(tabType: .service)
}
} else if self.type == YHMessageType.renewal.rawValue { // 身份续签
}
}
}
......@@ -362,5 +303,182 @@ extension YHMessageDetailListVC: UITableViewDelegate, UITableViewDataSource {
}
printLog("visiblemsgIdSet:/n \(visibleUnreadMsgIdSet)")
}
func handleRouter(msgDetailModel:YHDetailMessageModel, status: Int, defaultRouterBlock:(()->())?) {
// status 1 申请阶段 2办证阶段 3续期阶段
if status == 1 { // 申请阶段
if self.type == YHMessageType.infoSubmit.rawValue { // 资料递交
if !msgDetailModel.url.isEmpty {
if let url = URL(string: msgDetailModel.url) {
let safariViewController = SFSafariViewController(url: url)
safariViewController.dismissButtonStyle = .close
safariViewController.modalPresentationStyle = .fullScreen
present(safariViewController, animated: true, completion: nil)
} else {
YHHUD.flash(message: "url无效")
}
return
}
}
if msgDetailModel.redirectPage == "my_info" { // 我的信息
if let orderId = Int(msgDetailModel.orderId) {
let vc = YHInformationPerfectListVC()
vc.orderId = orderId
navigationController?.pushViewController(vc)
}
} else if msgDetailModel.redirectPage == "my_certificate" { // 我的证件
if let orderId = Int(msgDetailModel.orderId) {
let vc = YHMineCertificateEntryViewController()
vc.orderId = orderId
navigationController?.pushViewController(vc)
}
} else if msgDetailModel.redirectPage == "my_score" { // 我的评分
if let orderId = Int(msgDetailModel.orderId) {
let vc = YHScoreDetailViewController()
vc.orderId = orderId
navigationController?.pushViewController(vc)
}
} else if msgDetailModel.redirectPage == "my_plan" { // 我的方案
let vc = YHMineSchemeViewController()
navigationController?.pushViewController(vc)
} else if msgDetailModel.redirectPage == "my_document" { // 我的文书
if let orderId = Int(msgDetailModel.orderId) {
let vc = YHMyDocumentsListViewController()
vc.orderId = orderId
navigationController?.pushViewController(vc)
}
} else if msgDetailModel.redirectPage == "my_signature" { // 我的签字
if let orderId = Int(msgDetailModel.orderId) {
let vc = YHMySignatureListViewController()
vc.orderId = orderId
navigationController?.pushViewController(vc)
}
} else {
defaultRouterBlock?()
}
return
}
// 非申请阶段
if msgDetailModel.redirectPage == "approve_result" { // 港府获批结果(正式批)
let vc = YHOfficialApprovalResultVC()
navigationController?.pushViewController(vc)
} else if msgDetailModel.redirectPage == "family_info_confirm" { // 家庭信息确认
if let orderId = Int(msgDetailModel.orderId) {
let vc = YHFamilyInfoConfirmViewController()
vc.orderId = orderId
navigationController?.pushViewController(vc)
}
} else if msgDetailModel.redirectPage == "add_dependent" { // 新增受养人
if let orderId = Int(msgDetailModel.orderId) {
let vc = YHAddAdoptersViewController()
vc.orderId = orderId
navigationController?.pushViewController(vc)
}
} else if msgDetailModel.redirectPage == "appoint_for_id_card" { // 赴港办证预约
if let orderId = Int(msgDetailModel.orderId) {
let vc = YHCertificateAppointViewController()
vc.orderId = orderId
navigationController?.pushViewController(vc)
}
} else if msgDetailModel.redirectPage == "pay_electronic_visa" { // 电子签证缴费
if let orderId = Int(msgDetailModel.orderId) {
let vc = YHVisaPaymentVC()
vc.orderID = orderId
navigationController?.pushViewController(vc)
}
} else if msgDetailModel.redirectPage == "travel_guide" { // 赴港行程指引
if let orderId = Int(msgDetailModel.orderId), var token = YHLoginManager.shared.userModel?.token {
var url = YHBaseUrlManager.shared.curH5URL() + "superAppBridge.html#/tohkList"
let addtionString = String.randomAlphaNumericStringT(6)//随机6个字母或者数字
let indexToInsert = token.index(token.startIndex, offsetBy: 6) //插入位置,这里以第六个字符后面为例
token.insert(contentsOf: addtionString, at: indexToInsert)
url = url + "?paramO=\(orderId)" + "&param=" + token
url = url + "&app_platform=ios" + "&app_version=" + UIDevice.appVersion()
printLog("UURL: \(url)")
let vc = YHH5WebViewVC()
vc.url = url
vc.isFullScreenFlag = false
vc.navTitle = "赴港行程指引"
vc.isNeedRefreshDataFlag = true
UIViewController.current?.navigationController?.pushViewController(vc)
}
} else if msgDetailModel.redirectPage == "prepare_travel_certificate" { // 旅行证件准备
if let orderId = Int(msgDetailModel.orderId) {
let vc = YHTravelDocsPreparationListViewController()
vc.orderId = orderId
navigationController?.pushViewController(vc)
}
} else if msgDetailModel.redirectPage == "upload_pass_certificate" { // 上传过关证件
if let orderId = Int(msgDetailModel.orderId) {
let vc = YHUploadCertificateVC()
vc.orderId = orderId
navigationController?.pushViewController(vc)
}
} else if msgDetailModel.redirectPage == "principal_approval_success" { // 原则批获批成功
if let orderId = Int(msgDetailModel.orderId) {
let vc = YHPrincipleApprovedWaitSubmitVC()
vc.orderId = orderId
navigationController?.pushViewController(vc)
}
} else if msgDetailModel.redirectPage == "renewal_guide" { // 身份续签指引 H5
} else if msgDetailModel.redirectPage == "renewal_plan" { // 我的续签方案 H5
} else if msgDetailModel.redirectPage == "stay_in_hk_record" { // 添加在港记录
} else if msgDetailModel.redirectPage == "renewal_certificate" { // 续签证件管理
if let orderId = Int(msgDetailModel.orderId) {
let vc = YHResignCertificateListViewController()
vc.orderId = orderId
UIViewController.current?.navigationController?.pushViewController(vc)
}
} else if msgDetailModel.redirectPage == "renewal_material" { // 续签资料管理
if let orderId = Int(msgDetailModel.orderId) {
let vc = YHResinMaterialManageContainerVC()
vc.orderId = orderId
navigationController?.pushViewController(vc)
}
} else if msgDetailModel.redirectPage == "renewal_document" { // 续签文书管理
let vc = YHResignDocumentManagementVC()
navigationController?.pushViewController(vc)
} else {
defaultRouterBlock?()
}
}
func requestOrderStatus(orderId:Int, callback:((_ status:Int)->())?) {
YHHUD.show(.progress(message: "加载中..."))
self.serviceCenterViewModel.getServiceMainData(orderId: orderId) {
[weak self] success, error in
YHHUD.hide()
guard let self = self else { return }
callback?(self.serviceCenterViewModel.mainModel.stage)
}
}
}
......@@ -19,7 +19,8 @@ class YHMessageListVC: YHBaseViewController {
private var isGoYHManagerFlag : Bool = false
private let serviceCenterViewModel : YHServiceCenterMainViewModel = YHServiceCenterMainViewModel()
private let serviceCenterMainViewModel : YHServiceCenterMainViewModel = YHServiceCenterMainViewModel()
private let serviceCenterViewModel = YHServiceCenterViewModel()
var isNotifyEnabled = false
lazy var tableView: UITableView = {
......@@ -184,7 +185,10 @@ class YHMessageListVC: YHBaseViewController {
}
self.requestOrderStatus {
isHidden in
status in
// status == 1 时是文案段阶段, 当过了文案段阶段需要隐藏文案段相关消息
let isHidden = (status != 1)
self.viewModel.getUnreadMsgList {
[weak self] success, error in
......@@ -234,9 +238,9 @@ class YHMessageListVC: YHBaseViewController {
}
// 身份续签
// if !self.viewModel.msgList.renewal.lastMessage.isEmpty {
// hasUnreadMsg = true
// }
if !self.viewModel.msgList.renewal.lastMessage.isEmpty {
hasUnreadMsg = true
}
if hasUnreadMsg {
if !isHidden {
......@@ -249,7 +253,7 @@ class YHMessageListVC: YHBaseViewController {
msgArr.append(self.viewModel.msgList.approval)
msgArr.append(self.viewModel.msgList.goToHK)
// msgArr.append(self.viewModel.msgList.renewal)
msgArr.append(self.viewModel.msgList.renewal)
}
}
......@@ -260,29 +264,25 @@ class YHMessageListVC: YHBaseViewController {
}
}
func requestOrderStatus(callback:((_ isHidden: Bool)->())?) {
func requestOrderStatus(callback:((_ status: Int)->())?) {
// 先获取订单列表
self.serviceCenterViewModel.getContactList {
self.serviceCenterMainViewModel.getContactList {
[weak self] success, error in
guard let self = self else { return }
if success == true {
if let orderInfo = serviceCenterViewModel.arrContactList.first {
if let orderInfo = serviceCenterMainViewModel.arrContactList.first {
// 请求申请结果
self.serviceCenterViewModel.getStageInformation(params: ["orderId": orderInfo.id]) {
self.serviceCenterViewModel.getServiceMainData(orderId: orderInfo.id) {
[weak self] success, error in
guard let self = self else { return }
if self.serviceCenterViewModel.personInfoModel.type != 1 { // 身份申请完成之后
callback?(true)
} else {
callback?(false)
}
callback?(self.serviceCenterViewModel.mainModel.stage)
}
} else {
callback?(false)
callback?(0)
}
} else {
callback?(false)
callback?(0)
}
}
}
......
......@@ -294,6 +294,14 @@ extension YhConstant {
//获取灰度参数
public static let didRevUatParam = Notification.Name(rawValue: "com.yinhe.didRevUatParam")
// 跳转通知
// 跳转到首页资讯tab
public static let didJumpToHomePageNewsTabNotification = Notification.Name(rawValue: "com.yinhe.homePage.news")
// 跳转到首页生活tab
public static let didJumpToHomePageLifeTabNotification = Notification.Name(rawValue: "com.yinhe.homePage.life")
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment