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

完成 活动列表的展示

parent 29d18c60
......@@ -9,6 +9,51 @@
import UIKit
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 {
self.loadMoreData()
}
emptyDataTipsView.isHidden = viewModel.arrActivityListData.count > 0 ? true : false
loadFirstData()
}
}
extension YHActivityListViewController {
func loadMoreData() {
// DispatchQueue.global().async {
// self.viewModel.getHomeNewsList(firstPageFlag : false) {[weak self] success, error in
// guard let self = self else { return }
// DispatchQueue.main.asyncAfter(wallDeadline: .now() + 0.35, execute: {
// CATransaction.setDisableActions(true)
// self.homeCollectView.reloadData()
// CATransaction.commit()
//
// self.homeCollectView.es.stopLoadingMore()
// if self.viewModel.hasMoreForHomeNews == false {
// self.homeCollectView.es.noticeNoMoreData()
// self.homeCollectView.footer?.alpha = 1
// }
// })
// }
// }
DispatchQueue.main.asyncAfter(deadline: .now()+0.5, execute: {
self.tableView.es.stopLoadingMore()
})
self.viewModel.getActivityList(firstFlag : false) {[weak self] success, error in
guard let self = self else { return }
DispatchQueue.main.asyncAfter(wallDeadline: .now() + 0.35, execute: {
self.tableView.es.stopLoadingMore()
if self.viewModel.hasMoreForActivityList == false {
self.tableView.es.noticeNoMoreData()
self.tableView.footer?.alpha = 1
}
self.tableView.reloadData()
self.emptyDataTipsView.isHidden = self.viewModel.arrActivityListData.count > 0 ? true : false
})
}
}
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 }
DispatchQueue.main.asyncAfter(deadline: .now()+0.5, execute: {
......@@ -144,6 +184,9 @@ extension YHActivityListViewController: UITableViewDelegate, UITableViewDataSour
let cell = tableView.dequeueReusableCell(withIdentifier: YHActivityListCell.cellReuseIdentifier, for: indexPath) as! YHActivityListCell
cell.sessionIndex = indexPath.section
if indexPath.section < viewModel.arrActivityListData.count {
cell.dataModel = viewModel.arrActivityListData[indexPath.section]
}
return cell
}
......@@ -152,6 +195,9 @@ extension YHActivityListViewController: UITableViewDelegate, UITableViewDataSour
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let vc = YHActivityDetailViewController()
navigationController?.pushViewController(vc)
}
......
......@@ -9,15 +9,12 @@
import UIKit
class YHActivityModel: YHBaseModel {
var id : Int = 0
var tag : Int = 0
var name : String = ""
var cover : String = ""
var beginTime : String = ""
var endTime : String = ""
var place : String = ""
var status : String = ""
// required init() {
//
// }
var id : Int = 0 //活动ID
var tag : Int = 0 //活动标签枚举 1:V专享
var name : String = "" //活动标题
var cover : String = "" //活动封面
var beginTime : String = "" //开始时间戳
var endTime : String = "" //结束时间戳
var place : String = "" //活动地点
var status : String = "" //活动的状态 1:立即报名 2:已报名 3:活动结束 4:已取消报名
}
......@@ -12,6 +12,13 @@ class YHActivityListCell: UITableViewCell {
static let cellReuseIdentifier = "YHActivityListCell"
var dataModel : YHActivityModel? {
didSet {
updateUI()
}
}
var sessionIndex : Int = 0 {
didSet {
let tmp = sessionIndex % 3
......@@ -32,6 +39,7 @@ class YHActivityListCell: UITableViewCell {
let view = UIImageView()
view.image = UIImage(named: "activity_vip_icon")
view.contentMode = .scaleAspectFill
view.isHidden = true
return view
}()
......@@ -49,8 +57,6 @@ class YHActivityListCell: UITableViewCell {
lazy var activityImgV:UIImageView = {
let view = UIImageView()
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")
return view
}()
......@@ -103,6 +109,42 @@ class YHActivityListCell: UITableViewCell {
}
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() {
backgroundColor = .clear
selectionStyle = .none
......
......@@ -17,7 +17,7 @@ class YHActivityViewModel: YHBaseViewModel {
var hasMoreForActivityList : Bool = true
var isRequestActivityListDataFlag : Bool = false
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
var arrActivityListData : [YHActivityModel] = []
......@@ -30,11 +30,11 @@ class YHActivityViewModel: YHBaseViewModel {
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 {
printLog("无更多数据可请求")
return
......@@ -51,7 +51,7 @@ extension YHActivityViewModel {
var params: [String : Any] = ["page": curPageIndex,
"page_size": page_Size]
if firstPageFlag {
if firstFlag {
params = ["page": 1,
"page_size": page_Size]
} else {
......@@ -76,7 +76,7 @@ extension YHActivityViewModel {
if firstPageFlag {
if firstFlag {
self.totalCount = Int(result.total) ?? 0
self.arrActivityListData = result.data
curPageIndex = 1
......
......@@ -245,7 +245,7 @@ private extension YHHomePageViewController {
func loadMoreData() {
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 }
DispatchQueue.main.asyncAfter(wallDeadline: .now() + 0.35, execute: {
CATransaction.setDisableActions(true)
......@@ -263,7 +263,7 @@ private extension YHHomePageViewController {
}
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 }
if let arrB = self.viewModel.arrHomeNewsData,arrB.count > 0 {
......
......@@ -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 {
printLog("无更多数据可请求")
return
......@@ -125,7 +125,7 @@ extension YHHomePageViewModel {
var params: [String : Any] = ["page": curPageIndex,
"page_size": page_Size]
if firstPageFlag {
if firstFlag {
params = ["page": 1,
"page_size": page_Size]
} else {
......@@ -151,7 +151,7 @@ extension YHHomePageViewModel {
item.calHeightParam()
}
if firstPageFlag {
if firstFlag {
self.totalCount = result.total
self.arrHomeNewsData = result.data
curPageIndex = 1
......@@ -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,
"page_size": searchPageSize,
"classify_id[0]": classifyID]
if firstPageFlag {
if firstFlag {
params = ["page": 1,
"page_size": searchPageSize,
"classify_id[0]": classifyID]
......@@ -292,7 +292,7 @@ extension YHHomePageViewModel {
item.calHeightParam()
}
if firstPageFlag {
if firstFlag {
self.curPageIndex = 1
self.totalCount = result.total
self.arrHomeNewsData = result.data
......
......@@ -19,11 +19,11 @@ class YHMyLikeViewModel: YHBaseViewModel {
extension YHMyLikeViewModel {
// 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,
"page_size": page_Size,
"operate_type": type]
if firstPageFlag {
if firstFlag {
curPageIndex = 1
params = ["page": curPageIndex,
"page_size": page_Size,
......@@ -49,7 +49,7 @@ extension YHMyLikeViewModel {
item.calHeightParam()
}
if firstPageFlag {
if firstFlag {
self.totalCount = result.total
self.arrHomeNewsData = result.data
} else {
......@@ -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,
"page_size": page_Size]
if firstPageFlag {
if firstFlag {
curPageIndex = 1
params = ["page": curPageIndex,
"page_size": page_Size]
......@@ -104,7 +104,7 @@ extension YHMyLikeViewModel {
item.calHeightParam()
}
if firstPageFlag {
if firstFlag {
self.totalCount = result.total
self.arrHomeNewsData = result.data
} 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