Commit a3166828 authored by pete谢兆麟's avatar pete谢兆麟

时间选择器修改

parent 4ba65ae2
...@@ -331,12 +331,15 @@ extension YHEducationDetailVC : UITableViewDelegate, UITableViewDataSource { ...@@ -331,12 +331,15 @@ extension YHEducationDetailVC : UITableViewDelegate, UITableViewDataSource {
} else if detailItem.type == .educationTime || detailItem.type == .graduateTime { // 入学及毕业年月 } else if detailItem.type == .educationTime || detailItem.type == .graduateTime { // 入学及毕业年月
var title = "" var title = ""
var dateStr = ""
if detailItem.type == .educationTime { if detailItem.type == .educationTime {
title = "选择入学日期" title = "选择入学日期"
dateStr = detailInfo.admissionTime
} else if detailItem.type == .graduateTime { } else if detailItem.type == .graduateTime {
title = "选择毕业日期" title = "选择毕业日期"
dateStr = detailInfo.graduateTime
} }
YHDatePickView.show(type: .yyyymm, title: title, lastIsTaday: true) { YHDatePickView.show(type: .yyyymm, title: title, lastIsTaday: true, currentDay: dateStr) {
[weak self] dateStr in [weak self] dateStr in
guard let self = self else { return } guard let self = self else { return }
......
...@@ -288,7 +288,7 @@ extension YHQualificationDetailVC : UITableViewDelegate, UITableViewDataSource { ...@@ -288,7 +288,7 @@ extension YHQualificationDetailVC : UITableViewDelegate, UITableViewDataSource {
} else if detailItem.type == .conferTime { // 授权年份 } else if detailItem.type == .conferTime { // 授权年份
YHDatePickView.show(type: .yyyy, title:"选择授权年份".local, lastIsTaday: true) { YHDatePickView.show(type: .yyyy, title:"选择授权年份".local, lastIsTaday: true, currentDay: "\(detailInfo.issuingYear)") {
[weak self] dateStr in [weak self] dateStr in
guard let self = self else { return } guard let self = self else { return }
......
...@@ -347,24 +347,33 @@ extension YHCertificateInfoController : UITableViewDelegate, UITableViewDataSour ...@@ -347,24 +347,33 @@ extension YHCertificateInfoController : UITableViewDelegate, UITableViewDataSour
} }
self.view?.endEditing(true) self.view?.endEditing(true)
YHDatePickView.show(type: .yyyymmdd, title: title, lastIsTaday: lastIsTaday) {
guard let familyMember = self.familyMember else { return }
var timeString = ""
var certificate = familyMember.certificates.cnIdentityCard
if titleItem.type == .chinaIdCardInfo {
certificate = familyMember.certificates.cnIdentityCard
} else if titleItem.type == .hkAndMacaoPassport {
certificate = familyMember.certificates.hkMacaoPass
} else if titleItem.type == .passPortOrTravelInfo {
certificate = familyMember.certificates.passport
}
if detailItem.type == .certificateSignDate { // 选择签发日期
timeString = certificate.issueDateStartAt
} else if detailItem.type == .certificateValidDate { // 届满日期
timeString = certificate.issueDateEndAt
}
YHDatePickView.show(type: .yyyymmdd, title: title, lastIsTaday: lastIsTaday, currentDay: timeString) {
[weak self] dateStr in [weak self] dateStr in
print(dateStr) print(dateStr)
guard let self = self else { return } guard let self = self else { return }
guard let familyMember = self.familyMember else { return }
var certificate = familyMember.certificates.cnIdentityCard
if titleItem.type == .chinaIdCardInfo {
certificate = familyMember.certificates.cnIdentityCard
} else if titleItem.type == .hkAndMacaoPassport {
certificate = familyMember.certificates.hkMacaoPass
} else if titleItem.type == .passPortOrTravelInfo {
certificate = familyMember.certificates.passport
}
let format = DateFormatter() let format = DateFormatter()
format.dateFormat = "yyyy-MM-dd" format.dateFormat = "yyyy-MM-dd"
......
...@@ -460,7 +460,7 @@ extension YHChildBasicInfoVC : UITableViewDelegate, UITableViewDataSource { ...@@ -460,7 +460,7 @@ extension YHChildBasicInfoVC : UITableViewDelegate, UITableViewDataSource {
if detailItem.type == .stayHKDate { if detailItem.type == .stayHKDate {
title = "选择逗留日期" title = "选择逗留日期"
} }
YHDatePickView.show(type: .yyyymmdd, title:title, lastIsTaday: true) { [weak self] dateStr in YHDatePickView.show(type: .yyyymmdd, title:title, lastIsTaday: true, currentDay: self.child?.childInHk.info ?? "") { [weak self] dateStr in
guard let self = self else { return } guard let self = self else { return }
if detailItem.type == .stayHKDate { if detailItem.type == .stayHKDate {
......
...@@ -418,7 +418,7 @@ extension YHChildPrimaryInfoVC : UITableViewDelegate, UITableViewDataSource { ...@@ -418,7 +418,7 @@ extension YHChildPrimaryInfoVC : UITableViewDelegate, UITableViewDataSource {
// 子女选择年满18岁则【是否随行至香港】默认选择否,不可修改 // 子女选择年满18岁则【是否随行至香港】默认选择否,不可修改
// 如果未年满18岁则【是否随行至香港】可选择【是/否】,可修改 // 如果未年满18岁则【是否随行至香港】可选择【是/否】,可修改
YHDatePickView.show(type: .yyyymmdd, title:"选择出生日期".local, lastIsTaday: true) { [weak self] date in YHDatePickView.show(type: .yyyymmdd, title:"选择出生日期".local, lastIsTaday: true, currentDay: child?.birthday ?? "") { [weak self] date in
guard let self = self else { return } guard let self = self else { return }
if detailItem.type == .birthday { if detailItem.type == .birthday {
......
...@@ -422,7 +422,7 @@ extension YHBrotherInfoVC : UITableViewDelegate, UITableViewDataSource { ...@@ -422,7 +422,7 @@ extension YHBrotherInfoVC : UITableViewDelegate, UITableViewDataSource {
let detailItem = item as! YHFormDetailItem let detailItem = item as! YHFormDetailItem
if detailItem.type == .birthday { // 出生日期 if detailItem.type == .birthday { // 出生日期
YHDatePickView.show(type: .yyyymmdd, title:"选择出生日期".local, lastIsTaday: true) { [weak self] dateStr in YHDatePickView.show(type: .yyyymmdd, title:"选择出生日期".local, lastIsTaday: true, currentDay: self.brotherInfo?.birthday ?? "") { [weak self] dateStr in
guard let self = self else { return } guard let self = self else { return }
if detailItem.type == .birthday { if detailItem.type == .birthday {
......
...@@ -470,7 +470,7 @@ extension YHParentInfoVC : UITableViewDelegate, UITableViewDataSource { ...@@ -470,7 +470,7 @@ extension YHParentInfoVC : UITableViewDelegate, UITableViewDataSource {
let detailItem = item as! YHFormDetailItem let detailItem = item as! YHFormDetailItem
if detailItem.type == .birthday { // 出生日期 if detailItem.type == .birthday { // 出生日期
YHDatePickView.show(type: .yyyymmdd, title:"选择出生日期".local, lastIsTaday: true) { [weak self] dateStr in YHDatePickView.show(type: .yyyymmdd, title:"选择出生日期".local, lastIsTaday: true, currentDay: self.parentInfo?.birthday ?? "") { [weak self] dateStr in
guard let self = self else { return } guard let self = self else { return }
if detailItem.type == .birthday { if detailItem.type == .birthday {
......
...@@ -666,7 +666,7 @@ extension YHSpouseBasicInfoVC : UITableViewDelegate, UITableViewDataSource { ...@@ -666,7 +666,7 @@ extension YHSpouseBasicInfoVC : UITableViewDelegate, UITableViewDataSource {
} else if detailItem.type == .stayHKDate { } else if detailItem.type == .stayHKDate {
title = "选择逗留日期" title = "选择逗留日期"
} }
YHDatePickView.show(type: .yyyymmdd, title:title, lastIsTaday: true) { [weak self] dateStr in YHDatePickView.show(type: .yyyymmdd, title:title, lastIsTaday: true, currentDay: spouse?.birthday ?? "") { [weak self] dateStr in
guard let self = self else { return } guard let self = self else { return }
if detailItem.type == .birthday { if detailItem.type == .birthday {
......
...@@ -35,21 +35,22 @@ class YHDatePickView: UIView { ...@@ -35,21 +35,22 @@ class YHDatePickView: UIView {
var lastIsTaday: Bool = false { var lastIsTaday: Bool = false {
didSet { didSet {
guard let type = type else { return } guard let type = type else { return }
let index = self.currentDateCom.year! - self.dateCom.year!
switch type { switch type {
case .yyyymmdd: case .yyyymmdd:
pickerView.selectRow(99, inComponent: 0, animated: true) pickerView.selectRow(99 - index, inComponent: 0, animated: true)
pickerView.selectRow(self.currentDateCom.month! - 1, inComponent: 1, animated: true) pickerView.selectRow(self.dateCom.month! - 1, inComponent: 1, animated: true)
pickerView.selectRow(self.currentDateCom.day! - 1, inComponent: 2, animated: true) pickerView.selectRow(self.dateCom.day! - 1, inComponent: 2, animated: true)
case .yyyymm: case .yyyymm:
pickerView.selectRow(99, inComponent: 0, animated: true) pickerView.selectRow(99 - index, inComponent: 0, animated: true)
pickerView.selectRow(self.currentDateCom.month! - 1, inComponent: 1, animated: true) pickerView.selectRow(self.dateCom.month! - 1, inComponent: 1, animated: true)
case .yyyy: case .yyyy:
pickerView.selectRow(99, inComponent: 0, animated: true) pickerView.selectRow(99 - index, inComponent: 0, animated: true)
} }
} }
} }
private var currentDateCom: DateComponents = Calendar.current.dateComponents([.year, .month, .day], from: Date()) private var currentDateCom: DateComponents = Calendar.current.dateComponents([.year, .month, .day], from: Date())
var dateCom: DateComponents = Calendar.current.dateComponents([.year, .month, .day], from: Date())
// 日期分割符 eg: 2024-01-01 // 日期分割符 eg: 2024-01-01
static let separator: String = "-" static let separator: String = "-"
...@@ -191,11 +192,23 @@ class YHDatePickView: UIView { ...@@ -191,11 +192,23 @@ class YHDatePickView: UIView {
dismiss() dismiss()
} }
static func show(type:YHDateType, title: String? = nil, lastIsTaday: Bool = false, callBack: @escaping ((String) -> Void)) { static func show(type:YHDateType, title: String? = nil, lastIsTaday: Bool = false, currentDay: String = "", callBack: @escaping ((String) -> Void)) {
let view = YHDatePickView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: KScreenHeight)) let view = YHDatePickView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: KScreenHeight))
view.type = type view.type = type
view.backDate = callBack view.backDate = callBack
view.title = title ?? "" view.title = title ?? ""
let dateFormatter = DateFormatter()
switch type {
case .yyyymmdd:
dateFormatter.dateFormat = "yyyy-MM-dd"
case .yyyymm:
dateFormatter.dateFormat = "yyyy-MM"
case .yyyy:
dateFormatter.dateFormat = "yyyy"
}
if currentDay != "", let date = dateFormatter.date(from: currentDay) {
view.dateCom = Calendar.current.dateComponents([.year, .month, .day], from: date)
}
view.lastIsTaday = lastIsTaday view.lastIsTaday = lastIsTaday
let window = UIApplication.shared.yhKeyWindow() let window = UIApplication.shared.yhKeyWindow()
window?.addSubview(view) window?.addSubview(view)
......
...@@ -448,7 +448,7 @@ class YHItemView: UIView { ...@@ -448,7 +448,7 @@ class YHItemView: UIView {
title = "请选择出生日期" title = "请选择出生日期"
isLastDay = true isLastDay = true
} }
YHDatePickView.show(type: .yyyymmdd, title: title, lastIsTaday: isLastDay) { date in YHDatePickView.show(type: .yyyymmdd, title: title, lastIsTaday: isLastDay, currentDay: dataSource?.message ?? "") { date in
self.dataSource?.message = date self.dataSource?.message = date
self.updateAllViews() self.updateAllViews()
if let block = self.block { if let block = self.block {
......
...@@ -155,7 +155,7 @@ extension YHOtherResidenceFillView { ...@@ -155,7 +155,7 @@ extension YHOtherResidenceFillView {
@objc func tapStartDate(_ gestureRecognizer: UIPanGestureRecognizer) { @objc func tapStartDate(_ gestureRecognizer: UIPanGestureRecognizer) {
YHDatePickView.show(type: .yyyymm,title: "请选择开始时间", lastIsTaday: true) { date in YHDatePickView.show(type: .yyyymm,title: "请选择开始时间", lastIsTaday: true, currentDay: self.dataModel?.start_time ?? "") { date in
printLog(date) printLog(date)
self.startView.updateKeyName(name: "开始时间", keyValue: date) self.startView.updateKeyName(name: "开始时间", keyValue: date)
...@@ -167,7 +167,7 @@ extension YHOtherResidenceFillView { ...@@ -167,7 +167,7 @@ extension YHOtherResidenceFillView {
@objc func tapEndDate(_ gestureRecognizer: UIPanGestureRecognizer) { @objc func tapEndDate(_ gestureRecognizer: UIPanGestureRecognizer) {
if !endView.longTimeButton.isSelected { if !endView.longTimeButton.isSelected {
YHDatePickView.show(type: .yyyymm,title: "请选择结束时间") { date in YHDatePickView.show(type: .yyyymm, title: "请选择结束时间", currentDay: self.dataModel?.end_time ?? "") { date in
printLog(date) printLog(date)
self.endView.updateKeyName(name: "结束时间", keyValue: date) self.endView.updateKeyName(name: "结束时间", keyValue: date)
self.dataModel?.end_time = date self.dataModel?.end_time = date
......
...@@ -289,7 +289,7 @@ class YHWorkIntroductionViewController: YHBaseViewController { ...@@ -289,7 +289,7 @@ class YHWorkIntroductionViewController: YHBaseViewController {
@objc func startClick() { @objc func startClick() {
view.endEditing(true) view.endEditing(true)
YHDatePickView.show(type: .yyyymmdd, title: "请选择开始时间", lastIsTaday: true) { date in YHDatePickView.show(type: .yyyymmdd, title: "请选择开始时间", lastIsTaday: true, currentDay: dataSource.project_start_time ?? "") { date in
if date > self.dataSource.project_end_time ?? "" && self.dataSource.project_end_time?.count ?? 0 > 0 { if date > self.dataSource.project_end_time ?? "" && self.dataSource.project_end_time?.count ?? 0 > 0 {
YHHUD.flash(message: "开始时间不能晚于结束时间") YHHUD.flash(message: "开始时间不能晚于结束时间")
} else { } else {
...@@ -312,7 +312,7 @@ class YHWorkIntroductionViewController: YHBaseViewController { ...@@ -312,7 +312,7 @@ class YHWorkIntroductionViewController: YHBaseViewController {
@objc func endClick() { @objc func endClick() {
view.endEditing(true) view.endEditing(true)
YHDatePickView.show(type: .yyyymmdd, title: "请选择结束时间", lastIsTaday: true) { date in YHDatePickView.show(type: .yyyymmdd, title: "请选择结束时间", lastIsTaday: true, currentDay: dataSource.project_end_time ?? "") { date in
if date < self.dataSource.project_start_time ?? "" { if date < self.dataSource.project_start_time ?? "" {
YHHUD.flash(message: "结束时间不能早于开始时间") YHHUD.flash(message: "结束时间不能早于开始时间")
} else { } else {
......
...@@ -420,7 +420,7 @@ class YHWorkExperienceItemView: UIView { ...@@ -420,7 +420,7 @@ class YHWorkExperienceItemView: UIView {
title = "请选择高管在职结束时间" title = "请选择高管在职结束时间"
lastIsTaday = true lastIsTaday = true
} }
YHDatePickView.show(type: .yyyymm, title: title, lastIsTaday: lastIsTaday) { date in YHDatePickView.show(type: .yyyymm, title: title, lastIsTaday: lastIsTaday, currentDay: dataSource?.message ?? "") { date in
self.dataSource?.message = date self.dataSource?.message = date
self.updateAllViews() self.updateAllViews()
if let block = self.block { if let block = self.block {
......
...@@ -31,7 +31,7 @@ class YHServiceTableFootView: UIView { ...@@ -31,7 +31,7 @@ class YHServiceTableFootView: UIView {
collectinoView.register(YHHomeCollectionViewCell.self, forCellWithReuseIdentifier:YHHomeCollectionViewCell.cellReuseIdentifier) collectinoView.register(YHHomeCollectionViewCell.self, forCellWithReuseIdentifier:YHHomeCollectionViewCell.cellReuseIdentifier)
collectinoView.delegate = self collectinoView.delegate = self
collectinoView.dataSource = self collectinoView.dataSource = self
collectinoView.bounces = false // collectinoView.bounces = false
collectinoView.translatesAutoresizingMaskIntoConstraints = false collectinoView.translatesAutoresizingMaskIntoConstraints = false
collectinoView.alwaysBounceVertical = true collectinoView.alwaysBounceVertical = true
collectinoView.showsVerticalScrollIndicator = false collectinoView.showsVerticalScrollIndicator = false
......
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