Commit 44f4e65a authored by David黄金龙's avatar David黄金龙

补充 活动行程单 详情

parent e816b57d
...@@ -375,6 +375,7 @@ ...@@ -375,6 +375,7 @@
A54034312C2A612100E63A20 /* YHActivityModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A54034302C2A612100E63A20 /* YHActivityModel.swift */; }; A54034312C2A612100E63A20 /* YHActivityModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A54034302C2A612100E63A20 /* YHActivityModel.swift */; };
A54034342C2A621000E63A20 /* YHActivityViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A54034332C2A621000E63A20 /* YHActivityViewModel.swift */; }; A54034342C2A621000E63A20 /* YHActivityViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A54034332C2A621000E63A20 /* YHActivityViewModel.swift */; };
A54034362C2A8DE200E63A20 /* YHActivityDetailModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A54034352C2A8DE200E63A20 /* YHActivityDetailModel.swift */; }; A54034362C2A8DE200E63A20 /* YHActivityDetailModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A54034352C2A8DE200E63A20 /* YHActivityDetailModel.swift */; };
A54034382C2AADE900E63A20 /* YHTravelModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A54034372C2AADE900E63A20 /* YHTravelModel.swift */; };
A554A5122B99715000EA5973 /* YHConstantArrayData.swift in Sources */ = {isa = PBXBuildFile; fileRef = A554A5112B99715000EA5973 /* YHConstantArrayData.swift */; }; A554A5122B99715000EA5973 /* YHConstantArrayData.swift in Sources */ = {isa = PBXBuildFile; fileRef = A554A5112B99715000EA5973 /* YHConstantArrayData.swift */; };
A5551FFE2B4C26CE00510980 /* YHBaseViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5551FFD2B4C26CE00510980 /* YHBaseViewModel.swift */; }; A5551FFE2B4C26CE00510980 /* YHBaseViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5551FFD2B4C26CE00510980 /* YHBaseViewModel.swift */; };
A5573ED22B317BFF00D98EC0 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5573ED12B317BFF00D98EC0 /* AppDelegate.swift */; }; A5573ED22B317BFF00D98EC0 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5573ED12B317BFF00D98EC0 /* AppDelegate.swift */; };
...@@ -423,6 +424,7 @@ ...@@ -423,6 +424,7 @@
A567E5B62BD7643D00D5D5A0 /* YHHomeBannerIndicatorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A567E58F2BD7643D00D5D5A0 /* YHHomeBannerIndicatorView.swift */; }; A567E5B62BD7643D00D5D5A0 /* YHHomeBannerIndicatorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A567E58F2BD7643D00D5D5A0 /* YHHomeBannerIndicatorView.swift */; };
A567E5B72BD7643D00D5D5A0 /* YHHkLifeAndIdItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A567E5902BD7643D00D5D5A0 /* YHHkLifeAndIdItemView.swift */; }; A567E5B72BD7643D00D5D5A0 /* YHHkLifeAndIdItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A567E5902BD7643D00D5D5A0 /* YHHkLifeAndIdItemView.swift */; };
A567E5B82BD7643D00D5D5A0 /* YHSearchItemLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = A567E5912BD7643D00D5D5A0 /* YHSearchItemLayout.swift */; }; A567E5B82BD7643D00D5D5A0 /* YHSearchItemLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = A567E5912BD7643D00D5D5A0 /* YHSearchItemLayout.swift */; };
A569DFDD2C2AC7A200FAA6CF /* YHActivityTravelModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A569DFDC2C2AC7A200FAA6CF /* YHActivityTravelModel.swift */; };
A56D2D612B62020C009C83A8 /* YHContractMainItemStatusCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A56D2D602B62020C009C83A8 /* YHContractMainItemStatusCell.swift */; }; A56D2D612B62020C009C83A8 /* YHContractMainItemStatusCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A56D2D602B62020C009C83A8 /* YHContractMainItemStatusCell.swift */; };
A5787E342C22B45700B021D7 /* YHActivityListCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5787E332C22B45700B021D7 /* YHActivityListCell.swift */; }; A5787E342C22B45700B021D7 /* YHActivityListCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5787E332C22B45700B021D7 /* YHActivityListCell.swift */; };
A5787E362C23CFDA00B021D7 /* YHActivityDetailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5787E352C23CFDA00B021D7 /* YHActivityDetailViewController.swift */; }; A5787E362C23CFDA00B021D7 /* YHActivityDetailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5787E352C23CFDA00B021D7 /* YHActivityDetailViewController.swift */; };
...@@ -941,6 +943,7 @@ ...@@ -941,6 +943,7 @@
A54034302C2A612100E63A20 /* YHActivityModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHActivityModel.swift; sourceTree = "<group>"; }; A54034302C2A612100E63A20 /* YHActivityModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHActivityModel.swift; sourceTree = "<group>"; };
A54034332C2A621000E63A20 /* YHActivityViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHActivityViewModel.swift; sourceTree = "<group>"; }; A54034332C2A621000E63A20 /* YHActivityViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHActivityViewModel.swift; sourceTree = "<group>"; };
A54034352C2A8DE200E63A20 /* YHActivityDetailModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHActivityDetailModel.swift; sourceTree = "<group>"; }; A54034352C2A8DE200E63A20 /* YHActivityDetailModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHActivityDetailModel.swift; sourceTree = "<group>"; };
A54034372C2AADE900E63A20 /* YHTravelModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHTravelModel.swift; sourceTree = "<group>"; };
A554A5112B99715000EA5973 /* YHConstantArrayData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHConstantArrayData.swift; sourceTree = "<group>"; }; A554A5112B99715000EA5973 /* YHConstantArrayData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHConstantArrayData.swift; sourceTree = "<group>"; };
A5551FFD2B4C26CE00510980 /* YHBaseViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHBaseViewModel.swift; sourceTree = "<group>"; }; A5551FFD2B4C26CE00510980 /* YHBaseViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHBaseViewModel.swift; sourceTree = "<group>"; };
A5573ECE2B317BFF00D98EC0 /* galaxy.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = galaxy.app; sourceTree = BUILT_PRODUCTS_DIR; }; A5573ECE2B317BFF00D98EC0 /* galaxy.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = galaxy.app; sourceTree = BUILT_PRODUCTS_DIR; };
...@@ -993,6 +996,7 @@ ...@@ -993,6 +996,7 @@
A567E58F2BD7643D00D5D5A0 /* YHHomeBannerIndicatorView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHHomeBannerIndicatorView.swift; sourceTree = "<group>"; }; A567E58F2BD7643D00D5D5A0 /* YHHomeBannerIndicatorView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHHomeBannerIndicatorView.swift; sourceTree = "<group>"; };
A567E5902BD7643D00D5D5A0 /* YHHkLifeAndIdItemView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHHkLifeAndIdItemView.swift; sourceTree = "<group>"; }; A567E5902BD7643D00D5D5A0 /* YHHkLifeAndIdItemView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHHkLifeAndIdItemView.swift; sourceTree = "<group>"; };
A567E5912BD7643D00D5D5A0 /* YHSearchItemLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHSearchItemLayout.swift; sourceTree = "<group>"; }; A567E5912BD7643D00D5D5A0 /* YHSearchItemLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHSearchItemLayout.swift; sourceTree = "<group>"; };
A569DFDC2C2AC7A200FAA6CF /* YHActivityTravelModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHActivityTravelModel.swift; sourceTree = "<group>"; };
A56D2D602B62020C009C83A8 /* YHContractMainItemStatusCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHContractMainItemStatusCell.swift; sourceTree = "<group>"; }; A56D2D602B62020C009C83A8 /* YHContractMainItemStatusCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHContractMainItemStatusCell.swift; sourceTree = "<group>"; };
A5787E332C22B45700B021D7 /* YHActivityListCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHActivityListCell.swift; sourceTree = "<group>"; }; A5787E332C22B45700B021D7 /* YHActivityListCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHActivityListCell.swift; sourceTree = "<group>"; };
A5787E352C23CFDA00B021D7 /* YHActivityDetailViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHActivityDetailViewController.swift; sourceTree = "<group>"; }; A5787E352C23CFDA00B021D7 /* YHActivityDetailViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHActivityDetailViewController.swift; sourceTree = "<group>"; };
...@@ -2315,6 +2319,8 @@ ...@@ -2315,6 +2319,8 @@
A540342E2C2A606900E63A20 /* YHActivityListModel.swift */, A540342E2C2A606900E63A20 /* YHActivityListModel.swift */,
A54034302C2A612100E63A20 /* YHActivityModel.swift */, A54034302C2A612100E63A20 /* YHActivityModel.swift */,
A54034352C2A8DE200E63A20 /* YHActivityDetailModel.swift */, A54034352C2A8DE200E63A20 /* YHActivityDetailModel.swift */,
A54034372C2AADE900E63A20 /* YHTravelModel.swift */,
A569DFDC2C2AC7A200FAA6CF /* YHActivityTravelModel.swift */,
); );
path = M; path = M;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -2417,12 +2423,12 @@ ...@@ -2417,12 +2423,12 @@
children = ( children = (
A5787E332C22B45700B021D7 /* YHActivityListCell.swift */, A5787E332C22B45700B021D7 /* YHActivityListCell.swift */,
A5787E372C23D1DC00B021D7 /* YHActivityDetailCell.swift */, A5787E372C23D1DC00B021D7 /* YHActivityDetailCell.swift */,
A59CCBD32C252063001910FE /* YHActivityTravelCell.swift */,
A5787E392C23DA8A00B021D7 /* YHActivityDetailBottomView.swift */, A5787E392C23DA8A00B021D7 /* YHActivityDetailBottomView.swift */,
A5787E3B2C23DEE500B021D7 /* YHActivityTitleItemView.swift */, A5787E3B2C23DEE500B021D7 /* YHActivityTitleItemView.swift */,
A5787E3D2C23DF8C00B021D7 /* YHActivityDetailItemView.swift */, A5787E3D2C23DF8C00B021D7 /* YHActivityDetailItemView.swift */,
A5787E3F2C23DFD000B021D7 /* YHActivityTipsItemView.swift */, A5787E3F2C23DFD000B021D7 /* YHActivityTipsItemView.swift */,
A59CCBCD2C241FCB001910FE /* YHApplyActivityAlert.swift */, A59CCBCD2C241FCB001910FE /* YHApplyActivityAlert.swift */,
A59CCBD32C252063001910FE /* YHActivityTravelCell.swift */,
A5A89FD02C254B5C005A71DD /* YHActivityTravelitemView.swift */, A5A89FD02C254B5C005A71DD /* YHActivityTravelitemView.swift */,
A5A89FD22C25518B005A71DD /* YHActivityApplyInfoView.swift */, A5A89FD22C25518B005A71DD /* YHActivityApplyInfoView.swift */,
A5A89FD42C255250005A71DD /* YHActivityTwoItemView.swift */, A5A89FD42C255250005A71DD /* YHActivityTwoItemView.swift */,
...@@ -3143,6 +3149,7 @@ ...@@ -3143,6 +3149,7 @@
045EEEF02B9F171A0022A143 /* YHChildPrimaryInfoVC.swift in Sources */, 045EEEF02B9F171A0022A143 /* YHChildPrimaryInfoVC.swift in Sources */,
04F5F8602C1944D5004A463C /* YHHKCenterViewController.swift in Sources */, 04F5F8602C1944D5004A463C /* YHHKCenterViewController.swift in Sources */,
A5D001212BAA9D99001F003C /* YHChoiceButtonHoldView.swift in Sources */, A5D001212BAA9D99001F003C /* YHChoiceButtonHoldView.swift in Sources */,
A569DFDD2C2AC7A200FAA6CF /* YHActivityTravelModel.swift in Sources */,
045EEEF62B9F171A0022A143 /* YHSpousePrimaryInfoVC.swift in Sources */, 045EEEF62B9F171A0022A143 /* YHSpousePrimaryInfoVC.swift in Sources */,
044867B82BA1C75700DFAD4A /* YHCertificateUploadFailTipsView.swift in Sources */, 044867B82BA1C75700DFAD4A /* YHCertificateUploadFailTipsView.swift in Sources */,
044D0C062C22736F00C5CF5E /* YHSetExplainView.swift in Sources */, 044D0C062C22736F00C5CF5E /* YHSetExplainView.swift in Sources */,
...@@ -3254,6 +3261,7 @@ ...@@ -3254,6 +3261,7 @@
045EEE7A2B9F171A0022A143 /* YHPreviewForOtherInfoModel.swift in Sources */, 045EEE7A2B9F171A0022A143 /* YHPreviewForOtherInfoModel.swift in Sources */,
0414BDA92BC7E81500225367 /* YHMyPermissionSettingVC.swift in Sources */, 0414BDA92BC7E81500225367 /* YHMyPermissionSettingVC.swift in Sources */,
A567E5AA2BD7643D00D5D5A0 /* YHGestureTableView.swift in Sources */, A567E5AA2BD7643D00D5D5A0 /* YHGestureTableView.swift in Sources */,
A54034382C2AADE900E63A20 /* YHTravelModel.swift in Sources */,
A59CCBD02C244B13001910FE /* YHApplyActivityResultViewController.swift in Sources */, A59CCBD02C244B13001910FE /* YHApplyActivityResultViewController.swift in Sources */,
04F5F8642C19460D004A463C /* YHHKLifeViewController.swift in Sources */, 04F5F8642C19460D004A463C /* YHHKLifeViewController.swift in Sources */,
A5ACE94A2B4564F7002C94D2 /* YHHUDProgressView.swift in Sources */, A5ACE94A2B4564F7002C94D2 /* YHHUDProgressView.swift in Sources */,
......
...@@ -57,6 +57,49 @@ class YHActivityDetailViewController: YHBaseViewController { ...@@ -57,6 +57,49 @@ class YHActivityDetailViewController: YHBaseViewController {
} }
extension YHActivityDetailViewController { extension YHActivityDetailViewController {
func gotoTheRightVcForStatus() {
guard let model = self.viewModel.activityDetailModel else {
return
}
if let status = YHActivityStatus(rawValue: model.status.int ?? 0) {
switch status {
case .notApply:
// printLog("立即报名")
showApplyUI()
case .applied:
printLog("已报名")
case .canceled:
// printLog("已取消报名")
showApplyUI()
case .end:
printLog("活动已结束")
YHHUD.flash(message: "活动已结束")
default:
printLog("")
}
}
}
func showApplyUI() {
YHApplyActivityAlert.showApplyActivityAlertView { (tag,name,number,phone) in
if tag {
printLog(tag)
printLog(name)
printLog(number)
printLog(phone)
if tag {
let param = ["id" : self.activityId,
"name":name,
"mobile":phone,
"number":number]
self.applyActivity(param: param)
}
}
}
}
func setupUI() { func setupUI() {
gk_navigationBar.isHidden = false gk_navigationBar.isHidden = false
gk_navigationBar.backgroundColor = .clear gk_navigationBar.backgroundColor = .clear
...@@ -73,22 +116,22 @@ extension YHActivityDetailViewController { ...@@ -73,22 +116,22 @@ extension YHActivityDetailViewController {
make.bottom.equalTo(bottomView.snp.top) make.bottom.equalTo(bottomView.snp.top)
} }
//3.
//3
bottomView.snp.makeConstraints { make in bottomView.snp.makeConstraints { make in
make.left.right.bottom.equalToSuperview() make.left.right.bottom.equalToSuperview()
make.height.equalTo(YHActivityDetailBottomView.viewH) make.height.equalTo(YHActivityDetailBottomView.viewH)
} }
bottomView.block = { tag in
bottomView.block = { [weak self] tag in
YHApplyActivityAlert.showApplyActivityAlertView { (tag,name,number,phone) in //判断是否登录成功
if tag { if YHLoginManager.shared.isLogin() {
printLog(tag) self?.gotoTheRightVcForStatus()
printLog(name) } else {
printLog(number) YHOneKeyLoginManager.shared.oneKeyLogin()
printLog(phone) YHLoginManager.shared.loginSuccessActionBlock = {[weak self] in
// let vc = YHApplyActivityResultViewController() guard self != nil else { return }
// self.navigationController?.pushViewController(vc) self?.gotoTheRightVcForStatus()
YHLoginManager.shared.loginSuccessActionBlock = nil
} }
} }
} }
...@@ -119,6 +162,25 @@ extension YHActivityDetailViewController { ...@@ -119,6 +162,25 @@ extension YHActivityDetailViewController {
navigationController?.popViewController() navigationController?.popViewController()
} }
} }
func applyActivity(param : [String : Any]) {
viewModel.applyActivity(param: param) { success, error in
if success {
YHHUD.flash(message: "报名成功")
self.loadData()
DispatchQueue.main.async {
let vc = YHApplyActivityResultViewController()
vc.activityTravelId = String(self.viewModel.activityTravelModel?.id ?? 0)
self.navigationController?.pushViewController(vc)
}
} else {
let msg = error?.errorMsg ?? "报名失败,请重试"
YHHUD.flash(message: msg)
}
}
}
} }
extension YHActivityDetailViewController: UITableViewDelegate, UITableViewDataSource { extension YHActivityDetailViewController: UITableViewDelegate, UITableViewDataSource {
......
...@@ -9,6 +9,17 @@ ...@@ -9,6 +9,17 @@
import UIKit import UIKit
class YHActivityTravelViewController: YHBaseViewController { class YHActivityTravelViewController: YHBaseViewController {
//vm对象
lazy var viewModel: YHActivityViewModel = {
let vm = YHActivityViewModel()
return vm
}()
//活动行程单Id
var travelId : String = ""
//tableView
lazy var tableView: UITableView = { lazy var tableView: UITableView = {
let tableView = UITableView(frame:.zero, style:.plain) let tableView = UITableView(frame:.zero, style:.plain)
tableView.showsVerticalScrollIndicator = false tableView.showsVerticalScrollIndicator = false
...@@ -49,7 +60,13 @@ class YHActivityTravelViewController: YHBaseViewController { ...@@ -49,7 +60,13 @@ class YHActivityTravelViewController: YHBaseViewController {
// MARK: - 生命周期方法 // MARK: - 生命周期方法
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
setupUI()
loadData()
}
}
extension YHActivityTravelViewController {
func setupUI() {
gk_navigationBar.isHidden = false gk_navigationBar.isHidden = false
gk_navigationBar.backgroundColor = .clear gk_navigationBar.backgroundColor = .clear
gk_navBarAlpha = 0 gk_navBarAlpha = 0
...@@ -66,6 +83,7 @@ class YHActivityTravelViewController: YHBaseViewController { ...@@ -66,6 +83,7 @@ class YHActivityTravelViewController: YHBaseViewController {
} }
tableView.contentInsetAdjustmentBehavior = .never tableView.contentInsetAdjustmentBehavior = .never
tableView.snp.makeConstraints { make in tableView.snp.makeConstraints { make in
make.top.equalTo(k_Height_NavigationtBarAndStatuBar) make.top.equalTo(k_Height_NavigationtBarAndStatuBar)
make.left.equalTo(20) make.left.equalTo(20)
...@@ -73,30 +91,22 @@ class YHActivityTravelViewController: YHBaseViewController { ...@@ -73,30 +91,22 @@ class YHActivityTravelViewController: YHBaseViewController {
make.bottom.equalToSuperview() make.bottom.equalToSuperview()
} }
} }
}
func loadData() {
extension YHActivityTravelViewController { if !travelId.isEmpty {
func addTopView() { viewModel.getActivityTravelDetail(travelId: travelId) { success, error in
if success {
topView.frame = CGRect(x: 0, y: 0, width: KScreenWidth, height: 114) self.tableView.reloadData()
view.addSubview(topView) } else {
let msg = error?.errorMsg ?? "获取数据出错"
let gradientLayer = CAGradientLayer() YHHUD.flash(message: msg)
gradientLayer.frame = topView.bounds self.navigationController?.popViewController()
}
// 定义渐变颜色,这里使用了两种颜色 }
let colorTop = UIColor.red//UIColor(hex: 0x000000, alpha: 1) } else {
let colorBottom = UIColor.blue//UIColor(hex: 0x000000, alpha: 0) YHHUD.flash(message: "参数错误")
navigationController?.popViewController()
// 设置颜色数组 }
gradientLayer.colors = [colorTop, colorBottom]
// 设置渐变方向,从上到下
gradientLayer.startPoint = CGPoint(x: 0.5, y: 0.0)
gradientLayer.endPoint = CGPoint(x: 0.5, y: 1.0)
// 添加渐变层到当前视图的layer
topView.layer.insertSublayer(gradientLayer, at: 0)
} }
} }
...@@ -111,34 +121,11 @@ extension YHActivityTravelViewController: UITableViewDelegate, UITableViewDataSo ...@@ -111,34 +121,11 @@ extension YHActivityTravelViewController: UITableViewDelegate, UITableViewDataSo
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: YHActivityTravelCell.cellReuseIdentifier, for: indexPath) as! YHActivityTravelCell let cell = tableView.dequeueReusableCell(withIdentifier: YHActivityTravelCell.cellReuseIdentifier, for: indexPath) as! YHActivityTravelCell
cell.sessionIndex = indexPath.section cell.dataModel = viewModel.activityTravelModel
return cell return cell
} }
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableView.automaticDimension return UITableView.automaticDimension
} }
// func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
//
// return 0.001
// }
//
// func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
//
// let view = UIView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: 0.001))
// view.backgroundColor = .clear
// return view
// }
//
// func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
// let view = UIView(frame: CGRect(x: 0, y: 0, width: KScreenWidth-16.0*2, height: 0.001))
// view.backgroundColor = .clear
// return view
// }
//
// func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
// return 0.001
// }
} }
...@@ -13,6 +13,10 @@ import UIKit ...@@ -13,6 +13,10 @@ import UIKit
*/ */
class YHApplyActivityResultViewController: YHBaseViewController { class YHApplyActivityResultViewController: YHBaseViewController {
var isSuccessFlag : Bool = false
var messageTips : String = ""
var activityTravelId : String = ""
lazy var statusImageV:UIImageView = { lazy var statusImageV:UIImageView = {
let view = UIImageView() let view = UIImageView()
view.image = UIImage(named: "activity_apply_result_success") view.image = UIImage(named: "activity_apply_result_success")
...@@ -106,7 +110,15 @@ extension YHApplyActivityResultViewController { ...@@ -106,7 +110,15 @@ extension YHApplyActivityResultViewController {
} }
@objc func clickSubmitBtn() { @objc func clickSubmitBtn() {
let vc = YHActivityTravelViewController() if isSuccessFlag {
self.navigationController?.pushViewController(vc) //行程单详情
let vc = YHActivityTravelViewController()
vc.travelId = activityTravelId
self.navigationController?.pushViewController(vc)
} else {
//返回活动列表
navigationController?.popToRootViewController(animated: true)
}
} }
} }
//
// YHActivityTravelModel.swift
// galaxy
//
// Created by davidhuangA on 2024/6/25.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHActivityApplyInfo : YHBaseModel {
var name : String = "" //用户姓名
var mobile : String = "" //手机号码
var number : Int32 = 0 //报名人数
}
class YHActivityTravelModel: YHActivityModel {
var statusCn : String = "" //行程状态
var user : YHActivityApplyInfo?
}
//
// YHTravelModel.swift
// galaxy
//
// Created by davidhuangA on 2024/6/25.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHTravelModel : YHBaseModel {
var id : String = ""
}
...@@ -49,6 +49,7 @@ private extension YHActivityDetailBottomView { ...@@ -49,6 +49,7 @@ private extension YHActivityDetailBottomView {
if let status = Int(model.status) { if let status = Int(model.status) {
isHidden = false isHidden = false
saveButton.setTitle(YHActivityStatus.init(rawValue: status)?.activityTitle, for: .normal) saveButton.setTitle(YHActivityStatus.init(rawValue: status)?.activityTitle, for: .normal)
saveButton.backgroundColor = YHActivityStatus.init(rawValue: status)?.activityColor
} else { } else {
isHidden = true isHidden = true
} }
......
...@@ -14,11 +14,9 @@ class YHActivityTravelCell: UITableViewCell { ...@@ -14,11 +14,9 @@ class YHActivityTravelCell: UITableViewCell {
private var isApplyFlag : Bool = true private var isApplyFlag : Bool = true
var sessionIndex : Int = 0 { var dataModel : YHActivityTravelModel? {
didSet { didSet {
// let tmp = sessionIndex % 3 updateUI()
// let name = "activity_cell_bkg_" + String(tmp)
// bkgImgV.image = UIImage(named: name)
} }
} }
...@@ -81,6 +79,42 @@ class YHActivityTravelCell: UITableViewCell { ...@@ -81,6 +79,42 @@ class YHActivityTravelCell: UITableViewCell {
} }
extension YHActivityTravelCell { extension YHActivityTravelCell {
func updateUI() {
guard let model = dataModel else {
return
}
// if let url = URL(string: model.cover) {
// topImgV.kf.setImage(with: url, placeholder: UIImage(named: "global_default_image"))
// } else {
// topImgV.image = UIImage(named: "global_default_image")
// }
//
// acitivityTitle.dataModel = model
//
// //acitivityDetail
// if model.introduce.isEmpty && model.posters.count < 1 {
// //隐藏
// acitivityDetail.isHidden = true
// } else {
// //展示
// acitivityDetail.isHidden = false
// acitivityDetail.dataModel = model
// }
//
// //acitivityTips
// if model.tips.isEmpty {
// acitivityTips.isHidden = true
// } else {
// acitivityTips.isHidden = false
// acitivityTips.dataModel = model
// }
// layoutIfNeeded()
}
@objc func clickCancelBtn() { @objc func clickCancelBtn() {
YHCommonAlertView.show("", "是否取消报名?", "是", "否",fullGuestureEnable: false) { YHCommonAlertView.show("", "是否取消报名?", "是", "否",fullGuestureEnable: false) {
self.isApplyFlag = false self.isApplyFlag = false
...@@ -162,6 +196,7 @@ extension YHActivityTravelCell { ...@@ -162,6 +196,7 @@ extension YHActivityTravelCell {
make.bottom.equalToSuperview().offset(-46) make.bottom.equalToSuperview().offset(-46)
} }
updateRightBtnUI() updateRightBtnUI()
} }
} }
...@@ -25,16 +25,82 @@ class YHActivityViewModel: YHBaseViewModel { ...@@ -25,16 +25,82 @@ class YHActivityViewModel: YHBaseViewModel {
//2.活动详情 //2.活动详情
var activityDetailModel : YHActivityDetailModel? var activityDetailModel : YHActivityDetailModel?
//3. //3.活动报名
var travelModel : YHTravelModel?
//4.活动行程单
var activityTravelModel : YHActivityTravelModel?
} }
extension YHActivityViewModel { extension YHActivityViewModel {
/*
*活动行程单
*/
func getActivityTravelDetail(travelId : String ,callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Activity.travelApi + "/" + travelId
let _ = YHNetRequest.getRequest(url: strUrl) { [weak self] json, code in
guard let self = self else { return }
//1. json字符串 转 对象
if json.code == 200 {
let dic = json.data
guard let result = YHActivityTravelModel.deserialize(from: dic as? Dictionary) else {
self.activityTravelModel = nil
callBackBlock(false,nil)
return
}
self.activityTravelModel = result
callBackBlock(true, nil)
} else {
self.activityTravelModel = nil
let error : YHErrorModel = YHErrorModel(errorCode:Int32(json.code), errorMsg: json.msg)
callBackBlock(false, error)
}
} failBlock: { err in
self.activityTravelModel = nil
callBackBlock(false,err)
}
}
/*
*活动报名
*/
func applyActivity(param : [String : Any] ,callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Activity.applyApi
let _ = YHNetRequest.postRequest(url: strUrl,params: param) { [weak self] json, code in
guard let self = self else { return }
//1. json字符串 转 对象
if json.code == 200 {
let dic = json.data
guard let result = YHTravelModel.deserialize(from: dic as? Dictionary) else {
self.travelModel = nil
callBackBlock(false,nil)
return
}
self.travelModel = result
callBackBlock(true, nil)
} else {
self.activityDetailModel = nil
let error : YHErrorModel = YHErrorModel(errorCode:Int32(json.code), errorMsg: json.msg)
callBackBlock(false, error)
}
} failBlock: { err in
self.activityDetailModel = nil
callBackBlock(false,err)
}
}
/* /*
*活动详情 *活动详情
*/ */
func getActivityDetailData(activityID : String ,callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) { func getActivityDetailData(activityID : String ,callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
// var params: [String : Any] = ["id": activityID]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Activity.detailApi + "/" + activityID let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Activity.detailApi + "/" + activityID
let _ = YHNetRequest.getRequest(url: strUrl) { [weak self] json, code in let _ = YHNetRequest.getRequest(url: strUrl) { [weak self] json, code in
...@@ -59,9 +125,9 @@ extension YHActivityViewModel { ...@@ -59,9 +125,9 @@ extension YHActivityViewModel {
self.activityDetailModel = nil self.activityDetailModel = nil
callBackBlock(false,err) callBackBlock(false,err)
} }
} }
/* /*
*活动列表 *活动列表
firstFlag true - 首次 false - 更多 firstFlag true - 首次 false - 更多
......
...@@ -10,7 +10,7 @@ import UIKit ...@@ -10,7 +10,7 @@ import UIKit
import SmartCodable import SmartCodable
struct YHUserModel: SmartCodable { struct YHUserModel: SmartCodable {
var id:String = "" var id : String?
var userid: Int? var userid: Int?
var nickname: String? var nickname: String?
var mobile: String? var mobile: String?
......
...@@ -17,7 +17,12 @@ class YHAllApiName { ...@@ -17,7 +17,12 @@ class YHAllApiName {
//活动详情 //活动详情
static let detailApi = "super-app/activity/detail" static let detailApi = "super-app/activity/detail"
//活动报名
static let applyApi = "super-app/activity/join"
//活动行程单
static let travelApi = "super-app/activity/check-list"
} }
......
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