Commit f3c7eb11 authored by David黄金龙's avatar David黄金龙

Merge branch 'develop' of http://gitlab.galaxy-immi.com/mobile-group/galaxy-iOS into develop

* 'develop' of http://gitlab.galaxy-immi.com/mobile-group/galaxy-iOS:
  //  选择地点
  //  选择办证地点逻辑
  //  办证地点选择逻辑
  //  办证地点接口
  //  时间选择逻辑
  //  选择时间逻辑
  部分逻辑添加
  交换2122逻辑
  //  显示选择人列表
parents 783bba9f b1596fa7
......@@ -126,6 +126,9 @@
04358E042C77322700811928 /* YHHaveGrabbedNumberListCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04358E032C77322700811928 /* YHHaveGrabbedNumberListCell.swift */; };
04358E062C77334B00811928 /* YHHaveGrabbedNumberInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04358E052C77334B00811928 /* YHHaveGrabbedNumberInfoView.swift */; };
04358E082C77657000811928 /* YHReAppointViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04358E072C77657000811928 /* YHReAppointViewController.swift */; };
04358E0A2C7835B000811928 /* YHMakeCertificatePlaceModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04358E092C7835B000811928 /* YHMakeCertificatePlaceModel.swift */; };
04358E0C2C7836BB00811928 /* YHSelectHKPlaceListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04358E0B2C7836BB00811928 /* YHSelectHKPlaceListView.swift */; };
04358E0E2C78395200811928 /* YHHKPlaceInfoCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04358E0D2C78395200811928 /* YHHKPlaceInfoCell.swift */; };
0435FA7F2BA178C100024EAE /* YHCommonAlertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0435FA7E2BA178C100024EAE /* YHCommonAlertView.swift */; };
0435FA812BA186D600024EAE /* YHMyFileMethodTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0435FA802BA186D600024EAE /* YHMyFileMethodTableViewCell.swift */; };
0435FA832BA2DEB100024EAE /* YHCardButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0435FA822BA2DEB100024EAE /* YHCardButton.swift */; };
......@@ -873,6 +876,9 @@
04358E032C77322700811928 /* YHHaveGrabbedNumberListCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHHaveGrabbedNumberListCell.swift; sourceTree = "<group>"; };
04358E052C77334B00811928 /* YHHaveGrabbedNumberInfoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHHaveGrabbedNumberInfoView.swift; sourceTree = "<group>"; };
04358E072C77657000811928 /* YHReAppointViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHReAppointViewController.swift; sourceTree = "<group>"; };
04358E092C7835B000811928 /* YHMakeCertificatePlaceModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMakeCertificatePlaceModel.swift; sourceTree = "<group>"; };
04358E0B2C7836BB00811928 /* YHSelectHKPlaceListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHSelectHKPlaceListView.swift; sourceTree = "<group>"; };
04358E0D2C78395200811928 /* YHHKPlaceInfoCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHHKPlaceInfoCell.swift; sourceTree = "<group>"; };
0435FA7E2BA178C100024EAE /* YHCommonAlertView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHCommonAlertView.swift; sourceTree = "<group>"; };
0435FA802BA186D600024EAE /* YHMyFileMethodTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMyFileMethodTableViewCell.swift; sourceTree = "<group>"; };
0435FA822BA2DEB100024EAE /* YHCardButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHCardButton.swift; sourceTree = "<group>"; };
......@@ -1645,6 +1651,7 @@
04256E222C76D22400A37BA4 /* YHAppointItem.swift */,
04256E1A2C75C60C00A37BA4 /* YHHKMemberModel.swift */,
04256E1C2C75C74200A37BA4 /* YHAppointHKResultModel.swift */,
04358E092C7835B000811928 /* YHMakeCertificatePlaceModel.swift */,
);
path = M;
sourceTree = "<group>";
......@@ -1664,12 +1671,14 @@
04256E262C77127600A37BA4 /* YHWaitAppointMembersCell.swift */,
04256DF12C734E7E00A37BA4 /* YHGrabFileCell.swift */,
04256DF52C736A0800A37BA4 /* YHServiceItemCell.swift */,
04358E0D2C78395200811928 /* YHHKPlaceInfoCell.swift */,
04256DE32C72E3FA00A37BA4 /* YHInfoItemOptionView.swift */,
04256DE92C73263A00A37BA4 /* YHInfoItemSelectSheetView.swift */,
04256DEB2C732F6900A37BA4 /* YHGrabingNumberListView.swift */,
04358E052C77334B00811928 /* YHHaveGrabbedNumberInfoView.swift */,
04256DEF2C733B2D00A37BA4 /* YHGrabNumberInfoView.swift */,
04256DF32C73626900A37BA4 /* YHServiceSelectAlertView.swift */,
04358E0B2C7836BB00811928 /* YHSelectHKPlaceListView.swift */,
);
path = V;
sourceTree = "<group>";
......@@ -4202,6 +4211,7 @@
A5FD63BD2B623C2C00D1D9DA /* YHInformationPerfectListVC.swift in Sources */,
045EEE8D2B9F171A0022A143 /* YHPreviewInfoCell.swift in Sources */,
047AA3E22C4A66CE009C4554 /* YHLifeItemTableViewCell.swift in Sources */,
04358E0C2C7836BB00811928 /* YHSelectHKPlaceListView.swift in Sources */,
0430E6782C74A53F000511E2 /* YHAdopterMarryCardTableViewCell.swift in Sources */,
A5765B262C771F86002CD3C1 /* YHRangeDatePickerView.swift in Sources */,
048FA0362BFDE04000AD3BA9 /* YHSubmitAllInfoSuccessAlertView.swift in Sources */,
......@@ -4309,6 +4319,7 @@
A5ACE94A2B4564F7002C94D2 /* YHHUDProgressView.swift in Sources */,
04A271232BABFF3200652B1B /* YHCertificateUploadTypeCell.swift in Sources */,
04B360F32C636525001EB053 /* YHPrincipleWaitResultViewController.swift in Sources */,
04358E0A2C7835B000811928 /* YHMakeCertificatePlaceModel.swift in Sources */,
A582B2412BB95998009D098C /* YHHKPlanTipsCell.swift in Sources */,
A5D0012C2BABC84A001F003C /* YHFileListBottomView.swift in Sources */,
0485DFDC2C670C7200B50293 /* YHPrincipleSendMailView.swift in Sources */,
......@@ -4780,6 +4791,7 @@
04FD85742C219CFD00BEF9C5 /* YHMatchResultListViewController.swift in Sources */,
045EEEB72B9F171A0022A143 /* YHWorkItemAddView.swift in Sources */,
0430E65C2C744187000511E2 /* YHAdopterCardModel.swift in Sources */,
04358E0E2C78395200811928 /* YHHKPlaceInfoCell.swift in Sources */,
A5ACE9372B4564F7002C94D2 /* YHBaseUrlManager.swift in Sources */,
04EA230A2BB5172F009DA928 /* YHDocumentPromptTableViewCell.swift in Sources */,
A5EB6C6F2C69FB9A0081FB6C /* YHOfficalLetterListModel.swift in Sources */,
......
......@@ -242,25 +242,22 @@ extension YHServiceOrderListView : UITableViewDelegate,UITableViewDataSource {
let vc = YHOfficialApprovalResultVC()
self.navigationController?.pushViewController(vc)
} else if model.type == 21 {
//家庭信息确认
let vc = YHFamilyInfoConfirmViewController()
vc.orderId = orderID
self.navigationController?.pushViewController(vc)
} else if model.type == 22 {
//新增受养人
let vc = YHAddAdoptersViewController()
vc.orderId = orderID
navigationController?.pushViewController(vc)
} else if model.type == 22 {
//家庭信息确认
let vc = YHFamilyInfoConfirmViewController()
vc.orderId = orderID
self.navigationController?.pushViewController(vc)
} else if model.type == 23 {
//赴港时间预约
} else if model.type == 24 {
//电子签字缴费
let vc = YHVisaPaymentVC()
vc.orderID = orderID
navigationController?.pushViewController(vc)
} else if model.type == 24 {
//赴港时间预约
} else if model.type == 25 {
//赴港行程指引
} else if model.type == 26 {
......
......@@ -156,7 +156,10 @@ extension YHAddAdoptersViewController: UITableViewDelegate, UITableViewDataSourc
}
cell.deleteBlock = { [weak self] model in
guard let self = self else { return }
self.viewModel.postDependentsDel(id: model.id) { [weak self] success, error in
guard let self = self else { return }
self.getData()
}
}
cell.clickBlock = { [weak self] model in
guard let self = self else { return }
......
......@@ -90,4 +90,25 @@ class YHAddpterViewModel: YHBaseViewModel {
callBackBlock(false,err)
}
}
func postDependentsDel(id: Int, callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
let params: [String: Any] = ["id": id]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Adopter.del
let _ = YHNetRequest.postRequest(url: strUrl, params: params) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
if json.code == 200 {
let dic = json.data
callBackBlock(true,nil)
} else {
let err = YHErrorModel(errorCode: Int32(json.code), errorMsg: json.msg.isEmpty ? "" : json.msg)
callBackBlock(false,err)
}
} failBlock: { err in
callBackBlock(false,err)
}
}
}
......@@ -36,7 +36,7 @@ class YHCertificateAppointViewController: YHBaseViewController {
lazy var tableView: UITableView = {
let tableView = UITableView(frame:.zero, style:.grouped)
tableView.estimatedSectionHeaderHeight = 16.0
tableView.estimatedSectionHeaderHeight = 0.01
tableView.estimatedSectionFooterHeight = 0.01
tableView.contentInsetAdjustmentBehavior = .never
tableView.showsVerticalScrollIndicator = false
......@@ -74,6 +74,7 @@ class YHCertificateAppointViewController: YHBaseViewController {
make.left.right.bottom.equalToSuperview()
make.top.equalTo(k_Height_NavigationtBarAndStatuBar)
}
requetHKPlaceList()
requestData()
}
......@@ -130,6 +131,10 @@ class YHCertificateAppointViewController: YHBaseViewController {
if self.isAllMembersGo { // 申请人统一赴港激活签证
let item5 = YHAppointItem(type: .confirmGoHKInfo)
let group = YHSelectGroupMemberModel()
group.arr = waitAppointMembers
item5.model = group
item5.placeList = self.viewModel.placeList
items2.append(item5)
} else { // 申请人不是统一赴港激活签证
......@@ -138,6 +143,7 @@ class YHCertificateAppointViewController: YHBaseViewController {
let model1 = YHSelectGroupMemberModel()
model1.arr = waitAppointMembers
item6.model = model1
item6.placeList = self.viewModel.placeList
items2.append(item6)
}
......@@ -405,5 +411,12 @@ extension YHCertificateAppointViewController {
completion?()
}
}
func requetHKPlaceList() {
viewModel.getMakeCerPlaceList { success, error in
}
}
}
......@@ -34,6 +34,8 @@ class YHAppointItem {
var itemIndex : Int = 0
var type: YHAppointItemType = .none
var model : YHSelectGroupMemberModel? // type = .confirmGoHKInfo 时候的赋值
// 办证地点选择列表
var placeList: [YHMakeCertificatePlaceModel] = []
init(type: YHAppointItemType) {
self.type = type
}
......@@ -46,6 +48,9 @@ class YHSelectGroupMemberModel {
//赴港办证时间类型
var dateTye : Int = 0 //0 - 具体日期 1-具体时段
// 具体日期
var detailDateStr : String = ""
//开始时间
var startDateStr : String = ""
......@@ -53,5 +58,5 @@ class YHSelectGroupMemberModel {
var endDateStr : String = ""
//办证地点
var hkPlaceName : String = ""
var hkPlace : YHMakeCertificatePlaceModel = YHMakeCertificatePlaceModel()
}
//
// YHMakeCertificatePlaceModel.swift
// galaxy
//
// Created by edy on 2024/8/23.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
import SmartCodable
class YHMakeCertificatePlaceModel: SmartCodable {
var id: Int = 0
var name: String = ""
// 自定义
var isSelect: Bool = false
required init() {
}
}
//
// YHHKPlaceInfoCell.swift
// galaxy
//
// Created by edy on 2024/8/23.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHHKPlaceInfoCell: UITableViewCell {
static let cellReuseIdentifier = "YHHKPlaceInfoCell"
let selectTextColor = UIColor.mainTextColor
let unselectTextColor = UIColor.mainTextColor(alpha: 0.3)
let selectFont = UIFont.PFSC_M(ofSize: 14)
let unselectFont = UIFont.PFSC_R(ofSize: 14)
let selectBgColor = UIColor.init(hex: 0xF0F4FB)
let unselectBgColor = UIColor.white
func updateModel(_ model: YHMakeCertificatePlaceModel) {
detailLabel.text = model.name
detailLabel.textColor = model.isSelect ? selectTextColor : unselectTextColor
detailLabel.font = model.isSelect ? selectFont : unselectFont
whiteView.backgroundColor = model.isSelect ? selectBgColor : unselectBgColor
}
lazy var whiteView: UIView = {
let view = UIView()
view.backgroundColor = unselectBgColor
view.layer.cornerRadius = 3.0
return view
}()
lazy var detailLabel: UILabel = {
let label = UILabel()
label.numberOfLines = 0
label.textColor = self.unselectTextColor
label.font = self.unselectFont
return label
}()
required init?(coder: NSCoder) {
super.init(coder: coder)
}
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
setupUI()
}
func setupUI() {
self.selectionStyle = .none
self.backgroundColor = .clear
self.contentView.backgroundColor = .clear
contentView.addSubview(self.whiteView)
self.whiteView.addSubview(detailLabel)
whiteView.snp.makeConstraints { make in
make.edges.equalToSuperview()
}
detailLabel.snp.makeConstraints { make in
make.left.equalTo(16)
make.right.equalTo(-16)
make.top.equalTo(12)
make.bottom.equalTo(-12)
}
}
}
......@@ -12,30 +12,43 @@ class YHInfoItemSelectSheetView: UIView {
var titleMaxWidth = 112.0
var clickBlock: (()->())?
var title: String = "" {
didSet {
titleLabel.text = title
}
}
var placeHolder: String = ""
var detail: String = "" {
didSet {
if detail.isEmpty {
// 显示placeHolder
detailLabel.text = self.placeHolder
detailLabel.textColor = .placeHolderColor
detailLabel.textAlignment = .right
return
}
detailLabel.text = detail
detailLabel.textColor = .mainTextColor
detailLabel.textAlignment = .left
}
}
var isShowDetailOneline:Bool = false {
didSet {
detailLabel.textAlignment = isShowDetailOneline ? .right : .left
// detailLabel.textAlignment = isShowDetailOneline ? .right : .left
detailLabel.numberOfLines = isShowDetailOneline ? 1 : 0
detailLabel.snp.remakeConstraints { make in
make.top.equalTo(16)
make.left.equalTo(titleLabel.snp.right)
make.right.equalTo(arrowImgView.snp.left)
make.bottom.equalTo(-16)
if isShowDetailOneline {
make.height.equalTo(20)
} else {
make.left.equalTo(titleLabel.snp.right)
}
}
self.setNeedsLayout()
......@@ -53,13 +66,15 @@ class YHInfoItemSelectSheetView: UIView {
let label = UILabel()
label.numberOfLines = 0
label.font = UIFont.PFSC_R(ofSize: 14)
label.textColor = .mainTextColor
return label
}()
lazy var detailLabel: UILabel = {
private lazy var detailLabel: UILabel = {
let label = UILabel()
label.numberOfLines = 0
label.font = UIFont.PFSC_M(ofSize: 14)
label.textColor = .mainTextColor
return label
}()
......@@ -76,12 +91,19 @@ class YHInfoItemSelectSheetView: UIView {
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
@objc func didSelectView() {
clickBlock?()
}
func createUI() {
self.addSubview(titleLabel)
self.addSubview(detailLabel)
self.addSubview(arrowImgView)
self.addSubview(lineView)
let tap = UITapGestureRecognizer(target: self, action: #selector(didSelectView))
self.addGestureRecognizer(tap)
lineView.snp.makeConstraints { make in
make.left.equalTo(0)
......
......@@ -9,16 +9,6 @@
import UIKit
import AttributedString
class YHSelectApplicantInfo {
var name: String = ""
var isSelect: Bool = false
init(name: String, isSelect: Bool) {
self.name = name
self.isSelect = isSelect
}
}
class YHSelectApplicantGroupCell: UITableViewCell {
static let cellReuseIdentifier = "YHSelectApplicantGroupCell"
......@@ -51,7 +41,7 @@ class YHSelectApplicantGroupCell: UITableViewCell {
collectionView.snp.updateConstraints { make in
make.top.equalTo(isShowSelectUserView ? 14 : 0)
make.bottom.equalTo(isShowSelectUserView ? -14 : 0)
make.height.equalTo(isShowSelectUserView ? 56 : 0)
make.height.equalTo(isShowSelectUserView ? self.getCollectionViewHeight() : 0)
}
optionsView.snp.updateConstraints { make in
......@@ -62,13 +52,6 @@ class YHSelectApplicantGroupCell: UITableViewCell {
self.layoutIfNeeded()
}
}
// lazy var selecters:[YHSelectApplicantInfo] = {
// return [YHSelectApplicantInfo(name: "李小龙", isSelect: true),
// YHSelectApplicantInfo(name: "成龙", isSelect: true),
// YHSelectApplicantInfo(name: "甄子丹", isSelect: true),
// YHSelectApplicantInfo(name: "吉田双阴", isSelect: false),]
// }()
lazy var whiteContentView: UIView = {
let view = UIView()
......@@ -130,7 +113,12 @@ class YHSelectApplicantGroupCell: UITableViewCell {
view.options = ["具体日期", "具体时段"]
view.selectIndex = 0
view.selectBlock = {
index in
[weak self] index in
guard let self = self else { return }
if let model = dataModel?.model {
model.dateTye = index
self.updateUI()
}
}
return view
}()
......@@ -139,14 +127,46 @@ class YHSelectApplicantGroupCell: UITableViewCell {
let view = YHInfoItemSelectSheetView(frame: .zero)
view.isShowDetailOneline = true
view.title = "具体日期"
view.detail = "2024-03-14 ~ 2024-03-14"
view.placeHolder = "请选择具体日期"
view.detail = ""
view.clickBlock = {
[weak self] in
guard let self = self else { return }
if let model = dataModel?.model {
if model.dateTye == 0 { // 选择具体时间
self.selectDetailDate()
} else { // 具体时段
self.selectDurationTime()
}
}
}
return view
}()
lazy var locationSelectView: YHInfoItemSelectSheetView = {
let view = YHInfoItemSelectSheetView(frame: .zero)
view.title = "港府办证地点"
view.detail = "九龙办事处(长沙湾) "
view.placeHolder = "请选择"
view.detail = ""
view.clickBlock = {
[weak self] in
guard let self = self else { return }
if let arr = dataModel?.placeList, arr.count > 0 {
let listView = YHSelectHKPlaceListView.listView()
listView.listArr = arr
listView.selectBlock = {
[weak self] selectPlace in
guard let self = self else { return }
view.detail = selectPlace.name
if let model = dataModel?.model {
model.hkPlace = selectPlace
self.updateUI()
}
}
listView.show()
}
}
return view
}()
......@@ -279,12 +299,96 @@ private extension YHSelectApplicantGroupCell {
return
}
let a: ASAttributedString = .init("*", .font(UIFont.PFSC_M(ofSize: 17)),.foreground(UIColor.failColor))
let b: ASAttributedString = .init("请您确认第\(model.itemIndex + 1)批赴港信息", .font(UIFont.PFSC_M(ofSize: 17)),.foreground(UIColor.mainTextColor))
titleLabel.attributed.text = a+b
collectionView.reloadData()
let isShowSelectList = self.isShowSelectUserView
self.isShowSelectUserView = isShowSelectList
// 时间选择UI更新
optionsView.selectIndex = 0
if let model = dataModel?.model {
if model.dateTye == 0 { // 具体时间
optionsView.selectIndex = 0
timeSelectView.placeHolder = "请选择具体日期"
timeSelectView.detail = model.detailDateStr
} else { // 具体时段
optionsView.selectIndex = 1
timeSelectView.placeHolder = "请选择具体时段"
if !model.startDateStr.isEmpty, !model.endDateStr.isEmpty {
self.timeSelectView.detail = "\(model.startDateStr) ~ \(model.endDateStr)"
} else {
self.timeSelectView.detail = ""
}
}
// 办证地点更新
self.locationSelectView.detail = model.hkPlace.name
}
}
func getCollectionViewHeight() -> CGFloat {
if let arr = dataModel?.model?.arr {
let rowHeight = 20.0
let gap = 16.0
var rowCount = arr.count/3
if arr.count%3 != 0 {
rowCount += 1
}
var height = 0.0
if rowCount > 0 {
height = rowHeight * Double(rowCount) + gap * Double(rowCount-1)
}
return height
}
return 0.0
}
// 选择具体日期
func selectDetailDate() {
YHDatePickView.show(type: .yyyymmdd, title:"选择意向赴港时间".local, lastIsTaday: false, currentDay:"") {
[weak self] dateStr in
guard let self = self else { return }
timeSelectView.detail = dateStr
if let model = dataModel?.model {
model.detailDateStr = dateStr
}
}
}
// 选择时间段
func selectDurationTime() {
let view = YHRangeDatePickerSheetView.sheetView()
view.block = {
[weak self] (startDate,endDate) in
guard let self = self else { return }
let format = DateFormatter()
format.dateFormat = "yyyy-MM-dd"
let startDateStr = format.string(from: startDate)
let endDateStr = format.string(from: endDate)
printLog("\(startDateStr) ~ \(endDateStr)")
if !startDateStr.isEmpty, !endDateStr.isEmpty {
self.timeSelectView.detail = "\(startDateStr) ~ \(endDateStr)"
} else {
self.timeSelectView.detail = ""
}
if let model = dataModel?.model {
model.startDateStr = startDateStr
model.endDateStr = endDateStr
}
}
view.show() //for test hjl
}
}
//
// YHSelectHKPlaceListView.swift
// galaxy
//
// Created by edy on 2024/8/23.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHSelectHKPlaceListView: UIView {
static func listView() -> YHSelectHKPlaceListView {
let view = YHSelectHKPlaceListView(frame: UIScreen.main.bounds)
return view
}
var selectModel: YHMakeCertificatePlaceModel? = nil
var selectBlock: ((YHMakeCertificatePlaceModel)->())?
var listArr:[YHMakeCertificatePlaceModel] = [] {
didSet {
self.tableView.reloadData()
}
}
// 底层蒙版
lazy var blackMaskView: UIView = {
let view = UIView()
view.backgroundColor = .alertMaskColor
return view
}()
lazy var whiteContentView: UIView = {
let view = UIView()
view.backgroundColor = .white
view.layer.cornerRadius = kCornerRadius6
return view
}()
lazy var tableView: UITableView = {
let tableView = UITableView(frame: CGRect.zero, style:.grouped)
if #available(iOS 15.0, *) {
tableView.sectionHeaderTopPadding = 0.0
}
tableView.estimatedSectionHeaderHeight = 0.1
tableView.estimatedSectionFooterHeight = 0.1
tableView.contentInsetAdjustmentBehavior = .never
tableView.showsVerticalScrollIndicator = false
tableView.backgroundColor = .clear
tableView.separatorStyle = .none
tableView.bounces = false
tableView.register(YHHKPlaceInfoCell.self, forCellReuseIdentifier: YHHKPlaceInfoCell.cellReuseIdentifier)
tableView.delegate = self
tableView.dataSource = self
tableView.isScrollEnabled = false
return tableView
}()
var titleLabel: UILabel = {
let label = UILabel()
label.text = "港府办证地点选择"
label.font = UIFont.PFSC_M(ofSize: 17)
label.textColor = UIColor.mainTextColor
label.textAlignment = .center
return label
}()
var cancelBtn: UIButton = {
let button = UIButton(type: .custom)
button.titleLabel?.font = UIFont.PFSC_M(ofSize: 14)
button.contentHorizontalAlignment = .center
button.setTitle("取消", for: .normal)
button.setTitleColor( UIColor.mainTextColor, for: .normal)
return button
}()
var confirmBtn: UIButton = {
let button = UIButton(type: .custom)
button.titleLabel?.font = UIFont.PFSC_M(ofSize: 14)
button.contentHorizontalAlignment = .center
button.setTitle("确定", for: .normal)
button.setTitleColor( UIColor.brandMainColor, for: .normal)
return button
}()
var lineView: UIView = {
let view = UIView()
view.backgroundColor = UIColor.separatorColor
return view
}()
func show() {
UIApplication.shared.yhKeyWindow()?.addSubview(self)
}
@objc func dismiss() {
self.removeFromSuperview()
}
@objc func sure() {
if let model = self.selectModel {
selectBlock?(model)
}
self.dismiss()
}
override init(frame: CGRect) {
super.init(frame: frame)
createUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func createUI() {
self.addSubview(blackMaskView)
self.addSubview(whiteContentView)
whiteContentView.addSubview(titleLabel)
whiteContentView.addSubview(cancelBtn)
whiteContentView.addSubview(confirmBtn)
whiteContentView.addSubview(lineView)
whiteContentView.addSubview(tableView)
cancelBtn.addTarget(self, action: #selector(dismiss), for: .touchUpInside)
confirmBtn.addTarget(self, action: #selector(sure), for: .touchUpInside)
blackMaskView.snp.makeConstraints { make in
make.edges.equalToSuperview()
}
whiteContentView.snp.makeConstraints { make in
make.height.equalTo(403)
make.left.right.bottom.equalToSuperview()
}
titleLabel.snp.makeConstraints { make in
make.top.equalTo(0)
make.height.equalTo(51)
make.centerX.equalToSuperview()
}
cancelBtn.snp.makeConstraints { make in
make.left.equalTo(16)
make.height.equalTo(51)
make.width.equalTo(38)
make.centerY.equalTo(titleLabel)
}
confirmBtn.snp.makeConstraints { make in
make.right.equalTo(-16)
make.height.equalTo(51)
make.width.equalTo(38)
make.centerY.equalTo(titleLabel)
}
lineView.snp.makeConstraints { make in
make.left.equalTo(16)
make.top.equalTo(titleLabel.snp.bottom)
make.height.equalTo(1)
make.right.equalTo(-16)
}
tableView.snp.makeConstraints { make in
make.top.equalTo(lineView.snp.bottom).offset(12)
make.left.equalTo(16)
make.right.equalTo(-16)
make.bottom.equalTo(-34)
}
}
}
extension YHSelectHKPlaceListView: UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return listArr.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: YHHKPlaceInfoCell.cellReuseIdentifier, for: indexPath) as! YHHKPlaceInfoCell
if 0 <= indexPath.row && indexPath.row < listArr.count {
let model = listArr[indexPath.row]
cell.updateModel(model)
}
return cell
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableView.automaticDimension
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if 0 <= indexPath.row && indexPath.row < listArr.count {
let model = listArr[indexPath.row]
selectModel = model
for item in listArr {
item.isSelect = (model.id == item.id)
}
self.tableView.reloadData()
}
}
private func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> CGFloat {
return 0.1
}
private func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> CGFloat {
return 0.1
}
func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
let view = UIView()
return view
}
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let view = UIView()
return view
}
}
......@@ -12,6 +12,7 @@ class YHCerAppointViewModel: NSObject {
var serviceArr: [YHServiceItem] = []
var hkUsers: [YHHKMemberModel] = []
var placeList: [YHMakeCertificatePlaceModel] = []
var appointResult: YHAppointHKResultModel = YHAppointHKResultModel()
// 获取香港服务列表
......@@ -212,6 +213,45 @@ class YHCerAppointViewModel: NSObject {
callback?(false)
}
}
func getMakeCerPlaceList(callback:((_ success: Bool, _ error: YHErrorModel?)->())?) {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.AppointHK.cerPlaceList
let _ = YHNetRequest.getRequest(url: strUrl) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
printLog("model 是 ==> \(json)")
if json.code == 200 {
let dic = json.data
guard let arr = [YHMakeCertificatePlaceModel].deserialize(array: dic as? [Any]) else {
let err = YHErrorModel(errorCode: YHErrorCode.dictParseError.rawValue, errorMsg: YHErrorCode.dictParseError.description())
self.placeList = []
callback?(false, err)
return
}
self.placeList.removeAll()
for user in arr {
if let user = user {
self.placeList.append(user)
}
}
callback?(true, nil)
} else {
let err = YHErrorModel(errorCode: Int32(json.code), errorMsg: json.msg.isEmpty ? "" : json.msg)
self.placeList = []
callback?(false, err)
}
} failBlock: { err in
self.placeList = []
callback?(false, err)
}
}
}
......
......@@ -247,14 +247,14 @@ extension YHServiceOrderProgressTableViewCell {
progressLabel.attributed.text = b + bb
}
if model.type == 21 {
if model.type == 22 {
titleLabel.text = "家庭信息确认"
messageLabel.text = "请确认现阶段信息是否存在变更~"
buttonLabel.text = "待确认"
messageLabel.textColor = UIColor.yhGreyColor50
}
if model.type == 22 {
if model.type == 21 {
titleLabel.text = "新增受养人"
messageLabel.text = "如需,建议现阶段新增,激活后新增需香港住址证明"
buttonLabel.text = "待完善"
......@@ -269,14 +269,14 @@ extension YHServiceOrderProgressTableViewCell {
}
}
if model.type == 23 {
if model.type == 24 {
titleLabel.text = "赴港办证预约"
messageLabel.text = "抢号中~"
buttonLabel.text = "去查看"
messageLabel.textColor = UIColor.yhGreyColor50
}
if model.type == 24 {
if model.type == 23 {
titleLabel.text = "电子签证缴费"
messageLabel.text = "请根据指引缴费领取电子签证~"
buttonLabel.text = "待缴费"
......@@ -337,19 +337,19 @@ extension YHServiceOrderProgressTableViewCell {
messageLabel.text = "恭喜您,文书已全部定稿~"
}
if model.type == 21 {
if model.type == 22 {
titleLabel.text = "家庭信息确认"
messageLabel.text = "请确认现阶段信息是否存在变更~"
buttonLabel.text = "已完成"
}
if model.type == 23 {
if model.type == 24 {
titleLabel.text = "赴港办证预约"
messageLabel.text = "请填写意向办证时间,银河代预约~"
buttonLabel.text = "已完成"
}
if model.type == 24 {
if model.type == 23 {
titleLabel.text = "电子签证缴费"
messageLabel.text = "请根据指引缴费领取电子签证~"
buttonLabel.text = "已完成"
......
......@@ -445,7 +445,8 @@ class YHAllApiName {
static let saveNeedGoHK = "super-app/order/hk/save-need-to-hk"
// 取消预约
static let cancelAppoint = "super-app/reservation/cancel"
// 港府办证地点列表
static let cerPlaceList = "super-app/order/hk/select-position-list"
}
// 新增受养人
......@@ -456,6 +457,9 @@ class YHAllApiName {
static let add = "super-app/order/information/dependent/add"
// 新增配偶子女
static let managementAdd = "super-app/order/information/management/add"
static let del = "super-app/order/information/dependents/del"
}
}
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