Commit 0edd4297 authored by Steven杜宇's avatar Steven杜宇

// 选择器

parent 3458b157
...@@ -42,7 +42,7 @@ class YHCertificateViewController: YHBaseViewController { ...@@ -42,7 +42,7 @@ class YHCertificateViewController: YHBaseViewController {
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
gk_navTitle = "配偶信息填写".local gk_navTitle = "证件信息填写".local
createUI() createUI()
loadCertificateInfo() loadCertificateInfo()
} }
...@@ -187,6 +187,31 @@ extension YHCertificateViewController : UITableViewDelegate, UITableViewDataSour ...@@ -187,6 +187,31 @@ extension YHCertificateViewController : UITableViewDelegate, UITableViewDataSour
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if indexPath.section >= items.count { return }
let arr:[YHFormItemProtocol] = items[indexPath.section]
if indexPath.row >= arr.count || indexPath.row < 0 { return }
let item = arr[indexPath.row]
if item is YHFormTitleItem {
return
}
if item is YHFormDetailItem {
let detailItem = item as! YHFormDetailItem
if detailItem.type == .certificateValidDate ||
detailItem.type == .certificateSignDate { // 届满日期 签发日期
YHDatePickView.show(type: .yyyymmdd) { date in
let arr = date.components(separatedBy: YHDatePickView.separator)
// [yyyy, mm, dd] eg ["2024", "01", "20"]
print(date)
}
}
return
}
let vc = YHSpouseBasicInfoVC() let vc = YHSpouseBasicInfoVC()
self.navigationController?.pushViewController(vc) self.navigationController?.pushViewController(vc)
} }
......
...@@ -643,11 +643,6 @@ extension YHFamilyMemberFormVC : UITableViewDelegate, UITableViewDataSource { ...@@ -643,11 +643,6 @@ extension YHFamilyMemberFormVC : UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let view = YHFormPickerView(type: YHFormPickerViewType.certificate)
view.selectType = .certificate(.officialPassport)
view.show()
return
let arr = items[indexPath.section] let arr = items[indexPath.section]
let item:YHFormItemProtocol = arr[indexPath.row] let item:YHFormItemProtocol = arr[indexPath.row]
......
...@@ -6,6 +6,24 @@ ...@@ -6,6 +6,24 @@
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved. // Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
// //
// 【 用法 Usage】
/*
// (1) 直接传type
YHFormPickerView.show(type: .certificate, selectType: .certificate(.otherStatelessTravelPassport)) { selectType in
// 选择类型的标题
print(selectType.title)
}
// (2) 直接传字符串值
YHFormPickerView.show(type: .certificate, selectTitle: "公务通行证") { selectType in
// 选择类型的标题
print(selectType.title)
}
*/
import UIKit import UIKit
enum YHFormPickerViewType: Int { enum YHFormPickerViewType: Int {
...@@ -398,6 +416,24 @@ class YHFormPickerView: UIView { ...@@ -398,6 +416,24 @@ class YHFormPickerView: UIView {
UIApplication.shared.yhKeyWindow()?.addSubview(self) UIApplication.shared.yhKeyWindow()?.addSubview(self)
} }
static func show(type:YHFormPickerViewType, selectType:YHFormPickerViewSubType, callBack: @escaping ((YHFormPickerViewSubType)->Void)) {
let picker = YHFormPickerView(type: type)
picker.selectType = selectType
picker.selectBlock = callBack
picker.show()
}
static func show(type:YHFormPickerViewType, selectTitle:String?, callBack: @escaping ((YHFormPickerViewSubType)->Void)) {
let picker = YHFormPickerView(type: type)
picker.selectTitle = selectTitle
picker.selectBlock = callBack
picker.show()
}
@objc func dismiss() { @objc func dismiss() {
self.removeFromSuperview() self.removeFromSuperview()
} }
......
...@@ -7,12 +7,11 @@ ...@@ -7,12 +7,11 @@
// //
/* 使用例子 /* 使用例子
let view = YHDatePickView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: KScreenHeight)) YHDatePickView.show(type: .yyyymmdd) { date in
view.type = .yyyymm let arr = date.components(separatedBy: YHDatePickView.separator)
view.backDate = { [weak self] date in // [yyyy, mm, dd] eg ["2024", "01", "20"]
print(date)
} }
let window = UIApplication.shared.yhKeyWindow()
window?.addSubview(view)
*/ */
import UIKit import UIKit
...@@ -24,6 +23,8 @@ enum YHDateType: Int { ...@@ -24,6 +23,8 @@ enum YHDateType: Int {
} }
class YHDatePickView: UIView { class YHDatePickView: UIView {
var backDate: ((String) -> Void)? var backDate: ((String) -> Void)?
var centerView: UIView! var centerView: UIView!
var titleLabel: UILabel! var titleLabel: UILabel!
...@@ -34,6 +35,10 @@ class YHDatePickView: UIView { ...@@ -34,6 +35,10 @@ class YHDatePickView: UIView {
private var currentDateCom: DateComponents = Calendar.current.dateComponents([.year, .month, .day], from: Date()) private var currentDateCom: DateComponents = Calendar.current.dateComponents([.year, .month, .day], from: Date())
// 日期分割符 eg: 2024-01-01
static let separator: String = "-"
var type: YHDateType? { var type: YHDateType? {
didSet { didSet {
guard let type = type else { return } guard let type = type else { return }
...@@ -160,6 +165,14 @@ class YHDatePickView: UIView { ...@@ -160,6 +165,14 @@ class YHDatePickView: UIView {
dismiss() dismiss()
} }
static func show(type:YHDateType, callBack: @escaping ((String) -> Void)) {
let view = YHDatePickView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: KScreenHeight))
view.type = type
view.backDate = callBack
let window = UIApplication.shared.yhKeyWindow()
window?.addSubview(view)
}
@objc func dismiss() { @objc func dismiss() {
removeFromSuperview() removeFromSuperview()
} }
...@@ -169,9 +182,9 @@ class YHDatePickView: UIView { ...@@ -169,9 +182,9 @@ class YHDatePickView: UIView {
var date = "" var date = ""
switch type { switch type {
case .yyyymmdd: case .yyyymmdd:
date = String(format: "%02ld%02ld%02ld", (self.currentDateCom.year!) - self.pickerView.selectedRow(inComponent: 0), self.pickerView.selectedRow(inComponent: 1) + 1, self.pickerView.selectedRow(inComponent: 2) + 1) date = String(format: "%02ld%@%02ld%@%02ld", (self.currentDateCom.year!) - self.pickerView.selectedRow(inComponent: 0),Self.separator, self.pickerView.selectedRow(inComponent: 1) + 1,Self.separator, self.pickerView.selectedRow(inComponent: 2) + 1)
case .yyyymm: case .yyyymm:
date = String(format: "%02ld%02ld", (self.currentDateCom.year!) - self.pickerView.selectedRow(inComponent: 0), self.pickerView.selectedRow(inComponent: 1) + 1) date = String(format: "%02ld%@%02ld", (self.currentDateCom.year!) - self.pickerView.selectedRow(inComponent: 0),Self.separator, self.pickerView.selectedRow(inComponent: 1) + 1)
case .yyyy: case .yyyy:
date = String(format: "%02ld", (self.currentDateCom.year!) - self.pickerView.selectedRow(inComponent: 0)) date = String(format: "%02ld", (self.currentDateCom.year!) - self.pickerView.selectedRow(inComponent: 0))
} }
......
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