Commit 0aa8b073 authored by David黄金龙's avatar David黄金龙

Merge commit '10f51c33' into davidhuang

* commit '10f51c33':
  主申请人逻辑

# Conflicts:
#	galaxy/galaxy/Classes/Tools/NetWork/YHNetRequest.swift
parents c9672427 10f51c33
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
import UIKit import UIKit
class YHSelectCountryViewController: YHBaseViewController { class YHSelectCountryViewController: YHBaseViewController {
public var backLocationStringController: ((String) -> Void)?
var searchView: UITextField! var searchView: UITextField!
var flagLabel: UILabel! var flagLabel: UILabel!
var tableView: UITableView! var tableView: UITableView!
...@@ -144,6 +145,16 @@ extension YHSelectCountryViewController: UITableViewDelegate, UITableViewDataSou ...@@ -144,6 +145,16 @@ extension YHSelectCountryViewController: UITableViewDelegate, UITableViewDataSou
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 44 return 44
} }
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let cn = searchDataSource?[indexPath.row].name_cn ?? ""
let en = searchDataSource?[indexPath.row].name_en ?? ""
let text = cn + en
if let backLocationStringController = backLocationStringController {
backLocationStringController(text)
self.navigationController?.popViewController()
}
}
} }
extension YHSelectCountryViewController: UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout { extension YHSelectCountryViewController: UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout {
...@@ -163,6 +174,13 @@ extension YHSelectCountryViewController: UICollectionViewDelegate, UICollectionV ...@@ -163,6 +174,13 @@ extension YHSelectCountryViewController: UICollectionViewDelegate, UICollectionV
return CGSize(width: size.width + 25, height: 32) // 这里可以根据需求设置不同的尺寸 return CGSize(width: size.width + 25, height: 32) // 这里可以根据需求设置不同的尺寸
} }
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
let string = hotDataSource[indexPath.row]
if let backLocationStringController = backLocationStringController {
backLocationStringController(string)
self.navigationController?.popViewController()
}
}
} }
class YHCountryCollectionViewCell: UICollectionViewCell { class YHCountryCollectionViewCell: UICollectionViewCell {
......
...@@ -19,7 +19,43 @@ enum YHItemSelectType: Int { ...@@ -19,7 +19,43 @@ enum YHItemSelectType: Int {
case marry = 7 case marry = 7
} }
enum YHItemID: Int {
case id1 = 0 //国籍 国家
case id2 = 1 // 现居住地址 国家
case id3 = 2 // 现居住地址 省市区
case id4 = 3 // 现居住地址 详细地址
case id5 = 4 // 通行证 是否
case id6 = 5 // 中国身份证 上传
case id7 = 6 // 港澳通行证 上传
case id8 = 7 // 中国身份证 身份证号码
case id9 = 8 // 中国身份证 签发地
case id10 = 9 // 中国身份证 签发日期
case id11 = 10 // 中国身份证 届满日期
case id12 = 11 // 港澳通行证 身份证号码
case id13 = 12 // 港澳通行证 签发地
case id14 = 13 // 港澳通行证 签发日期
case id15 = 14 // 港澳通行证 届满日期
case id16 = 15 // 护照 类型
case id17 = 16 // 护照 身份证号码
case id18 = 17 // 护照 签发地
case id19 = 18 // 护照 签发日期
case id20 = 19 // 护照 届满日期
case id21 = 20 // 主申请人信息 姓名
case id22 = 21 // 主申请人信息 曾用名
case id23 = 22 // 主申请人信息 婚前姓氏
case id24 = 23 // 主申请人信息 出生日期
case id25 = 24 // 主申请人信息 出生国家/地区
case id26 = 25 // 主申请人信息 出生城市
case id27 = 26 // 主申请人信息 性别
case id28 = 27 // 主申请人信息 婚姻状况
case id29 = 28 // 主申请人信息 手机号码
case id30 = 29 // 主申请人信息 电子邮箱
case id31 = 30 // 主申请人信息 香港身份证是否办理过是/否
}
struct YHItemModel { struct YHItemModel {
var id: YHItemID?
var isNeed: Bool? var isNeed: Bool?
var title: String? var title: String?
var isUserKeyBoard: Bool? var isUserKeyBoard: Bool?
...@@ -28,8 +64,10 @@ struct YHItemModel { ...@@ -28,8 +64,10 @@ struct YHItemModel {
var leftButtonString: String? var leftButtonString: String?
var rightButtonString: String? var rightButtonString: String?
var type: YHItemSelectType? var type: YHItemSelectType?
var value: [String]?
init(isNeed: Bool? = nil, title: String? = nil, isUserKeyBoard: Bool? = nil, prompts: String? = nil, message: String? = nil, leftButtonString: String? = nil, rightButtonString: String? = nil, type: YHItemSelectType? = nil) { init(id: YHItemID? = nil, isNeed: Bool? = nil, title: String? = nil, isUserKeyBoard: Bool? = nil, prompts: String? = nil, message: String? = nil, leftButtonString: String? = nil, rightButtonString: String? = nil, type: YHItemSelectType? = nil, value: [String]? = nil) {
self.id = id
self.isNeed = isNeed self.isNeed = isNeed
self.title = title self.title = title
self.isUserKeyBoard = isUserKeyBoard self.isUserKeyBoard = isUserKeyBoard
...@@ -38,6 +76,7 @@ struct YHItemModel { ...@@ -38,6 +76,7 @@ struct YHItemModel {
self.leftButtonString = leftButtonString self.leftButtonString = leftButtonString
self.rightButtonString = rightButtonString self.rightButtonString = rightButtonString
self.type = type self.type = type
self.value = value
} }
} }
......
...@@ -123,7 +123,7 @@ class YHItemView: UIView { ...@@ -123,7 +123,7 @@ class YHItemView: UIView {
if dataSource.isNeed ?? false { if dataSource.isNeed ?? false {
let str = "*" + (dataSource.title ?? "") let str = "*" + (dataSource.title ?? "")
let attributes: [NSAttributedString.Key: Any] = [ let attributes: [NSAttributedString.Key: Any] = [
.font: kFont(size: 14), .font: UIFont.PFSC_R(ofSize: 14),
.foregroundColor: UIColor(hex:0x222222) .foregroundColor: UIColor(hex:0x222222)
] ]
let questionAttrStr = NSMutableAttributedString(string: str, attributes: attributes) let questionAttrStr = NSMutableAttributedString(string: str, attributes: attributes)
...@@ -155,9 +155,9 @@ class YHItemView: UIView { ...@@ -155,9 +155,9 @@ class YHItemView: UIView {
nextStepImageView.isHidden = true nextStepImageView.isHidden = true
messageTextField.isHidden = true messageTextField.isHidden = true
if dataSource.message == "0" { if dataSource.message == "0" {
rightClick() buttonState(isLeft: false)
} else { } else {
leftClick() buttonState(isLeft: true)
} }
} else { } else {
leftButton.isHidden = true leftButton.isHidden = true
...@@ -173,6 +173,26 @@ class YHItemView: UIView { ...@@ -173,6 +173,26 @@ class YHItemView: UIView {
} }
} }
func buttonState(isLeft: Bool) {
if isLeft {
leftButton.isSelected = true
rightButton.isSelected = false
leftButton.layer.borderWidth = 1
leftButton.layer.borderColor = UIColor(hex: 0x4487f9).cgColor
leftButton.backgroundColor = UIColor(hex: 0x4487f9).withAlphaComponent(0.08)
rightButton.backgroundColor = UIColor(hex: 0xf8f9fb)
rightButton.layer.borderWidth = 0
} else {
rightButton.isSelected = true
leftButton.isSelected = false
rightButton.layer.borderWidth = 1
rightButton.layer.borderColor = UIColor(hex: 0x4487f9).cgColor
rightButton.backgroundColor = UIColor(hex: 0x4487f9).withAlphaComponent(0.08)
leftButton.backgroundColor = UIColor(hex: 0xf8f9fb)
leftButton.layer.borderWidth = 0
}
}
@objc func rightClick() { @objc func rightClick() {
rightButton.isSelected = true rightButton.isSelected = true
leftButton.isSelected = false leftButton.isSelected = false
...@@ -182,6 +202,10 @@ class YHItemView: UIView { ...@@ -182,6 +202,10 @@ class YHItemView: UIView {
leftButton.backgroundColor = UIColor(hex: 0xf8f9fb) leftButton.backgroundColor = UIColor(hex: 0xf8f9fb)
leftButton.layer.borderWidth = 0 leftButton.layer.borderWidth = 0
dataSource?.message = "0" dataSource?.message = "0"
dataSource?.value = ["0"]
if let block = block {
block(dataSource ?? YHItemModel())
}
} }
@objc func leftClick() { @objc func leftClick() {
...@@ -193,10 +217,66 @@ class YHItemView: UIView { ...@@ -193,10 +217,66 @@ class YHItemView: UIView {
rightButton.backgroundColor = UIColor(hex: 0xf8f9fb) rightButton.backgroundColor = UIColor(hex: 0xf8f9fb)
rightButton.layer.borderWidth = 0 rightButton.layer.borderWidth = 0
dataSource?.message = "1" dataSource?.message = "1"
dataSource?.value = ["1"]
if let block = block {
block(dataSource ?? YHItemModel())
}
} }
@objc func centerClick() { @objc func centerClick() {
guard let type = dataSource?.type else { return }
switch type {
case .normal:
printLog("不需要跳转")
case .address:
let addressPicker = YHAddressViewController( selectProvince: "上海市", selectCity: "" )
addressPicker.backLocationStringController = { (address,province,city,area) in
self.dataSource?.message = address
self.dataSource?.value = [province, city, area]
self.updateAllViews()
}
UIViewController.current?.present(addressPicker, animated: true, completion: nil)
case .time:
YHDatePickView.show(type: .yyyymmdd) { date in
// let arr = date.components(separatedBy: YHDatePickView.separator)
// [yyyy, mm, dd] eg ["2024", "01", "20"]
self.dataSource?.message = date
self.updateAllViews()
}
case .image:
let view = YHImagePickerView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: KScreenHeight))
view.backImage = { [weak self] image in
guard let self = self else { return }
self.updateAllViews()
}
let window = UIApplication.shared.yhKeyWindow()
window?.addSubview(view)
case .id:
YHFormPickerView.show(type: .certificate, selectTitle: "公务通行证") { selectType in
// 选择类型的标题
self.dataSource?.message = selectType.title
self.updateAllViews()
}
case .country:
let vc = YHSelectCountryViewController()
vc.backLocationStringController = { (country) in
self.dataSource?.message = country
self.updateAllViews()
}
UIViewController.current?.navigationController?.pushViewController(vc)
case .sex:
YHFormPickerView.show(type: .gender, selectType: .gender(.female)) { selectType in
// 选择类型的标题
self.dataSource?.message = selectType.title
self.updateAllViews()
}
case .marry:
YHFormPickerView.show(type: .marriage, selectType: .marriage(.divorced)) { selectType in
// 选择类型的标题
self.dataSource?.message = selectType.title
self.updateAllViews()
}
}
} }
} }
......
...@@ -93,6 +93,8 @@ class YHNetRequest: NSObject { ...@@ -93,6 +93,8 @@ class YHNetRequest: NSObject {
print("sign = \(sign)") print("sign = \(sign)")
requestHeader.add(name:"sign",value:sign) requestHeader.add(name:"sign",value:sign)
requestHeader.add(name: "token", value: "eyJpdiI6Im1JQWdZRml3QUdoYjVucVRkanE0XC9BPT0iLCJ2YWx1ZSI6ImRlVHdXV3BWTFBvYkdzR0Q5V2JcL0NuNEVyT21HVE9RUFg4MTM0Z2hUTDFTMU00bWpXYnBjR2ZwaTlsWGJtXC9tNnpTaElHUnpQVGhBXC9yRVwvZjJzcERGdWVkT1ducWYrc01FYlFpRW9pMFBzVWVtZTRDUklnTVBKT0RCOGpwa3lJaFVpUmtnK2pYTUZLUEdrSWZLUDE2dWFFdFBLSWR4QzhTamE3MnR2NWl0Qm9nNkg2OTg5UnJrYkFabEt2akNhak1RYzFldFwvamRsUGtha0tcL082R1YwajNHK29ZTUlxeVRzWVlsNG5QZmVPc3RGN0pmTTBOSW9qZHR3YUdEWERqZmljZ0Q5SUFmNVwvQ1BueXY4XC9BVU82c1h1OTNxUUFBaEdGNjQwUWxYWW5xQ0FENnZCb05qQnoxaFcxUk15Y3NuQjRBajJtQ2c4Vk44QTR4ZWE1UDR0MFFnRG5rN09ielpxQnNyZE9oMjJZWE1LOXVUUXpmOFhqNytRRXB5OVg5VnVOcVdqRCtCQnFOd1BLR0lkbUpWdGF2MHRkbUplaGdRU3hhbkNCK0wwbEF1a2VCYm5YSHd3SnF1OUhQRXpqbEZGeHBFNHRtcFV0T3NQVlVMR2phMitPbGQ0Wm01WUtJcDAxM3JQck9xUVpUTW5uQnMxQVVDVXU0S0hLUWVTNHlES01rUk51SGREWUlcL2tiQlIraExldUhmMGFDNmxyNzFkamJFOG11VVFYTTdpU3d0aG85S21ac0V2RDRTcXRYMFE1QVVVQTkraitFU05GWllUTWdKdDh1cWE4VWZ1OVZkZmt5d2RrTzg4Z3pidkRkclwva0EzTG9TejdsUWtOc2Myb1M0MEhxVnJSZnJ1UmtCRHB0Sk1SQm5DMDB0akdEZGpsM1RHWnhiXC94aTA5bExxNDB2cGJBTFVoMWd0MjUxTjA2aUQ0MXRsNm5jWEJFUXVVRGxKRytQc3docE9EUkd0VXdnM3kwcUs1NnJraUFLOWRnQ1h2TVRHM2NxeGF3ZGZGV2UwbktkUkhTV0J1TUlzQWdqQm1sOTY3Sm9Nem1FM2hVM3BJUnpZNWlYT0dQZmliV1JiSkRZQWdOTjZuQ3M5N3FwTGZobGtaaWlNSytoRGVyVnVTWUxuWVprM2UzazRVYmMrVmM1dTk4OUNtbmxTMHF1dXlJdXJSVWFhWTRibU9jVDZrQU9GT2kyN25YM3ZnZTE0SzR6ZzZVMEFOcE5cL2I2ZUNXbDN5RElQQ2VcLytDeUk1YkdFaUhFUzNpQlpOdm9ob2JsZ1hpbHZHOE12Y2U3WmxkbEJrM2kybmxjOWJSQVJHMXlTTWM1Z1d0V0RCV0FjVWlKbjJBbmEwMG91K05iVHlCRGRGWTZ3VFd4cnJFcnZhSTNaNnh1NHphcnlUV1lIZnRVOXRsSDJTVmtqUDNMb1BSck4yUVhNYnE2bVBHamFlWmNiXC9LVGFKU3JGU1pcL2ZYTmxabGROb01jRTR3MWlcL3lCQkhZR1RUTnFHVlk4ZjhuclhlTzdaTEs5QlNVRlVnV01cL2NyTm1DeEx2eDR0YXZsS29OMXpGNlNYWEVpcHlSUERDR3RrcjJUcVM2MlJ5S3RKMHRacFU3RHNrdXI2WThoYlBqWnBGdUx2czRsdU1uXC82dTE5Q05vVUJqTmpoZVB4bVwvSUcwR2R3MGNPK21UT0ZJQUhrbDFLWURZV3ZIS2QrU3ZqSk1jU2FBZTZuakZFTDJJSjlvYm02Z2gzQlA3dTQ3bXFTY0ZBN0NqV2p0ODFvbm9WM01rWXNtaEZXemp3NjVZQW1vVk5obEZkU29lUExOMmhicEJ1XC9PSkU2Z2RiclNRMFoxaGh1UEQ0ZnptQUtSaHdnZEtQZFlMaHpQQXJsbTdcL2NxWUpqSlk4b24raFNtVVN6QXZBPT0iLCJtYWMiOiIyNWNhMGExY2VkYWUyNjcxOGVjOWRhYjdjYzA2Y2EwZTMxYzUxZjEzYjBkNzEyMzVkZDgxNTRiODNkMDRiNTRhIn0=") requestHeader.add(name: "token", value: "eyJpdiI6Im1JQWdZRml3QUdoYjVucVRkanE0XC9BPT0iLCJ2YWx1ZSI6ImRlVHdXV3BWTFBvYkdzR0Q5V2JcL0NuNEVyT21HVE9RUFg4MTM0Z2hUTDFTMU00bWpXYnBjR2ZwaTlsWGJtXC9tNnpTaElHUnpQVGhBXC9yRVwvZjJzcERGdWVkT1ducWYrc01FYlFpRW9pMFBzVWVtZTRDUklnTVBKT0RCOGpwa3lJaFVpUmtnK2pYTUZLUEdrSWZLUDE2dWFFdFBLSWR4QzhTamE3MnR2NWl0Qm9nNkg2OTg5UnJrYkFabEt2akNhak1RYzFldFwvamRsUGtha0tcL082R1YwajNHK29ZTUlxeVRzWVlsNG5QZmVPc3RGN0pmTTBOSW9qZHR3YUdEWERqZmljZ0Q5SUFmNVwvQ1BueXY4XC9BVU82c1h1OTNxUUFBaEdGNjQwUWxYWW5xQ0FENnZCb05qQnoxaFcxUk15Y3NuQjRBajJtQ2c4Vk44QTR4ZWE1UDR0MFFnRG5rN09ielpxQnNyZE9oMjJZWE1LOXVUUXpmOFhqNytRRXB5OVg5VnVOcVdqRCtCQnFOd1BLR0lkbUpWdGF2MHRkbUplaGdRU3hhbkNCK0wwbEF1a2VCYm5YSHd3SnF1OUhQRXpqbEZGeHBFNHRtcFV0T3NQVlVMR2phMitPbGQ0Wm01WUtJcDAxM3JQck9xUVpUTW5uQnMxQVVDVXU0S0hLUWVTNHlES01rUk51SGREWUlcL2tiQlIraExldUhmMGFDNmxyNzFkamJFOG11VVFYTTdpU3d0aG85S21ac0V2RDRTcXRYMFE1QVVVQTkraitFU05GWllUTWdKdDh1cWE4VWZ1OVZkZmt5d2RrTzg4Z3pidkRkclwva0EzTG9TejdsUWtOc2Myb1M0MEhxVnJSZnJ1UmtCRHB0Sk1SQm5DMDB0akdEZGpsM1RHWnhiXC94aTA5bExxNDB2cGJBTFVoMWd0MjUxTjA2aUQ0MXRsNm5jWEJFUXVVRGxKRytQc3docE9EUkd0VXdnM3kwcUs1NnJraUFLOWRnQ1h2TVRHM2NxeGF3ZGZGV2UwbktkUkhTV0J1TUlzQWdqQm1sOTY3Sm9Nem1FM2hVM3BJUnpZNWlYT0dQZmliV1JiSkRZQWdOTjZuQ3M5N3FwTGZobGtaaWlNSytoRGVyVnVTWUxuWVprM2UzazRVYmMrVmM1dTk4OUNtbmxTMHF1dXlJdXJSVWFhWTRibU9jVDZrQU9GT2kyN25YM3ZnZTE0SzR6ZzZVMEFOcE5cL2I2ZUNXbDN5RElQQ2VcLytDeUk1YkdFaUhFUzNpQlpOdm9ob2JsZ1hpbHZHOE12Y2U3WmxkbEJrM2kybmxjOWJSQVJHMXlTTWM1Z1d0V0RCV0FjVWlKbjJBbmEwMG91K05iVHlCRGRGWTZ3VFd4cnJFcnZhSTNaNnh1NHphcnlUV1lIZnRVOXRsSDJTVmtqUDNMb1BSck4yUVhNYnE2bVBHamFlWmNiXC9LVGFKU3JGU1pcL2ZYTmxabGROb01jRTR3MWlcL3lCQkhZR1RUTnFHVlk4ZjhuclhlTzdaTEs5QlNVRlVnV01cL2NyTm1DeEx2eDR0YXZsS29OMXpGNlNYWEVpcHlSUERDR3RrcjJUcVM2MlJ5S3RKMHRacFU3RHNrdXI2WThoYlBqWnBGdUx2czRsdU1uXC82dTE5Q05vVUJqTmpoZVB4bVwvSUcwR2R3MGNPK21UT0ZJQUhrbDFLWURZV3ZIS2QrU3ZqSk1jU2FBZTZuakZFTDJJSjlvYm02Z2gzQlA3dTQ3bXFTY0ZBN0NqV2p0ODFvbm9WM01rWXNtaEZXemp3NjVZQW1vVk5obEZkU29lUExOMmhicEJ1XC9PSkU2Z2RiclNRMFoxaGh1UEQ0ZnptQUtSaHdnZEtQZFlMaHpQQXJsbTdcL2NxWUpqSlk4b24raFNtVVN6QXZBPT0iLCJtYWMiOiIyNWNhMGExY2VkYWUyNjcxOGVjOWRhYjdjYzA2Y2EwZTMxYzUxZjEzYjBkNzEyMzVkZDgxNTRiODNkMDRiNTRhIn0=")
headers = requestHeader headers = requestHeader
......
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