Commit e21f878b 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:
  //  去除测试代码
  // 赴港
  // UI
  //  赴港
  //  选择时段和地点控件UI
  // UI
parents a9a88933 f86617d4
......@@ -194,34 +194,38 @@ class YHCertificateAppointViewController: YHBaseViewController {
if self.isAllMembersGo { // 申请人统一赴港激活签证
let item5 = YHAppointItem(type: .confirmGoHKInfo)
item5.itemIndex = 0
let group1 = YHSelectGroupMemberModel()
group1.isAllMembersGoHK = true
group1.arr = waitAppointMembers.deepCopy().map {
let member = $0
member.isSelected = true
return member
if self.waitAppointMembers.count > 0 {
let item5 = YHAppointItem(type: .confirmGoHKInfo)
item5.itemIndex = 0
let group1 = YHSelectGroupMemberModel()
group1.isAllMembersGoHK = true
group1.arr = waitAppointMembers.deepCopy().map {
let member = $0
member.isSelected = true
return member
}
item5.model = group1
item5.placeList = self.viewModel.placeList
item5.arrHkHolidays = self.viewModel.dataModelForHkHolidays?.legaldays ?? []
selectMemberGroupArr.append(item5)
}
item5.model = group1
item5.placeList = self.viewModel.placeList
item5.arrHkHolidays = self.viewModel.dataModelForHkHolidays?.legaldays ?? []
selectMemberGroupArr.append(item5)
} else { // 申请人不是统一赴港激活签证
let item6 = YHAppointItem(type: .confirmGoHKInfo)
item6.itemIndex = 0
let group1 = YHSelectGroupMemberModel()
group1.arr = waitAppointMembers.deepCopy().map {
let member = $0
member.isSelected = true
return member
}
item6.model = group1
item6.placeList = self.viewModel.placeList
item6.arrHkHolidays = self.viewModel.dataModelForHkHolidays?.legaldays ?? []
selectMemberGroupArr.append(item6)
if self.waitAppointMembers.count > 0 {
let item6 = YHAppointItem(type: .confirmGoHKInfo)
item6.itemIndex = 0
let group1 = YHSelectGroupMemberModel()
group1.arr = waitAppointMembers.deepCopy().map {
let member = $0
member.isSelected = true
return member
}
item6.model = group1
item6.placeList = self.viewModel.placeList
item6.arrHkHolidays = self.viewModel.dataModelForHkHolidays?.legaldays ?? []
selectMemberGroupArr.append(item6)
}
}
} else { // 有预约过的人员
......@@ -277,13 +281,14 @@ class YHCertificateAppointViewController: YHBaseViewController {
self.bottomStatus = .confirmSubmitAppoint
} else if self.isNeedGoHK == 0 { // 赴港办证选否
// 底部按钮显示下一步去缴费
self.bottomStatus = .nextStepToPay
// 底部按钮显示下一步去缴费
self.bottomStatus = .nextStepToPay
} else { // 赴港办证未选择
// 不显示底部按钮
self.bottomStatus = .hidden
}
} else { // 有预约过
if waitAppointMembers.count <= 0 { // 全部都预约完了
self.bottomStatus = .nextStepToPay
......@@ -291,6 +296,10 @@ class YHCertificateAppointViewController: YHBaseViewController {
} else { // 还有未预约人员
// 不显示底部按钮
self.bottomStatus = .hidden
if self.successList.count > 0 { // 有不分成功预约人员
// 底部按钮显示下一步去缴费
self.bottomStatus = .nextStepToPay
}
}
}
......@@ -744,6 +753,11 @@ extension YHCertificateAppointViewController {
func submitAppointInfo() {
if self.waitAppointMembers.count <= 0 {
YHHUD.flash(message: "无赴港人员")
return
}
// 检测各批次是否有日期或办证地点未选择
var isOK = true
for item in self.selectMemberGroupArr {
......
......@@ -100,7 +100,7 @@ class YHActivateHKVisaCell: UITableViewCell {
optionView.snp.makeConstraints { make in
make.top.equalTo(lineView.snp.bottom).offset(0)
make.left.equalTo(18)
make.right.equalTo(0)
make.right.equalTo(-18)
make.bottom.equalTo(0)
}
}
......
......@@ -118,7 +118,7 @@ class YHCertificateAppointOptionCell: UITableViewCell {
optionsView.snp.makeConstraints { make in
make.top.equalTo(detailLabel.snp.bottom).offset(10)
make.left.equalTo(18)
make.right.equalTo(0)
make.right.equalTo(-18)
make.bottom.equalTo(-8)
}
}
......
......@@ -20,17 +20,19 @@ class YHGrabItem {
var detail: String = ""
var files: [String] = []
var publicFiles: [String] = []
var isSingleLine: Bool = true
required init() {
}
init(type: YHGrabItemViewType, title: String, detail: String, files:[String] = [], publicFiles:[String] = []) {
init(type: YHGrabItemViewType, title: String, detail: String, files:[String] = [], publicFiles:[String] = [], isSingleLine: Bool = true) {
self.type = type
self.title = title
self.detail = detail
self.files = files
self.publicFiles = publicFiles
self.isSingleLine = isSingleLine
}
}
......@@ -68,6 +70,15 @@ class YHGrabNumberInfoItemView: UIView {
titleLabel.text = item.title
detailLabel.text = item.detail
if item.isSingleLine {
detailLabel.textAlignment = .right
} else { // 需要显示多行
// 当文字只有一行时右对齐,当文字有多行时左对齐
let detaiLabelMaxWidth = KScreenWidth-(34.0+14.0)*2.0-titleMaxWidth
let detailHeight = self.getHeight(text: item.detail, font: detailLabel.font, width: detaiLabelMaxWidth)
detailLabel.textAlignment = detailHeight > 20.0 ? .left : .right
}
if item.type == .grab {
detailLabel.textColor = grabNumColor
......@@ -75,9 +86,13 @@ class YHGrabNumberInfoItemView: UIView {
detailLabel.textColor = infoColor
}
detailLabel.snp.updateConstraints { make in
make.left.greaterThanOrEqualTo(titleLabel.snp.right).offset(item.isSingleLine ? -20 : 0)
}
dotView.isHidden = (item.type != .grab)
collectionView.isHidden = item.type != .files
collectionView.reloadData()
var rowCount = item.files.count/4
if item.files.count%4 != 0 {
......@@ -148,13 +163,13 @@ class YHGrabNumberInfoItemView: UIView {
make.right.equalTo(0)
make.top.equalTo(0)
make.height.greaterThanOrEqualTo(20.0)
make.left.greaterThanOrEqualTo(titleLabel.snp.right).offset(0)
}
dotView.snp.makeConstraints { make in
make.width.height.equalTo(dotWidth)
make.centerY.equalTo(detailLabel)
make.right.equalTo(detailLabel.snp.left).offset(-4)
make.left.greaterThanOrEqualTo(titleLabel.snp.right).offset(0)
}
collectionView.snp.makeConstraints { make in
......@@ -164,6 +179,13 @@ class YHGrabNumberInfoItemView: UIView {
make.bottom.equalTo(0)
}
}
func getHeight(text:String, font:UIFont, width:CGFloat)->CGFloat {
let size = CGSize.init(width:width , height: CGFloat(MAXFLOAT))
let dic = [NSAttributedString.Key.font: font]
let strSize = text.boundingRect(with: size, options: [.usesLineFragmentOrigin], attributes: dic, context:nil).size
return CGSizeMake(strSize.width, ceil(strSize.height)).height
}
}
class YHGrabNumberInfoView: UIView {
......
......@@ -31,14 +31,15 @@ class YHGrabingNumberListCell: UITableViewCell {
}
// 抢号信息
let items1 = [YHGrabItem(type: .grab, title: "赴港时间:", detail: "抢号中"),
YHGrabItem(type: .grab, title: "香港入境处:", detail: "抢号中"),
YHGrabItem(type: .grab, title: "抢号反馈回执:", detail: "抢号中"),]
let items1 = [YHGrabItem(type: .grab, title: "赴港时间:", detail: "抢号中", isSingleLine: true),
YHGrabItem(type: .grab, title: "香港入境处:", detail: "抢号中", isSingleLine: true),
YHGrabItem(type: .grab, title: "抢号反馈回执:", detail: "抢号中",isSingleLine: true),]
listView.grabInfoView.updateItems(items1)
// 意向信息
let items2 = [YHGrabItem(type: .info, title: "期望赴港时间:", detail: "\(group.wantMinTime)~\(group.wantMaxTime)"),
YHGrabItem(type: .info, title: "期望香港办证点:", detail: group.wantImmigrationOffice)]
let items2 = [YHGrabItem(type: .info, title: "期望赴港时间:", detail: "\(group.wantMinTime) ~ \(group.wantMaxTime)",isSingleLine: true),
YHGrabItem(type: .info, title: "期望香港办证点:", detail: group.wantImmigrationOffice, isSingleLine: false)]
listView.intentionInfoView.updateItems(items2)
listContainView.addSubview(listView)
......
......@@ -56,9 +56,9 @@ class YHGrabingNumberListView: UIView {
lazy var grabInfoView: YHGrabNumberInfoView = {
let view = YHGrabNumberInfoView(frame: .zero)
view.titleLabel.text = "抢号信息"
let items = [YHGrabItem(type: .grab, title: "赴港时间:", detail: "抢号中"),
YHGrabItem(type: .grab, title: "香港入境处:", detail: "抢号中"),
YHGrabItem(type: .grab, title: "抢号反馈回执:", detail: "抢号中"),]
let items = [YHGrabItem(type: .grab, title: "赴港时间:", detail: "抢号中", isSingleLine: true),
YHGrabItem(type: .grab, title: "香港入境处:", detail: "抢号中", isSingleLine: true),
YHGrabItem(type: .grab, title: "抢号反馈回执:", detail: "抢号中", isSingleLine: true),]
view.updateItems(items)
return view
}()
......@@ -66,9 +66,9 @@ class YHGrabingNumberListView: UIView {
lazy var intentionInfoView: YHGrabNumberInfoView = {
let view = YHGrabNumberInfoView(frame: .zero)
view.titleLabel.text = "意向信息"
let items = [YHGrabItem(type: .info, title: "期望赴港时间:", detail: ""),
YHGrabItem(type: .info, title: "期望香港办证点:", detail: ""),
YHGrabItem(type: .files, title: "抢号反馈回执:", detail: ""),]
let items = [YHGrabItem(type: .info, title: "期望赴港时间:", detail: "", isSingleLine: true),
YHGrabItem(type: .info, title: "期望香港办证点:", detail: "", isSingleLine: false),
YHGrabItem(type: .files, title: "抢号反馈回执:", detail: "", isSingleLine: true),]
view.updateItems(items)
return view
}()
......
......@@ -41,8 +41,8 @@ class YHHaveGrabbedNumberInfoView: UIView {
lazy var grabInfoView: YHGrabNumberInfoView = {
let view = YHGrabNumberInfoView(frame: .zero)
view.titleLabel.text = "抢号信息"
let items = [YHGrabItem(type: .info, title: "赴港时间:", detail: ""),
YHGrabItem(type: .info, title: "香港办证点:", detail: ""),
let items = [YHGrabItem(type: .info, title: "赴港时间:", detail: "", isSingleLine: true),
YHGrabItem(type: .info, title: "香港办证点:", detail: "", isSingleLine: false),
YHGrabItem(type: .files, title: "抢号反馈回执:", detail: "", files: []),]
view.updateItems(items)
return view
......@@ -51,8 +51,8 @@ class YHHaveGrabbedNumberInfoView: UIView {
lazy var intentionInfoView: YHGrabNumberInfoView = {
let view = YHGrabNumberInfoView(frame: .zero)
view.titleLabel.text = "意向信息"
let items = [YHGrabItem(type: .info, title: "期望赴港时间:", detail: ""),
YHGrabItem(type: .info, title: "期望香港办证点:", detail: "")]
let items = [YHGrabItem(type: .info, title: "期望赴港时间:", detail: "", isSingleLine: true),
YHGrabItem(type: .info, title: "期望香港办证点:", detail: "", isSingleLine: false)]
view.updateItems(items)
return view
}()
......
......@@ -24,14 +24,14 @@ class YHHaveGrabbedNumberListCell: UITableViewCell {
listView.membersLabel.text = "成员:\(group.getMemberNames())"
// 抢号信息
let items1 = [YHGrabItem(type: .info, title: "赴港时间:", detail: group.goTime),
YHGrabItem(type: .info, title: "香港入境处:", detail: group.immigrationOffice),
let items1 = [YHGrabItem(type: .info, title: "赴港时间:", detail: group.goTime, isSingleLine:true),
YHGrabItem(type: .info, title: "香港入境处:", detail: group.immigrationOffice, isSingleLine: false),
YHGrabItem(type: .files, title: "抢号反馈回执:", detail: "", files:group.receipts, publicFiles: group.publicReceipts)]
listView.grabInfoView.updateItems(items1)
// 意向信息
let items2 = [YHGrabItem(type: .info, title: "期望赴港时间:", detail: "\(group.wantMinTime)~\(group.wantMaxTime)"),
YHGrabItem(type: .info, title: "期望香港办证点:", detail: group.wantImmigrationOffice)]
let items2 = [YHGrabItem(type: .info, title: "期望赴港时间:", detail: "\(group.wantMinTime) ~ \(group.wantMaxTime)", isSingleLine:true),
YHGrabItem(type: .info, title: "期望香港办证点:", detail: group.wantImmigrationOffice, isSingleLine:false)]
listView.intentionInfoView.updateItems(items2)
listContainView.addSubview(listView)
......
......@@ -175,7 +175,7 @@ class YHInfoItemOptionView: UIView {
}
secondBtn.snp.makeConstraints { make in
make.right.equalTo(-18)
make.right.equalTo(0)
make.size.equalTo(CGSize(width: 69, height: 32))
make.centerY.equalTo(titleView)
}
......
......@@ -52,7 +52,7 @@ class YHInfoItemSelectSheetView: UIView {
// 显示placeHolder
detailLabel.text = self.placeHolder
detailLabel.textColor = .placeHolderColor
detailLabel.textAlignment = .right
detailLabel.textAlignment = .left
return
}
detailLabel.text = detail
......@@ -63,11 +63,11 @@ class YHInfoItemSelectSheetView: UIView {
var isShowDetailOneline:Bool = false {
didSet {
detailLabel.textAlignment = isShowDetailOneline ? .right : .left
detailLabel.textAlignment = .left
detailLabel.numberOfLines = isShowDetailOneline ? 1 : 0
detailLabel.snp.remakeConstraints { make in
make.top.equalTo(16)
make.left.equalTo(titleLabel.snp.right).offset(isShowDetailOneline ? -10 : 0)
make.left.equalTo(titleLabel.snp.right).offset(0)
make.right.equalTo(arrowImgView.snp.left)
if isShowDetailOneline {
make.height.equalTo(20)
......
......@@ -200,6 +200,7 @@ class YHSelectApplicantGroupCell: UITableViewCell {
lazy var locationSelectView: YHInfoItemSelectSheetView = {
let view = YHInfoItemSelectSheetView(frame: .zero)
view.isShowDetailOneline = false
view.title = "港府办证地点"
view.placeHolder = "请选择"
view.errorTips = "请选择港府办证地点"
......@@ -381,7 +382,7 @@ extension YHSelectApplicantGroupCell: UICollectionViewDelegate, UICollectionView
}
if selectArr.count == 1, member.isSelected == true, member.id == selectArr[0].id {
// 分组中仅有一个选中用户 且点击的是该用户
YHHUD.flash(message: "一个批次最少需要选中一个申请个人")
YHHUD.flash(message: "每一批赴港申请人不可为空,请确保每位申请人都在列")
return
}
selectBlock?(member, !member.isSelected, dataModel.itemIndex)
......
......@@ -336,13 +336,13 @@ extension YHMyViewController : UITableViewDelegate, UITableViewDataSource {
return
}
if true {
let vc = YHCertificateAppointViewController()
vc.orderId = 151296
// 151296
self.navigationController?.pushViewController(vc)
return
} //for test dy
// if true {
// let vc = YHCertificateAppointViewController()
// vc.orderId = 151090
// // 151296
// self.navigationController?.pushViewController(vc)
// return
// } //for test dy
let item: PersonalModuleItem = items[indexPath.row]
......
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