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

// 学历信息

parent 1060d1f9
......@@ -8,6 +8,7 @@
/* Begin PBXBuildFile section */
04010B952B6A1DE90093F3BB /* YHSaveAndSubmitView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04010B942B6A1DE90093F3BB /* YHSaveAndSubmitView.swift */; };
040FA3372B6F701E0069D17F /* File.swift in Sources */ = {isa = PBXBuildFile; fileRef = 040FA3362B6F701E0069D17F /* File.swift */; };
041B52872B5657B3007EBCEB /* IMAppKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = 041B52862B5657B3007EBCEB /* IMAppKey.swift */; };
041B528B2B5E15F1007EBCEB /* YHFormItemQuestionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 041B528A2B5E15F1007EBCEB /* YHFormItemQuestionCell.swift */; };
041B528D2B5E58FA007EBCEB /* YHFormItemDoubleChoiceCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 041B528C2B5E58FA007EBCEB /* YHFormItemDoubleChoiceCell.swift */; };
......@@ -223,6 +224,7 @@
/* Begin PBXFileReference section */
04010B942B6A1DE90093F3BB /* YHSaveAndSubmitView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHSaveAndSubmitView.swift; sourceTree = "<group>"; };
040FA3362B6F701E0069D17F /* File.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = File.swift; sourceTree = "<group>"; };
041B52862B5657B3007EBCEB /* IMAppKey.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IMAppKey.swift; sourceTree = "<group>"; };
041B528A2B5E15F1007EBCEB /* YHFormItemQuestionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHFormItemQuestionCell.swift; sourceTree = "<group>"; };
041B528C2B5E58FA007EBCEB /* YHFormItemDoubleChoiceCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHFormItemDoubleChoiceCell.swift; sourceTree = "<group>"; };
......@@ -441,6 +443,14 @@
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
040FA3352B6F700F0069D17F /* M */ = {
isa = PBXGroup;
children = (
040FA3362B6F701E0069D17F /* File.swift */,
);
path = M;
sourceTree = "<group>";
};
041B52852B565798007EBCEB /* IM */ = {
isa = PBXGroup;
children = (
......@@ -1056,6 +1066,7 @@
A5ACE91E2B4564F7002C94D2 /* Base */ = {
isa = PBXGroup;
children = (
040FA3352B6F700F0069D17F /* M */,
A5ACE91F2B4564F7002C94D2 /* C */,
A5ACE9232B4564F7002C94D2 /* V */,
);
......@@ -1498,6 +1509,7 @@
042FBBC72B64CFBF00F9DE23 /* YHChildInitialInfoVC.swift in Sources */,
04A7BC912B6B7B89000E8D47 /* YHTwoOptionAlertView.swift in Sources */,
0468D4792B68A08600CFB916 /* YHAddressViewController.swift in Sources */,
040FA3372B6F701E0069D17F /* File.swift in Sources */,
A5ACE9562B4564F7002C94D2 /* YHBouncesContentView.swift in Sources */,
042FBBCB2B65058000F9DE23 /* YHChildBasicInfoVC.swift in Sources */,
A5ACE9302B4564F7002C94D2 /* Algorithm.swift in Sources */,
......
//
// File.swift
// galaxy
//
// Created by edy on 2024/2/4.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import Alamofire
struct ArrayEncoding: ParameterEncoding {
func encode(_ urlRequest: URLRequestConvertible, with parameters: Parameters?) throws -> URLRequest {
var request = try URLEncoding().encode(urlRequest, with: parameters)
request.url = URL(string: request.url!.absoluteString.replacingOccurrences(of: "%5B%5D=", with: "="))
return request
}
}
......@@ -137,14 +137,12 @@ class YHSpouseBasicInfoVC: YHBaseViewController {
if let degreeArr = spouse.hasDegreeJson, !degreeArr.isEmpty {
for degreeInfo in degreeArr {
let item = YHFormDetailItem(type: .degreeDetailInfo)
item.value = degreeInfo.toJSONString()
arr2.append(item)
}
} else { // 学位数组为空则添加一个
let item = YHFormDetailItem(type: .degreeDetailInfo)
let newDegree = YHHasDegreeJson()
spouse.hasDegreeJson = [newDegree]
item.value = newDegree.toJSONString()
arr2.append(item)
}
// 添加一行增加学历学位信息
......@@ -274,6 +272,13 @@ extension YHSpouseBasicInfoVC : UITableViewDelegate, UITableViewDataSource {
if cellType == .addItem { // 新增item cell
let cell = tableView.dequeueReusableCell(withIdentifier: YHFormItemAddCell.cellReuseIdentifier, for: indexPath) as! YHFormItemAddCell
cell.title = item.getTitle()
cell.clickBlock = {
[weak self] in
guard let self = self else { return }
let newDegree = YHHasDegreeJson()
self.spouse?.hasDegreeJson?.append(newDegree)
self.loadBasicInfo()
}
return cell
}
......@@ -384,6 +389,15 @@ extension YHSpouseBasicInfoVC : UITableViewDelegate, UITableViewDataSource {
} else {
cell.degree = ""
}
if let address = degreeInfo.address {
if let addressIndex = Int(address), let subType = YHPickerViewDegreeLocationType(rawValue: addressIndex) {
cell.degreePlace = YHFormPickerViewSubType.degreeLocation(subType).title
} else {
cell.degreePlace = ""
}
} else {
cell.degreePlace = ""
}
cell.degreeClickBlock = {
YHFormPickerView.show(type: .degree) { [weak self] selectType in
guard let self = self else { return }
......@@ -392,9 +406,9 @@ extension YHSpouseBasicInfoVC : UITableViewDelegate, UITableViewDataSource {
}
}
cell.areaClickBlock = {
YHFormPickerView.show(type: .degree) { [weak self] selectType in
YHFormPickerView.show(type: .degreeLocation) { [weak self] selectType in
guard let self = self else { return }
degreeInfo.degree = String(selectType.index)
degreeInfo.address = String(selectType.index)
self.loadBasicInfo()
}
}
......
......@@ -158,11 +158,12 @@ extension YHSpouseInfoVC {
guard let spouse = spouse else { return }
guard let info = spouse.toDictionary() else { return }
let arr = spouse.hasDegreeJson
let arr = info["has_degree_json"] as! [[String:Any]]
let parmas:[String:Any] = info
let dict:[String: Any] = ["orderId":self.orderId,
"relation":spouse.relationType.rawValue,
"step":spouse.step,
"step":0,
"next":false,
"info":info]
......
......@@ -28,7 +28,10 @@ class YHFamilyRequestViewModel {
return
}
printLog("model 是 ==> \(model)")
let dic = model.data?.peel
let dic = model.data?.peel as? [AnyHashable : Any]
let spouse = dic?["spouse"] as? [String: Any]
let arr = spouse?["has_degree_json"]
guard let resultModel = YHFamilyMemberGroupInfo.deserialize(dict: dic as? [AnyHashable : Any]) else {
callBackBlock(false,nil)
......
......@@ -46,6 +46,8 @@ enum YHFormPickerViewType: Int {
case certificate
// 在港身份
case identity
// 颁发地区
case degreeLocation
}
......@@ -60,6 +62,7 @@ enum YHFormPickerViewSubType {
case gender(YHPickerViewGenderType)
case certificate(YHPickerViewCertificateType)
case identity(YHPickerViewIdentityType)
case degreeLocation(YHPickerViewDegreeLocationType)
var title:String {
switch self {
......@@ -136,6 +139,10 @@ enum YHFormPickerViewSubType {
case .identity(.other):
return "其他".local
case .degreeLocation(.domestic):
return "国内 (颁发)".local
case .degreeLocation(.forgin):
return "国外 (颁发)".local
}
return ""
}
......@@ -217,6 +224,12 @@ enum YHFormPickerViewSubType {
return 3
case .identity(.other):
return 4
case .degreeLocation(.domestic):
return 1
case .degreeLocation(.forgin):
return 2
}
}
......@@ -310,6 +323,13 @@ enum YHPickerViewHasDegreeType: Int {
case hasDegree = 1
}
enum YHPickerViewDegreeLocationType:Int {
// 国内
case domestic = 1
// 国外
case forgin = 2
}
class YHFormPickerViewItem {
......@@ -467,9 +487,15 @@ class YHFormPickerView: UIView {
YHFormPickerViewItem(type: .identity(.visit)),
YHFormPickerViewItem(type: .identity(.other))],
// 是否拥有学位
.ownDegree:
[YHFormPickerViewItem(type: .ownDegree(.noDegree)),
YHFormPickerViewItem(type: .ownDegree(.hasDegree))]
YHFormPickerViewItem(type: .ownDegree(.hasDegree))],
// 学位颁发地区
.degreeLocation:
[YHFormPickerViewItem(type: .degreeLocation(.domestic)),
YHFormPickerViewItem(type: .degreeLocation(.forgin))],
]
}()
......@@ -619,6 +645,8 @@ class YHFormPickerView: UIView {
return "选择在港身份"
case .ownDegree:
return "是否拥有学位"
case .degreeLocation:
return "选择学位"
}
}
}
......@@ -766,6 +794,13 @@ extension YHFormPickerView {
} else if title == "有学位".local {
return .ownDegree(.hasDegree)
}
case .degreeLocation:
if title == "国内 (颁发)".local {
return .degreeLocation(.domestic)
} else if title == "国外 (颁发)".local {
return .degreeLocation(.forgin)
}
}
return .none
}
......
......@@ -8,6 +8,7 @@
import Foundation
import Alamofire
import CryptoSwift
import UIKit
//class YHNetErrorModel {
// var responseStatusCode: Int = 0
......@@ -92,7 +93,8 @@ class YHNetRequest: NSObject {
print("sign = \(sign)")
requestHeader.add(name:"sign",value:sign)
requestHeader.add(name: "token", value: "eyJpdiI6InkrcVNJK2tyMDMzekZOcHE1NklOUUE9PSIsInZhbHVlIjoiRTNMY0VoM2p1b2JvMVoxY28wa2RCRWtMdzA3N1BIaUhqN2F5d3Y5VXp6KzhlNHpTMzdWODlJckNaeUczZkNNamZDbWY0U1c2VGJJOVVBeVpDWUVqV29ISzRkNzh3d2ZZbDFKMk9vN3pRR0g4ZUlXTTliWTNoUzdyNHpQNGtKU1Z3YzMzTnRUMERPQXcwTmpEcXQzSU5qRWt6MlhMWXVEUDB5THNwTWMzZTE1cEtUOUFpXC9xTlB4UFBmeXJ6cHhnNkR6TktFK3hhejJ0OG82cWFGRG5hMkN1dU1zblwvRk8xSEhXTno4Z3Z1WjExYXRHNE1zZXo4Yzh5cW1WSjlNVnBJU1dFOUFYbDBIXC83Q1BtZ3dhK2REa3NFQjI1ODZJalY3U1c0WHM5aG0xSDNzUjJcL0ZPVEhqR1lRTFI3UjBJRVFcL0NRZVlrbWZ4eGJvNUxtZDNJNUdGME45WkwzN1Byc1U5MTdod3RNMFc3TEt5cVNha211aEN6V0g4eFo4YStOYVFYdXhYaTJ6RFN0bTRkb1U3NUV1ZG01XC9UM3pMdlhRSm1VNUpcL0ZwMnpXdkR5XC9hTDJrVW9pamxYRTROOENRSTRsUlVJQ1lGR1phSmJZVVVEK1R6NTZLbkN4WlA5REJhbzN5Qzc4bEE3OTEyTDBJSmZic2dKSkpPWXpaOVF0T1NId05GdGVCYnNBNXVmOWt6MG9GUjRHcEFKVWVJSG1QXC8rTElxZGFTUERlQjdDS1FzUVI2VHJSYXVlZWZ3ZUlVK28rM1VaeGhPXC9OVWFoU0lqUHFkRWdiSG8wcUlcL2IyNWVZUzZ2ZE93ZmZkQXFYXC9CSHJNU0VcL1RPb2RYWW1OVnFhd251UFhjTnI3b2lraVJWcG16SkxRdjFnc1BlaHVTSEdpSTlUMmlBTjF5eFgyb09GSzR6UUdmRHlMZFZNT3JTNmowWGdYNVR5WFM5TnVVNTVYdHduWnV0ZTVNUGNHNngyVGNtK0Q3YTN0ekVZb1E3UFBJd2hmblJEdmZLdk5nUExmaWJJU2hWRVBmdHMzRUM0SW1hTnNSRWt6VWY5NDhodUJJelZvSDNHbjBJMitvb2ZKNGVKMW05SjQ4QVcyTGVtY1JDK2doWE52Kzh6K2xqMVpMWXgxT1NUWUo0UWdocktxbFBxMGx1S0RlbXlJalwvNkhRWUV5dktRcGoxZ3MzT1NWWDN5TGpJQ0hlb1Jta05zdmRpTmdWOXNBYXJidVFnTTlSRG4wUjhEMXg3WWdXUkZSM0JiTlNVaDlBYjZEVFBxdm1lZkw4UGpjRXJMSlVQRFwvNG5zYmp3cVc4emd5bmI4VGU4dW1kS3RhdHhpMGY3NzVKRnVBVjhoVjBHc2VhRmZpS3V4aEdZZFpob3NcLzR1MHpCOUp4ZE92NkZoYU8xc3JuMVdQQjl0QmdoOENCVHZneG1xVFJ1eHVOSVIzN2xnNEVNZ01yeFhzMitESVM0QzdVTmJiUmNkaW1XS2VuR3lqclJNRWk4WmNjK0FyZXh2Qldxd25EU1h1MHE4WElPMnZtSVhQNHBYV1l4QXlKV0dBaUlGem5aMUFGNDFBTmgrMHNIeFVSTWtKUERxQkJvOFJ1anI1SGJZd2hJM1NWbFJnMXdSTUJKMytKeThucDlERVBrK3lkVUVnY1diRkRRXC90aEl2OCtyTFVaQjZcLzlnN01TaXcrVlF0TFVFdGNLbitrVU1WZnlobkVuQXZYSCtqc083cUNXYlRjS21sVDd4ak5FMDlMM05WeHMya3FBblYyVXRNSjI4MklXSmdaUnZqdGxOWTZXS1ZYNXpobTlPWGN0alwvODhoVzM4OEJDeDl3WmZrcGREYnJwbUVRaWdXb2dzMnVcL1ZEYXVxUUtjR1I2WjJuVHNidmlZUHBqREg3bmcyalB2QWdBdz09IiwibWFjIjoiYWYyZTgyMWJkZmUxYzUxOThmYjBiYTI3ZGRhNTk3NWU2NTBlODgzMjZjYmExYzEzZDEwZDA4NGU5YmUzNmIwNiJ9")
requestHeader.add(name: "token", value: "eyJpdiI6IlViSTIyb3VvNkVhUjliSFByY0Z3WXc9PSIsInZhbHVlIjoiZEFZbXpWUWlXa2NLcTBLazEzNXlia2VtQ0VXN2h3UjdXMVluZFBZWFwvZjJlbXZ5T1wvUkZcLysrN1ZyRTRoU3FDY3U4ejBUcllkdUo2WUlSRHF3dlhuT3BqVjBTWEI0UkhubStCbE5tcU84dUxZaWxmVWxLXC9tczVBVFhUeW02MmdoSEN6V0w5Y1ViUWsxNmZPK1MxU2RJSEQ3ak9Zak92T2FRdzRVWGphRkRxOXFvaXd2XC9aUjkxRGw0VU1VOGc1U2dXNVpnWmtpQWZCeFwvcVlkbTBKVnNUMzZJUjhTY0dOd25Qc2NuYlRzelZKMG1laGNRY2Vjc3dmdFdCb3VUazFuc0NIbzh1SjJYQWFrWFwvTTFDYnhBNFB6VHJSU0c3XC9mZDZnXC9xQXJaRElYcERGaDQzZzRKTHFpREcyd040OFRpdlpNMm80S1kxZk1nbVJSTVpHWEJtWXFudHVUcm55VWxFb3ZtaFwvS1REYzl4cDFzdUdUT25JckRqblJGUEdERVVIU0JUaVFySDhrdmdWRDNkYlRFbHBqSzhjdkZXMWhBWHRuVG5IbCsxMXFjZWVGM25lNXVjbnNpdGlaYVZlamVUbmZqZkRcL1BzQVVtRUZUR0pCV0RXZjhVajZSMEp5bG5mNVU2c0lZRXQrcm9TaFl6MVUzVjc4VnN3cVF4c3JmYWxJWHBOaG44dFd2bHp6T3AwQkJGN2JcL2V0XC9RTEgyU3RkblM0dFNSeUZuUDQrYzhMZFM5SnlPc25GMzB2d2RiWVlTZXlKa3JlYmRCSlMxd1RYdWRsSzVnaHIrb3d5YnZOZXpvd2RrRTVqS2xyR0xMVjhDQ0J2ZTgyeVdjaWJ3d3puQlUreW5ZM3I5UzlxaDE0VEZHMEdyNE9CUXRtcUpoQzBYWUFYOFRITGhZeVQxSnN6TlpLdm96QmdEYmxFSGtiVnZjT1V2WVQxUHRmNnVnOTlic0VPWHM2dG45Z0toNGpWSTRLXC9CVGQ1RUc2bnpDbStMVnBaa0E3OXFYdFA0YUNSMWdNOUptbThsRHg2Q3YxY25vbjBWWElrQ3ZXT3FlR0VYd2dqRllkeVZzQVI4TzV6Q2wreWhCOHo2WUVxbHZ5S2VIbDdBWmdrTW9CVFkrQXpmaDJkZGN4b1BUMnl2TFFrcjhrU0lFT2VMQkVtOUVLWTBJWEdNbDgzYjlrbDJSQmVYdXJkcGFUNFwvaUduV1VSZzJRRVV2S0tOR3ozYVBwSWlCNHNxaFNZOElNQWNUWVByQ0tQUmFLMjNIRU5yNlZvcnJ3Q1wvTVU0cHkrMkJGdHhBVUVDN1R3K1lBVkd2NHhSVXBlK0pIZEY1THpuRGpcL1o3N0l4ZDgwN1pcL3JhZmpjMzIxd2pFbXFJM1RBOTY0Ykd1TjYwZ3NSZjh5Kzd2cUlHZzJpVTErOUhNSTJxTGQ1cU5NZ2xtekllSnJ2NUZyZjc4MXRjR1d0TG5yOVIxbWtleGJxdGIxTXd3RXdOcU5hamE2YmhJdXk4ZjB6V1VSdWZnZHYxNkQ3SXE0cEY3RUxDUmNXcEEyMVA3b2FqQzJ3UzloZ1BLaytmdXJweUVTbWtYZzEzbzNKcWFYQVJtck81R1UrQU1rUDVFcmpvMm14cVBXc3ByQTlkNGNZVU1hcU83bHBTaGJsU0lYSHljYUEzXC9NSmlidnQ0WU5oeVE1OFJweWVtMGYyXC9DbW1ERDBMRFFmUWRBS3NUemRXSW10cmdzTkVnWTZDQ0d6YzNHNldVVGpiaXlIUWVqdnlcL2dmRGx6VDZOZ0d2bEtnK0RQTFcxanliWWU0Ym5wT1FrUTBtaEhzZlAxZXArSDRNaVRWcVowR2JMWlFuMGNPS2hseFE2eUg3MGJVa1lBcDljRk1LT2hTZUdKckw4SWxxK01FUnY4dHZaY2JSaHc9PSIsIm1hYyI6ImJjYTRlNzljYjc3NTg0NWNiOWQxN2UxYzJmNmRhNjNlMmE1ZGE4YzRkNTZiNzJjNGZiYjM0M2U4ZmIxZmViOWYifQ==")
headers = requestHeader
}
......@@ -139,7 +141,9 @@ class YHNetRequest: NSObject {
///不使用缓存
AF.sessionConfiguration.requestCachePolicy = .reloadIgnoringCacheData
AF.sessionConfiguration.timeoutIntervalForRequest = 20
httpRequest = AF.request(self.url!,method: self.requestType,parameters: self.params,encoding: URLEncoding(destination: .queryString),headers: requestHeaders,interceptor: nil,requestModifier: nil)
let encoding = (self.requestType == .get ? URLEncoding(destination: .queryString) : JSONEncoding()) as ParameterEncoding
httpRequest = AF.request(self.url!, method: self.requestType,parameters: self.params, encoding:encoding, headers: requestHeaders, interceptor: nil, requestModifier: nil)
httpRequest?.responseString(completionHandler: { string in
#if DEBUG
......
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