Commit 6ddc064c715d7048e24144a81475fc98b38bd2dc

Authored by liushiyu
1 parent 65c60a29

属性修改

metaCode/Classes/Main/MinePage/Controller/CNLiveMineInputViewController.swift
... ... @@ -78,7 +78,7 @@ class CNLiveMineInputViewController : CNLiveBaseViewController, UITableViewDeleg
78 78 }
79 79  
80 80 private func loadStandInfoData() {
81   - CNLiveMineViewModel.requestsStandInfo(identityId: "\(_listModel.id)") {[weak self] result, respStatue in
  81 + CNLiveMineViewModel.requestsStandInfo(identityId: "\(_listModel.id)", type: .nodate) {[weak self] result, respStatue in
82 82 if respStatue == .success {
83 83 self?.dataArray.addObjects(from: result as! [Any])
84 84 self?.tableView.reloadData()
... ... @@ -155,10 +155,11 @@ extension CNLiveMineInputViewController {
155 155  
156 156 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
157 157 let infoModel = self.dataArray[indexPath.row] as! MineStandInfoModel
158   - if infoModel.children.count > 0 {
  158 + if infoModel.inputType == 3 || infoModel.inputType == 4 {
  159 + let show_type: CNLiveStandListAlertShowType = infoModel.children.count > 0 ? .custom : .date
159 160 self.view.endEditing(true)
160 161 DispatchQueue.main.asyncAfter(deadline: .now()+0.5) {
161   - MineStandListAlertView.showStandListView(infos: infoModel.children as NSArray,name: "选择\(infoModel.name ?? "")") {[weak self] text in
  162 + MineStandListAlertView.showStandListView(infos: infoModel.children as NSArray,name: "选择\(infoModel.name ?? "")", show_type: show_type) {[weak self] text in
162 163 infoModel.value = text
163 164 self?.tableView.reloadData()
164 165 let is_result = self?.inspectResult()
... ...
metaCode/Classes/Main/MinePage/View/CNLiveMineBodyListView.swift
... ... @@ -703,6 +703,13 @@ class MineBodyInputAuthCell: UITableViewCell, UITextFieldDelegate {
703 703 make.centerY.equalToSuperview()
704 704 make.right.equalTo(moreBtn.snp.left)
705 705 }
  706 + }else if (infoModel.inputType == 4) {//禁止输入 显示下拉时间显示
  707 + contentField.isUserInteractionEnabled = false
  708 + moreBtn.isHidden = false
  709 + contentField.snp.remakeConstraints { make in
  710 + make.centerY.equalToSuperview()
  711 + make.right.equalTo(moreBtn.snp.left)
  712 + }
706 713 }
707 714 }
708 715  
... ...
metaCode/Classes/Main/MinePage/View/CNLiveMineInfoAlertView.swift
... ... @@ -7,10 +7,7 @@
7 7  
8 8 import Foundation
9 9  
10   -//enum CNLiveMineInfoAlertShowType {
11   -// case gender
12   -// case birthday
13   -//}
  10 +
14 11  
15 12 typealias CloseGenderResultBlock = (_ text: String) ->Void
16 13 class MineInfoAlertView: UIView {
... ... @@ -105,7 +102,6 @@ class MineInfoAlertView: UIView {
105 102 lazy var datePicker: UIDatePicker = {
106 103 let datePicker = UIDatePicker.init()
107 104 datePicker.locale = Locale(identifier: "zh_CN")
108   - datePicker.timeZone = TimeZone.init(identifier: "UTC")
109 105 datePicker.setValue(HexColor("#3C3C3C"), forKey: "textColor")
110 106 datePicker.datePickerMode = .date
111 107 datePicker.isHidden = true
... ... @@ -545,6 +541,11 @@ class UpdataAlertView: UIView {
545 541 }
546 542 }
547 543  
  544 +
  545 +enum CNLiveStandListAlertShowType {
  546 + case custom
  547 + case date
  548 +}
548 549 class MineStandListAlertView: UIView, UIPickerViewDelegate, UIPickerViewDataSource {
549 550  
550 551 lazy var tapGesture = UITapGestureRecognizer()
... ... @@ -568,9 +569,34 @@ class MineStandListAlertView: UIView, UIPickerViewDelegate, UIPickerViewDataSour
568 569 pickerView.backgroundColor = .white
569 570 pickerView.delegate = self
570 571 pickerView.dataSource = self
  572 + pickerView.isHidden = !(_show_type == .custom)
571 573 return pickerView
572 574 }()
573 575  
  576 + lazy var datePicker: UIDatePicker = {
  577 + let datePicker = UIDatePicker.init()
  578 + datePicker.locale = Locale(identifier: "zh_CN")
  579 + datePicker.setValue(HexColor("#3C3C3C"), forKey: "textColor")
  580 + datePicker.datePickerMode = .date
  581 + datePicker.isHidden = !(_show_type == .date)
  582 + if #available(iOS 13.4, *) {
  583 + datePicker.preferredDatePickerStyle = .wheels
  584 + } else {
  585 + // Fallback on earlier versions
  586 + }
  587 + if UserInfoManager.shared.userInfo.birthday.count > 0 {
  588 + let dateFomatter = DateFormatter()
  589 + dateFomatter.dateFormat = "yyyy-MM-dd"
  590 + dateFomatter.locale = Locale.init(identifier: "zh_CN")
  591 + let date = dateFomatter.date(from: UserInfoManager.shared.userInfo.birthday)
  592 + datePicker.setDate(date!, animated: true)
  593 + }
  594 + datePicker.minimumDate = Date.init(timeIntervalSince1970: -60*60*24*365*60)
  595 + datePicker.maximumDate = Date.init(timeInterval: 60*60*24*365*10, since: Date.init())
  596 + datePicker.addTarget(self, action: #selector(dateChangeAction), for: .valueChanged)
  597 + return datePicker
  598 + }()
  599 +
574 600 lazy var nameLable : UILabel = {
575 601 let nameLable = UILabel.init()
576 602 nameLable.backgroundColor = .white
... ... @@ -605,17 +631,27 @@ class MineStandListAlertView: UIView, UIPickerViewDelegate, UIPickerViewDataSour
605 631 }()
606 632  
607 633 var text: String?
608   - var result: CloseGenderResultBlock?
609 634 var _infos: NSArray?
610   - init(frame: CGRect, infos: NSArray) {
  635 + var _show_type: CNLiveStandListAlertShowType?
  636 + var result: CloseGenderResultBlock?
  637 + init(frame: CGRect, infos: NSArray, show_type: CNLiveStandListAlertShowType) {
611 638 super.init(frame: frame)
612 639  
613 640 _infos = infos
614   - text = (infos.firstObject as! MineStandInfoModel).name
  641 + _show_type = show_type//56842.5+7840.34
  642 + if _show_type == .custom {
  643 + text = (infos.firstObject as! MineStandInfoModel).name
  644 + }else{
  645 + let formatter = DateFormatter()
  646 + formatter.dateFormat = "yyyy-MM-dd"
  647 + text = formatter.string(from: datePicker.date)
  648 + }
  649 +
615 650  
616 651 addSubview(grayMaskView)
617 652 addSubview(backView)
618 653 backView.addSubview(pickerView)
  654 + backView.addSubview(datePicker)
619 655 backView.addSubview(nameLable)
620 656 backView.addSubview(lineLable)
621 657 backView.addSubview(closeButton)
... ... @@ -658,10 +694,15 @@ class MineStandListAlertView: UIView, UIPickerViewDelegate, UIPickerViewDataSour
658 694 make.left.right.equalToSuperview()
659 695 make.top.equalTo(lineLable.snp.bottom)
660 696 }
  697 + datePicker.snp.makeConstraints { make in
  698 + make.bottom.equalToSuperview()
  699 + make.left.right.equalToSuperview()
  700 + make.top.equalTo(lineLable.snp.bottom)
  701 + }
661 702 }
662 703  
663   - static public func showStandListView(infos: NSArray, name: String, result: @escaping CloseGenderResultBlock) {
664   - let pickerView = MineStandListAlertView.init(frame: .zero, infos: infos)
  704 + static public func showStandListView(infos: NSArray, name: String, show_type: CNLiveStandListAlertShowType, result: @escaping CloseGenderResultBlock) {
  705 + let pickerView = MineStandListAlertView.init(frame: .zero, infos: infos, show_type: show_type)
665 706 pickerView.result = result
666 707 pickerView.nameLable.text = name
667 708 let window = UIApplication.shared.windows.last
... ... @@ -719,4 +760,12 @@ class MineStandListAlertView: UIView, UIPickerViewDelegate, UIPickerViewDataSour
719 760 result!(text ?? "")
720 761 }
721 762 }
  763 +
  764 + @objc func dateChangeAction(sender: UIDatePicker) {
  765 + let formatter = DateFormatter()
  766 + formatter.dateFormat = "yyyy-MM-dd"
  767 + let date = formatter.string(from: datePicker.date)
  768 + print("获取到的时间是:\(date)")
  769 + text = date
  770 + }
722 771 }
... ...
metaCode/Classes/Main/MinePage/ViewModel/CNLiveMineBaseModel.swift
... ... @@ -144,7 +144,7 @@ class StandListModel: BaseModel {
144 144 var timeString: String = ""
145 145 var auth: Bool = false
146 146 var backgroundImg: String = ""
147   - var backgroundColour: String = ""
  147 + var backgroundColor: String = ""
148 148 var description: String = ""
149 149 var cardImg: String = ""
150 150 var downPath: String = ""
... ... @@ -180,7 +180,7 @@ class MineStandInfoBaseModel: BaseModel {
180 180 class MineStandInfoModel: BaseModel {
181 181 var authInfoId: Int = 0
182 182 var name: String?
183   - var inputType: Int = 0//1 文本输入 2数字输入 3下拉选择 4后台生成时间 5后台生成编码 6头像类型
  183 + var inputType: Int = 0//1文本输入 2数字输入 3下拉选择 4后台生成时间 5后台生成编码 6头像类型
184 184 var sort: Int = 0
185 185 var nonEmpty: Bool = false
186 186 var input: Bool = false
... ...
metaCode/Classes/Main/MinePage/ViewModel/CNLiveMineViewModel.swift
... ... @@ -31,6 +31,11 @@ enum CNLiveMineSortType {
31 31 case authlist //我的身份信息列表界面
32 32 case minelist //我的界面->我的身份
33 33 }
  34 +
  35 +enum CNLiveMineGetWriteType {
  36 + case nodate //未填写
  37 + case havedate //已填写
  38 +}
34 39 typealias resultBlock = (_ type: CNLiveMineRequestType,_ result: Bool) -> Void
35 40 typealias resultNewsBlock = (_ result: Any,_ respStatue :CNLiveMineResponseType) -> Void
36 41 class CNLiveMineViewModel: NSObject {
... ... @@ -392,7 +397,7 @@ class CNLiveMineViewModel: NSObject {
392 397 /// - Parameters:
393 398 /// - identityId: 身份id
394 399 /// - resultBlock: 返回
395   - static func requestsStandInfo(identityId: String, resultBlock: @escaping resultNewsBlock) {
  400 + static func requestsStandInfo(identityId: String, type: CNLiveMineGetWriteType, resultBlock: @escaping resultNewsBlock) {
396 401 let param = NSMutableDictionary()
397 402 param.setValue(UserInfoManager.shared.userInfo.uid, forKey: "sid")
398 403 param.setValue(identityId, forKey: "identityId")
... ... @@ -406,6 +411,9 @@ class CNLiveMineViewModel: NSObject {
406 411 let errorCode = "\(resp["errorCode"] ?? "0")"
407 412 if (errorCode == "0") {
408 413 let newsModel = dictionaryToModel(resp as! [String : Any], MineStandInfoBaseModel.self,"data") as! MineStandInfoBaseModel
  414 +// for <#item#> in <#items#> {
  415 +// <#code#>
  416 +// }
409 417 resultBlock(newsModel.authInfos,.success)
410 418 } else {
411 419 showMessage(message: resp["errorMessage"] as! String)
... ...