| | |
| | | #import "MBProgressHUD.h" |
| | | #import "EZMessagePhotoViewController.h" |
| | | #import "NSDate-Utilities.h" |
| | | #import "HDLAlarmInfo.h" |
| | | #import "YYModel.h" |
| | | |
| | | #define EZMessageListPageSize 10 |
| | | |
| | |
| | | @property (nonatomic) NSInteger currentIndex; |
| | | @property (nonatomic, strong) NSMutableArray *messageList; |
| | | @property (nonatomic, strong) NSDateFormatter *dateFormatter; |
| | | @property (nonatomic, strong) NSMutableArray *sections; |
| | | //@property (nonatomic, strong) NSMutableArray *sections; |
| | | @property (nonatomic) NSInteger lastIndex; |
| | | @property (nonatomic, weak) IBOutlet UIImageView *noMessage; |
| | | @property (nonatomic, weak) IBOutlet UILabel *noMessageLabel; |
| | |
| | | // self.navigationItem.rightBarButtonItem = self.editButtonItem; |
| | | |
| | | self.title = NSLocalizedString(@"dmessage_title", @"消息"); |
| | | [EZOPENSDK getUnreadMessageCount:self.deviceInfo.deviceSerial messageType:EZMessageTypeAlarm completion:^(NSInteger count, NSError *error) { |
| | | self.title = [NSString stringWithFormat:@"%@(%d)",NSLocalizedString(@"dmessage_title", @"消息"), (int)count]; |
| | | }]; |
| | | // [EZOPENSDK getUnreadMessageCount:self.deviceInfo.deviceSerial messageType:EZMessageTypeAlarm completion:^(NSInteger count, NSError *error) { |
| | | // self.title = [NSString stringWithFormat:@"%@(%d)",NSLocalizedString(@"dmessage_title", @"消息"), (int)count]; |
| | | // }]; |
| | | |
| | | if(!_messageList) |
| | | _messageList = [NSMutableArray new]; |
| | | if(!self.messageList) |
| | | self.messageList = [NSMutableArray new]; |
| | | |
| | | if(!_sections) |
| | | _sections = [NSMutableArray new]; |
| | | |
| | | // if(!_sections) |
| | | // _sections = [NSMutableArray new]; |
| | | // |
| | | if(!_selectedMessageArray) |
| | | _selectedMessageArray = [NSMutableArray new]; |
| | | |
| | |
| | | #pragma mark - Table view data source |
| | | |
| | | - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { |
| | | return _sections.count; |
| | | return 1; |
| | | } |
| | | |
| | | - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { |
| | | if (_sections.count == 1) |
| | | { |
| | | return _messageList.count; |
| | | } |
| | | else |
| | | { |
| | | if (section == 0) { |
| | | return [_sections[1][@"index"] integerValue]; |
| | | } |
| | | else if (section == _sections.count - 1) |
| | | { |
| | | return _messageList.count - [_sections[section][@"index"] integerValue]; |
| | | } |
| | | else |
| | | { |
| | | return [_sections[section + 1][@"index"] integerValue] - [_sections[section][@"index"] integerValue]; |
| | | } |
| | | } |
| | | |
| | | return self.messageList.count; |
| | | |
| | | } |
| | | |
| | | - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { |
| | | // Configure the cell... |
| | | MessageListCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MessageCell" forIndexPath:indexPath]; |
| | | cell.deviceSerial = self.deviceInfo.deviceSerial; |
| | | EZAlarmInfo *info = [_messageList dd_objectAtIndex:[[_sections dd_objectAtIndex:indexPath.section][@"index"] integerValue] + indexPath.row]; |
| | | HDLAlarmInfo *info = self.messageList[indexPath.row]; |
| | | [cell setAlarmInfo:info]; |
| | | if (tableView.allowsMultipleSelectionDuringEditing == YES) { |
| | | if([_selectedMessageArray containsObject:info]) |
| | |
| | | |
| | | - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath |
| | | { |
| | | EZAlarmInfo *info = [_messageList dd_objectAtIndex:[[_sections dd_objectAtIndex:indexPath.section][@"index"] integerValue] + indexPath.row]; |
| | | HDLAlarmInfo *info = self.messageList[indexPath.row]; |
| | | if(tableView.allowsMultipleSelectionDuringEditing) |
| | | { |
| | | if ([self.selectedMessageArray containsObject:info]) |
| | |
| | | { |
| | | self.deleteSelected.title = [NSString stringWithFormat:@"%@(%d)",NSLocalizedString(@"delete", @"删除"),(int)[self.selectedMessageArray count]]; |
| | | self.deleteSelected.enabled = YES; |
| | | self.readAll.title = [NSString stringWithFormat:@"%@(%d)",NSLocalizedString(@"dmessage_read", @"标记已读"),(int)[self.selectedMessageArray count]]; |
| | | self.readAll.title = [NSString stringWithFormat:@"%@(%d)",NSLocalizedString(@"message_read", @"标记已读"),(int)[self.selectedMessageArray count]]; |
| | | self.readAll.enabled = YES; |
| | | } |
| | | else |
| | | { |
| | | self.deleteSelected.title = NSLocalizedString(@"delete", @"删除"); |
| | | self.deleteSelected.enabled = NO; |
| | | self.readAll.title = NSLocalizedString(@"dmessage_read", @"标记已读"); |
| | | self.readAll.title = NSLocalizedString(@"message_read", @"标记已读"); |
| | | self.readAll.enabled = NO; |
| | | } |
| | | return; |
| | |
| | | MessageListCell *cell = [tableView cellForRowAtIndexPath:indexPath]; |
| | | [self performSegueWithIdentifier:@"go2MessagePhoto" sender:@{@"image":cell.actionImageView.image?:[UIImage new], |
| | | @"alarmInfo":info}]; |
| | | [EZOPENSDK getUnreadMessageCount:self.deviceInfo.deviceSerial messageType:EZMessageTypeAlarm completion:^(NSInteger count, NSError *error) { |
| | | self.title = [NSString stringWithFormat:@"%@(%d)",NSLocalizedString(@"dmessage_title", @"消息"), (int)count]; |
| | | }]; |
| | | // [EZOPENSDK getUnreadMessageCount:self.deviceInfo.deviceSerial messageType:EZMessageTypeAlarm completion:^(NSInteger count, NSError *error) { |
| | | // self.title = [NSString stringWithFormat:@"%@(%d)",NSLocalizedString(@"dmessage_title", @"消息"), (int)count]; |
| | | // }]; |
| | | } |
| | | |
| | | - (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath |
| | | { |
| | | if(tableView.allowsMultipleSelectionDuringEditing) |
| | | { |
| | | EZAlarmInfo *info = [_messageList dd_objectAtIndex:[[_sections dd_objectAtIndex:indexPath.section][@"index"] integerValue] + indexPath.row]; |
| | | HDLAlarmInfo *info = self.messageList[indexPath.row];; |
| | | if ([self.selectedMessageArray containsObject:info]) |
| | | { |
| | | [self.selectedMessageArray removeObject:info]; |
| | |
| | | { |
| | | self.deleteSelected.title = [NSString stringWithFormat:@"%@(%d)",NSLocalizedString(@"delete", @"删除"),(int)[self.selectedMessageArray count]]; |
| | | self.deleteSelected.enabled = YES; |
| | | self.readAll.title = [NSString stringWithFormat:@"%@(%d)",NSLocalizedString(@"dmessage_read", @"标记已读"),(int)[self.selectedMessageArray count]]; |
| | | self.readAll.title = [NSString stringWithFormat:@"%@(%d)",NSLocalizedString(@"message_read", @"标记已读"),(int)[self.selectedMessageArray count]]; |
| | | self.readAll.enabled = YES; |
| | | } |
| | | else |
| | | { |
| | | self.deleteSelected.title = NSLocalizedString(@"delete", @"删除"); |
| | | self.deleteSelected.enabled = NO; |
| | | self.readAll.title = NSLocalizedString(@"dmessage_read", @"标记已读"); |
| | | self.readAll.title = NSLocalizedString(@"message_read", @"标记已读"); |
| | | self.readAll.enabled = NO; |
| | | } |
| | | } |
| | |
| | | return 75.0f; |
| | | } |
| | | |
| | | - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section |
| | | { |
| | | return 20.0f; |
| | | } |
| | | //- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section |
| | | //{ |
| | | // return 20.0f; |
| | | //} |
| | | |
| | | - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section |
| | | { |
| | | UILabel *headerLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, 20)]; |
| | | NSString *key = [self.sections dd_objectAtIndex:section][@"date"]; |
| | | headerLabel.text = [NSString stringWithFormat:@" %@",[self dateStringWithUserDefine:key]]; |
| | | headerLabel.font = [UIFont systemFontOfSize:14.0f]; |
| | | headerLabel.backgroundColor = [UIColor dd_hexStringToColor:@"0xf0f0f3"]; |
| | | return headerLabel; |
| | | } |
| | | //- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section |
| | | //{ |
| | | // UILabel *headerLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, 20)]; |
| | | // NSString *key = [self.sections dd_objectAtIndex:section][@"date"]; |
| | | // headerLabel.text = [NSString stringWithFormat:@" %@",[self dateStringWithUserDefine:key]]; |
| | | // headerLabel.font = [UIFont systemFontOfSize:14.0f]; |
| | | // headerLabel.backgroundColor = [UIColor dd_hexStringToColor:@"0xf0f0f3"]; |
| | | // return headerLabel; |
| | | //} |
| | | |
| | | // Override to support editing the table view. |
| | | - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { |
| | | if (editingStyle == UITableViewCellEditingStyleDelete) { |
| | | // Delete the row from the data source |
| | | EZAlarmInfo *info = [_messageList dd_objectAtIndex:[[_sections dd_objectAtIndex:indexPath.section][@"index"] integerValue] + indexPath.row]; |
| | | HDLAlarmInfo *info = self.messageList[indexPath.row];; |
| | | MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES]; |
| | | hud.labelText = NSLocalizedString(@"message_deleting", @"正在删除,请稍候..."); |
| | | [EZOPENSDK deleteAlarm:@[info.alarmId] completion:^(NSError *error) { |
| | | [hud hide:YES]; |
| | | [_messageList removeObject:info]; |
| | | [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade]; |
| | | // [EZOPENSDK deleteAlarm:@[info.alarmId] completion:^(NSError *error) { |
| | | // [hud hide:YES]; |
| | | // [self.messageList removeObject:info]; |
| | | // [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade]; |
| | | // }]; |
| | | |
| | | __weak __typeof(self)weakSelf = self; |
| | | [[EZHttpUtil sharedManager] deleteAlarmMessage:@[info.ysId] completion:^(ResponseData * responseData) { |
| | | if (responseData.success) { |
| | | [hud hide:YES]; |
| | | [weakSelf.messageList removeObject:info]; |
| | | [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade]; |
| | | }else{ |
| | | hud.labelText = NSLocalizedString(@"setting_opration_fail", @"操作失败"); |
| | | hud.mode = MBProgressHUDModeText; |
| | | [hud hide:YES afterDelay:1.2]; |
| | | } |
| | | |
| | | }]; |
| | | |
| | | } |
| | | } |
| | | |
| | | /* |
| | | // Override to support rearranging the table view. |
| | | - (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath { |
| | | } |
| | | */ |
| | | // Override to support rearranging the table view. |
| | | - (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath { |
| | | } |
| | | */ |
| | | |
| | | /* |
| | | // Override to support conditional rearranging of the table view. |
| | | - (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath { |
| | | // Return NO if you do not want the item to be re-orderable. |
| | | return YES; |
| | | } |
| | | */ |
| | | // Override to support conditional rearranging of the table view. |
| | | - (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath { |
| | | // Return NO if you do not want the item to be re-orderable. |
| | | return YES; |
| | | } |
| | | */ |
| | | |
| | | #pragma mark - UIActionSheetDelegate Methods |
| | | |
| | |
| | | hud.labelText = NSLocalizedString(@"message_deleting", @"正在删除,请稍候..."); |
| | | NSMutableArray *alarmIds = [NSMutableArray new]; |
| | | for (int i = 0; i < self.selectedMessageArray.count; i++) { |
| | | EZAlarmInfo *info = [self.selectedMessageArray dd_objectAtIndex:i]; |
| | | [alarmIds addObject:info.alarmId]; |
| | | HDLAlarmInfo *info = [self.selectedMessageArray dd_objectAtIndex:i]; |
| | | [alarmIds addObject:info.ysId]; |
| | | } |
| | | [EZOPENSDK deleteAlarm:alarmIds completion:^(NSError *error) { |
| | | if(error) |
| | | { |
| | | hud.labelText = error.localizedDescription; |
| | | // [EZOPENSDK deleteAlarm:alarmIds completion:^(NSError *error) { |
| | | // if(error) |
| | | // { |
| | | // hud.labelText = error.localizedDescription; |
| | | // hud.mode = MBProgressHUDModeText; |
| | | // [hud hide:YES afterDelay:1.2]; |
| | | // } |
| | | // else |
| | | // { |
| | | // [hud hide:YES]; |
| | | // } |
| | | // [self.messageList removeObjectsInArray:self.selectedMessageArray]; |
| | | // [self editTableView:self.navigationItem.rightBarButtonItem]; |
| | | // if(self.messageList.count > 0){ |
| | | // [self.tableView reloadData]; |
| | | // } |
| | | // else |
| | | // { |
| | | // [self.tableView.mj_header beginRefreshing]; |
| | | // } |
| | | // }]; |
| | | __weak __typeof(self)weakSelf = self; |
| | | [[EZHttpUtil sharedManager] deleteAlarmMessage:alarmIds completion:^(ResponseData * responseData) { |
| | | [hud hide:YES]; |
| | | if (responseData.success) { |
| | | [hud hide:YES]; |
| | | }else{ |
| | | hud.labelText = NSLocalizedString(@"setting_opration_fail", @"操作失败"); |
| | | hud.mode = MBProgressHUDModeText; |
| | | [hud hide:YES afterDelay:1.2]; |
| | | } |
| | | else |
| | | { |
| | | [hud hide:YES]; |
| | | } |
| | | [self.messageList removeObjectsInArray:self.selectedMessageArray]; |
| | | [self editTableView:self.navigationItem.rightBarButtonItem]; |
| | | if(self.messageList.count > 0){ |
| | | [self.tableView reloadData]; |
| | | |
| | | [weakSelf.messageList removeObjectsInArray:self.selectedMessageArray]; |
| | | [weakSelf editTableView:self.navigationItem.rightBarButtonItem]; |
| | | if(weakSelf.messageList.count > 0){ |
| | | [weakSelf.tableView reloadData]; |
| | | } |
| | | else |
| | | { |
| | | [self.tableView.header beginRefreshing]; |
| | | [weakSelf.tableView.mj_header beginRefreshing]; |
| | | } |
| | | |
| | | }]; |
| | | } |
| | | } |
| | |
| | | // Get the new view controller using [segue destinationViewController]. |
| | | // Pass the selected object to the new view controller. |
| | | NSDictionary *dict = sender; |
| | | EZAlarmInfo *info = dict[@"alarmInfo"]; |
| | | if(!info.isRead){ |
| | | [EZOPENSDK setAlarmStatus:@[info.alarmId] alarmStatus:EZMessageStatusRead completion:^(NSError *error) { |
| | | if(!error) |
| | | { |
| | | info.isRead = YES; |
| | | [self.tableView reloadData]; |
| | | HDLAlarmInfo *info = dict[@"alarmInfo"]; |
| | | if(!info.isChecked){ |
| | | // [EZOPENSDK setAlarmStatus:@[info.alarmId] alarmStatus:EZMessageStatusRead completion:^(NSError *error) { |
| | | // if(!error) |
| | | // { |
| | | // info.isChecked = YES; |
| | | // [self.tableView reloadData]; |
| | | // } |
| | | // }]; |
| | | |
| | | //标记已读 |
| | | __weak __typeof(self)weakSelf = self; |
| | | [[EZHttpUtil sharedManager] readAlarmMessage:@[info.ysId] completion:^(ResponseData * responseData) { |
| | | if(responseData.success){ |
| | | info.isChecked = YES; |
| | | [weakSelf.tableView reloadData]; |
| | | } |
| | | }]; |
| | | |
| | | } |
| | | EZMessagePhotoViewController *nextVC = [segue destinationViewController]; |
| | | nextVC.image = dict[@"image"]; |
| | |
| | | - (void)addHeaderRefresh |
| | | { |
| | | __weak typeof(self) weakSelf = self; |
| | | self.tableView.header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{ |
| | | weakSelf.currentIndex = 0; |
| | | self.tableView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{ |
| | | weakSelf.currentIndex = 1; |
| | | [weakSelf.noMessage removeFromSuperview]; |
| | | [weakSelf.noMessageLabel removeFromSuperview]; |
| | | [EZOPENSDK getAlarmList:weakSelf.deviceInfo.deviceSerial |
| | | pageIndex:weakSelf.currentIndex++ |
| | | pageSize:EZMessageListPageSize |
| | | beginTime:weakSelf.beginTime |
| | | endTime:weakSelf.endTime |
| | | // beginTime:nil |
| | | // endTime:nil |
| | | completion:^(NSArray *alarmList, NSInteger alarmCount, NSError *error) { |
| | | [weakSelf.messageList removeAllObjects]; |
| | | [weakSelf.messageList addObjectsFromArray:alarmList]; |
| | | weakSelf.totalCount = alarmCount; |
| | | if(weakSelf.messageList.count != weakSelf.totalCount) |
| | | { |
| | | [weakSelf addFooter]; |
| | | } |
| | | [weakSelf tableViewDidReload:alarmList]; |
| | | [weakSelf.tableView.header endRefreshing]; |
| | | if(weakSelf.messageList.count > 0) |
| | | weakSelf.navigationItem.rightBarButtonItem = self.editButton; |
| | | }]; |
| | | |
| | | |
| | | // [EZOPENSDK getAlarmList:weakSelf.deviceInfo.deviceSerial |
| | | // pageIndex:weakSelf.currentIndex++ |
| | | // pageSize:EZMessageListPageSize |
| | | // beginTime:weakSelf.beginTime |
| | | // endTime:weakSelf.endTime |
| | | //// beginTime:nil |
| | | //// endTime:nil |
| | | // completion:^(NSArray *alarmList, NSInteger alarmCount, NSError *error) { |
| | | // [weakSelf.messageList removeAllObjects]; |
| | | // [weakSelf.messageList addObjectsFromArray:alarmList]; |
| | | // weakSelf.totalCount = alarmCount; |
| | | // if(weakSelf.messageList.count != weakSelf.totalCount) |
| | | // { |
| | | // [weakSelf addFooter]; |
| | | // } |
| | | // [weakSelf tableViewDidReload:alarmList]; |
| | | // [weakSelf.tableView.mj_header endRefreshing]; |
| | | // if(weakSelf.messageList.count > 0) |
| | | // weakSelf.navigationItem.rightBarButtonItem = self.editButton; |
| | | // }]; |
| | | //2021-07-09 1.修改为HDL接口方案 |
| | | [[EZHttpUtil sharedManager] getAlarmList:weakSelf.deviceInfo.deviceSerial pageNo:weakSelf.currentIndex++ pageSize:EZMessageListPageSize completion:^(ResponseData * responseData) { |
| | | NSInteger alarmCount = 0; |
| | | NSArray<HDLAlarmInfo *> *alarmList = [NSArray array]; |
| | | if (responseData.success){ |
| | | HDLAlarmInfoData *alarmInfoData = [HDLAlarmInfoData yy_modelWithDictionary:responseData.data]; |
| | | if (alarmInfoData) { |
| | | alarmCount = alarmInfoData.totalCount; |
| | | if (alarmInfoData.list) { |
| | | alarmList = alarmInfoData.list; |
| | | } |
| | | } |
| | | } |
| | | |
| | | [weakSelf.messageList removeAllObjects]; |
| | | [weakSelf.messageList addObjectsFromArray:alarmList]; |
| | | weakSelf.totalCount = alarmCount; |
| | | if(weakSelf.messageList.count != weakSelf.totalCount) |
| | | { |
| | | [weakSelf addFooter]; |
| | | } |
| | | [weakSelf tableViewDidReload]; |
| | | [weakSelf.tableView.mj_header endRefreshing]; |
| | | if(weakSelf.messageList.count > 0) |
| | | weakSelf.navigationItem.rightBarButtonItem = self.editButton; |
| | | |
| | | }]; |
| | | |
| | | }]; |
| | | self.tableView.header.automaticallyChangeAlpha = YES; |
| | | [self.tableView.header beginRefreshing]; |
| | | self.tableView.mj_header.automaticallyChangeAlpha = YES; |
| | | [self.tableView.mj_header beginRefreshing]; |
| | | } |
| | | |
| | | - (void)addFooter |
| | | { |
| | | __weak typeof(self) weakSelf = self; |
| | | self.tableView.footer = [MJRefreshAutoNormalFooter footerWithRefreshingBlock:^{ |
| | | [EZOPENSDK getAlarmList:weakSelf.deviceInfo.deviceSerial |
| | | pageIndex:weakSelf.currentIndex++ |
| | | pageSize:EZMessageListPageSize |
| | | beginTime:weakSelf.beginTime |
| | | endTime:weakSelf.endTime |
| | | completion:^(NSArray *alarmList, NSInteger alarmCount, NSError *error) { |
| | | [weakSelf.messageList addObjectsFromArray:alarmList]; |
| | | if(weakSelf.messageList.count >= weakSelf.totalCount) |
| | | { |
| | | weakSelf.tableView.footer.hidden = YES; |
| | | return; |
| | | } |
| | | [weakSelf tableViewDidReload:alarmList]; |
| | | [weakSelf.tableView.footer endRefreshing]; |
| | | }]; |
| | | |
| | | self.tableView.mj_footer = [MJRefreshAutoNormalFooter footerWithRefreshingBlock:^{ |
| | | // [EZOPENSDK getAlarmList:weakSelf.deviceInfo.deviceSerial |
| | | // pageIndex:weakSelf.currentIndex++ |
| | | // pageSize:EZMessageListPageSize |
| | | // beginTime:weakSelf.beginTime |
| | | // endTime:weakSelf.endTime |
| | | // completion:^(NSArray *alarmList, NSInteger alarmCount, NSError *error) { |
| | | // [weakSelf.messageList addObjectsFromArray:alarmList]; |
| | | // if(weakSelf.messageList.count >= weakSelf.totalCount) |
| | | // { |
| | | // weakSelf.tableView.mj_footer.hidden = YES; |
| | | // return; |
| | | // } |
| | | // [weakSelf tableViewDidReload:alarmList]; |
| | | // [weakSelf.tableView.mj_footer endRefreshing]; |
| | | // }]; |
| | | |
| | | [[EZHttpUtil sharedManager] getAlarmList:weakSelf.deviceInfo.deviceSerial pageNo:weakSelf.currentIndex++ pageSize:EZMessageListPageSize completion:^(ResponseData * responseData) { |
| | | NSArray<HDLAlarmInfo *> *alarmList = [NSArray array]; |
| | | if (responseData.success){ |
| | | HDLAlarmInfoData *alarmInfoData = [HDLAlarmInfoData yy_modelWithDictionary:responseData.data]; |
| | | if (alarmInfoData) { |
| | | if (alarmInfoData.list) { |
| | | alarmList = alarmInfoData.list; |
| | | } |
| | | } |
| | | } |
| | | |
| | | [weakSelf.messageList addObjectsFromArray:alarmList]; |
| | | |
| | | |
| | | [weakSelf tableViewDidReload]; |
| | | [weakSelf.tableView.mj_footer endRefreshing]; |
| | | |
| | | if(weakSelf.messageList.count >= weakSelf.totalCount) |
| | | { |
| | | weakSelf.tableView.mj_footer.hidden = YES; |
| | | return; |
| | | } |
| | | |
| | | |
| | | }]; |
| | | |
| | | }]; |
| | | } |
| | | |
| | | #pragma mark - Action Methods |
| | | |
| | | - (void)tableViewDidReload:(NSArray *)messageList |
| | | - (void)tableViewDidReload |
| | | { |
| | | if(messageList.count == 0) |
| | | if(self.messageList.count == 0) |
| | | { |
| | | self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone; |
| | | [self.tableView reloadData]; |
| | |
| | | self.noMessageLabel.frame = CGRectMake((self.tableView.frame.size.width - 100)/2.0, self.noMessage.frame.origin.y + self.noMessage.frame.size.height + 10, 100, 20.0); |
| | | return; |
| | | } |
| | | if(self.currentIndex == 1) |
| | | { |
| | | [self.sections removeAllObjects]; |
| | | [self.tableView.footer endRefreshing]; |
| | | self.lastDate = [messageList[0] alarmStartTime]; |
| | | self.dateFormatter.dateFormat = @"yyyy-MM-dd"; |
| | | NSString *key = [self.dateFormatter stringFromDate:self.lastDate]; |
| | | NSDictionary *dict = @{@"index":@0, @"date":key}; |
| | | [self.sections addObject:dict]; |
| | | } |
| | | for (int i = 0; i < messageList.count; i++) { |
| | | EZAlarmInfo *info = [messageList dd_objectAtIndex:i]; |
| | | if(![info.alarmStartTime isSameToDate:self.lastDate]) |
| | | { |
| | | NSInteger index = [self.messageList indexOfObject:info]; |
| | | self.dateFormatter.dateFormat = @"yyyy-MM-dd"; |
| | | NSString *key = [self.dateFormatter stringFromDate:info.alarmStartTime]; |
| | | NSDictionary *dict = @{@"index":@(index),@"date":key}; |
| | | [self.sections addObject:dict]; |
| | | } |
| | | self.lastDate = info.alarmStartTime; |
| | | } |
| | | // if(self.currentIndex == 1) |
| | | // { |
| | | // [self.sections removeAllObjects]; |
| | | // [self.tableView.mj_footer endRefreshing]; |
| | | // self.lastDate = [messageList[0] getAlarmStartTime]; |
| | | // self.dateFormatter.dateFormat = @"yyyy-MM-dd"; |
| | | // NSString *key = [self.dateFormatter stringFromDate:self.lastDate]; |
| | | // NSDictionary *dict = @{@"index":@0, @"date":key}; |
| | | // [self.sections addObject:dict]; |
| | | // } |
| | | // for (int i = 0; i < messageList.count; i++) { |
| | | // HDLAlarmInfo *info = [messageList dd_objectAtIndex:i]; |
| | | // if(![[info getAlarmStartTime] isSameToDate:self.lastDate]) |
| | | // { |
| | | // NSInteger index = [self.messageList indexOfObject:info]; |
| | | // self.dateFormatter.dateFormat = @"yyyy-MM-dd"; |
| | | // NSString *key = [self.dateFormatter stringFromDate:[info getAlarmStartTime]]; |
| | | // NSDictionary *dict = @{@"index":@(index),@"date":key}; |
| | | // [self.sections addObject:dict]; |
| | | // } |
| | | // self.lastDate = [info getAlarmStartTime]; |
| | | // } |
| | | [self.tableView reloadData]; |
| | | } |
| | | |
| | |
| | | [self.navigationController setToolbarHidden:YES animated:YES]; |
| | | self.deleteSelected.title = NSLocalizedString(@"delete", @"删除"); |
| | | self.deleteSelected.enabled = NO; |
| | | self.readAll.title = NSLocalizedString(@"dmessage_read", @"标记已读"); |
| | | self.readAll.title = NSLocalizedString(@"message_read", @"标记已读"); |
| | | self.readAll.enabled = NO; |
| | | [self.selectedMessageArray removeAllObjects]; |
| | | self.tableView.header.hidden = NO; |
| | | self.tableView.mj_header.hidden = NO; |
| | | if(self.messageList.count < self.totalCount) |
| | | self.tableView.footer.hidden = NO; |
| | | self.tableView.mj_footer.hidden = NO; |
| | | }else{ |
| | | self.tableView.allowsMultipleSelectionDuringEditing = YES; |
| | | [self.tableView setEditing:YES animated:YES]; |
| | | self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(editTableView:)]; |
| | | [self.navigationController setToolbarHidden:NO animated:YES]; |
| | | self.tableView.header.hidden = YES; |
| | | self.tableView.footer.hidden = YES; |
| | | self.tableView.mj_header.hidden = YES; |
| | | self.tableView.mj_footer.hidden = YES; |
| | | self.selectedAll.enabled = YES; |
| | | self.deleteSelected.enabled = NO; |
| | | self.readAll.enabled = NO; |
| | |
| | | [self.selectedMessageArray addObjectsFromArray:self.messageList]; |
| | | self.deleteSelected.title = [NSString stringWithFormat:@"%@(%d)",NSLocalizedString(@"delete", @"删除"),(int)[self.selectedMessageArray count]]; |
| | | self.deleteSelected.enabled = YES; |
| | | self.readAll.title = [NSString stringWithFormat:@"%@(%d)",NSLocalizedString(@"dmessage_read", @"标记已读"),(int)[self.selectedMessageArray count]]; |
| | | self.readAll.title = [NSString stringWithFormat:@"%@(%d)",NSLocalizedString(@"message_read", @"标记已读"),(int)[self.selectedMessageArray count]]; |
| | | self.readAll.enabled = YES; |
| | | } |
| | | else |
| | | { |
| | | self.deleteSelected.title = NSLocalizedString(@"delete", @"删除"); |
| | | self.readAll.title = NSLocalizedString(@"dmessage_read", @"标记已读"); |
| | | self.readAll.title = NSLocalizedString(@"message_read", @"标记已读"); |
| | | [self.selectedMessageArray removeAllObjects]; |
| | | self.deleteSelected.enabled = NO; |
| | | self.readAll.enabled = NO; |
| | | } |
| | | [self.tableView reloadData]; |
| | | self.tableView.footer.hidden = YES; |
| | | self.tableView.mj_footer.hidden = YES; |
| | | } |
| | | |
| | | - (IBAction)deleteMessage:(id)sender |
| | |
| | | hud.labelText = NSLocalizedString(@"message_setting", @"正在设置已读,请稍候..."); |
| | | NSMutableArray *alarmIds = [NSMutableArray new]; |
| | | for (int i = 0; i < self.selectedMessageArray.count; i++) { |
| | | EZAlarmInfo *info = [self.selectedMessageArray dd_objectAtIndex:i]; |
| | | [alarmIds addObject:info.alarmId]; |
| | | HDLAlarmInfo *info = [self.selectedMessageArray dd_objectAtIndex:i]; |
| | | [alarmIds addObject:info.ysId]; |
| | | } |
| | | [EZOPENSDK setAlarmStatus:alarmIds |
| | | alarmStatus:EZMessageStatusRead |
| | | completion:^(NSError *error) { |
| | | if(error) |
| | | { |
| | | hud.labelText = error.localizedDescription; |
| | | hud.mode = MBProgressHUDModeText; |
| | | [hud hide:YES afterDelay:1.2]; |
| | | } |
| | | else |
| | | { |
| | | [hud hide:YES]; |
| | | } |
| | | if(!error) |
| | | { |
| | | for (int i = 0; i < self.selectedMessageArray.count; i++) { |
| | | EZAlarmInfo *info = [self.selectedMessageArray dd_objectAtIndex:i]; |
| | | info.isRead = YES; |
| | | } |
| | | [self editTableView:self.navigationItem.rightBarButtonItem]; |
| | | [self.tableView reloadData]; |
| | | [EZOPENSDK getUnreadMessageCount:self.deviceInfo.deviceSerial messageType:EZMessageTypeAlarm completion:^(NSInteger count, NSError *error) { |
| | | self.title = [NSString stringWithFormat:@"%@(%d)",NSLocalizedString(@"message_title", @"消息"), (int)count]; |
| | | }]; |
| | | } |
| | | // [EZOPENSDK setAlarmStatus:alarmIds |
| | | // alarmStatus:EZMessageStatusRead |
| | | // completion:^(NSError *error) { |
| | | // if(error) |
| | | // { |
| | | // hud.labelText = error.localizedDescription; |
| | | // hud.mode = MBProgressHUDModeText; |
| | | // [hud hide:YES afterDelay:1.2]; |
| | | // } |
| | | // else |
| | | // { |
| | | // [hud hide:YES]; |
| | | // } |
| | | // if(!error) |
| | | // { |
| | | // for (int i = 0; i < self.selectedMessageArray.count; i++) { |
| | | // HDLAlarmInfo *info = [self.selectedMessageArray dd_objectAtIndex:i]; |
| | | // info.isChecked = YES; |
| | | // } |
| | | // [self editTableView:self.navigationItem.rightBarButtonItem]; |
| | | // [self.tableView reloadData]; |
| | | // [EZOPENSDK getUnreadMessageCount:self.deviceInfo.deviceSerial messageType:EZMessageTypeAlarm completion:^(NSInteger count, NSError *error) { |
| | | // self.title = [NSString stringWithFormat:@"%@(%d)",NSLocalizedString(@"message_title", @"消息"), (int)count]; |
| | | // }]; |
| | | // } |
| | | // }]; |
| | | |
| | | //标记已读 |
| | | __weak __typeof(self)weakSelf = self; |
| | | [[EZHttpUtil sharedManager] readAlarmMessage:alarmIds completion:^(ResponseData * responseData) { |
| | | if(responseData.success){ |
| | | [hud hide:YES]; |
| | | for (int i = 0; i < self.selectedMessageArray.count; i++) { |
| | | HDLAlarmInfo *info = [self.selectedMessageArray dd_objectAtIndex:i]; |
| | | info.isChecked = YES; |
| | | } |
| | | [weakSelf editTableView:self.navigationItem.rightBarButtonItem]; |
| | | [weakSelf.tableView reloadData]; |
| | | |
| | | }else{ |
| | | hud.labelText = NSLocalizedString(@"setting_opration_fail", @"操作失败"); |
| | | hud.mode = MBProgressHUDModeText; |
| | | [hud hide:YES afterDelay:1.2]; |
| | | } |
| | | }]; |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | - (NSString *)dateStringWithUserDefine:(NSString *)dateString |