You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
148 lines
5.2 KiB
148 lines
5.2 KiB
// |
|
// TFMonthlyTicketViewController.m |
|
// TFReader |
|
// |
|
// Created by 谢腾飞 on 2020/12/21. |
|
// Copyright © 2020 xtfei_2011@126.com. All rights reserved. |
|
// |
|
|
|
#import "TFMonthlyTicketViewController.h" |
|
#import "TFMonthlyTicketModel.h" |
|
#import "NSObject+Observer.h" |
|
#import "TFWebViewController.h" |
|
#import "TFMonthlyTicketViewCell.h" |
|
|
|
@interface TFMonthlyTicketViewController ()<UITableViewDataSource> |
|
|
|
@property (nonatomic ,strong) TFMonthlyTicketModel *logModel; |
|
|
|
@end |
|
|
|
@implementation TFMonthlyTicketViewController |
|
|
|
- (void)viewDidLoad |
|
{ |
|
[super viewDidLoad]; |
|
|
|
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(netRequest) name:Notification_Login_Success object:nil]; |
|
|
|
[self createSubviews]; |
|
[self netRequest]; |
|
} |
|
|
|
- (void)createSubviews |
|
{ |
|
[self setNavigationBarTitle:TFLocalizedString(@"月票记录")]; |
|
|
|
UIButton *_rightBtn = nil; |
|
WS(weakSelf) |
|
[self setNavigationBarRightButton:({ |
|
UIButton *rightBtn = [UIButton buttonWithType:UIButtonTypeCustom]; |
|
_rightBtn = rightBtn; |
|
rightBtn.hidden = YES; |
|
rightBtn.adjustsImageWhenHighlighted = NO; |
|
[rightBtn setImage:[UIImage imageNamed:@"book_help"] forState:UIControlStateNormal]; |
|
[rightBtn addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithActionBlock:^(id _Nonnull sender) { |
|
TFWebViewController *vc = [[TFWebViewController alloc] init]; |
|
vc.URLString = weakSelf.logModel.ticket_rule ?: @""; |
|
vc.navTitle = TFLocalizedString(@"月票说明"); |
|
vc.isPresentState = NO; |
|
[weakSelf.navigationController pushViewController:vc animated:YES]; |
|
}]]; |
|
rightBtn; |
|
})]; |
|
[_rightBtn mas_makeConstraints:^(MASConstraintMaker *make) { |
|
make.centerY.equalTo(self.navigationBar.navTitleLabel); |
|
make.right.equalTo(self.view).offset(- kMoreHalfMargin); |
|
make.height.width.mas_equalTo(21); |
|
}]; |
|
self.view.backgroundColor = [UIColor whiteColor]; |
|
|
|
[self.view addSubview:self.mainTableView]; |
|
[self.mainTableView setContentInset:UIEdgeInsetsMake(0, 0, PUB_TABBAR_OFFSET, 0)]; |
|
self.mainTableView.dataSource = self; |
|
[self.mainTableView registerClass:TFMonthlyTicketViewCell.class forCellReuseIdentifier:@"Identifier"]; |
|
[self.mainTableView mas_makeConstraints:^(MASConstraintMaker *make) { |
|
make.top.equalTo(self.view).offset(PUB_NAVBAR_HEIGHT); |
|
make.left.right.bottom.equalTo(self.view); |
|
}]; |
|
|
|
[self createEmptyView]; |
|
|
|
self.mainTableView.mj_footer = [TFRefreshFooter footerWithRefreshingBlock:^{ |
|
weakSelf.currentPageNumber ++; |
|
[weakSelf netRequest]; |
|
}]; |
|
} |
|
|
|
- (void)createEmptyView |
|
{ |
|
WS(weakSelf) |
|
if (!TFUserInfoManager.isLogin) { |
|
[self setEmptyOnView:self.mainTableView title:TFLocalizedString(@"登录后查看月票记录") buttonTitle:TFLocalizedString(@"立即登录") tapBlock:^{ |
|
[TFLoginOptionsViewController presentLoginView:^(TFUserInfoManager * _Nonnull userDataModel) { |
|
weakSelf.emptyView = nil; |
|
[weakSelf createEmptyView]; |
|
}]; |
|
}]; |
|
} else { |
|
[self setEmptyOnView:self.mainTableView title:TFLocalizedString(@"暂无月票记录") buttonTitle:@"" tapBlock:^{ |
|
|
|
}]; |
|
} |
|
} |
|
|
|
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section |
|
{ |
|
return self.logModel.list.count; |
|
} |
|
|
|
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath |
|
{ |
|
TFMonthlyTicketViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Identifier" forIndexPath:indexPath]; |
|
[cell setTicketListModel:self.logModel.list[indexPath.row]]; |
|
[cell setSplitLineHidden:self.logModel.list.count == indexPath.row + 1]; |
|
|
|
return cell; |
|
} |
|
|
|
- (void)netRequest |
|
{ |
|
if (!TFUserInfoManager.isLogin) { |
|
[self.mainTableView xtfei_showEmptyView]; |
|
return; |
|
} |
|
|
|
NSDictionary *params = @{ |
|
@"page_num":[TFUtilsHelper formatStringWithInteger:self.currentPageNumber] |
|
}; |
|
|
|
WS(weakSelf) |
|
[TFNetworkTools POSTQuick:Book_Reward_Ticket_Log parameters:params model:TFMonthlyTicketModel.class success:^(BOOL isSuccess, TFMonthlyTicketModel *_Nullable t_model, BOOL isCache, TFNetworkRequestModel *requestModel) { |
|
[weakSelf.mainTableView endRefreshing]; |
|
if (isSuccess) { |
|
if (t_model.current_page == 1) { |
|
weakSelf.logModel = t_model; |
|
} else { |
|
weakSelf.logModel.list = [weakSelf.logModel.list arrayByAddingObjectsFromArray:t_model.list]; |
|
} |
|
|
|
[weakSelf.mainTableView reloadData]; |
|
|
|
if (t_model.current_page >= t_model.total_page) { |
|
[weakSelf.mainTableView hideRefreshFooter]; |
|
} |
|
} else { |
|
[TFPromptManager showPromptViewWithStatus:TFPromptStatusError promptTitle:requestModel.msg]; |
|
} |
|
if (weakSelf.logModel.list.count > 0) { |
|
[weakSelf.mainTableView xtfei_hideEmptyView]; |
|
} else { |
|
[weakSelf.mainTableView xtfei_showEmptyView]; |
|
} |
|
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { |
|
[TFPromptManager showPromptWithError:error defaultText:nil]; |
|
}]; |
|
} |
|
|
|
@end
|
|
|