Commit 10f51c33 authored by pete谢兆麟's avatar pete谢兆麟

Merge branch 'xiezhaolin' into develop

# Conflicts:
#	galaxy/galaxy/Classes/Tools/NetWork/YHNetRequest.swift
parents 48876435 22900907
...@@ -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()
}
}
} }
} }
......
...@@ -94,7 +94,6 @@ class YHNetRequest: NSObject { ...@@ -94,7 +94,6 @@ class YHNetRequest: NSObject {
requestHeader.add(name:"sign",value:sign) requestHeader.add(name:"sign",value:sign)
requestHeader.add(name: "token", value: "eyJpdiI6InkrcVNJK2tyMDMzekZOcHE1NklOUUE9PSIsInZhbHVlIjoiRTNMY0VoM2p1b2JvMVoxY28wa2RCRWtMdzA3N1BIaUhqN2F5d3Y5VXp6KzhlNHpTMzdWODlJckNaeUczZkNNamZDbWY0U1c2VGJJOVVBeVpDWUVqV29ISzRkNzh3d2ZZbDFKMk9vN3pRR0g4ZUlXTTliWTNoUzdyNHpQNGtKU1Z3YzMzTnRUMERPQXcwTmpEcXQzSU5qRWt6MlhMWXVEUDB5THNwTWMzZTE1cEtUOUFpXC9xTlB4UFBmeXJ6cHhnNkR6TktFK3hhejJ0OG82cWFGRG5hMkN1dU1zblwvRk8xSEhXTno4Z3Z1WjExYXRHNE1zZXo4Yzh5cW1WSjlNVnBJU1dFOUFYbDBIXC83Q1BtZ3dhK2REa3NFQjI1ODZJalY3U1c0WHM5aG0xSDNzUjJcL0ZPVEhqR1lRTFI3UjBJRVFcL0NRZVlrbWZ4eGJvNUxtZDNJNUdGME45WkwzN1Byc1U5MTdod3RNMFc3TEt5cVNha211aEN6V0g4eFo4YStOYVFYdXhYaTJ6RFN0bTRkb1U3NUV1ZG01XC9UM3pMdlhRSm1VNUpcL0ZwMnpXdkR5XC9hTDJrVW9pamxYRTROOENRSTRsUlVJQ1lGR1phSmJZVVVEK1R6NTZLbkN4WlA5REJhbzN5Qzc4bEE3OTEyTDBJSmZic2dKSkpPWXpaOVF0T1NId05GdGVCYnNBNXVmOWt6MG9GUjRHcEFKVWVJSG1QXC8rTElxZGFTUERlQjdDS1FzUVI2VHJSYXVlZWZ3ZUlVK28rM1VaeGhPXC9OVWFoU0lqUHFkRWdiSG8wcUlcL2IyNWVZUzZ2ZE93ZmZkQXFYXC9CSHJNU0VcL1RPb2RYWW1OVnFhd251UFhjTnI3b2lraVJWcG16SkxRdjFnc1BlaHVTSEdpSTlUMmlBTjF5eFgyb09GSzR6UUdmRHlMZFZNT3JTNmowWGdYNVR5WFM5TnVVNTVYdHduWnV0ZTVNUGNHNngyVGNtK0Q3YTN0ekVZb1E3UFBJd2hmblJEdmZLdk5nUExmaWJJU2hWRVBmdHMzRUM0SW1hTnNSRWt6VWY5NDhodUJJelZvSDNHbjBJMitvb2ZKNGVKMW05SjQ4QVcyTGVtY1JDK2doWE52Kzh6K2xqMVpMWXgxT1NUWUo0UWdocktxbFBxMGx1S0RlbXlJalwvNkhRWUV5dktRcGoxZ3MzT1NWWDN5TGpJQ0hlb1Jta05zdmRpTmdWOXNBYXJidVFnTTlSRG4wUjhEMXg3WWdXUkZSM0JiTlNVaDlBYjZEVFBxdm1lZkw4UGpjRXJMSlVQRFwvNG5zYmp3cVc4emd5bmI4VGU4dW1kS3RhdHhpMGY3NzVKRnVBVjhoVjBHc2VhRmZpS3V4aEdZZFpob3NcLzR1MHpCOUp4ZE92NkZoYU8xc3JuMVdQQjl0QmdoOENCVHZneG1xVFJ1eHVOSVIzN2xnNEVNZ01yeFhzMitESVM0QzdVTmJiUmNkaW1XS2VuR3lqclJNRWk4WmNjK0FyZXh2Qldxd25EU1h1MHE4WElPMnZtSVhQNHBYV1l4QXlKV0dBaUlGem5aMUFGNDFBTmgrMHNIeFVSTWtKUERxQkJvOFJ1anI1SGJZd2hJM1NWbFJnMXdSTUJKMytKeThucDlERVBrK3lkVUVnY1diRkRRXC90aEl2OCtyTFVaQjZcLzlnN01TaXcrVlF0TFVFdGNLbitrVU1WZnlobkVuQXZYSCtqc083cUNXYlRjS21sVDd4ak5FMDlMM05WeHMya3FBblYyVXRNSjI4MklXSmdaUnZqdGxOWTZXS1ZYNXpobTlPWGN0alwvODhoVzM4OEJDeDl3WmZrcGREYnJwbUVRaWdXb2dzMnVcL1ZEYXVxUUtjR1I2WjJuVHNidmlZUHBqREg3bmcyalB2QWdBdz09IiwibWFjIjoiYWYyZTgyMWJkZmUxYzUxOThmYjBiYTI3ZGRhNTk3NWU2NTBlODgzMjZjYmExYzEzZDEwZDA4NGU5YmUzNmIwNiJ9") requestHeader.add(name: "token", value: "eyJpdiI6InkrcVNJK2tyMDMzekZOcHE1NklOUUE9PSIsInZhbHVlIjoiRTNMY0VoM2p1b2JvMVoxY28wa2RCRWtMdzA3N1BIaUhqN2F5d3Y5VXp6KzhlNHpTMzdWODlJckNaeUczZkNNamZDbWY0U1c2VGJJOVVBeVpDWUVqV29ISzRkNzh3d2ZZbDFKMk9vN3pRR0g4ZUlXTTliWTNoUzdyNHpQNGtKU1Z3YzMzTnRUMERPQXcwTmpEcXQzSU5qRWt6MlhMWXVEUDB5THNwTWMzZTE1cEtUOUFpXC9xTlB4UFBmeXJ6cHhnNkR6TktFK3hhejJ0OG82cWFGRG5hMkN1dU1zblwvRk8xSEhXTno4Z3Z1WjExYXRHNE1zZXo4Yzh5cW1WSjlNVnBJU1dFOUFYbDBIXC83Q1BtZ3dhK2REa3NFQjI1ODZJalY3U1c0WHM5aG0xSDNzUjJcL0ZPVEhqR1lRTFI3UjBJRVFcL0NRZVlrbWZ4eGJvNUxtZDNJNUdGME45WkwzN1Byc1U5MTdod3RNMFc3TEt5cVNha211aEN6V0g4eFo4YStOYVFYdXhYaTJ6RFN0bTRkb1U3NUV1ZG01XC9UM3pMdlhRSm1VNUpcL0ZwMnpXdkR5XC9hTDJrVW9pamxYRTROOENRSTRsUlVJQ1lGR1phSmJZVVVEK1R6NTZLbkN4WlA5REJhbzN5Qzc4bEE3OTEyTDBJSmZic2dKSkpPWXpaOVF0T1NId05GdGVCYnNBNXVmOWt6MG9GUjRHcEFKVWVJSG1QXC8rTElxZGFTUERlQjdDS1FzUVI2VHJSYXVlZWZ3ZUlVK28rM1VaeGhPXC9OVWFoU0lqUHFkRWdiSG8wcUlcL2IyNWVZUzZ2ZE93ZmZkQXFYXC9CSHJNU0VcL1RPb2RYWW1OVnFhd251UFhjTnI3b2lraVJWcG16SkxRdjFnc1BlaHVTSEdpSTlUMmlBTjF5eFgyb09GSzR6UUdmRHlMZFZNT3JTNmowWGdYNVR5WFM5TnVVNTVYdHduWnV0ZTVNUGNHNngyVGNtK0Q3YTN0ekVZb1E3UFBJd2hmblJEdmZLdk5nUExmaWJJU2hWRVBmdHMzRUM0SW1hTnNSRWt6VWY5NDhodUJJelZvSDNHbjBJMitvb2ZKNGVKMW05SjQ4QVcyTGVtY1JDK2doWE52Kzh6K2xqMVpMWXgxT1NUWUo0UWdocktxbFBxMGx1S0RlbXlJalwvNkhRWUV5dktRcGoxZ3MzT1NWWDN5TGpJQ0hlb1Jta05zdmRpTmdWOXNBYXJidVFnTTlSRG4wUjhEMXg3WWdXUkZSM0JiTlNVaDlBYjZEVFBxdm1lZkw4UGpjRXJMSlVQRFwvNG5zYmp3cVc4emd5bmI4VGU4dW1kS3RhdHhpMGY3NzVKRnVBVjhoVjBHc2VhRmZpS3V4aEdZZFpob3NcLzR1MHpCOUp4ZE92NkZoYU8xc3JuMVdQQjl0QmdoOENCVHZneG1xVFJ1eHVOSVIzN2xnNEVNZ01yeFhzMitESVM0QzdVTmJiUmNkaW1XS2VuR3lqclJNRWk4WmNjK0FyZXh2Qldxd25EU1h1MHE4WElPMnZtSVhQNHBYV1l4QXlKV0dBaUlGem5aMUFGNDFBTmgrMHNIeFVSTWtKUERxQkJvOFJ1anI1SGJZd2hJM1NWbFJnMXdSTUJKMytKeThucDlERVBrK3lkVUVnY1diRkRRXC90aEl2OCtyTFVaQjZcLzlnN01TaXcrVlF0TFVFdGNLbitrVU1WZnlobkVuQXZYSCtqc083cUNXYlRjS21sVDd4ak5FMDlMM05WeHMya3FBblYyVXRNSjI4MklXSmdaUnZqdGxOWTZXS1ZYNXpobTlPWGN0alwvODhoVzM4OEJDeDl3WmZrcGREYnJwbUVRaWdXb2dzMnVcL1ZEYXVxUUtjR1I2WjJuVHNidmlZUHBqREg3bmcyalB2QWdBdz09IiwibWFjIjoiYWYyZTgyMWJkZmUxYzUxOThmYjBiYTI3ZGRhNTk3NWU2NTBlODgzMjZjYmExYzEzZDEwZDA4NGU5YmUzNmIwNiJ9")
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