Commit b5a55421 authored by pete谢兆麟's avatar pete谢兆麟

313相关需求开发

parent 125fea39
...@@ -332,7 +332,7 @@ extension YHInformationPerfectListVC { ...@@ -332,7 +332,7 @@ extension YHInformationPerfectListVC {
@objc func clickSubmitBtn() { @objc func clickSubmitBtn() {
YHSubmitAllInfoCheckView.showCheckView(tipMsg: "确定是否提交信息,提交后将不能修改哦~") { agree in YHSubmitAllInfoCheckView.showCheckView(tipMsg: "您即将提交客户信息,为保障流程顺畅与服务质量,请确认信息无误后提交。") { agree in
if agree == true { if agree == true {
printLog("点击了 确认 按钮") printLog("点击了 确认 按钮")
......
...@@ -154,7 +154,7 @@ extension YHVisaRenewalGuideVC { ...@@ -154,7 +154,7 @@ extension YHVisaRenewalGuideVC {
datas.append(.indent("内地关", "使用港澳通行证旅游签注")) datas.append(.indent("内地关", "使用港澳通行证旅游签注"))
datas.append(.indent("香港关", "使用港澳通行证旅游签注(如护照申请则使用护照)走访客通道")) datas.append(.indent("香港关", "使用港澳通行证旅游签注(如护照申请则使用护照)走访客通道"))
datas.append(.remark("备注:如用中国护照申请,从内地赴港,在非需前往其他国家的情况下可能无法直接持护照过关,需提前办理港澳通行证旅游签注备用;建议联合其他国行程,香港作为中转,即可护照顺利入境")) datas.append(.remark("备注:如用中国护照申请,从内地赴港,在非需前往其他国家的情况下可能无法直接持护照过关,需提前办理港澳通行证旅游签注备用;建议联合其他国行程,香港作为中转,即可护照顺利入境"))
let firstAtt: ASAttributedString = .init(string: "1、信用卡(只接受VISA、万事达卡、银联卡及JCB),缴费灵,「转数快」或内地电子钱包(只接受支付宝、微信支付及云闪付App)缴付。付款成功后,申请人随即可自行下载或打印「电子签证」\n\n2、缴费过程中或需填写获批者的出生日期与旅行证件号码,请提前准备\n\n3、手机端电脑端都可缴费,建议使用电脑端(每位获批者都需单独缴费一次)", .font(UIFont.PFSC_R(ofSize: 13)), .foreground(UIColor.mainTextColor70), .paragraph(.lineHeightMultiple(1.07))) let firstAtt: ASAttributedString = .init(string: "1、为确保缴费顺利成功,建议您优先选择银联、Visa卡进行电子签证缴费。(经验证,使用支付宝、微信等其他方式缴费存在较高的网络中断风险,从而导致多余耗时,故请尽量避免通过这两种方式进行缴费)。付款成功后,申请人随即可自行下载或打印「电子签证」\n\n2、缴费过程中或需填写获批者的出生日期与旅行证件号码,请提前准备\n\n3、手机端电脑端都可缴费,建议使用电脑端(每位获批者都需单独缴费一次)", .font(UIFont.PFSC_R(ofSize: 13)), .foreground(UIColor.mainTextColor70), .paragraph(.lineHeightMultiple(1.07)))
datas.append(.tips("缴费注意事项:", firstAtt)) datas.append(.tips("缴费注意事项:", firstAtt))
let secLine1a: ASAttributedString = .init(string: "1、涉及的申请人若已在港,并在赴港时使用正确证件,走正确通道才可以去缴费查看签证;未入境前一旦尝试缴费签证就会被锁;若刚入境香港,", .font(UIFont.PFSC_R(ofSize: 13)), .foreground(UIColor.mainTextColor70)) let secLine1a: ASAttributedString = .init(string: "1、涉及的申请人若已在港,并在赴港时使用正确证件,走正确通道才可以去缴费查看签证;未入境前一旦尝试缴费签证就会被锁;若刚入境香港,", .font(UIFont.PFSC_R(ofSize: 13)), .foreground(UIColor.mainTextColor70))
......
...@@ -16,7 +16,14 @@ class YHMainApplicantInformationViewController: YHBaseViewController { ...@@ -16,7 +16,14 @@ class YHMainApplicantInformationViewController: YHBaseViewController {
var dataSource: [YHSectionItemModel]? var dataSource: [YHSectionItemModel]?
var isShowPrompt: Bool = false var isShowPrompt: Bool = false
var orderId: Int = 0 var orderId: Int = 0
private var displayedOrderIDs: Set<String> {
get {
return Set(UserDefaults.standard.stringArray(forKey: "displayedOrderIDs") ?? [])
}
set {
UserDefaults.standard.set(Array(newValue), forKey: "displayedOrderIDs")
}
}
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
viewModel = YHMainApplicantInformationViewModel() viewModel = YHMainApplicantInformationViewModel()
...@@ -59,6 +66,10 @@ class YHMainApplicantInformationViewController: YHBaseViewController { ...@@ -59,6 +66,10 @@ class YHMainApplicantInformationViewController: YHBaseViewController {
self.tableView.reloadData() self.tableView.reloadData()
} }
private func hasDisplayedPopup(for orderID: String) -> Bool {
return displayedOrderIDs.contains(orderID)
}
func setView() { func setView() {
view.backgroundColor = .contentBkgColor view.backgroundColor = .contentBkgColor
...@@ -104,6 +115,12 @@ class YHMainApplicantInformationViewController: YHBaseViewController { ...@@ -104,6 +115,12 @@ class YHMainApplicantInformationViewController: YHBaseViewController {
bottom.nextButton.isEnabled = false bottom.nextButton.isEnabled = false
guard let self = self else { return } guard let self = self else { return }
if self.viewModel.isCanNext(self.stepView.currentIndex) { if self.viewModel.isCanNext(self.stepView.currentIndex) {
if self.stepView.currentIndex == 1 && !hasDisplayedPopup(for: orderId.string){
bottom.nextButton.isEnabled = true
YHTravelCertificateUsageTipsView.alertView().show()
displayedOrderIDs.insert(orderId.string)
return
}
self.viewModel.mainModel.step = self.stepView.currentIndex self.viewModel.mainModel.step = self.stepView.currentIndex
self.viewModel.updateMainInformation(.submit, self.orderId, self.stepView.currentIndex) {[weak self] success, error in self.viewModel.updateMainInformation(.submit, self.orderId, self.stepView.currentIndex) {[weak self] success, error in
guard let self = self else { return } guard let self = self else { return }
......
...@@ -16,7 +16,14 @@ class YHGCMainApplicantInformationViewController: YHBaseViewController { ...@@ -16,7 +16,14 @@ class YHGCMainApplicantInformationViewController: YHBaseViewController {
var dataSource: [YHSectionItemModel]? var dataSource: [YHSectionItemModel]?
var isShowPrompt: Bool = false var isShowPrompt: Bool = false
var orderId: Int = 0 var orderId: Int = 0
private var displayedOrderIDs: Set<String> {
get {
return Set(UserDefaults.standard.stringArray(forKey: "displayedOrderIDs") ?? [])
}
set {
UserDefaults.standard.set(Array(newValue), forKey: "displayedOrderIDs")
}
}
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
viewModel = YHGCMainApplicantInformationViewModel() viewModel = YHGCMainApplicantInformationViewModel()
...@@ -59,6 +66,10 @@ class YHGCMainApplicantInformationViewController: YHBaseViewController { ...@@ -59,6 +66,10 @@ class YHGCMainApplicantInformationViewController: YHBaseViewController {
self.tableView.reloadData() self.tableView.reloadData()
} }
private func hasDisplayedPopup(for orderID: String) -> Bool {
return displayedOrderIDs.contains(orderID)
}
func setView() { func setView() {
view.backgroundColor = .contentBkgColor view.backgroundColor = .contentBkgColor
...@@ -104,6 +115,12 @@ class YHGCMainApplicantInformationViewController: YHBaseViewController { ...@@ -104,6 +115,12 @@ class YHGCMainApplicantInformationViewController: YHBaseViewController {
bottom.nextButton.isEnabled = false bottom.nextButton.isEnabled = false
guard let self = self else { return } guard let self = self else { return }
if self.viewModel.isCanNext(self.stepView.currentIndex) { if self.viewModel.isCanNext(self.stepView.currentIndex) {
if self.stepView.currentIndex == 1 && !hasDisplayedPopup(for: orderId.string){
bottom.nextButton.isEnabled = true
YHTravelCertificateUsageTipsView.alertView().show()
displayedOrderIDs.insert(orderId.string)
return
}
self.viewModel.mainModel.step = self.stepView.currentIndex self.viewModel.mainModel.step = self.stepView.currentIndex
self.viewModel.updateMainInformation(.submit, self.orderId, self.stepView.currentIndex) {[weak self] success, error in self.viewModel.updateMainInformation(.submit, self.orderId, self.stepView.currentIndex) {[weak self] success, error in
guard let self = self else { return } guard let self = self else { return }
......
...@@ -5,12 +5,12 @@ ...@@ -5,12 +5,12 @@
"scale" : "1x" "scale" : "1x"
}, },
{ {
"filename" : "tips@2x.png", "filename" : "签证缴费温馨提示@2x.png",
"idiom" : "universal", "idiom" : "universal",
"scale" : "2x" "scale" : "2x"
}, },
{ {
"filename" : "tips@3x.png", "filename" : "签证缴费温馨提示@3x.png",
"idiom" : "universal", "idiom" : "universal",
"scale" : "3x" "scale" : "3x"
} }
......
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