YOUPAIMyNetworkVC.m 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296
  1. //
  2. // YOUPAIMyNetworkVC.m
  3. // MSYOUPAI
  4. //
  5. // Created by xiaohaoran on 2022/3/11.
  6. // Copyright © 2022 MS. All rights reserved.
  7. //
  8. #import "YOUPAIMyNetworkVC.h"
  9. #import "YOUPAIHRGuildCenterDetailCell.h"
  10. #import "YOUPAIHRGuildCenterDetailHeaderView.h"
  11. #import "YOUPAIHRMembershipApplicationVC.h"
  12. #import "LZAlertWindow.h"
  13. #import "UIViewController+TFPresent.h"
  14. #import "UIScrollView+LZRefresh.h"
  15. #import "YOUPAIHRGuildCenterDetailModel.h"
  16. #import "YOUPAIApplyOutWindow.h"
  17. #import "YOUPAICancellationApplicationVC.h"
  18. #import "YOUPAIMyNetworkCell.h"
  19. #import "YOUPAIMyNetworkModel.h"
  20. @interface YOUPAIMyNetworkVC ()<UITableViewDelegate,UITableViewDataSource>
  21. @property(nonatomic,strong)UITableView *youpaiptableView;
  22. @property (nonatomic, assign) NSInteger youpaippage;
  23. @property (nonatomic, strong) NSMutableArray *youpaipdataSource;
  24. @property(nonatomic,copy)NSString *total_people;//我邀请的人
  25. @property(nonatomic,strong)UILabel *allIncomeLabel;//总收益
  26. @end
  27. @implementation YOUPAIMyNetworkVC
  28. -(void)viewWillAppear:(BOOL)animated{
  29. [super viewWillAppear:animated];
  30. self.navigationController.navigationBarHidden = YES;
  31. }
  32. - (void)viewWillDisappear:(BOOL)animated{
  33. [super viewWillDisappear:animated];
  34. self.navigationController.navigationBarHidden = NO;
  35. }
  36. - (void)viewDidLoad {
  37. [super viewDidLoad];
  38. self.view.backgroundColor = [UIColor whiteColor];
  39. self.title = @"我的人脉";
  40. [self youpaifloadNavView];
  41. [self youpaiptableView];
  42. @weakify(self);
  43. [self.youpaiptableView setRefreshHeaderWithBlock:^{
  44. @strongify(self);
  45. [self youpaifrequestRankListWithStatus:kRefreshHeader];
  46. }];
  47. [self.youpaiptableView.mj_header beginRefreshing];
  48. }
  49. -(void)loadNoStatusView{
  50. UIButton *noStatusBtn = [UIButton new];
  51. [self.view addSubview:noStatusBtn];
  52. [noStatusBtn mas_makeConstraints:^(MASConstraintMaker *make) {
  53. make.bottom.mas_equalTo(-TabbarHeight);
  54. make.centerX.mas_equalTo(0);
  55. make.size.mas_equalTo(CGSizeMake(280, 49));
  56. }];
  57. [noStatusBtn setTitle:@"马上邀请" forState:UIControlStateNormal];
  58. [noStatusBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
  59. noStatusBtn.titleLabel.font = [UIFont systemFontOfSize:18];
  60. [noStatusBtn setBackgroundImage:[LCTools ColorImage:CGSizeMake(280, 49) FromColors:@[LZBFB6FFColor,LZ7C69FEColor] ByGradientType:1] forState:UIControlStateNormal];
  61. noStatusBtn.layer.cornerRadius = 24.5;
  62. noStatusBtn.clipsToBounds = YES;
  63. [noStatusBtn addTarget:self action:@selector(inviteMoreBtnClick) forControlEvents:UIControlEventTouchUpInside];
  64. }
  65. -(void)youpaifloadNavView{
  66. UIImageView *navView = [UIImageView new];
  67. [self.view addSubview:navView];
  68. [navView mas_makeConstraints:^(MASConstraintMaker *make) {
  69. make.left.mas_equalTo(0);
  70. make.right.mas_equalTo(0);
  71. make.top.mas_equalTo(0);
  72. make.height.mas_equalTo(255);
  73. }];
  74. navView.contentMode = UIViewContentModeScaleToFill;
  75. navView.image = [UIImage imageNamed:@"vqu_images_MyNetWork_headerViewBg"];
  76. navView.userInteractionEnabled = YES;
  77. //返回
  78. UIButton *cancelBtn = [UIButton new];
  79. [navView addSubview:cancelBtn ];
  80. [cancelBtn mas_makeConstraints:^(MASConstraintMaker *make) {
  81. make.left.mas_equalTo(10);
  82. make.top.mas_equalTo(StatusBarHeight);
  83. make.size.mas_equalTo(CGSizeMake(40, 40));
  84. }];
  85. [cancelBtn setImage:[UIImage imageNamed:@"vqu_images_D_cancel"] forState:UIControlStateNormal];
  86. //title
  87. UILabel *titleLabel = [UILabel new];
  88. [navView addSubview:titleLabel];
  89. [titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
  90. make.centerY.mas_equalTo(cancelBtn);
  91. make.centerX.mas_equalTo(0);
  92. }];
  93. titleLabel.font = LCBoldFont(17);
  94. titleLabel.textColor = [UIColor whiteColor];
  95. titleLabel.text = @"我的人脉";
  96. //总收益
  97. UILabel *allIncomeLabel = [UILabel new];
  98. self.allIncomeLabel = allIncomeLabel;
  99. [navView addSubview:allIncomeLabel];
  100. [allIncomeLabel mas_makeConstraints:^(MASConstraintMaker *make) {
  101. make.top.mas_equalTo(titleLabel.mas_bottom).offset(56);
  102. make.centerX.mas_equalTo(0);
  103. }];
  104. allIncomeLabel.textColor = LCWhiteColor;
  105. allIncomeLabel.font = LCBoldFont(36);
  106. allIncomeLabel.textAlignment = NSTextAlignmentCenter;
  107. //
  108. UILabel *allIncomeShowLabel = [UILabel new];
  109. [navView addSubview:allIncomeShowLabel];
  110. [allIncomeShowLabel mas_makeConstraints:^(MASConstraintMaker *make) {
  111. make.top.mas_equalTo(allIncomeLabel.mas_bottom).offset(8);
  112. make.centerX.mas_equalTo(0);
  113. }];
  114. allIncomeShowLabel.textColor = LCWhiteColor;
  115. allIncomeShowLabel.font = [UIFont systemFontOfSize:14];
  116. allIncomeShowLabel.text = @"总收益(元)";
  117. allIncomeShowLabel.textAlignment = NSTextAlignmentCenter;
  118. //事件
  119. [cancelBtn addTarget: self action:@selector(youpaifcancelButtonClick) forControlEvents:UIControlEventTouchUpInside];
  120. }
  121. -(void)youpaifcancelButtonClick{
  122. [self.navigationController popViewControllerAnimated:YES];
  123. }
  124. /// 设置加载更多
  125. - (void)youpaifrefreshFooterWithHidden:(BOOL)hidden{
  126. @weakify(self);
  127. [self.youpaiptableView setRefreshFooter:hidden withBlock:^{
  128. @strongify(self);
  129. [self youpaifrequestRankListWithStatus:kRefreshFooter];
  130. }];
  131. }
  132. - (void)youpaifrequestRankListWithStatus:(kRefreshStatus)status{
  133. if (status == kRefreshFooter) {
  134. self.youpaippage ++;
  135. }else{
  136. self.youpaippage = 0;
  137. }
  138. @weakify(self);
  139. NSMutableDictionary *dict = [NSMutableDictionary new];
  140. [dict setObject:@(self.youpaippage) forKey:@"after_key"];
  141. // [dict setObject:@"" forKey:@"begin_time"];
  142. // [dict setObject:@"" forKey:@"end_time"];
  143. [LCHttpHelper requestWithURLString:Contacts_overview parameters:dict needToken:YES type:(HttpRequestTypePost) success:^(id responseObject) {
  144. @strongify(self);
  145. [self.youpaiptableView endRefreshing:kRefreshAll];
  146. NSDictionary* dict = (NSDictionary*)responseObject;
  147. NSInteger code = [[dict objectForKey:@"code"] integerValue];
  148. if (code == 0) {//成功
  149. if (status != kRefreshFooter) {
  150. [self.youpaipdataSource removeAllObjects];
  151. }
  152. NSDictionary *data = [dict objectForKey:@"data"];
  153. self.total_people = [NSString stringWithFormat:@"我的邀请(%@人)",data[@"total_people"]];
  154. self.allIncomeLabel.text = data[@"total_income"];
  155. NSArray *arr = data[@"list"];
  156. [arr enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
  157. YOUPAIMyNetworkModel *model = [YOUPAIMyNetworkModel mj_objectWithKeyValues:obj];
  158. [self.youpaipdataSource addObject:model];
  159. }];
  160. [self.youpaiptableView reloadData];
  161. NSInteger youpaiptotalPage = [data[@"after_key"] integerValue];
  162. [self youpaifrefreshFooterWithHidden:self.youpaippage >= youpaiptotalPage];
  163. if (self.youpaipdataSource.count != 0) {
  164. [self.youpaiptableView lz_hideEmptyView];
  165. }else{
  166. self.allIncomeLabel.text = @"0.00";
  167. [self loadNoStatusView];
  168. [self.youpaiptableView lz_showEmptyViewWithImage:[UIImage imageNamed:@"vqu_images_not_home_data"] content:@"暂无数据"];
  169. }
  170. }
  171. } failure:^(NSError *error) {
  172. @strongify(self);
  173. [self.youpaiptableView endRefreshing:kRefreshAll];
  174. }];
  175. }
  176. #pragma mark UITableViewDelegate&UITableViewDataSource
  177. -(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
  178. return 61;
  179. }
  180. -(UIView*)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
  181. UIView* headerView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, KScreenWidth, 61)];
  182. headerView.backgroundColor = [UIColor whiteColor];
  183. //我的邀请
  184. UILabel *myinviteLabel = [UILabel new];
  185. [headerView addSubview:myinviteLabel];
  186. [myinviteLabel mas_makeConstraints:^(MASConstraintMaker *make) {
  187. make.left.mas_equalTo(12);
  188. make.centerY.mas_equalTo(0);
  189. }];
  190. myinviteLabel.text = self.total_people;
  191. myinviteLabel.font = LCBoldFont(14);
  192. myinviteLabel.textColor = LZ273145Color;
  193. //邀请跟多
  194. UIButton *inviteMoreBtn = [UIButton new];
  195. [headerView addSubview:inviteMoreBtn];
  196. [inviteMoreBtn mas_makeConstraints:^(MASConstraintMaker *make) {
  197. make.right.mas_equalTo(-12);
  198. make.centerY.mas_equalTo(0);
  199. make.size.mas_equalTo(CGSizeMake(75, 27));
  200. }];
  201. [inviteMoreBtn setBackgroundImage:[LCTools ColorImage:CGSizeMake(75, 27) FromColors:@[LZBFB6FFColor,LZ7C69FEColor] ByGradientType:1] forState:UIControlStateNormal];
  202. [inviteMoreBtn setTitle:@"邀请更多" forState:UIControlStateNormal];
  203. [inviteMoreBtn setTitleColor:LCWhiteColor forState:UIControlStateNormal];
  204. inviteMoreBtn.titleLabel.font = [UIFont systemFontOfSize:12];
  205. inviteMoreBtn.layer.cornerRadius = 15;
  206. inviteMoreBtn.clipsToBounds = YES;
  207. [inviteMoreBtn addTarget:self action:@selector(inviteMoreBtnClick) forControlEvents:UIControlEventTouchUpInside];
  208. return headerView;
  209. }
  210. -(void)inviteMoreBtnClick{
  211. ZCBaseWebVC * vc = [[ZCBaseWebVC alloc]init];
  212. vc.contentUrl = self.youpaipinviteUrl;
  213. [self.navigationController pushViewController:vc animated:YES];
  214. }
  215. -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
  216. return 97;
  217. }
  218. -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
  219. return self.youpaipdataSource.count;
  220. }
  221. -(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
  222. NSString *CellIdentifier = @"YOUPAIMyNetworkCell";
  223. YOUPAIMyNetworkCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];;
  224. if (cell == nil) {
  225. cell = [[YOUPAIMyNetworkCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
  226. }
  227. [cell setSelectionStyle:UITableViewCellSelectionStyleNone];
  228. cell.backgroundColor = LZFAFAFCColor;
  229. YOUPAIMyNetworkModel *model = self.youpaipdataSource[indexPath.row];
  230. cell.model = model;
  231. return cell;
  232. }
  233. -(UITableView *)youpaiptableView{
  234. if (_youpaiptableView == nil) {
  235. _youpaiptableView = [[UITableView alloc]initWithFrame:CGRectZero style:UITableViewStylePlain];
  236. [self.view addSubview:_youpaiptableView];
  237. [_youpaiptableView mas_makeConstraints:^(MASConstraintMaker *make) {
  238. make.top.mas_equalTo(255);
  239. make.left.mas_equalTo(0);
  240. make.right.mas_equalTo(0);
  241. make.bottom.mas_equalTo(-SafeHeight);
  242. }];
  243. _youpaiptableView.delegate = self;
  244. _youpaiptableView.dataSource = self;
  245. _youpaiptableView.backgroundColor = [UIColor whiteColor];
  246. _youpaiptableView.separatorStyle = UITableViewCellSeparatorStyleNone;
  247. _youpaiptableView.showsVerticalScrollIndicator = NO;
  248. _youpaiptableView.showsHorizontalScrollIndicator = NO;
  249. if (@available(iOS 15.0, *)) {
  250. _youpaiptableView.sectionHeaderTopPadding = 0;
  251. }
  252. }
  253. return _youpaiptableView;
  254. }
  255. -(NSMutableArray *)youpaipdataSource{
  256. if (_youpaipdataSource == nil) {
  257. _youpaipdataSource = [NSMutableArray new];
  258. }
  259. return _youpaipdataSource;
  260. }
  261. @end