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

Merge commit 'dc23a154' into xiezhaolin

parents 70cce52f dc23a154
...@@ -278,6 +278,7 @@ ...@@ -278,6 +278,7 @@
A582B2432BB95E20009D098C /* YHHKPlanCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A582B2422BB95E20009D098C /* YHHKPlanCell.swift */; }; A582B2432BB95E20009D098C /* YHHKPlanCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A582B2422BB95E20009D098C /* YHHKPlanCell.swift */; };
A582B2452BBA4CF9009D098C /* YHHKPlanDocModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A582B2442BBA4CF9009D098C /* YHHKPlanDocModel.swift */; }; A582B2452BBA4CF9009D098C /* YHHKPlanDocModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A582B2442BBA4CF9009D098C /* YHHKPlanDocModel.swift */; };
A58556BA2B6BCF1A003746B2 /* YHPersonInfoFillStepModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A58556B92B6BCF1A003746B2 /* YHPersonInfoFillStepModel.swift */; }; A58556BA2B6BCF1A003746B2 /* YHPersonInfoFillStepModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A58556B92B6BCF1A003746B2 /* YHPersonInfoFillStepModel.swift */; };
A587F7C02BBADBE1002D9781 /* YHHKPlanItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A587F7BF2BBADBE1002D9781 /* YHHKPlanItemView.swift */; };
A58951C52B398D1000225C19 /* Launch Screen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A58951C42B398D1000225C19 /* Launch Screen.storyboard */; }; A58951C52B398D1000225C19 /* Launch Screen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A58951C42B398D1000225C19 /* Launch Screen.storyboard */; };
A58A8C8F2BA6978100632765 /* YHMineCertificateEntryViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A58A8C8E2BA6978100632765 /* YHMineCertificateEntryViewController.swift */; }; A58A8C8F2BA6978100632765 /* YHMineCertificateEntryViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A58A8C8E2BA6978100632765 /* YHMineCertificateEntryViewController.swift */; };
A58A8C942BA6C7C600632765 /* YHCertificateEntryModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A58A8C932BA6C7C600632765 /* YHCertificateEntryModel.swift */; }; A58A8C942BA6C7C600632765 /* YHCertificateEntryModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A58A8C932BA6C7C600632765 /* YHCertificateEntryModel.swift */; };
...@@ -689,6 +690,7 @@ ...@@ -689,6 +690,7 @@
A582B2422BB95E20009D098C /* YHHKPlanCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHHKPlanCell.swift; sourceTree = "<group>"; }; A582B2422BB95E20009D098C /* YHHKPlanCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHHKPlanCell.swift; sourceTree = "<group>"; };
A582B2442BBA4CF9009D098C /* YHHKPlanDocModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHHKPlanDocModel.swift; sourceTree = "<group>"; }; A582B2442BBA4CF9009D098C /* YHHKPlanDocModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHHKPlanDocModel.swift; sourceTree = "<group>"; };
A58556B92B6BCF1A003746B2 /* YHPersonInfoFillStepModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHPersonInfoFillStepModel.swift; sourceTree = "<group>"; }; A58556B92B6BCF1A003746B2 /* YHPersonInfoFillStepModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHPersonInfoFillStepModel.swift; sourceTree = "<group>"; };
A587F7BF2BBADBE1002D9781 /* YHHKPlanItemView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHHKPlanItemView.swift; sourceTree = "<group>"; };
A58951C42B398D1000225C19 /* Launch Screen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = "Launch Screen.storyboard"; sourceTree = "<group>"; }; A58951C42B398D1000225C19 /* Launch Screen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = "Launch Screen.storyboard"; sourceTree = "<group>"; };
A58A8C8E2BA6978100632765 /* YHMineCertificateEntryViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMineCertificateEntryViewController.swift; sourceTree = "<group>"; }; A58A8C8E2BA6978100632765 /* YHMineCertificateEntryViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMineCertificateEntryViewController.swift; sourceTree = "<group>"; };
A58A8C932BA6C7C600632765 /* YHCertificateEntryModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHCertificateEntryModel.swift; sourceTree = "<group>"; }; A58A8C932BA6C7C600632765 /* YHCertificateEntryModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHCertificateEntryModel.swift; sourceTree = "<group>"; };
...@@ -1665,6 +1667,7 @@ ...@@ -1665,6 +1667,7 @@
A582B2402BB95998009D098C /* YHHKPlanTipsCell.swift */, A582B2402BB95998009D098C /* YHHKPlanTipsCell.swift */,
044CF8D52BBA57DC00008CE8 /* YHFailPromptView.swift */, 044CF8D52BBA57DC00008CE8 /* YHFailPromptView.swift */,
A582B2422BB95E20009D098C /* YHHKPlanCell.swift */, A582B2422BB95E20009D098C /* YHHKPlanCell.swift */,
A587F7BF2BBADBE1002D9781 /* YHHKPlanItemView.swift */,
); );
path = V; path = V;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -2483,6 +2486,7 @@ ...@@ -2483,6 +2486,7 @@
045EEEEE2B9F171A0022A143 /* YHCertificateUploadVC.swift in Sources */, 045EEEEE2B9F171A0022A143 /* YHCertificateUploadVC.swift in Sources */,
A510441A2B495DD0006B60BB /* UIView+Extension.swift in Sources */, A510441A2B495DD0006B60BB /* UIView+Extension.swift in Sources */,
A5ACE93E2B4564F7002C94D2 /* UIImage+Extension.swift in Sources */, A5ACE93E2B4564F7002C94D2 /* UIImage+Extension.swift in Sources */,
A587F7C02BBADBE1002D9781 /* YHHKPlanItemView.swift in Sources */,
A5ACE94C2B4564F7002C94D2 /* YHHUDErrorView.swift in Sources */, A5ACE94C2B4564F7002C94D2 /* YHHUDErrorView.swift in Sources */,
A5EF21332BA6E030005027E6 /* YHFileListViewController.swift in Sources */, A5EF21332BA6E030005027E6 /* YHFileListViewController.swift in Sources */,
045EEF1E2B9F171A0022A143 /* YHBottomNextView.swift in Sources */, 045EEF1E2B9F171A0022A143 /* YHBottomNextView.swift in Sources */,
......
...@@ -122,7 +122,7 @@ extension AppDelegate { ...@@ -122,7 +122,7 @@ extension AppDelegate {
UITextView.appearance().tintColor = .brandMainColor UITextView.appearance().tintColor = .brandMainColor
IQKeyboardManager.shared.enable = true IQKeyboardManager.shared.enable = true
IQKeyboardManager.shared.enableAutoToolbar = true IQKeyboardManager.shared.enableAutoToolbar = false
IQKeyboardManager.shared.resignOnTouchOutside = true //控制点击背景是否收起键盘 IQKeyboardManager.shared.resignOnTouchOutside = true //控制点击背景是否收起键盘
} }
} }
......
...@@ -75,6 +75,7 @@ class YHFileRenameInputView: UIView { ...@@ -75,6 +75,7 @@ class YHFileRenameInputView: UIView {
textField.textColor = UIColor.mainTextColor textField.textColor = UIColor.mainTextColor
textField.delegate = self textField.delegate = self
textField.clearButtonMode = .whileEditing textField.clearButtonMode = .whileEditing
textField.returnKeyType = .done
return textField return textField
}() }()
......
...@@ -97,12 +97,15 @@ extension YHHKPlanDoctumentVC { ...@@ -97,12 +97,15 @@ extension YHHKPlanDoctumentVC {
} }
func getData() { func getData() {
YHHUD.show(.progress(message: ""))
viewModel.requestDocumentsDetail("\(supplement_id)", callBackBlock: {[weak self] success, error in viewModel.requestDocumentsDetail("\(supplement_id)", callBackBlock: {[weak self] success, error in
YHHUD.hide()
guard let self = self else { return } guard let self = self else { return }
for item in viewModel.arrHKPlanData { for item in viewModel.arrHKPlanData {
item.canEditFlag = self.canEditFlag item.canEditFlag = self.canEditFlag
} }
self.tableView.isHidden = false
self.tableView.reloadData() self.tableView.reloadData()
}) })
} }
...@@ -159,7 +162,7 @@ extension YHHKPlanDoctumentVC { ...@@ -159,7 +162,7 @@ extension YHHKPlanDoctumentVC {
tableView = { tableView = {
let tableView = UITableView(frame:.zero, style:.plain) let tableView = UITableView(frame:.zero, style:.grouped)
tableView.contentInsetAdjustmentBehavior = .never tableView.contentInsetAdjustmentBehavior = .never
tableView.backgroundColor = .clear tableView.backgroundColor = .clear
tableView.separatorStyle = .none tableView.separatorStyle = .none
...@@ -167,6 +170,7 @@ extension YHHKPlanDoctumentVC { ...@@ -167,6 +170,7 @@ extension YHHKPlanDoctumentVC {
tableView.dataSource = self tableView.dataSource = self
tableView.register(cellWithClass: YHHKPlanCell.self) tableView.register(cellWithClass: YHHKPlanCell.self)
tableView.register(cellWithClass: YHHKPlanTipsCell.self) tableView.register(cellWithClass: YHHKPlanTipsCell.self)
tableView.isHidden = true
return tableView return tableView
}() }()
...@@ -200,10 +204,7 @@ extension YHHKPlanDoctumentVC: UITableViewDelegate, UITableViewDataSource { ...@@ -200,10 +204,7 @@ extension YHHKPlanDoctumentVC: UITableViewDelegate, UITableViewDataSource {
} }
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if section == 0 { return 1
return 1
}
return viewModel.arrHKPlanData.count
} }
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
...@@ -216,11 +217,30 @@ extension YHHKPlanDoctumentVC: UITableViewDelegate, UITableViewDataSource { ...@@ -216,11 +217,30 @@ extension YHHKPlanDoctumentVC: UITableViewDelegate, UITableViewDataSource {
let cell = tableView.dequeueReusableCell(withClass: YHHKPlanCell.self) let cell = tableView.dequeueReusableCell(withClass: YHHKPlanCell.self)
cell.selectionStyle = .none cell.selectionStyle = .none
cell.dataMode = viewModel.arrHKPlanData[indexPath.row] cell.arrData = viewModel.arrHKPlanData
return cell return cell
} }
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableView.automaticDimension return UITableView.automaticDimension
} }
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let view = UIView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: kMargin))
return view
}
func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
let view = UIView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: 0.01))
return view
}
func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return 0.001
}
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return kMargin
}
} }
...@@ -211,10 +211,12 @@ class YHMyDocumentsDetailViewController: YHBaseViewController { ...@@ -211,10 +211,12 @@ class YHMyDocumentsDetailViewController: YHBaseViewController {
//进行 //进行
//发送接口 //发送接口
if let orderID = UserDefaults.standard.value(forKey: "orderIdForPreview") { if let orderID = UserDefaults.standard.value(forKey: "orderIdForPreview") {
YHHUD.show(.progress(message: "发送中..."))
let params = ["order_id":orderID,"ids":[self.id],"email":text] let params = ["order_id":orderID,"ids":[self.id],"email":text]
self.viewModel?.sendEmailForDocs(params, callBackBlock: { success, error in self.viewModel?.sendEmailForDocs(params, callBackBlock: { success, error in
YHHUD.hide()
if success { if success {
YHHUD.flash(message: "发送成功") YHHUD.flash(message: "已发送至邮箱")
} else { } else {
let msg = error?.errorMsg ?? "发送失败" let msg = error?.errorMsg ?? "发送失败"
YHHUD.flash(message: msg) YHHUD.flash(message: msg)
......
...@@ -14,11 +14,17 @@ import IQKeyboardManagerSwift ...@@ -14,11 +14,17 @@ import IQKeyboardManagerSwift
class YHMyDocumentsListViewController: YHBaseViewController { class YHMyDocumentsListViewController: YHBaseViewController {
var tableView: UITableView! var tableView: UITableView!
// var dataSource: [YHMyDocumentsListModel]?
var viewModel: YHMyDocumentsListViewModel? var viewModel: YHMyDocumentsListViewModel?
var orderId: Int = 0 var orderId: Int = 0
var mobile: String = "" var mobile: String = ""
var arrIDs : [Int] = []//保存所有下载的id var arrIDs : [Int] = []//保存所有下载的id
//是否展示下载全部按钮
var canSendEmailFlag : Bool = false {
didSet {
updateHeadView()
}
}
private var isEditFlag : Bool = false private var isEditFlag : Bool = false
...@@ -77,9 +83,24 @@ class YHMyDocumentsListViewController: YHBaseViewController { ...@@ -77,9 +83,24 @@ class YHMyDocumentsListViewController: YHBaseViewController {
} }
extension YHMyDocumentsListViewController { extension YHMyDocumentsListViewController {
func updateHeadView() {
headSessionView.canShowDownLoadBtnFlag = canSendEmailFlag
}
func getData() { func getData() {
viewModel?.requestDocumentsList("\(orderId)", mobile, callBackBlock: {[weak self] success, error in viewModel?.requestDocumentsList("\(orderId)", mobile, callBackBlock: {[weak self] success, error in
guard let self = self else { return } guard let self = self else { return }
guard let arr = self.viewModel?.mainModel?.docs else { return }
var tag = true
for item in arr {
if item.sign_doc.doc_send.contains(".pdf",caseSensitive: false) == false {
tag = false
break
}
}
self.canSendEmailFlag = tag
self.tableView.reloadData() self.tableView.reloadData()
}) })
} }
...@@ -192,13 +213,15 @@ extension YHMyDocumentsListViewController { ...@@ -192,13 +213,15 @@ extension YHMyDocumentsListViewController {
if let text = text { if let text = text {
YHCheckEamilAlertView.show(nil,text, "取消", "确认") { YHCheckEamilAlertView.show(nil,text, "取消", "确认") {
//进行
//发送接口 //发送接口
if let orderID = UserDefaults.standard.value(forKey: "orderIdForPreview") { if let orderID = UserDefaults.standard.value(forKey: "orderIdForPreview") {
YHHUD.show(.progress(message: "发送中..."))
let params = ["order_id":orderID,"ids":self.arrIDs,"email":text] let params = ["order_id":orderID,"ids":self.arrIDs,"email":text]
self.viewModel?.sendEmailForDocs(params, callBackBlock: { success, error in self.viewModel?.sendEmailForDocs(params, callBackBlock: { success, error in
YHHUD.hide()
if success { if success {
YHHUD.flash(message: "发送成功") YHHUD.flash(message: "已发送至邮箱")
self.headSessionView.clickCancelBtn()
} else { } else {
let msg = error?.errorMsg ?? "发送失败" let msg = error?.errorMsg ?? "发送失败"
YHHUD.flash(message: msg) YHHUD.flash(message: msg)
......
...@@ -25,4 +25,6 @@ class YHHKPlanDocModel { ...@@ -25,4 +25,6 @@ class YHHKPlanDocModel {
//本地使用 //本地使用
var canEditFlag : Bool = true var canEditFlag : Bool = true
var isFirstData : Bool = false
var isLastData : Bool = false
} }
...@@ -24,59 +24,22 @@ class YHHKPlanCell: UITableViewCell { ...@@ -24,59 +24,22 @@ class YHHKPlanCell: UITableViewCell {
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) { override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier) super.init(style: style, reuseIdentifier: reuseIdentifier)
initView() initView()
} }
required init?(coder: NSCoder) { required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented") fatalError("init(coder:) has not been implemented")
} }
lazy var holdView : UIView = {
private lazy var line : UIView = {
let view = UIView() let view = UIView()
view.backgroundColor = .separatorColor view.backgroundColor = .white
view.clipsToBounds = true
view.layer.cornerRadius = kCornerRadius12
return view return view
}() }()
private lazy var numberLabel : UILabel = { var arrData : [YHHKPlanDocModel] = [] {
let view = UILabel()
view.text = "82/100"
view.font = UIFont.PFSC_R(ofSize: 12)
view.textColor = UIColor.placeHolderColor
view.textAlignment = .right
return view
}()
private lazy var myTextView : UITextView = {
let view = UITextView()
view.textColor = UIColor.mainTextColor
view.font = UIFont.PFSC_R(ofSize: 14)
view.backgroundColor = .clear
// view.isScrollEnabled = false // 关闭滚动,允许自动增高
return view
}()
private lazy var nameLable : UILabel = {
let lable0 = UILabel(text: "1、主要事业成就")
lable0.textColor = UIColor.mainTextColor
lable0.font = UIFont.PFSC_M(ofSize: 17)
return lable0
}()
private lazy var iconImageV : UIImageView = {
let view = UIImageView()
view.image = UIImage(named: "other_info_warning")
view.contentMode = .scaleAspectFill
return view
}()
var dataMode : YHHKPlanDocModel? {
didSet { didSet {
updateUI() updateUI()
} }
...@@ -88,130 +51,45 @@ private extension YHHKPlanCell { ...@@ -88,130 +51,45 @@ private extension YHHKPlanCell {
func initView() { func initView() {
backgroundColor = .clear backgroundColor = .clear
contentView.backgroundColor = .clear contentView.backgroundColor = .clear
//应香港入境处最新要求,
//赴港计划书格式、内容作出调整,共分为六部分,每部分不得超过100字(不含标点)
//。其中“赴港具体计划”仅代表个人预期规划,无须严格执行。
contentView.addSubview(line)
line.snp.makeConstraints { make in
make.left.equalTo(kMargin)
make.right.equalTo(-kMargin)
make.height.equalTo(0.5)
make.bottom.equalToSuperview()
}
let holdView : UIView = UIView()
holdView.backgroundColor = UIColor.white
holdView.clipsToBounds = true
holdView.layer.cornerRadius = kCornerRadius6
contentView.addSubview(holdView) contentView.addSubview(holdView)
holdView.snp.makeConstraints { make in holdView.snp.makeConstraints { make in
make.top.equalTo(18) make.top.bottom.equalToSuperview()
make.left.equalTo(12) make.left.equalTo(kMargin)
make.right.equalTo(-12) make.right.equalTo(-kMargin)
make.bottom.equalTo(line.snp.top)
}
holdView.addSubview(nameLable)
nameLable.snp.makeConstraints { make in
make.top.left.equalTo(18)
make.height.equalTo(20)
}
holdView.addSubview(iconImageV)
iconImageV.snp.makeConstraints { make in
make.left.equalTo(nameLable.snp.right).offset(4)
make.centerY.equalTo(nameLable)
make.height.width.equalTo(16)
}
let tap : UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(tapButton(gestureRecognizer:)))
iconImageV.isUserInteractionEnabled = true
iconImageV.addGestureRecognizer(tap)
let subHoldView : UIView = UIView()
subHoldView.backgroundColor = UIColor.contentBkgColor
subHoldView.layer.cornerRadius = kCornerRadius6
subHoldView.clipsToBounds = true
holdView.addSubview(subHoldView)
subHoldView.snp.makeConstraints { make in
make.top.equalTo(nameLable.snp.bottom).offset(12)
make.left.equalTo(18)
make.right.equalTo(-18)
make.bottom.equalTo(line.snp.top).offset(-18)
}
subHoldView.addSubview(numberLabel)
numberLabel.snp.makeConstraints { make in
make.right.equalTo(-12)
make.height.equalTo(18)
make.bottom.equalToSuperview().offset(-8)
}
subHoldView.addSubview(myTextView)
myTextView.snp.makeConstraints { make in
make.top.left.equalToSuperview().offset(12)
make.right.equalTo(-12)
make.height.greaterThanOrEqualTo(80)
make.bottom.equalTo(numberLabel.snp.top).offset(-2)
} }
myTextView.delegate = self
// myTextView.wrapToContent()
} }
@objc func tapButton(gestureRecognizer:UITapGestureRecognizer) {
guard let model = dataMode else { return }
switch model.type {
case .planDocQuestion1:
YHWholeScreenTipsView.show(type: .hkPlanQ1, targetView: iconImageV)
case .planDocQuestion2:
YHWholeScreenTipsView.show(type: .hkPlanQ2, targetView: iconImageV)
case .planDocQuestion3:
YHWholeScreenTipsView.show(type: .hkPlanQ3, targetView: iconImageV)
case .planDocQuestion4:
YHWholeScreenTipsView.show(type: .hkPlanQ4, targetView: iconImageV)
case .planDocQuestion5:
YHWholeScreenTipsView.show(type: .hkPlanQ5, targetView: iconImageV)
case .planDocQuestion6:
YHWholeScreenTipsView.show(type: .hkPlanQ6, targetView: iconImageV)
case .unknow:
printLog("")
}
}
func updateUI() { func updateUI() {
guard let model = dataMode else { return } holdView.removeSubviews()
nameLable.text = model.title var tagView : UIView?
myTextView.text = model.content for item in arrData {
if model.canEditFlag { let view = YHHKPlanItemView()
myTextView.isEditable = true view.dataMode = item
myTextView.isSelectable = true holdView.addSubview(view)
} else {
myTextView.isEditable = false
myTextView.isSelectable = false
myTextView.wrapToContent() if item.isFirstData {
view.snp.makeConstraints { make in
make.top.equalToSuperview()
make.left.equalTo(kMargin)
make.right.equalTo(-kMargin)
}
} else if item.isLastData {
view.snp.makeConstraints { make in
make.top.equalTo(tagView!.snp.bottom)
make.left.equalTo(kMargin)
make.right.equalTo(-kMargin)
make.bottom.equalToSuperview()
}
} else {
view.snp.makeConstraints { make in
make.top.equalTo(tagView!.snp.bottom)
make.left.equalTo(kMargin)
make.right.equalTo(-kMargin)
}
}
tagView = view
} }
numberLabel.text = myTextView.text.count.string + "/100"
} }
} }
extension YHHKPlanCell : UITextViewDelegate {
func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
let newLength = (textView.text as NSString).length + text.count - range.length
return newLength <= 100
}
func textViewDidChange(_ textView: UITextView) {
guard let model = dataMode else { return }
guard let text = textView.text else { return }
model.content = text
}
}
//
// YHHKPlanItemView.swift
// galaxy
//
// Created by davidhuangA on 2024/4/1.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHHKPlanItemView: UIView {
override init(frame: CGRect) {
super.init(frame: frame)
initView()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
private lazy var line : UIView = {
let view = UIView()
view.backgroundColor = .separatorColor
return view
}()
private lazy var numberLabel : UILabel = {
let view = UILabel()
view.text = "--/100"
view.font = UIFont.PFSC_R(ofSize: 12)
view.textColor = UIColor.placeHolderColor
view.textAlignment = .right
return view
}()
private lazy var myTextView : UITextView = {
let view = UITextView()
view.textColor = UIColor.mainTextColor
view.font = UIFont.PFSC_R(ofSize: 14)
view.backgroundColor = .clear
return view
}()
private lazy var nameLable : UILabel = {
let lable0 = UILabel(text: "1、主要事业成就")
lable0.textColor = UIColor.mainTextColor
lable0.font = UIFont.PFSC_M(ofSize: 17)
return lable0
}()
private lazy var iconImageV : UIImageView = {
let view = UIImageView()
view.image = UIImage(named: "other_info_warning")
view.contentMode = .scaleAspectFill
return view
}()
var dataMode : YHHKPlanDocModel? {
didSet {
updateUI()
}
}
let holdView : UIView = UIView()
}
private extension YHHKPlanItemView {
func initView() {
backgroundColor = .clear
//应香港入境处最新要求,
//赴港计划书格式、内容作出调整,共分为六部分,每部分不得超过100字(不含标点)
//。其中“赴港具体计划”仅代表个人预期规划,无须严格执行。
addSubview(line)
line.snp.makeConstraints { make in
make.left.equalTo(0)
make.right.equalTo(0)
make.height.equalTo(1)
make.bottom.equalToSuperview()
}
holdView.backgroundColor = UIColor.white
addSubview(holdView)
holdView.snp.makeConstraints { make in
make.top.equalTo(0)
make.left.equalTo(0)
make.right.equalTo(0)
make.bottom.equalTo(line.snp.top)
}
holdView.addSubview(nameLable)
nameLable.snp.makeConstraints { make in
make.top.equalTo(18)
make.left.equalTo(0)
make.height.equalTo(20)
}
holdView.addSubview(iconImageV)
iconImageV.snp.makeConstraints { make in
make.left.equalTo(nameLable.snp.right).offset(4)
make.centerY.equalTo(nameLable)
make.height.width.equalTo(16)
}
let tap : UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(tapButton(gestureRecognizer:)))
iconImageV.isUserInteractionEnabled = true
iconImageV.addGestureRecognizer(tap)
let subHoldView : UIView = UIView()
subHoldView.backgroundColor = UIColor.contentBkgColor
subHoldView.layer.cornerRadius = kCornerRadius6
subHoldView.clipsToBounds = true
holdView.addSubview(subHoldView)
subHoldView.snp.makeConstraints { make in
make.top.equalTo(nameLable.snp.bottom).offset(12)
make.left.equalTo(0)
make.right.equalTo(0)
make.bottom.equalTo(line.snp.top).offset(-18)
}
subHoldView.addSubview(numberLabel)
numberLabel.snp.makeConstraints { make in
make.right.equalTo(-12)
make.height.equalTo(18)
make.bottom.equalToSuperview().offset(-8)
}
subHoldView.addSubview(myTextView)
myTextView.snp.makeConstraints { make in
make.top.left.equalToSuperview().offset(12)
make.right.equalTo(-12)
make.height.greaterThanOrEqualTo(80)
make.bottom.equalTo(numberLabel.snp.top).offset(-2)
}
myTextView.delegate = self
// myTextView.wrapToContent()
}
@objc func tapButton(gestureRecognizer:UITapGestureRecognizer) {
guard let model = dataMode else { return }
switch model.type {
case .planDocQuestion1:
YHWholeScreenTipsView.show(type: .hkPlanQ1, targetView: iconImageV)
case .planDocQuestion2:
YHWholeScreenTipsView.show(type: .hkPlanQ2, targetView: iconImageV)
case .planDocQuestion3:
YHWholeScreenTipsView.show(type: .hkPlanQ3, targetView: iconImageV)
case .planDocQuestion4:
YHWholeScreenTipsView.show(type: .hkPlanQ4, targetView: iconImageV)
case .planDocQuestion5:
YHWholeScreenTipsView.show(type: .hkPlanQ5, targetView: iconImageV)
case .planDocQuestion6:
YHWholeScreenTipsView.show(type: .hkPlanQ6, targetView: iconImageV)
case .unknow:
printLog("")
}
}
func updateUI() {
guard let model = dataMode else { return }
nameLable.text = model.title
myTextView.text = model.content
if model.canEditFlag {
myTextView.isEditable = true
myTextView.isSelectable = true
} else {
myTextView.isEditable = false
myTextView.isSelectable = false
myTextView.wrapToContent()
}
numberLabel.text = myTextView.text.count.string + "/100"
if model.isLastData {
line.isHidden = true
} else {
line.isHidden = false
}
}
}
extension YHHKPlanItemView : UITextViewDelegate {
func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
let newLength = (textView.text as NSString).length + text.count - range.length
return newLength <= 100
}
func textViewDidChange(_ textView: UITextView) {
guard let model = dataMode else { return }
guard let text = textView.text else { return }
model.content = text
numberLabel.text = myTextView.text.count.string + "/100"
}
}
...@@ -26,6 +26,21 @@ class YHMyDocListHeaderView: UIView { ...@@ -26,6 +26,21 @@ class YHMyDocListHeaderView: UIView {
} }
} }
var canShowDownLoadBtnFlag : Bool = false {
didSet {
if canShowDownLoadBtnFlag {
allDownLoadButton.isHidden = false
cancelButton.isHidden = true
} else {
allDownLoadButton.isHidden = true
cancelButton.isHidden = true
}
}
}
override init(frame: CGRect) { override init(frame: CGRect) {
super.init(frame: frame) super.init(frame: frame)
initView() initView()
...@@ -57,6 +72,7 @@ class YHMyDocListHeaderView: UIView { ...@@ -57,6 +72,7 @@ class YHMyDocListHeaderView: UIView {
button.layerCornerRadius = kCornerRadius4 button.layerCornerRadius = kCornerRadius4
button.clipsToBounds = true button.clipsToBounds = true
button.iconInLeft(spacing: 2) button.iconInLeft(spacing: 2)
button.isHidden = true
return button return button
}() }()
...@@ -72,7 +88,7 @@ class YHMyDocListHeaderView: UIView { ...@@ -72,7 +88,7 @@ class YHMyDocListHeaderView: UIView {
}() }()
} }
private extension YHMyDocListHeaderView { extension YHMyDocListHeaderView {
func initView() { func initView() {
backgroundColor = .clear backgroundColor = .clear
......
...@@ -308,7 +308,7 @@ private extension YHMyDocumentsDetailViewModel { ...@@ -308,7 +308,7 @@ private extension YHMyDocumentsDetailViewModel {
tModel.title = "1、主要事业成就" tModel.title = "1、主要事业成就"
tModel.content = model.career_achievement.defaultStringIfEmpty(detaultValue: "") tModel.content = model.career_achievement.defaultStringIfEmpty(detaultValue: "")
tModel.type = .planDocQuestion1 tModel.type = .planDocQuestion1
tModel.isFirstData = true
arrHKPlanData.append(tModel) arrHKPlanData.append(tModel)
} }
...@@ -322,7 +322,6 @@ private extension YHMyDocumentsDetailViewModel { ...@@ -322,7 +322,6 @@ private extension YHMyDocumentsDetailViewModel {
arrHKPlanData.append(tModel) arrHKPlanData.append(tModel)
} }
//3、学业成就 //3、学业成就
do { do {
let tModel = YHHKPlanDocModel() let tModel = YHHKPlanDocModel()
...@@ -353,13 +352,13 @@ private extension YHMyDocumentsDetailViewModel { ...@@ -353,13 +352,13 @@ private extension YHMyDocumentsDetailViewModel {
arrHKPlanData.append(tModel) arrHKPlanData.append(tModel)
} }
//6、其他材料 //6、其他材料
do { do {
let tModel = YHHKPlanDocModel() let tModel = YHHKPlanDocModel()
tModel.title = "6、其他材料" tModel.title = "6、其他材料"
tModel.content = model.other.defaultStringIfEmpty(detaultValue: "") tModel.content = model.other.defaultStringIfEmpty(detaultValue: "")
tModel.type = .planDocQuestion6 tModel.type = .planDocQuestion6
tModel.isLastData = true
arrHKPlanData.append(tModel) arrHKPlanData.append(tModel)
} }
......
...@@ -52,12 +52,12 @@ class YHSchemeHeadScoreItemView: UIView { ...@@ -52,12 +52,12 @@ class YHSchemeHeadScoreItemView: UIView {
let a: ASAttributedString = .init("学历", .font(UIFont.PFSC_M(ofSize: 14)),.foreground(UIColor.mainTextColor)) let a: ASAttributedString = .init("学历", .font(UIFont.PFSC_M(ofSize: 14)),.foreground(UIColor.mainTextColor))
let aa: ASAttributedString = .init(NSAttributedString(string: light), .font(UIFont.PFSC_B(ofSize: 17)),.foreground(UIColor.warnColor)) let aa: ASAttributedString = .init(NSAttributedString(string: light), .font(UIFont.PFSC_M(ofSize: 14)),.foreground(UIColor.warnColor))
let b: ASAttributedString = .init("分,名校加分", .font(UIFont.PFSC_M(ofSize: 14)),.foreground(UIColor.mainTextColor)) let b: ASAttributedString = .init("分,名校加分", .font(UIFont.PFSC_M(ofSize: 14)),.foreground(UIColor.mainTextColor))
let bb: ASAttributedString = .init(NSAttributedString(string: addtionStr), .font(UIFont.PFSC_B(ofSize: 17)),.foreground(UIColor.warnColor)) let bb: ASAttributedString = .init(NSAttributedString(string: addtionStr), .font(UIFont.PFSC_M(ofSize: 14)),.foreground(UIColor.warnColor))
let bbb: ASAttributedString = .init("分", .font(UIFont.PFSC_M(ofSize: 14)),.foreground(UIColor.mainTextColor)) let bbb: ASAttributedString = .init("分", .font(UIFont.PFSC_M(ofSize: 14)),.foreground(UIColor.mainTextColor))
......
...@@ -130,6 +130,9 @@ class YHSchemeTableViewCell: UITableViewCell { ...@@ -130,6 +130,9 @@ class YHSchemeTableViewCell: UITableViewCell {
label.numberOfLines = 0 label.numberOfLines = 0
return label return label
}() }()
centerView.addSubview(mainMessageLabel) centerView.addSubview(mainMessageLabel)
mainMessageLabel.snp.makeConstraints { make in mainMessageLabel.snp.makeConstraints { make in
make.top.equalTo(69) make.top.equalTo(69)
...@@ -163,7 +166,16 @@ class YHSchemeTableViewCell: UITableViewCell { ...@@ -163,7 +166,16 @@ class YHSchemeTableViewCell: UITableViewCell {
titleButton.iconInRight(with: 2) titleButton.iconInRight(with: 2)
let newString: NSAttributedString = model.mainMessage.highlighted(keyWords: model.lightMessage, highlightColor: UIColor(hex: 0xd48638)) let newString: NSAttributedString = model.mainMessage.highlighted(keyWords: model.lightMessage, highlightColor: UIColor(hex: 0xd48638))
mainMessageLabel.attributedText = newString mainMessageLabel.attributedText = newString
subMessageLabel.text = model.subMessage
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.lineSpacing = 10 // 设置行间距
let attributes: [NSAttributedString.Key: Any] = [
.paragraphStyle: paragraphStyle,
.font: UIFont.PFSC_R(ofSize: 14)
]
let attributedString = NSAttributedString(string: model.subMessage, attributes: attributes)
subMessageLabel.attributedText = attributedString
} }
@objc func goNext() { @objc func goNext() {
......
...@@ -180,10 +180,12 @@ class YHMySignatureDetailViewController: YHBaseViewController { ...@@ -180,10 +180,12 @@ class YHMySignatureDetailViewController: YHBaseViewController {
//进行 //进行
//发送接口 //发送接口
if let orderID = UserDefaults.standard.value(forKey: "orderIdForPreview") { if let orderID = UserDefaults.standard.value(forKey: "orderIdForPreview") {
YHHUD.show(.progress(message: "发送中..."))
let params = ["order_id":orderID,"ids":[self.id],"email":text] let params = ["order_id":orderID,"ids":[self.id],"email":text]
self.viewModel?.sendEmailForDocs(params, callBackBlock: { success, error in self.viewModel?.sendEmailForDocs(params, callBackBlock: { success, error in
YHHUD.hide()
if success { if success {
YHHUD.flash(message: "发送成功") YHHUD.flash(message: "已发送至邮箱")
} else { } else {
let msg = error?.errorMsg ?? "发送失败" let msg = error?.errorMsg ?? "发送失败"
YHHUD.flash(message: msg) YHHUD.flash(message: msg)
......
...@@ -90,6 +90,7 @@ extension YHMySignatureListViewController { ...@@ -90,6 +90,7 @@ extension YHMySignatureListViewController {
func getData() { func getData() {
viewModel.requestSignatureList("\(orderId)", callBackBlock: {[weak self] success, error in viewModel.requestSignatureList("\(orderId)", callBackBlock: {[weak self] success, error in
guard let self = self else { return } guard let self = self else { return }
self.headSessionView.canShowDownLoadBtnFlag = true
self.tableView.reloadData() self.tableView.reloadData()
}) })
} }
...@@ -205,10 +206,13 @@ extension YHMySignatureListViewController { ...@@ -205,10 +206,13 @@ extension YHMySignatureListViewController {
//进行 //进行
//发送接口 //发送接口
if let orderID = UserDefaults.standard.value(forKey: "orderIdForPreview") { if let orderID = UserDefaults.standard.value(forKey: "orderIdForPreview") {
YHHUD.show(.progress(message: "发送中..."))
let params = ["order_id":orderID,"ids":self.arrIDs,"email":text] let params = ["order_id":orderID,"ids":self.arrIDs,"email":text]
self.viewModel2.sendEmailForDocs(params, callBackBlock: { success, error in self.viewModel2.sendEmailForDocs(params, callBackBlock: { success, error in
YHHUD.hide()
if success { if success {
YHHUD.flash(message: "发送成功") YHHUD.flash(message: "已发送至邮箱")
self.headSessionView.clickCancelBtn()
} else { } else {
let msg = error?.errorMsg ?? "发送失败" let msg = error?.errorMsg ?? "发送失败"
YHHUD.flash(message: msg) YHHUD.flash(message: msg)
......
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