New file |
| | |
| | | // |
| | | // DetailDataViewController.m |
| | | // screendisplay |
| | | // |
| | | // Created by 单军华 on 2018/7/5. |
| | | // Copyright © 2018年 单军华. All rights reserved. |
| | | // |
| | | |
| | | #import "DetailDataViewController.h" |
| | | #import "DetailService.h" |
| | | #import "CommonReqModel.h" |
| | | #import "DetailItemCell.h" |
| | | #import "DynamicViewController.h" |
| | | |
| | | @interface DetailDataViewController ()<UITableViewDelegate,UITableViewDataSource> |
| | | { |
| | | NSTimer * myTimer; // 更新设备状态 |
| | | } |
| | | |
| | | @property(nonatomic,strong) UITableView * tableView; |
| | | |
| | | /** <#digest#> */ |
| | | @property (nonatomic, strong) DetailService *detailService; |
| | | |
| | | @end |
| | | |
| | | @implementation DetailDataViewController |
| | | |
| | | #pragma mark - getter |
| | | |
| | | - (DetailService *)detailService |
| | | { |
| | | if(_detailService == nil) |
| | | { |
| | | _detailService = [[DetailService alloc] init]; |
| | | } |
| | | return _detailService; |
| | | } |
| | | |
| | | - (UITableView *)tableView |
| | | { |
| | | if (!_tableView) |
| | | { |
| | | _tableView = [[UITableView alloc] init]; |
| | | |
| | | |
| | | _tableView.delegate = self; |
| | | _tableView.dataSource = self; |
| | | _tableView.frame = CGRectMake((SCREEN_WIDTH-AdaptedWidth(340))/2, NavBar_Height+AdaptedHeight(13), AdaptedWidth(350), AdaptedHeight(570)); |
| | | _tableView.separatorStyle = UITableViewCellSeparatorStyleNone; |
| | | _tableView.backgroundColor = [UIColor clearColor]; |
| | | [self.view addSubview:_tableView]; |
| | | |
| | | UIImageView * viewBackground = [[UIImageView alloc] initWithFrame:CGRectMake((SCREEN_WIDTH-AdaptedWidth(355))/2, NavBar_Height+AdaptedHeight(13), AdaptedWidth(355), AdaptedHeight(574))]; |
| | | viewBackground.image = [UIImage imageNamed:@"detail_back"]; |
| | | _tableView.backgroundView = viewBackground; |
| | | |
| | | // [_tableView mas_makeConstraints:^(MASConstraintMaker *make) { |
| | | // make.edges.mas_equalTo(UIEdgeInsetsMake((SCREEN_WIDTH-AdaptedWidth(355))/2 , AdaptedHeight(13), AdaptedHeight(13),(SCREEN_WIDTH-AdaptedWidth(355))/2)); |
| | | // }]; |
| | | |
| | | _tableView.tableFooterView = [UIView new]; |
| | | } |
| | | return _tableView; |
| | | } |
| | | |
| | | #pragma mark - UITableViewDataSource UITableViewDelegate |
| | | - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView |
| | | { |
| | | return 1; |
| | | } |
| | | |
| | | - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section |
| | | { |
| | | return self.detailService.detailViewModels.count; |
| | | } |
| | | |
| | | - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath |
| | | { |
| | | return AdaptedHeight(42.0); |
| | | } |
| | | |
| | | - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath |
| | | { |
| | | DetailItemCell *topicCell = [DetailItemCell topicCellWithTableView:tableView]; |
| | | topicCell.detailViewModel = self.detailService.detailViewModels[indexPath.row]; |
| | | return topicCell; |
| | | } |
| | | |
| | | |
| | | -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath |
| | | { |
| | | NSInteger index = [indexPath row]; |
| | | |
| | | // 0 正常 1 一级警报 2 二级警报 3 三级警报 4 维保 |
| | | if([self.deviceModel.state intValue] == 4) |
| | | { |
| | | [Global alertMessageEx:@"该设备维保中,不能获取实时数据!" title:@"系统提示" okTtitle:nil cancelTitle:@"确定" delegate:self]; |
| | | } |
| | | else |
| | | { |
| | | DynamicViewController * page = [[DynamicViewController alloc] init]; |
| | | page.detailModel = [self.detailService.detailViewModels objectAtIndex:index]; |
| | | [self.navigationController pushViewController:page animated:YES]; |
| | | } |
| | | |
| | | NSLog(@"click didSelectRowAtIndexPath"); |
| | | } |
| | | |
| | | - (void)viewDidLoad { |
| | | [super viewDidLoad]; |
| | | // Do any additional setup after loading the view. |
| | | |
| | | [self initView]; |
| | | |
| | | [self getDetailList]; |
| | | |
| | | //每1秒运行一次function方法。 |
| | | myTimer = [NSTimer scheduledTimerWithTimeInterval:10.0 target:self selector:@selector(updateDynamicData) userInfo:nil repeats:YES]; |
| | | |
| | | } |
| | | |
| | | -(void)viewWillAppear:(BOOL)animated |
| | | { |
| | | [super viewWillAppear:YES]; |
| | | |
| | | self.navigationController.navigationBarHidden = YES; |
| | | |
| | | if (myTimer == nil) |
| | | myTimer = [NSTimer scheduledTimerWithTimeInterval:10.0 target:self selector:@selector(updateDynamicData) userInfo:nil repeats:YES]; |
| | | else |
| | | //开启定时器 |
| | | [myTimer setFireDate:[NSDate distantPast]]; |
| | | } |
| | | |
| | | -(void)viewDidDisappear:(BOOL)animated |
| | | { |
| | | [super viewDidDisappear:YES]; |
| | | |
| | | //关闭定时器 |
| | | if(myTimer) |
| | | [myTimer setFireDate:[NSDate distantFuture]]; |
| | | } |
| | | |
| | | -(void) initView |
| | | { |
| | | // 禁用右滑返回 |
| | | //self.fd_interactivePopDisabled = YES; |
| | | |
| | | self.view.backgroundColor = kUIColorFromRGB(0x0b2f76); |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | - (void)didReceiveMemoryWarning { |
| | | [super didReceiveMemoryWarning]; |
| | | // Dispose of any resources that can be recreated. |
| | | } |
| | | |
| | | |
| | | #pragma mark custom function |
| | | -(void)updateDynamicData |
| | | { |
| | | [self getDetailList]; |
| | | } |
| | | |
| | | -(void)getDetailList |
| | | { |
| | | NSMutableDictionary *param = [[NSMutableDictionary alloc] init]; |
| | | [param setObject:self.deviceModel.deviceVersionId forKey:@"deviceVersionId"]; |
| | | [param setObject:self.deviceModel.mac forKey:@"mac"]; |
| | | [param setObject:self.deviceModel.id forKey:@"deviceId"]; |
| | | |
| | | TWWeak(self); |
| | | [self.detailService getDetailListWithParameters:param completion:^(NSString *desc, int code) { |
| | | if(code == 1) |
| | | { |
| | | weakself.tableView.hidden = NO; |
| | | [weakself.tableView reloadData]; |
| | | } |
| | | else |
| | | { |
| | | [Global alertMessageEx:desc title:@"获取失败" okTtitle:nil cancelTitle:@"OK" delegate:self]; |
| | | } |
| | | }]; |
| | | } |
| | | |
| | | /* |
| | | #pragma mark - Navigation |
| | | |
| | | // In a storyboard-based application, you will often want to do a little preparation before navigation |
| | | - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { |
| | | // Get the new view controller using [segue destinationViewController]. |
| | | // Pass the selected object to the new view controller. |
| | | } |
| | | */ |
| | | |
| | | #pragma mark - LMJNavUIBaseViewControllerDataSource |
| | | |
| | | - (UIStatusBarStyle)navUIBaseViewControllerPreferStatusBarStyle:(LMJNavUIBaseViewController *)navUIBaseViewController |
| | | { |
| | | return UIStatusBarStyleDefault; |
| | | } |
| | | |
| | | /**头部标题*/ |
| | | - (NSMutableAttributedString*)lmjNavigationBarTitle:(LMJNavigationBar *)navigationBar |
| | | { |
| | | return [self changeTitle:@"详细数据" changeColor:[UIColor whiteColor]]; |
| | | } |
| | | |
| | | //背景图片 |
| | | //- (UIImage *)lmjNavigationBarBackgroundImage:(LMJNavigationBar *)navigationBar |
| | | //{ |
| | | // return [UIImage imageNamed:@"map_top_bar_bk"]; |
| | | //} |
| | | |
| | | /** 背景色 */ |
| | | - (UIColor *)lmjNavigationBackgroundColor:(LMJNavigationBar *)navigationBar |
| | | { |
| | | return kUIColorFromRGB(0x0b2f76); |
| | | } |
| | | |
| | | /** 是否隐藏底部黑线 */ |
| | | - (BOOL)lmjNavigationIsHideBottomLine:(LMJNavigationBar *)navigationBar |
| | | { |
| | | return YES; |
| | | } |
| | | |
| | | /** 导航条左边的按钮 */ |
| | | - (UIImage *)lmjNavigationBarLeftButtonImage:(UIButton *)leftButton navigationBar:(LMJNavigationBar *)navigationBar |
| | | { |
| | | return [UIImage imageNamed:@"map_back"]; |
| | | } |
| | | /** 导航条右边的按钮 */ |
| | | - (UIImage *)lmjNavigationBarRightButtonImage:(UIButton *)rightButton navigationBar:(LMJNavigationBar *)navigationBar |
| | | { |
| | | //return [UIImage imageNamed:@"map_back"]; |
| | | |
| | | // [rightButton setTitle:@"立即注册" forState: UIControlStateNormal]; |
| | | // [rightButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; |
| | | // [rightButton setTitleColor:[UIColor lightGrayColor] forState:UIControlStateHighlighted]; |
| | | // rightButton.titleLabel.font = [UIFont systemFontOfSize:15]; |
| | | // |
| | | // rightButton.lmj_width = 80; |
| | | |
| | | return nil; |
| | | } |
| | | |
| | | #pragma mark - LMJNavUIBaseViewControllerDelegate |
| | | /** 左边的按钮的点击 */ |
| | | -(void)leftButtonEvent:(UIButton *)sender navigationBar:(LMJNavigationBar *)navigationBar |
| | | { |
| | | [self.navigationController popViewControllerAnimated:YES]; |
| | | //[self dismissViewControllerAnimated:YES completion:nil]; |
| | | } |
| | | |
| | | |
| | | /** 右边的按钮的点击 */ |
| | | -(void)rightButtonEvent:(UIButton *)sender navigationBar:(LMJNavigationBar *)navigationBar |
| | | { |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | @end |