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.
149 lines
5.2 KiB
149 lines
5.2 KiB
4 years ago
|
//
|
||
|
// 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
|