//
|
// EZMessageListViewController.m
|
// EZOpenSDKDemo
|
//
|
// Created by DeJohn Dong on 15/11/3.
|
// Copyright © 2015年 Ezviz. All rights reserved.
|
//
|
|
#import "EZMessageListViewController.h"
|
|
#import "MJRefresh.h"
|
#import "DDKit.h"
|
#import "MessageListCell.h"
|
#import "Masonry.h"
|
#import "MBProgressHUD.h"
|
#import "EZMessagePhotoViewController.h"
|
#import "NSDate-Utilities.h"
|
#import "HDLAlarmInfo.h"
|
#import "YYModel.h"
|
|
#define EZMessageListPageSize 10
|
|
@interface EZMessageListViewController ()<UIActionSheetDelegate>
|
{
|
}
|
|
@property (nonatomic) BOOL isSelectedAll;
|
@property (nonatomic, strong) NSMutableArray *selectedMessageArray;
|
@property (nonatomic, strong) NSDate *lastDate;
|
@property (nonatomic, strong) NSDate *beginTime;
|
@property (nonatomic, strong) NSDate *endTime;
|
@property (nonatomic) NSInteger totalCount;
|
@property (nonatomic) NSInteger currentIndex;
|
@property (nonatomic, strong) NSMutableArray *messageList;
|
@property (nonatomic, strong) NSDateFormatter *dateFormatter;
|
//@property (nonatomic, strong) NSMutableArray *sections;
|
@property (nonatomic) NSInteger lastIndex;
|
@property (nonatomic, weak) IBOutlet UIImageView *noMessage;
|
@property (nonatomic, weak) IBOutlet UILabel *noMessageLabel;
|
@property (nonatomic, weak) IBOutlet UIBarButtonItem *selectedAll;
|
@property (nonatomic, weak) IBOutlet UIBarButtonItem *deleteSelected;
|
@property (nonatomic, weak) IBOutlet UIBarButtonItem *readAll;
|
@property (nonatomic, strong) IBOutlet UIBarButtonItem *editButton;
|
|
|
@end
|
|
@implementation EZMessageListViewController
|
|
- (void)dealloc
|
{
|
|
}
|
|
- (void)viewDidLoad {
|
[super viewDidLoad];
|
// Uncomment the following line to preserve selection between presentations.
|
// self.clearsSelectionOnViewWillAppear = NO;
|
|
// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
|
// 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];
|
// }];
|
|
if(!self.messageList)
|
self.messageList = [NSMutableArray new];
|
|
// if(!_sections)
|
// _sections = [NSMutableArray new];
|
//
|
if(!_selectedMessageArray)
|
_selectedMessageArray = [NSMutableArray new];
|
|
[self addHeaderRefresh];
|
|
//获取过去3天的告警消息,开发者可以自己设置时间范围。
|
_beginTime = [NSDate dateWithTimeIntervalSinceNow:-3600 * 24 * 7];
|
_endTime = [NSDate date];
|
|
if(!_dateFormatter)
|
_dateFormatter = [[NSDateFormatter alloc] init];
|
|
self.navigationItem.rightBarButtonItem = nil;
|
}
|
|
- (void)viewWillDisappear:(BOOL)animated {
|
if (self.tableView.allowsMultipleSelectionDuringEditing) {
|
[self editTableView:self.navigationItem.rightBarButtonItem];
|
}
|
[super viewWillDisappear:animated];
|
}
|
|
- (void)didReceiveMemoryWarning {
|
[super didReceiveMemoryWarning];
|
// Dispose of any resources that can be recreated.
|
}
|
|
#pragma mark - Table view data source
|
|
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
|
return 1;
|
}
|
|
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
|
|
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;
|
HDLAlarmInfo *info = self.messageList[indexPath.row];
|
[cell setAlarmInfo:info];
|
if (tableView.allowsMultipleSelectionDuringEditing == YES) {
|
if([_selectedMessageArray containsObject:info])
|
{
|
[tableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone];
|
}
|
else
|
{
|
[tableView deselectRowAtIndexPath:indexPath animated:NO];
|
}
|
}
|
return cell;
|
}
|
|
// Override to support conditional editing of the table view.
|
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
|
// Return NO if you do not want the specified item to be editable.
|
return YES;
|
}
|
|
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
|
{
|
HDLAlarmInfo *info = self.messageList[indexPath.row];
|
if(tableView.allowsMultipleSelectionDuringEditing)
|
{
|
if ([self.selectedMessageArray containsObject:info])
|
{
|
[self.selectedMessageArray removeObject:info];
|
}
|
else
|
{
|
[self.selectedMessageArray addObject:info];
|
}
|
if(self.selectedMessageArray.count > 0)
|
{
|
self.deleteSelected.title = [NSString stringWithFormat:@"%@(%d)",NSLocalizedString(@"delete", @"删除"),(int)[self.selectedMessageArray count]];
|
self.deleteSelected.enabled = YES;
|
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(@"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];
|
// }];
|
}
|
|
- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath
|
{
|
if(tableView.allowsMultipleSelectionDuringEditing)
|
{
|
HDLAlarmInfo *info = self.messageList[indexPath.row];;
|
if ([self.selectedMessageArray containsObject:info])
|
{
|
[self.selectedMessageArray removeObject:info];
|
}
|
else
|
{
|
[self.selectedMessageArray addObject:info];
|
}
|
if(self.selectedMessageArray.count > 0)
|
{
|
self.deleteSelected.title = [NSString stringWithFormat:@"%@(%d)",NSLocalizedString(@"delete", @"删除"),(int)[self.selectedMessageArray count]];
|
self.deleteSelected.enabled = YES;
|
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(@"message_read", @"标记已读");
|
self.readAll.enabled = NO;
|
}
|
}
|
}
|
|
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
|
{
|
return 75.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;
|
//}
|
|
// 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
|
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];
|
// [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 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
|
|
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
|
{
|
if(buttonIndex == 0)
|
{
|
__weak MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
|
hud.labelText = NSLocalizedString(@"message_deleting", @"正在删除,请稍候...");
|
NSMutableArray *alarmIds = [NSMutableArray new];
|
for (int i = 0; i < self.selectedMessageArray.count; i++) {
|
HDLAlarmInfo *info = [self.selectedMessageArray dd_objectAtIndex:i];
|
[alarmIds addObject:info.ysId];
|
}
|
// [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];
|
}
|
|
[weakSelf.messageList removeObjectsInArray:self.selectedMessageArray];
|
[weakSelf editTableView:self.navigationItem.rightBarButtonItem];
|
if(weakSelf.messageList.count > 0){
|
[weakSelf.tableView reloadData];
|
}
|
else
|
{
|
[weakSelf.tableView.mj_header beginRefreshing];
|
}
|
|
}];
|
}
|
}
|
|
#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.
|
NSDictionary *dict = sender;
|
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"];
|
nextVC.info = info;
|
nextVC.deviceInfo = self.deviceInfo;
|
}
|
|
#pragma mark - MJRefresh Methods
|
|
- (void)addHeaderRefresh
|
{
|
__weak typeof(self) weakSelf = self;
|
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.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.mj_header.automaticallyChangeAlpha = YES;
|
[self.tableView.mj_header beginRefreshing];
|
}
|
|
- (void)addFooter
|
{
|
__weak typeof(self) weakSelf = self;
|
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
|
{
|
if(self.messageList.count == 0)
|
{
|
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
|
[self.tableView reloadData];
|
[self.tableView addSubview:self.noMessage];
|
[self.tableView addSubview:self.noMessageLabel];
|
|
self.noMessage.frame = CGRectMake((self.tableView.bounds.size.width - 94)/2.0, self.tableView.center.y - 150, 94, 94);
|
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.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];
|
}
|
|
- (IBAction)editTableView:(id)sender
|
{
|
if(self.tableView.editing){
|
self.tableView.allowsMultipleSelectionDuringEditing = NO;
|
[self.tableView setEditing:NO animated:YES];
|
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:self action:@selector(editTableView:)];
|
[self.navigationController setToolbarHidden:YES animated:YES];
|
self.deleteSelected.title = NSLocalizedString(@"delete", @"删除");
|
self.deleteSelected.enabled = NO;
|
self.readAll.title = NSLocalizedString(@"message_read", @"标记已读");
|
self.readAll.enabled = NO;
|
[self.selectedMessageArray removeAllObjects];
|
self.tableView.mj_header.hidden = NO;
|
if(self.messageList.count < self.totalCount)
|
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.mj_header.hidden = YES;
|
self.tableView.mj_footer.hidden = YES;
|
self.selectedAll.enabled = YES;
|
self.deleteSelected.enabled = NO;
|
self.readAll.enabled = NO;
|
if (self.messageList.count > 10)
|
{
|
self.selectedAll.enabled = NO;
|
}
|
}
|
}
|
|
- (IBAction)selectedAll:(id)sender
|
{
|
_isSelectedAll = !_isSelectedAll;
|
if(_isSelectedAll)
|
{
|
[self.selectedMessageArray removeAllObjects];
|
[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(@"message_read", @"标记已读"),(int)[self.selectedMessageArray count]];
|
self.readAll.enabled = YES;
|
}
|
else
|
{
|
self.deleteSelected.title = NSLocalizedString(@"delete", @"删除");
|
self.readAll.title = NSLocalizedString(@"message_read", @"标记已读");
|
[self.selectedMessageArray removeAllObjects];
|
self.deleteSelected.enabled = NO;
|
self.readAll.enabled = NO;
|
}
|
[self.tableView reloadData];
|
self.tableView.mj_footer.hidden = YES;
|
}
|
|
- (IBAction)deleteMessage:(id)sender
|
{
|
if(self.selectedMessageArray.count > 10)
|
{
|
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:[UIApplication sharedApplication].keyWindow animated:YES];
|
hud.mode = MBProgressHUDModeText;
|
hud.userInteractionEnabled = NO;
|
hud.labelText = NSLocalizedString(@"message_count_limit", @"数量不能超过10");
|
[hud show:YES];
|
[hud hide:YES afterDelay:1.0f];
|
return;
|
}
|
UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:NSLocalizedString(@"cancel", @"取消") destructiveButtonTitle:NSLocalizedString(@"delete", @"删除") otherButtonTitles:nil];
|
[actionSheet showInView:self.view];
|
}
|
|
- (IBAction)readMessage:(id)sender
|
{
|
if(self.selectedMessageArray.count > 10)
|
{
|
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:[UIApplication sharedApplication].keyWindow animated:YES];
|
hud.mode = MBProgressHUDModeText;
|
hud.userInteractionEnabled = NO;
|
hud.labelText = NSLocalizedString(@"message_count_limit", @"数量不能超过10");
|
[hud show:YES];
|
[hud hide:YES afterDelay:1.0f];
|
return;
|
}
|
__weak MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:[UIApplication sharedApplication].keyWindow animated:YES];
|
hud.userInteractionEnabled = NO;
|
hud.labelText = NSLocalizedString(@"message_setting", @"正在设置已读,请稍候...");
|
NSMutableArray *alarmIds = [NSMutableArray new];
|
for (int i = 0; i < self.selectedMessageArray.count; i++) {
|
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++) {
|
// 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
|
{
|
NSDateFormatter * formatter = [[NSDateFormatter alloc ] init];
|
[formatter setDateFormat:@"yyyy-MM-dd"];
|
NSDate *date = [formatter dateFromString:dateString];
|
|
NSArray *weekDays = @[NSLocalizedString(@"message_sunday", @"周日"),
|
NSLocalizedString(@"message_monday", @"周一"),
|
NSLocalizedString(@"message_tuesday", @"周二"),
|
NSLocalizedString(@"message_wednesday", @"周三"),
|
NSLocalizedString(@"message_thursday", @"周四"),
|
NSLocalizedString(@"message_friday", @"周五"),
|
NSLocalizedString(@"message_saturday", @"周六")];
|
|
if ([date isThisYear])
|
{
|
if ([date isToday])
|
{
|
return NSLocalizedString(@"message_today", @"今天");
|
}
|
else if ([date weekday] > 0 && [date weekday] <= 7)
|
{
|
return [NSString stringWithFormat:@"%ld-%ld %@", (long)[date month], (long)[date day], weekDays[[date weekday]-1]];
|
}
|
}
|
else
|
{
|
if ([date weekday] > 0 && [date weekday] <= 7)
|
{
|
return [NSString stringWithFormat:@"%@ %@", dateString, weekDays[[date weekday]-1]];
|
}
|
}
|
|
return nil;
|
}
|
|
@end
|