Commit 5ed6cac5 authored by David黄金龙's avatar David黄金龙

行程单 逻辑 及 操作

parent b0d19ba9
......@@ -331,7 +331,7 @@
04CE1ADF2C2AD91F001CB80A /* YHActivityListCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04CE1ACA2C2AD91F001CB80A /* YHActivityListCell.swift */; };
04CE1AE02C2AD91F001CB80A /* YHActivityTwoItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04CE1ACB2C2AD91F001CB80A /* YHActivityTwoItemView.swift */; };
04CE1AE12C2AD91F001CB80A /* YHActivityDetailItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04CE1ACC2C2AD91F001CB80A /* YHActivityDetailItemView.swift */; };
04CE1AE22C2AD91F001CB80A /* YHActivityApplyInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04CE1ACD2C2AD91F001CB80A /* YHActivityApplyInfoView.swift */; };
04CE1AE22C2AD91F001CB80A /* YHActivityApplyInfoItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04CE1ACD2C2AD91F001CB80A /* YHActivityApplyInfoItemView.swift */; };
04CE1AE32C2AD91F001CB80A /* YHApplyActivityAlert.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04CE1ACE2C2AD91F001CB80A /* YHApplyActivityAlert.swift */; };
04D1446D2C04359500EE3758 /* ATAuthSDK_D.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 04D1446B2C04355B00EE3758 /* ATAuthSDK_D.framework */; settings = {ATTRIBUTES = (Required, ); }; };
04D1446E2C04359500EE3758 /* ATAuthSDK_D.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 04D1446B2C04355B00EE3758 /* ATAuthSDK_D.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
......@@ -899,7 +899,7 @@
04CE1ACA2C2AD91F001CB80A /* YHActivityListCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHActivityListCell.swift; sourceTree = "<group>"; };
04CE1ACB2C2AD91F001CB80A /* YHActivityTwoItemView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHActivityTwoItemView.swift; sourceTree = "<group>"; };
04CE1ACC2C2AD91F001CB80A /* YHActivityDetailItemView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHActivityDetailItemView.swift; sourceTree = "<group>"; };
04CE1ACD2C2AD91F001CB80A /* YHActivityApplyInfoView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHActivityApplyInfoView.swift; sourceTree = "<group>"; };
04CE1ACD2C2AD91F001CB80A /* YHActivityApplyInfoItemView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHActivityApplyInfoItemView.swift; sourceTree = "<group>"; };
04CE1ACE2C2AD91F001CB80A /* YHApplyActivityAlert.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHApplyActivityAlert.swift; sourceTree = "<group>"; };
04D1446B2C04355B00EE3758 /* ATAuthSDK_D.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = ATAuthSDK_D.framework; sourceTree = "<group>"; };
04D144752C0452E200EE3758 /* YHOneKeyLoginManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHOneKeyLoginManager.swift; sourceTree = "<group>"; };
......@@ -2196,16 +2196,16 @@
04CE1AC32C2AD91F001CB80A /* V */ = {
isa = PBXGroup;
children = (
04CE1AC92C2AD91F001CB80A /* YHActivityTravelCell.swift */,
04CE1AC82C2AD91F001CB80A /* YHActivityDetailCell.swift */,
04CE1ACA2C2AD91F001CB80A /* YHActivityListCell.swift */,
04CE1AC42C2AD91F001CB80A /* YHActivityDetailBottomView.swift */,
04CE1AC52C2AD91F001CB80A /* YHActivityTravelitemView.swift */,
04CE1AC62C2AD91F001CB80A /* YHActivityTitleItemView.swift */,
04CE1AC72C2AD91F001CB80A /* YHActivityTipsItemView.swift */,
04CE1AC82C2AD91F001CB80A /* YHActivityDetailCell.swift */,
04CE1AC92C2AD91F001CB80A /* YHActivityTravelCell.swift */,
04CE1ACA2C2AD91F001CB80A /* YHActivityListCell.swift */,
04CE1ACB2C2AD91F001CB80A /* YHActivityTwoItemView.swift */,
04CE1ACC2C2AD91F001CB80A /* YHActivityDetailItemView.swift */,
04CE1ACD2C2AD91F001CB80A /* YHActivityApplyInfoView.swift */,
04CE1ACD2C2AD91F001CB80A /* YHActivityApplyInfoItemView.swift */,
04CE1ACE2C2AD91F001CB80A /* YHApplyActivityAlert.swift */,
);
path = V;
......@@ -3328,7 +3328,7 @@
0408C3632BEC7C6900DB1E25 /* YHVideoPlayerControlView.swift in Sources */,
A567E5B12BD7643D00D5D5A0 /* YHHomeCollectionViewCell.swift in Sources */,
A582B2432BB95E20009D098C /* YHHKPlanCell.swift in Sources */,
04CE1AE22C2AD91F001CB80A /* YHActivityApplyInfoView.swift in Sources */,
04CE1AE22C2AD91F001CB80A /* YHActivityApplyInfoItemView.swift in Sources */,
045EEEC52B9F171A0022A143 /* YHOtherPickerView.swift in Sources */,
045EEE842B9F171A0022A143 /* YHPreviewBasiceInformationViewController.swift in Sources */,
A5ACE9282B4564F7002C94D2 /* YHSmsCodeView.swift in Sources */,
......
......@@ -18,9 +18,10 @@ class YHActivityDetailModel: YHActivityModel {
// var id : Int = 0 //活动ID
// var status : String = "" //活动的状态 1:立即报名 2:已报名 3:活动结束 4:已取消报名
var tips : String = "" //温馨提示
var guidance : String = "" //交通引导
var introduce : String = "" //活动介绍
var posters : [String] = [] //活动海报
var tips : String = "" //温馨提示
var checkId : String = "" //活动行程ID 仅当活动状态为2(已报名)时才大于0
}
......@@ -8,7 +8,7 @@
import UIKit
class YHActivityApplyInfo : YHBaseModel {
class YHActivityApplyInfoModel : YHBaseModel {
var name : String = "" //用户姓名
var mobile : String = "" //手机号码
var number : Int32 = 0 //报名人数
......@@ -16,5 +16,8 @@ class YHActivityApplyInfo : YHBaseModel {
class YHActivityTravelModel: YHActivityModel {
var statusCn : String = "" //行程状态
var user : YHActivityApplyInfo?
var user : YHActivityApplyInfoModel?
var tips : String = "" //温馨提示
var guidance : String = "" //交通引导
}
......@@ -8,7 +8,14 @@
import UIKit
class YHActivityApplyInfoView: UIView {
class YHActivityApplyInfoItemView: UIView {
var dataModel : YHActivityApplyInfoModel? {
didSet {
updateUI()
}
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
......@@ -47,7 +54,18 @@ class YHActivityApplyInfoView: UIView {
}
extension YHActivityApplyInfoView {
extension YHActivityApplyInfoItemView {
func updateUI() {
guard let model = dataModel else {
return
}
nameItem.updateItem(title: "您的姓名", value: model.name)
numberItem.updateItem(title: "报名人数", value: String(model.number))
phoneItem.updateItem(title: "手机号码", value: model.mobile)
}
func setupUI() {
addSubview(titleLable)
......
......@@ -19,9 +19,13 @@ class YHActivityTipsItemView: UIView {
setupUI()
}
var showLineFlag : Bool = true
var tipsText : String? {
didSet {
updateUI2()
}
}
var showLineFlag : Bool = true
var dataModel : YHActivityDetailModel? {
didSet {
......@@ -29,7 +33,6 @@ class YHActivityTipsItemView: UIView {
}
}
private lazy var bottomLine : UIView = {
let view = UIView()
view.backgroundColor = UIColor.separatorColor
......@@ -79,8 +82,6 @@ class YHActivityTipsItemView: UIView {
}
}
describeLable.snp.makeConstraints { make in
make.left.right.equalToSuperview()
make.top.equalTo(nameLabel.snp.bottom).offset(24)
......@@ -92,6 +93,14 @@ class YHActivityTipsItemView: UIView {
extension YHActivityTipsItemView {
func updateUI2() {
guard let txt = tipsText else {
return
}
describeLable.text = txt
layoutIfNeeded()
}
func updateUI() {
guard let model = dataModel else {
return
......
......@@ -51,8 +51,8 @@ class YHActivityTravelCell: UITableViewCell {
//报名人数
lazy var acitivityApplyNumber:YHActivityApplyInfoView = {
let view = YHActivityApplyInfoView()
lazy var acitivityApplyInfo:YHActivityApplyInfoItemView = {
let view = YHActivityApplyInfoItemView()
return view
}()
......@@ -99,7 +99,9 @@ extension YHActivityTravelCell {
cancelButton.layer.borderWidth = 1
cancelButton.layer.borderColor = UIColor.mainTextColor50.cgColor
} else if model.status.int == 4 {
statusLable.text = "已报名"
} else if model.status.int == 4 || model.status.int == 1 {
cancelButton.isHidden = false
cancelButton.setTitle("重新报名", for: .normal)
......@@ -113,48 +115,59 @@ extension YHActivityTravelCell {
cancelButton.layer.borderWidth = 0
cancelButton.layer.borderColor = UIColor.clear.cgColor
} else {
cancelButton.isHidden = true
}
statusLable.text = "已取消"
} else if model.status.int == 3 {
cancelButton.isHidden = true
statusLable.text = "活动结束"
}
@objc func clickCancelBtn() {
self.block?()
else {
cancelButton.isHidden = true
}
func updateRightBtnUI() {
if isApplyFlag {
cancelButton.setTitle("取消报名", for: .normal)
cancelButton.setTitle("取消报名", for: .highlighted)
cancelButton.setTitleColor(UIColor.mainTextColor, for: .normal)
cancelButton.setTitleColor(UIColor.mainTextColor, for: .highlighted)
acitivityTitle.dataModel = model
acitivityTitle.snp.remakeConstraints { make in
make.top.equalTo(statusLable.snp.bottom).offset(20)
make.left.right.equalToSuperview()
}
cancelButton.backgroundColor = .white
cancelButton.layer.borderWidth = 1
cancelButton.layer.borderColor = UIColor.mainTextColor50.cgColor
} else {
acitivityApplyInfo.dataModel = model.user
acitivityApplyInfo.snp.remakeConstraints { make in
make.top.equalTo(acitivityTitle.snp.bottom).offset(32)
make.left.right.equalToSuperview()
}
var lastView : UIView = acitivityApplyInfo
cancelButton.setTitle("重新报名", for: .normal)
cancelButton.setTitle("重新报名", for: .highlighted)
if !model.tips.isEmpty {
acitivityTips.tipsText = model.tips
acitivityTips.snp.remakeConstraints { make in
make.top.equalTo(acitivityApplyInfo.snp.bottom).offset(32)
make.left.right.equalToSuperview()
}
acitivityTips.layoutIfNeeded()
lastView = acitivityTips
}
cancelButton.setTitleColor(UIColor.white, for: .normal)
cancelButton.setTitleColor(UIColor.white, for: .highlighted)
cancelButton.backgroundColor = .brandMainColor
cancelButton.layer.borderWidth = 0
cancelButton.layer.borderColor = UIColor.clear.cgColor
cancelButton.snp.remakeConstraints { make in
make.top.equalTo(lastView.snp.bottom).offset(32)
make.width.equalTo(178)
make.height.equalTo(42)
make.centerX.equalToSuperview()
make.bottom.equalToSuperview().offset(-46)
}
}
@objc func clickCancelBtn() {
self.block?()
}
func setupUI() {
backgroundColor = .clear
contentView.backgroundColor = .clear
......@@ -162,7 +175,7 @@ extension YHActivityTravelCell {
contentView.addSubview(statusLable)
contentView.addSubview(acitivityTitle)
contentView.addSubview(acitivityApplyNumber)
contentView.addSubview(acitivityApplyInfo)
contentView.addSubview(acitivityTips)
contentView.addSubview(cancelButton)
......@@ -179,14 +192,14 @@ extension YHActivityTravelCell {
}
acitivityApplyNumber.snp.makeConstraints { make in
acitivityApplyInfo.snp.makeConstraints { make in
make.top.equalTo(acitivityTitle.snp.bottom).offset(32)
make.left.right.equalToSuperview()
}
acitivityTips.snp.makeConstraints { make in
make.top.equalTo(acitivityApplyNumber.snp.bottom).offset(32)
make.top.equalTo(acitivityApplyInfo.snp.bottom).offset(32)
make.left.right.equalToSuperview()
}
acitivityTips.layoutIfNeeded()
......@@ -199,7 +212,5 @@ extension YHActivityTravelCell {
make.bottom.equalToSuperview().offset(-46)
}
updateRightBtnUI()
}
}
......@@ -9,6 +9,13 @@
import UIKit
class YHActivityTravelitemView: UIView {
var dataModel : YHActivityTravelModel? {
didSet {
updateUI()
}
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
......@@ -21,7 +28,6 @@ class YHActivityTravelitemView: UIView {
lazy var activityImgV:UIImageView = {
let view = UIImageView()
view.contentMode = .scaleAspectFill
// view.backgroundColor = .purple
view.image = UIImage(named: "global_default_image")
return view
}()
......@@ -91,6 +97,23 @@ class YHActivityTravelitemView: UIView {
extension YHActivityTravelitemView {
func updateUI() {
guard let model = dataModel else {
return
}
nameLabel.text = model.name
if let url = URL(string: model.cover) {
activityImgV.kf.setImage(with: url, placeholder: UIImage(named: "global_default_image"))
}
timeLable.text = String(model.beginTime)
addressLable.text = model.place
navAddressLable.text = model.guidance
}
func setupUI() {
backgroundColor = .white
......@@ -98,7 +121,6 @@ extension YHActivityTravelitemView {
clipsToBounds = true
addSubview(activityImgV)
addSubview(nameLabel)
addSubview(timeStaticLable)
addSubview(timeLable)
......
......@@ -41,6 +41,11 @@ class YHActivityTwoItemView: UIView {
return label
}()
func updateItem(title : String, value : String) {
titleLable.text = title
detailLable.text = value
}
}
extension YHActivityTwoItemView {
......
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