Commit 1d2fad62 authored by David黄金龙's avatar David黄金龙

完成 活动列表的展示

parent 29d18c60
...@@ -9,6 +9,51 @@ ...@@ -9,6 +9,51 @@
import UIKit import UIKit
import JXSegmentedView import JXSegmentedView
enum YHActivityStatus: Int {
//活动的状态 1:立即报名 2:已报名 3:活动结束 4:已取消报名
case unknow = 0 // 未知
case notApply = 1 // 立即报名
case applied = 2 // 已报名
case end = 3 // 活动结束
case canceled = 4 // 已取消报名
var activityTitle : String {
switch self {
case .notApply:
return "立即报名"
case .applied:
return "已报名"
case .end:
return "活动结束"
case .canceled:
return "已取消报名"
default:
return ""
}
}
var activityColor : UIColor {
switch self {
case .notApply:
return UIColor.brandMainColor
case .applied:
return UIColor.successColor
case .end:
return UIColor.mainTextColor30
case .canceled:
return UIColor.brandMainColor
default:
return UIColor.clear
}
}
}
/* /*
活动列表 或 我的报名活动 活动列表 或 我的报名活动
*/ */
...@@ -80,35 +125,30 @@ class YHActivityListViewController: YHBaseViewController { ...@@ -80,35 +125,30 @@ class YHActivityListViewController: YHBaseViewController {
self.loadMoreData() self.loadMoreData()
} }
emptyDataTipsView.isHidden = viewModel.arrActivityListData.count > 0 ? true : false
loadFirstData() loadFirstData()
} }
} }
extension YHActivityListViewController { extension YHActivityListViewController {
func loadMoreData() { func loadMoreData() {
// DispatchQueue.global().async { self.viewModel.getActivityList(firstFlag : false) {[weak self] success, error in
// self.viewModel.getHomeNewsList(firstPageFlag : false) {[weak self] success, error in guard let self = self else { return }
// guard let self = self else { return } DispatchQueue.main.asyncAfter(wallDeadline: .now() + 0.35, execute: {
// DispatchQueue.main.asyncAfter(wallDeadline: .now() + 0.35, execute: { self.tableView.es.stopLoadingMore()
// CATransaction.setDisableActions(true) if self.viewModel.hasMoreForActivityList == false {
// self.homeCollectView.reloadData() self.tableView.es.noticeNoMoreData()
// CATransaction.commit() self.tableView.footer?.alpha = 1
// }
// self.homeCollectView.es.stopLoadingMore() self.tableView.reloadData()
// if self.viewModel.hasMoreForHomeNews == false { self.emptyDataTipsView.isHidden = self.viewModel.arrActivityListData.count > 0 ? true : false
// self.homeCollectView.es.noticeNoMoreData() })
// self.homeCollectView.footer?.alpha = 1 }
// }
// })
// }
// }
DispatchQueue.main.asyncAfter(deadline: .now()+0.5, execute: {
self.tableView.es.stopLoadingMore()
})
} }
func loadFirstData() { func loadFirstData() {
self.viewModel.getActivityList(firstPageFlag : true) {[weak self] success, error in self.viewModel.getActivityList(firstFlag : true) {[weak self] success, error in
guard let self = self else { return } guard let self = self else { return }
DispatchQueue.main.asyncAfter(deadline: .now()+0.5, execute: { DispatchQueue.main.asyncAfter(deadline: .now()+0.5, execute: {
...@@ -144,6 +184,9 @@ extension YHActivityListViewController: UITableViewDelegate, UITableViewDataSour ...@@ -144,6 +184,9 @@ extension YHActivityListViewController: UITableViewDelegate, UITableViewDataSour
let cell = tableView.dequeueReusableCell(withIdentifier: YHActivityListCell.cellReuseIdentifier, for: indexPath) as! YHActivityListCell let cell = tableView.dequeueReusableCell(withIdentifier: YHActivityListCell.cellReuseIdentifier, for: indexPath) as! YHActivityListCell
cell.sessionIndex = indexPath.section cell.sessionIndex = indexPath.section
if indexPath.section < viewModel.arrActivityListData.count {
cell.dataModel = viewModel.arrActivityListData[indexPath.section]
}
return cell return cell
} }
...@@ -152,6 +195,9 @@ extension YHActivityListViewController: UITableViewDelegate, UITableViewDataSour ...@@ -152,6 +195,9 @@ extension YHActivityListViewController: UITableViewDelegate, UITableViewDataSour
} }
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let vc = YHActivityDetailViewController() let vc = YHActivityDetailViewController()
navigationController?.pushViewController(vc) navigationController?.pushViewController(vc)
} }
......
...@@ -9,15 +9,12 @@ ...@@ -9,15 +9,12 @@
import UIKit import UIKit
class YHActivityModel: YHBaseModel { class YHActivityModel: YHBaseModel {
var id : Int = 0 var id : Int = 0 //活动ID
var tag : Int = 0 var tag : Int = 0 //活动标签枚举 1:V专享
var name : String = "" var name : String = "" //活动标题
var cover : String = "" var cover : String = "" //活动封面
var beginTime : String = "" var beginTime : String = "" //开始时间戳
var endTime : String = "" var endTime : String = "" //结束时间戳
var place : String = "" var place : String = "" //活动地点
var status : String = "" var status : String = "" //活动的状态 1:立即报名 2:已报名 3:活动结束 4:已取消报名
// required init() {
//
// }
} }
...@@ -12,6 +12,13 @@ class YHActivityListCell: UITableViewCell { ...@@ -12,6 +12,13 @@ class YHActivityListCell: UITableViewCell {
static let cellReuseIdentifier = "YHActivityListCell" static let cellReuseIdentifier = "YHActivityListCell"
var dataModel : YHActivityModel? {
didSet {
updateUI()
}
}
var sessionIndex : Int = 0 { var sessionIndex : Int = 0 {
didSet { didSet {
let tmp = sessionIndex % 3 let tmp = sessionIndex % 3
...@@ -32,6 +39,7 @@ class YHActivityListCell: UITableViewCell { ...@@ -32,6 +39,7 @@ class YHActivityListCell: UITableViewCell {
let view = UIImageView() let view = UIImageView()
view.image = UIImage(named: "activity_vip_icon") view.image = UIImage(named: "activity_vip_icon")
view.contentMode = .scaleAspectFill view.contentMode = .scaleAspectFill
view.isHidden = true
return view return view
}() }()
...@@ -49,8 +57,6 @@ class YHActivityListCell: UITableViewCell { ...@@ -49,8 +57,6 @@ class YHActivityListCell: UITableViewCell {
lazy var activityImgV:UIImageView = { lazy var activityImgV:UIImageView = {
let view = UIImageView() let view = UIImageView()
view.contentMode = .scaleAspectFill view.contentMode = .scaleAspectFill
// view.backgroundColor = .purple //for test hjl
// titleImageView.kf.setImage(with: url, placeholder: UIImage(named: "global_default_image"))
view.image = UIImage(named: "global_default_image") view.image = UIImage(named: "global_default_image")
return view return view
}() }()
...@@ -103,6 +109,42 @@ class YHActivityListCell: UITableViewCell { ...@@ -103,6 +109,42 @@ class YHActivityListCell: UITableViewCell {
} }
extension YHActivityListCell { extension YHActivityListCell {
func updateUI() {
guard let model = dataModel else {
return
}
if model.tag == 1 {
vipImgV.isHidden = false
} else {
vipImgV.isHidden = true
}
nameLabel.text = model.name
if let url = URL(string: model.cover) {
activityImgV.kf.setImage(with: url, placeholder: UIImage(named: "global_default_image"))
}
//
dateLabel.text = String(model.beginTime)
//
detailLabel.text = model.place
if let status = Int(model.status) {
statusLabel.text = YHActivityStatus.init(rawValue: status)?.activityTitle
statusLabel.textColor = YHActivityStatus.init(rawValue: status)?.activityColor
} else {
statusLabel.text = ""
}
}
func setupUI() { func setupUI() {
backgroundColor = .clear backgroundColor = .clear
selectionStyle = .none selectionStyle = .none
......
...@@ -17,7 +17,7 @@ class YHActivityViewModel: YHBaseViewModel { ...@@ -17,7 +17,7 @@ class YHActivityViewModel: YHBaseViewModel {
var hasMoreForActivityList : Bool = true var hasMoreForActivityList : Bool = true
var isRequestActivityListDataFlag : Bool = false var isRequestActivityListDataFlag : Bool = false
private var curPageIndex : Int = 1 private var curPageIndex : Int = 1
private var page_Size : Int = 20 private var page_Size : Int = 3 //for test hjl
private var totalCount : Int = 0 private var totalCount : Int = 0
var arrActivityListData : [YHActivityModel] = [] var arrActivityListData : [YHActivityModel] = []
...@@ -30,11 +30,11 @@ class YHActivityViewModel: YHBaseViewModel { ...@@ -30,11 +30,11 @@ class YHActivityViewModel: YHBaseViewModel {
extension YHActivityViewModel { extension YHActivityViewModel {
/* /*
firstPageFlag true - 首次 false - 更多 firstFlag true - 首次 false - 更多
*/ */
func getActivityList(firstPageFlag : Bool,callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) { func getActivityList(firstFlag : Bool,callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
if firstPageFlag == false { if firstFlag == false {
guard hasMoreForActivityList == true else { guard hasMoreForActivityList == true else {
printLog("无更多数据可请求") printLog("无更多数据可请求")
return return
...@@ -51,7 +51,7 @@ extension YHActivityViewModel { ...@@ -51,7 +51,7 @@ extension YHActivityViewModel {
var params: [String : Any] = ["page": curPageIndex, var params: [String : Any] = ["page": curPageIndex,
"page_size": page_Size] "page_size": page_Size]
if firstPageFlag { if firstFlag {
params = ["page": 1, params = ["page": 1,
"page_size": page_Size] "page_size": page_Size]
} else { } else {
...@@ -76,7 +76,7 @@ extension YHActivityViewModel { ...@@ -76,7 +76,7 @@ extension YHActivityViewModel {
if firstPageFlag { if firstFlag {
self.totalCount = Int(result.total) ?? 0 self.totalCount = Int(result.total) ?? 0
self.arrActivityListData = result.data self.arrActivityListData = result.data
curPageIndex = 1 curPageIndex = 1
......
...@@ -245,7 +245,7 @@ private extension YHHomePageViewController { ...@@ -245,7 +245,7 @@ private extension YHHomePageViewController {
func loadMoreData() { func loadMoreData() {
DispatchQueue.global().async { DispatchQueue.global().async {
self.viewModel.getHomeNewsList(firstPageFlag : false) {[weak self] success, error in self.viewModel.getHomeNewsList(firstFlag : false) {[weak self] success, error in
guard let self = self else { return } guard let self = self else { return }
DispatchQueue.main.asyncAfter(wallDeadline: .now() + 0.35, execute: { DispatchQueue.main.asyncAfter(wallDeadline: .now() + 0.35, execute: {
CATransaction.setDisableActions(true) CATransaction.setDisableActions(true)
...@@ -263,7 +263,7 @@ private extension YHHomePageViewController { ...@@ -263,7 +263,7 @@ private extension YHHomePageViewController {
} }
func loadFirstData() { func loadFirstData() {
self.viewModel.getHomeNewsList(firstPageFlag : true) {[weak self] success, error in self.viewModel.getHomeNewsList(firstFlag : true) {[weak self] success, error in
guard let self = self else { return } guard let self = self else { return }
if let arrB = self.viewModel.arrHomeNewsData,arrB.count > 0 { if let arrB = self.viewModel.arrHomeNewsData,arrB.count > 0 {
......
...@@ -104,11 +104,11 @@ extension YHHomePageViewModel { ...@@ -104,11 +104,11 @@ extension YHHomePageViewModel {
} }
/* /*
firstPageFlag true - 首次 false - 更多 firstFlag true - 首次 false - 更多
*/ */
func getHomeNewsList(firstPageFlag : Bool,callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) { func getHomeNewsList(firstFlag : Bool,callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
if firstPageFlag == false { if firstFlag == false {
guard hasMoreForHomeNews == true else { guard hasMoreForHomeNews == true else {
printLog("无更多数据可请求") printLog("无更多数据可请求")
return return
...@@ -125,7 +125,7 @@ extension YHHomePageViewModel { ...@@ -125,7 +125,7 @@ extension YHHomePageViewModel {
var params: [String : Any] = ["page": curPageIndex, var params: [String : Any] = ["page": curPageIndex,
"page_size": page_Size] "page_size": page_Size]
if firstPageFlag { if firstFlag {
params = ["page": 1, params = ["page": 1,
"page_size": page_Size] "page_size": page_Size]
} else { } else {
...@@ -151,7 +151,7 @@ extension YHHomePageViewModel { ...@@ -151,7 +151,7 @@ extension YHHomePageViewModel {
item.calHeightParam() item.calHeightParam()
} }
if firstPageFlag { if firstFlag {
self.totalCount = result.total self.totalCount = result.total
self.arrHomeNewsData = result.data self.arrHomeNewsData = result.data
curPageIndex = 1 curPageIndex = 1
...@@ -264,11 +264,11 @@ extension YHHomePageViewModel { ...@@ -264,11 +264,11 @@ extension YHHomePageViewModel {
} }
} }
func getList(_ firstPageFlag : Bool, _ classifyID: Int, callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) { func getList(_ firstFlag : Bool, _ classifyID: Int, callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
var params: [String : Any] = ["page": curPageIndex, var params: [String : Any] = ["page": curPageIndex,
"page_size": searchPageSize, "page_size": searchPageSize,
"classify_id[0]": classifyID] "classify_id[0]": classifyID]
if firstPageFlag { if firstFlag {
params = ["page": 1, params = ["page": 1,
"page_size": searchPageSize, "page_size": searchPageSize,
"classify_id[0]": classifyID] "classify_id[0]": classifyID]
...@@ -292,7 +292,7 @@ extension YHHomePageViewModel { ...@@ -292,7 +292,7 @@ extension YHHomePageViewModel {
item.calHeightParam() item.calHeightParam()
} }
if firstPageFlag { if firstFlag {
self.curPageIndex = 1 self.curPageIndex = 1
self.totalCount = result.total self.totalCount = result.total
self.arrHomeNewsData = result.data self.arrHomeNewsData = result.data
......
...@@ -19,11 +19,11 @@ class YHMyLikeViewModel: YHBaseViewModel { ...@@ -19,11 +19,11 @@ class YHMyLikeViewModel: YHBaseViewModel {
extension YHMyLikeViewModel { extension YHMyLikeViewModel {
// 1点赞 2收藏 // 1点赞 2收藏
func getList(_ firstPageFlag : Bool, _ type: Int, callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) { func getList(_ firstFlag : Bool, _ type: Int, callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
var params: [String : Any] = ["page": curPageIndex, var params: [String : Any] = ["page": curPageIndex,
"page_size": page_Size, "page_size": page_Size,
"operate_type": type] "operate_type": type]
if firstPageFlag { if firstFlag {
curPageIndex = 1 curPageIndex = 1
params = ["page": curPageIndex, params = ["page": curPageIndex,
"page_size": page_Size, "page_size": page_Size,
...@@ -49,7 +49,7 @@ extension YHMyLikeViewModel { ...@@ -49,7 +49,7 @@ extension YHMyLikeViewModel {
item.calHeightParam() item.calHeightParam()
} }
if firstPageFlag { if firstFlag {
self.totalCount = result.total self.totalCount = result.total
self.arrHomeNewsData = result.data self.arrHomeNewsData = result.data
} else { } else {
...@@ -77,10 +77,10 @@ extension YHMyLikeViewModel { ...@@ -77,10 +77,10 @@ extension YHMyLikeViewModel {
} }
//最近浏览 //最近浏览
func getList(_ firstPageFlag : Bool, callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) { func getList(_ firstFlag : Bool, callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
var params: [String : Any] = ["page": curPageIndex, var params: [String : Any] = ["page": curPageIndex,
"page_size": page_Size] "page_size": page_Size]
if firstPageFlag { if firstFlag {
curPageIndex = 1 curPageIndex = 1
params = ["page": curPageIndex, params = ["page": curPageIndex,
"page_size": page_Size] "page_size": page_Size]
...@@ -104,7 +104,7 @@ extension YHMyLikeViewModel { ...@@ -104,7 +104,7 @@ extension YHMyLikeViewModel {
item.calHeightParam() item.calHeightParam()
} }
if firstPageFlag { if firstFlag {
self.totalCount = result.total self.totalCount = result.total
self.arrHomeNewsData = result.data self.arrHomeNewsData = result.data
} else { } else {
......
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