| | |
| | | |
| | | #import "HDLEZDeviceMsgListView.h" |
| | | #import "HDLEZDeviceMsgCell.h" |
| | | #import "HDLEZVideoDoorMsgCell.h" |
| | | |
| | | @interface HDLEZDeviceMsgListView () |
| | | |
| | | @property (copy, nonatomic) void(^previewPic)(NSString *pictureUrl); |
| | | |
| | | @end |
| | | |
| | | @implementation HDLEZDeviceMsgListView{ |
| | | CGFloat cellHeight; |
| | | } |
| | |
| | | self.showsVerticalScrollIndicator=NO; |
| | | self.delegate = self; |
| | | self.dataSource = self; |
| | | cellHeight=65; |
| | | cellHeight=80; |
| | | self.rowHeight = UITableViewAutomaticDimension; |
| | | self.estimatedRowHeight = 80; |
| | | [self registerClass:[HDLEZVideoDoorMsgCell class] forCellReuseIdentifier:@"HDLEZVideoDoorMsgCell"]; |
| | | [self setSeparatorInset:UIEdgeInsetsZero]; |
| | | // [self setLayoutMargins:UIEdgeInsetsZero]; |
| | | } |
| | |
| | | } |
| | | |
| | | -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ |
| | | return cellHeight; |
| | | return UITableViewAutomaticDimension; |
| | | } |
| | | |
| | | -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ |
| | | HDLEZLog(@"初始化cell"); |
| | | HDLEZDeviceMsgCell *cell = [tableView dequeueReusableCellWithIdentifier:@"HDLEZDeviceMsgCell"]; |
| | | HDLEZVideoDoorMsgCell *cell = [tableView dequeueReusableCellWithIdentifier:@"HDLEZVideoDoorMsgCell" forIndexPath:indexPath]; |
| | | if(cell == nil){ |
| | | cell=[[HDLEZDeviceMsgCell alloc]initWithFrame:CGRectMake(0, 0, self.frame.size.width, cellHeight)]; |
| | | cell=[[HDLEZVideoDoorMsgCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"HDLEZVideoDoorMsgCell"]; |
| | | } |
| | | HDLEZDeviceMsgInfoModel *model=self.msgList[indexPath.row]; |
| | | cell.msgInfo=model; |
| | | [self configCell:cell indexPath:indexPath]; |
| | | // HDLEZDeviceMsgCell *cell = [tableView dequeueReusableCellWithIdentifier:@"HDLEZDeviceMsgCell"]; |
| | | // if(cell == nil){ |
| | | // cell=[[HDLEZDeviceMsgCell alloc]initWithFrame:CGRectMake(0, 0, self.frame.size.width, cellHeight)]; |
| | | // } |
| | | // HDLEZDeviceMsgInfoModel *model=self.msgList[indexPath.row]; |
| | | // cell.msgInfo=model; |
| | | // HDLEZLog(@"初始化cell ID:%@",model.extVisitorId); |
| | | |
| | | return cell; |
| | | |
| | | } |
| | | |
| | | - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { |
| | | if (self.msgList.count <= indexPath.row) return; |
| | | HDLEZDeviceMsgInfoModel *messageModel = self.msgList[indexPath.row]; |
| | | if (self.previewPic && messageModel.extInfo.picUrl && messageModel.extInfo.picUrl.length > 0) { |
| | | self.previewPic(messageModel.extInfo.picUrl); |
| | | } |
| | | } |
| | | |
| | | #pragma mark - PublishMethod |
| | | - (void)previewPicture:(void(^)(NSString *pictureUrl))previewPic { |
| | | self.previewPic = previewPic; |
| | | } |
| | | |
| | | #pragma mark - PrivateMethod |
| | | - (void)configCell:(HDLEZVideoDoorMsgCell *)cell indexPath:(NSIndexPath *)indexPath { |
| | | if (self.msgList.count <= indexPath.row) return; |
| | | |
| | | HDLEZDeviceMsgInfoModel *messageModel = self.msgList[indexPath.row]; |
| | | |
| | | NSString *status = @""; |
| | | if ([messageModel.extInfo.answerStatus isEqualToString:@"answer"]) { |
| | | status = HDLEZLocallizedString(@"device_callout_answer"); |
| | | } else if (([messageModel.extInfo.answerStatus isEqualToString:@"no_answer"])) { |
| | | status = HDLEZLocallizedString(@"device_callout_no_answer"); |
| | | } |
| | | if (messageModel.createTime && messageModel.createTime.length == 13) { // 毫秒转秒 |
| | | messageModel.createTime = [messageModel.createTime substringToIndex:10]; |
| | | } |
| | | NSString *messageTime = [self turnDate:messageModel.createTime]; |
| | | [cell configMessageInfoWithTitle:messageModel.content deviceStatus:status messageTime:messageTime messageImage:messageModel.extInfo.picUrl]; |
| | | [cell showSpearator:(self.msgList.count != indexPath.row + 1)]; |
| | | } |
| | | |
| | | /*时间戳转时间 |
| | | */ |
| | | -(NSString *)turnDate:(NSString*)dateStr{ |
| | | return [HDLEZConstants timeStrWithFormate:@"yyyy.MM.dd HH:mm" data:[NSDate dateWithTimeIntervalSince1970:[dateStr integerValue]]];; |
| | | } |
| | | |
| | | /*设置消息列表值 |
| | | */ |
| | | -(void)setMsgList:(NSArray<HDLEZDeviceMsgInfoModel *> *)msgList{ |