SFeeRecordV.m 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. //
  2. // SFeeRecordV.m
  3. // BuguLive
  4. //
  5. // Created by 丁凯 on 2017/8/29.
  6. // Copyright © 2017年 xfg. All rights reserved.
  7. //
  8. #import "SFeeRecordV.h"
  9. #import "ChargerTableViewCell.h"
  10. #import "LiveDataModel.h"
  11. @implementation SFeeRecordV
  12. - (instancetype)initWithFrame:(CGRect)frame andfeeType:(int)feeType andRecordType:(int)recordType
  13. {
  14. self = [super initWithFrame:frame];
  15. if (self)
  16. {
  17. self.backgroundColor = kBackGroundColor;
  18. self.myFeeType = feeType;
  19. self.myRecordType = recordType;
  20. [self creatMianView];
  21. }
  22. return self;
  23. }
  24. - (void)creatMianView
  25. {
  26. self.listTableView = [[UITableView alloc]initWithFrame:CGRectMake(0,10, kScreenW, self.height-10)];
  27. self.listTableView.delegate =self;
  28. self.listTableView.dataSource =self;
  29. self.listTableView.backgroundColor = kBackGroundColor;
  30. self.listTableView.separatorStyle = UITableViewCellSeparatorStyleNone;
  31. self.listTableView.tag = 1107;
  32. [self addSubview:self.listTableView];
  33. [self.listTableView registerNib:[UINib nibWithNibName:@"ChargerTableViewCell" bundle:nil] forCellReuseIdentifier:@"ChargerTableViewCell"];
  34. [BGMJRefreshManager refresh:self.listTableView target:self headerRereshAction:@selector(headerReresh) footerRereshAction:@selector(footerReresh)];
  35. }
  36. #pragma mark 下拉刷新
  37. - (void)headerReresh
  38. {
  39. [self loadDataWithPage:1];
  40. }
  41. #pragma mark 上拉加载
  42. - (void)footerReresh
  43. {
  44. if (_has_next == 1)
  45. {
  46. _page ++;
  47. [self loadDataWithPage:self.page];
  48. }
  49. else
  50. {
  51. [BGMJRefreshManager endRefresh:self.listTableView];
  52. }
  53. }
  54. - (void)loadDataWithPage:(int)page
  55. {
  56. NSMutableDictionary *parmDict = [NSMutableDictionary dictionary];
  57. [parmDict setObject:@"live" forKey:@"ctl"];
  58. [parmDict setObject:@"pay_cont" forKey:@"act"];
  59. [parmDict setObject:[NSString stringWithFormat:@"%d",page] forKey:@"p"];
  60. [parmDict setObject:@(self.myFeeType) forKey:@"live_pay_type"];
  61. [parmDict setObject:@(self.myRecordType) forKey:@"type"];
  62. FWWeakify(self)
  63. [self.httpsManager POSTWithParameters:parmDict SuccessBlock:^(NSDictionary *responseJson)
  64. {
  65. FWStrongify(self)
  66. [BGMJRefreshManager endRefresh:_listTableView];
  67. if ([responseJson toInt:@"status"] == 1)
  68. {
  69. self.page = [[responseJson objectForKey:@"page"]toInt:@"page"];
  70. if (self.page < 2)
  71. {
  72. [self.dataArray removeAllObjects];
  73. }
  74. self.has_next = [[responseJson objectForKey:@"page"]toInt:@"has_next"];
  75. if ([responseJson objectForKey:@"data"])
  76. {
  77. NSArray *array = [responseJson objectForKey:@"data"];
  78. if (array && [array isKindOfClass:[NSArray class]])
  79. {
  80. if (array.count)
  81. {
  82. for (NSDictionary *dict in array)
  83. {
  84. LiveDataModel *model = [LiveDataModel mj_objectWithKeyValues:dict];
  85. [self.dataArray addObject:model];
  86. }
  87. }
  88. }
  89. }
  90. if (self.dataArray.count)
  91. {
  92. [self hideNoContentViewOnView:self];
  93. }else
  94. {
  95. [self showNoContentViewOnView:self];
  96. }
  97. [self.listTableView reloadData];
  98. }
  99. [BGMJRefreshManager endRefresh:self.listTableView];
  100. } FailureBlock:^(NSError *error)
  101. {
  102. FWStrongify(self)
  103. [BGMJRefreshManager endRefresh:self.listTableView];
  104. }];
  105. }
  106. - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
  107. {
  108. return self.dataArray.count;
  109. }
  110. - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
  111. {
  112. return 90;
  113. }
  114. - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
  115. {
  116. ChargerTableViewCell *cell =[tableView dequeueReusableCellWithIdentifier:@"ChargerTableViewCell"];
  117. LiveDataModel *model = self.dataArray[indexPath.row];
  118. cell.selectionStyle = UITableViewCellSelectionStyleNone;
  119. if (indexPath.row == _dataArray.count -1)
  120. {
  121. cell.lineView.hidden = YES;
  122. }
  123. [cell setCellWithDict:model andType:self.myRecordType andLive_pay_type:self.myFeeType];
  124. return cell;
  125. }
  126. - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
  127. {
  128. if (indexPath.row < self.dataArray.count)
  129. {
  130. LiveDataModel *model = _dataArray[indexPath.row];
  131. if (self.feeRecordBlock)
  132. {
  133. self.feeRecordBlock(model.user_id);
  134. }
  135. }
  136. }
  137. //- (BGNoContentView *)noContentView
  138. //{
  139. // if (!_noContentView)
  140. // {
  141. // _noContentView = [BGNoContentView noContentWithFrame:CGRectMake(0, 0, 150, 175)];
  142. // _noContentView.center = CGPointMake(self.frame.size.width/2, self.frame.size.height/2);
  143. // }
  144. // return _noContentView;
  145. //}
  146. - (NSMutableArray *)dataArray
  147. {
  148. if (!_dataArray)
  149. {
  150. _dataArray = [[NSMutableArray alloc]init];
  151. }
  152. return _dataArray;
  153. }
  154. //- (void)showNoContentView
  155. //{
  156. // [self addSubview:self.noContentView];
  157. //}
  158. //
  159. //- (void)hideNoContentView
  160. //{
  161. // [self.noContentView removeFromSuperview];
  162. // self.noContentView = nil;
  163. //}
  164. @end