Commit 2a7477fb authored by pete谢兆麟's avatar pete谢兆麟

Merge commit 'e9e1ff43' into xiezhaolin

# Conflicts:
#	galaxy/galaxy.xcodeproj/project.pbxproj
parents 49786bc2 e9e1ff43
......@@ -275,6 +275,8 @@
A58037212BAD7B2A0031C312 /* YHMySchemeModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A58037202BAD7B2A0031C312 /* YHMySchemeModel.swift */; };
A582B23D2BB944ED009D098C /* YHHKPlanDoctumentVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = A582B23C2BB944ED009D098C /* YHHKPlanDoctumentVC.swift */; };
A582B2412BB95998009D098C /* YHHKPlanTipsCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A582B2402BB95998009D098C /* YHHKPlanTipsCell.swift */; };
A582B2432BB95E20009D098C /* YHHKPlanCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A582B2422BB95E20009D098C /* YHHKPlanCell.swift */; };
A582B2452BBA4CF9009D098C /* YHHKPlanDocModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A582B2442BBA4CF9009D098C /* YHHKPlanDocModel.swift */; };
A58556BA2B6BCF1A003746B2 /* YHPersonInfoFillStepModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A58556B92B6BCF1A003746B2 /* YHPersonInfoFillStepModel.swift */; };
A58951C52B398D1000225C19 /* Launch Screen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A58951C42B398D1000225C19 /* Launch Screen.storyboard */; };
A58A8C8F2BA6978100632765 /* YHMineCertificateEntryViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A58A8C8E2BA6978100632765 /* YHMineCertificateEntryViewController.swift */; };
......@@ -684,6 +686,8 @@
A58037202BAD7B2A0031C312 /* YHMySchemeModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMySchemeModel.swift; sourceTree = "<group>"; };
A582B23C2BB944ED009D098C /* YHHKPlanDoctumentVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHHKPlanDoctumentVC.swift; sourceTree = "<group>"; };
A582B2402BB95998009D098C /* YHHKPlanTipsCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHHKPlanTipsCell.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>"; };
A58556B92B6BCF1A003746B2 /* YHPersonInfoFillStepModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHPersonInfoFillStepModel.swift; 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>"; };
......@@ -1541,6 +1545,7 @@
04A7BD0E2BA41C9800BD35A2 /* YHMyDocumentsModel.swift */,
04A7BD142BA4361700BD35A2 /* YHMyDocumentDetailModel.swift */,
04A7BD182BA441D400BD35A2 /* YHMyDocumentsUrlModel.swift */,
A582B2442BBA4CF9009D098C /* YHHKPlanDocModel.swift */,
);
path = Model;
sourceTree = "<group>";
......@@ -1659,6 +1664,7 @@
A5D5ADEE2BB90FBB0039FA6B /* YHCheckEamilAlertView.swift */,
A582B2402BB95998009D098C /* YHHKPlanTipsCell.swift */,
044CF8D52BBA57DC00008CE8 /* YHFailPromptView.swift */,
A582B2422BB95E20009D098C /* YHHKPlanCell.swift */,
);
path = V;
sourceTree = "<group>";
......@@ -2346,6 +2352,7 @@
045EEEB32B9F171A0022A143 /* YHWorkFileSyncTableViewCell.swift in Sources */,
045EEEF12B9F171A0022A143 /* YHChildInfoContainerVC.swift in Sources */,
045EEF0B2B9F171A0022A143 /* YHBasicInfoFillViewController.swift in Sources */,
A582B2452BBA4CF9009D098C /* YHHKPlanDocModel.swift in Sources */,
045EEF142B9F171A0022A143 /* YHItemModel.swift in Sources */,
045EEED72B9F171A0022A143 /* YHEducationInfo.swift in Sources */,
045EEEDE2B9F171A0022A143 /* YHEducationInfoCell.swift in Sources */,
......@@ -2423,6 +2430,7 @@
04C693642B723B56004C1758 /* YHMySettingCell.swift in Sources */,
A5FD63C92B63A35B00D1D9DA /* YHInformationFillTipsAlertView.swift in Sources */,
045EEEE32B9F171A0022A143 /* YHMySignatureListModel.swift in Sources */,
A582B2432BB95E20009D098C /* YHHKPlanCell.swift in Sources */,
045EEEC52B9F171A0022A143 /* YHOtherPickerView.swift in Sources */,
045EEE842B9F171A0022A143 /* YHPreviewBasiceInformationViewController.swift in Sources */,
A5ACE9282B4564F7002C94D2 /* YHSmsCodeView.swift in Sources */,
......
......@@ -18,9 +18,10 @@ class YHHKPlanDoctumentVC: YHBaseViewController {
let vm = YHMyDocumentsDetailViewModel()
return vm
}()
var supplement_id: Int = 0
private var isEditFlag : Bool = false
var supplement_id: Int = 0
var status : Int = 0
private var canEditFlag : Bool = false
override func viewDidLoad() {
super.viewDidLoad()
......@@ -36,52 +37,126 @@ class YHHKPlanDoctumentVC: YHBaseViewController {
super.viewWillAppear(animated)
getData()
}
private var bottomView : UIView = {
let view = UIView()
view.backgroundColor = .white
view.isHidden = true
return view
}()
lazy var bottomButton : UIButton = {
let button = UIButton(type: .custom)
button.titleLabel?.font = UIFont.PFSC_B(ofSize: 15)
button.contentHorizontalAlignment = .center
button.setTitle("提交", for: .normal)
button.setTitleColor( UIColor(hex:0xffffff), for: .normal)
button.layer.cornerRadius = kCornerRadius6
button.clipsToBounds = true
button.addTarget(self, action: #selector(clickSubmitBtn), for: .touchUpInside)
return button
}()
}
extension YHHKPlanDoctumentVC {
//点击提交按钮
@objc func clickSubmitBtn() {
submitOp()
}
//提交数据
private func submitOp() {
if viewModel.arrHKPlanData.count > 5 {
if let orderID = UserDefaults.standard.value(forKey: "orderIdForPreview") {
let params = ["order_id":orderID,
"supplement_id":supplement_id,
"career_achievement":viewModel.arrHKPlanData[0].content,
"professional_skills":viewModel.arrHKPlanData[1].content,
"academic_achievement":viewModel.arrHKPlanData[2].content,
"plan_detail":viewModel.arrHKPlanData[3].content,
"qualifications_and_awards":viewModel.arrHKPlanData[4].content,
"other":viewModel.arrHKPlanData[5].content,
"content_save":1]
viewModel.submitHKPlanDocument(params) { success, error in
if success {
YHHUD.flash(message: "提交成功")
} else {
YHHUD.flash(message: error?.errorMsg ?? "提交失败")
}
}
} else {
YHHUD.flash(message: "订单ID 为空")
}
} else {
YHHUD.flash(message: "参数不合法")
}
}
func getData() {
viewModel.requestDocumentsDetail("\(supplement_id)", callBackBlock: {[weak self] success, error in
guard let self = self else { return }
// if self.viewModel.mainModel?.prospectus.id != 0 {
// self.stepView.snp.remakeConstraints { make in
// make.top.equalTo(k_Height_NavigationtBarAndStatuBar)
// make.left.right.equalTo(self.view)
// make.height.equalTo(0)
// }
// self.bottomView.isHidden = true
// }
// if self.viewModel.mainModel?.writing_document.doc_sign.supplement_id == 0 {
// self.stepView.currentIndex = 0
// self.bottomView.isHidden = true
// } else {
// let state = self.viewModel.mainModel?.writing_document.doc_sign.status
// // 0-待上传,1-未发送, 2-发送中,3-已发送,4-已签收,5-审核通过,6-驳回
// if state == 0 || state == 1 || state == 2 {
//
// } else if state == 3 || state == 4 || state == 5 {
//
// } else {
//
// }
// self.stepView.currentIndex = 1
// }
for item in viewModel.arrHKPlanData {
item.canEditFlag = self.canEditFlag
}
self.tableView.reloadData()
})
}
func updateDataSource() {
func setView() {
let tipsHoldView : UIView = UIView()
tipsHoldView.backgroundColor = UIColor(hex: 0xE8F1FF, alpha: 1.0)
tipsHoldView.frame = CGRect(x: 0, y: 0, width: KScreenWidth, height: 36.0)
bottomView.addSubview(tipsHoldView)
tipsHoldView.snp.makeConstraints { make in
make.top.equalTo(0)
make.left.right.equalTo(0)
make.height.equalTo(36)
}
self.tableView.reloadData()
let iconImagV : UIImageView = UIImageView(image: UIImage(named: "my_doc_tips_icon"))
iconImagV.contentMode = .scaleAspectFill
tipsHoldView.addSubview(iconImagV)
iconImagV.snp.makeConstraints { make in
make.centerY.equalToSuperview()
make.left.equalTo(kMargin)
make.width.height.equalTo(kMargin)
}
func setView() {
// view.addSubview(headSessionView)
// headSessionView.snp.makeConstraints { make in
// make.top.equalToSuperview().offset(k_Height_NavigationtBarAndStatuBar)
// make.left.equalToSuperview().offset(kMargin)
// make.right.equalToSuperview().offset(-kMargin)
// make.height.equalTo(YHMyDocListHeaderView.viewH)
// }
let tipsLable : UILabel = UILabel(text: "请确认文书内容,修改完成后点击提交。")
tipsLable.textColor = .brandMainColor
tipsLable.font = UIFont.PFSC_M(ofSize: 12)
tipsHoldView.addSubview(tipsLable)
tipsLable.snp.makeConstraints { make in
make.centerY.equalToSuperview()
make.left.equalTo(iconImagV.snp.right).offset(4)
make.height.equalTo(20)
make.right.equalToSuperview().offset(-kMargin)
}
bottomView.addSubview(bottomButton)
bottomButton.snp.makeConstraints { make in
make.top.equalTo(tipsHoldView.snp.bottom)
make.left.equalTo(kMargin)
make.right.equalTo(-kMargin)
make.height.equalTo(48)
}
view.addSubview(bottomView)
bottomView.snp.makeConstraints { make in
make.bottom.left.right.equalToSuperview()
make.height.equalTo(120)
}
bottomView.layoutIfNeeded()
bottomButton.addYinHeGradualLayer()
tableView = {
let tableView = UITableView(frame:.zero, style:.plain)
......@@ -90,17 +165,31 @@ extension YHHKPlanDoctumentVC {
tableView.separatorStyle = .none
tableView.delegate = self
tableView.dataSource = self
tableView.register(cellWithClass: YHDocListCell.self)
tableView.register(cellWithClass: YHHKPlanCell.self)
tableView.register(cellWithClass: YHHKPlanTipsCell.self)
return tableView
}()
view.addSubview(tableView)
if status > 4 {
canEditFlag = false
bottomView.isHidden = true
tableView.snp.makeConstraints { make in
make.top.equalTo(k_Height_NavigationtBarAndStatuBar)
make.left.right.equalToSuperview()
make.bottom.equalToSuperview()
}
} else {
canEditFlag = true
bottomView.isHidden = false
tableView.snp.makeConstraints { make in
make.top.equalTo(k_Height_NavigationtBarAndStatuBar)
make.left.right.equalToSuperview()
make.bottom.equalTo(bottomView.snp.top).offset(-kMargin)
}
}
}
}
......@@ -114,7 +203,7 @@ extension YHHKPlanDoctumentVC: UITableViewDelegate, UITableViewDataSource {
if section == 0 {
return 1
}
return 6
return viewModel.arrHKPlanData.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
......@@ -125,8 +214,9 @@ extension YHHKPlanDoctumentVC: UITableViewDelegate, UITableViewDataSource {
}
let cell = tableView.dequeueReusableCell(withClass: YHDocListCell.self)
let cell = tableView.dequeueReusableCell(withClass: YHHKPlanCell.self)
cell.selectionStyle = .none
cell.dataMode = viewModel.arrHKPlanData[indexPath.row]
return cell
}
......
......@@ -319,6 +319,7 @@ extension YHMyDocumentsListViewController: UITableViewDelegate, UITableViewDataS
//跳转赴港计划书
let vc = YHHKPlanDoctumentVC()
vc.supplement_id = model.id
vc.status = model.status
self.navigationController?.pushViewController(vc)
} else {
let vc = YHMyDocumentsDetailViewController()
......
//
// YHHKPlanDocModel.swift
// galaxy
//
// Created by davidhuangA on 2024/4/1.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
enum HKPlanDocQuestionType {
case unknow
case planDocQuestion1 //1、主要事业成就
case planDocQuestion2 //2、专业技能成就
case planDocQuestion3 //3、学业成就
case planDocQuestion4 //4、未来发展计划
case planDocQuestion5 //5、专业资格及奖项
case planDocQuestion6 //6、其他材料
}
class YHHKPlanDocModel {
var title : String = ""
var content : String = ""
var type : HKPlanDocQuestionType = .unknow
//本地使用
var canEditFlag : Bool = true
}
//
// YHHKPlanCell.swift
// galaxy
//
// Created by davidhuangA on 2024/3/31.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHHKPlanCell: UITableViewCell {
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
}
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
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 = "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 {
updateUI()
}
}
}
private extension YHHKPlanCell {
func initView() {
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)
holdView.snp.makeConstraints { make in
make.top.equalTo(18)
make.left.equalTo(12)
make.right.equalTo(-12)
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() {
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"
}
}
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
}
}
......@@ -84,7 +84,7 @@ private extension YHHKPlanTipsCell {
let a: ASAttributedString = .init("应香港入境处最新要求,", .font(UIFont.PFSC_R(ofSize: 12)),.foreground(UIColor.labelTextColor2))
let b: ASAttributedString = .init("赴港计划书格式、内容作出调整,共分为六部分,每部分不得超过100字(不含标点)", .font(UIFont.PFSC_R(ofSize: 12)),.foreground(UIColor.brandMainColor))
let b: ASAttributedString = .init("赴港计划书格式、内容作出调整,共分为六部分,每部分不得超过100字", .font(UIFont.PFSC_R(ofSize: 12)),.foreground(UIColor.brandMainColor))
let c: ASAttributedString = .init("。其中“赴港具体计划”仅代表个人预期规划,无须严格执行。", .font(UIFont.PFSC_R(ofSize: 12)),.foreground(UIColor.labelTextColor2))
......
......@@ -14,6 +14,10 @@ class YHMyDocumentsDetailViewModel: YHBaseViewModel {
var pageUrl: String?
var personalUrl: String?
//赴港计划书数据
var arrHKPlanData : [YHHKPlanDocModel] = []
override init() {
super.init()
}
......@@ -31,6 +35,8 @@ class YHMyDocumentsDetailViewModel: YHBaseViewModel {
return
}
self.mainModel = result
//组装赴港计划书数据
self.installHKPlanData()
callBackBlock(true, nil)
} else {
let error : YHErrorModel = YHErrorModel(errorCode:Int32(json.code), errorMsg: json.msg)
......@@ -70,9 +76,27 @@ class YHMyDocumentsDetailViewModel: YHBaseViewModel {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Documents.submitApi
let _ = YHNetRequest.postRequest(url: strUrl, params: params) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
guard self != nil else { return }
if json.code == 200 {
let dic = json.data
_ = json.data
callBackBlock(true, nil)
} else {
let error : YHErrorModel = YHErrorModel(errorCode:Int32(json.code), errorMsg: json.msg)
callBackBlock(false, error)
}
} failBlock: { err in
callBackBlock(false, err)
}
}
//提交赴港计划书
func submitHKPlanDocument(_ params : [String : Any], callBackBlock:@escaping (_ success: Bool, _ error: YHErrorModel?)->()) {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Documents.hkPlanApi
let _ = YHNetRequest.postRequest(url: strUrl, params: params) { [weak self] json, code in
//1. json字符串 转 对象
guard self != nil else { return }
if json.code == 200 {
_ = json.data
callBackBlock(true, nil)
} else {
let error : YHErrorModel = YHErrorModel(errorCode:Int32(json.code), errorMsg: json.msg)
......@@ -90,9 +114,9 @@ class YHMyDocumentsDetailViewModel: YHBaseViewModel {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Documents.recordApi
let _ = YHNetRequest.postRequest(url: strUrl, params: params) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
guard self != nil else { return }
if json.code == 200 {
let dic = json.data
_ = json.data
callBackBlock(true, nil)
} else {
let error : YHErrorModel = YHErrorModel(errorCode:Int32(json.code), errorMsg: json.msg)
......@@ -157,7 +181,7 @@ class YHMyDocumentsDetailViewModel: YHBaseViewModel {
//1. json字符串 转 对象
guard let self = self else { return }
if json.code == 200 {
let dic = json.data
_ = json.data
self.pageUrl = json.data as? String
callBackBlock(true, nil)
} else {
......@@ -200,9 +224,9 @@ class YHMyDocumentsDetailViewModel: YHBaseViewModel {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Signature.upload
let _ = YHNetRequest.postRequest(url: strUrl, params: params) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
guard self != nil else { return }
if json.code == 200 {
let dic = json.data
_ = json.data
// guard let result = YHMySignatureURLModel.deserialize(from: dic as? Dictionary) else {
// callBackBlock(false,nil)
// return
......@@ -224,7 +248,7 @@ class YHMyDocumentsDetailViewModel: YHBaseViewModel {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Signature.callBack
let _ = YHNetRequest.getRequest(url: strUrl, params: params) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
guard self != nil else { return }
if json.code == 200 {
callBackBlock(true, nil)
} else {
......@@ -242,7 +266,7 @@ class YHMyDocumentsDetailViewModel: YHBaseViewModel {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Signature.confirm
let _ = YHNetRequest.postRequest(url: strUrl, params: params) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
guard self != nil else { return }
if json.code == 200 {
callBackBlock(true, nil)
} else {
......@@ -258,7 +282,7 @@ class YHMyDocumentsDetailViewModel: YHBaseViewModel {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Signature.sendMail
let _ = YHNetRequest.postRequest(url: strUrl, params: params) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else {
guard self != nil else {
callBackBlock(false, nil)
return
}
......@@ -273,3 +297,71 @@ class YHMyDocumentsDetailViewModel: YHBaseViewModel {
}
}
}
private extension YHMyDocumentsDetailViewModel {
func installHKPlanData() {
guard let model = self.mainModel?.prospectus else { return }
arrHKPlanData.removeAll()
//1、主要事业成就
do {
let tModel = YHHKPlanDocModel()
tModel.title = "1、主要事业成就"
tModel.content = model.career_achievement.defaultStringIfEmpty(detaultValue: "")
tModel.type = .planDocQuestion1
arrHKPlanData.append(tModel)
}
//2、专业技能成就
do {
let tModel = YHHKPlanDocModel()
tModel.title = "2、专业技能成就"
tModel.content = model.professional_skills.defaultStringIfEmpty(detaultValue: "")
tModel.type = .planDocQuestion2
arrHKPlanData.append(tModel)
}
//3、学业成就
do {
let tModel = YHHKPlanDocModel()
tModel.title = "3、学业成就"
tModel.content = model.academic_achievement.defaultStringIfEmpty(detaultValue: "")
tModel.type = .planDocQuestion3
arrHKPlanData.append(tModel)
}
//4、未来发展计划
do {
let tModel = YHHKPlanDocModel()
tModel.title = "4、未来发展计划"
tModel.content = model.plan_detail.defaultStringIfEmpty(detaultValue: "")
tModel.type = .planDocQuestion4
arrHKPlanData.append(tModel)
}
//5、专业资格及奖项
do {
let tModel = YHHKPlanDocModel()
tModel.title = "5、专业资格及奖项"
tModel.content = model.qualifications_and_awards.defaultStringIfEmpty(detaultValue: "")
tModel.type = .planDocQuestion5
arrHKPlanData.append(tModel)
}
//6、其他材料
do {
let tModel = YHHKPlanDocModel()
tModel.title = "6、其他材料"
tModel.content = model.other.defaultStringIfEmpty(detaultValue: "")
tModel.type = .planDocQuestion6
arrHKPlanData.append(tModel)
}
}
}
......@@ -367,11 +367,13 @@ extension YHChildPrimaryInfoVC : UITableViewDelegate, UITableViewDataSource {
[weak self] country in
guard let self = self else { return }
let title = arr[0] as! YHFormTitleItem
if title.type == .nationality {
if title.type == .nationality { // 选国籍
self.child?.nationality = country
} else if title.type == .liveInfo {
} else if title.type == .liveInfo { // // 居住信息选国家地区
self.child?.address.country = country
// 选择国家地区后需清空城市
self.child?.address.area = []
}
self.loadInfo()
......@@ -381,23 +383,36 @@ extension YHChildPrimaryInfoVC : UITableViewDelegate, UITableViewDataSource {
} else if detailItem.type == .liveCity {
let vc = YHAddressViewController()
vc.backLocationStringController = {
[weak self] (string1, string2, string3, string4) in
var provice = ""
if let country = self.child?.address.country {
if country.contains("台湾") {
provice = "台湾省"
}
if country.contains("香港") {
provice = "香港特别行政区"
}
if country.contains("澳门") {
provice = "澳门特别行政区"
}
}
let addressPicker = YHAddressViewController(selectProvince: provice)
addressPicker.backLocationStringController = {
[weak self] (address,province,city,area) in
guard let self = self else { return }
print("\(string1)\n\(string2)\n\(string3)\n\(string4)")
print("\(address)\n\(province)\n\(city)\n\(area)")
var citys:[String] = []
if !isEmptyString(string2) {
citys.append(string2)
if !isEmptyString(province) {
citys.append(province)
}
if !isEmptyString(string3) {
citys.append(string3)
if !isEmptyString(city) {
citys.append(city)
}
self.child?.address.area = citys
self.loadInfo()
save()
}
self.present(vc, animated: true)
UIViewController.current?.present(addressPicker, animated: true, completion: nil)
} else if detailItem.type == .birthday { // 出生日期
......
......@@ -326,11 +326,13 @@ extension YHSpousePrimaryInfoVC : UITableViewDelegate, UITableViewDataSource {
[weak self] country in
guard let self = self else { return }
let title = arr[0] as! YHFormTitleItem
if title.type == .nationality {
if title.type == .nationality { // 选国籍
self.spouse?.nationality = country
} else if title.type == .liveInfo {
} else if title.type == .liveInfo {// 居住信息选国家地区
self.spouse?.address.country = country
// 选择国家地区后需清空城市
self.spouse?.address.area = []
}
self.loadInfo()
......@@ -340,23 +342,36 @@ extension YHSpousePrimaryInfoVC : UITableViewDelegate, UITableViewDataSource {
} else if detailItem.type == .liveCity {
let vc = YHAddressViewController()
vc.backLocationStringController = {
[weak self] (string1, string2, string3, string4) in
var provice = ""
if let country = self.spouse?.address.country {
if country.contains("台湾") {
provice = "台湾省"
}
if country.contains("香港") {
provice = "香港特别行政区"
}
if country.contains("澳门") {
provice = "澳门特别行政区"
}
}
let addressPicker = YHAddressViewController(selectProvince: provice)
addressPicker.backLocationStringController = {
[weak self] (address,province,city,area) in
guard let self = self else { return }
print("\(string1)\n\(string2)\n\(string3)\n\(string4)")
print("\(address)\n\(province)\n\(city)\n\(area)")
var citys:[String] = []
if !isEmptyString(string2) {
citys.append(string2)
if !isEmptyString(province) {
citys.append(province)
}
if !isEmptyString(string3) {
citys.append(string3)
if !isEmptyString(city) {
citys.append(city)
}
self.spouse?.address.area = citys
self.loadInfo()
save()
}
self.present(vc, animated: true)
UIViewController.current?.present(addressPicker, animated: true, completion: nil)
}
}
......
......@@ -14,6 +14,13 @@ enum YHWholeScreenTipsViewType : Int {
case degreeType //学位类型
case company //用人单位介绍
case officialWebsite //用人单位官网
case hkPlanQ1 //赴港计划书问题1
case hkPlanQ2 //赴港计划书问题2
case hkPlanQ3 //赴港计划书问题3
case hkPlanQ4 //赴港计划书问题4
case hkPlanQ5 //赴港计划书问题5
case hkPlanQ6 //赴港计划书问题6
}
......@@ -66,6 +73,18 @@ class YHWholeScreenTipsView: UIView {
return "可先填写用人单位名称,选择指定的用人单位后,系统将为您自动填写单位介绍"
case .officialWebsite:
return "可先填写用人单位名称,选择指定的用人单位后,系统将为您自动填写单位官网"
case .hkPlanQ1:
return "请以不超过100字简介你的主要事业成就,包括你在主要工作项目上曾担当的角色、你工作期间曾服务的知名机构/单位或你对有关工作项目及机构的重大贡献"
case .hkPlanQ2:
return "请以不超过100字简介你的专业技能或人才清单内相关专业的成就,以及有关技能/专业如何对香港经济或社会做出重大贡献"
case .hkPlanQ3:
return "请以不超过100字简介你的学业成就,包括你的学业成绩或曾取得的奖项(如有)"
case .hkPlanQ4:
return "请以不超过100字简介你未来在香港发展事业的计划,包括你与本地商业或学业机构联系及合作的详情(如有)"
case .hkPlanQ5:
return "请以不超过100字简介你所属的专业界别内曾获取由国家或国际认可/著名团体颁奖的专业资格,及曾取得的奖项(如有)"
case .hkPlanQ6:
return "请以不超过100字简介你认为对评核你的申请非常重要的其他材料"
default:
return "--"
}
......
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "tishi@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "tishi@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
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