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.
 
 
 
 

230 lines
8.8 KiB

//
// QueryCallRatesRoFlowVC.m
// tongxin
//
// Created by Apple on 2019/2/25.
// Copyright © 2019年 xTT. All rights reserved.
//
#import "QueryCallRatesRoFlowVC.h"
#import "QueryFareTableViewCell.h"
#import <MJExtension.h>
#import "QueryFare.h"
#import <MJRefresh/MJRefresh.h>
@interface QueryCallRatesRoFlowVC ()
@property(nonatomic, strong) QueryFareTableViewCell *cell;
@property (nonatomic,strong) UIView * vbottom;
@property (nonatomic,strong) UIButton *leftBtn;
@property (nonatomic,strong) UIButton *rightBtn;
@end
@implementation QueryCallRatesRoFlowVC
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
[self loadData];
}
- (void)viewDidLoad {
[super viewDidLoad];
self.title = @"话费流量查询";
// Do any additional setup after loading the view.
self.view.backgroundColor = tabViewBG;
self.myTableView.estimatedRowHeight = 100;
self.myTableView.rowHeight = UITableViewAutomaticDimension;
self.myTableView.separatorStyle = UITableViewCellSeparatorStyleNone;
[self setUI];
self.myTableView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{
[self loadData];
}];
// [self.myTableView.mj_header beginRefreshing];
//
// [[NSNotificationCenter defaultCenter] addObserverForName:@"QueryFareReload" object:nil queue:[NSOperationQueue mainQueue] usingBlock:^(NSNotification * _Nonnull note) {
// [self loadData];
// }];
}
-(void)loadData{
WeakSelf
[cUser.cDevice getCostAndTrafficRecordWithParameters:nil Success:^(id responseObject) {
if([[responseObject allKeys] containsObject:@"messages"]){
NSArray *msgArray;
@try {
msgArray = responseObject[@"messages"];
} @catch (NSException *exception) {
xLog(@"出错")
} @finally {
}
if(msgArray){
// 数据处理
/* items
{
id :[str]
timestamp :[float]
content :[str]
}
*/
self.myDataSource = [QueryFare mj_objectArrayWithKeyValuesArray:msgArray];
}
[weakSelf showNoDataSourceView];
[self.myTableView.mj_header endRefreshing];
[weakSelf.myTableView reloadData];
[weakSelf setupNavi];
}
} failure:^(id faiObject) {
[self.myTableView.mj_header endRefreshing];
[weakSelf setupNavi];
if (!faiObject) {
[weakSelf showNoReachableView];
}else{
[weakSelf showNoDataSourceView];
}
}];
}
-(void)setUI{
if(_vbottom){
[_vbottom removeFromSuperview];
_vbottom = nil;
}
CGFloat tempHeight = 45+11;
if(ScreenHeight >= 812){
tempHeight = 45+11+15;
}
_vbottom = [[UIView alloc] initWithFrame:CGRectMake(0, ScreenHeight-getRectNavAndStatusHight-tempHeight, ScreenWidth, tempHeight)];
_leftBtn = [UIButton buttonWithType:UIButtonTypeCustom];
[_leftBtn setTitle:@"查话费" forState:UIControlStateNormal];
_leftBtn.layer.cornerRadius = 3;
_leftBtn.layer.masksToBounds = YES;
[_leftBtn setBackgroundColor:mainColor];
[_leftBtn setTitleColor:[UIColor whiteColor] forState:0];
[_leftBtn.titleLabel setFont:[UIFont systemFontOfSize:15]];
_rightBtn = [UIButton buttonWithType:UIButtonTypeCustom];
[_rightBtn setTitle:@"查流量" forState:UIControlStateNormal];
_rightBtn.layer.cornerRadius = 3;
_rightBtn.layer.masksToBounds = YES;
[_rightBtn setBackgroundColor:mainColor];
[_rightBtn setTitleColor:[UIColor whiteColor] forState:0];
[_rightBtn.titleLabel setFont:[UIFont systemFontOfSize:15]];
// [_vbottom.layer setBorderColor:[UIColor lightGrayColor].CGColor];
// _vbottom.backgroundColor = RGBA(241, 241, 241, 1);
_leftBtn.frame = CGRectMake(14, 1, (ScreenWidth-28-25)/2, 44);
_rightBtn.frame = CGRectMake(14+(ScreenWidth-28-25)/2+25, 1, (ScreenWidth-28-25)/2, 44);
[_vbottom addSubview:_leftBtn];
[_vbottom addSubview:_rightBtn];
[self.view addSubview:_vbottom];
[self.view bringSubviewToFront:_vbottom]; //置顶
[_rightBtn addTarget:self action:@selector(actionBalanceAndFlow:) forControlEvents:UIControlEventTouchUpInside];
[_leftBtn addTarget:self action:@selector(actionBalanceAndFlow:) forControlEvents:UIControlEventTouchUpInside];
}
- (void)setupNavi {
// UIBarButtonItem *settingBtn = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"device_querfare_setting"] style:UIBarButtonItemStylePlain target:self action:@selector(settingBarClick)];
if(self.myDataSource.count == 0){
self.navigationItem.rightBarButtonItems = nil;
}else{
UIBarButtonItem *deleteBtn = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"icon_delect"] style:UIBarButtonItemStylePlain target:self action:@selector(delegateMsg)];
self.navigationItem.rightBarButtonItems = @[
//settingBtn,
deleteBtn];
}
}
- (void)settingBarClick {
[self performSegueWithIdentifier:@"goQueryFareSetting" sender:nil];
}
- (void)delegateMsg {
WEAKSELF
LGAlertView *alertView = [[LGAlertView alloc] initWithTitle:@"注意" message:@"确认要清空话费流量记录?" style:LGAlertViewStyleAlert buttonTitles:@[@"确定"] cancelButtonTitle:@"取消" destructiveButtonTitle:nil actionHandler:^(LGAlertView *alertView, NSString *title, NSUInteger index) {
[QueryFare delectMessageSuccess:^(id result) {
[weakSelf.myDataSource removeAllObjects];
[weakSelf.myTableView reloadData];
[weakSelf showNoDataSourceView];
xLog(@"删除记录成功!")
} failure:^{
// [SVProgressHUD showSuccessWithStatus:@"删除记录失败,请稍后重试"];
} ];
} cancelHandler:nil destructiveHandler:nil];
[alertView showAnimated:YES completionHandler:nil];
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return self.myDataSource.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
QueryFareTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"queryFareTableViewCell"];
if (!cell) {
cell = [QueryFareTableViewCell viewFirstXib];
cell.accessoryType = UITableViewCellAccessoryNone;
}
cell.model = self.myDataSource[indexPath.row];
self.cell = cell;
return cell;
}
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView
editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{
return UITableViewCellEditingStyleNone;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return [self.cell heightForModel:self.myDataSource[indexPath.row]];
}
- (void)actionBalanceAndFlow:(UIButton *)sender {
NSMutableDictionary *params = [NSMutableDictionary dictionary];
int temp = 1; //1 话费 0 流量
if ([sender.titleLabel.text isEqualToString:@"查话费"]) {
temp = 1;
}else if([sender.titleLabel.text isEqualToString:@"查流量"]){
temp = 0;
}
[params setValue:@(temp) forKey:@"type"];
WEAKSELF
[cUser.cDevice queryCostAndTrafficFunctionWithParameters:params Success:^(id responseObject) {
// [SVProgressHUD showSuccessWithStatus:@"查询成功,等待设备回复"];
NSString *content;
if ([sender.titleLabel.text isEqualToString:@"查话费"]) {
content = @"查询话费指令已下发,等待设备上传查询短信";
}else if([sender.titleLabel.text isEqualToString:@"查流量"]){
content = @"查询流量指令已下发,等待设备上传查询短信";
}
LGAlertView *alertView = [[LGAlertView alloc] initWithTitle:@"提示" message:content style:LGAlertViewStyleAlert buttonTitles:@[@"确定"] cancelButtonTitle:nil destructiveButtonTitle:nil actionHandler:^(LGAlertView *alertView, NSString *title, NSUInteger index) {
//设置按钮不可点击
[weakSelf setBtnBadRoGoodFlag:NO WithBtn:sender];
} cancelHandler:nil destructiveHandler:nil];
[alertView showAnimated:YES completionHandler:nil];
} failure:^(id faiObject) {
xLog(@"查询话费或者流量失败");
}];
}
/**
设置按钮不可选且半透明
@param flag Bad is NO , Good is YES
@param button button
*/
-(void)setBtnBadRoGoodFlag:(BOOL)flag WithBtn:(UIButton*) button{
if(flag){
[button setAlpha:1];
[button setEnabled:YES];
}else{
[button setAlpha:0.5];
[button setEnabled:NO];
}
}
@end